freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 26 апр 2024 06:47

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
СообщениеДобавлено: 08 фев 2017 13:30 

Зарегистрирован: 07 фев 2017 18:05
Сообщения: 5
Здравствуйте, требуется помощь.
Звонок с WebRtc клиента обрывается после снятия трубки. Отвечающий абонент может быть как местным для FreeSwitch, так и на другом
сервере. Такое же поведение при звонке на автоотвечик FreeSwitch.
При этом, браузерный клиент получает BY от FreeSwitch с причиной DESTINATION_OUT_OF_ORDER, и в логе FreeSwitch видно ошибку DTLS:
[ERR] switch_rtp.c:2917 audio Handshake failure 1
Обратный звонок на WebRtc абонента проходит успешно. Проверка openssl s_client на сервере проходит без ошибок.
Ситуация возникла еще в конце 2016 года, но ее удавалось лечить мелкими конфигурационными ухищрениями. С конца января после обновления версии Firefox ситуация выглядит стабильно неизлечимой.
Исторически было два проекта: один с честным доменным именем сервера( где регистрировались абоненты и от куда они звонили), второй с локальным IP адресом.
В 2016 WAN-овский проект жил с честным сертификатом и работал и с Chrome и с Firefox. Lan-овский проект упорно работал только с Firefox, а в Chrome была ситуация аналогичная указанной в теме обсуждения. В 2017 закончился срок использования сертификата в WAN-проекте и после установки самоподписного, его работа полностью восстановилась.
На обоих серверах стоит одинаковое ПО(отличие только в нумерации в дайалпланах):
Linux deb7-32bit 3.2.0-4-686-pae #1 SMP Debian 3.2.81-1 i686
OpenSSL 1.0.1t 3 May 2016 (Library: OpenSSL 1.0.1e 11 Feb 2013)
FreeSWITCH Version 1.4.26-37~32bit (-37 32bit)
Клиент выполнен на базе JsSIP.2.0.2, браузер Firefox 51.0.1 (32-бит).

[+] Лог браузера:
JsSIP:UA call() +1m jssip-2.0.2m.js:22556:8
JsSIP:RTCSession new +1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession connect() +1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession newRTCSession +9ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession session connecting +181ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession createLocalDescription() +1ms jssip-2.0.2m.js:22556:8
JsSIP:Transport send() +45ms jssip-2.0.2m.js:22556:8
JsSIP:Transport sending message:

INVITE sip:20007@192.168.20.52 SIP/2.0

Via: SIP/2.0/WSS purf14spvc3p.invalid;branch=z9hG4bK4479673

Max-Forwards: 69

To: <sip:20007@192.168.20.52>

From: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

Call-ID: i23900k709tkpf41hvhi

CSeq: 5839 INVITE

X-Can-Renegotiate: false

Contact: <sip:dheq7pv9@purf14spvc3p.invalid;transport=ws;ob>

Content-Type: application/sdp

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO

Supported: ice,replaces,outbound

User-Agent: JsSIP 2.0.2

Content-Length: 1297



v=0

o=mozilla...THIS_IS_SDPARTA-51.0.1 7695237729787045709 0 IN IP4 0.0.0.0

s=-

t=0 0

a=sendrecv

a=fingerprint:sha-256 E9:22:52:20:FE:24:B6:D8:03:05:38:08:0D:E8:7A:74:7C:B4:71:03:A6:DB:2E:C6:81:9C:80:7C:C8:DE:00:E2

a=ice-options:trickle

a=msid-semantic:WMS *

m=audio 50327 UDP/TLS/RTP/SAVPF 109 9 0 8

c=IN IP4 192.168.121.1

a=candidate:0 1 UDP 2122121471 192.168.20.87 50326 typ host

a=candidate:1 1 UDP 2122252543 192.168.121.1 50327 typ host

a=candidate:2 1 UDP 2122187007 192.168.137.1 50328 typ host

a=candidate:0 2 UDP 2122121470 192.168.20.87 50329 typ host

a=candidate:1 2 UDP 2122252542 192.168.121.1 50330 typ host

a=candidate:2 2 UDP 2122187006 192.168.137.1 50331 typ host

a=sendrecv

a=end-of-candidates

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1

a=ice-pwd:67a97817cdd327e585ebea100c9452a6

a=ice-ufrag:b1523304

a=mid:sdparta_0

a=msid:{6f58105f-d727-47ce-8a21-da2bdbf410b6} {ae6083b9-f6af-4fd7-bd3e-ef63e837f1b1}

a=rtcp:50330 IN IP4 192.168.121.1

a=rtcp-mux

a=rtpmap:109 opus/48000/2

a=rtpmap:9 G722/8000/1

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=setup:actpass

a=ssrc:3064931087 cname:{7fb32195-4a58-4353-9bc1-1ca5b69ec9ad}


+2ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface send() +0ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface received WebSocket message +7ms jssip-2.0.2m.js:22556:8
JsSIP:Transport received text message:

SIP/2.0 100 Trying

Via: SIP/2.0/WSS purf14spvc3p.invalid;branch=z9hG4bK4479673;received=127.0.0.1;rport=46480

From: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

