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.

DONE Navigate to: SMP > Call Routing > Routes > _X.

  • Use Goto.INTERFACE.1.38 or newer for the DefaultOut route

DONE 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

DONE 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. ALERT! 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.

DONE 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

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

DONE 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

DONE 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
  • Allow Qualify to "Yes

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

Copyright © Escaux SA