FreeSWITCH + TLS
Добавлено: 05 май 2016, 03:04
Всем привет,
Есть три FreeSWITCH.
К двум из них клиенты цепляются через TLS, через третий ходят в город по чистому SIP.
Обозначения: FreeSWITCH с TLS -1 и 3, FreeSWITCH без TLS -2.
Между всеми серверами трафик идет в чистом SIP.
На серверах 1 и 3 есть по три SIP-профиля. internal - с TLS и server1, server2 - только SIP.
Проблема в том, что при одинаковых настройках вызовы с 2 на 3 проходит, а на 1 - получаем "Crypto not negotiated but required" и 488 c INCOMPATIBLE_DESTINATION.
Тоже самое происходит при вызове с 3 на 1.
Оба без проблем могут звонить в город через 2.
Внутри серверов 1 и 3 по TLS клиенты общаются без проблем.
С сервера 1 на 3 - тоже.
Если отключить шифрование - вызов проходит.
Если отключить транскодинг, ругается на несовпадения кодеков. Причем вызываемый телефон даже звонит, но вызов сбрасывается с ошибкой 415 и руганью в логе на несовпадение кодеков.
Вопрос для начала - в каких случаях возникает "Crypto not negotiated but required" и 488 c INCOMPATIBLE_DESTINATION?
P.S. Отличия конечно есть - на сервер 1 я водрузил FusionPBX, долго плевался и по факту отключил все, кроме управления экстеншинами.
SIP-профили идентичные, диалпланы упрощены до минимума и совпадают.
Логи абсолютно неинформативные... Типа нижеприведенного.
Такое впечатление, что 488 возвращает сам FreeSWITCH сразу после поступления звонка еще до маршрутизации.
Если отключить транскодинг (disable-transcoding в true), то вызов маршрутизируется, но не проходит из-за несовпадения кодеков (которые по факту совпадают!).
Лог:
Есть три FreeSWITCH.
К двум из них клиенты цепляются через TLS, через третий ходят в город по чистому SIP.
Обозначения: FreeSWITCH с TLS -1 и 3, FreeSWITCH без TLS -2.
Между всеми серверами трафик идет в чистом SIP.
На серверах 1 и 3 есть по три SIP-профиля. internal - с TLS и server1, server2 - только SIP.
Проблема в том, что при одинаковых настройках вызовы с 2 на 3 проходит, а на 1 - получаем "Crypto not negotiated but required" и 488 c INCOMPATIBLE_DESTINATION.
Тоже самое происходит при вызове с 3 на 1.
Оба без проблем могут звонить в город через 2.
Внутри серверов 1 и 3 по TLS клиенты общаются без проблем.
С сервера 1 на 3 - тоже.
Если отключить шифрование - вызов проходит.
Если отключить транскодинг, ругается на несовпадения кодеков. Причем вызываемый телефон даже звонит, но вызов сбрасывается с ошибкой 415 и руганью в логе на несовпадение кодеков.
Вопрос для начала - в каких случаях возникает "Crypto not negotiated but required" и 488 c INCOMPATIBLE_DESTINATION?
P.S. Отличия конечно есть - на сервер 1 я водрузил FusionPBX, долго плевался и по факту отключил все, кроме управления экстеншинами.
SIP-профили идентичные, диалпланы упрощены до минимума и совпадают.
Логи абсолютно неинформативные... Типа нижеприведенного.
Такое впечатление, что 488 возвращает сам FreeSWITCH сразу после поступления звонка еще до маршрутизации.
Если отключить транскодинг (disable-transcoding в true), то вызов маршрутизируется, но не проходит из-за несовпадения кодеков (которые по факту совпадают!).
Лог:
Код: Выделить всё
2016-05-04 23:49:48.052537 [DEBUG] sofia.c:6760 Channel sofia/server/NUMBER@1.2.3.4 entering state [received][100]
2016-05-04 23:49:48.052537 [DEBUG] sofia.c:6770 Remote SDP:
v=0
o=pbx 1462385059 1462385060 IN IP4 1.2.3.4
s=pbx
c=IN IP4 1.2.3.4
t=0 0
m=audio 20712 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4161 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4216 Audio Codec Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4161 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMU:0:8000:20:64000:1]
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4161 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[G722:9:8000:20:64000:1]
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4161 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[GSM:3:8000:20:13200:1]
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4077 Set telephone-event payload to 101@8000
2016-05-04 23:49:48.052537 [WARNING] switch_core_media.c:4234 Crypto not negotiated but required.
2016-05-04 23:49:48.052537 [DEBUG] switch_core_media.c:4485 sofia/server/NUMBER@1.2.3.4 Set 2833 dtmf send payload to 101 recv payload to 101
2016-05-04 23:49:48.052537 [NOTICE] sofia.c:7204 Hangup sofia/server/NUMBER@1.2.3.4 [CS_NEW] [INCOMPATIBLE_DESTINATION]