SIP Module |
||||||||||||||||||||||||||||||||||||||||||||||
|
The CommuniGate Pro SIP Module implements the SIP protocol functionality. The module uses TCP and UDP listeners to receive SIP request and response packets via these network protocols. It also sends the response and request packets via the TCP and UDP network protocols.
The SIP module parses all received SIP packets, and uses the module subcomponents to
process the parsed packets. Request packets are submitted to the SIP Server subcomponent, to a new SIP Server
transaction or to an existing one.
The SIP Server component may process the request itself and send a response back. This happens with protocol-only requests or requests that cannot be processed.
In other cases, the SIP Server component uses the Signal Module to process the request.
The responses generated with the Signal module are submitted to the SIP Server transaction, and the SIP Server sends
them back to the source of the SIP request.
The Signal module can relay a request to a different SIP device or SIP server. The module uses the SIP Client subcomponent to create a SIP Client transaction. This transaction is used to send a SIP request via some Internet protocol, and to process the responses sent back.
SIP requests packet received with the SIP Module are submitted to the SIP Server subcomponent, while SIP response packets are submitted to the SIP Client subcomponent, with two exceptions:
The CommuniGate Pro SIP module supports UDP and TCP communications, and it also supports secure (TLS) communications over the TCP protocol.
The SIP module implements Registrar services. Users configure their SIP devices (IP phones, AV conferencing tools, Instant Messaging tools) to connect to the CommuniGate Pro SIP module when they go on-line. The SIP module registers the users by remembering the network (IP) addresses they use. Each user may have several registrations active if that user has several communication devices in the on-line mode (the office IP Phone, the desktop computer, the instant messaging program on a laptop). Registrations allow SIP users to communicate with each other without the knowledge of the network addresses being used, using just the "SIP identificators".
SIP identificators have the same form as E-mail addresses: username@domainName. In the CommuniGate Pro system, the user SIP identificator is the name of the user Account, so the user SIP identificator name is the same as the user E-mail address.
The SIP Module uses the CommuniGate Pro Router mechanism to process all SIP identificators. As a result, all CommuniGate Pro Aliases, Forwarders, and Router records are available for SIP communications, too.
The SIP Module allows users to initiate sessions (phone calls, chats, etc.) with other SIP users within the same CommuniGate Pro Domain, with users of other Domains on the same server, or with SIP users served by other, remote SIP servers.
When a SIP session is being initiated, a caller SIP client program (or UA - user agent program)
sends a request to the SIP server with the SIP identificator of the callee. The SIP server
checks the identificator, and if it is served by a remote SIP server, relays (proxies) the
request to that remote server. If the SIP identificator belongs to a local user, the SIP server
retrieves the active registration for that user and relays the request to the callee UA.
If the callee accepts the request, the callee UA sends the response back to the server,
and the server relays it back to the caller UA. As a result, both caller and callee learn their
actual network addresses, and they now establish the negotiates communication link (audio, video, etc.) directly,
bypassing the SIP server.
The session initiation schema described above works correctly only if both parties can communicate directly. If there is a firewall or a NAT device between the parties, direct communication is not possible. In this case, the CommuniGate Pro SIP module builds and manages the necessary media proxies, relaying not only the SIP protocol requests and responses, but the actual media data, too.
Certain SIP operations (such as registration) require user authentication. All CommuniGate Pro Account passwords can be used for authenitcation. The BASIC, DIGEST, and NTLM authentication methods are supported.
To configure the SIP module, use a Web browser to connect to the CommuniGate Pro Server WebAdmin Interface, and open the SIP page in the Settings realm. To configure the SIP module, you should have the Can Modify Settings access right.
Use the Log setting to specify what kind of information the SIP module should put in the Server Log. Usually you should use the Failure (unrecoverable problems only), Major (session establishment reports), or Problems (failures, session establishment and non-fatal errors) levels. But when you experience problems with the SIP module, you may want to set the Log Level setting to Low-Level or All Info: in this case protocol-level or link-level details will be recorded in the System Log. When the problem is solved, set the Log Level setting to its regular value, otherwise your System Log files will grow in size very quickly.
The SIP module records in the System Log are marked with the following tags:
The Transport panel allows you to configure the network-level options: