Update a SIP trunk gateway
PATCH
/v1/voice/trunks/{trunk_id}/gateways/{gateway_id}
const gateway = await bird.voice.trunks.gateways.update("TRUNK_ID", "GATEWAY_ID", {
priority: 10,
});
console.log(gateway.id, gateway.priority);gateway = client.voice.trunks.gateways.update("TRUNK_ID", "GATEWAY_ID", priority=10)
print(gateway.id, gateway.priority)gateway, err := client.Voice.Trunks.Gateways.Update(context.Background(), "TRUNK_ID", "GATEWAY_ID", bird.VoiceTrunksGatewaysUpdateParams{
Priority: bird.Ptr(10),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(gateway.Id, gateway.Priority)$gateway = $bird->voice->trunks->gateways->update(
'TRUNK_ID', 'GATEWAY_ID', (new VoiceTrunkGatewayUpdate())->setPriority(10),
);
echo $gateway->getId(), ' ', $gateway->getPriority(), "\n";bird voice trunks gateways update <trunk-id> <gateway-id> \
--destination-format '1234#{number}' \
--origination-format '+{number}' \
--priority 0 \
--sip-uri sip:pbx.example.com:5060curl -X PATCH "https://us1.platform.bird.com/v1/voice/trunks/{trunk_id}/gateways/{gateway_id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sip_uri": "sip:pbx.example.com:5060",
"priority": 0,
"origination_format": "+{number}",
"destination_format": "1234#{number}"
}'Antwort200
{
"id": "vtg_01krdgeqcxet5s7t44vh8rt9mg",
"trunk_id": "spt_01krdgeqcxet5s7t44vh8rt9mg",
"sip_uri": "sip:pbx.example.com:5060",
"priority": 0,
"origination_format": "+{number}",
"destination_format": "+{number}",
"created_at": "2026-05-20T09:14:52Z",
"updated_at": "2026-05-25T16:42:01Z"
}
Updates the gateway's sip_uri, its priority, either number format, or any
combination. Omitted fields stay unchanged; sending an empty string for a
number format returns it to E.164.
An updated SIP URI that collides with another gateway on this trunk returns
409 Conflict. An empty body or invalid field returns 422. A trunk or
gateway outside the workspace returns 404 Not Found. A trunk without
inbound calling enabled returns 412 Precondition Failed.
Parameter
trunk_id
string
gateway_id
string
Anfrage-Nutzlast
sip_uri
string
SIP URI an inbound call to this trunk should be forwarded to. Give the host only, with an optional port: which number is dialed there comes from destination_format, so a URI carrying a user part is rejected.
priority
integer
The order gateways are tried in, lowest first. Give two gateways the same priority to share calls between them evenly.
origination_format
string
How this gateway wants the calling number spelled, as a template whose
{number} stands for the number without its leading +. The result is
stated in the P-Asserted-Identity header of the delivered call.
Send an empty string to go back to E.164, which is +{number}. The template
may add digits, letters and the characters -_.!~*'()&=+$,;?/%# around
{number}, which may appear at most once, and anything else in braces is
rejected so a misspelled placeholder cannot reach a call.
A format with no {number} at all states the same identity on every call,
which is what a peer that only accepts one authorized number wants. The
call then carries nothing about who really called.
destination_format
string
How this gateway formats the dialed number. In the template, {number}
represents the number without its leading +. The result is placed before
the sip_uri host. For example, 1234#{number} formats +31201234567 as
sip:1234#31201234567@pbx.example.com:5060.
Send an empty string to go back to E.164, which is +{number}. A format
with no {number} at all sends every number this trunk answers to one fixed
number, so 777000447973 reaches sip:777000447973@pbx.example.com:5060
whatever was dialed. The same rules as origination_format apply to what
the template may contain.
Antwort-Payload
id
string
erforderlich
Unique identifier for this gateway.
trunk_id
string
erforderlich
sip_uri
string
erforderlich
SIP URI an inbound call to this trunk is forwarded to. The host only: which number is dialed at that host comes from destination_format, because it changes with every call.
priority
integer
erforderlich
The order gateways are tried in, lowest first. Gateways sharing a priority take an equal share of calls, and any of them may be tried first on a given call.
origination_format
string
erforderlich
How the calling number is spelled to this gateway, as a template whose
{number} stands for the number without its leading +. It is stated
in the P-Asserted-Identity header of the delivered call.
A gateway that has not asked for anything else reports +{number},
which is E.164. A format with no {number} states that same identity on
every call, whoever called.
destination_format
string
erforderlich
How this gateway formats the dialed number. In the template,
{number} represents the number without its leading +. The result
is placed before the sip_uri host. For example, 1234#{number}
formats +31201234567 as
sip:1234#31201234567@pbx.example.com:5060.
A gateway that has not asked for anything else reports +{number},
which is E.164. A format with no {number} is dialed as it stands, so
every number the trunk answers reaches that one number.
created_at
string
erforderlich
updated_at
string
erforderlich
Verwandte Ressourcen
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.
Das Konzept verstehenShould I use a Bird SDK or call the API directly?Dem Lernpfad folgenBuild your first integrationImplementierungsleitfadenSend your first email
Implementierungs-Briefing erhalten