Merge "app_confbridge: Fix ConfbridgeTalking AMI event description."
authorJoshua Colp <jcolp@digium.com>
Sat, 18 Mar 2017 00:49:21 +0000 (19:49 -0500)
committerGerrit Code Review <gerrit2@gerrit.digium.api>
Sat, 18 Mar 2017 00:49:21 +0000 (19:49 -0500)
res/res_pjsip_sdp_rtp.c

index 9f39256..ed91de2 100644 (file)
@@ -196,6 +196,20 @@ static int create_rtp(struct ast_sip_session *session, struct ast_sip_session_me
        if (session->endpoint->media.bind_rtp_to_media_address && !ast_strlen_zero(session->endpoint->media.address)) {
                ast_sockaddr_parse(&temp_media_address, session->endpoint->media.address, 0);
                media_address = &temp_media_address;
+       } else {
+               struct ast_sip_transport *transport =
+                       ast_sorcery_retrieve_by_id(ast_sip_get_sorcery(), "transport",
+                                                                          session->endpoint->transport);
+
+               if (transport && transport->state) {
+                       char hoststr[PJ_INET6_ADDRSTRLEN];
+
+                       pj_sockaddr_print(&transport->state->host, hoststr, sizeof(hoststr), 0);
+                       ast_debug(1, "Transport: %s bound to host: %s, using this for media.\n",
+                                         session->endpoint->transport, hoststr);
+                       ast_sockaddr_parse(media_address, hoststr, 0);
+               }
+               ao2_cleanup(transport);
        }
 
        if (!(session_media->rtp = ast_rtp_instance_new(session->endpoint->media.rtp.engine, sched, media_address, NULL))) {
@@ -217,7 +231,7 @@ static int create_rtp(struct ast_sip_session *session, struct ast_sip_session_me
        }
 
        if (!strcmp(session_media->stream_type, STR_AUDIO) &&
-                       (session->endpoint->media.tos_audio || session->endpoint->media.cos_video)) {
+                       (session->endpoint->media.tos_audio || session->endpoint->media.cos_audio)) {
                ast_rtp_instance_set_qos(session_media->rtp, session->endpoint->media.tos_audio,
                                session->endpoint->media.cos_audio, "SIP RTP Audio");
        } else if (!strcmp(session_media->stream_type, STR_VIDEO) &&