Page tree
Skip to end of metadata
Go to start of metadata


Do you need help?

Scenario 1: XCALLY and VoIP provider

Scenario 2: XCALLY and PSTN SIP Gateway (Digium E1)

Example - Gateway Digium E1

XCALLY TRUNK configuration:

DIGIUM Gateway configuration:

Menù Configuration - SIP Endpoint

Menù Configuration - T1/E1*

*Change your configuration according to the PSTN line typology you are going to use 

Menù Configuration - Call Routing Rules

Configure here two rules: one to route the incoming calls (from PSTN port1,2 etc... to XCALLY SHUTTLE) and the outbound calls (from XCALLY SHUTTLE to the PSTN port1,2, etc...)

Inbound calls:

Outbound calls:


Please do not forget to properly configure the Inbound - External and Outbound rules here inside XCALLY SHUTTLE Dialplan section, to properly route the in/out calls! 




ssh to your XCALLY server

issue the command asterisk -r

issue the command sip show peers

As a result, you should see something like this:

Cached RT  trunk1/trunk1           A.X.Y.Z (Your Digium IP address here)                    D  Yes        Yes         A  5060     OK (19 ms) 

If not, check carefully your configuration again!

Finally, try to place in/out calls and see everything is properly routed.


Scenario 3: XCALLY and TWILIO


The following Interconnection Guide provides you with a step-by-step configuration to use XCally Call Center with Twilio Trunks:



1. Access your Twilio account and order the Inbound DID number you want to associate with the SIP Trunk


2. Locate the Twilio section Elastic SIP Trunk and select the tab Configure, then click on Create SIP Trunk


Give a name to the new SIP Trunk and Save

3. Edit the created SIP Trunk and fill in the:
3.1 Termination: create your own Twilio Termination SIP URI (in our example


3.2 Click on to + Create IP Access Control List section to enable only the IP address of your XCALLY server for security reason (in our example


3.4 SAVE the Termination section configuration
3.5 Select the Origination tab and create your Origination URI (We suggest you to fill it with: sip:[email protected])


3.6 Select the Numbers Tab and ADD the number you have bought in order to associate the number to the created Trunk and SAVE


3.7 IMPORTANT: For inbound call being properly routed to your XCALLY server, you need to Whitelist the Twilio IP address, so to accept VoIP traffic from the Twilio servers:
Check your Firewall and XCALLY server iptables to accept those IP address requests!

4. Login inside your XCALLY administrator web interface

 4.1 Locate the section Trunks and CREATE a Trunk (click on New Trunk)


4.2 Fill in the name you want and:
Password: the password you have set previously inside your Twilio Trunk
defaultuser: the username you have set previously inside your Twilio Trunk
4.3 EDIT the created trunk and be sure inside the General Tab you have Insecure = port invite


4.4 Locate the trunk Advanced Tab and fill in:
fromdomain: YOUR TWILIO TERMINATION URI (in our case
fromuser: your complete phone number (in our case +3902947568)


Outbound call setup:
4.5 Locate the Section Dialplan -> Outbound and ADD a new route like +.


4.6 EDIT the created route and go inside the Routes Tab you find inside. 
Click on New Route to SET the TWILIO Trunk in order to route such outbound calls



You should now be able to place an outbound call using any XCALLY Agent, dialing the international number from the XCALLY phone bar or your agent SIP phone (i.e. +13837834635)

Inbound call setup:
4.7 Locate the section Dialplan -> Inbound -> External and ADD your Twilio DID.
Important: the DID must be what you have set inside the Twilio Originating URI. For example let's say you have setsip:[email protected], then you must create the DID=02947568 inside the XCALLY inbound external section:


4.8 EDIT the DID you have just created and select the applications you would like the inbound call to be routed (i.e. an IVR, a Queue, etc...)


Here it is an example where we route the inbound calls inside the Order Queue from Monday to Friday 9 AM - 9 PM and we route the call to an after hour message all the other times


You should now be able to place and receive inbound phone call using the Twilio Elastic SIP Trunk, managing your customer care routing inside the powerful XCALLY environment.

 Optional: TLS encrypted TRUNKS
In case you have enabled the Twilio TLS for encryption (please check your Twilio Trunk settings) you can do the same on to the XCALLY Trunk
A. Be sure you enable the TLS on Twilio:


B. Set the Advanced section parameters according to the following values:


Change the above two parameters ONLY if in case you enable the TLS on Twilio


For the international calls please follow the steps described here in order to enable terminations: ... ernational



Scenario 4: XCALLY and Gateway Inalp-Patton


Please check the proper Patton configuration with your gateway supplier.




Please do not forget to properly configure the Inbound - External and Outbound rules here inside XCALLY SHUTTLE Dialplan section, to properly route the in/out calls!


Scenario 5: XCALLY and FreePBX

Create a SIP extension on your FreePBX (your inbound calls will be routed on xCALLY)


Choose an extension number in according to your dial plan, in the example below we used 9000


Pay attention to set Outbound Concurrency Limit to “No Limit” and Call Waiting to “Enable”.


Change, if you want, the password of the extension. In the example, the password is xcally1234


Create a new trunk

Save changes, EDIT the trunk and  add the “From Domain” and “From User” in the advanced settings


In this example, the calls from FreePBX go to the Support queue



In this example, the calls starts with 9 go through the FreePBX trunk

This way the outbound calls from XCALLY to FreePBX will be automatically managed!

Inbound BASIC setup:

Create the DID routes on FreePBX and under the section Connectivity -> Inbound routes.

Set the extension destination at the bottom of the configuration (in our example 9000)

Inbound ADVANCED setup:

How to manage multiple DIDs destination incoming from FreePBX and routed to XCALLY using ONE SINGLE TRUNK

Create the DID routes on FreePBX and under the section Connectivity -> Inbound routes.


For each inbound route setup the same destination (i.e. Set Destination = 9000 in our example)

ssh on your FreePBX server

[[email protected] ~]# cd /etc/asterisk/
[[email protected] asterisk]# nano extensions_custom.conf

edit the file extensions_custom.conf and ADD the following instructions inside the file:

exten => _YOURDID,1,Dial(SIP/${EXTEN}@9000)
exten => _YOURDID,n,Hangup()

Replace YOURDID with your own DIDs.

Replace 9000 with the FreePBX extension you have created to setup the XCALLY Trunk


For example:

exten => _124738443XX.,1,Dial(SIP/${EXTEN}@9000)
exten => _124738443XX.,n,Hangup()


Issue the commands 

asterisk -r
dialplan reload


Add the XCALLY external inbound dialplan:

Scenario 6: XCALLY and Cisco Linksys 8800