3CX: Configuring a 3CX V20 PBX (June 2024 Update)

Learn how to configure a 3CX V20 PBX SIP Trunk (Calls & Messaging) with Telnyx through their import provider option using XML.

Karl Hulse avatar
Written by Karl Hulse
Updated over a week ago

3CX is an open standards IP PBX that offers complete Unified Communications out of the box. Suitable for any business size or industry 3CX can accommodate to your every need, from mobility and status to advanced contact center features and more.

3CX simplifies the installation, management, and maintenance of your PBX, making it easy for you to manage, whether on-premises or in the cloud. This article guides you on how to configure this PBX for making and receiving calls over the internet through a next generation carrier like Telnyx!

Important Notes

  • You may need to acquire a license from 3CX when installing this version.

  • V20 has an entirely new management console, named ‘Admin Console’, it is now part of the 3CX client. Users can switch to the admin console directly from the 3CX client without needing a separate login or URL.

  • Telnyx is no longer a supported carrier on 3CX. 3CX has decided to shut down support for third party carriers altogether in some of their versions and to only offer their customers the option to connect with their supported carriers.

  • Ensure that your 3CX version supports third-party vendors (providers not officially supported by 3CX).

    • In this example, we're using a hosted 3CX PRO instance.

Instructions for Configuring a 3CX V20 PBX Trunk


1. Performing the basic setup

In this step, you'll do a basic configuration before creating your Telnyx SIP trunk.

  1. Log into 3CX with the username and password provided to you during the installation process.

    3CX installation credentials page.

  2. On the "Extension Length" tab, specify your extension length by choosing how many digits your extension should have (default is 3). Note that this CANNOT be changed later.

    Extension Length Tab:

    Extension Length Tab

  3. Click "Next".

  4. On the "Admin Email" tab and enter an email you want to use to receive system notifications and other important information.

    Admin Email Tab:

    Admin Email Tab
  5. Click "Next".

  6. On the "Timezone" tab, set your Time zone.

    Timezone Tab:

    Timezone Tab

  7. Click "Next".

  8. On the Operator tab, you can specify a default operator extension. This will be the default destination for all inbound calls, as well as a voicemail extension.

    Operator Tab:

    Operator Tab

  9. Click "Next".

  10. On the "Allowed Countries" tab, you can select all regions permitted for outgoing call.

    Allowed Countries tab.

  11. You can also configure this within the management console via Admin -> Advanced and selecting Allowed Country Codes.

  12. Click "Next".

  13. On the "Prompt set" tab, you can select the language spoken by your automated prompts.

    Prompt set tab.

  14. Click "Next".

  15. On the "Registration" tab, enter your personal detail to register your setup.

2. Configure your PBX

In this step, you'll configure everything needed to start making and receiving calls with 3CX through Telnyx, including network settings, SIP trunks, inbound/outbound routes etc.

2.1. Confirm your Admin -> Advanced settings

  1. Click on the admin cog on the bottom left-hand corner of the console and select Advanced.

  2. Click on the IP Blacklist tab and ensure you allow the appropriate Telnyx SIP Signaling & Media IP Addresses. At the end of the article, you'll find a .json file, which you can use to import all Signaling & Media IPs.

  3. Click on the Network tab

    1. Choose which IP is the Default Internet facing IP Address (Default gateway) for the Network Interface Card.

    2. Set the External IP Configuration with either a static IP address or Dynamic IP Address. The IP address or FQDN of your instance will be required for your SIP Connection that you configure in your Telnyx Account.

    3. If you've selected the hosted instance, these settings will already be preconfigured.

2.2. Create Users | Admin -> Users

  1. Click on the admin cog on the bottom left-hand corner of the console and select Users.

  2. You'll want to create users so you can assign them DID's for inbound and outbound calls, as well as set their outbound caller ID and other important settings.

  3. Click Add User - you will be brought to the General user settings where you can enter their first and last name for now, as seen below.

  4. Click Save.

  5. 3CX Admin Console
  6. I've now created a dummy user called Telnyx HQ that I'll use in subsequent steps. Telnyx HQ has also been given extension 101.

  7. NOTE: When user extensions are created, if an email is included, they will receive an email with their account details.

    1. Account details tab.

2.3. Create a Telnyx SIP Trunk | Admin -> Voice & Chat

  1. Click on the admin cog on the bottom left-hand corner of the console and select Voice & Chat.

  2. Click "Import Provider" near the top of the screen.

  3. A new pop up will open. Enter/select the following:

    1. Upload the telnyx.pv.xml file attachment at the end of this article.

      1. Try your browser in incognito mode or clear cache/cookies if you can't access the file otherwise, please try another browser.

      2. Our support team can also help provide the file if you can't access it.

      3. This will pre-populate certain required trunk setting fields.

  4. You will be brought to the General tab as seen below

    1. Enter Trunk Name: Telnyx LLC

    2. Enter Main Trunk Number: A number purchased from your Telnyx account.

    3. Type of Authentication:

      1. Choose Register/Account based if your SIP Connection has a username and password and specify these values in the Authentication ID and Password Fields.

      2. Alternatively select Do Not Require - IP Based.

2.3.1 Create a Telnyx SIP Trunk | Admin -> DIDs

  1. Click the DID Numbers tab

    1. DID Numbers tab
    2. These will be the other numbers that you purchased on your Telnyx account.

      1. You can import the numbers through a file.

      2. Or you can enter them in manually.

      3. Please take note of the error in the picture as you can't add DID equal to main trunk number.

      4. The trunk number will be automatically added once you save your first DID.

