В транзитной схеме взаимодействия при географическом разделении SMG с SSW, сигнализация как и медиа обрабатывается на сервере с softswich (По умолчанию msr устанавливается на хост с ssw). Как итог, при вызовах в рамках одной SMG, приходилось отправлять всю медию через SSW (Рисунок 1).
Рисунок 1 — MSR расположен на SSW
Для таких случаев на SMG был установлен медиасервер. При установлении соединения, SSW указывает MSR на SMG в качестве обработчика медии, в следствии чего rtp не летит на вышестоящий сервер, а обрабатывается локально на SMG (Рисунок 2).
Рисунок 2 – MSR расположен на SMG
Настройка медиасервера
Активация медиасервера доступна только при наличии лицензии SMG-MSR, подробнее о лицензиях в разделе Лицензии.
В конфигурационном файле, который находится по пути /etc/config/ecss_msr_ena необходимо строчку ECSS_MSR_ENA=no заменить на ECSS_MSR_ENA=yes.
Вся настройка сводится к изменению конфигурационного файла находящегося по пути /etc/config/config.xml.
Для редактирования файла, на SMG можно использовать редактор vi. (vi /etc/config/config.xml).
Переопределить настройки конфигурационных файлов можно в каталоге: /etc/ecss/ecss-media-server/conf.d для файла config.xml.
Данный ПАК не рассчитан на большое количество одновременных вызовов и имеет ограничения в производительности.
Для кодека G711 настоятельно рекомендуется совершать не более 150 одновременных вызовов.
Для кодека G729 настоятельно рекомендуется совершать не более 25 одновременных вызовов в случае использования одного thread-cnt (См. пример дефолтного файла), в случае использования двух, количество вызовов возрастает до 50.
Запуск медиасервера
Запуск медиасервера происходит автоматически с запуском системы.
Для работы сервис использует конфигурацию из файла:
/etc/config/config.xml
При изменении конфигурации необходимо перезапустить сервис ecss-media-server.
Для этого нужно завершить процесс ecss-media-server и он запустится с новой конфигурацией.
pkill -2 ecss-media-server
Пример настройки MSR с Softswitch
Необходимые настройки MSR на SMG производится в командной строке shell.
Изменение конфигурации производится путем изменения файла config.xml
vi /etc/config/config.xml
В нашем случае будет выглядеть следующим образом:
<config> <general log-level="3" max-calls="1000" max-in-group="3" tread-cnt="2" syslog="no"/> <transport bind-addr="192.168.114.79" port="5080" transport="udp" /> <media use-vad="no" port-start="15000" port-range="5000" rtcp-timeout="15" /> <codec pcma="1" pcmu="2" g729="3" ilbc="4" gsm="5" g722="6"/> <accounts> <dynamic msr_name="msr.smg" realm="sip:192.168.114.90:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password" /> </accounts> <pbyte> <mcc bind-addr="192.168.114.79" port="51000" /> </pbyte> <conf_dir path="/etc/config/conf.d"/> </config>
где:
- 192.168.114.79 – IP-адрес SMG,
- 192.168.114.90 – IP-адрес SSW.
Для того чтобы изменения вступили в силу, необходимо перезапустить MSR:
pkill -2 ecss-media-server
При верно выполненной настройке, MSR отправит регистрацию на IP-адрес SSW:
REGISTER sip:192.168.114.90:5000 SIP/2.0 Via: SIP/2.0/UDP 192.168.114.79:5080;rport;branch=z9hG4bKPjuUBlvIWbHOrgYXYLRVCBkWRcJvNmZX4w Max-Forwards: 70 From: <sip:bond1.1@msr.smg>;tag=ruTwS9WQ7HaSalkcdz9J9NJBpCntQUGl To: <sip:bond1.1@msr.smg> Call-ID: Nm96ZyfgH9ND8ZFDXhUzsQcDrYnw7hRq CSeq: 1 REGISTER P-Eltex-MSR-Iface-Name: bond1.1 P-Eltex-MSR-Iface-Addr: 192.168.114.79 P-Eltex-MSR-CC-Addr: 192.168.114.79 P-Eltex-MSR-CC-Port: 51000 P-Eltex-MSR-Name: msr.smg P-Eltex-Max-Calls: 1000 User-Agent: Eltex media-server 3.14.11.1 Contact: <sip:bond1.1@192.168.114.79:5080> Expires: 3600 Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS Content-Length: 0
Со стороны softswitch необходимо задекларировать данный MSR (Команда выполняется в cocon):
system/media/resource/declare core1@ecss1 contact bond1.1@msr.smg default local true
Для проверки состояния используется команда:
system/media/resource/list