Registration Status: When an endpoint is registered on a SIP client, additional fields like
sip_contact, sip_expires, and sip_user_agent are included in the response.Attributes
Core Attributes
| Field | Type | Description |
|---|---|---|
endpoint_id | string | Unique identifier for the endpoint. All endpoint API operations are performed using this identifier. |
username | string | SIP username (unique per account). Only alphanumeric characters are accepted. |
alias | string | Friendly name for the endpoint. Accepts alphabets (uppercase and lowercase), numbers (0-9), hyphen (-), and underscore (_) only. |
sip_uri | string | Full SIP URI of the endpoint. External users can call this endpoint on this SIP URI. Format: sip:username@sip.vobiz.ai |
sip_registered | string | Registration status as a string ("true" or "false"), not a boolean. "true" when a SIP client is actively registered, "false" otherwise. Compare against the string value. |
application | object | Associated application details for call routing. Contains app_id, app_name, answer_url, and answer_method. null if no application is attached. |
resource_uri | string | API resource URI for this endpoint. |
sub_account | string | Sub-account auth_id if endpoint belongs to a sub-account. null for main account. |
created_at | string (ISO 8601) | Creation timestamp. |
updated_at | string (ISO 8601) | Last update timestamp. |
Permission Attributes
| Field | Type | Description |
|---|---|---|
allow_voice | boolean | Voice calls enabled (default: true). |
allow_message | boolean | Messaging enabled (default: true). |
allow_video | boolean | Video calls enabled (default: false). |
allow_same_domain | boolean | Calls to same domain allowed (default: true). |
allow_other_domains | boolean | Calls to other domains allowed (default: false). |
allow_phones | boolean | Calls to phone numbers allowed (default: true). |
allow_apps | boolean | Calls to apps allowed (default: true). |
Registration Attributes (when registered)
| Field | Type | Description |
|---|---|---|
sip_contact | string | SIP contact address of the registered client. Example: 192.168.1.100:5060 |
sip_expires | string (ISO 8601) | Timestamp when the SIP registration expires. |
sip_user_agent | string | User agent string of the SIP client. Example: "Zoiper v5.4.5" |
sip_registration | object | Detailed registration information (retrieve endpoint only). Contains contact, expires, user_agent, received, and path fields. |
Examples
Unregistered Endpoint
Response when the endpoint is not currently registered on any SIP client:Unregistered Endpoint Response
Registered Endpoint
Response when the endpoint is actively registered on a SIP client:Registered Endpoint Response
The
password field is write-only and never returned in API responses. Registration timestamps (sip_expires, created_at, updated_at) are in ISO 8601 format (UTC).Registration and WebRTC
An endpoint is just a SIP account. A device “comes online” by registering with the endpoint’susername and password against the Vobiz SIP domain (sip.vobiz.ai):
- Softphones / IP desk phones (Zoiper, Linphone, Yealink, etc.) register over UDP/TCP/TLS.
- Browser / WebRTC clients register over SIP-over-WebSocket using the same
username/password. There is no separate JWT or token API in v1 - the SIP credentials are the auth. See WebRTC application setup.
sip_registered flips to "true" and the live sip_contact, sip_expires, and sip_user_agent fields populate. When the registration lapses (no refresh before sip_expires) the endpoint goes back to "false" and those fields clear.
Locked vs editable fields
| Editable via update | Locked after creation |
|---|---|
password, alias, application, allow_voice, allow_message, allow_video | username, endpoint_id, domain, allow_same_domain, allow_other_domains, allow_phones, allow_apps |