|
|
| |
Net::SIP::NATHelper::Server(3) |
User Contributed Perl Documentation |
Net::SIP::NATHelper::Server(3) |
Net::SIP::NATHelper::Server - server for Net::SIP::NATHelper::Client
This module is a wrapper around Net::SIP::NATHelper::Base and will receive it's
instructions from Net::SIP::NATHelper::Client using RPC via sockets.
- new ( [ HELPER ], @FDS )
- Will create an object which listens on all file descriptors given in FDS
for RPC from clients.
If HELPER is given and a Net::SIP::NATHelper::Base object or
derived it will be used, otherwise the helper will be created.
- do_command ( FD )
- Called when FD is available for reading. Calls accept on FD and
reads the RPC packet from the resulting file descriptor, executes it and
returns result back.
Currently implemented commands are
"allocate","activate" and "close" which
will map to the local methods allocate_sockets,
activate_session and close_session.
One might redefine or add commands by changing
"$self->{commands}". The key of
this hash reference is the command name and the value is the
callback.
Unknown commands will be ignored, e.g nothing returned.
- loop
- This will loop over all file descriptors it gets from callbacks in
Net::SIP::NATHelper::Base and the file descriptors for the RPC sockets.
When file descriptors gets available for reading it will
execute the callbacks, e.g. forward the RTP data or call
do_command. In regular intervals it will call expire from
Net::SIP::NATHelper::Base to expire the RTP sockets and sessions.
- allocate_sockets ( ... )
- Calls allocate_sockets of the local Net::SIP::NATHelper::Base
object. Takes and returns the same arguments.
- activate_session ( ... )
- Calls activate_session of the local Net::SIP::NATHelper::Base
object. Takes the same arguments and returns 1 if the session was newly
activated, -1 if it was activated before and false if activation failed.
Updates callbacks into the event loop.
- close_session ( ... )
- Calls activate_session of the local Net::SIP::NATHelper::Base
object. Takes the same arguments and returns the number of closed
sessions. Updates callbacks into the event loop.
- expire ( ... )
- Calls expire of the local Net::SIP::NATHelper::Base object. Takes
the same arguments and returns the number of expired sessions. Updates
callbacks into the event loop if necessary.
The local event loop should be pluggable, so that other implementations could be
used. Right now it's a hard coded loop using select.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |