FreePBX January 8, 2026 11 min read

How to Set Up a SIP Trunk in FreePBX with IPComms

FreePBX makes SIP trunk configuration easy with its web-based GUI. This guide walks you through creating a PJSIP trunk, configuring outbound and inbound routes, and connecting your FreePBX system to IPComms.

Prerequisites

  • FreePBX 15+ installed and accessible via web browser
  • An IPComms account with SIP credentials (sign up at portal.ipcomms.net)
  • At least one DID (phone number) assigned to your account
  • Your server's public IP address (for IP authentication)
  • Network access to s1.ipcomms.net on ports 5060 (UDP) and 10000-20000 (UDP)

FreePBX vs Asterisk: FreePBX is a web GUI for Asterisk. Everything you configure in FreePBX generates Asterisk config files behind the scenes. If you prefer editing config files directly, see our Asterisk PJSIP guide instead.

Step 1: Create a New Trunk

1

Log into your FreePBX admin panel (typically http://your-server/admin)

2

Navigate to Connectivity > Trunks

3

Click Add Trunk and select Add SIP (chan_pjsip) Trunk

4

Enter a Trunk Name: IPComms

PJSIP vs chan_sip: Always use PJSIP (chan_pjsip) for new trunks. chan_sip is deprecated and will be removed in future Asterisk versions. FreePBX 15+ defaults to PJSIP.

Step 2: Configure PJSIP Settings

General Tab

FieldValue
Trunk NameIPComms
Outbound CallerIDYour DID number
CID OptionsAllow Any CID

PJSIP Settings Tab - General

FieldValue
UsernameYour IPComms username
SecretYour IPComms password
AuthenticationOutbound
RegistrationSend
SIP Servers1.ipcomms.net
SIP Server Port5060
Contextfrom-pstn

PJSIP Settings Tab - Advanced

FieldValue
From Domains1.ipcomms.net
From UserYour IPComms username
Direct MediaNo
Match (Inbound)34.23.59.14

Step 3: Create an Outbound Route

An outbound route tells FreePBX which trunk to use for external calls:

1

Go to Connectivity > Outbound Routes

2

Click Add Outbound Route

3

Route Name: IPComms_Out

4

Trunk Sequence: Select IPComms

Dial Patterns

PrependPrefixMatch PatternDescription
1NXXNXXXXXX10-digit dialing (prepends 1)
1NXXNXXXXXX11-digit dialing
91NXXNXXXXXX9 + number (strips 9)
911Emergency

Step 4: Create an Inbound Route

1

Go to Connectivity > Inbound Routes

2

Click Add Inbound Route

3

Description: Main Number

4

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

5

Set Destination: Choose where calls should go (IVR, Ring Group, Extension, etc.)

Multiple DIDs: Create a separate inbound route for each DID. Each can have a different destination - main number to IVR, sales number to ring group, support to queue, etc.

Step 5: Test Your Configuration

Verify Trunk Registration

Asterisk CLI
# Check PJSIP registration
asterisk -rx "pjsip show registrations"

# Expected output:
# IPComms/sip:s1.ipcomms.net    Registered

Test Outbound

  1. Pick up an extension on your FreePBX system
  2. Dial an external number (your cell phone)
  3. Verify the call connects and audio works both ways
  4. Check caller ID shows your DID

Troubleshooting

ProblemSolution
Trunk shows "Unavailable"Check credentials, verify firewall allows UDP 5060
One-way audioSet Direct Media to No, check RTP ports
Outbound calls failCheck outbound route dial patterns
Inbound calls not routingVerify DID matches exactly in inbound route

Get Started with FreePBX + IPComms

Sign up and configure your FreePBX trunk in minutes. Pay-as-you-go pricing with no contracts.

Related Articles