-
Notifications
You must be signed in to change notification settings - Fork 0
SIP PBX Trigger Trunk Event
Andrey Egorov edited this page May 18, 2026
·
2 revisions
Use SIP PBX Trigger with Trigger On = Trunk Event to:
- receive inbound calls from an external SIP side
- route fixed-address trunks with or without SIP registration
- host workflow-driven auth for dynamic trunks
- optionally decide whether daemon-owned global call recording should start
| Parameter | Required | Shown when | Description |
|---|---|---|---|
Trigger On |
Yes | Always | Select Trunk Event. |
Trunk Ref |
Yes | Always | Stable public trunk name. Used by inbound events and by Dial -> Make Call in Mode = Trunk. |
Connection mode |
Yes | Always |
Fixed Address or Dynamic Address. |
SIP Connection |
Yes for practical use | Connection mode = Fixed Address |
SIP credential used for outbound trunk signaling and fixed-address matching. |
Use registration |
No | Connection mode = Fixed Address |
If enabled, the trigger sends outbound REGISTER and later validates the returned route token on inbound requests. |
Auth Mode |
Yes | Connection mode = Dynamic Address |
Static, Digest First, or Raw. |
Username |
Yes |
Connection mode = Dynamic Address and Auth Mode = Static
|
Static auth username for dynamic trunk auth. |
Password |
Yes |
Connection mode = Dynamic Address and Auth Mode = Static
|
Static auth password for dynamic trunk auth. |
Global Call Recording |
No | Always | Enables the Recording branch. |
| Option | Shown when | Description |
|---|---|---|
Codecs |
Always | Allowed SIP audio codecs for this trunk route. This is an allow-list only, not a priority override. The runtime keeps its built-in codec priority. Applies both to inbound calls on this trigger and to outbound Dial -> Make Call in Mode = Trunk through the same Trunk Ref. |
DTMF Methods |
Always | Allowed inbound and outbound DTMF methods for this trunk route: RFC2833, SIP INFO, Inband. This is a filter only, not a priority override. Applies both to inbound calls on this trigger and to outbound Dial -> Make Call in Mode = Trunk through the same Trunk Ref. |
Registration Expires (Seconds) |
Use registration = on |
Requested REGISTER expiry for outbound trunk registration refresh. |
REGISTER Headers |
Use registration = on |
Extra SIP headers added to outbound REGISTER. |
| Option | Shown when | Description |
|---|---|---|
Codecs |
Always | Allowed SIP audio codecs for this trunk route. This is an allow-list only, not a priority override. The runtime keeps its built-in codec priority. Applies both to inbound calls on this trigger and to outbound Dial -> Make Call in Mode = Trunk through the same Trunk Ref. |
DTMF Methods |
Always | Allowed inbound and outbound DTMF methods for this trunk route: RFC2833, SIP INFO, Inband. This is a filter only, not a priority override. Applies both to inbound calls on this trigger and to outbound Dial -> Make Call in Mode = Trunk through the same Trunk Ref. |
Auth Timeout (Seconds) |
Auth Mode = Digest First or Raw
|
How long the trigger waits for Respond To Auth before assuming not_applicable. |
Transport |
Always | Current UI exposes UDP. |
Local Bind Port |
Always | UDP port for inbound SIP listener. |
TLS Bind Port |
Always | Reserved UI field for TLS listener port. |
Local Bind IP |
Always | Explicit local bind address. |
Advertised IP |
Always | Public host or IP used in Contact/Via fallback identity. |
Realm |
Always | SIP auth realm exposed to remote side. |
Continue On Auth Reject |
Always | If enabled, a reject from this trigger does not stop later matching auth candidates on the same endpoint. |
| Option | Shown when | Description |
|---|---|---|
Respond to recording timeout (Seconds) |
Global Call Recording = on |
How long the trigger waits for Respond to recording. |
| Mode | Behavior |
|---|---|
Fixed Address |
Matches inbound SIP by fixed remote address. Can optionally perform outbound SIP registration and validate the generated route token on inbound traffic. |
Dynamic Address |
Uses workflow-aware auth handling for inbound REGISTER and INVITE. The remote endpoint becomes the active address after successful auth/registration. |
| Topic | Behavior |
|---|---|
| Codec priority | The Codecs option only removes codecs from consideration. It does not reorder them. |
| DTMF method priority | The DTMF Methods option only enables or disables methods. It does not define a user-facing priority order. |
| Inband DTMF | If Inband is allowed, the runtime also runs audio-tone detection in addition to SIP/RTP DTMF paths. |
| Auth Mode |
Auth branch |
Meaning |
|---|---|---|
Static |
No | Runtime validates the remote side directly against the configured static username/password. |
Digest First |
Yes | Runtime models digest auth but asks the workflow for the decision. |
Raw |
Yes | Workflow gets the raw auth request and decides whether to allow, challenge, deny, or ignore it. |
| Branch | When it appears | Meaning |
|---|---|---|
Call |
Always | Inbound call routed through this trunk trigger. |
Recording |
Global Call Recording = on |
Trigger-side recording decision request. |
Auth |
Connection mode = Dynamic Address and Auth Mode != Static
|
Workflow auth decision request for inbound REGISTER or INVITE. |
| Field | Meaning |
|---|---|
eventType |
Trigger event type, typically invite. |
ref |
Public trunk ref. |
legId |
Live leg created for the call. |
callId |
SIP call identifier. |
direction |
Runtime call direction string. |
from |
Caller SIP URI. |
callerNumber |
Parsed caller number or SIP user. |
callerName |
Parsed caller display name. |
to |
Called SIP URI. |
calledNumber |
Parsed called number or SIP user. |
calledName |
Parsed called display name when present. |
raw |
Normalized SIP inspection object for advanced workflow logic. |
sipPbx.ref |
Hidden routing metadata. |
sipPbx.legId |
Hidden leg resolution metadata. |
| Field | Meaning |
|---|---|
eventType |
Recording trigger event type. |
recordRequestId |
Request ID for Respond to recording. |
kind |
Recording request kind. |
ref |
Public trunk ref. |
legId |
Live leg to record. |
callId |
SIP call identifier. |
direction |
Runtime call direction string. |
from |
Caller SIP URI. |
callerNumber |
Parsed caller number. |
callerName |
Parsed caller display name. |
to |
Called SIP URI. |
calledNumber |
Parsed called number. |
calledName |
Parsed called display name. |
extension |
Present when the call is linked to an extension-facing side. |
sipPbx.recordRequestId |
Hidden request handle used by automatic respond resolution. |
| Field | Meaning |
|---|---|
authRequestId |
Request ID for Respond To Auth. |
ref |
Public trunk ref. |
requestType |
SIP method being authenticated, typically register or invite. |
auth |
Flat auth object such as username, realm, nonce, uri. |
remoteIp |
Remote source IP. |
remotePort |
Remote source port. |
transport |
SIP transport, currently udp. |
localIp |
Local listener IP used for this request. |
localPort |
Local listener port used for this request. |
raw |
Normalized SIP request inspection object. |
sipPbx.authRequestId |
Hidden request handle used by automatic respond resolution. |
Use SIP PBX -> Respond -> Respond To Auth.
| Parameter | Required | Shown when | Description |
|---|---|---|---|
Action |
Yes | Always |
Allow, Verify Digest Password, Not Applicable, Challenge, or Deny. |
Password |
Yes | Action = Verify Digest Password |
Digest password to verify against the inbound auth request. |
Extension |
No |
Action = Allow or Verify Digest Password
|
Leave empty for dynamic trunks. This field is only meaningful for extension auth. |
Status Code |
Yes |
Action = Challenge or Deny
|
SIP response status code. |
Reason |
Yes | Action = Deny |
SIP reason phrase or workflow-defined reject reason. |
Options -> Request ID |
No | Always | Explicit auth request override. Usually resolved automatically from the trigger item. |
For recording parameters and outputs, see SIP PBX Global Recording.
The Recording branch can also fire for outbound calls created through Dial -> Make Call when that dial uses this same trunk route.