2.3.2 Create a Telnyx SIP Trunk | Admin -> SMS

  1. Click the SMS tab

    1. You can enable messaging on the DID by entering in your Telnyx accounts API Key.

      1. API Key: Visit https://portal.telnyx.com/#/app/api-keys to generate a key and paste into the field.

      2. Copy webhook URL: Visit https://portal.telnyx.com/#/app/programmable-messaging/profiles and make sure to copy and paste this URL into your messaging profile that you've created to allow for inbound and outbound messaging.

  2. Click Save.

  3. At this point you can go back to Users and configure the DID to your Telnyx HQ user, as seen below:

    1. Telnyx HQ is now successfully assigned a DID to make and receive calls & messages.

  4. Click back into Voice & Chat

    1. You'll see the Telnyx trunk is registered in green and ready to handle calls.

2.4. Configure Outbound Rules

  1. Click on the admin cog on the bottom left-hand corner of the console and select Outbound Rules.

  2. Calls to numbers starting with prefix: <leave empty>

  3. Calls from extension(s): <You need to input the extension numbers>

    1. NOTE: ‘100, 101’ is the extension I have used as an example.

  4. Calls to Numbers with a length of: <leave empty>

  5. Make outbound calls on:

    1. This is where you will configure your routes.

    2. You can configure up to 5 routes for calls.

    3. The second and third route will be used as backup.

    4. For each route, digits can be stripped or added.

    5. Strip Digits 0 on Route 1

    6. Strip Digits 1 digit for remaining 2 routes.

  6. This is also one of the many ways an outbound caller ID can be applied within 3CX. If you choose to apply an outbound caller ID on your Outbound Route, it will be applied to all calls that proceed through this route.

  7. Outbound Rules section.

  8. Click Save.

2.4.1. Outbound Call - Example

  1. Visit the Contacts section on the left side bar of the management console and create a new contact with the number in +E.164 format.

    1. Contacts section

  2. Use 3CX's built in WebRTC calling functionality and click the phone icon to call the test number. The WebRTC component will pop up on the right-hand side of the page to show you that the number is being dialed. Don't forget to allow the website access to your microphone and speaker!

    1. WebRTC functionality example
  3. 3CX WebRTC client appears to change the + to 001 as the international exit code.

    1. You can see this with an error from the Advanced -> Event Logs.

    2. Call or Registration to 0017266002345@(Ln.10000@Telnyx LLC) has failed. sip:;lr replied: Not Found (404)

  4. In this case, if your users want to dial internationally, you'll need to consider include a new outbound rule.

    1. Advanced -&gt; Event Logs section.

    2. In this scenario, we're saying for calls prepended with 001, strip the first two digits 00 and replace with a +.

    3. Try testing the outbound call again and see how it works now!

2.4.2. Outbound Call - Important Notes

Important Notes

  • If you choose not to add an outbound caller ID on your outbound route, you can apply it at the user level settings instead.

  • If a caller ID is not set through 3CX, it is likely that the calls will reach us without a caller ID.

    • If this is the case, you may choose to apply a Caller ID Override from your SIP Connection’s outbound options in the Telnyx Portal.

    • Otherwise, your calls will be rejected. Please review our caller ID number policy for accepted number formats.

  • 3CX typically requires number formats to be in +E.164 format. Ensure that your SIP Connections inbound ANI/DNIS number formats are set to +E.164 to avoid rejection of inbound calls by the 3CX system.

  • For additional outbound rule examples, which you may find useful for your own use cases, please see the following support article from 3CX.

2.4.2. Inbound Call Example

  1. For testing purposes, I'll be using User extension 100.

  2. I've downloaded the 3CX IOS app from the app store and opened it.

  3. It's asked me to go back to the management console and click the QR Code icon, next to the phone icon, on the top right of your management console.

    1. User extension 100.

    2. You can also find each users individual QR code within the Users section.

  4. Then click scan QR code on your phone, allow the app access to your camera and point it at the QR code shown on the management console.

  5. I want to make sure that calls to the main trunk number go to this user, so I went back to the Users section, clicked onto my original user, and assigned the main trunk number we configured at the beginning.

  6. I've saved the settings so the changes apply and now I can ring my main trunk number and expect to receive the call on the 3CX app on my personal phone.

  7. Two nice things to note here:

    1. The call comes into the management console

      1. 3CX Incoming Call being received on management console
    2. and into the mobile app on my phone.

      1. Incoming call being received in 3CX mobile app
    3. If you miss the calls, the call will be directed to voicemail and if your User has an email set, they will receive an email as well.

2.5. Example Send & Receive Messages

  1. For testing purposes, I'll use the mobile app to compose an SMS that I will send from user extension 100 to user extension 101. That way we can see inbound and outbound messages in one go!

  2. Visit the Chats section on the mobile app and click the pencil square icon.

  3. A menu will open where you can choose:

    1. Compose Chat

    2. Compose Group Chat

    3. Compose SMS

  4. I've chosen to Compose SMS.

  5. Make sure that you have user extension 101 added as a contact, as then it can be looked up on the phone.

    1. Alternatively, you may be prompted to allow the 3CX app access to your contacts within your phone.

  6. Compose your message and send it!

  7. You'll also be able to these messages in the Messaging Report section of your account.

  8. I logged in as user extension 101 in the management console, following earlier instructions I received via email to create a password and enable 2FA. Once I logged in I was able to see messages from user extension 100 and reply!

    1. 3CX fluid conversation

That's it, you've now completed the configuration of 3CX V20 PBX and can now make and receive calls & messages by using Telnyx as your SIP provider!

Additional Resources

Review our getting started with guide to make sure your Telnyx Mission Control Portal account is setup correctly!

Additionally, you can check out:

Attachment icon
Did this answer your question?