2012/4/11, Satish Barot <[email protected]>: > I would implement it in a different way. > As you seem to be a seasoned player just a hint here. > How about adding local channels as queue members and executing agi in local > channel context before actual dial()?
Just a thought: does this comply with dynamic agents feature ? > Only limitation is, AGI will get executed for each dial irrespective of > whether an extension rings or not. But at least you can identify which > extension is being dialed. > See 'Using Local Channels' on > http://ofps.oreilly.com/titles/9780596517342/asterisk-ACD.html > > --Satish Barot > > On Wed, Apr 11, 2012 at 2:45 AM, Todd Routhier <[email protected]> wrote: > >> 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 <[email protected]> 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:* [email protected] [mailto: >>> [email protected]] *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 <[email protected]> >>> wrote:**** >>> >>> You have read this thread? >>> http://www.voip-info.org/wiki/view/Asterisk+cmd+Queue **** >>> >>> **** >>> >>> *From:* [email protected] [mailto: >>> [email protected]] *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 >>> >> >> >> -- >> _____________________________________________________________________ >> -- 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
