The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

=head1 NAME

Net::SIP::NATHelper::Client - handle NAT/RTP forwarding using remote process

=head1 DESCRIPTION

This module implements the interface of L<Net::SIP::NATHelper::Base>
but will talk with a remote process based on L<Net::SIP::NATHelper::Server>
while executing the methods.

=head1 CONSTRUCTOR

=over 4

=item new ( SOCKET )

Will create a new object which will talk with the remote process using
the socket SOCKET. SOCKET is either a UNIX domain socket (in SOCK_STREAM
mode) or an C<host:port> specification in which case it will talk TCP
through the socket.

=back

=head1 METHODS

It implements the method B<allocate_sockets>, B<activate_session>
and B<close_session> with the same arguments as given in
L<Net::SIP::NATHelper::Server> by calling B<rpc> with the methods
"allocate", "activate" resp. "close".

=over 4

=item rpc ( METHOD,@ARG )

Makes a synchronous remote call to the server through the in the
constructor specified socket and returns the result.

For calling the arguments will be put into a \@list which will
be packet using L<Storable>. A similar way the result comes back.

=back