Extension

Extension

{
    "id": "e1491290-c61c-4349-a7ff-5890c796b61b",
    "customer_id": "5e4a0680-804e-11ec-8477-2fea5968d85b",
    "name": "test domain",
    "detail": "test domain creation",
    "extension": "test12",
    "domain_name": "ab12.reg.voipbin.net",
    "username": "test12",
    "password": "27a4d0f2-757c-11eb-bc8f-4f045857b89c",
    "direct_hash": "",
    "tm_create": "2021-03-21 11:24:26.485161",
    "tm_update": "",
    "tm_delete": ""
},
  • id (UUID): The extension’s unique identifier. Returned when creating via POST /extensions or listing via GET /extensions.

  • customer_id (UUID): The customer who owns this extension. Obtained from your account info via GET /customers.

  • name (String): A human-readable label for the extension. Free-form text for organizational use.

  • detail (String): A longer description of the extension’s purpose or configuration notes.

  • extension (String): The extension name or number used for SIP registration and addressing.

  • domain_name (String): The full SIP domain (realm) of the extension, in the format {label}.reg.voipbin.net where {label} is a short customer-specific identifier (e.g. ab12). Auto-generated by VoIPBIN. Use this value verbatim when configuring SIP devices.

  • username (String): The SIP authentication username. Used by SIP devices when registering with VoIPBIN.

  • password (String): The SIP authentication password. Used by SIP devices when registering with VoIPBIN.

  • direct_hash (String): Hash for direct extension access. Automatically created when the extension is created. This hash forms the direct SIP URI: sip:direct.<hash>@sip.voipbin.net. Regenerate via POST /extensions/{id}/direct-hash-regenerate.

  • tm_create (string, ISO 8601): Timestamp when the extension was created.

  • tm_update (string, ISO 8601): Timestamp of the last update to any extension property. Empty string if never updated.

  • tm_delete (string, ISO 8601): Timestamp when the extension was deleted. Empty string if not deleted.

Note

AI Implementation Hint

Unlike other resources that use 9999-01-01 00:00:00.000000 as a sentinel for “not yet occurred” timestamps, extensions use an empty string ("") for tm_update and tm_delete when the event has not occurred.

Warning

Call routing uses ``extension``, not ``name``

When dialing an extension via POST /calls with destination.type: "extension", set destination.target_name to the extension’s extension (username) field, not its name (display label) field. The two are independent and often differ (e.g. name: "jay-home" vs. extension: "jay1"). Routing is matched strictly against extension; if target_name does not match any registered extension’s extension value, the call request fails with an error rather than silently ringing nothing.

Provisioning Token

Returned by POST /extensions/{id}/provisioning-token. See Softphone QR Provisioning.

{
    "token": "3f9a1c8e5b2d7f4a6c0e9b8d1f3a5c7e2b4d6f8a0c1e3b5d7f9a2c4e6b8d0f1a",
    "url": "https://api.voipbin.net/provisioning/extension?token=3f9a1c8e5b2d7f4a6c0e9b8d1f3a5c7e2b4d6f8a0c1e3b5d7f9a2c4e6b8d0f1a",
    "expire": "2026-08-24T12:10:00Z"
}
  • token (String): The provisioning token. A random 64-character lowercase hex string. Valid for 10 minutes after issuance and usable multiple times within that window.

  • url (String): The complete public provisioning URL. Render this value as a QR code for the Linphone mobile app to scan. Use it verbatim; do not reassemble it from token.

  • expire (String, RFC 3339): Timestamp when the token expires. After this time the url returns 400.

Note

AI Implementation Hint

Treat url as a credential: it serves the extension’s SIP password in plain text to any holder of the token until expire. The endpoint requires admin or manager permission and no request body. To refresh an expired QR code, call the endpoint again for a new token.