LINUX.ORG.RU
ФорумJob

Debug&fix DTLS conn. establ. in Linphone mobile app

 ,


1

2

Кто-нибудь кодил низкоуровневый код по теме DTLS-соединений?

Срочно нужно исследовать баг плавающего характера, и, вероятно, поправить реализацию в Linphone, с разрабами контакт есть, но они морозятся.

Баг в том, что rtpengine на сервере считает, что DTLS handshake удался, а линфон считает, что нет, и безуспешно повторяет попытки заново установить соединение. При этом по траффику видно, что в самом начале звонка Linphone шлёт аж две штуки Client Hello, почти одновременно. Возможно, он делает это зря и получается race condition.

Всё осложняется старой версией PolarSSL, с использованием которой написан этот код в Linphone.

По запросу дам логи, дампы, SIP-учётку для тестов.

PS Жаль, что тэга bounty нету.

Я правильно понимаю, что Linphone пытается зарегестироваться на Kamailio? Какие версии ПО и как настроен SIP-registrar?

engine
()
Ответ на: комментарий от engine

Он не пытается, он успешно регается. Да, на камалио.

Версии - git master HEAD. Настроен регистрар принимать коннекты на всех протоколах - UDP, TCP, TLS, WS, WSS, но это к делу никак не относится.

Дело в DTLS соединении для передачи RTP-потоков. Проблему можно словить как на настройках с посредничеством rtpengine для передачи данных (с перешифровыванием), так и когда rtpengine не перешифровывает, а пересылает и сами DTLS сообщения.

Krieger_Od ★★
() автор топика
Ответ на: комментарий от Krieger_Od

вообще у нас по теме экспериментальный эвристический фикс готов, да и разрабы линфона начали разбираться, но если вы специалист, всё равно было бы интересно познакомиться на случай надобности.

Krieger_Od ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.