Settings for SIP trunk providers
Summary
You can find below the list of provider connected to Escaux PABX
Provider |
Communication Server |
Supported (Yes/No/Best Effort) |
IMS Proximus |
Asterisk 1.2 |
Yes |
|
Communication Server 2 |
Yes |
|
Communication Server 3 |
Yes |
Colt Voip with VPN |
Asterisk 1.2 |
Yes |
|
Communication Server 2 |
Yes |
|
Communication Server 3 |
Yes |
Colt Voip on Internet |
Asterisk 1.2 |
No |
|
Communication Server 2 |
Best Effort |
|
Communication Server 3 |
Best Effort |
Vodaphone NL |
Asterisk 1.2 |
Yes |
Speakup |
Asterisk 1.2 |
Yes |
Telenet |
Communication Server 2 |
Yes |
|
Communication Server 3 |
Yes |
IMS Orange |
Communication Server 2 |
Yes |
|
Communication Server 3 |
Yes |
WIN |
Communication Server 3 |
Yes |
Others |
- |
Best Effort |
As standard we support the following feature set except if mentioned below
- Receive calls
- Make calls with correct CLI
- CLIR (not supported for all providers)
SIP trunk Validation
For all SIP trunk validation, please refer to this document in attach
General settings
This section lists general information applicable to all providers.

Navigate to: SMP > Call Routing > Routes > _X.
- Use Goto.INTERFACE.1.38 or newer for the DefaultOut route

Navigate to: SMP > Communication Flow Studio > Global Parameters > add
- Parameter Name: SipPrivateAssertedIdentityNumber
- Friendly name: SipPrivateAssertedIdentityNumber
- Value: Refer to the specific provider settings below.
- Type: Extension
- Owner type: AdminConst

Navigate to: SMP > Communication Flow Studio > Global Parameters > add
- Parameter Name: SipPrivacyHeader
- Friendly name: SipPrivacyHeader
- Value: Refer to the specific provider settings below.
- Type: String
- Owner type: AdminConst
Requirements
To effectively use the SipPrivateAssertedIdentityNumber and SipPrivacyHeader variables you have to use at least one of the following actions when you dial the SIP interface:
Provider specific settings
Here's a list of providers and their appropriate settings:
Belgacom IMS
Asterisk-1.2x
Supported Configuration
Module |
Version |
Asterisk codec negotiation parameter |
Sip Can Re-invite |
Trunk codec Configuration |
Phone codec Configuration |
Asterisk-1.2x |
2.34.0 |
Independent |
DISABLED |
G711,G729 |
G729 |
SIp Trunk Parameter Configuration
2 trunks have to be created from each sop towards the 2 Belgacom IMS proxy's. If it is an active-active SOP architecture, IMS have to be configured to send all calls to the primary SOP.

This is not the default Belgacom IMS configuration !
Trunks need to send their "To: " as
phonenumber@ims.belgacom.be;user=phone. For this to work, the host should be ims.belgacom.be. To be able to send it to the correct ip address, you should use an outbound proxy. Trunk version 1.37+ allows you to set the correct values
Example:
Outgoing calls
When placing calls, the caller and called number should always be sent in E164 format (ex: +32123456), except for special numbers (1212,...).
To correctly send the caller number, the configuration in Outgoing Number Mapping has to be adapted.

