summaryrefslogtreecommitdiff
path: root/res/res_pjsip_session.c
diff options
context:
space:
mode:
authorAlexander Traud <pabstraud@compuserve.com>2017-10-13 16:43:12 +0200
committerAlexander Traud <pabstraud@compuserve.com>2017-10-14 06:13:55 -0500
commitdcbf61a31e5a86452e6dd05948b10a024c6069af (patch)
tree13858404223152e12cf802f4797ad22ef6e05253 /res/res_pjsip_session.c
parent6fc88e80e88502015082e175d8b5735c3cd84267 (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
Diffstat (limited to 'res/res_pjsip_session.c')
-rw-r--r--res/res_pjsip_session.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index eb1612516..c53d52d71 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -3136,6 +3136,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);
}
}