sipXecs, the Open Source SIP PBX for Linux is based on a fully distributed architecture that allows you to leverage any SIP compliant components anywhere in the network. In particular, PSTN / SIP gateways can be added as autonomous devices (with their own IP address) where sipXecs provides centralized configuration and management (certain vendor's models), and flexible XML-based call routing including least cost routing of calls and load balancing. Redundancy and HA is therefore achieved easily as an inherent feature of the chosen architecture. The sipX system also scales using load balancing mechanisms that rely on DNS SRV records and provides alternative routes on demand to distributed gateways. In particular, this means that for large PBX systems a large number of PSTN gateways and phones register with a few strategically located sipXecs servers. In contrast to other systems, SIP strictly separates between media (RTP) traffic and signaling (SIP) traffic optimizing performance for both.
Models and features
Please refer to AudioCodes Gateways for information on models and features
Using AudioCodes gateways with sipXecs
sipXconfig since version 3.8 supports several types of AudioCodes gateway configuration. If for some reason you cannot use sipXconfig to configure your gateways check Legacy AudioCodes gateway support
AudioCodes gateways are complicated devices that support sophisticated configuration scenario. This page describes how to use those gateways in conjunction with sipXecs. In that application AudioCodes gateways are used to bridge the gap between SIP and PSTN worlds. All routing and number manipulation is performed by sipX proxy and its dialing plan capability. All protocol and media translation is performed by gateways. Some gateways features such as media server, number translation are not used.
DNS and Syslog
By default AudioCodes are configured to use BootP in order to retrieve some basic IP parameters and location of TFTP server. BootP does not provide all the parameters that are typically configured through DHCP: for example DNS server address has to be configured manually.
sipXconfig allows for global configuration of DNS server for all supported devices: you need to add DNS gateway address on Device/Network Parameters screen.
Optionally you can also add Syslog server address. If Syslog server is configured sipXconfig will automatically enable logging to that server for all AudioCodes gateways. This is useful when debugging new configurations. Make sure that you Syslog server is configured to accept events from remote sources.
Go to sipXconfig Device->Device Files screen. Select AudioCodes firmware type for your gateway, press Apply and upload the firmware file (with .cmp extension). Once the firmware is uploaded activate it and press OK.
AudioCodes gateway require that your BootP server returns the following parameters:
- IP Address of the gateway
- Address of TFTP server
- Name of the firmare file
- Name of the configuration file generated by sipXconfig
Most DHCP servers support BootP: refer to you DHCP server manual on how to configure that. If you use dhcpd server, instructions are below.
BootP for dhcpd server
dhcpd is configured by editing /etc/dhcpd.conf file. You need to add the following lines to your file:
next-server specifies the FQDN of the TFTP server, it has to be the name of the machine on which sipXconfig is running since it will contain both firmware (.cmp) and configuration (.ini) file.
The MAC address of the gateway has to be specified in hardware ethernet line. The same address is used to create the .ini file name specified in filename line.
host name is not used by sipXconfig at the moment but it probably makes sense to use the same name in sipXconfig UI.
BootP for Microsoft Windows DHCP Server
Important: This is untested: can someone verify that it actually works and upload UI screenshot
You need to add a separate reservarion for each AudioCodes gateway. Select Show the BootP Table Folder from Action->Properties dialog. Specify the MAC address of the AudioCodes gateway, IP address and subnet mask.
You also need to provide the address of the TFTP server and BootP File name in the format:
where firmware file corresponds to the name of the firmware uploaded and activated with sipXconfig and mac_address is the MAC address of the gateway without any colons or dashes and with all hexadecimal digits converted to upper case.
Stand-Alone Survivability Feature
FXS gateways connect your analog phones to SIP network. They behave in way similar to ATA devices supported by sipXconfig. To configure MP-11x FXS gateway go to sipXconfig Phone screen and add new select AudioCodes gateway from drop-down list. Enter MAC address as the Serial number of the gateway. Choose the name and - optionally - description and press OK.
In order to be able to connect FXS ports you need to add Lines/Users to the gateway. You can only configure one line per gateway FXS port. sipXconfig will let you to search for users in the same way it's done when configuring SIP phones. The line order matters: the first line in UI will be configured on FXO 1 port, the second - on FXO 2 port, etc.
Please note that since all lines have to share the same proxy/registrar address you cannot configure External Lines on AudioCodes FXS gateways. All your SIP registrations have to be local to sipX SIP domain.
PSTN gateways connect your SIP enable IP network and legacy PSTN network through analog (FXO gateways) or digital interface. Similarly as in case of unmanaged PSTN gateways you need to adjust your dialing plan. Usually it involves adding special dial rules that forward calls to some numbers (based on dialed prefix, number of digits etc) to PSTN gateway.
Create a new Gateway
Creating a new gateway is very simple using the sipXecs Configuration Server Web user interface. Go to Gateways, then select Add Gateway.
Add new gateway: Therefore, select your gateway type from the list.
Name: Pick a name for the gateway. This is not a User ID but just the name of this gateway.
Address: This is the IP address or fully qualified host name of the gateway (resolvable by DNS). This address is used by the sipX system to address the gateway when routing calls.
Serial number: This is the MAC address of the gateway. The MAC address is used to generate the configuration profile.
Several gateways can be specified. These gateways can be in different locations as long as they can be reached over a network without crossing NAT boundary.
In order to allow gateway to send and receive PSTN calls you need to add FXO ports. Go to gateway Ports tab and then click on Add Port link. Only add ports that are connected to PSTN.
For each FXO port you can specify extension to which incoming calls will be forwarder. By default all incoming calls are forwarded to operator. You can specify an alias or extension of the specific user, auto-attendant, ACD line or huntgroup instead.
For outgoing calls gateway will search for an unused port. Currently you cannot specify which calls will be send through which port.
Configure your digital (T1/E1) trunks by adding ports on Gateway->Ports tab. You can specify parameters of the trunk there: protocol type, framing method, clocking options.
By default newly added trunks use T1 NI2 ISDN with ESF CRC6 framing and use full span (1-23) of B-channels. The defaults can be changed by clicking on a port label and modifying its parameters. You can configure fractional spans by specifying starting and ending B-channel number.
There is no automatic dialing configured on digital trunks. You need to either add an alias that corresponds to DID phone number or add a new rule to dialing plan that strips common prefix.
Outgoing calls are treated in a similar way as in case of FXO gateway. The call will use the next available B-channel on any of the configured trunks in a cycle ascending order. Optionally you can specify a prefix for a trunk to force routing through a specific trunk (not through a specific B-channel though).