SRTP и directmedia
Добавлено: 20 янв 2014, 10:29
Добрый день!
Имеется asterisk 11.5.1
Стоит задача реализовать защищенную IP телефонию с шифрованием сигнального трафика по TLS и голосового по SRTP с действующим directmedia.
Прочитал множество статей и мануалов и в принципе настроил само шифрование. Однако tcpdump и логи астериска показывают, что трафик идет через сервер, хотя directmedia=yes прописано. При выключении SRTP на стороне сервера и на телефонах все начинает работать как запланировано-т.е. directmedia включается и трафик идет между телефонам (видно в дампе трафика с самих телефонов).
Это нормальное поведение или есть какая-то хитрость?
sip.conf
extensions.conf
Имеется asterisk 11.5.1
Стоит задача реализовать защищенную IP телефонию с шифрованием сигнального трафика по TLS и голосового по SRTP с действующим directmedia.
Прочитал множество статей и мануалов и в принципе настроил само шифрование. Однако tcpdump и логи астериска показывают, что трафик идет через сервер, хотя directmedia=yes прописано. При выключении SRTP на стороне сервера и на телефонах все начинает работать как запланировано-т.е. directmedia включается и трафик идет между телефонам (видно в дампе трафика с самих телефонов).
Это нормальное поведение или есть какая-то хитрость?
sip.conf
Код: Выделить всё
[general]
tlsenable=yes ; включить сигнализацию по TLS
tlsbindaddr=192.168.7.6 ; привязка TLS к адресу
bindaddress=192.168.7.6 ; привязка сервиса asterisk к адресу
tlscertfile=/etc/asterisk/keys/asterisk.pem ; путь к TLS сертификату сервера
tlscafile=/etc/asterisk/keys/ca.crt ; пусть к TLS CA сертификату
tlscipher=ALL ; тип TLS шифра
tlsclientmethod=tlsv1.0 ; версия TLS
maxexpirey=3600 ; максимальное время истечения регистрации 1ч
port=5060 ;стандартный порт
[local_secure](!)
type=friend
host=dynamic ; хост может менять адрес
disallow = all ; запрет всех кодеков
allow = alaw ; разрешить кодек G.711A
context=gm ; контекст канала
canreinvite=yes
directmedia=yes
directrtpsetup=yes
encryption=yes ; использовать SRTP
transport=tls ; использовать TLS для сигнализации
[1001](local_secure)
username=1001
secret=PASSWORD;
[1002](local_secure)
username=1002
secret=PASSWORD;
[1003](local_secure)
username=1003
secret=PASSWORD ; пароль учетки
[1004](local_secure)
secret=PASSWORD ; пароль учетки
username=1004 ; имя пользователя
[1005](local_secure)
secret=PASSWORD ; пароль учетки
username=1005 ; имя пользователя
Код: Выделить всё
[local] ; базовый контекст местных номеров
exten => _**,1,Pickup(${EXTEN:2})
exten => _1XXX,1,Dial(SIP/${EXTEN})
exten => _1XXX,n,Hangup
[gm]
include => local