From: Chris-Savinovich Date: Tue, 10 Apr 2018 01:00:37 +0000 (-0400) Subject: res_pjsip_session: Rewrite o= with external_media_address. X-Git-Tag: 16.0.0-rc1~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0747ac893b277dbcab384607e533732b8e6cc0ef;p=thirdparty%2Fasterisk.git res_pjsip_session: Rewrite o= with external_media_address. It now appends the external IP address on the o= line of the SDP packet. The decision was made to write the numeric IP address as opposed to the RFC that states the FQDN should be used if and when available. We believe the usage of literal IP address will help avoid potential problems. ASTERISK-27614 #close Change-Id: I84f3360f3606b8c4e8d161edb228799ec0b8a302 --- diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index d13b372be4..49ab875682 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -4153,7 +4153,7 @@ static void session_outgoing_nat_hook(pjsip_tx_data *tdata, struct ast_sip_trans if (ast_sip_transport_is_local(transport_state, &our_sdp_addr) || !transport_state->localnet) { ast_debug(5, "Setting external media address to %s\n", ast_sockaddr_stringify_host(&transport_state->external_media_address)); pj_strdup2(tdata->pool, &sdp->conn->addr, ast_sockaddr_stringify_host(&transport_state->external_media_address)); - pj_strdup2(tdata->pool, &sdp->origin.addr, transport->external_media_address); + pj_strassign(&sdp->origin.addr, &sdp->conn->addr); } }