Назад | Перейти на главную страницу

Asterisk: SIP-транк с аутентификацией

Допустим, у меня есть система 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=

с обеих сторон и без строки регистра

http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf