Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Asterisk::FastAGI
Module for FastAGI handling.

Asterisk::FastAGI - Module for FastAGI handling.


NAME

Asterisk::FastAGI - Module for FastAGI handling.


SYNOPSIS


  use base 'Asterisk::FastAGI';

  sub fastagi_handler {

    my $self = shift;

    my $param = $self->param('foo');

    my $callerid = $self->input('calleridname');

    $self->agi->say_number(1000);

  }


DESCRIPTION

Asterisk::FastAGI provides a preforking daemon for handling FastAGI requests from Asterisk.

Read the the Net::Server manpage for more information about the logging facilities, configuration, etc.


USAGE EXAMPLE

First you need a module containing all of your AGI handlers.


  package MyAGI;

  use base 'Asterisk::FastAGI';

  

  sub agi_handler {

    my $self = shift;

    $self->agi->say_number(8675309);

  }

Then you simply need to have a script that runs the daemon.


  #!/usr/bin/perl

  use MyAGI;

  MyAGI->run();

When it is run it creates a preforking daemon on port '4573'. That is the default port for FastAGI. Read the the Net::Server manpage documentation on how to change this and many other options.


METHODS

param

Returns parsed parameters sent in from the AGI script.

Inside extensions.conf:




  exten => 1111,1,Agi(agi://${SERVER}/fastagi_handler?foo=bar&blam=blah

You can access those parameters from inside your AGI script. Much like you would if those were URL parameters on a CGI script.


  my $foo = $self->param('foo');

input

Returns a hash containing the input from the AGI script.


  my %hash = $self->input()

        

If given a key.  It will return that particular value.

  my $uniqueid = $self->input('uniqueid');

agi

Will return the Asterisk::AGI object.

process_request

This will process the agi request from asterisk.

dispatch_request

Method used to dispatch the FastAGI request.

child_init_hook

This is called by Net::Server during child initialization. This is the method to override if you are going to be creating database connections for instance.


  sub child_init_hook {

    my $self = shift;

    $self->{server}{dbi} = DBI->connect();

  }


SEE ALSO

the Net::Server manpage, http://asterisk.gnuinter.net/




=head1 AUTHOR

Jason Yates <jaywhy@gmail.com>


COPYRIGHT AND LICENSE

Copyright (C) 2006-2007 by Jason Yates

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy