Skip to main content

Extensions and devices

Routes: /extensions and /devices (see /api/docs for the full reference).

Extensions​

Extensions page listing numbers, names, owners and status.

The Extensions page.

An extension is a dialable number inside a company.

FieldMeaning
number1 to 16 digits, unique per company.
kindWhat the number reaches: user, queue, ivr, ringgroup, conference, park, paging or fax. Default user.
user_idThe owner, only for kind = user. A user has at most one extension.
display_nameShown on phones and in the directory. For an owned extension it defaults to the user's name.
enabledDisabled extensions are not routable.
target_flow_idOnly for kind = ivr: the IVR menu or call flow an internal call to the number runs (see IVR menus). null means none.

Permissions: extensions:read and extensions:write, both department-scoped.

An extension belongs to the department of its owner. An extension without an owner (a queue, IVR, ring group or reserved number) is company-wide, so it needs the company-wide permission. To detach an owner, PATCH with remove_owner: true. Deleting an extension also removes its devices.

Giving an extension to, or taking one from, an account that holds a system role is refused for company principals (MPBX-ACCOUNT-SYSTEM).

Devices​

Devices page with status badges such as Has credentials and Needs new credentials.

The Devices page. SIP user names are blurred; SIP passwords are never shown.

A device is one SIP identity (a desk phone, softphone or app) of an extension.

FieldMeaning
extension_idThe extension it belongs to.
nameA label for the device.
sip_usernameGenerated by the server.
transport_policyWhich SIP transports the device may use.
mac, model, provisioning_templateOptional hardware details. An empty string on PATCH clears them.
has_credentialsWhether the device has SIP credentials. The credentials themselves are never shown by the device routes.
revoked_atSet when the device was revoked.

Permissions: devices:read and devices:write, department-scoped through the extension's owner.

POST /devices/{id}/revoke removes the device's credentials and stops it from registering. Creating and rotating the credentials is a separate per-device flow that is not part of these routes.

Live registrations are published as device events on the events WebSocket to holders of devices:read.

Automatic phone provisioning​

Desk phones (Yealink, Fanvil, Snom, Grandstream) are configured automatically from their MAC address. See Desk phone provisioning. To connect an app or a browser, see Add users, extensions and phones.