Tamkovich.com: Телеком/VoIP блог
Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
Интеграция Asterisk 1.6.2 и Kamailio 3.0.x
4 июня, 2010 by Сергей Тамкович
Asterisk, ITSP Kamailio, SIPОбновился документ по интеграции Kamailio 3.0.x и Asterisk 1.6.2. Кроме того, что используются новые версии ПО, изменилась сама концепция интеграции. Ключевые тезисы новой схемы:
- Минимизация отклонений от стандартной конфигурации Asterisk-realtime.
- Вся аутентификация — внутри Kamailio.
- Все звонки, в т.ч. и локальные — проходят через Asterisk.
- Все media потоки — проходят через Asterisk.
- Обработка SIP сообщений не связанных со звонками выполняется с помощью Kamailio.
Согласно предложенной схеме, регистрация выглядит следующим образом:

Аппарат А, отправляет запрос REGISTER и после успешной аутентификации регистрируется на Kamailio. Kamailio регистрируется на сервере Asterisk от имени клиента, указав в качестве котакта свой IP адрес. Таким образом при звонке с Asterisk к абоненту A, Asterisk отправит INVITE к Kamailio, а тот в свою очередь передаст его клиенту. Кстати о звонках, звонок между абонентами A и B выглядит следующим образом:

Для установки соединения между аппаратами A и B, аппарат A отправляет запрос INVITE по IP адресу сервера Kamailio. После успешной аутентификации, Kamailio отправляет INVITE к Asterisk. Asterisk, отправляет INVITE к абоненту B, однако в качестве контакта для абонента B указан IP адрес Kamailio. Получив INVITE от Asterisk для абонента B, Kamailio проверяет базу зарегистрированных пользователей (usrloc) и пытается перенаправить INVITE для абонента B по его фактическому адресу.
На мой взгляд: просто, элегантно, и, самое главное, масштабируемо. Я обычно использую несколько иную балансировку нагрузки, однако предложенная схема заслуживает самого тщательного изучения. Автор документа, Daniel-Constantin Mierla, обещает регулярно обновлять инструкцию, поддерживая её в актуальном состоянии.
Asterisk, ITSP Kamailio, SIP
Сергей, а вы сами использовали такую связку?
Денис, связку — конечно да, а вот схему описанную в статье — только на тестовом стенде. На практике мне куда больше нравится схема в которой SIP proxy выступает в качестве сервера перенаправления.
Честно сказать с Kamailio только знакомлюсь , но вот у меня вопрос , можно — ли при помощи него реализовать такую схему
есть сервер астериск ( 1.6.2 ) на сервере один физический интерфейс eth0 к нему привязано 3 серых ip которые соответственно маршрутизируються провайдером на 3 белых ip
у провайдера у каторого мы берем межгород заведено 3 учетных записи
1 звонки на один город
2 звонки на другой город
3 звонки по всей стране
так вот задача чтобы астериск при звонке на первый город использовал один белый ip ( например 123 )
при звонке на другой город — следующий белый ip ( например 345 )
при звонке по стране — третий белый ip ( например 567 )
к интерфейсам астериск не привяжешь ……
хочу попробовать это решение …….
Почему пропало сообщение 401 auth от Asterisk при регистрации со стороны kamailio, разве астериск сразу принимает запрос на регистрацию с заголовком отклика авторизации минуя 401 auth?