From e98e00be51dd25f54a1d1b89069697ad9e542cf8 Mon Sep 17 00:00:00 2001 From: Goffi Date: Sun, 18 Oct 2026 23:33:08 +0200 Subject: [PATCH] plugin XEP-0167: pass the `call_end` reason to the jingle termination --- libervia/backend/plugins/plugin_xep_0167/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libervia/backend/plugins/plugin_xep_0167/__init__.py b/libervia/backend/plugins/plugin_xep_0167/__init__.py index 13fb1500..781d886b 100644 --- a/libervia/backend/plugins/plugin_xep_0167/__init__.py +++ b/libervia/backend/plugins/plugin_xep_0167/__init__.py @@ -636,7 +636,10 @@ class XEP_0167(BaseApplicationHandler): # the session is already gone (e.g. duplicated call_end): nothing to do log.warning(f"No session with SID {session_id} found, call_end ignored.") return - await self._j.terminate(client, self._j.REASON_SUCCESS, session) + reason = data.get("reason") if data else None + if reason not in ("cancel", "decline", "busy"): + reason = self._j.REASON_SUCCESS + await self._j.terminate(client, reason, session) # jingle callbacks