3CX January 12, 2026 14 min read

How to Set Up a SIP Trunk in 3CX with IPComms

Configure your 3CX phone system with IPComms SIP trunking for reliable, affordable US and Canada calling. This guide covers everything from trunk creation to TLS encryption.

Introduction

3CX is one of the most popular PBX solutions available for both Windows and Linux, offering a fully-featured phone system with a modern web-based management console. Whether you are running 3CX on-premise or in the cloud, connecting it to a reliable SIP trunk provider is essential for making and receiving calls over the PSTN.

IPComms provides a straightforward SIP trunk for 3CX that supports IP-based authentication, eliminating the need for complex registration credentials. With competitive per-minute rates for US and Canada calling, high-definition audio codecs, and optional TLS/SRTP encryption, IPComms is an excellent choice for businesses using 3CX.

This guide walks you through the complete 3CX SIP trunk setup process -- from creating the trunk to configuring outbound and inbound routing, caller ID, encryption, and troubleshooting common issues.

Prerequisites

Before you begin your 3CX trunk configuration, make sure you have the following:

  • 3CX Version 20 or later installed and running (Windows or Linux/Debian)
  • Admin access to the 3CX Management Console
  • An active IPComms account (sign up at portal.ipcomms.net)
  • At least one DID (phone number) assigned to your IPComms account
  • A static public IP address on your 3CX server (required for IP-based authentication)
  • Firewall rules allowing UDP traffic on port 5060 (SIP) and ports 10000-20000 (RTP media)

IP Authentication: IPComms uses IP-based authentication by default. Once your static IP is whitelisted in the IPComms portal, no username or password is required for trunk registration. This simplifies configuration and improves security.

Step 1: Create a SIP Trunk in 3CX

The first step in your 3CX SIP trunk setup is creating a new trunk in the admin console:

1

