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
-wssendpoint on port 8089 with SRTP. - Mobile Push — SipLive mobile app. Uses UDP but receives push notifications when the app is backgrounded.
Creating an Extension
- Go to Communications → Extensions and select a tenant.
- Click New Extension.
- Enter the extension number, display name, and SIP password.
- Select the endpoint type (SIP / WebRTC / Both).
- 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.