Navigate to: SMP > Call Routing > Outgoing Number Mapping
Adapting the caller number can be achieved by routing outgoing calls through a callflow
Anonymous calls
The Sip Privacy header should be set to "user; header; session" for anonymous outgoing calls.
This can be achieved using goto.INTERFACE 1.38 and setting global parameter SipPrivacyHeader to "user\; header\; session" (semicolons are special characters in the telephony process they have to be escaped). The Sip Privacy header will be put every time the caller number is hidden (in Outgoing Number Mapping). The variable SipPrivateAssertedIdentityNumber should contain the main number.
In order to not show the "00" as caller id for anonymous outgoing calls, remove the national and international redial prefixes. See above.
Anonymous call + outgoing number mapping
Version 1.41.0 of goto.INTERFACE includes a new "CLIR" mode. That way you can hide the number for every outgoing call and keep the Outgoing number mapping.
If you want to hide the Caller ID only in some context or only for some extensions you can setup an outgoing callflow using a CallInterface in version 1.10.1+. See the
CallInterface documentation for more informations.
Incoming calls
IMS will always send the number (caller and called id) in E164 format:
- incoming number mapping should contain the number in this format
- to be able to redial someone, a route for "+..." should exist (see outgoing calls)
Emergency calls
When calling an emergency number (0100, 0101, 0112,...), the called id (=emergency number) and the caller id should be modified when the user is at a remote site (to make sure emergency services know where to go):
- Caller id: the main number of this site (a number where the responsible person can be reached, ex: reception)
- Called id: prefix the emergency number with 1992 and suffix it with the area code.
Example: you are located in a remote site in tremelo (area code 3120) and want to call 112. The responsible person on this site has phone number +3216123456:
- callerid : +3216123456
- called id : 19921123120
Blind transfers
Imagine following scenario:
A calls with his mobile (0475123456) to B (extension 392 on the SOP).
B does a blind transfer of this call to an external number.
The 'from' will contain '0475123456'. Because of this the call fails (invalid callerid).
According to info from Belgacom: the callerID has to be B's callerid (like for an attended transfer). For this, you need an outgoing callflow (you only want to set this callerid for outgoing calls).
A variable ${BLINDTRANSFER} will be set by asterisk if the call was blind transferred, containing the phone who did the blind transfer. With this info, you can do a dbGetDirectoryInfo to find the extension of this phone and set it as callerid.
This has been implemented in outgoing callflow given in example :
IMSoutgoingCallflow.csv
Communication Server
Supported Configuration
The possibility to mix codecs and activate or deactive SIP canreinvite depends on the chosen architecture. Please contact us for more information.
Belgacom NGN
Supported Codec Configuration
In case of problems on the level of codecs and Belgacom NGN, we recommend to upgrade to the IMS platfrom as it tested and validated with the Escaux solution.
Sip Trunk configuration
- SipPrivateAssertedIdentityNumber: Belgacom requires the SipPrivateAssertedIdentityNumber variable to be set to the first number assigned to the Sip trunk. An example of the value for this variable:
026860900
- SipPrivacyHeader: The Sip Privacy header should be set to "user; header; session". Because semicolons are special characters in the telephony process they have to be escaped. A valid value for this is
user\; header\; session

If these values are incorrect, Belgacom will cut the communication after exactly 60 seconds!

Navigate to: SMP > Resources > Interfaces > SIP Trunk
- Codec: set alaw as codec and disallow all other codecs.
- Can reinvite: No.
- Allow qualify: This should always be disabled for Belgacom sip trunks
Incoming number mapping

Navigate to: SMP > Call Routing > Incoming Number Mapping
All the numbers known on the sip trunk must be defined in the Incoming Number Mapping on the SMP. They can point to a random/dummy/same extension.
3 extra extensions must be added in incoming number mapping. Extensions "s", "Unknown" and "anonymous". You're currently not able to add the anonymous extension without disabling javascript in your webbrowser. The "s" extension is needed because of the SIP OPTION ping messages (see below). The "anonymous" extension is necessary because this is the extension sent to Belgacom in case of CLIR. In case these extensions don't exist, CLIR calls will hang up after exactly one minute. You can map these extensions to the internal "s" extension (see below).
SIP OPTION ping messages
Belgacom sends SIP OPTION messages every minute to see if the PBX is still alive. In order to answer correctly to these messages the following configuration is necessary:
- Add an extension "s" in the internal directory.
Speakup
- SipPrivateAssertedIdentityNumber: Speakup requires this variable set to the first number (international format) assigned to the trunk +
@speakup.nl
appended to it. A valid value is 317123456789@speakup.nl
- SipPrivacyHeader: Speakup requires this variable to be set to
id
. A value value for this operator is id
Vodafone
- SipPrivateAssertedIdentityNumber: Vodafone requires this variable set to the first number assigned to the trunk (international format). A valid value is
317123456789
- SipPrivacyHeader: Vodafone requires this variable to be set to
id
. A valid value for this operator is id
Colt VoIP access
Using module Asterisk-1.2x
In the SIP Trunk resource
Using module Communication Server
In the SIP Trunk resource
- Allow Qualify to "Yes"
- Send Caller ID method: Use Remote Party-ID header
Telenet VoIP access
Known issues
T.38 was not approved by Telenet during the validation (not working on 70% of attempts), where G.711 performed 100%
Same settings as for COLT !
IMS Orange
See doc attached *
Escaux_design_guide_v1_1.docx: Escaux_design_guide_v1_1.docx
WIN
Google Drive =>
https://drive.google.com/open?id=1HQ44_lcVJ_vwnkhoWXKFvVLsO_51QEjT
See doc linked =>
https://drive.google.com/open?id=14Lv2YZ03soThCA0eGzd8_lWYMmdOT7maNfz5jE56eR8
Test list =>
https://drive.google.com/open?id=1SsIZ_MOYt41RAXgF0iNgAqL2p5q0IzLSRP1NDadHlMk
On Google Drive, there are 2 extract from Fusion 4 ( directory & resource interface) in csv format with all settings applied