Net::SIP::NATHelper::Server3pm
Server for net::sip::nathelper::client
Overview
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.
Constructor
- 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.
Methods
- do_command ( FD )
-
Called when FD is available for reading. Calls
accepton 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_sessionandclose_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
callbacksin 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 callexpirefrom Net::SIP::NATHelper::Base to expire the RTP sockets and sessions.
- allocate_sockets ( ... )
-
Calls
allocate_socketsof the local Net::SIP::NATHelper::Base object. Takes and returns the same arguments.
- activate_session ( ... )
-
Calls
activate_sessionof 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_sessionof 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
expireof 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.
Releases
9 releases since Debian 5.0 (Lenny); the text changed 8 times.