Un-top-posting...

On Sat, 5 Jun 2010, Adil Zaaraoui wrote:

> I want to write an AGI script doing this:
>
> 1-user call a number.
> 2-asterisk call the agi script
> 3-the script dial the peer
> 4-if the call is answered, let the call up for 1min
> 5-then the script hangs up the channel.

On Sun, 6 Jun 2010, Adil Zaaraoui wrote:

1- yes i need to call my agi script; because i have to process some tasks with my DBMS on the caller.

Can you set an absolute timeout either in your script or before you call your script?

2- yes it is my first script,  "While very simple, the AGI protocol is easy to violate" i did not get your meaning.

The AGI protocol is implemented by issuing requests and receiving responses via STDOUT and STDIN respectively. (FastAGI uses network sockets.)

Most programmer's first "fail" is not reading the AGI environment from STDIN first. Next, they fail to realize that for every request, they must read the response. Lastly, they try to debug their AGI by reading something from STDIN or writing something to STDOUT, not remembering that STDIN and STDOUT are "connected" to Asterisk, not their console.

I always recommend that programmers use an existing library rather than developing their own. The chance of success is much higher.

Most AGI problems I have seen (mine and others) can be resolved by understanding the above and enabling AGI debugging on the console and observing the output.

So do you have a perfect solution?

There are no perfect solutions :)

Setting an absolute timeout sounds pretty good to me. It's simple and obvious.

You may consider setting a channel variable with the peer dial string in your AGI and keeping the "dial" command in the dialplan. It seems like a better approach to me, but then I've only had 1 cup of tea this morning and can't explain why coherently.

--
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards       sedwa...@sedwards.com      Voice: +1-760-468-3867 PST
Newline                                              Fax: +1-760-731-3000
-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to