; ; Add this line inside the [modules] section of /etc/asterisk/modules.conf ; (near the other noload lines, BEFORE the [global] section header). ; ; CRITICAL FIX: the Ubuntu asterisk package's default modules.conf autoloads ; the legacy chan_sip.so alongside chan_pjsip. chan_sip registers the "sip" ; websocket sub-protocol name FIRST during boot; when res_pjsip_transport_websocket ; then tries to register the same "sip" sub-protocol name for PJSIP's own ; WebRTC/WSS support, it fails and silently declines to load — leaving PJSIP ; with no working "ws"/"wss" transport at all. Symptom: browser softphones ; open the WebSocket fine (visible as "connecting" in the UI, and Asterisk ; logs "Web socket closed abruptly") but never complete SIP registration. ; ; We only use PJSIP in this project, so chan_sip is disabled entirely. ; noload => chan_sip.so