NAME
Net::SIP::Registrar - Endpoint for registering SIP clients
SYNOPSIS
  my $reg = Net::SIP::Registry->new(
	dispatcher => $dispatcher,
	min_expires => 10,
	max_expires => 60,
	domains => [ 'example.com','example.org' ],
  );DESCRIPTION
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.
CONSTRUCTOR
- 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. 
 
METHODS
- 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 theFromheeader 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 briefif the request expires time is too small, or200 Okif 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 wil 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.