Zentrunk & Freeswitch - Regular Trunking
Overview
This documentaion provides a basic configuration to get FreeSwitch up and running with Plivo as the external SIP gateway. This documentation was written using a Debian Jessie GNU/Linux System running FreeSwitch 1.6.6.To get started with Zentrunk using FreeSwitch you would need to do the following:- Install FreeSwitch on your environment.
- Create a Trunk on Zentrunk using Plivo Console.
- Configure an Outbound Trunk.
- Configure the Inbound Trunk.
Installation of Freeswitch
On your Debian system, execute the following commands in the terminal:- Update the Package Manager.
- Add the Public Key of FreeSwitch package to local Package Manager.
- Add the FreeSwitch repository URL to the source list of local Package Manager.
- Install the FreeSwitch package.
Configuring an Outbound Trunk
To configure Freeswitch to connect to your Plivo Zentrunk, locate the root configuration of FreeSwitch on your machine. These locations vary from platform to platform.- For Debian Jessie GNU/Linux System, the root configuration is present at /etc/freeswitch/.
- For Windows, the root configuration is located at C:\Program Files\FreeSWITCH\conf.
- /usr/local/freeswitch/conf
- /opt/freeswitch/conf
- Create a new SIP Profile.
- Create a Dial Plan.
Step 1: Sip Profile
- Create a new file named “zentrunk.xml” at /etc/freeswitch/sip_profiles/external/.
- In zentrunk.xml, create a new gateway with your Plivo Zentrunk details (refer the below given images to get your Plivo Trunk details).
Termination SIP Domain of your Plivo Trunk:

TestAuthGroup Credentials:

Step 2: Dialplan
Next, you should setup a Dial Plan to use the Plivo SIP Profile created in Step 1.- Create a new file named “02_zentrunk.xml” at /etc/freeswitch/dialplan/default/. If you already have a dialplan prefixed by 02, you can choose the another number.
Step 3: Reload Configurations
- Load the fs_cli utility. Execute fs_cli in your terminal.
- Reload the dialplan. Execute reloadxml.
- Add the new SIP Profile, Execute sofia profile external rescan
Test your setup
FreeSwitch instances have default users and SIP passwords preconfigured. To prevent being hacked, we recommend you change the default password.Open vars.xml located at /etc/freeswitch/ and edit the following line:Make an outbound call
When the account is successfully enabled on X-Lite, it is ready to make calls. Enter any valid 11 digit US number in your X-Lite and hit on the call button. This call would hit your freeswitch server first, then go through Plivo Zentrunk and finally reach the destination number.To know more about configuring X-lite for outbound calls, check the X-lite configuration guideConfiguring an Inbound Trunk
To configure the Freeswitch to connect to your Plivo inbound Zentrunk, first locate the root configuration of FreeSwitch on your machine. These locations vary from platform to platform.- For Debian Jessie GNU/Linux System, the root configuration is present at /etc/freeswitch/.
- For Windows, the root configuration is located at C:\Program Files\FreeSWITCH\conf.
- /usr/local/freeswitch/conf
- /opt/freeswitch/conf
- Create a Dial Plan.
- Create a User
- Change access control list
Step 1: Dialplan
Create a new file named “03_zentrunk.xml” at /etc/freeswitch/dialplan/default/. If you already have a dialplan prefixed by 03, you can choose the another number. Use the XML Under the context =publicStep 2: Access control list
Open the file acl.conf.xml at autoload_configs/acl.conf.xml. We will have to Whitelist Plivo outbound SIP IP found in zentrunk page.Step 3: Create a User
Open the file found at freeswitch/directory/default/1000.xml Use the below XML as a reference to edit the user 1000.Note: User ID & Authorization name will be `1000` and Value of Default password will be `1234`.
Open vars.xml located at /etc/freeswitch/ and edit the following line:
Note: Freeswitch has to be restarted if any changes were made to `vars.xml`.
Step4: Reload Configurations
- Load the fs_cli utility. Execute fs_cli in your terminal.
- Reload the the changes made to the XML’s. Execute reloadxml.
- Reload the ACL file. Execute reloadacl.
- Reload the dialplan Execute Reload mod_dialplan_xml.
- Restart the service . Execute Service freeswitch restart.