res_rtp_asterisk: Ensure that the base and mapped address for candidates is present...
authorJoshua Colp <jcolp@digium.com>
Tue, 30 Sep 2014 11:36:14 +0000 (11:36 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 30 Sep 2014 11:36:14 +0000 (11:36 +0000)
This change fixes an issue where ICE candidates put into the SDP did not contain
the 'raddr' and 'rport' information for server reflexive and relay candidates.

#SIPit31
........

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

Merged revisions 424152 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 424153 from http://svn.asterisk.org/svn/asterisk/branches/13

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

res/res_rtp_asterisk.c

index bf65ec0..5400ef8 100644 (file)
@@ -1151,7 +1151,7 @@ static void ast_rtp_ice_turn_request(struct ast_rtp_instance *instance, enum ast
        pj_turn_sock_get_info(*turn_sock, &info);
 
        ast_rtp_ice_add_cand(rtp, component, conn_transport, PJ_ICE_CAND_TYPE_RELAYED, 65535, &info.relay_addr,
-               &info.relay_addr, NULL, pj_sockaddr_get_len(&info.relay_addr));
+               &info.relay_addr, &info.mapped_addr, pj_sockaddr_get_len(&info.relay_addr));
 
        if (component == AST_RTP_ICE_COMPONENT_RTP) {
                ast_sockaddr_copy(&rtp->rtp_loop, &loop);
@@ -2290,7 +2290,7 @@ static void rtp_add_candidates_to_ice(struct ast_rtp_instance *instance, struct
                        pj_sockaddr_init(pj_AF_INET(), &address[0], &mapped, ntohs(answer.sin_port));
 
                        ast_rtp_ice_add_cand(rtp, component, transport, PJ_ICE_CAND_TYPE_SRFLX, 65535, &address[0], &base,
-                                            NULL, pj_sockaddr_get_len(&address[0]));
+                                            &base, pj_sockaddr_get_len(&address[0]));
                }
        }