GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Net::SIP::Registrar(3) User Contributed Perl Documentation Net::SIP::Registrar(3)

Net::SIP::Registrar - Endpoint for registering SIP clients

  my $reg = Net::SIP::Registrar->new(
        dispatcher => $dispatcher,
        min_expires => 10,
        max_expires => 60,
        domains => [ 'example.com','example.org' ],
  );

This package implements a simple SIP registrar. In the current implementation registry information are only kept in memory, e.g. they are not preserved over restarts.

The implementation itself does not checking if the UAC is authorized to register the given address. This can be done with using an appropriate Authorize Module inside a ReceiveChain in front of the registrar.

new ( %ARGS )
This creates a new registar object, %ARGS can have the following keys:
dispatcher
Net::SIP::Dispatcher object manging the registar. Mandatory.
max_expires
Maximum expires time accepted. If the client requests a larger expires value it will be capped at max_expires Defaults to 300.
min_expires
Minimum expires value. If the client requests a smaller value the registrar will return a response of "423 Interval too brief". Defaults to 30.
domains or domain
Either string or reference to list of strings containing the names of the domains the registrar is responsable for. If not given the registrar accepts everything.

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 not a REGISTER request or if it is not responsable for the domain given in the "From" heeader of the REGISTER request.

If it is responsable for the packet it will create a response and return the code of the response. Responses are either "423 Interval too brief" if the request expires time is too small, or "200 Ok" if the expires time is 0 (e.g. the client should be unregistered) or greater or equal min_expires.

In case of a successful response it will also update the internal registry information.

query ( ADDR )
Search for ADDR (which has format "proto:user@domain") in the registry. Returns @List of all sip or sips contacts for ADDR.
expire
Removes all expired entries from the internal registry. Called whenever the registry information gets updated from sub receive.
2021-05-04 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.