Допустим, у меня есть система Asterisk с кучей подключений: есть телефоны (которые регистрируются на *
) и провайдеры (которые хотят установить соединительные линии SIP для передачи большого количества вызовов с разными идентификаторами вызывающего абонента).
Вот мое видение того, как следует размещать вызовы по аутентифицированной магистрали SIP: удаленный конец магистрали SIP должен отправлять INVITE
с From
в поле установлен его идентификатор (имя пользователя для аутентификации) и Contact
в поле установлено значение идентификатора вызывающего абонента для этого вызова.
Это правда?
Почему я считаю, что это должно быть правдой: сейчас я не могу указать username
/secret
и host=<IP>
- для удаленной регистрации мне нужно сказать host=dynamic
. Итак, я могу настроить «псевдо-транк» как группу расширений, или мне нужно настроить транк с host
и без аутентификации. Нет аутентификации - это плохо.
Итак, правда ли вышесказанное? И будет ли звездочка соответствовать сверстникам, глядя на From
поле и используйте идентификатор вызывающего абонента из Contact
поле?
Если это не так - как должна работать аутентифицированная магистраль SIP?
Спасибо!
Итак, сказанное выше (о From
и Contact
) может быть правдой, но не обязательно. Будет это работать или нет, может зависеть от реальных конфигураций сверстников.
когда *
получает INVITE
запрос с "диким" From
(номер, который «не назначен» ни одному партнеру), он отвечает Unauthorized
, добавляя заголовок аутентификации без каких-либо username
поле (в отличие: когда *
получает INVITE
с "допустимым" именем партнера в From
, поэтому он может соответствовать одноранговому узлу для входящего вызова, он включает username
в заголовке аутентификации).
Этого ответа должно хватить для аутентификации: клиент отправляет «то же самое» INVITE
с тем же From
и Contact
, и с Authorization
заголовок с действительным username
поле. Затем Asterisk сопоставляет входящего партнера по заданному username
стоимость.
Собственно, так может вести себя любой телефон; Таким образом, нет четкой разницы между «SIP-телефоном» и «SIP peer» в SIP. RFC 3261 не содержит ни одного «основного» слова.
пс. Пожалуйста, если кто-то лучше объяснит, буду рад (и, конечно, приму лучший ответ).
Прочтите книгу о'реллис "Звездочка - будущее телефонии"
у него хорошо описан весь протокол sip.
ваш вопрос может быть решен как
host=dynamic
defaultip=ip_of_other_side
deny=0.0.0.0/0.0.0.0
permit=ip_of_other_side/255.255.255.255
или
host=
с обеих сторон и без строки регистра