2013-03-08 83 views
1

我试图实施SIP重定向。要做到这一点我使用javax.servlet.sip.ProxyJava和SIP代理

SipFactory sipFactory = (SipFactory) getServletContext().getAttribute(SIP_FACTORY); 
Proxy proxy = request.getProxy(); 
proxy.setParallel(false); 
proxy.setRecordRoute(true); 
ArrayList uris = new ArrayList(); 
SipURI uri2 = sipFactory.createSipURI("48505999666", "some_host"); 

uris.add(uri2); 
proxy.proxyTo(uris); 

但是从标题我的电话号码,我的手机上有额外的前缀,我看不出是谁打来的。有什么方法可以修改来自标题displayName?

回答

0

当你说一个“附加前缀”时,你的意思是代理正在更改From标头的值吗?这听起来像不正确的代理行为。 UAC发送的内容以及代理发送的内容是什么?

根据JSR-289,From头是一个系统头,因此不能被代理修改。以增加复杂性为代价,您可以实现一个背靠背的用户代理(b2bua)。

+0

当我说一个“额外的前缀”我呼吁呼叫中心添加前缀例如我称呼形式号码“48505999667”,并在sipUri我有“B1448505999667”。当我将此代理代理给另一部手机时,此前缀使号码“未知”。 – Gocha 2013-03-11 07:45:00

+0

好的,所以在初始SIP请求中的From头中有UAS不喜欢的额外字符。如上所述,代理不能更改From标头。是否还有其他标题可供UAS检查以确定来电显示? – yotommy 2013-03-11 13:24:09