Pause after answered call?

I use Asterisk 1.4.29 an FreePBX 2.7.0.

I need to configure a pause after a completed call, so that the agent is not available for 60 seconds.

Unfortunately i cant use a queue with wrapuptime because this is illegal for 0900 numbers in germany.

Is there a way to reach this for extensions or ringgroups too?

I hoped i could implement some kind of “Wait(60)” or set agent to DND for 60 seconds after a call?

Why would the atlernative mechanism be just as illegal? Presumably the intent of the law is to minimise the time that the caller is waiting, after the public network operator starts billing.

0900 are german service numbers which are at 1,24€/minute (or even more).

For such numbers its no allowed to put your customers in a queue.

If you do you´ll get a cease-and-desist order and have to pay a penalty.

Therefore i need some kind of workaround…

The only workaround that is likely to be legally acceptable is one that doesn’t answer the call at the public network level until the agent is ready.

The solution to that seems, to me, to be orthogonal to queues and wrapuptime. Although you would have to verify that:

  1. the legislation is drafted in terms of the caller being charged, not in terms of technical measures;

  2. the telephone company doesn’t charge until the call is answered;

  3. the following achieves deferring of answering:

you should be able to configure a queue that uses ringing, rather than music on hold, not play any initial announcements, and still be able to use wrapuptime.

Thanks for your answer :smile:

I allready tried using “Ringing Instead of MoH” but my testcall was charged to the bill :frowning:

Does using of queues not every time answer a call? Can i prevent this somehow?

I cannot see anything in app_queue.c, for, that would go off hook if you specified ringing, on the Queue applicaton call, and made sure there were no queue progress or annoucement messages enabled. Running a test to see whether it actually answers early would take more time than I can spare.

Which version of Asterisk are you using?

I use Asterisk 1.4.29 and FreePBX

When the queue rings (no agent avialable because of wrapuptime) i can see an answer in the log:

That’s the result of your Asterisk GUI (FreePBX). There is no need to call Answer before calling Queue.

Thanks for the hint.

I try to get rid of this.

After some testing with de deleted answer part in a queue extension a problem showed up.

The queue call is canceled after a minute.

Is there no other way to implemt a “pause after call”?

Queues will only timeout if they are configured to do so. Are you sure your network operator isn’t timing out the call (I think BT time out ringing calls after about six minutes).

Why can’t the operator just ignore the phone whilst wrapping up, if you haven’t answered the incoming call.

Yes, im sure because it works if i let the answer part untuched.

The operators are annoyed by the ring sound :-/

If you leave the answer part untouched, any timer on ringing, imposed by the network operator, will be cancelled by the Answer.

In principle you could use the h extension to capture the end time for the last call, and introduce a wait before the Answer and Dial for incoming call, but that is something that will require extensive work on the actual dialplan, not something you can do with the GUI, and queues should do this more easily, if the network operator allows you do do it at all.

I currently use the queues without answer part, because its not a big problem for me if it rings only a minute. Most customers dont wait this long when itzs ringing and nobody answers the phone.

I only have a last problem now.

My custom vars are not available in the queue.

exten => _X.,1,NoOp(Set custom Vars)
exten => _X.,n,Set(_MY_CALLER=${CALLERID(num)}|_MY_CALLED=${EXTEN})

Its not a problem to access these vars in aa ringgroup but not in the queue.

It only works if i us global vars like:

exten => _X.,1,NoOp(Set custom Vars)
exten => _X.,n,Set(__MY_CALLER=${CALLERID(num)}|__MY_CALLED=${EXTEN})

Could this be a problem if i have several concurrent calls?

From the dialplan you have posted I understand that you are talking about inheritance of the channel variables.

from voip-info:

[quote]Inheritance of Channel Variables
Prepending a single _ character to a variables name in SetVar will cause that variable to be inherited by channels created by the main channel. eg. when using Dial(Local/…); once inherited these variables will not be further inherited. Prepending two _ characters will cause them to be inherited indefinitely.[/quote]

In my opinion you could use it without any problems despite on how many simultaneous calls you have. As usual you have to made your own tests of the dialplan but I am sure you will not have any problems.


Thanks again.

My fear was, that the global vars are used in all channels and therefore a second call could overwrite the vars of first call.