[Home]

Summary:ASTERISK-02522: [patch] Delay member connect to caller
Reporter:Kevin P. Fleming (kpfleming)Labels:
Date Opened:2004-10-03 12:21:34Date Closed:2008-01-15 15:09:04.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) queue_memberdelay-1.patch
( 1) queue_memberdelay-2.patch
( 2) queue_memberdelay-3.patch
Description:When AddQueueMember is used to add members to a queue, calls placed to the member immediately connect the caller to the member (or play the queue announcement to the member). This is different from AgentLogin (where the member is always connected), or AgentCallbackLogin (where the member must acknowledge the queue call before being connected).

This causes a couple of problems:

- the media path may not yet be established, so part of the announcement message can be lost

- the agent may not have the handset up to their ear yet :-)

This patch adds a configurable delay, applied between the agent's channel being brought up and any messages or bridging being done on the channel. The default is for no delay, so there is no behavior change if the option is not used.
Comments:By: Mark Spencer (markster) 2004-10-03 14:35:44

This patch doesn't apply to CVS.  Also, you need to check the result of the safe_sleep since a hangup there would be possible.

By: Mark Spencer (markster) 2004-10-03 15:12:39

And remember to add [patch] to your titles!

By: Kevin P. Fleming (kpfleming) 2004-10-03 15:30:45

rediffed against current CVS

Error checking added for call to ast_safe_sleep, treated the same as if ast_autoservice_stop reports a failure.

By: Mark Spencer (markster) 2004-10-03 16:02:18

Err, hate to send you back again, but you need to do your sleep in the same place that the announce/holdtime is, otherwise you won't have autoservice on the main channel during the pause.

By: Kevin P. Fleming (kpfleming) 2004-10-03 16:12:18

Sorry, that's a newbie mistake... new patch uploaded.

Also, the code I copied that reports a hangup seems to be wrong... it is reacting to an error being returned from the autoservice functions, but if an error is returned it reports that the _agent_ hung up, when in reality it would be the caller that would have hung up (since autoservice is being run on the caller's channel).

By: Mark Spencer (markster) 2004-10-03 16:37:11

Added to CVS, with slight mods

By: Mark Spencer (markster) 2004-10-03 16:37:11

Added to CVS, with slight mods, thanks!

By: Russell Bryant (russell) 2004-10-03 17:48:07

not included in the 1.0 branch

By: Digium Subversion (svnbot) 2008-01-15 15:09:04.000-0600

Repository: asterisk
Revision: 3904

U   trunk/apps/app_queue.c
U   trunk/configs/queues.conf.sample
U   trunk/formats/format_wav_gsm.c

------------------------------------------------------------------------
r3904 | markster | 2008-01-15 15:09:04 -0600 (Tue, 15 Jan 2008) | 2 lines

Merge member delay patch (bug ASTERISK-2522)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=3904