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: 13.21.0-rc1~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=724d926d46d3f9f8df6118cf575d094f9d876f54;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 982fd286e3..26e5c39979 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -3168,7 +3168,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); } }