A carrier is the telephony provider that carries your calls onto the public phone network. In the Ori console you describe each carrier as a SIP trunk — where to reach it, how it authenticates, how fast it may be dialled, and which phone numbers (DIDs) belong to it. The platform then syncs that configuration to the media backend so the dialler can place and receive calls.
Carrier setup is normally super admin only. The Carriers link appears in the sidebar’s Telephony section only for accounts with that role. If you do not see it, this page is not yours to manage — that is expected, not a fault.
You supply your own carrier account (your SIP provider’s trunk details and credentials). Ori does not resell telephony — it connects to the carrier you already have. Throughout this page, “the carrier” means whatever SIP provider you are configuring.

Carrier list

Open Carriers in the sidebar to land on the carrier list at /dashboard/carriers. This screen shows every SIP carrier configured in the system, with a one-line summary of each carrier’s authentication, phone numbers, dial-rate, and sync state.

List columns

Each row summarises one carrier. Click anywhere on a row to open its detail page.
ColumnWhat it shows
NameThe carrier’s display name.
SIP AddressThe SIP trunk endpoint, shown in a monospace font.
AuthBadges for the authentication methods in use: Password when a SIP password is set, IP when an IP allowlist is set. A carrier may show both, one, or neither.
DIDsHow many phone numbers are assigned to this carrier.
CPSThe outbound dial-rate limit and burst cap, for example 1/s · burst 1.
LiveKitThe sync status badge — see sync status.
Last SyncedHow long ago the carrier last synced successfully, shown relative to your timezone.

List buttons

ButtonWhat it does
GuideOpens the Carrier setup guide — a dismissible help panel explaining connection settings, authentication, pacing, DIDs, and call flows. See the setup guide.
Add CarrierOpens the new-carrier form at /dashboard/carriers/create. See Add a carrier.

Searching and the empty state

A single search box at the top filters the list as you type. It matches on the carrier name or the SIP address, and is not case-sensitive. If no carriers exist yet, the list shows an empty state with an icon, a short heading, and an Add Carrier button to get you started.

The setup guide

The Guide button (available on both the list and the detail page) opens a reference panel that walks through how carriers work: the connection settings, inbound and outbound authentication modes, pacing controls (dial-rate, burst, channels), DIDs, and typical call flows. It also includes step-by-step recipes for common SIP providers.
The guide is the fastest way to translate a provider’s trunk documentation into the fields on this page. If your provider supplies a setup sheet, keep it open alongside the guide. The panel is dismissible — close it when you are done; it does not change any settings.

Add a carrier

From the list, select Add Carrier to open the form at /dashboard/carriers/create. The form is grouped into connection, authentication, and pacing sections.
You do not configure the media backend by hand. After you save, the platform automatically creates the matching trunks on the call-routing backend (a third-party media service). A note on the form reminds you of this: “LiveKit trunks will be created automatically after saving.”

Connection fields

FieldRequiredWhat to enterDefault / validation
NameYesA clear display name for the carrier, for example “Primary trunk — IN”.None. Cannot be empty.
SIP AddressYesThe SIP trunk endpoint hostname and optional port, for example sip.example.com:5060 or 203.0.113.10:5062.Must be a host with an optional :port. Spaces and other characters are rejected.
TransportNoThe protocol for the SIP connection. Choose Auto, TCP, UDP, or TLS to match what your provider expects.Default: Auto.
Destination CountryNoThe country your carrier serves, as a code or name, for example IN, US, or GB.Optional, free text.

Authentication fields

How your carrier authenticates depends on whether it expects a SIP username and password or relies on an IP allowlist. You can set either, both, or — for some providers — IP only.
FieldRequiredWhat to enterNotes
UsernameNoThe SIP digest username used for outbound calls, if your carrier issues one.Placeholder reads “Optional”.
PasswordNoThe SIP digest password used for outbound calls. Shown as a masked input.Placeholder reads “Optional”.
Allowed IPsNoThe IP addresses your carrier sends inbound calls from. Type an address and press Enter to add it; add as many as you need.Tag input. Example: 192.0.2.10.
Outbound authentication (Ori → carrier) uses the username and password. Inbound authentication (carrier → Ori) can use the same credentials or an IP allowlist. Some providers do not send digest credentials on inbound calls by default — for those, an IP allowlist is the reliable method. You can switch the inbound method explicitly on the detail page after creating the carrier.

Pacing fields

