3CX - SIP Trunk Configuration Guide

Configuring 3CX SIP Trunks with the VoiceHost platform

  1. Click on 'VoIP Providers' in the Tree View menu on the left-hand side
  2. Click 'Add Provider' and enter the supplied details and a name for the account
  3. Ensure the domain provided in our control panel is visible and traffic is routed to 3CX via the chosen router and firewall is configured accordingly.
  4. Once registered, configure Inbound Rules to allow for calls to be received. (FULL UK NUMBERING RULES APPLY)
  5. You now have the ability to make and receive calls.
  6. Ensure you have bandwidth available along with SIP channels configured on both 3CX and the Portal
  7. Every required DID must be mapped in order for calls to be routed
  8. Ensure the security of PBX is enabled and that security features are used in the Portal.


Basic Trunk Provisioning can be achieved by importing the XML data below:

<?xml version="1.0"?>
<doc xmlns:tcx="http://www.3cx.com">
<header>
    <type>gateway-template</type>
    <version>6278</version>
    <time>2010-06-10 15:30:00</time>
    <name>VoiceHost Trunk</name>
    <url>http://www.3cx.com</url>
    <image>3cx.png</image>
    <description></description>
</header>

<data>
    <device>
      <type>provider</type>
      <manufacturer>VoiceHost Trunk</manufacturer>
      <model>Provider</model>

      <!-- Friendly Name -->
      <field name="Name">Generic</field>

      <!-- Hostnames and Port Numbers -->
      <field name="RegistrarHost" status="readonly">REPLACE WITH VOICEHOST DOMAIN</field>                            <!-- Registrar & Proxy IP / FQDN  -->
      <field name="RegistrarPort" status="readonly">5060</field>                                            <!-- Registrar & Proxy Port Number -->
      <field name="ProxyHost"></field>                                                                        <!-- Proxy IP / FQDN -->
      <field name="ProxyPort"></field>                                                                        <!-- Proxy Port Number -->
      <field name="StunServerHost"></field>                                                                    <!-- StunServer IP / FQDN -->
      <field name="StunServerPort"></field>                                                                    <!-- StunServer Port Number -->

      <!-- Registration Settings -->
      <field name="LineAuthenticationPassword" status="readonly"></field>
      <field name="RegistrationExpiry">60</field>                                                               <!-- Registration Expiry -->
      <field name="RequireAuthFor">4</field>                                                                <!-- No=1; In=2; Out=3; Both=4 -->
      <field name="IpInContactReg">1</field>                                                                <!-- Ext=1; Int=2; Both=3; Specified=4 -->
      <field name="IpInContactRegList"></field>                                                                <!-- List of PBX IPs -->
           <!-- Provider Capabilities -->
      <field name="IsSupportReinvite">1</field>                                                                <!-- Yes=1; No=0 -->
      <field name="IsSupportReplaces">1</field>                                                                <!-- Yes=1; No=0 -->

      <!-- Location of Destination Number -->
      <field name="DestNumberIn_TO">1</field>                                                                <!-- Yes=1; No=0 -->
      <field name="DestNumberIn_REQLINEURI">1</field>                                                        <!-- Yes=1; No=0 -->
      <field name="DestNumberIn_RPID_CALLED">0</field>                                                        <!-- Yes=1; No=0 -->

      <!-- Other Options -->
      <field name="IsBindToMS">1</field>                                                                    <!-- Bound=1; NotBound=0 -->
      <field name="UseIPInContact">0</field>                                                                <!-- UseIP=1; DoNotUseIP=0 -->
      <field name="CallerIDIn">1</field>                                                                    <!-- Fm=1; To=2; ReqURI=3; Con=4; RemPtyClg=6 -->
      <field name="CalledNumberIn">2</field>                                                                <!-- Fm=1; To=2; ReqURI=3; Con=4; RemPtyCld=5 -->

    <codecs>
      <codec rfcname="pcmu"/>
      <codec rfcname="pcma"/>
      <codec rfcname="gsm"/>
      <codec rfcname="g722"/>
    </codecs>

      <!--Source Identification - Use Default PBX Internal Source Identification-->
      <!--<field name="MatchStrategy">1</field>-->
      <!--<field name="Source" parameter="" custom=""></field>-->
      <!--<field name="Source" parameter="" custom=""></field>-->
      <!--<field name="Source" parameter="" custom=""></field>-->
      
      <!-- Gateway / Provider Inbound Parameters -->
      <!--<field name="ParameterIn" custom="" parameter="RequestLineURIUser"></field>-->
      <field name="ParameterIn" custom="" parameter="RequestLineURIHost">$DevHostPort</field>
      <!--<field name="ParameterIn" custom="" parameter="ContactUser"></field>-->
      <field name="ParameterIn" custom="" parameter="ContactHost">$DevHostPort</field>
      <field name="ParameterIn" custom="" parameter="ToDisplayName">$CalledName</field>
      <field name="ParameterIn" custom="" parameter="ToUserPart">$CalledNum</field>
      <!--<field name="ParameterIn" custom="" parameter="ToHostPart"></field>-->
      <field name="ParameterIn" custom="" parameter="FromDisplayName">$CallerName</field>
      <field name="ParameterIn" custom="" parameter="FromUserPart">$CallerNum</field>
      <!--<field name="ParameterIn" custom="" parameter="FromHostPart"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="UserAgentTextString"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="RemotePartyIDCalledPartyDisplayName"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="RemotePartyIDCalledPartyUserPart"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="RemotePartyIDCalledPartyHostPart"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="RemotePartyIDCallingPartyDisplayName"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="RemotePartyIDCallingPartyUserPart"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="RemotePartyIDCallingPartyHostPart"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="ProxyAuthID"></field>-->
      <!--<field name="ParameterIn" custom="" parameter="ProxyAuthRealm"></field>-->

      <!-- Gateway / Provider Outbound Parameters -->
      <field name="ParameterOut" custom="" parameter="RequestLineURIUser">$CalledNum</field>
      <field name="ParameterOut" custom="" parameter="RequestLineURIHost">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="ContactUser">$AuthID</field>
      <field name="ParameterOut" custom="" parameter="ContactHost">$ContactURI</field>
      <field name="ParameterOut" custom="" parameter="ToDisplayName">$CalledName</field>
      <field name="ParameterOut" custom="" parameter="ToUserPart">$CalledNum</field>
      <field name="ParameterOut" custom="" parameter="ToHostPart">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="FromDisplayName">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="FromUserPart">$LineNumber</field>
      <field name="ParameterOut" custom="" parameter="FromHostPart">$GWHostPort</field>
      <!--<field name="ParameterOut" custom="" parameter="UserAgentTextString"></field>-->
      <!--<field name="ParameterOut" custom="" parameter="RemotePartyIDCalledPartyDisplayName"></field>-->
      <!--<field name="ParameterOut" custom="" parameter="RemotePartyIDCalledPartyUserPart"></field>-->
      <!--<field name="ParameterOut" custom="" parameter="RemotePartyIDCalledPartyHostPart"></field>-->
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyDisplayName">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyUserPart">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyHostPart">$GWHostPort</field>
      <!--<field name="ParameterOut" custom="" parameter="ProxyAuthID"></field>-->
      <!--<field name="ParameterOut" custom="" parameter="ProxyAuthRealm"></field>-->

    </device>
</data>
</doc>


 

Help Tags: 

Videos

Call Encryption - TLS/SRTP walkthrough
Embedded thumbnail for Call Encryption - TLS/SRTP walkthrough
Hosted Directory LDAP - Lightweight Directory Access Protocol
Embedded thumbnail for Hosted Directory LDAP - Lightweight Directory Access Protocol
Cloud PBX Explainer
Embedded thumbnail for Cloud PBX Explainer
Zoiper Softphone Configuration
Embedded thumbnail for Zoiper Softphone Configuration
Call Conferencing
Embedded thumbnail for Call Conferencing
Receptionist Console
Embedded thumbnail for Receptionist Console

Search Help Portal

Get in touch

VoiceHost Limited
Norfolk Tower
Surrey Street
Norwich
NR1 3PA

UK Freephone 0800 2 545454

International +44 1603904090

support [at] voicehost.co.uk

Connect With Us

Download the iOS App from the Apple App Store

Get the Android app from the Google Play store