summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJenkins2 <jenkins2@gerrit.asterisk.org>2017-09-07 13:05:42 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-09-07 13:05:42 -0500
commitbab59a8190722010f4428d80feab45ec3dc945ce (patch)
tree50d75a0dc3a1c0df79ddfab5ab0d5b65e94fbae8 /channels
parent1161fce1a16d7e8a736f33f52a14d24bceb05238 (diff)
parent597d1f89510145b94e12afa7fcf71f3901c66ca7 (diff)
Merge "chan_sip: Do not change IP address in SDP origin line (o=) in SIP reINVITE" into 13
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b19c66915..097c55078 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -13512,12 +13512,13 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
get_our_media_address(p, needvideo, needtext, &addr, &vaddr, &taddr, &dest, &vdest, &tdest);
+ /* We don't use dest here but p->ourip because address in o= field must not change in reINVITE */
snprintf(owner, sizeof(owner), "o=%s %d %d IN %s %s\r\n",
ast_strlen_zero(global_sdpowner) ? "-" : global_sdpowner,
p->sessionid, p->sessionversion,
- (ast_sockaddr_is_ipv6(&dest) && !ast_sockaddr_is_ipv4_mapped(&dest)) ?
+ (ast_sockaddr_is_ipv6(&p->ourip) && !ast_sockaddr_is_ipv4_mapped(&p->ourip)) ?
"IP6" : "IP4",
- ast_sockaddr_stringify_addr_remote(&dest));
+ ast_sockaddr_stringify_addr_remote(&p->ourip));
snprintf(connection, sizeof(connection), "c=IN %s %s\r\n",
(ast_sockaddr_is_ipv6(&dest) && !ast_sockaddr_is_ipv4_mapped(&dest)) ?