Skip to main content
trunking lets you route calls through your own telephony provider. Configure trunks from Settings → SIP or via the SIP API.
Not using your own carrier? Skip this page — hosted numbers work without SIP. See Create Phone Agent to get started.

Provider Compatibility

Before you configure anything in OpenCX, ask your carrier or PBX team for these exact details:
  • Confirm they can provide a standard for the call flow you want to support.
  • Confirm whether inbound and outbound calling are provisioned separately on their side. Many carriers require separate setup for each direction.
  • Ask for the , , and they expect you to use for each direction.
  • Ask whether they authenticate by (username/password) or by .
  • Confirm which you are allowed to present on outbound calls.
  • If they require , confirm that requirement before rollout and gather the exact network details your team needs for production approval.

Inbound SIP Trunks

Route calls from your carrier to OpenCX agents.

Prerequisites

Before you start the inbound setup, make sure you have:
  • One or more verified phone numbers in OpenCX that will be assigned to the agent.
  • Access to your carrier or admin settings.
  • A decision on how calls should route: by the dialed number or by the header.
  • The OpenCX inbound SIP region you want to use: US, EU, Global, or APAC (India).

Configure The Inbound Trunk

1

Open The Inbound Trunk Page

Go to Settings → SIP and open the inbound trunk configuration.
2

Choose The SIP Endpoint Region

Select a region from the dropdown: Global (auto-route), US, EU, or APAC (India). The endpoint address updates automatically based on your selection.
Choose the region closest to your carrier or for lower latency. Global (auto-route) works if you are unsure.
3

Copy The Credentials

Copy the generated , , and . These three values are what your carrier or PBX needs to send calls to OpenCX.
4

Add Phone Numbers (DID)

Under , add the numbers that should arrive on this trunk. Use the exact numbers your carrier will send in the . Inbound calls are routed based on the dialed number, so make sure you have at least one phone agent configured to receive calls.
5

Configure Your Carrier Or PBX

In your carrier or admin, create a trunk pointing to the OpenCX SIP endpoint and enter the username and password you copied. Double-check all three values before saving. For carrier-specific setup guides, see your provider’s SIP trunk documentation.
6

Assign Numbers To An Agent

In Channels → Phone → Agents, open the agent and assign the inbound numbers under . Each number can only be assigned to one agent.
7

Test The Route

Place a test call through your carrier and confirm the call reaches the correct agent. Check the inbox for the transcript to verify the call was recorded.
If the call does not connect, re-check the SIP endpoint region, username, and password first. See Troubleshooting for common SIP issues.

Outbound SIP Trunks

Make outbound calls through your carrier.

Prerequisites

Before you start the outbound setup, make sure you have:
  • An AI phone agent already created in OpenCX.
  • The carrier’s outbound SIP host, port, and transport.
  • The caller ID number the carrier has approved for outbound presentation.
  • The carrier’s outbound authentication method: digest username/password or source IP allowlisting.
Ask your carrier for one complete outbound profile before you begin: SIP host, port, transport, caller ID, and authentication method. Having all five up front avoids most failed first-call attempts.

Configure The Outbound Trunk

1

Open The Outbound Trunk Form

Go to Settings → SIP and click Add Outbound Trunk.
2

Name The Trunk

Enter a descriptive Name so your team can identify this trunk later (e.g. the carrier name or region).
3

Enter SIP Host And Port

Fill in the and your carrier provided. The port is usually 5060 for UDP/TCP or a dedicated port for TLS.
4

Set Digest Authentication

If your carrier gave you a SIP and , leave the toggle enabled and enter them. If the carrier authenticates by instead, disable the toggle.
Most carriers use digest authentication. If you are unsure, ask your carrier whether they authenticate outbound trunks by credentials or by IP allowlisting.
5

Set The Caller ID Number

Enter the your carrier has approved for outbound presentation. This is the number the recipient will see when the call arrives.
6

Choose The Transport

Select the protocol. Use UDP (the default) when the carrier documents standard SIP over UDP. Use TCP when the carrier requires or recommends TCP signaling. Use TLS when the carrier requires encrypted SIP signaling.
7

Create And Assign

Click Create Trunk, then open Channels → Phone → Agents and assign the new trunk under for the agent that should use it. To start making calls, see Outbound Calls.

SIP Transfer Destinations

Route call transfers through SIP instead of the public phone network. When creating a transfer destination in Channels → Phone → Agents, select SIP as the type and provide the SIP URI. Optional (username/password) is supported for secure endpoints.

Advanced: Dynamic Agent Routing

For advanced setups, use the SIP header to route inbound calls to a specific agent dynamically. Include the agent’s ID (shown on the agent settings page) in the header when sending calls to the OpenCX SIP endpoint. This is useful when:
  • Multiple agents share the same trunk
  • Your or carrier decides which agent should answer based on logic or caller data

SIP API

Manage trunks and routing programmatically:

Inbound Trunks

Create, sync, and manage inbound SIP trunks.

Outbound Trunks

Create and manage outbound SIP trunks.

Agent SIP Config

Assign inbound numbers and outbound trunks to agents.

Transfer Destinations

Manage transfer destinations and agent assignments.

Create Phone Agent

Set up an agent to receive SIP-routed calls.

Agent Configuration

Assign trunks and numbers under Telephony & Routing.

Outbound Calls

Launch calls from the dashboard, API, or workflows.

Troubleshooting

Audio issues, failed transfers, and SIP debugging.