PBX

PBX — Managing Extensions and Endpoints

Overview

An extension is an internal phone number (e.g., 1001) assigned to a user or device. Each extension creates a PJSIP endpoint, auth, and AOR row in the realtime database. Extensions are tenant-scoped — 1001 in tenant A is completely separate from 1001 in tenant B.

Extension Types

  • Standard SIP (UDP/TCP) — Desk phones (Polycom, Yealink, Grandstream) and mobile SIP apps. Registers on UDP 5060.
  • WebRTC (WSS) — Browser-based softphones. Uses a separate -wss endpoint on port 8089 with SRTP.
  • Mobile Push — SipLive mobile app. Uses UDP but receives push notifications when the app is backgrounded.

Creating an Extension

  1. Go to Communications → Extensions and select a tenant.
  2. Click New Extension.
  3. Enter the extension number, display name, and SIP password.
  4. Select the endpoint type (SIP / WebRTC / Both).
  5. Save — PJSIP endpoint, auth, and AOR rows are created automatically.

PJSIP Endpoint Naming

Endpoints are named {tenant_code}-{extension} (e.g., acme-1001). WebRTC endpoints are named acme-1001-wss. This prefix ensures tenant isolation.

Separate Auth for WebRTC

WebRTC endpoints must have a separate ps_auths row. Sharing auth between UDP and WSS endpoints causes silent call failures. The system creates a distinct auth row automatically when you enable WebRTC on an extension.

Phone Provisioning Settings

  • SIP Server: PBX public IP or hostname
  • SIP Port: 5060
  • Username / Auth Username: Extension number or full endpoint ID
  • Password: SIP password set on the extension

Troubleshooting Registration

pjsip show endpoints
pjsip show contacts
pjsip show aors

If the phone registers but calls fail, check direct_media and NAT configuration on the endpoint row.