HOWTO

Configuration of links to a third party H.323 gatekeeper (kb2824)

The information in this article applies to:

  • SwyxWare v4.31

[ Summary | Information ]


Summary

This article describes the configuration of SwxyLinks to a third party H.323 gatekeeper, e.g. of an IP telephony provider.

Information

Mainly for SwyxWare site interconnection Swyx introduced a server component, called "SwyxLinkManager". This service is usually used to connect SwyxServers, e.g. for companies with several different locations. But the SwyxLinkManager can also be used to connect SwyxWare to an H.323 third party gatekeeper, e.g. of an IP telephony provider. In this case the SwyxLinkManager registers itself at the remote third party gatekeeper as an H.323 compliant gateway. The SwyxLinkManager forwards outgoing calls coming from the SwyxServer to the remote gatekeeper and takes incoming calls from this gatekeeper and forwards them to the SwyxServer. This kind of links are called "third party links" in the following.

Note:

  • The H.323 third party gatekeeper must support the H.323 call model "gatekeeper routed" because SwyxWare is until now only using this model and does not support the "direct call" model!
  • The below-mentioned configuration parameters are only valid for SwyxWare version 4.31 and greater! Up to SwyxWare version 4.30 the SwyxLinkManager could only be switched completely into the "third party link mode", which means that no further SwyxLinks could be managed by it (locally)! SwyxWare version 4.31 introduces the possibility to configure selected properties per link, e.g. using a link as a third party link.

To get a general overview of the SwyxLink configuration, please read at first chapter "SwyxLink / WAN Connections" of the SwyxWare manual. This knowledge base article only describes the details for a configuration of third party links.

How to configure a new third party link in SwyxWare Administration:

  1. Run the SwyxWare Administration.
  2. Select the shortcut menu for SwyxLinks, choose "Add SwyxLink...". The wizard for adding a SwyxLink will open.
    • SwyxLink Name:
      Enter the name for the new SwyxLink here and if necessary a description. Please note that the SwyxLink name is also used as H.323 alias for the registration at the remote third party gatekeeper!
    • Choose LinkManager:
      Always select "Locally managed" for third party links.
    • Select remote SwyxServer:
      Enter the computer name or IP address of the remote third party gatekeeper to which this third party link should be configured. With "Check Server" SwyxServer will create a test TCP connection to the remote gatekeeper via port 1720. If the remote gatekeeper is not using this (well-known) H.323 port the check may fail but a third party link is usually nevertheless possible.
      Make sure that the TCP/UDP ports used by the H.323 protocol are not blocked by a firewall or NAT (Network Address Translation).
    • Routed Numbers:
      Here you enter the number to be routed by this SwyxLink. Please select the canonical telephone number format (e.g. +49 231 4777*), whereby '+' and '*' are already defined as dummies in the entry mask. This sequence of digits is used later as a filter in order to determine whether a number dialed should be routed using this link.
    • Codecs:
      Please initially select the uncompressed codec ("Voice, high bandwidth") only. You may add the compressed codec ("Voice, low bandwidth") or "Fax over IP, T.38" later, if it is clarified that the codecs of SwyxWare are compatible with the codecs of the third party gatekeeper or gateway, respectively.
      Adapt the number of simultaneous calls to the available bandwidth.
    • Finally, you will receive an overview of the configured parameters. Confirm these parameters with "Next >" or change the parameters with "< Back". The new SwyxLink will be set up and the status of the new link will be shown.
  3. Close the wizard with "Finish".
    The new link will appear in the list of SwyxLinks.

The settings of the new SwyxLink can be changed in the corresponding "Properties" dialog.

It is not necessary to restart the SwyxLinkManager now, because additional Windows registry settings are required for the third party link. These settings must be configured in the Windows registry of the machine where the SwyxLinkManager is running.

There are three locations for registry keys of the SwyxLinkManager service: (HKLM = HKEY_LOCAL_MACHINE):

  1. Registry keys that affect the whole SwyxLinkManager: HKLM\Software\Swyx\LinkMgr\CurrentVersion\Options
  2. Registry keys that affect all SwyxLinks: HKLM\Software\Swyx\LinkMgr\ CurrentVersion\Options\GeneralLinkConfiguration
  3. Registry keys that affect one selected SwyxLinks with e.g. the SwyxLink name "LinkName": HKLM\Software\Swyx\LinkMgr\ CurrentVersion\Options\LinkName

