![]() |
Version 5.2 |
||||||||||||||||||||||||||||||
|
|
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 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 send a Request to a remote SIP device or to a remote 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 an Internet protocol, and to process the Responses sent back.
SIP Request packets 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 CommuniGate Pro SIP module supports near-end and far-end NAT traversal, enabling SIP communications for both large corporations with many internal LANs, as well as for home users connecting to the Internet via "dumb" NAT devices.
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 media proxies, relaying not only the SIP protocol requests and responses, but the media data, too.
Use the WebAdmin Interface to configure the SIP module. Open the Real-Time pages in the Settings realm, then open the SIP pages.
Click the Receiving link to open the SIP Server (UAS) Settings.
The Transactions panel allows you to specify how the SIP Module handles SIP server (UAS) transactions.
The SIP Module server component implements Request Authentication for remote clients. If an internal Server component rejects a Request because it does not contain authentication data, the Module adds special fields to the response it sends, facilitating authentication.
The user name specified in the authentication data is processed using the Router
component, so Account Aliases and Forwarders, as well as Domain Aliases can be used in authentication names.
The specified Account and its Domain
must have the SIP Service enabled.
All CommuniGate Pro Account passwords can be used for SIP authentication.
If the CommuniGate Password option is enabled for the specified Account, the SIP module checks if the Account has the SIPPassword setting. If it exists, it is used instead of the standard Password setting. This feature allows an Administrator to assign a alternative Account password to be used for the SIP authentication only.
Use the WebAdmin Interface to configure the SIP module. Open the Real-Time pages in the Settings realm, then open the SIP pages.
Click the Sending link to open the SIP Client (UAC) Settings.
If none of these conditions is met, the request is rejected with the 401 ("Authentication required") error code.
You may want to use your CommuniGate Pro Server with external SIP Gateways.
External Gateways can be used to relay calls to the public telephony network (PSTN) and
to relay PSTN calls to your Server. These services are usually fee-based and communications
with External Gateways may require authentication.
You can also use the External Gateways features if you need to communicate with
remote SIP networks using authentication.
Note: if you use an in-house PSTN gateway, it is usually configured to accept all calls from within your LAN (so your Server does not need to use Authentication to relay call Signals to that gateway), and that gateway can be configured to direct incoming connections to a certain CommuniGate Pro Server Account (so there is no need to register your Server with that gateway). In this case you can employ this PSTN gateway without using the External Gateways features.
Use the External Gateway panel to specify the Gateway settings:To create a new External Gateway entry, enter the Gateway Name in the last, empty table element, and click the Update button.
To remove an External Gateway entry, enter an empty string into its Gateway Name field, and click the Update button.
In order to send Signal requests to the External Gateway, you need to specify Router records.
Use the following Router records:
NoRelay:Signal:<1*> = *@Provider1.sipgw Signal:<+1*> = *@Provider1.sipgw Signal:<+*> = 011*@IntlProvider.sipgw Signal:<011*> = 011*@IntlProvider.sipgw Signal:<9*> = 415*@LocProvider.sipgw
The Microsoft "RTC" products (including Windows Messenger) use the standard
SIP protocol for audio and video sessions.
These clients use the proprietary SIP protocol extensions for Instant Messaging, Presence,
Whiteboard, Remote Assistance
and other services. CommuniGate Pro implements the extensions required to support these applications.
The Windows Messenger versions prior to 5.0 are not supported.
The CommuniGate Pro SIP module should have the Advertise NTLM option enabled.
The Windows Messenger audio and video sessions use standard RTP media protocols and these sessions
can be used over a NAT/Firewall.
The Windows Messenger Instant Messaging uses the SIP protocol for media transfer and Instant
Messaging sessions can be used over a NAT/Firewall.
The Windows Messenger Whiteboard, Application Sharing, and Remote Assistance
sessions use T.120 and non-standard protocols and these sessions can be used over a NAT/Firewall.
The Windows Messenger File Transfer sessions use a non-standard protocol
and these sessions currently cannot be used over a NAT/Firewall.
Many currently available SIP devices and applications incorrectly implement
various aspects of the SIP protocol.
The CommuniGate Pro SIP Module tries to compensate for certain client problems and bugs,
based on the type of SIP devices connected to it.
Use the WebAdmin Interface to configure the SIP workarounds. Open the Real-Time pages in the Settings realm, then open the SIP pages. Click the Workarounds link. The Workarounds table appears:
To specify workarounds for a certain product, put the product name into the last, empty Table element, select the required workarounds and click the Update button.
To remove a certain product, remove its name from the table, and click the Update button.
A similar table exists for remote sites:When the SIP module is about to relay a Signal request to a remote destination, it applied the workaround methods specified for the request URI domain as well as the methods specified for the target URI domain.
The currently implemented workaround methods are:The following Web Site contains a periodically updated document listing the tested SIP Clients, the problems discovered and the known workarounds.
The SIP module immediately (on the first Router call) accepts all signal addresses with IP-address domains, i.e. with domain names like [xx.yy.zz.tt]. Please note that the Router adds brackets to the IP-address domain names that do not have them, and the Router changes the IP addresses of local domains to those domain names. The Router performs these operations before calling the modules.
The SIP module immediately accepts all signal addresses with domain names ending with the .sipgw suffix. The rest of the domain name should specify the name of an External Gateway and the Signal is routed to that External Gateway.
On the final call, the SIP module accepts signal to any domain if that domain name contains at least one dot (.) symbol. If the Relay via option is selected, all these addresses are rerouted to the specified Relay via domain.
Before accepting an address, the SIP module checks if the address does not contain any @ symbol, but contains one or several % symbols. In this case, the rightmost % symbol is changed to the @ symbol.
If the target domain name contains a .udp, .tcp, or .tls suffix, the corresponding transport protocol is used, and the suffix is removed from the target domain name.
The Monitors realm of the WebAdmin Interface allows Server Adminstrators to monitor the SIP module activity. The SIP Monitor page contains two frames - the receiving (Server) frame, and the sending (Client) frame.
The SIPS frame displays the active SIP Server transactions:
The SIPC frame displays the active SIP Client transactions: