21 lines
898 B
Diff
21 lines
898 B
Diff
--- channels/chan_sip-orig.c 2013-04-12 11:00:22.000000000 -0400
|
|
+++ channels/chan_sip.c 2013-04-12 17:18:33.000000000 -0400
|
|
@@ -13879,8 +13879,16 @@
|
|
sipmethod = find_sip_method(msg);
|
|
|
|
owner = p->owner;
|
|
- if (owner)
|
|
+ if (owner) {
|
|
+ /* 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, p->owner->cid.cid_name, p->owner->uniqueid, resp, rest);
|
|
+
|
|
owner->hangupcause = hangup_sip2cause(resp);
|
|
+ } else {
|
|
+ if ((resp >= 400) && (resp <= 900))
|
|
+ manager_event(EVENT_FLAG_SYSTEM, "SIP-Response", "ChannelDriver: SIP\r\nMethod: %s\r\nResult: %i|%s\r\n", sip_methods[sipmethod].text, resp, rest);
|
|
+ }
|
|
|
|
/* Acknowledge whatever it is destined for */
|
|
if ((resp >= 100) && (resp <= 199)) {
|