Users configure their devices (IP phones, AV conferencing tools, Instant Messaging tools) to connect to a selected SIP Server when they go on-line. The Server registers the users by remembering their "SIP identifier" and the network (IP) addresses they use.
Each user has a unque "SIP identifier", also called AOR (Address of Record).
Each user may have several registrations active if that user has several communication devices in the on-line mode (an office IP Phone, a desktop computer, an instant messaging program on a laptop, etc.).
Registrations allow SIP users to communicate with each other without the knowledge of the network addresses being used, using just the "SIP identifiers" (AORs).
AORs have the same form as E-mail addresses: username@domainName. The CommuniGate Pro user AOR is the full name of the user Account, so the user SIP AOR name is exactly the same as the user E-mail address.
CommuniGate Pro uses the Router component for all Real-Time Communication operations, so Aliases, Forwarders, and other Routing methods work for Real-Time Communications, too.
The sending entity composes a Request object and sends it to the CommuniGate Pro Signal module. The Signal module processes the Request, optionally sends Requests to other entities, and returns a Response object to the sending entity.
When an AOR to be processed is Routed to a non-local address, that address is placed into the Contact set.
When an AOR to be processed is Routed to a local Group, all Group members are added to the AOR set.
When an AOR to be processed is Routed to a local Account, all Account active Registrations (registered addresses of the Account user devices) are added to the Contact set.
If an AOR already exists in the AOR set, it is not added to the AOR set.
If an address already exists in the Contact set, it is not added to the Contact set.
The Signal module checks each address it adds to the Contact set.
It the new Contact address is a local Real-time Node address,
the Request is passed to that Node for processing.
If the new Contact address is an external Entity address, the Request is passed to the SIP Module
for relaying it to that external Entity.
If an local or an external entity returned a "Redirect" Response, the addresses specified in the Response are added to the AOR set and the Forking process continues.
Registration (and some other SIP operations require) user authentication. All CommuniGate Pro Account passwords can be used for authenitcation.
The CommuniGate Pro Signal module implements the BASIC, DIGEST, and NTLM authentication methods.
To configure the Registrar Service options, open the SIP page in the WebAdmin Settings realm.
An Account and its Domain must have the SIP Service enabled to be able use the Registrar Service.
Use the External PSTN Gateway panel to specify the gateway settings:
In order to send SIP requests to the External Gateway, you need to specify Router records.
Sample 1.
Use the following Router records:
NoRelay:Live:<1*> = *@sip.provider.dom NoRelay:Live:<+1*> = *@sip.provider.dom NoRelay:Live:<9*> = 415*@sip.provider.dom NoRelay:Live:<011*> = 011*@sip.provider.dom NoRelay:Live:<+*> = 011*@sip.provider.dom
Note: you should use the NoRelay: prefix to avoid turning your Server into an open relay that would allow any external user to relay calls to the External Gateway on your behalf.
The Signal module maintains "tuple" states for each Account, for each Event Package it supports. The module allows one or several entities to update the "tuples", and it aggregates them into one Account "state information" for the Package. When the aggregated "state information" changes, the module sends NOTIFY requests with the updated state to all subscribed entities.
The Signal module allows external entities to modify "tuples" using PUBLISH requests.
The Signal module allows external entities to modify "tuples" for certain Packages using non-standard SERVICE requests.
The Signal Module provides special processing for the REGISTER requests. If the external entity (a SIP device) indicates support for the SUBSCRIBE method, the module establishes a subscription dialog with that entity. The module then processes all NOTIFY requests sent by that entity to maintain its Presence "tuple".