# HG changeset patch # User Goffi # Date 1692203647 -7200 # Node ID 84f312be53b471ae0318fc3dd13c4707a5107727 # Parent 410064b31dcae2189f727b585288dacfa2673e07 browser (calls): handle "ringing" info message and update status when received diff -r 410064b31dca -r 84f312be53b4 libervia/web/pages/calls/_browser/__init__.py --- a/libervia/web/pages/calls/_browser/__init__.py Wed Aug 16 16:52:53 2023 +0200 +++ b/libervia/web/pages/calls/_browser/__init__.py Wed Aug 16 18:34:07 2023 +0200 @@ -14,7 +14,7 @@ profile = window.profile or "" bridge = Bridge() GATHER_TIMEOUT = 10000 -ALLOWED_STATUSES = (None, "dialing") +ALLOWED_STATUSES = (None, "dialing", "ringing") AUDIO = "audio" VIDEO = "video" ALLOWED_CALL_MODES = {AUDIO, VIDEO} @@ -40,6 +40,7 @@ self.call_status_tpl = Template("call/call_status.html") self.audio_player_elt = document["audio_player"] bridge.register_signal("action_new", self._on_action_new) + bridge.register_signal("call_info", self._on_call_info) bridge.register_signal("call_setup", self._on_call_setup) bridge.register_signal("call_ended", self._on_call_ended) @@ -225,6 +226,12 @@ return aio.run(self.end_call(json.loads(data_s))) + def _on_call_info(self, session_id: str, info_type, info_data_s: str, profile: str): + if self.sid != session_id: + return + if info_type == "ringing": + self.status = "ringing" + def _on_call_setup(self, session_id: str, setup_data_s: str, profile: str) -> None: """Called when we have received answer SDP from responder diff -r 410064b31dca -r 84f312be53b4 libervia/web/server/server.py --- a/libervia/web/server/server.py Wed Aug 16 16:52:53 2023 +0200 +++ b/libervia/web/server/server.py Wed Aug 16 18:34:07 2023 +0200 @@ -578,6 +578,9 @@ "call_setup", partial(self.on_signal, "call_setup"), "plugin" ) self.bridge.register_signal( + "call_info", partial(self.on_signal, "call_info"), "plugin" + ) + self.bridge.register_signal( "call_ended", partial(self.on_signal, "call_ended"), "plugin" ) self.bridge.register_signal(