Article ID:3833512

How To: Add SIP Trunk to IP PBX

Written By Jexter Reyes (Administrator)

Updated at June 1st, 2026

Objective

In some cases, you may wish to offer SIP trunks to customer IP PBXs and other CPE (customer premise equipment) like Adtran (PRI Gateways, etc). The Portal SIP Trunk interface is the easiest way to configure and manage customer trunks.

In prior versions, configuring registered customer SIP trunks with some IP PBXs and other customer-premises equipment to match the expected system configuration was difficult. In SNAPsolution v37, a new option has been added to make it easier to register customer SIP trunks.
 

Symptoms

  • VIP - Adding SIP Trunk to IP PBX
  • SIP Trunks to IP PBX and Other Customer Premise Equipment (CPE)
     

Eligibility

  • UI Configuration parameter PORTAL_MENU_SHOW_SIP_TRUNKS must be set to yes for the user to access this function. Super User and Reseller scopes have access by default.
  • The minimum version is SNAPsolution v37 for Simplified Registration.
  • Simplified Registration Configuration is required in the Admin UI, Portal, and IP PBX.
  • Simplified Registration Configuration is valid for newly created trunks only; existing trunks are unaffected.
     

Procedure

Adding a SIP Trunk

  1. In the SIP TRUNKS center, click the ADD SIP TRUNK button. 
  2. Configure the tabs below:
Name of Tab Description
Basic

This tab establishes some fundamentals about the trunk:

  • Name: Commonly, the IP if static, or the domain/BTN if registered.
  • Domain: Domain to associate with the trunk.
  • Description: Notes field.
  • Relay Media: Send media through the NMS (yes) or bypass and go directly to the origination/termination source (no).
  • Trunk Type: Bidirectional or origination/termination only.
Connectivity Connectivity determines the trunk type to be used—either Registered or Static. A Static trunk is recommended when the customer has a static IP address; otherwise, a Registered trunk should be used.

The specific CPE's capabilities may also affect your selection. For Static IP, enter the IP address of the CPE. For Require Registration, specify the SIP user (commonly BTN) and authentication password.
Authentication Shown only when IP control is Static IP, and lets you require authentication with INVITE for additional security. Commonly set to No.
Limitations

Limitations let you set the call limits per the customer's order. 

NOTE: Domain limits do apply as well.

 

 

Simplified SIP Trunk Registration

  1. Configure SIP Trunk Registration Username by logging into the Admin UI of the Core Module, then navigate to System > Settings > Advanced > UI Config.
  2. Add the UI Configuration parameter shown below:
UI Configuration Parameter

Default

Value

Value

Needed

Description

PORTAL_SIP_TRUNKS_REGISTRATION

_USE_USERNAME

no   yes/no  Creating a new SIP trunk via the Portal will default the trunk to have the same FROM host for the REGISTER and the INVITE, making configuration of many devices easier.

NOTE

  • A value of NO maintains the same behavior as prior system versions.
  • A value of YES will follow the new simplified registration scheme and is used for newly created trunks only; existing trunks are unaffected.
  • With a value of YES, the SIP Domain field will be hidden in the Portal as it is no longer used.
 
When UI is set to: No Yes
Expected INVITE FROM AOR

sip:*@trunkname
 

OR
 

sip:username@domain 

sip:*@trunkname
Expected REGISTER FROM AOR sip:username@domain sip:username@trunkname

EXAMPLE: Sample Configuration

  1. To configure a SIP Trunk in the Portal, log into the Portal with a scope of Reseller or higher and navigate to SIP Trunks.
    1. Select Add SIP Trunk (Below is an example configuration of a SIP trunk using the Portal)
    2. Should RTP go through the Core? Set to yes.
    3. Should RTP bypass Core? Set to no.
    4. Name: The Trunk ID, commonly set as the BTN or a string that defines the company (ACME-SEATTLE)
    5. Domain: The domain to associate with the trunk
    6. Description: A string that defines, or otherwise notates, who or what the trunk is for.
    7. Relay Media
    8. Trunk Type: Type of calling that can occur on the trunk (bidirectional, inbound, outbound, none)
    9. IP Control: Require Registration when using registration, IP Control when using the peer IP
    10. SIP User: Username for SIP registration
    11. SIP Password: Password for SIP registration
       
  2. Configuring an IP PBX
    • Description: A string that defines, or otherwise notates, who or what the trunk is for.
    • User ID: SIP User from Add a SIP Trunk Page
    • SIP Server (AKA domain/realm): Name from the Add a SIP Trunk Page
    • Outbound Proxy: IP Address of FQDN of your Core (note some IP PBXs will support SRV, others will not)
    • SIP Registration Required: Checked indicates that SIP Registration is enabled
    • Login ID: SIP User from the Add a SIP Trunk Page
    • Password: SIP Password from the Add a SIP Trunk Page
 

 

Assigning DIDs to the SIP Trunk

In the Portal, navigate to the Inventory page, where you can assign telephone numbers to the SIP trunk as shown below:

Failover

Many customers will want a failover option, so if their PBX is unreachable, the calls can be forwarded elsewhere.
 

Via Portal

Ensure UI Configuration PORTAL_SIP_TRUNKS_SHOW_FAILOVER is set to yes

When editing the connection via Portal, you'll see a failover tab where you can enable call forward when busy, when offline (unregistered or unresponsive), or when unanswered (a timer will appear when this option is selected)
 

Via Admin UI

In the Admin UI of the Core Module, navigate to Connections. This edits the connection for the IP PBX and adds ITrunk to the Rules field.

NOTE: The ITrunk token that is added to the Connection Rules field is case sensitive.

 

This will apply the Forward Not Registered, Forward On Busy, Forward When Unanswered, and voicemail as it is configured in the owner's answering rules (typically the domain user).
 

Geo Redundancy

When you have redundant Core modules, the PBX must be set up for geo-redundancy as well. 

  • If the PBX supports SRV, that is generally the preferred approach. 
  • If the PBX does not support geo-redundancy, create a trunk on the PBX to each Core (still only one trunk created on the Core, just a connection on the PBX to each Core), then ensure all trunks are part of the PBX routing plan.

    Since this is PBX-specific, refer to the PBX vendor for specifics about these configuration options.

NOTE: If you have set up the configuration but can't make or receive calls, here is where to start troubleshooting.

  • Registered Trunks - Check the Reject Log for bad registration credentials
  • Call History - look for No Orig Match in the call history. If so, review this article.

If you don't see an error in the reject log or call history, likely the NMS isn't receiving an invite from the PBX. Run a PCAP to be sure. If that's the case, review the configuration of the CPE and ensure the outbound proxy is set to the NMS IP/FQDN

 

 

Escalation Information

Escalation Information: SD1

If you need additional assistance, contact Crexendo Support at 855-211-2255 or email us at support@crexendo.com

 

Change Log

Date Description
Jun 1, 2026 Article migrated and revamped