mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
chan_sip.c: AMI & CLI notify methods get different values of asterisk's own ip.
When I ask asterisk to send a SIP NOTIFY message to a sip peer using either a) AMI action: SIPnotify or b) cli command: sip notify <cmd> <peer>, I expect asterisk to include the same value for its own ip in both cases a) and b), but it seems a) produces a contact header like Contact: <sip:asterisk@192.168.1.227:8060> whereas b) produces a contact header like <sip:asterisk@127.0.0.1:8060>. 0.0.0.0:8060 is my udpbindaddr in sip.conf My guess is that manager_sipnotify should call ast_sip_ouraddrfor(&p->sa, &p->ourip, p) the same way sip_cli_notify does, because after applying this patch, both cases a) and b) produce the contact header that I expect: <sip:asterisk@192.168.1.227:8060> Reported by: Stefan Engström Tested by: Stefan Engström Change-Id: I86af5e209db64aab82c25417de6c768fb645f476
This commit is contained in:
@@ -15159,6 +15159,12 @@ static int manager_sipnotify(struct mansession *s, const struct message *m)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 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);
|
||||||
|
|
||||||
sip_scheddestroy(p, SIP_TRANS_TIMEOUT);
|
sip_scheddestroy(p, SIP_TRANS_TIMEOUT);
|
||||||
transmit_invite(p, SIP_NOTIFY, 0, 2, NULL);
|
transmit_invite(p, SIP_NOTIFY, 0, 2, NULL);
|
||||||
dialog_unref(p, "bump down the count of p since we're done with it.");
|
dialog_unref(p, "bump down the count of p since we're done with it.");
|
||||||
|
Reference in New Issue
Block a user