База на знаења

8. Asterisk SIP/TLS Transport Over TLS

Asterisk настройка TLS SRTP для PJSIP

Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае  заполните форму запроса на Sytes.ru!

В статье предполагается, что сервер терминалов уже прошел предварительную настройку и работает. Все скриншоты соответствуют Windows Server 2016.

asterisk-pjsip-tls-srtpНастроим защищенное подключение SIP клиентов к Asterisk 14 за NAT, используя драйвер PJSIP, транспорт TLS и шифрование голоса SRTP. См. также SIP TLS SRTP Asterisk На входе у нас Asterisk 15 скомпилированный с поддержкой srtp:

 yum install  libsrtp libsrtp-devel
 ./configure --libdir=/usr/lib64 --with-crypto --with-ssl=ssl --with-srtp

Transport Layer Security (TLS) обеспечивает шифрование сигнализации SIP. Это способ защитить информацию о вызовах от man in the middle. SRTP обеспечивает шифрование голоса. Для настройки TLS между Asterisk и SIP клиентом требуется:

  1. Создать ключи шифрования.
  2. Настроить транспорт драйвера PJSIP для использования TLS.
  3. Настроить PJSIP Endpoint и SIP клиент для использования TLS и SRTP.

Убедитесь что модуль res_srtp.so загружен.

*CLI> module show like srtp
Module                         Description                              Use Count  Status      Support Level
res_srtp.so                    Secure RTP (SRTP)                        0          Running              core
1 modules loaded

Если нет, попытайтесь загрузить его:

*CLI> module load res_srtp.so
Loaded res_srtp.so
 Loaded res_srtp.so => (Secure RTP (SRTP))

Asterisk TLS keys SIP TLS Transport

В параметрах ENDPOINT пользовательского аккаунта зададим метод шифрования голоса:
  • media_encryption=sdes

Применим настройки рестартом asterisk (иначе транспорт не поднять) и убедимся, что он взлетел:

*CLI> pjsip show transport transport-tls

В дальнейшем, изменения в настройках транспорта, можно будет применять командой core reload, если при настройке транспорта указать allow_reload=true, иначе, по умолчанию, только рестартом.

Тестирование

Перезапускаем астериск, и проверяем работоспособность порта командой:

openssl s_client -connect 127.0.0.1:5061

Если все верно видим примерно следующее

Теперь выполним настройки в астериске на пире для работы с TLS и SRTP, в sip.conf активируем для пира tls и включим srtp (encryption):

Или более  подробный тут: https://github.com/nicwolff/asterisk-agi-mp3/blob/master/doc/siptls.txt
 

Хорошо бы еще убедиться, что сигнализация и голос зашифрованы. Это можно сделать при помощи приложения tcpdump

для сигнализации:

  tcpdump -nqt -s 0 -A -vvv -i eth0 port 5061

где eth0 сетевой интерфейс.

Для голоса:

  tcpdump -nqt -s 0 -A -vvv -i eth0 portrange 10000-20000

 

Если у вас есть профессиональный интерес в расширении данной статьи – заполните форму запроса!

Заметка распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

 

     Источник:

  • 0 Корисниците го најдоа ова како корисно
Дали Ви помогна овој одговор?

Понудени резултати

Настройка аsterisk 17 - SIP АТС LXC CentOS 7

  Здесь  показана рабочая инструкция, по которой можно выполнить настройка Аsterisk 17 для LXC...

Установка настроек, подключение абонентов и проверка внутренних звонков в Asterisk

Астериск у нас уже установлен. Для отладки использую бесплатную софтовую звонилку 3CXPhone 6-й...

Установка голосовой почты в Asterisk

Устанавливаем  голосовую почту в в Asterisk   Продолжаем наращивать функционал voip атс. В...

Установка asterisk в OS CentOS 7

Asterisk  и Freepbx  на Centos 7 Asterisk — бесплатное решение для организации voip телефонии....

Установка и настройка Freepbx в OS Сentos 7

Установка и настройка Freepbx на Сentos 7 Скачиваем последнюю версию Freepbx с сайта...