Skip to main content
PUT
/
api
/
user
/
phone-numbers
/
sip-trunks
/
{id}
Update SIP Trunk
curl --request PUT \
  --url https://app.famulor.de/api/user/phone-numbers/sip-trunks/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "phone_number": "<string>",
  "sip_username": "<string>",
  "sip_password": "<string>",
  "sip_address": "<string>",
  "sip_calling_format": "<string>",
  "inbound_authorization_type": "<string>",
  "allowed_inbound_ips": [
    {}
  ],
  "country_code": "<string>",
  "outbound_proxy": true
}
'
{
  "message": "SIP trunk updated successfully.",
  "data": {
    "id": 42,
    "phone_number": "1000",
    "sip_username": "new_username",
    "sip_address": "sip.provider.com",
    "sip_calling_format": "+e164",
    "inbound_authorization_type": "auth",
    "allowed_inbound_ips": null,
    "outbound_proxy": false,
    "country_code": "US",
    "inbound_trunk_id": "ST_newtrunkid1",
    "outbound_trunk_id": "ST_newtrunkid2",
    "created_at": "2026-03-31T10:00:00.000000Z",
    "updated_at": "2026-03-31T12:00:00.000000Z"
  }
}
This endpoint updates an existing SIP trunk. Only include the fields you want to change - partial updates are supported. Changing credentials, address, or proxy settings automatically re-provisions the affected voice infrastructure trunks.

Path Parameters

id
integer
required
The unique identifier of the SIP trunk to update

Body Parameters

All fields are optional. Only send the fields you want to update.
phone_number
string
The SIP extension or phone number (1-15 characters)
sip_username
string
Username for SIP authentication (3-128 characters)
sip_password
string
Password for SIP authentication (minimum 3 characters)
sip_address
string
The SIP server address without port
sip_calling_format
string
The outbound calling number format: +e164, e164, or national
inbound_authorization_type
string
How inbound calls are authenticated: auth or ip. When switching to ip, you must also provide allowed_inbound_ips. When switching to auth, any existing IP whitelist is cleared.
allowed_inbound_ips
array
Array of IP addresses allowed for inbound calls. Required when inbound_authorization_type is set to ip.
country_code
string
ISO 3166-2 country code
outbound_proxy
boolean
Route outbound calls through a fixed IP address

Response

message
string
Success message
data
object
The updated SIP trunk object (same fields as Get SIP trunk)
{
  "message": "SIP trunk updated successfully.",
  "data": {
    "id": 42,
    "phone_number": "1000",
    "sip_username": "new_username",
    "sip_address": "sip.provider.com",
    "sip_calling_format": "+e164",
    "inbound_authorization_type": "auth",
    "allowed_inbound_ips": null,
    "outbound_proxy": false,
    "country_code": "US",
    "inbound_trunk_id": "ST_newtrunkid1",
    "outbound_trunk_id": "ST_newtrunkid2",
    "created_at": "2026-03-31T10:00:00.000000Z",
    "updated_at": "2026-03-31T12:00:00.000000Z"
  }
}

Re-provisioning behavior

The following field changes trigger automatic re-provisioning of voice infrastructure trunks:
Field changedInbound trunkOutbound trunk
sip_usernameRe-createdRe-created
sip_passwordRe-createdRe-created
sip_address-Re-created
phone_numberRe-createdRe-created
inbound_authorization_typeRe-created-
allowed_inbound_ipsRe-created-
outbound_proxy-Re-created
Fields like sip_calling_format and country_code are stored locally and do not trigger re-provisioning.