[asterisk-bugs] [JIRA] (ASTERISK-25642) res_rtp_asterisk: SRTCP broken with DTLS - bad video is one of the consequences

Jacek Konieczny (JIRA) noreply at issues.asterisk.org
Fri Mar 25 11:02:56 CDT 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-25642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=230030#comment-230030 ] 

Jacek Konieczny commented on ASTERISK-25642:
--------------------------------------------

I have made a patch to fix this: https://gerrit.asterisk.org/2468

It changes rtp_engine API and ABI a bit, I am not sure how much it matters.

> res_rtp_asterisk: SRTCP broken with DTLS  - bad video is one of the consequences
> --------------------------------------------------------------------------------
>
>                 Key: ASTERISK-25642
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25642
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_rtp_asterisk, Resources/res_srtp
>    Affects Versions: 13.5.0
>         Environment: fedora20.x86_64 , libsrtp 1.4.4 , chan_sip webrtc peers
>            Reporter: Stefan Engström
>              Labels: dtls, encryption, rtcp, video
>
> symtoms: When dialing webrtc peers, asterisk gets lots  warning logs SRTP unprotect failed with: authentication failure 110 upon receiving rtcp and the webrtc client also gets unprotect failures - in particular when trying to unprotect RTCP FIR which asterisk send on vp8-capable channels. This means bad video.
> When dialing sipml chan_sip chrome webrtc peers, we do not mux rtcp and rtp, so there is a seperate dtls handshake for rtcp and rtp for both audio and video. In res_rtp_asterisk.c we extract keying materials from the rtp-dtls-session (to be used for srtp) when the handshake is complete, but we do nothing with the results of the rtcp->dtls handshake. The extracted key from rtp->dtls is passed to libsrtp in res_srtp.c via the srtp_policy_t struct but from the struct reference for that in http://srtp.sourceforge.net/libsrtp.pdf it looks like it is not possible to supply different keys for rtp and rtcp? 
> So, can anyone think of a solution or work-around?



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list