summaryrefslogtreecommitdiff
path: root/main/manager.c
diff options
context:
space:
mode:
authorpchero <pchero21@gmail.com>2015-12-08 20:04:12 +0100
committerJoshua Colp <jcolp@digium.com>2015-12-15 05:42:50 -0600
commit52ca6fb94a63c32886bd5f862fe6c2e0e572d02b (patch)
treeabe1bae5ce3335b1d0263d0534484d9135a45152 /main/manager.c
parenteccdf2250b066fb8d67b38c096da444417a8da22 (diff)
AMI: Fixed OriginateResponse message
When the asterisk sending OriginateResponse message, it doesn't set the "Uniqueid". And it didn't support correct response message for Application originate. ASTERISK-25624 #close Change-Id: I26f54f677ccfb0b7cfd4967a844a1657fd69b74d
Diffstat (limited to 'main/manager.c')
-rw-r--r--main/manager.c55
1 files changed, 39 insertions, 16 deletions
diff --git a/main/manager.c b/main/manager.c
index d6aadf4ec..544f4fdcd 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -659,6 +659,8 @@ ASTERISK_REGISTER_FILE()
<parameter name="Channel"/>
<parameter name="Context"/>
<parameter name="Exten"/>
+ <parameter name="Application"/>
+ <parameter name="Data"/>
<parameter name="Reason"/>
<parameter name="Uniqueid"/>
<parameter name="CallerIDNum"/>
@@ -4993,22 +4995,43 @@ static void *fast_originate(void *data)
}
/* Tell the manager what happened with the channel */
chans[0] = chan;
- ast_manager_event_multichan(EVENT_FLAG_CALL, "OriginateResponse", chan ? 1 : 0, chans,
- "%s"
- "Response: %s\r\n"
- "Channel: %s\r\n"
- "Context: %s\r\n"
- "Exten: %s\r\n"
- "Reason: %d\r\n"
- "Uniqueid: %s\r\n"
- "CallerIDNum: %s\r\n"
- "CallerIDName: %s\r\n",
- in->idtext, res ? "Failure" : "Success",
- chan ? ast_channel_name(chan) : requested_channel, in->context, in->exten, reason,
- chan ? ast_channel_uniqueid(chan) : "<null>",
- S_OR(in->cid_num, "<unknown>"),
- S_OR(in->cid_name, "<unknown>")
- );
+ if (!ast_strlen_zero(in->app)) {
+ ast_manager_event_multichan(EVENT_FLAG_CALL, "OriginateResponse", chan ? 1 : 0, chans,
+ "%s"
+ "Response: %s\r\n"
+ "Channel: %s\r\n"
+ "Application: %s\r\n"
+ "Data: %s\r\n"
+ "Reason: %d\r\n"
+ "Uniqueid: %s\r\n"
+ "CallerIDNum: %s\r\n"
+ "CallerIDName: %s\r\n",
+ in->idtext, res ? "Failure" : "Success",
+ chan ? ast_channel_name(chan) : requested_channel,
+ in->app, in->appdata, reason,
+ chan ? ast_channel_uniqueid(chan) : S_OR(in->channelid, "<unknown>"),
+ S_OR(in->cid_num, "<unknown>"),
+ S_OR(in->cid_name, "<unknown>")
+ );
+ } else {
+ ast_manager_event_multichan(EVENT_FLAG_CALL, "OriginateResponse", chan ? 1 : 0, chans,
+ "%s"
+ "Response: %s\r\n"
+ "Channel: %s\r\n"
+ "Context: %s\r\n"
+ "Exten: %s\r\n"
+ "Reason: %d\r\n"
+ "Uniqueid: %s\r\n"
+ "CallerIDNum: %s\r\n"
+ "CallerIDName: %s\r\n",
+ in->idtext, res ? "Failure" : "Success",
+ chan ? ast_channel_name(chan) : requested_channel,
+ in->context, in->exten, reason,
+ chan ? ast_channel_uniqueid(chan) : S_OR(in->channelid, "<unknown>"),
+ S_OR(in->cid_num, "<unknown>"),
+ S_OR(in->cid_name, "<unknown>")
+ );
+ }
/* Locked and ref'd by ast_pbx_outgoing_exten or ast_pbx_outgoing_app */
if (chan) {