From 1494b8cd4e1a51280bf168fbb54d75f46da5b4c6 Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Mon, 25 Nov 2013 15:32:38 +0200 Subject: [PATCH] Fix #222: SIPE crashes when groupchat session expires (III) If we get a 481 response to a groupchat command then we re-initialize groupchat session again. (cherry picked from commit f53ffbcab95be9007085c9a2056c3e4360af90f4) --- src/core/sipe-groupchat.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core/sipe-groupchat.c b/src/core/sipe-groupchat.c index f26ad47d..e1732145 100644 --- a/src/core/sipe-groupchat.c +++ b/src/core/sipe-groupchat.c @@ -495,6 +495,14 @@ static gboolean chatserver_command_response(struct sipe_core_private *sipe_priva chatserver_command_error_notify(sipe_private, chat_session, gmsg->content); + + /* 481 Call Leg Does Not Exist -> server dropped session */ + if (msg->response == 481) { + struct sipe_groupchat *groupchat = sipe_private->groupchat; + groupchat->session = NULL; + groupchat->connected = FALSE; + sipe_groupchat_init(sipe_private); + } } return TRUE; } -- 2.11.4.GIT