Skip to main content
Version: 0.9.12

Egress trunks

platform v0.9.11verified 2026-05-14

Path: /admin-settingsEgress Trunks tab

Egress trunks route outbound SIP calls to external carriers. When an AI agent calls transfer(), Kamailio uses the trunk linked to the call's base number to determine carrier, transport, authentication, caller ID, and codecs.

Runtime model

General

FieldRequiredDescription
NameYesFriendly name (e.g. "Deutsche Telekom").
Trunk IDYesTechnical identifier (lowercase, unique).
SIP URIYesCarrier SIP URI (e.g. sip:carrier.example.com:5060).
EnabledYesMaster toggle.
PriorityNoHigher = preferred when multiple trunks are linked. Default 50.

Transport

FieldRequiredDescription
TransportYesudp / tcp / tls.

Authentication

MethodHow it worksPrerequisitesUse case
ip_onlyCarrier trusts by IP.Simple trusted carriers.
digestStandard SIP digest (401 / 407 challenge).Auth User + Pass.Most carriers.
registrationPersistent SIP REGISTER with carrier.Auth User + Pass.Carriers that require register-before-invite.
ip_and_digestBoth IP and digest.Allowed IPs + Auth User + Pass.Hardened.
tls_mutualClient TLS cert.Transport=tls + TLS Cert variable.mTLS carriers.
FieldConditionalDescription
Auth Userdigest / registrationUsername.
Auth Passdigest / registrationPassword (encrypted).
Auth Realmdigest / registrationSIP realm.
TLS Cert Variabletls_mutualTeam variable (type secret) holding the client cert.

Caller ID

FieldDescription
Caller ID Modepassthrough (original caller), base_number (the base number itself), override (custom value).
Caller ID OverrideRequired when mode is override.
Per-transfer override

The agent's transfer() tool can pass a callerId parameter that takes priority over the trunk's mode.

Technical

FieldDefaultDescription
Max Concurrent Calls0 (unlimited)Cap.
Codec Preferences["PCMA", "PCMU"]Priority order.

Base number linking

FieldDescription
Base NumbersMulti-select. A base number can link multiple trunks; highest priority wins.

You can also link from the Base numbers edit form via "Outbound Trunk (Egress)".

Workflows

Create an egress trunk

Click Create → Name + Trunk ID + SIP URI → Transport → Auth Method + credentials → Caller ID Mode → optional Codec Preferences / Max Concurrent → link base numbers → enable → save. Changes auto-sync to Redis; for registration trunks, Kamailio kicks off REGISTER automatically.

Reference examples

Deutsche Telekom (digest)

SettingValue
SIP URIsip:sip-trunk.telekom.de:5060
Transportudp
Auth Methoddigest
Caller ID Modebase_number
Codec Preferences["PCMA", "PCMU"]

Twilio (IP auth + TLS)

SettingValue
SIP URIsip:your-trunk.pstn.twilio.com
Transporttls
Auth Methodip_only
Caller ID Modeoverride
Caller ID Override+14155551234

Carrier with registration

SettingValue
SIP URIsip:registrar.carrier.example.com
Transportudp
Auth Methodregistration
Caller ID Modepassthrough

See also