diff options
author | pchero <pchero21@gmail.com> | 2015-12-08 20:04:12 +0100 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2015-12-15 05:42:50 -0600 |
commit | 52ca6fb94a63c32886bd5f862fe6c2e0e572d02b (patch) | |
tree | abe1bae5ce3335b1d0263d0534484d9135a45152 /main/manager.c | |
parent | eccdf2250b066fb8d67b38c096da444417a8da22 (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.c | 55 |
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) { |