Sign inGet started

bird voice trunks update

Usage

Code example
bird voice trunks update <trunk-id> [flags]

Description

Update a SIP trunk
Change a SIP trunk's directions, name, access control and Digest offer. A direction has to be enabled before its settings can be set, and one update can do both, so this is the operation that clears VoiceTrunkOutboundNotEnabled and VoiceTrunkInboundNotEnabled. The ip_acls, allowed_api_key_ids and digest_algorithms fields each REPLACE their whole list, so read bird voice trunks get first and send the list you want to end up with. An empty array clears an allow list; an empty digest_algorithms array restores the default offer. Turning inbound_enabled off resets number routes that use this trunk to reject incoming calls. Turning it back on does not restore those routes, so confirm that change with the user first.
Build the request from flags, a JSON VoiceTrunkUpdate body via --body-file ("-" reads stdin), or both — a flag overrides the matching body field. Run --example to print a ready-to-edit body, or --dry-run to print the resolved request without sending it.

Examples

Code example
# print the body shape (no credentials needed)
bird voice trunks update --example

# the body it prints:
Code example
{
  "allowed_api_key_ids": ["key_01krdgeqcxet5s7t44vh8rt9mg"],
  "digest_algorithms": ["MD5"],
  "display_name": "Production PBX trunk",
  "inbound_enabled": true,
  "ip_acls": [
    {
      "cidr": "203.0.113.0/24",
      "description": "Office network"
    }
  ],
  "media_bypass": true,
  "outbound_enabled": true,
  "session_credentials_enabled": true
}

Options

Request

NameDescription
--body-fileRead the JSON request body from this file; "-" reads stdin
--examplePrint a complete example request body, then exit
--dry-runPrint the resolved request without sending it, then exit
--idempotency-keyDeduplication key; a retry with the same key won't act twice

Options

NameDescription
--display-nameA human-readable label for this SIP trunk. Mutable, and distinct from the generated wire domain.
--outbound-enabledWhether this trunk may place calls. Turning it off stops the trunk admitting call attempts at the next call setup and leaves its connection and authentication settings stored, so turning it back on restores a working trunk. Omit the field to leave it unchanged.
--inbound-enabledWhether this trunk may receive calls. Turning it off resets number routes that use this trunk to reject incoming calls. Turning it back on does not restore those routes. The gateways remain configured. Omit the field to leave it unchanged.
--media-bypassWhether we take ourselves out of the audio path for calls we forward to this trunk. Turning it on takes effect at the next call setup and leaves calls already up untouched. It is an inbound setting, so the trunk must have inbound_enabled on; one update can do both. While it is on we cannot record those calls, report their audio quality, or end one because its audio stopped, and your equipment must be reachable for audio from the public internet. Turning it off puts us back in the path at the next call setup. Omit the field to leave it unchanged.
--allowed-api-key-ids <value>…Replaces the trunk's entire set of allowed API keys. When present, exactly these keys may authenticate the trunk over SIP Digest. Each key you ADD must belong to this workspace and hold voice at write level; a key that does not is refused and the whole update is rolled back. A key already on the list that has since lost the permission or expired does not block the update, so you can keep editing the trunk while you put its permission back. A non-empty list turns API-key authentication on; send an empty array to turn it off. Omit the field to leave the allowed keys unchanged.
--digest-algorithms <v1,v2,…>Replaces the Digest hash algorithms this trunk offers, in the order they should be offered. Send ['MD5'] for a PBX that only implements MD5 and rejects or ignores a challenge offering SHA-256 first. Send an empty array to return to the default of ['SHA-256', 'MD5']. The offer is never empty, because a trunk that offered nothing could not be authenticated at all. Narrowing the list also narrows what the trunk accepts: an answer using an algorithm no longer offered is rejected. Takes effect on the next call setup; no credential is re-issued. Omit the field to leave the offer unchanged. Possible values: SHA-256, MD5.
--session-credentials-enabledWhether a session credential may be used to connect to this trunk from a web browser, the CLI or MCP. Off by default; turning it on does not change what the allow lists admit, and turning it off stops those connections at the next call setup without re-issuing anything. Omit the field to leave it unchanged.
--response-schemaPrint the fields this command returns, then exit
NameDescription
bird voice trunks createCreate a SIP trunk
bird voice trunks deleteDelete a SIP trunk
bird voice trunks getGet a SIP trunk
bird voice trunks listList SIP trunks

Related resources

Continue with the documentation, guides and examples for this topic. Resources are in English.

Get an implementation brief