SIP trunks, numbers and routing
Connecting carriers through inbound and outbound SIP trunks, choosing outbound routes, managing base numbers and extensions, and keeping trunks healthy and in maintenance when needed. Browse the feature map or configuration finder.
Availability: Next. Entries that depend on an optional feature, a role or a deployment choice name it in their own Availability line.
Features in this family
- Inbound SIP trunks
- Trunk quick templates
- Trunk identification and allowed IPs
- Inbound trunk authentication
- Trunk routing and technical fields
- Trunk call limit field
- Trunk maintenance mode
- Trunk active calls and reachability
- Trunk health probes
- Trunk health monitoring and alerts
- Outbound (egress) trunks
- Outbound routing methods and contact-centre trunks
- Outbound trunk authentication and registration
- Outbound caller ID
- Outbound routing pools
- Platform default outbound route
- Outbound trunk failover
- Outbound call intent correlation
- Base numbers
- Assign numbers to teams
- Extensions on a base number
- Number lookup and routing responses
Inbound SIP trunks
Platform administrators register each carrier that sends calls in as an inbound trunk, with its identity, authentication, transport and technical options, and activate it at the edge.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks(sipTrunk) | Configure an inbound SIP trunk |
Read more:
- Set it up: Configure an inbound SIP trunk
- Reference: List, templates and basic fields
- Set it up: Save, activate, disable or delete safely
- Troubleshoot: Verify and recover an inbound configuration
- Reference: Platform settings
Related features: Trunk identification and allowed IPs, Inbound trunk authentication, Trunk quick templates, Trunk maintenance mode.
Trunk quick templates
Ready-made templates prefill common carrier and contact-centre trunk settings so a new trunk starts from a known shape.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › Quick Templates | List, templates and basic fields |
Read more:
- Reference: List, templates and basic fields
Related features: Inbound SIP trunks.
Trunk identification and allowed IPs
The edge recognises which trunk a call belongs to by source address and further optional criteria that must all match.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › Identification Methods(identifyBy, allowedIps, fromDomainPattern, userAgentPattern) | Identification: fill every selected condition |
Read more:
- Reference: Identification: fill every selected condition
- Troubleshoot: Recognize unknown-trunk rejections
Related features: Inbound trunk authentication, Rejected and unknown SIP traffic.
Inbound trunk authentication
A trunk is trusted by its IP address alone, by digest credentials, or by both together.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › Authentication Method(authMethod, ip_only, digest, ip_and_digest) | Authentication |
Read more:
- Reference: Authentication
Related features: Trunk identification and allowed IPs, TLS checks on inbound trunks, SRTP media encryption.
Trunk routing and technical fields
Further trunk fields mark a trunk as internal, name the header carrying a unique call id, say whether a call id header is mandatory and turn on symmetric RTP for carriers behind NAT.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › Routing and technical fields(isInternal, uniqueIdHeader, requiresXCall) | Routing and technical fields |
| Platform settings | Admin Settings › SIP Trunks › Symmetric RTP(symmetricRtp) | TLS and media |
Read more:
- Reference: Routing and technical fields
Related features: Inbound SIP trunks.
Trunk call limit field
A trunk records a maximum number of simultaneous calls for planning; the edge currently counts calls per trunk but does not reject calls above that number.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › Max Concurrent Calls(maxConcurrentCalls) | Routing and technical fields |
Read more:
- Reference: Routing and technical fields
- How it works: Voice runtime limits under load
Related features: Concurrent call limit per voice instance and group, Trunk active calls and reachability.
Trunk maintenance mode
Putting a trunk into maintenance rejects new incoming calls on it with a chosen SIP response while calls already in progress continue.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › Maintenance mode(maintenanceMode, maintenanceSipCode) | Reject new calls during trunk maintenance |
Read more:
- Set it up: Reject new calls during trunk maintenance
- Set it up: Put an inbound trunk into maintenance
Related features: Inbound SIP trunks, Draining an edge.
Trunk active calls and reachability
The trunk view shows active calls and SIP reachability per trunk so an administrator can see load and health before changing it.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › SIP Trunks › trunk details | Read trunk operational insights |
Read more:
- Reference: Read trunk operational insights
Related features: Trunk health monitoring and alerts, Trunk health probes.
Trunk health probes
The edge can send periodic SIP OPTIONS probes to chosen trunks and log whether each target answers within a timeout.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | TelPro environment(HEALTH_PROBE_ENABLED, HEALTH_PROBE_INTERVAL, HEALTH_PROBE_TARGET_HOST, HEALTH_PROBE_TARGET_PORT, HEALTH_PROBE_TIMEOUT, HEALTH_PROBE_TRUNK_IDS) | TelPro variables |
Read more:
- Reference: Trunk probe records
- Reference: Understand the health controls actually available
Related features: Trunk health monitoring and alerts, OPTIONS keepalive, SIP trunk probe and health records.
Trunk health monitoring and alerts
The voice service tracks each trunk's response time and failures, marks it degraded or down past set thresholds and raises an alert when it fails or recovers.
For: Deployment operators, Team administrators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | TelPhi environment(SIP_TRUNK_HEALTH_INTERVAL_MS, SIP_TRUNK_HEALTH_FAILURE_THRESHOLD, SIP_TRUNK_HEALTH_DEGRADED_RTT_MS, SIP_TRUNK_HEALTH_REDIS_TTL_MS) | Voice variables |
Read more:
- Reference: Trunk health monitor records
- Reference: TelAPI trunk health messages
- Troubleshoot: Diagnose trunk health
- Set it up: Review and acknowledge an alert
Related features: Trunk health probes, Trunk active calls and reachability, SIP trunk probe and health records.
Outbound (egress) trunks
Outbound trunks describe where transfers and outbound calls leave the platform, with destination hosts, codecs, priority and authentication.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Trunks(egressTrunk, codecPreferences, priority) | Trunk fields |
Read more:
- Set it up: Manage outbound trunks and pools
- Reference: Trunk fields
- Set it up: Save, disable, delete and verify
Related features: Outbound routing methods and contact-centre trunks, Outbound trunk authentication and registration, Outbound routing pools, Outbound caller ID.
Outbound routing methods and contact-centre trunks
An outbound trunk reaches its destination through a fixed URI, the dialled number's host, or contact-centre style routing by DNS lookup or trunk group over TLS.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Trunks › Routing Method(routingMethod, sipUri, transport, static_uri, number_host, genesys_fqdn, genesys_tgrp, proxyHosts, proxyPort, genesysTrunkContext, genesysRegion, genesysDomain) | Trunk fields |
Read more:
- Reference: Trunk fields
- How it works: Check outbound selection
- Reference: Call transfer methods
Related features: Outbound (egress) trunks, Outbound routing pools, Transfer target, routing pool and caller ID.
Outbound trunk authentication and registration
An outbound trunk authenticates by IP, digest, registration with the carrier, both IP and digest, or mutual TLS.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Trunks › Authentication(authMethod, ip_only, digest, registration, ip_and_digest, tls_mutual, tlsRequireMutual) | Trunk fields |
Read more:
- Reference: Trunk fields
Related features: Outbound (egress) trunks, Outbound trunk failover, TLS and mutual authentication on egress trunks.
Outbound caller ID
Each outbound trunk passes the original caller ID through, replaces it with the base number or uses a fixed override.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Trunks › Caller ID Mode(callerIdMode, passthrough, base_number, override, callerIdOverride) | Trunk fields |
Read more:
- Reference: Trunk fields
Related features: Outbound (egress) trunks, Base numbers.
Outbound routing pools
A pool groups outbound trunks and picks one per call either in turn or by priority with failover, and flows or transfers refer to the pool by name.
For: Deployment operators, Application builders
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Pools(egressRoute, strategy, round_robin, priority_failover) | Pool fields and selection |
| Flow and node settings | Transfer › Routing pool(routingPool) | 2. Set the target and egress route |
Read more:
- Reference: Pool fields and selection
- How it works: Check outbound selection
- Set it up: 2. Set the target and egress route
Related features: Outbound (egress) trunks, Platform default outbound route, Outbound trunk failover, Transfer target, routing pool and caller ID.
Platform default outbound route
One pool can be marked as the platform default, used whenever a transfer or outbound call names no pool.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Pools › default(egressDefaults.defaultRouteId) | Pool fields and selection |
Read more:
- Reference: Check outbound selection
Related features: Outbound routing pools.
Outbound trunk failover
If an outbound trunk rejects or does not answer a call, the edge retries the next trunk in the pool and reports a relay failure only when all are exhausted.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Egress › Pools › Strategy(priority_failover) | Pool fields and selection |
Read more:
- Reference: Pool fields and selection
- Troubleshoot: Follow the transfer method and the new
Related features: Outbound routing pools, Outbound trunk authentication and registration.
Outbound call intent correlation
The voice service tags each outbound leg with an intent id and chosen route so the edge selection and the call it belongs to can be matched in diagnosis.
For: Deployment operators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | Voice runtime (no customer setting)(X-Delphi-Egress-Intent-ID, X-Delphi-Egress-Route) | Follow the transfer method and the new |
Read more:
- Troubleshoot: Follow the transfer method and the new
Related features: Outbound routing pools, Outbound trunk failover.
Base numbers
A base number is a phone number the platform answers, linked to a server group and the teams that may use it in their apps.
For: Deployment operators, Team administrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Base Numbers(baseNumber) | Manage base numbers |
Read more:
- Set it up: Manage base numbers
- How it works: Removal, renumbering and recovery boundaries
- Set it up: Verify the applied change
Related features: Assign numbers to teams, Extensions on a base number, Number lookup and routing responses.
Assign numbers to teams
Administrators add or remove teams on a base number, which controls which teams can attach the number or its extensions to an app.
For: Deployment operators, Team administrators
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Base Numbers › Teams(addTeam, removeTeam) | Manage base numbers |
| Team settings | Team settings › Base number header assignment | Change a base-number header assignment separately |
Read more:
- Set it up: Manage base numbers
- Set it up: Configure a phone entry point
Related features: Base numbers, Extensions on a base number, Assign header rule sets to a base number.
Extensions on a base number
A base number can carry extensions so several apps share one number, each reached by its own suffix.
For: Deployment operators, Application builders
| Level | Where to change it | Owner section |
|---|---|---|
| Platform settings | Admin Settings › Base Numbers › Extensions(extensionsEnabled) | Manage base numbers |
| Application settings | Application › Entry points › Phone › Extension(extension) | Phone fields |
Read more:
- Set it up: Change extension mode without assuming an atomic
- Reference: Phone fields
Related features: Base numbers, Calls refused before answer.
Number lookup and routing responses
For each inbound call the platform looks up the dialled number and answers with a not-found or forbidden response when the number or its app cannot take the call.
For: Deployment operators, Integrators
| Level | Where to change it | Owner section |
|---|---|---|
| Services and containers | Edge and voice runtime (no customer setting) | Identify a routing response first |
Read more:
- Troubleshoot: Identify a routing response first
- How it works: Routing, causes, and diagnostic headers
Related features: Calls refused before answer, Base numbers.