diff options
author | Alexander Traud <pabstraud@compuserve.com> | 2017-10-13 16:43:12 +0200 |
---|---|---|
committer | Alexander Traud <pabstraud@compuserve.com> | 2017-10-14 06:14:06 -0500 |
commit | 39c83d30d12c9a634e5bd7eaee8422bb2a9c62a2 (patch) | |
tree | cf2ecfc67d8ddd7bd12de60cc6013e1cf69d2be3 | |
parent | 49759a578278779525cbcae72c1dd6946cf0f8d4 (diff) |
res_pjsip_session: Rewrite o= with external_media_address.
PJSIP allows a domain name as external_media_address. This allows chan_pjsip to
be used behind a NAT with changing IP addresses. The IP address of that domain
is resolved to the c= line already. This change sets also the o= line to that
domain.
ASTERISK-27341 #close
Change-Id: I690163b6e762042ec38b3995aa5c9bea909d8ec4
-rw-r--r-- | res/res_pjsip_session.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index d8789ae52..37ff53105 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -4006,6 +4006,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); } } |