Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreeSWITCH + TLS

Использование и настройка других открытых VoIP PBX

Модератор: april22

FreeSWITCH + TLS

Сообщение tma » 05 май 2016, 04: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), то вызов маршрутизируется, но не проходит из-за несовпадения кодеков (которые по факту совпадают!).

Лог:
Код: выделить все
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]
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

Re: FreeSWITCH + TLS

Сообщение Vlad1983 » 05 май 2016, 08:03

копайте в сторону переменной rtp_secure_media
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

Re: FreeSWITCH + TLS

Сообщение tma » 05 май 2016, 11:16

Да, так пишут, только она вообще никак не влияет в данном случае.
Пробовал с ней играться и на оригинирующем, и на терминирующем серверах - с нулевым эффектом.
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

Re: FreeSWITCH + TLS

Сообщение Vlad1983 » 05 май 2016, 13:27

играться надо там где идет переход SIP > TLS
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

Re: FreeSWITCH + TLS

Сообщение tma » 06 май 2016, 01:14

Переход SIP > TLS идет на серверах 1 и 3.
Вызов получаю, но такое впечатление, что дальше SIP-профиля он не уходит - в контекст он попросту не попадает и не маршрутизируется.
Делал фейковый экстеншин с эхотестом - получаю ту же 488, хотя если звонить внутри серверов 1 и 3 на эхотест все работает с шифрованием.
Пока не въехал как нормально отдебажить данную ситуацию.
В SIP trace на FS вижу получение INVITE, ответ Trying и сразу 488.
Игрался rtp_secure_media внутри профиля - никакого толку нет.

Есть мысль грохнуть сервер 1 (снести нафиг FusionPBX) и поставить голый FreeSWITCH. Может FusionPBX куда-нибудь что-нибудь понатыкало, что я найти глазами не могу.

Диагностика проблем на FS не очень хорошая. По крайней мере я в нее еще не до конца въехал... :oops:
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

Re: FreeSWITCH + TLS

Сообщение Vlad1983 » 06 май 2016, 08:34

выставляется в случае когда нужно SRTP на определенной ноге

вот так в User Directory
Код: выделить все
<param name="dial-string" value="{rtp_secure_media=${regex(${sofia_contact(*/${dialed_user})}|transport=tls)},presence_id=*/${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user})}"/>


остальное здесь
обратить внимание когда set когда export

есть вариации rtp_secure_media_inbound и rtp_secure_media_outbound

отменить на определенной ноге в bridge
If you would like to have variables in [] override the same variables set in {}, you may set 'local_var_clobber=true' inside {}. For example:
{local_var_clobber=true,rtp_secure_media=true}sofia/default/blah1@baz.com|sofia/default/johndoe@example.com|[rtp_secure_media=false]sofia/default/janedoe@acme.com
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

Re: FreeSWITCH + TLS

Сообщение tma » 06 май 2016, 10:45

С dial-string игрался, не помогает.
Дело в том, что я делал на экстеншине эхо-тест и до него даже не доходит, т.е. до User Directory просто не доходит дело.
Хотя если dial-string убрать, то ругается, что его нет (при вызове пользователя).
Отладка в данном случае совсем никакая.
За переменные по отдельным легам - спасибо, не знал, в документации чего-то и не видел даже (или проглядел).

Но главное - почему на сервере 3 с теми же настройками все работает, а на сервере 1 - нет?!!
Диалпланы идентичны, но есть различия в User Directory - на сервере 1 они формируются с помощью lua и я даже не знаю какие они - на диск они не сбрасываются, поэтому и хочу снести нафиг FusionPBX и оставить голый FS.
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

Re: FreeSWITCH + TLS

Сообщение tma » 06 май 2016, 23:35

Вопрос закрыт, проблема решена.
Решение простое - снес нафиг FusionPBX и настроил все с нуля руками - все заработало тут же.
Рекомендую - не ставьте это убожество FusionPBX!!!!!
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

Re: FreeSWITCH + TLS

Сообщение Vlad1983 » 07 май 2016, 09:23

... или разобраться как в нем менять диалплан
Telegram-бот для заказа такси интеграция с Такси-Мастер.
Звонок клиенту из TMDriver через Asterisk. Web-кабинет оператора без Oktell.
Голосовое информирования клиентов о времени прибытия и данных экипажа.
Telegram: @rostel
Vlad1983
 
Сообщений: 4101
Зарегистрирован: 09 авг 2011, 11:51

Re: FreeSWITCH + TLS

Сообщение tma » 09 май 2016, 22:27

Диалплан у меня был выключен - я ж писал, что в FusionPBX у меня был включена работа только с экстеншинами.
Вероятно в directory он не то что-то формировал, а на диск ничего не сбрасывал.
Голый FreeSWITCH мне проще настраивать, как и asterisk. Все эти морды имеют часто странную логику.
http://telecomtechnology.net - услуги связи premium качества с сохранением CallerID
Номера: iNUM в +8835100 бесплатно, а так же в СПб/МСК (7812/7495) и Эстонии (372)
Эстония: +3723335510, Россия СПб: +7(812)3839300; Москва: +7(495)4019950; РФ: 88005500383
tma
 
Сообщений: 1692
Зарегистрирован: 18 сен 2010, 20:50

След.

Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2008 — 2017 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH