SIP INVITE Запрос Порт запутался

Разработка решения прохождения NAT с использованием resiprocate работает нормально, но часто SIP INVITE get не срабатывает, особенно на маршрутизаторах cisco

1. SIP REGISTER отправляется через порт 1024

Источник: 107.108.188.26

Пункт назначения:107.108.188.52

Протокол пользовательских дейтаграмм, порт Src: 1024 (1024), порт Dst: sip (5060)

2. Статус SIP 200 ОК

Источник:107.108.188.52

Пункт назначения: 107.108.188.26

Протокол дейтаграмм пользователя, порт Src: sip (5060), порт Dst: 1024 (1024)

3. ПРИГЛАШЕНИЕ SIP/SDP

Источник:107.108.188.52 Адресат: 107.108.188.26 Протокол дейтаграмм пользователя, порт Src: sip (5060), порт Dst: sip (5060)

В идеале, отправляемый порт должен быть 1024 на шаге 1 и шаге 3. Пожалуйста, укажите мне на любую возможную причину того же

2 ответа

Решение

Обсудили то же самое и получили следующий вывод

If RFC5626 (Outbound) is not used on the client side, then resip will route INVITEs to the user based on the information in their Path or Contact headers of the registration request.  You want to try out a repro setting that forces RFC5626 behaviour in the proxy even if the clients to no support it:
# Enable use of flow-tokens in non-outbound cases
# WARNING: Before enabling this, ensure you have a RecordRouteUri setup, or are using
# the alternate transport specification mechanism and defining a RecordRouteUri per
# transport: TransportXRecordRouteUri
EnableFlowTokens = true

В полях " Кому" и " Контакт" в вашем запросе REGISTER указывается порт 5060: sip: 192.168.5.2@107.108.188.26: 5060.

Это означает, что вы хотите получать звонки (т.е. INVITE) на этот порт. Смотрите РФС.

Вместо этого измените хост-часть URI на 107.108.188.26:1024, если вы хотите получать приглашения на порт 1024.

Другие вопросы по тегам