To: <sip:20007@192.168.20.52>

Call-ID: i23900k709tkpf41hvhi

CSeq: 5839 INVITE

User-Agent: FreeSWITCH-mod_sofia/1.4.26-37~32bit

Content-Length: 0




+1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession receiveInviteResponse() +6ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface received WebSocket message +268ms jssip-2.0.2m.js:22556:8
JsSIP:Transport received text message:

SIP/2.0 180 Ringing

Via: SIP/2.0/WSS purf14spvc3p.invalid;branch=z9hG4bK4479673;received=127.0.0.1;rport=46480

From: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

To: <sip:20007@192.168.20.52>;tag=cS0r5FrUv2vSB

Call-ID: i23900k709tkpf41hvhi

CSeq: 5839 INVITE

Contact: <sip:20007@192.168.20.52:5062;transport=udp>

User-Agent: FreeSWITCH-mod_sofia/1.4.26-37~32bit

Accept: application/sdp

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE

Supported: path, replaces

Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer

Content-Length: 0

Remote-Party-ID: "Outbound Call" <sip:20007@192.168.20.52>;party=calling;privacy=off;screen=no




+1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession receiveInviteResponse() +11ms jssip-2.0.2m.js:22556:8
JsSIP:Dialog new UAC dialog created with status EARLY +1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession session progress +0ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface received WebSocket message +737ms jssip-2.0.2m.js:22556:8
JsSIP:Transport received text message:

SIP/2.0 200 OK

Via: SIP/2.0/WSS purf14spvc3p.invalid;branch=z9hG4bK4479673;received=127.0.0.1;rport=46480

From: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

To: <sip:20007@192.168.20.52>;tag=cS0r5FrUv2vSB

Call-ID: i23900k709tkpf41hvhi

CSeq: 5839 INVITE

Contact: <sip:20007@192.168.20.52:5062;transport=udp>

User-Agent: FreeSWITCH-mod_sofia/1.4.26-37~32bit

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE

Supported: path, replaces

Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer

Content-Type: application/sdp

Content-Disposition: session

Content-Length: 843

Remote-Party-ID: "Outbound Call" <sip:20007@192.168.20.52>;party=calling;privacy=off;screen=no



v=0

o=FreeSWITCH 1486517468 1486517469 IN IP4 192.168.20.52

s=FreeSWITCH

c=IN IP4 192.168.20.52

t=0 0

a=msid-semantic: WMS fyQbFCUtLfv3F8MFnfArQMm0F9DByvLE

m=audio 21202 UDP/TLS/RTP/SAVPF 109

a=rtpmap:109 opus/48000/2

a=fmtp:109 useinbandfec=1; maxplaybackrate=48000; stereo=1

a=ptime:20

a=fingerprint:sha-256 D6:E6:DD:D9:EE:EB:4A:B7:D8:4E:48:F6:8A:82:EC:8F:EB:F2:B0:E8:3B:C9:33:3F:FC:6B:89:73:97:8A:88:3A

a=setup:active

a=rtcp-mux

a=rtcp:21202 IN IP4 192.168.20.52

a=ssrc:250089229 cname:UrFpTqIvv4o120xg

a=ssrc:250089229 msid:fyQbFCUtLfv3F8MFnfArQMm0F9DByvLE a0

a=ssrc:250089229 mslabel:fyQbFCUtLfv3F8MFnfArQMm0F9DByvLE

a=ssrc:250089229 label:fyQbFCUtLfv3F8MFnfArQMm0F9DByvLEa0

a=ice-ufrag:5XxMAJD5J6x8r8Cb

a=ice-pwd:p8r9oZuKTJCMzZTvNh7eRA9q

a=candidate:5989554918 1 udp 659136 192.168.20.52 21202 typ host generation 0


+1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession receiveInviteResponse() +10ms jssip-2.0.2m.js:22556:8
JsSIP:Dialog dialog i23900k709tkpf41hvhi6te7a5uilicS0r5FrUv2vSB changed to CONFIRMED state +1ms jssip-2.0.2m.js:22556:8
Tryit: addstream() gui.js:146:9
addstream 0 -i23900k709tkpf41hvhi6te7a5uili gui.js:153:19
JsSIP:RTCSession session accepted +25ms jssip-2.0.2m.js:22556:8
accepted stream 0 -i23900k709tkpf41hvhi6te7a5uili gui.js:121:21
JsSIP:RTCSession sendRequest() +5ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession:Request new | ACK +1ms jssip-2.0.2m.js:22556:8
JsSIP:Transport send() +3ms jssip-2.0.2m.js:22556:8
JsSIP:Transport sending message:

ACK sip:20007@192.168.20.52:5062;transport=udp SIP/2.0

Via: SIP/2.0/WSS purf14spvc3p.invalid;branch=z9hG4bK1447185

Max-Forwards: 69

To: <sip:20007@192.168.20.52>;tag=cS0r5FrUv2vSB

From: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

Call-ID: i23900k709tkpf41hvhi

CSeq: 5839 ACK

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO

Supported: outbound

User-Agent: JsSIP 2.0.2

Content-Length: 0




