Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Net::SIP::ReceiveChainUser Contributed Perl DocumentaNet::SIP::ReceiveChain(3)

       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

       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 filter is	not given but methods is it will set filter to
		   a callback which accepts only the methods specified in the
		   array reference given to methods.

       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

perl v5.32.1			  2010-02-02	     Net::SIP::ReceiveChain(3)


Want to link to this manual page? Use this URL:

home | help