42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
diff -Naur asterisk-1.8.19.0-vici-beta.old/channels/chan_sip.c asterisk-1.8.19.0-vici-beta/channels/chan_sip.c
|
|
--- asterisk-1.8.19.0-vici-beta.old/channels/chan_sip.c 2012-12-05 12:43:37.000000000 -0500
|
|
+++ asterisk-1.8.19.0-vici-beta/channels/chan_sip.c 2013-04-17 13:54:35.000000000 -0400
|
|
@@ -21462,6 +21462,20 @@
|
|
if (owner) {
|
|
const char *rp = NULL, *rh = NULL;
|
|
|
|
+ /* Send manager event for sip hangup cause code */
|
|
+ if ((resp >= 400) && (resp <= 900))
|
|
+ manager_event(
|
|
+ EVENT_FLAG_SYSTEM,
|
|
+ "SIP-Hangup-Cause",
|
|
+ "ChannelDriver: SIP\r\nChannel: %s\r\nCallerIDName: %s\r\nUniqueid: %s\r\nResult: %i|%s\r\n",
|
|
+ p->owner->name,
|
|
+ S_COR(p->owner->caller.id.name.valid, p->owner->caller.id.name.str, "<unknown>"),
|
|
+ p->owner->uniqueid,
|
|
+ resp,
|
|
+ rest
|
|
+ );
|
|
+
|
|
+
|
|
owner->hangupcause = 0;
|
|
if (ast_test_flag(&p->flags[1], SIP_PAGE2_Q850_REASON) && (rh = get_header(req, "Reason"))) {
|
|
rh = ast_skip_blanks(rh);
|
|
@@ -21477,6 +21491,16 @@
|
|
|
|
if (!owner->hangupcause)
|
|
owner->hangupcause = hangup_sip2cause(resp);
|
|
+ } else {
|
|
+ /* Send manager event for sip hangup cause code */
|
|
+ manager_event(
|
|
+ EVENT_FLAG_SYSTEM,
|
|
+ "SIP-Response",
|
|
+ "ChannelDriver: SIP\r\nMethod: %s\r\nResult: %i|%s\r\n",
|
|
+ sip_methods[sipmethod].text,
|
|
+ resp,
|
|
+ rest
|
|
+ );
|
|
}
|
|
|
|
if (p->socket.type == SIP_TRANSPORT_UDP) {
|