Dial/ConfBridge leaving channels open on abrupt disconnection


#1

Hi all,

(Running Asterisk 16.0.0)
When using WebRTC and Dial/ConfBridge with PJSIP if you end the call with a normal BYE all channels clear up as expected. However if you refresh the web page the channels are left open

You will get output such as:

Removed contact 'sip:fdea6gog@XXX.XX.XXX.XXX:13069;transport=ws' from AOR 'foo' due to transport shutdown
 Contact foo/sip:fdea6gog@XXX.XX.XXX.XXX:13069;transport=ws has been deleted
  == Endpoint foo is now Unreachable
  == WebSocket connection from 'XXX.XX.XXX.XXX:13069' closed

or
WARNING[184693]: res_http_websocket.c:516 ws_safe_read: Web socket closed abruptly

The output makes sense and is expected, but shouldn’t it clear up all the channels too?

It is trickier to reproduce with Dial because both parties need to refreshing at the same time; also have yet to reproduce on Chrome, just FireFox


#2

You can use the RTP timeout or session timers to know that the session itself is gone. There is nothing built into to terminate all calls as a result of the underlying websocket going away for WebRTC.