These limits protect your carrier from being dialled faster than it allows. The dialler always respects the tighter of these limits and a campaign’s own concurrency setting.
FieldRequiredWhat to enterDefault / validation
Outbound CPSNoMaximum new calls per second to this carrier.Default: 1. Allowed range 0.1100.
Outbound BurstNoMaximum number of calls allowed in an immediate spike above the per-second rate.Default: 1. Whole number 11000.
Outbound ChannelsNoMaximum concurrent calls (ringing plus connected) on this carrier.Default: 30. Whole number 1500.
Set the pacing values to match what your carrier contract allows. Dialling above the carrier’s CPS or channel limit causes rejected calls and, on some networks, temporary blocks. When in doubt, start conservative and raise the limits once calls are flowing cleanly.

Add-carrier buttons

ButtonWhat it does
Back to carriersReturns to the carrier list without saving.
CancelDiscards the form and returns to the carrier list.
Create CarrierValidates the form and saves the carrier. On success you go straight to the new carrier’s detail page; on failure a notification explains what went wrong. Shows Creating… and is disabled while it saves.
Create Carrier stays disabled until Name and SIP Address are both filled in and valid. If the button looks greyed out, check those two fields first.

Carrier detail

Clicking a carrier row opens its detail page at /dashboard/carriers/:id. From here you view and edit the carrier’s configuration, sync it to the backend, manage its phone numbers, and delete it. The page opens in view mode (read-only). Use Edit to switch to an editable form, and Cancel or Save to leave it.

Sync status

A coloured banner sits just below the page header and shows whether the carrier’s configuration is live on the call-routing backend.
BadgeMeaning
synced (green)The trunk is in sync. The banner reads “LiveKit trunk is synced” and, when available, appends the time it last synced.
error (red)The last sync failed. The banner shows the error message. Use Sync to LiveKit to retry; if it keeps failing, escalate to engineering.
pending (grey)A sync has not completed yet. The banner reads “Sync pending”.
“LiveKit” is the name of the third-party media service the platform syncs your trunks to. You never log into it directly — the console handles it for you. You only need to act on this banner when it shows error.

Detail fields

In view mode these show as read-only text (empty values display as ”—”). After you press Edit, they become editable inputs.
FieldRequiredWhat to enterNotes
NameYesThe carrier’s display name.Required when editing.
SIP AddressYesThe SIP trunk endpoint.Required when editing.
TransportNoAuto, TCP, UDP, or TLS.Dropdown in edit mode.
Destination CountryNoCountry code or name, for example US, IN, GB.Free text.
Username (outbound)NoThe SIP digest username for outbound calls (Ori → carrier).Help text: “Used for outbound digest auth”.
Password (outbound)NoThe SIP digest password for outbound calls.In view mode shows •••••••• if a password is set, otherwise ”—”. In edit mode the box is blank with the placeholder “Password unchanged” — the existing password is not shown. Leave it blank to keep the current password; type a new value only to change it.
Inbound AuthenticationNoHow the carrier authenticates calls it sends to Ori. Choose Use same credentials as outbound (digest) or IP allowlist (no credentials).Dropdown in edit mode. If your provider does not send digest credentials on inbound calls by default, choose IP allowlist.
Inbound IP Allowlist / Allowed IPsDependsThe IP addresses inbound calls are accepted from. Type an address and press Enter to add it.Tag input in edit mode. Required when inbound authentication is set to IP allowlist; optional otherwise. Example: 13.52.9.100.
Outbound CPSNoMaximum new calls per second.Allowed range 0.1100.
Outbound BurstNoMaximum calls in an immediate spike above CPS.Whole number 11000.
Outbound ChannelsNoMaximum concurrent calls (ringing plus connected).Whole number 1500.
When Inbound Authentication is set to IP allowlist, only calls arriving from the listed IPs are accepted, and the allowlist must contain at least one address. Enter the relay or point-of-presence IPs your carrier dials out from. If the list is wrong or empty, inbound calls will be rejected.

Detail buttons

