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_TRUNKSmust 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
- In the SIP TRUNKS center, click the ADD SIP TRUNK button.
- Configure the tabs below:
| Name of Tab | Description |
|---|---|
| Basic |
This tab establishes some fundamentals about the trunk:
|
| 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
- Configure SIP Trunk Registration Username by logging into the Admin UI of the Core Module, then navigate to System > Settings > Advanced > UI Config.
- Add the UI Configuration parameter shown below:
| UI Configuration Parameter |
Default Value |
Value Needed |
Description |
|---|---|---|---|
|
|
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
- To configure a SIP Trunk in the Portal, log into the Portal with a scope of Reseller or higher and navigate to SIP Trunks.
- Select Add SIP Trunk (Below is an example configuration of a SIP trunk using the Portal)
- Should RTP go through the Core? Set to yes.
- Should RTP bypass Core? Set to no.
- Name: The Trunk ID, commonly set as the BTN or a string that defines the company (ACME-SEATTLE)
- Domain: The domain to associate with the trunk
- Description: A string that defines, or otherwise notates, who or what the trunk is for.
- Relay Media
- Trunk Type: Type of calling that can occur on the trunk (bidirectional, inbound, outbound, none)
- IP Control: Require Registration when using registration, IP Control when using the peer IP
- SIP User: Username for SIP registration
- SIP Password: Password for SIP registration
- 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 |