Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  NET::SIP::RECEIVECHAIN (3)

.ds Aq ’


Net::SIP::ReceiveChain - handle incoming packet by multiple receivers



  # create proxy which works as a registrar too, but
  # all register requests should be authorized

  my $registrar = Net::SIP::Registrar->new...
  my $auth = Net::SIP::Authorize->new ....
  my $reg_chain = Net::SIP::ReceiveChain->new(
        [ $auth,$registrar ],
        methods => [ REGISTER ],

  my $proxy = Net::SIP::StatelessProxy->new...
  my $chain = Net::SIP::ReceiveChain->new(
        [ $registrar,$proxy ]


This package is used to handle incoming packets by multiple receivers, e.g. make sure that requests for Net::SIP::Registrar will be authorized by Net::SIP::Authorize.

Objects in the chain might be Net::SIP::Registrar, Net::SIP::StatelessProxy, Net::SIP::Authorize, Net::SIP::ReceiveChain itself and every other object which handles receive like described below.


new ( OBJECTS, %ARGS ) This creates a new registar object, OBJECTS is a reference to an array of objects implementing the receive method.

%ARGS can have the following keys:
filter A callback which gets called during receive with all arguments of the method. If it returns TRUE the packet will be handled by the chain, otherwise not.
methods If <B>filterB> is not given but <B>methodsB> is it will set <B>filterB> to a callback which accepts only the methods specified in the array reference given to <B>methodsB>.


receive ( PACKET,LEG,FROM ) PACKET is the incoming packet, LEG is the Net::SIP::Leg where the packet arrived and FROM is the "ip:port" of the sender. Responses will be send back to the sender through the same leg.

Called from the managing Net::SIP::Dispatcher object if a new packet arrives.

Returns TRUE if the packet was fully handled by one of the objects in the chain, else FALSE:
o If a filter was given checks the packet against the filter and returns FALSE if the filter does return FALSE.
o Otherwise it will call receive on all objects in the chain until one of these returns TRUE. In this case it will return TRUE.
o If no object in the chain handled the packet it will return FALSE.

Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 NET::SIP::RECEIVECHAIN (3) 2010-02-02

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.