В этой статье мы рассмотрим очень популярный кейс (Kamailio в AWS, GCE, Hetzner и любом другом облаке), когда Kamailio находится в приватной сети с одним сетевым интерфейсом, при этом, со стороны провайдера облачных услуг, на маршрутизаторе настроен NAT. Также рассмотрим настройку SIP сигнализации через TCP и поддержку Proxy Protocol Kamailio через NAT на одном сетевом […]
В этой статье будет рассмотрено, как взаимодействовать с SIP операторами/провайдерами в качестве клиента через UAC модуль в Kamailio Теория взаимодействия Kamailio с оператором связи Для начала кратко вспомним 1 часть (SIP регистрация в Kamailio), где максимально подробно рассматривалась сама регистрация в SIP протоколе. Kamailio в роли сервера — UAS (User Agent Server) Здесь, мой компьютер […]
В этой статье мы рассмотрим взаимодействие и настройку Kamailio + WebRTC. Рассмотрим несколько клиентов, а также на практике увидим взаимодействие нескольких модулей для терминации SSL и работы с самими WebSocket’ами в Kamailio. Теория работы SIP протокола через браузер — WebRTC Раньше для взаимодействия с SIP протоколом, необходимы были SIP клиенты. SIP клиенты делятся на два […]
В этой статье мы исправим некоторые недочеты седьмой части (Интеграция Kamailio и FreeSWITCH в VoIP). Мы настроим корректное прохождение RTP потоков через Kamailio + RTPengine из внешней сети в приватную для A-leg и из внутренней (приватной) сети во внешнюю сеть для B-leg. В качестве media сервера все также будет выступать FusionPBX который основан на FreeSWITCH […]
В этой статье мы рассмотрим модуль dipatcher, с помощью которого осуществляется балансировка нагрузки в Kamailio Kamailio dispatcher модуль обеспечивающий балансировку Возьмем схему из вводной части (Архитектура VoIP сервиса с использованием Kamailio): По схеме видно, что у нас есть множество Media серверов (это может быть Asterisk или FreeSWITCH, или любой другой media сервер). И нам через […]
В этой статье мы сделаем интеграцию Kamailio (выступает в роли frontend) с FreeSWITCH (выступает в роли backend) Как вы помните из нулевой части (Архитектура VoIP с исподьзованием Kamailio), в качестве backend (media) серверов будет использоваться FreeSWITCH. Интеграцию Kamailio + Asterisk в этой статье мы рассматривать не будем, это отдельная тема. В качестве надстройки над FreeSWITCH […]
В этой мини-статье мы разберем некоторые параметры модуля usrloc в Kamailio. Модуль usrloc используется для хранения регистраций абонентов (запросов SIP REGISTER) USRLOC модуль в Kamailio с примерами Давайте посмотрим, как сейчас хранится регистрация (AoR) в Kamailio, в таблице location. Для этого зарегистрируемся абонентом 1111 и выполним команду kamcmd: В выводе мы увидим следующее: Ничего нового […]
В этой статье мы рассмотрим модуль для работы с хэш таблицами в Kamailio и реализуем кэширование SIP авторизаций + fail2ban с помощью модуля htable. Для чего нужны хэш-таблицы в Kamailio Как вы знаете из предыдущих (Kamailio с нуля) статей, мы уже реализовали обработку запросов REGISTER (регистрацию и авторизацию в SIP). Так же мы научились проходить […]
В этой статье, с помощью Kamailio, мы научимся обрабатывать RTP потоки с через RTPengine, разберем теория обработки RTP потоков в SIP протоколе и реализуем теорию на практике в Kamailio. Теория взаимодействия RTP потоков в SIP протоколе с разбором примеров SIP протокол стоит на двух слонах, первый из которых — сигнализация, которая рассматривалась в предыдущей статьях […]
В этой статье мы реализуем вызов между двумя телефонами с помощью Kamailio, познакомимся с SIP диалогами и какие транзакции в него входят Теория обработки звонка (вызова) в SIP протоколе с разбором примеров в Kamailio Для примера возьмем вызов между пользователем с номером 1111 и пользователя с номером 1112. Трассировка сигнализации будет выглядеть следующим образом: Давайте […]