mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-12 04:48:51 +00:00
Merge "chan_sip: Do not change IP address in SDP origin line (o=) in SIP reINVITE"
This commit is contained in:
@@ -13570,12 +13570,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);
|
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",
|
snprintf(owner, sizeof(owner), "o=%s %d %d IN %s %s\r\n",
|
||||||
ast_strlen_zero(global_sdpowner) ? "-" : global_sdpowner,
|
ast_strlen_zero(global_sdpowner) ? "-" : global_sdpowner,
|
||||||
p->sessionid, p->sessionversion,
|
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",
|
"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",
|
snprintf(connection, sizeof(connection), "c=IN %s %s\r\n",
|
||||||
(ast_sockaddr_is_ipv6(&dest) && !ast_sockaddr_is_ipv4_mapped(&dest)) ?
|
(ast_sockaddr_is_ipv6(&dest) && !ast_sockaddr_is_ipv4_mapped(&dest)) ?
|
||||||
|
|||||||
Reference in New Issue
Block a user