Пакеты Kamailio включены в официальный репозиторий стабильной версии Debian начиная с версии 8.0 и остаются в текущей стабильной версии (10.x, кодовое имя Buster). Установка Kamailio в Debian 10 – предмет сегодняшней статьи.
Обзор
Целью данного руководства является установка Kamailio с MySQL с использованием пакетов deb.
Для получения более подробной информации о проекте Kamailio посетите: kamailio.org.
Альтернативные хранилища APT
Если вы хотите использовать более свежую версию Kamailio, вы можете использовать репозитории APT, размещенные в проекте Kamailio.
Список APT – репозиториев, предлагаемых Kamailio – проектом для различных версий Debian или Ubuntu, включая сборки для стабильных и разрабатываемых версий, представлен по адресу:
Kamailio APT Repos: Debian – Ubuntu
Например, если вы хотите установить Kamailio v5.2.x в Debian Strech, добавьте следующие URL-адреса в конфигурацию APT:
deb http://deb.kamailio.org/kamailio52 stretch main
deb-src http://deb.kamailio.org/kamailio52 stretch main
Команды установки APT
apt инструмент используется для установки пакетов. Сначала запустите команду update для синхронизации с удаленным репозиторием, затем установите пакеты MySQL-server, Kamailio core и mysql.
apt update
apt install mysql-server
apt install kamailio kamailio-mysql-modules
Как только вышеприведенные команды будут завершены, вы можете проверить доступно ли приложение kamailio:
which
Есть много пакетов Kamailio, для различных модулей. Вы можете увидеть все доступные:
apt search kamailio
Например, чтобы загрузить модуль websocket, вы должны установить пакет kamailio-websocket-modules:
apt install kamailio-websocket-modules
Конфигурационные файлы
Файлы конфигурации находятся в папке /etc/kamailio/.
kamctlrc
Файл /etc/kamailio/kamctlrc позволяет настраивать инструменты kamctl и kamdbctl. Вам необходимо отредактировать его и установить SIP_DOMAIN свой домен службы SIP (или IP-адрес, если у вас нет имени хоста DNS, связанного с вашей службой SIP).
Установите также, DBENGINE чтобы активировать MYSQL и отрегулируйте другие настройки по вашему желанию. Очень важны пароли для подключения к MySQL серверу, соответственно, DBRWPW и DBROPW. По умолчанию их значения kamailiorw и kamailioro. Вы должны изменить их перед выполнением ‘kamdbctl create‘ (шаг подробно описан в разделе «Создание базы данных»).
kamailio.cfg
Это /etc/kamailio/kamailio.cfg файл конфигурации для kamailio. Отредактируйте его, чтобы включить некоторые функции, поставляемые с ним.
Чтобы включить использование MySQL серверной части сервера, аутентификацию пользователя и постоянное местоположение пользователя, добавьте после первой строки:
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
Создание базы данных
Чтобы создать необходимую структуру базы данных Kamailio, запустите:
kamdbctl create
Имя базы данных, созданное в MySQL называется kamailio. В процессе установки MySQL для доступа к серверу создаются два пользователя:
- kamailio – (с паролем, установленным DBRWPW в kamctlrc) – пользователь с полными правами доступа к базе данных kamailio.
- kamailioro – (с паролем, установленным DBROPW в kamctlrc) – пользователь, имеющий права доступа к базе данных kamailio только для чтения.
Доступ для этих двух пользователей ограничен localhost, но, как указано выше, рекомендуется изменить их пароли по умолчанию.
Если вы изменили значение DBRWPW в kamctlrc, вы должны обновить значение DBURL определения внутри kamailio.cfg.
#!define DBURL "mysql://kamailio:_NEW_DBRWPW_@localhost/kamailio"
Скрипты запуска
Сценарии Init.d
В зависимости от системы запуска, у вас может быть скрипт /etc/init.d/kamailio, который вы можете использовать для запуска или остановки Kamailio.
Сначала вы должны отредактировать файл /etc/default/kamailio и настроить параметры запуска скрипта kamailio.
/etc/init.d/kamailio start
/etc/init.d/kamailio stop
Сценарии systemd
Если по умолчанию система запускается через systemd, то Kamailio можно управлять с помощью systemctl:
systemctl start kamailio
systemctl stop kamailio
Во-первых, вам также может понадобиться отредактировать /etc/default/kamailio и настроить параметры запуска скрипта Kamailio, в частности, тот, который позволяет запускать Kamailio.
Добавление пользователей
Чтобы добавить пользователей, вы можете использовать команду kamctl:
kamctl add userid password
Пример:
kamctl add alice secret
Затем вы можете настроить свой телефон для регистрации в Kamailio, используя имя пользователя и пароль, указанные в приведенной выше команде. Установка Kamailio в Debian 10 произведена, далее необходимо настроить SIP-сервер под свои задачи.