chan_sip: Use video and text crypto attributes to append RTP profiles to SDP
authorJonathan Rose <jrose@digium.com>
Fri, 15 Feb 2013 17:33:32 +0000 (17:33 +0000)
committerJonathan Rose <jrose@digium.com>
Fri, 15 Feb 2013 17:33:32 +0000 (17:33 +0000)
Some bad copy/pasting resulted in using the audio crypto attribute for both
text and video RTP. Also the audio crypto isn't set until after these, so it
was really just bad all around.

(closes ASTERISK-20905)
Reported by: Kristopher Lalletti
patches:
rtp_crypto_video_text.diff uploaded by Jonathan Rose (license 6182)
........

Merged revisions 381553 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381556 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index f6c8b90..ab30761 100644 (file)
@@ -13165,7 +13165,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
                if (needvideo) {
                        get_crypto_attrib(p, p->vsrtp, &v_a_crypto);
                        ast_str_append(&m_video, 0, "m=video %d %s", ast_sockaddr_port(&vdest),
-                                      get_sdp_rtp_profile(p, a_crypto ? 1 : 0, p->vrtp));
+                                      get_sdp_rtp_profile(p, v_a_crypto ? 1 : 0, p->vrtp));
 
                        /* Build max bitrate string */
                        if (p->maxcallbitrate)
@@ -13190,7 +13190,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
                                ast_verbose("Lets set up the text sdp\n");
                        get_crypto_attrib(p, p->tsrtp, &t_a_crypto);
                        ast_str_append(&m_text, 0, "m=text %d %s", ast_sockaddr_port(&tdest),
-                                      get_sdp_rtp_profile(p, a_crypto ? 1 : 0, p->trtp));
+                                      get_sdp_rtp_profile(p, t_a_crypto ? 1 : 0, p->trtp));
                        if (debug) {  /* XXX should I use tdest below ? */
                                ast_verbose("Text is at %s\n", ast_sockaddr_stringify(&taddr));
                        }