How to configure a third party link in the Windows registry:

  1. Start the Windows registry editor (regedit).
  2. Open the registry and go to "HKLM\Software\Swyx\LinkMgr\CurrentVersion\Options".
  3. Create a new registry key for the above configured third party SwyxLink using its name, e.g. "LinkName": HKLM\Software\Swyx\LinkMgr\ CurrentVersion\Options\LinkName
  4. Add a new DWORD value "Is3rdPartyLink" at this position and set value data to "1": HKLM\Software\Swyx\LinkMgr\ CurrentVersion\Options\LinkName
    "Is3rdPartyLink"=dword:00000001

Swyx is using the canonical phone number format (e.g. +4923147770) for SwyxLink calls. Third party gatekeepers usually do not support this. Therefore, the "+" should be removed from called and calling party number for outgoing link calls and added for incoming calls. Additionally it is possible to manipulate the called and calling party numbers. For example, if the third party gatekeeper needs to have leading zeros in front of the country code, this could be also done by the following registry keys.

A number replacement can be done using the registry keys "ReplacementL2R" and "ReplacementR2L". "L2R" means "local to remote" and relates to calls from local SwyxLinkManager to the remote gatekeeper. "R2L" means "remote to local" and relates to calls from remote gatekeeper to the local SwyxLinkManager.

Example:
"ReplacementL2R_1"="'+49','0049'"
"ReplacementR2L_1"="'0049','+49'"

As mentioned above the called and calling party number are sent in canonical phone number format from SwyxServer to SwyxLinkManager. If these numbers start with the prefix "+49", the SwyxLinkManager will replace this prefix with "0049", following the rule of the example. If e.g. a number "+4923147770" is received from SwyxServer, the SwyxLinkManager converts it into "004923147770" and sends it to the remote gatekeeper ("local to remote"). In the opposite direction, a number received from the remote gatekeeper, e.g. "004923147770", will be converted in SwyxLinkManager to the canonical phone number format "+4923147770" ("remote to local").

You can use multiple registry keys "ReplacementL2R" and "ReplacementR2L" by adding a suffix. In the above mentioned example the suffix "_1" is used. Therefore, additional rules can be defined by e.g. adding the following registry keys:

"ReplacementL2R_2"="'+49231','0231'"
"ReplacementR2L_2"="'0231','+49231'"

In this example the numbers starting with "+49231" will be converted to "0231", and vice versa. For example, if the remote gatekeeper is processing certain numbers using the national number format instead of the international number format, this rules may be used. A number from SwyxServer, e.g. "+4923147770" will now be converted to "023147770" before it is sent to the remote gatekeeper. While on the contrary, a number "+49401234" will be converted to "0049401234" because the rule using suffix "_1" is matching.

Note:

  • During the number replacement the rule set is evaluated starting with the rule including the longest prefix (see example above).
  • The suffix is simply used for a better clarity and has no influence on the rule handling.
  • The suffix may include letters, i.e. the registry key "ReplacementR2L_2" may also be called "ReplacementR2L_Dortmund".

How to configure a number replacement for a third party link in the Windows registry:

According to the example above a number replacement can be configured as follows::

  1. Start the Windows registry editor (regedit).
  2. Open the registry and go to the key of the SwyxLink, e.g. "LinkName": "HKLM\Software\Swyx\LinkMgr\CurrentVersion\Options\LinkName"
  3. Create a new registry key of type "String Value" using e.g. the name "ReplacementL2R_1" and set the value to '+49','0049'. Please note, that the number prefixes are enclosed by inverted commas and both prefixes are separated by a comma.
  4. Please create all further registry keys for the number replacement in this way.
  5. If the above mentioned examples for a third party link called "LinkName" are used, the registry should look like this:
    HKLM\Software\Swyx\LinkMgr\ CurrentVersion\Options\LinkName
    "Is3rdPartyLink"=dword:00000001
    "ReplacementL2R_1"="'+49','0049'"
    "ReplacementL2R_2"="'+49231','0231'"
    "ReplacementR2L_1"="'0049','+49'"
    "ReplacementR2L_2"="'0231','+49231'"

Swyx is using the so-called "Overlapped Sending" within SwyxWare, i.e. the called party number may be incomplete and single digits are sent afterwards. Especially, if SwyxIt! or SwyxPhone do not use block-dialing (i.e. hook off before dialing), "Overlapped Sending" may occur on a third party link. Third party gatekeepers usually do not support this mechanism. Therefore, another registry key "TimeoutForCompleteness" can be used to define a period for collecting further digits. The call to the remote gatekeeper is started after this timeout.

