PBX
PBX — WebRTC Softphone and Browser Calling
Overview
The SipLive softphone enables calls from any modern web browser using WebRTC. No software install needed. Signaling uses SIP over WebSocket (WSS); media uses SRTP.
How It Works
- Browser connects to
wss://<pbx-host>:8089/ws. - Authenticates using the extension's -wss endpoint credentials.
- Incoming calls arrive as SIP INVITE over WebSocket; browser handles audio via WebRTC API.
- Media flows as SRTP between browser and PBX.
Requirements
- Valid CA-signed TLS certificate — Browsers reject self-signed certs for WSS.
- SRTP enabled on the WSS endpoint — WebRTC mandates encrypted media.
- Separate -wss endpoint and auth — Sharing auth between UDP and WSS causes silent failures.
- Port 8089/TCP open in the firewall.
- Modern browser — Chrome 80+, Firefox 78+, Edge 80+, Safari 14+. Microphone permission required.
WSS Endpoint Settings (ps_endpoints)
transport = transport-wssmedia_encryption = sdeswebrtc = yesdtls_verify = no
These are set automatically when creating a WebRTC extension via the admin portal.
Opening the Softphone
Users click the Phone button in the portal nav bar. It opens in a popup, auto-registers, and stays active while open. Browser notifications alert for incoming calls.
Troubleshooting
- Connection refused on 8089 — Check
asterisk.conf [http]hasenabled=yesand firewall allows TCP 8089. - Registered but no audio — Verify RTP ports 10000–20000 are open and SRTP is negotiating.
- 401 on WSS — The -wss endpoint is missing its own
ps_authsrow. - One-way audio — NAT issue. Set
external_media_addressandexternal_signaling_addressto the PBX's public IP.