Является ли часть пользователя в заголовке sip 'Contact'? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть SIP-сервер, который регистрируется в транке. Итак, SIP-сервер отправляет сообщение REGISTER в транк. Но транковое устройство отправляет сообщение об ошибке «406 Not Acceptable». Мне сказали, что эта ошибка связана с тем, что в заголовке «Контакт» нет пользовательской части. Однако, согласно RF C, заголовок Contact сам по себе не обязательно должен быть в запросе REGISTER.

Не могли бы вы помочь подтвердить правильность моего понимания и дать соответствующий совет?

REGISTER sip:10.5.5.1 SIP/2.0
From: sip:70999@10.5.5.1;tag=8CD78147-5BDB-40C1-87F6-64A6905F1A6D-9
To: <sip:70999@10.5.5.1>
Call-ID: FCC64207-4F2A-4622-AF85-B77BBE3C7796-9@10.5.5.2
CSeq: 1 REGISTER
Content-Length: 0
Via: SIP/2.0/UDP 10.5.5.2:5060;branch=z9hG4bKA761AE66-C376-4895-BBF7-51CF2C675C52-9
**Contact: <sip:10.5.5.2:5060>**
Expires: 600


SIP/2.0 406 Not Acceptable
Via: SIP/2.0/UDP 10.5.5.2:5060;branch=z9hG4bKA761AE66-C376-4895-BBF7-51CF2C675C52-9
From: <sip:70999@10.5.5.1>;tag=8CD78147-5BDB-40C1-87F6-64A6905F1A6D-9
To: <sip:70999@10.5.5.1>;tag=10a8faa5
Call-ID: FCC64207-4F2A-4622-AF85-B77BBE3C7796-9@10.5.5.2
CSeq: 1 REGISTER
User-Agent: XXX XXX XXX
Allow: INVITE, ACK, REGISTER, BYE, OPTIONS, INFO, CANCEL, REFER, NOTIFY, SUBSCRIBE, PRACK, UPDATE
Content-Length: 0

10.5.5.2 - это мой SIP-сервер, а 10.5.5.1 - это транковое устройство

Спасибо.

1 Ответ

3 голосов
/ 03 марта 2020

Вы правы. Для всех адресов записей, включая любой в заголовке Contact, пользовательская часть является необязательной.

В частности, для запросов REGISTER см. 10.2.1 Добавление привязок , в котором говорится:

Значения полей заголовка контакта запроса обычно состоят из URI SIP или SIPS, которые идентифицируют конкретные конечные точки SIP (например, "sip:carol@cube2214a.chicago.com"), но они МОГУТ использовать любую схему URI. SIP UA может выбрать регистрацию телефонных номеров (с URL-адресом телефона, RF C 2806 [9]) или адресов электронной почты (с URL-адресом mailto, RF C 2368 [32]) в качестве контактов для адреса например, запись.

Для случая, когда заголовок контакта содержит SIP URI, правила определены , как показано ниже. Часть [userinfo], которая содержит «пользовательскую часть», на которую вы ссылаетесь, является необязательной.

SIP-URI          =  "sip:" [ userinfo ] hostport
                    uri-parameters [ headers ]
SIPS-URI         =  "sips:" [ userinfo ] hostport
                    uri-parameters [ headers ]
userinfo         =  ( user / telephone-subscriber ) [ ":" password ] "@" 

Несмотря на то, что вы правы, большинство серверов SIP реализуют дополнительные бизнес-правила. Некоторые регистраторы не принимают запрос с частным IP-адресом в контактном URI et c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...