Java и Sip-прокси

Я пытался реализовать перенаправление sip. Для этого я использую javax.servlet.sip.Proxy.

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);

Но в заголовке From я получил дополнительный префикс в номере телефона, и на моем телефоне я не вижу, кто звонит. Есть ли способ изменить отображаемое имя заголовка From?


person Gocha    schedule 08.03.2013    source источник


Ответы (1)


Когда вы говорите «дополнительный префикс», вы имеете в виду, что прокси изменяет значение заголовка From? Это похоже на неправильное поведение прокси. Что отправляет UAC, а что отправляет прокси?

Согласно JSR-289, заголовок From является системным заголовком и, следовательно, не может быть изменен прокси-сервером. Ценой дополнительной сложности вы могли бы вместо этого реализовать параллельный пользовательский агент (b2bua).

person yotommy    schedule 08.03.2013
comment
Когда я говорю дополнительный префикс, я имею в виду, что колл-центр добавляет префикс, например, я звоню по номеру формы 48505999667, а в sipUri у меня есть B1448505999667. И когда я проксирую это на другой телефон, этот префикс делает номер неизвестным. - person Gocha; 11.03.2013
comment
Итак, заголовок From в исходном SIP-запросе содержит лишние символы, которые не нравятся UAS. Как указано выше, прокси не может изменить заголовок From. Есть ли какой-либо другой заголовок, который UAS проверит, чтобы определить идентификатор вызывающего абонента? - person yotommy; 11.03.2013