=head1 NAME
Net::SIP::Redirect - Send redirect to Requests based on lookup at a registrar
=head1 SYNOPSIS
my
$reg
= Net::SIP::Registrar->new(...);
my
$redir
= Net::SIP::Redirect(
dispatcher
=>
$dispatcher
,
registrar
=>
$reg
,
);
=head1 DESCRIPTION
This
package
implements a simple redirection of Requests using the information
provided by a registrar.
=head1 CONSTRUCTOR
=over 4
=item new (
%ARGS
)
This creates a new redirect object,
%ARGS
can have the following
keys
:
=over 8
=item dispatcher
L<Net::SIP::Dispatcher> object managing the registar. Mandatory.
=item registrar
Registrar object. This is an object like a L<Net::SIP::Registrar>, which
has
a C<query(address)> method which returns a list of contacts.
=back
=back
=head1 METHODS
=over 4
=item receive ( PACKET,LEG,FROM )
PACKET is the incoming packet,
LEG is the L<Net::SIP::Leg> where the packet arrived and FROM
is the C<<
"ip:port"
>> of the sender. Responses will be
send
back to the sender through the same leg.
Called from the managing L<Net::SIP::Dispatcher> object
if
a new
packet arrives. Will
return
C<()> and ignore the packet
if
it's
an REGISTER request.
For Requests it will query the registrar and
return
either
C<< 302 Moved Temporarily >>
with
the list of contacts or
C<< 404 Not Found >>
if
the address is not registered.
=back