app_queue: AgentComplete event has wrong reason
authorKevin Harwell <kharwell@digium.com>
Thu, 17 Sep 2015 21:47:33 +0000 (16:47 -0500)
committerKevin Harwell <kharwell@digium.com>
Thu, 17 Sep 2015 21:58:15 +0000 (16:58 -0500)
commit729a4325da9a79086c8e8551b089b3e167df3172
tree571149427103fd7ccd01ce1ab8d8445983d1ec21
parente47396721f9c73b16ac7c7632dcd530f4e5b06c7
app_queue: AgentComplete event has wrong reason

When a queued caller transfers an agent to another extension sometimes the
raised AgentComplete event has a reason of "caller" and sometimes "transfer".
Since a transfer has taken place this should always be transfer. This occurs
because sometimes the stasis hangup event arrives before the transfer event
thus writing a different reason out.

With this patch, when a hangup event is received during a transfer it will
check to see if the channel that is hanging up is part of a transfer. If so
it will return and let the subsequently received transfer event handler take
care of the cleanup.

ASTERISK-25399 #close

Change-Id: Ic63c49bd9a5ed463ea7a032fd2ea3d63bc81a50d
apps/app_queue.c