[asterisk-bugs] [JIRA] (ASTERISK-30376) Disconnecting WebRTC SIP client disconnects all other WebRTC SIP clients

Sébastien Duthil (JIRA) noreply at issues.asterisk.org
Fri Dec 23 16:39:58 CST 2022


Sébastien Duthil created ASTERISK-30376:
-------------------------------------------

             Summary: Disconnecting WebRTC SIP client disconnects all other WebRTC SIP clients
                 Key: ASTERISK-30376
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30376
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Resources/res_pjsip_pubsub
    Affects Versions: 19.7.1
            Reporter: Sébastien Duthil
            Severity: Major


Given I have two PJSIP WebRTC endpoints A and B registered
When A disconnects
Then B is unregistered on Asterisk

I can reproduce the scenario with Asterisk 19.7.1 and the configuration given in the [WebRTC tutorial|https://wiki.asterisk.org/wiki/display/AST/WebRTC+tutorial+using+SIPML5] (using two endpoints {{webrtc_client}} and {{webrtc_client2}}) and two instances of the [SIPML5 WebRTC client|https://www.doubango.org/sipml5].

The disconnection by pressing the "logout" button on SIPML5 does:
* send a SIP REGISTER with {{Contact: expires=0}}
* receives the SIP ACK
* close the SIP Websocket

Here are the logs of the WebRTC connection for both accounts:

{noformat}
  == WebSocket connection from '192.168.121.1:53748' for protocol 'sip' accepted using version '13'
    -- Added contact 'sips:webrtc_client2 at 192.168.121.1:53748;transport=ws;rtcweb-breaker=no;x-ast-orig-host=df7jal23ls0d.invalid:0' to AOR 'webrtc_client2' with expiration of 200 seconds
  == Endpoint webrtc_client2 is now Reachable
  == WebSocket connection from '192.168.121.1:53750' for protocol 'sip' accepted using version '13'
    -- Added contact 'sips:webrtc_client at 192.168.121.1:53750;transport=ws;rtcweb-breaker=no;x-ast-orig-host=df7jal23ls0d.invalid:0' to AOR 'webrtc_client' with expiration of 200 seconds
  == Endpoint webrtc_client is now Reachable
{noformat}
Here is the Asterisk console when disconnecting {{webrtc_client}}:
{noformat}
    -- Removed contact 'sips:webrtc_client at 192.168.121.1:53750;transport=ws;rtcweb-breaker=no;x-ast-orig-host=df7jal23ls0d.invalid:0' from AOR 'webrtc_client' due to request
  == Contact webrtc_client/sips:webrtc_client at 192.168.121.1:53750;transport=ws;rtcweb-breaker=no;x-ast-orig-host=df7jal23ls0d.invalid:0 has been deleted
  == Endpoint webrtc_client is now Unreachable
    -- Removed contact 'sips:webrtc_client2 at 192.168.121.1:53748;transport=ws;rtcweb-breaker=no;x-ast-orig-host=df7jal23ls0d.invalid:0' from AOR 'webrtc_client2' due to shutdown
  == Contact webrtc_client2/sips:webrtc_client2 at 192.168.121.1:53748;transport=ws;rtcweb-breaker=no;x-ast-orig-host=df7jal23ls0d.invalid:0 has been deleted
  == Endpoint webrtc_client2 is now Unreachable
{noformat}

We can see that {{webrtc_client2}} is disconnected as well.

We have successfully worked around this behavior in Asterisk 19.7.1 by reverting the patch for ASTERISK-30244.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list