Рубрики
Kamailio FreeSWITCH

Kamailio часть 12. Работа в облаке через один сетевой интерфейс, SIP сигнализация через TCP

В этой статье мы рассмотрим очень популярный кейс (Kamailio в AWS, GCE, Hetzner и любом другом облаке), когда Kamailio находится в приватной сети с одним сетевым интерфейсом, при этом, со стороны провайдера облачных услуг, на маршрутизаторе настроен NAT. Также рассмотрим настройку SIP сигнализации через TCP и поддержку Proxy Protocol Kamailio через NAT на одном сетевом […]

Рубрики
Kamailio

Kamailio часть 11. UAC модуль. Регистрация SIP номера у оператора через Kamailio, Kamailio в роли клиента

В этой статье будет рассмотрено, как взаимодействовать с SIP операторами/провайдерами в качестве клиента через UAC модуль в Kamailio Теория взаимодействия Kamailio с оператором связи Для начала кратко вспомним 1 часть (SIP регистрация в Kamailio), где максимально подробно рассматривалась сама регистрация в SIP протоколе. Kamailio в роли сервера — UAS (User Agent Server) Здесь, мой компьютер […]

Рубрики
Kamailio

Kamailio часть 10. Реализация WebRTC в Kamailio с рассмотрением примеров

В этой статье мы рассмотрим взаимодействие и настройку Kamailio + WebRTC. Рассмотрим несколько клиентов, а также на практике увидим взаимодействие нескольких модулей для терминации SSL и работы с самими WebSocket’ами в Kamailio. Теория работы SIP протокола через браузер — WebRTC Раньше для взаимодействия с SIP протоколом, необходимы были SIP клиенты. SIP клиенты делятся на два […]

Рубрики
Kamailio FreeSWITCH

Kamailio часть 9. FreeSWITCH (FusionPBX) в роли media (backend) сервера с примерами

В этой статье мы исправим некоторые недочеты седьмой части (Интеграция Kamailio и FreeSWITCH в VoIP). Мы настроим корректное прохождение RTP потоков через Kamailio + RTPengine из внешней сети в приватную для A-leg и из внутренней (приватной) сети во внешнюю сеть для B-leg. В качестве media сервера все также будет выступать FusionPBX который основан на FreeSWITCH […]

Рубрики
Kamailio

Kamailio часть 8. Балансировка в SIP протоколе через dispatcher модуль Kamailio с детальным разбором примеров

В этой статье мы рассмотрим модуль dipatcher, с помощью которого осуществляется балансировка нагрузки в Kamailio Kamailio dispatcher модуль обеспечивающий балансировку Возьмем схему из вводной части (Архитектура VoIP сервиса с использованием Kamailio): По схеме видно, что у нас есть множество Media серверов (это может быть Asterisk или FreeSWITCH, или любой другой media сервер). И нам через […]

Рубрики
Kamailio FreeSWITCH

Kamailio часть 7. FreeSWITCH (FusionPBX) интеграция в роли media (backend) сервера с примерами

В этой статье мы сделаем интеграцию Kamailio (выступает в роли frontend) с FreeSWITCH (выступает в роли backend) Как вы помните из нулевой части (Архитектура VoIP с исподьзованием Kamailio), в качестве backend (media) серверов будет использоваться FreeSWITCH. Интеграцию Kamailio + Asterisk в этой статье мы рассматривать не будем, это отдельная тема. В качестве надстройки над FreeSWITCH […]

Рубрики
Kamailio

Kamailio часть 6. USRLOC — хранение SIP REGISTER в ОЗУ и БД PostgreSQL с примерами

В этой мини-статье мы разберем некоторые параметры модуля usrloc в Kamailio. Модуль usrloc используется для хранения регистраций абонентов (запросов SIP REGISTER) USRLOC модуль в Kamailio с примерами Давайте посмотрим, как сейчас хранится регистрация (AoR) в Kamailio, в таблице location. Для этого зарегистрируемся абонентом 1111 и выполним команду kamcmd: В выводе мы увидим следующее: Ничего нового […]

Рубрики
Kamailio

Kamailio часть 5. HTABLE в Kamailio, введение в хэш-таблицы и реализация кэширования SIP REGISTER + fail2ban с примерами

В этой статье мы рассмотрим модуль для работы с хэш таблицами в Kamailio и реализуем кэширование SIP авторизаций + fail2ban с помощью модуля htable. Для чего нужны хэш-таблицы в Kamailio Как вы знаете из предыдущих (Kamailio с нуля) статей, мы уже реализовали обработку запросов REGISTER (регистрацию и авторизацию в SIP). Так же мы научились проходить […]

Рубрики
Kamailio

Kamailio часть 4. Обработка RTP потоков через sipwise RTPengine, взаимодействие SIP протокола с RTP

В этой статье, с помощью Kamailio, мы научимся обрабатывать RTP потоки с через RTPengine, разберем теория обработки RTP потоков в SIP протоколе и реализуем теорию на практике в Kamailio. Теория взаимодействия RTP потоков в SIP протоколе с разбором примеров SIP протокол стоит на двух слонах, первый из которых — сигнализация, которая рассматривалась в предыдущей статьях […]

Рубрики
Kamailio

Kamailio часть 3. Обработка вызова (INVITE), SIP диалог, транзакции. Подробное описание SIP INVITE с примерами

В этой статье мы реализуем вызов между двумя телефонами с помощью Kamailio, познакомимся с SIP диалогами и какие транзакции в него входят Теория обработки звонка (вызова) в SIP протоколе с разбором примеров в Kamailio Для примера возьмем вызов между пользователем с номером 1111 и пользователя с номером 1112. Трассировка сигнализации будет выглядеть следующим образом: Давайте […]