2013-07-01 1 views
0

Это может быть основная проблема, с которой я сталкиваюсь во время интеграции приложения через sailfin с помощью шлюза PSTN. Первоначальный INVITE принимается из шлюза и обрабатывается внутри, затем 100 попыток и ответ 200 OK отправляются обратно на шлюз. Но шлюз никогда не отвечает ACK.Манипуляция заголовком VIA в Sailfin

Первоначальное исследование показывает, что INVITE был получен с удаленного порта xxxxx (любой случайный порт UDP), в то время как внутри заголовка INVITE заголовок через порт содержит порт 5060, а заголовок контакта также содержит 5060. Поскольку сквозной заголовок имеет информацию о порту 5060, Sailfin всегда отправляет ответы обратно на порт 5060 вместо порта xxxxx, по которому был получен запрос.

Есть ли какой-либо способ в Sailfin игнорировать информацию заголовка и отправить ответ на порт, на который он получил запрос? Или мне нужно управлять заголовком?

ответ

0

Я бы сказал, что Sailfin действует правильно. Section 18.2.2 спецификации SIP определяет поведение. Шлюз PSTN объявил, что ответы должны быть отправлены на порт 5060, и если он не может получать трафик на этом порту, то это проблема шлюза PSTN.

И нет, поскольку Via является системным заголовком, вы не можете манипулировать им.

+0

Не могли бы вы дать указатель, что мне делать? Должен ли я думать о коррекции PSTN Gateway или что-то еще? Коррекция шлюза тоже не выгодная вещь! –

+0

Я понимаю. Вы можете попробовать TCP (если это опция), и вы можете, конечно, добавить Layer в sayerfin's Layer stack (он настраивается), который отменяет процесс разрешения по умолчанию по умолчанию. –

+0

Или вы можете просто перейти непосредственно к классу реализации (SipiServletMessageImlpl) и изменить заголовок Via, если вы достаточно отчаиваетесь. –