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

Stefan Engström (JIRA) noreply at issues.asterisk.org
Tue Dec 22 04:49:33 CST 2015


Stefan Engström created ASTERISK-25642:
------------------------------------------

             Summary: 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


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 media. 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