How to configure the "TimeoutForCompleteness" in the Windows registry:

  1. Start the Windows registry editor (regedit).
  2. Open the registry and go to the key of the SwyxLink, e.g. "LinkName": "HKLM\Software\Swyx\LinkMgr\CurrentVersion\Options\LinkName"
  3. Add a new DWORD value "TimeoutForCompleteness" at this position and set value data to e.g. decimal "4000" (hexadecimal "fa0"). This value defines the value until the call is forwarded to the remote gatekeeper, e.g. 4 seconds in this example.
  4. If the above mentioned examples for a third party link called "LinkName" are used, the registry should look like this:
    HKLM\Software\Swyx\LinkMgr\ CurrentVersion\Options\LinkName
    "Is3rdPartyLink"=dword:00000001
    "ReplacementL2R_1"="'+49','0049'"
    "ReplacementL2R_2"="'+49231','0231'"
    "ReplacementR2L_1"="'0049','+49'"
    "ReplacementR2L_2"="'0231','+49231'"
    "TimeoutForCompleteness"=dword:00000fa0

Please restart the SwyxLinkManager service after configuration changes in the Windows registry.

Note:
If you are using SwyxLinks but not a SwyxGate, it is nevertheless necessary to configure a gateway including a line in SwyxWare Administration. This is essential for the call resolution of incoming SwyxLink calls. The configured gateway is a "dummy gateway", i.e. no SwyxGate service is running and the gateway is not registered. It is only used to assign a subscriber number or MSNs on a gateway line. For details regarding the gateway configuration, please read the SwyxWare manual.

In the above mentioned example the subscriber number "4777" could be configured on the line of the "dummy gateway". An incoming call on the link (e.g. +4923147770) could now be resolved (country code: 49, area code: 231, subscriber number: 4777, extension: 0).

Further registry keys:

SwyxWare is internally using the "destinationAddress" field (including H.323 or E.164 alias) of the H.323 Setup message to resolve incoming calls to SwyxLinks. Third party gatekeeper, e.g. the "GNU Gatekeeper (GnuGk)", often use this field for the called party number. To prevent link resolution problems the following registry key "SuppressUsingE164asH323Alias" could be used (affects the whole SwyxLinkManager!):

HKLM\Software\Swyx\LinkMgr\CurrentVersion\Options
"SuppressUsingE164asH323Alias"=dword:00000001
Default: 0


Example: Using SwyxWare and the GNU Gatekeeper (GnuGk)

The following configuration example shows how a SwyxLink can be established to a GnuGk. It should be possible to make calls from a SwyxWare user (e.g. having MSN 456) to a phone registered at GnuGk (e.g. having extensions 201 and 202), and vice versa:

Configuration in SwyxWare Administration:

  • SwyxWare: Country code: 49, area code: 231, public line access: 0
  • SwyxWare User "Abc" having MSN 456
  • SwyxGate "SwyxGate" including a line with MSN 456
  • SwyxLink "LinkName", locally managed, routed numbers: +49231*

Configuration in Windows registry:
HKLM\Software\Swyx\LinkMgr\CurrentVersion\Options
"SuppressUsingE164asH323Alias"=dword:00000001
HKLM\Software\Swyx\LinkMgr\
CurrentVersion\Options\LinkName
"Is3rdPartyLink"=dword:00000001
"ReplacementL2R_1"="'+49231','0049231'"
"ReplacementR2L_1"="'0049231','+49231'"
"TimeoutForCompleteness"=dword:00000fa0

Configuration file of GnuGk "gnugk.ini":
## A very simple configuration file.
## Everyone is allowed to connect to the status port.

[Gatekeeper::Main]
Fourtytwo=42

[GkStatus::Auth]
rule=allow

[RoutedMode]
GkRouted=1
H245Routed=1

[RasSrv::GWPrefixes]
LinkName=0049231

[RasSrv::RewriteE164]
00492312=2

If the SwyxWare user "Abc" calls 00231201, the call is forwarded to SwyxLink "LinkName". The SwyxLinkManager converts the called party number to 0049231201 and the calling party number to 0049231456. The GnuGk replaces "0049231201" to "201" ("RasSrv::RewriteE164") and forwards the call to the phone registered at GnuGk.

If the device registered at GnuGk calls 0049231456, the GnuGk is using the gateway called "LinkName" because the number starts with 0049231 ("RasSrv::GWPrefixes"). The SwyxLinkManager converts the called party number to +49231456 and resolves it to SwyxWare user "Abc" having MSN 456.


Comment

Comment on this article



If we have any follow-up questions, where can we contact you?

E-Mail Address (optional)


Note

This feedback form can't be used for support requests. Those requests must be directed to your Swyx reseller or distributor.