On Apr 28, 2010, at 11:30 AM, Steve Edwards wrote: > On Wed, 28 Apr 2010, Gareth Blades wrote: > >> The script does not issue any commands. The same script is called at all >> 3 stages but with different parameters on the command line to indicate >> the call status. Works fine before the call is answered but during and >> at the end of the call it quits before asterisk has finished sending the >> information about the current call via STDIN. > > As others have said -- you are violating the protocol. > > Asterisk sends the "AGI environment" to the AGI via STDIN. If you don't > read it, you are violating the protocol. > > For a AGI that is called repeatedly, maybe you should consider > implementing it in a compiled language. > > You can execute XXX AGIs written in C in the time it takes to load the > Perl interpreter and parse your script. > > --
Of course this will turn into a religious war ;) Bottom line, if you like perl, use perl. Even though C is faster, there are benefits to using a language you know as well as implementing it for other reasons. I end up using perl 99% of the time just for simple ability with MySQL stored procedures or connecting ease with MSSQL databases. That being said... Try starting your script with something such as: $|=1; while(<STDIN>) { chomp; last unless length($_); } (of course you can add whatever you want in there to pull the variables... For setting multiple asterisk variables, I like using a sub: sub setvariable { my ($variable, $value) = @_; print STDOUT "SET VARIABLE $variable \"$value\" \n"; while(<STDIN>) { m/200 result=1/ && last; } return; } then just call it with something like: &setvariable("MAILBOX", $mailbox); --fred http://qxork.com -- _____________________________________________________________________ -- 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