[asterisk-dev] app_dial.c - multiple dials - M option - ANSWEREDTIME

Ruddy Gbaguidi plugworld at micnes.com
Thu Jul 31 10:37:43 CDT 2008


Hi all.
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 
M(agicallee.php),
we check if the other person accept the call and if yes, we connect both 
parties.
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.
Thanks.





More information about the asterisk-dev mailing list