[asterisk-dev] app_dial.c - multiple dials - M option - ANSWEREDTIME
plugworld at micnes.com
Thu Jul 31 10:37:43 CDT 2008
Here is the situation we have.
When somebody call extension 1000, we start AGI 'agicaller.php'
that will try to call 10 people one after another.
For each person, if the other party answer the channel, with option
we check if the other person accept the call and if yes, we connect both
If not, we try the next person and so on.
Now, after looking at app_dial.c, I realize that,
ANSWEREDTIME is not set to 0 when we enter dial application and is setup
only when after the BRIDGE.
So, if somebody reject the call and the agicallee.php macro setup
MACRO_RESULT to CONGESTION, the
DIALSTATUS is set to ANSWERED but ANSWEREDTIME is not reset and have the
same value as the last Dial that was made by that call.
I think :
1. Everytime, we enter dial_exec_full, we should reset ANSWEREDTIME to 0
2. Setup ANSWEREDTIME for every situation where the call was answered,
not only when it was bridge.
Because the agicallee.php can take 5 minutes to execute and set
MACRO_RESULT to CONGESTION after all.
I hope I was enough clear in my explanations.
More information about the asterisk-dev