Log into the 3CX Management Console (typically at https://your-3cx-server:5001)

2

Navigate to SIP Trunks in the left sidebar

3

Click Add SIP Trunk

4

In the provider list, select Generic SIP Trunk (since IPComms is not pre-configured in the 3CX templates)

5

Enter a Trunk Name: IPComms

Generic SIP Trunk: Selecting "Generic SIP Trunk" gives you full control over all trunk parameters. This is the recommended approach for connecting to IPComms, as it allows you to configure IP authentication and codec preferences exactly as needed.

Step 2: Configure Trunk Settings

With the trunk created, configure the connection details for your 3CX trunk configuration:

Registrar/Server Settings

FieldValue
Registrar/Server/Gateway Hostnames1.ipcomms.net
Outbound Proxy34.23.59.14
Port5060
Number of Sim. Calls (Channels)As needed (e.g., 10, 20, or unlimited)
Type of AuthenticationDo not require - Loss Auth/IP based

Authentication Settings

Since IPComms uses IP-based authentication, you do not need to enter a username or password. Your 3CX server's public IP must be whitelisted in the IPComms portal:

FieldValue
Authentication IDLeave blank
Authentication PasswordLeave blank
Require RegistrationNo (not required for IP auth)

Whitelist Your IP: Before testing, log into portal.ipcomms.net and add your 3CX server's public IP to the authorized IP list. Without this, calls will be rejected with a 403 Forbidden response.

Codec Priority

Configure codecs in the following priority order for optimal audio quality:

PriorityCodecBandwidthNotes
1G.711a (alaw)87 kbpsBest quality, international standard
2G.711u (ulaw)87 kbpsBest quality, North America standard
3G.72931 kbpsLow bandwidth, good for limited connections

Step 3: Configure Outbound Rules

Outbound rules in 3CX determine how dialed numbers are matched and routed through your SIP trunk. Navigate to Outbound Rules in the 3CX console and create the following rules:

1

Go to Outbound Rules in the left sidebar

2

Click Add to create a new outbound rule

3

Rule Name: US-Canada-Calling

4

Route: Select the IPComms trunk

Dial Pattern Rules

Add these patterns for US and Canada dialing:

PatternPrefix to StripPrependDescription
1NXXNXXXXXX011-digit US/Canada (1 + area code + number)
NXXNXXXXXX0110-digit dialing (prepends country code 1)
011X.3International dialing (strips 011 prefix)
9110Emergency services

Pattern Syntax: In 3CX, N matches digits 2-9, X matches any digit 0-9, and . matches one or more digits. The "Prefix to Strip" removes leading digits before sending to the trunk.

Step 4: Configure Inbound Rules

Inbound rules determine how incoming calls to your DIDs are routed within 3CX. You can route calls to extensions, ring groups, IVR menus, or call queues.

1

Go to Inbound Rules in the left sidebar

2

Click Add DID Rule

3

Name: Main Line

4

DID/DDI Number: Enter your IPComms DID (e.g., 2125551234)

5

Trunk: Select IPComms

6

Set the destination for incoming calls:

  • Extension -- route to a specific user
  • Ring Group -- ring multiple extensions simultaneously
  • IVR / Digital Receptionist -- play a menu ("Press 1 for sales...")
  • Call Queue -- distribute calls among agents

Office Hours: 3CX allows you to set different routing based on time of day. Configure "Office Hours" and "Out of Hours" destinations to route after-hours calls to voicemail or an on-call extension.

Step 5: Configure Caller ID

Set your outbound Caller ID so recipients see your business phone number when you call them:

1

Go to SIP Trunks and edit your IPComms trunk

2

In the Caller ID section, set the Main Trunk No to your primary DID number (e.g., 12125551234)

3

For per-extension caller ID, navigate to Users, edit each extension, and set their Outbound Caller ID to a DID assigned to your account

CID Validation: IPComms validates outbound Caller ID against DIDs assigned to your account. If you send a CID that does not match one of your DIDs, the call may be rejected or the CID may be replaced with your primary number.

Testing Your Configuration

After completing the 3CX trunk configuration, test both inbound and outbound calling:

Verify Trunk Status

In the 3CX Management Console, navigate to SIP Trunks. Your IPComms trunk should show a green status indicator. For IP-authenticated trunks, it may show as "Idle" rather than "Registered" -- this is normal.

Test Outbound Calls

  1. Open the 3CX Web Client or pick up a provisioned desk phone
  2. Dial an external number (e.g., your mobile phone)
  3. Verify the call connects and audio works in both directions
  4. Check that Caller ID displays your DID number on the receiving phone

Test Inbound Calls

  1. From an external phone (mobile or landline), call your IPComms DID
  2. Verify the call rings at your configured destination (extension, ring group, IVR)
  3. Answer and confirm two-way audio quality
  4. Test call features: hold, transfer, conference

3CX Activity Log: Use Dashboard > Activity Log in the 3CX console to monitor call events in real-time. Filter by "Trunk" to see only SIP trunk activity and diagnose issues quickly.

TLS/SRTP Encryption Setup

For enhanced security, you can configure your SIP trunk for 3CX to use TLS for SIP signaling and SRTP for media encryption:

Enable TLS on the Trunk

SettingValue
Port5061
Transport ProtocolTLS
SRTPEnabled (Preferred or Required)

3CX TLS Configuration Steps

1

Edit your IPComms trunk in SIP Trunks

2

Change the port from 5060 to 5061

3

In 3CX Settings, go to Network > Ports and ensure the SIP TLS port is enabled

4

Under the trunk's advanced settings, set the transport to TLS

5

Enable SRTP for media encryption

Certificate: 3CX manages its own TLS certificates. IPComms supports standard TLS 1.2+ connections. No additional certificate configuration is needed on the trunk side -- 3CX will handle the TLS handshake automatically.

Troubleshooting

Common issues and solutions when setting up your 3CX SIP trunk setup:

ProblemCauseSolution
Trunk shows red/offline IP not whitelisted or firewall blocking Verify your public IP is added in IPComms portal. Check firewall allows UDP 5060 outbound to 34.23.59.14.
403 Forbidden on outbound calls IP authentication failure Your 3CX server's outbound IP does not match what is whitelisted. Check NAT -- ensure your public IP is static and correctly listed.
One-way audio RTP ports blocked or NAT issue Open UDP ports 10000-20000 in your firewall. In 3CX Settings, check that the public IP and STUN are configured correctly.
No audio in either direction Codec mismatch Ensure G.711a or G.711u is enabled on the trunk. Disable any codecs not supported by IPComms (e.g., Opus for SIP trunks).
Inbound calls not arriving Missing inbound rule or wrong DID format Verify inbound rule DID matches exactly (10 digits, no leading 1). Ensure the trunk is selected in the rule.
Calls drop after 30 seconds Firewall closing SIP sessions Increase SIP session timeout in your firewall. Enable SIP ALG bypass or disable SIP ALG entirely on your router.
Caller ID not displaying CID not set or invalid DID Set Main Trunk No to your full DID with country code (e.g., 12125551234). Ensure the DID is active in your IPComms account.

Viewing SIP Logs in 3CX

To diagnose SIP-level issues:

3CX Diagnostics
# On Linux, view 3CX SIP logs:
tail -f /var/lib/3cxpbx/Instance1/Data/Logs/sip.log

# Filter for IPComms traffic:
grep "34.23.59.14" /var/lib/3cxpbx/Instance1/Data/Logs/sip.log

# On Windows, logs are located at:
# C:\ProgramData\3CX\Instance1\Data\Logs\sip.log

SIP ALG Warning: Many consumer routers have SIP ALG (Application Layer Gateway) enabled by default. This feature often corrupts SIP packets and causes registration failures or one-way audio. Disable SIP ALG on your router for best results with any SIP trunk.

Get Started with 3CX + IPComms

Sign up and connect your 3CX system in minutes. IP authentication means no complex credentials -- just whitelist your IP and start calling.

Related Articles