[asterisk-users] Run AGI while agent ringing instead of only when connected

Todd Routhier fonemasta at gmail.com
Tue Apr 10 16:15:50 CDT 2012


Thanks again Danny, Perl was the first thing I tinkered with back in the
90's but haven't messed with it for years.

Looking over what you sent, I get about 90% of what's going on there. With
a little searching and brushing up on my Perl, I think I will be able to
make this work.

This is a good solution and, if I can get this to work, I won't even need
the AGI. I can basically just hit what I need using CURL within the Perl
script (I think).

All the AGI was going to do for me is hit a URL with some parameters out on
the Internet. So, pretty sure I can do all that within the Perl Script and
leave AGI out of it completely.

--Todd

On Tue, Apr 10, 2012 at 4:02 PM, Danny Nicholas <danny at debsinc.com> wrote:

> Were this my task, I would do a PERL/C daemon to run the AGI.  This is how
> I do it in PERL****
>
>    my $astman = new Asterisk::Manager;****
>
>    $astman->user('user');****
>
>                $astman->secret('secret');****
>
>                my $man_addr='127.0.0.1';****
>
> <this section is for if your asterisk isn’t on 127.0.0.1>****
>
>                my $man_ok=1;****
>
>                open (my $man_in, "/etc/asterisk/manager.conf") or
> $man_ok=undef;****
>
>                if ($man_ok) {****
>
>                   while (<$man_in>) {****
>
>                      if ($_ =~ /^bindaddr/) {****
>
>                         (undef,$man_addr) = split /\=/, $_;****
>
>                         }****
>
>                      }****
>
>                   close $man_in;****
>
>                   }****
>
>                $man_addr =~ s/\s//g;****
>
> <untaint>****
>
>                ( $man_addr )=( $man_addr =~ /(.*)/ );****
>
> <end of reassign section>****
>
>                $astman->host($man_addr);****
>
>                $astman->connect || die "Could not connect to " .
> $astman->host . "!\n";****
>
> ** **
>
>                my %resp = $astman->sendcommand(  Action => 'Originate',***
> *
>
>                                                            Channel =>
> $extval,****
>
>                                                            Variable =>
> "ARG1=$fileval",****
>
>                                                            Exten =>
> $extval,****
>
>                                                            Context =>
> 'playit',****
>
>                                                            priority => 1,*
> ***
>
>                                                            Number =>
> 5551212****
>
>                                                            );****
>
> <loop through %resp and find desired value; launch AGI>****
>
>                sleep 2;****
>
>                %resp = $astman->sendcommand(  Action => 'Logoff');****
>
> ** **
>
> *From:* asterisk-users-bounces at lists.digium.com [mailto:
> asterisk-users-bounces at lists.digium.com] *On Behalf Of *Todd Routhier
> *Sent:* Tuesday, April 10, 2012 3:55 PM
>
> *To:* Asterisk Users Mailing List - Non-Commercial Discussion
> *Subject:* Re: [asterisk-users] Run AGI while agent ringing instead of
> only when connected****
>
> ** **
>
> Yes Sir.. Studied it pretty hard, did I miss a solution? Trust me, been at
> this for a number of years off and on, I never post unless I have dug hard,
> searching all the Asterisk resources I know of.****
>
> ** **
>
> This is where I got most of my info but the solutions mentioned on that
> page require the call to be "Connected" to the agent before the AGI fires.
> Once the agent is connected, I can get all sorts of info from Channel Vars.
> Still, once the agent is connected, it's sort of too late, I need the AGI
> to fire will the agent is ringing.****
>
> ** **
>
> Thanks for your help so far.****
>
> On Tue, Apr 10, 2012 at 3:42 PM, Danny Nicholas <danny at debsinc.com> wrote:
> ****
>
> You have read this thread?
> http://www.voip-info.org/wiki/view/Asterisk+cmd+Queue                ****
>
>  ****
>
> *From:* asterisk-users-bounces at lists.digium.com [mailto:
> asterisk-users-bounces at lists.digium.com] *On Behalf Of *Todd Routhier
> *Sent:* Tuesday, April 10, 2012 3:15 PM
> *To:* Asterisk Users Mailing List - Non-Commercial Discussion
> *Subject:* [asterisk-users] Run AGI while agent ringing instead of only
> when connected****
>
>  ****
>
> What I am trying to accomplish is to run an AGI script each time an
> agent's line starts ringing. I currently have the AGI firing when the agent
> answers the call using the Queue command, something like
> queue(MyQueue,,,,,MyAgi.php). Works great but I need the AGI to run when
> the agent's phone starts ringing.****
>
>  ****
>
> Strangely, I can't find anything real useful on this after searching
> Google, this list, various Asterisk forums etc.****
>
>  ****
>
> Is this supported? If not, is there some other maybe not so supported way
> to accomplish this?****
>
>  ****
>
> I get how I can just fire an AGI from the dial plan but once I leave
> control to the queue, I can't really do that, I don't think.****
>
>  ****
>
> Thanks in advance for any help!****
>
>  ****
>
> --Todd****
>
>  ****
>
>
> --
> _____________________________________________________________________
> -- 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****
>
> ** **
>
> --
> _____________________________________________________________________
> -- 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20120410/fa7b2f46/attachment-0001.htm>


More information about the asterisk-users mailing list