+0ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface send() +1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession session confirmed +1ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface received WebSocket message +104ms jssip-2.0.2m.js:22556:8
JsSIP:Transport received text message:

BYE sip:dheq7pv9@purf14spvc3p.invalid;transport=ws;ob SIP/2.0

Via: SIP/2.0/WSS 127.0.0.1:7443;branch=z9hG4bK4K7QcQtD3rHSS

Max-Forwards: 70

From: <sip:20007@192.168.20.52>;tag=cS0r5FrUv2vSB

To: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

Call-ID: i23900k709tkpf41hvhi

CSeq: 102933271 BYE

User-Agent: FreeSWITCH-mod_sofia/1.4.26-37~32bit

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE

Supported: path, replaces

Reason: Q.850;cause=27;text="DESTINATION_OUT_OF_ORDER"

Content-Length: 0




+1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession receiveRequest() +6ms jssip-2.0.2m.js:22556:8
JsSIP:Transport send() +1ms jssip-2.0.2m.js:22556:8
JsSIP:Transport sending message:

SIP/2.0 200 OK

Via: SIP/2.0/WSS 127.0.0.1:7443;branch=z9hG4bK4K7QcQtD3rHSS

To: "720002" <sip:720002@192.168.20.52>;tag=6te7a5uili

From: <sip:20007@192.168.20.52>;tag=cS0r5FrUv2vSB

Call-ID: i23900k709tkpf41hvhi

CSeq: 102933271 BYE

Supported: outbound

Content-Length: 0




+0ms jssip-2.0.2m.js:22556:8
JsSIP:WebSocketInterface send() +1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession session ended +1ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession close() +0ms jssip-2.0.2m.js:22556:8
JsSIP:RTCSession close() | closing local MediaStream +1ms jssip-2.0.2m.js:22556:8
JsSIP:Dialog dialog i23900k709tkpf41hvhi6te7a5uilicS0r5FrUv2vSB deleted +1ms jssip-2.0.2m.js:22556:8


Серверный софт - не мой конек. Буду благодарен любым советам.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 фев 2017 17:36 

Зарегистрирован: 22 окт 2015 20:31
Сообщения: 156
Откуда: Киев
Попробуйте обновить OpenSSL до последней версии. Где-то в рассылке это упоминалось.
А вообще да, разработчики браузеров ухитряются ломать webrtc все чаще и чаще.
Да и вообще
Цитата:
02-Jan-2017 The OpenSSL 1.0.1 series of releases are now out of support. Please upgrade to 1.1.0 or 1.0.2.
пруф.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 фев 2017 17:56 

Зарегистрирован: 07 фев 2017 18:05
Сообщения: 5
Спасибо. Попробую, но не уверен, что OpenSSL 1.1.0 или 1.0.2 приживется на 7м Debian. Все идет к тому, чтобы 8й ставить с FreeSwitch 1.6, но это подвиг для всех участников проекта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2017 12:12 

Зарегистрирован: 07 фев 2017 18:05
Сообщения: 5
Поставил OpenSSL 1.1.0d, сгенерил новые серверные ключи. Результат тот же :(
[+] "FS log"
Вложение:
Комментарий к файлу: фрагмент лога FS
fs_dtls_error_70.jpg
fs_dtls_error_70.jpg [ 235.92 КБ | Просмотров: 12403 ]

[+] "PC клиента, фильтр по DTLS"
Вложение:
Комментарий к файлу: PC клиента, фильтр по DTLS
mozilla_pc_dtls_error_70.jpg
mozilla_pc_dtls_error_70.jpg [ 185.79 КБ | Просмотров: 12403 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2017 13:33 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
серт для dtls dtls-srtp.pem сформирован?

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2017 14:07 

Зарегистрирован: 07 фев 2017 18:05
Сообщения: 5
Да, dtls-srtp.pem формируется сложением файлов cacert.pem и cakey.pem. Для сертификата использую слегка исправленный скрипт gentls_cert из комплекта FS 1.6, где добавился subjectAltName с учетом локального IP адреса и алгоритм sha1 поменялся на sha256.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 фев 2017 13:30 

Зарегистрирован: 22 окт 2015 20:31
Сообщения: 156
Откуда: Киев
Боюсь, у вас единственный выход - мигрировать на 1.6 (а если скучно - то на master). WebRTC - это bleeding edge, и неудивительно, что на старом софте он не работает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 фев 2017 16:22 

Зарегистрирован: 07 фев 2017 18:05
Сообщения: 5
Да, спасибо. Похоже, придется переходить на 1.6. Быстро не получится, но о результатах обязательно сообщу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2017 19:35 

Зарегистрирован: 23 авг 2014 11:49
Сообщения: 368
Откуда: Казань
fslearner писал(а):
[+] "PC клиента, фильтр по DTLS"
Вложение:
mozilla_pc_dtls_error_70.jpg

вы показали пакет 672
надо смотреть пакет 673 ибо OpenSSL имеет хоть какой-то интеллект и именно в этом пакете найдете причину чем сертификат не устраивает

есть подозрения на - openssl SERVER HELLO gmt_unix_time is wrong

_________________
Пути IP-пакета неисповедимы


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB