SIP Registrations
Last updated September 4, 2026
Inbound SIP AOR registrations and parked REGISTER attempts
List active SIP AOR registrations
Returns every currently bound AOR contact, with the UDP/TCP/TLS socket on which the binding's REGISTER arrived. Use this list to know which AORs are dialable via the to field of POST /v1/legs.
Responses
200
List of bindings| Field | Type | | Description |
|---|
bindings | array[object] | required | |
Force-unbind an AOR (or a single contact within it)
The AOR must be URL-encoded in the path (for example, sip:alice@vb.example is encoded as sip%3Aalice%40vb.example). Without query parameters, every Contact under the AOR is removed; with ?contact=<contact-uri> only that single Contact is removed.
Parameters
| Name | In | Type | | Description |
|---|
aor | path | string | required | |
Responses
204
Binding(s) removed
400
Invalid AOR encoding| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
404
AOR (or specified contact) not found| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
Challenge a parked inbound REGISTER with a 401 digest auth request
Targets an inbound REGISTER surfaced via the sip.registration_attempt event (by its attempt_id). Sends a SIP 401 with a WWW-Authenticate digest challenge; the UA's credentialed re-REGISTER is verified against the supplied credential and, on success, bound and answered with 200 OK. Provide either password or ha1. The attempt must still be parked (it auto-accepts after the consult timeout).
Parameters
| Name | In | Type | | Description |
|---|
id | path | string | required | Leg ID |
Request Body
| Field | Type | | Description |
|---|
realm | string | required | |
username | string | optional | |
password | string | optional | |
ha1 | string | optional | |
algorithm | string | optional | |
qop | array[string] | optional | |
max_expires | integer | optional | |
Responses
202
401 challenge queued
400
Missing realm/credential| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
404
Registration attempt not found or already decided| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
Accept a parked inbound REGISTER attempt
Binds the AOR and replies 200 OK for an inbound REGISTER surfaced via the sip.registration_attempt event (by its attempt_id). Equivalent to letting the consult timeout elapse, but immediate. An optional max_expires caps the granted binding TTL.
Parameters
| Name | In | Type | | Description |
|---|
id | path | string | required | Leg ID |
Request Body
| Field | Type | | Description |
|---|
max_expires | integer | optional | |
Responses
202
Accept queued
400
Invalid max_expires| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
404
Registration attempt not found or already decided| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
Reject a parked inbound REGISTER attempt
Replies with a non-2xx (403 Forbidden by default; override via code/reason) for an inbound REGISTER surfaced via the sip.registration_attempt event (by its attempt_id).
Parameters
| Name | In | Type | | Description |
|---|
id | path | string | required | Leg ID |
Request Body
| Field | Type | | Description |
|---|
code | integer | optional | |
reason | string | optional | |
Responses
202
Reject queued
404
Registration attempt not found or already decided| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
Schemas
Objects used by the SIP Registrations endpoints above.
| Field | Type | | Description |
|---|
realm | string | required | |
username | string | optional | |
password | string | optional | |
ha1 | string | optional | |
algorithm | string | optional | |
qop | array[string] | optional | |
max_expires | integer | optional | |
| Field | Type | | Description |
|---|
instance_id | string | optional | Instance identifier |
error | string | required | Error message |
| Field | Type | | Description |
|---|
max_expires | integer | optional | |
| Field | Type | | Description |
|---|
code | integer | optional | |
reason | string | optional | |
| Field | Type | | Description |
|---|
aor | string | required | |
contact | string | required | |
socket | string | required | |
transport | string | required | |
user_agent | string | optional | |
call_id | string | optional | |
app_id | string | optional | |
created_at | string | required | |
last_refresh | string | required | |
expires_at | string | required | |
granted_expires_seconds | integer | required | |
| Field | Type | | Description |
|---|
bindings | array[object] | required | |