The header and DIDs section carry several actions. Some are only shown in view mode, others only while editing.
ButtonWhen shownWhat it does
Back to carriersAlwaysReturns to the carrier list.
GuideAlwaysOpens the carrier setup guide, same as on the list.
Sync to LiveKitAlwaysSyncs the carrier’s configuration to the call-routing backend. Shows a spinning icon and “Syncing…” while it works, then a success or error notification. Use this after editing, or to retry a failed sync.
EditView mode onlySwitches the page into edit mode so you can change the fields above. Replaced by Cancel and Save while editing.
DeleteView mode onlyDeletes the carrier. Destructive — see the warning below.
CancelEdit mode onlyLeaves edit mode without saving your changes.
SaveEdit mode onlyValidates and saves your edits. Requires Name and SIP Address; if inbound authentication is IP allowlist, at least one IP is required. Shows “Saving…” and is disabled while it saves. On success the page returns to view mode with the new values.
Add NumberAlways (DIDs section)Opens the Add DID modal to add a phone number to this carrier.
Edit (per DID row)When the carrier has DIDsOpens the Add DID modal pre-filled with that number’s details. Shown as a pencil icon.
Remove (per DID row)When the carrier has DIDsRemoves that phone number after a confirmation. Shown as an X icon.
Delete removes the carrier and all of its phone numbers. The console first asks: “Are you sure you want to delete this carrier? This will also delete all associated phone numbers.” Only the deletion proceeds once you confirm. The button shows “Deleting…” while it works. There is no undo — campaigns that relied on this carrier’s numbers will lose them.

Phone numbers (DIDs)

The DIDs table lists every phone number assigned to this carrier. Each row shows:
ColumnWhat it shows
NumberThe phone number, in a monospace font.
LabelThe optional descriptive name you gave it.
DirectionA badge: both (green) for inbound and outbound, inbound (blue) for receive-only, outbound (grey) for dial-only.
Assigned BotThe bot that answers inbound calls on this number, or “Bot not found” if that bot has since been deleted.
ActionsThe per-row Edit and Remove buttons described above.
If the carrier has no numbers yet, the table shows “No phone numbers added yet”. Use Add Number to add the first one.

Add a DID

The Add DID modal opens from Add Number in the carrier detail DIDs section, or from a row’s Edit button. Its title is Add Phone Number when adding, or Edit Phone Number when changing an existing number.

DID fields

FieldRequiredWhat to enterNotes
Phone NumberYes (new only)The number in E.164 format such as +14155551234, or in your carrier’s local format such as 09XXXXXXXXX.5–20 digits; may include a leading +, spaces, dots, or dashes. Disabled when editing — you cannot change a number after it is added; remove it and add the correct one instead.
LabelNoA short descriptive name, for example “Sales line”.Placeholder: “Optional descriptive name”.
DirectionNoChoose how the number is used: Both (inbound and outbound), Inbound (receive calls only), or Outbound (make calls only). Presented as three selectable cards.Default: Both. The choice controls whether the Assign Bot field appears.
Assign BotNoThe bot that answers inbound calls on this number. Pick from the list, or None.Help text: “Bot to handle inbound calls”. Only shown for Both or Inbound directions — it is hidden for Outbound numbers, which never receive calls.
Assign a bot to any number that takes inbound calls — that mapping is how the platform routes an incoming call to the right bot. Outbound-only numbers do not need a bot, so the field disappears when you choose Outbound.

Add-DID buttons

ButtonWhen shownWhat it does
CancelAlwaysCloses the modal without saving. Disabled while a save is in progress.
Add NumberWhen adding a new DIDValidates and saves the new number, closes the modal, and refreshes the carrier. Disabled while saving or while the phone number is empty. Shows “Adding…” while it works.
Save ChangesWhen editing an existing DIDValidates and saves your changes, closes the modal, and refreshes the carrier. Disabled while saving. Shows “Saving…” while it works.
If the save button stays disabled, check the phone number. The modal shows an error message beneath the field when the format is invalid, and keeps the button disabled until it is fixed.

After adding a carrier

Once a carrier is saved, configured, and showing synced, its outbound-capable numbers become available when you build a campaign’s number pool, and its inbound numbers route to their assigned bots.
1

Create the carrier

Fill in the connection, authentication, and pacing fields, then select Create Carrier.
2

Add its phone numbers

On the detail page, use Add Number to register each DID and set its direction and bot.
3

Sync and confirm

Check the sync banner shows synced. If it shows error, retry with Sync to LiveKit; if it persists, escalate to engineering.
4

Use it in a campaign

The carrier’s outbound numbers now appear in the campaign Number Pool step.

Create a campaign

Pick this carrier’s outbound numbers when you build a campaign.

Fleet status

Check that calling workers have capacity for your concurrency.