[asterisk-commits] jrose: trunk r371823 - /trunk/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Aug 29 11:44:52 CDT 2012
Author: jrose
Date: Wed Aug 29 11:44:48 2012
New Revision: 371823
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=371823
Log:
chan_sip: Send a manager event to confirm SIPqualifypeer completes
Prior to this patch, Issuing SIPqualifypeer either resulted in an
error or if it succeeded, a few \r\ns. This patch adds a
SIPqualifypeerComplete event issued as a response when the command
is successfully executed.
(closes issue AST-969)
Reported by: John Bigelow
Modified:
trunk/channels/chan_sip.c
Modified: trunk/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_sip.c?view=diff&rev=371823&r1=371822&r2=371823
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed Aug 29 11:44:48 2012
@@ -18934,6 +18934,14 @@
struct sip_peer *peer;
int load_realtime;
+ const char *id = astman_get_header(m,"ActionID");
+ char idText[256] = "";
+
+ if (!ast_strlen_zero(id)) {
+ snprintf(idText, sizeof(idText), "ActionID: %s\r\n", id);
+ }
+
+
if (argc < 4)
return CLI_SHOWUSAGE;
@@ -18943,9 +18951,20 @@
sip_unref_peer(peer, "qualify: done with peer");
} else if (type == 0) {
ast_cli(fd, "Peer '%s' not found\n", argv[3]);
+ return CLI_SUCCESS;
} else {
astman_send_error(s, m, "Peer not found");
- }
+ return CLI_SUCCESS;
+ }
+
+ if (type != 0) {
+ astman_append(s,
+ "Event: SIPqualifypeerComplete\r\n"
+ "%s"
+ "\r\n",
+ idText);
+ }
+
return CLI_SUCCESS;
}
@@ -18966,7 +18985,6 @@
a[3] = peer;
_sip_qualify_peer(1, -1, s, m, 4, a);
- astman_append(s, "\r\n\r\n" );
return 0;
}
More information about the asterisk-commits
mailing list