Net::SIP::Redirect - Send redirect to Requests based on lookup at a registrar
my $reg = Net::SIP::Registrar->new(...);
my $redir = Net::SIP::Redirect(
dispatcher => $dispatcher,
registrar => $reg,
);
This package implements a simple redirection of Requests using the information
provided by a registrar.
- new ( %ARGS )
- This creates a new redirect object, %ARGS can have
the following keys:
- dispatcher
- Net::SIP::Dispatcher object managing the registar. Mandatory.
- registrar
- Registrar object. This is an object like a Net::SIP::Registrar, which has
a "query(address)" method which returns
a list of contacts.
- 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. Will return "()" and
ignore the packet if it's an REGISTER request.
For Requests it will query the registrar and return either
"302 Moved Temporarily" with the list
of contacts or "404 Not Found" if the
address is not registered.