2013-03-08 86 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