Найти в Дзене
IT-разраб

Установка и настройка Kamailio на CentOS Stream 9 Часть 1

Оглавление

Добавление репозитория Kamailio для её установки.

dnf config-manager --add-repo https://rpm.kamailio.org/centos/kamailio.repo

Установка Kamailio.

dnf install kamailio
-2

После установки в директории /etc/kamailio будут созданы конфигурационные файлы.
Основные из их это
kamailio.cfg и kamctlrc.
Данные файлы содержат информацию о том как разработчики реализовали тот или иной функционал.

Сделаем резервную копию этих файлов и создадим вместо них пустые, в которых будем вносить изменения.

cp /etc/kamailio/kamailio.cfg /etc/kamailio/kamailio.cfg.example
yes | cp /dev/null /etc/kamailio/kamailio.cfg
-3

И

cp /etc/kamailio/kamctlrc /etc/kamailio/kamctlrc.example
yes | cp /dev/null /etc/kamailio/kamctlrc
-4

Теперь в файле kamailio.cfg указываем минимальный конфиг для запуска kamailio.

mcedit /etc/kamailio/kamailio.cfg
-5
request_route {
exit;
}
-6

request_route - это основной маршрут через который проходят все SIP запросы.

Теперь добавляем в автозагрузку и стартуем kamailio.

systemctl enable kamailio
systemctl start kamailio
-7

После внесения изменения в конфигурационный файл можно проверить файл на наличие ошибок.

kamailio -c
-8

Подключение базы данных MariaDB к kamailio

В качестве ДБ мы выбрали MariaDB
Ссылка на инструкцию по минимальной настройке

Установка пакета с драйвером для нужной БД.

dnf install kamailio-mysql
-9

В файле kamctlrc указываем данные для подключения

mcedit /etc/kamailio/kamctlrc
-10
SIP_DOMAIN=XX.XX.XX.XX # Можно указать домен или ip адрес сервера
DBENGINE=MYSQL # Используемый драйвер для MYSQL или MariaDB
DBHOST=localhost # IP адрес базы данных к которой будем подключаться
DBPORT=3306 # Порт для подключения, по умолчанию 3306 для MYSQL или MariaDB
DBNAME=kamailio # Название создаваемой базы данных
DBRWUSER="kamailio" # Имя пользователя с правами на запись и чтение
DBRWPW="****" # Пароль для пользователя
DBROUSER="kamailioro" # Имя пользователя с правами только на чтение
DBROPW="****" # Пароль для пользователя
DBROOTUSER="root" # Корневой пользователь с правами на создание
DBROOTPW="****" # Пароль для корневого пользователя
-11

Выполняем инициализацию базы данных Kamailio.

kamdbctl create
На оба вопроса отвечаем yes
На оба вопроса отвечаем yes

Инициализируем подключение в конфигурационном файле

mcedit /etc/kamailio/kamailio.cfg
-13
#!define DBURL "mysql://kamailio:"****"@localhost:5433/kamailio"
loadmodule "db_mysql.so" # Подключаем пакет kamailio-mysql
-14

Дописываем подключение к БД

modparam("auth_db", "db_url", DBURL); # указываем URL для подключения, берем его из ранее созданной директивы DBURL
-15

Ссылка на вторую часть