summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorAutomerge script <automerge@asterisk.org>2013-01-04 22:19:35 +0000
committerAutomerge script <automerge@asterisk.org>2013-01-04 22:19:35 +0000
commit77150eecd97cddd28744f9b8d0fe3d69ad774803 (patch)
tree5245274a0226f83a6d7329075b0e8b6a8de195e3 /channels
parent98fe9186254d9e43ede353a04f47a428b5d6c8ab (diff)
Merged revisions 378565,378585 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk ................ r378565 | elguero | 2013-01-04 15:20:12 -0600 (Fri, 04 Jan 2013) | 27 lines Fix SIP Notify Messages To Have The Proper IP Address In The FROM Field On a multihomed server when sending a NOTIFY message, we were not figuring out which network should be used to contact the peer. This patch fixes the problem by calling ast_sip_ouraddrfor() and then build_via() so that our NOTIFY message contains the correct IP address. Also, a debug message is being added to help follow the call-id changes that occur. This was helpful for confirming that the IP address was set properly since the call-id contains the IP address. It also will be helpful for troubleshooting purposes when following a call in the debug logs. (closes issue ASTERISK-20805) Reported by: Bryan Hunt Tested by: Bryan Hunt, Michael L. Young Patches: asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2255/ ........ Merged revisions 378554 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378559 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378585 | kmoore | 2013-01-04 16:19:16 -0600 (Fri, 04 Jan 2013) | 13 lines Fix pjproject compilation in certain circumstances On a fresh checkout of Asterisk 11, running make before ./configure could cause the pjproject subdirectory to get in an odd state that would prevent compilation. This patch by Tilghman prevents that from occurring. (closes issue ASTERISK-20681) Patch-by: Tilghman Lesher ........ Merged revisions 378582 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 18c14eacd..528403d8a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -8553,6 +8553,7 @@ static void change_callid_pvt(struct sip_pvt *pvt, const char *callid)
{
int in_dialog_container;
int in_rtp_container;
+ char *oldid = ast_strdupa(pvt->callid);
ao2_lock(dialogs);
ao2_lock(dialogs_rtpcheck);
@@ -8573,6 +8574,10 @@ static void change_callid_pvt(struct sip_pvt *pvt, const char *callid)
}
ao2_unlock(dialogs_rtpcheck);
ao2_unlock(dialogs);
+
+ if (strcmp(oldid, pvt->callid)) {
+ ast_debug(1, "SIP call-id changed from '%s' to '%s'\n", oldid, pvt->callid);
+ }
}
/*! \brief Build SIP Call-ID value for a REGISTER transaction */
@@ -21553,7 +21558,12 @@ static char *sip_cli_notify(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
}
}
- /* Recalculate our side, and recalculate Call ID */
+ /* Now that we have the peer's address, set our ip and change callid */
+ ast_sip_ouraddrfor(&p->sa, &p->ourip, p);
+ build_via(p);
+
+ change_callid_pvt(p, NULL);
+
ast_cli(a->fd, "Sending NOTIFY of type '%s' to '%s'\n", a->argv[2], a->argv[i]);
sip_scheddestroy(p, SIP_TRANS_TIMEOUT);
transmit_invite(p, SIP_NOTIFY, 0, 2, NULL);