Hello Victor,

I've added some explicit RTP timeout and SST timeout handling to 1.4 branch, which you could try, but I think that this is not the reason for sessions left open in SEMS that you are experiencing.

o Victor Gamov on 03/11/2012 11:13 AM:
Hi All!

Can anybody explain me what does it means the following messages from
SEMS with calls handled via webconference module:

--------- cut here -------------
Feb 20 09:51:34 pbx sems[15965]: [#801809400] [clean_sessions,
AmSessionContainer.cpp:97] DEBUG: session [0x803087400] still running
--------- /cut here ------------

Which session is "still runnig"?
it is most probably not the one which you pasted the log for.

Why it may be happened (no BYE received for example?)
Is there any ERRORs in the logs, e.g. "500 unexpected exception", or some other error? This would be the only reason I could imagine that a session is still running.

The session is not destroyed until it is set to stopped and the RTP processing is stopped. Both happens in all cases for the webconference application.

I've attached a patch (to 1.4) which you could apply, and after you've got one session which is "still running" in the log, you could search backwards in the log for entries related to the session, and see what is happening there (and please post the log of findings here).

thanks!
Stefan

How I can terminate such sessions (RTP timeout for example?)

Thanks for any advice!



_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems


--
Stefan Sayer
CEO (Geschäftsführer)

FRAFOS GmbH

email: [email protected]
mobile:+49 162 1366449
www.frafos.com

Prinzessinnenstr. 19/20 betahaus
10969 Berlin
Germany
>From dbd2dfc0ab0478a05e61714a3c88609c5b841ed9 Mon Sep 17 00:00:00 2001
From: Stefan Sayer <[email protected]>
Date: Mon, 12 Mar 2012 16:55:02 +0100
Subject: [PATCH] session pointer in processing cycle debug log

---
 core/AmSession.cpp |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/core/AmSession.cpp b/core/AmSession.cpp
index 5f45a57..1b2182b 100644
--- a/core/AmSession.cpp
+++ b/core/AmSession.cpp
@@ -438,11 +438,11 @@ bool AmSession::processEventsCatchExceptions() {
     this should be called until it returns false. */
 bool AmSession::processingCycle() {
 
-  DBG("vv S [%s|%s] %s, %s, %i UACTransPending vv\n",
+  DBG("vv S [%s|%s] %s, %s, %i UACTransPending [%p] vv\n",
       dlg.callid.c_str(),getLocalTag().c_str(),
       AmSipDialog::status2str[dlg.getStatus()],
       sess_stopped.get()?"stopped":"running",
-      dlg.getUACTransPending());
+      dlg.getUACTransPending(), this);
 
   switch (processing_status) {
   case SESSION_PROCESSING_EVENTS: 
@@ -456,11 +456,11 @@ bool AmSession::processingCycle() {
       int dlg_status = dlg.getStatus();
       bool s_stopped = sess_stopped.get();
       
-      DBG("^^ S [%s|%s] %s, %s, %i UACTransPending ^^\n",
+      DBG("^^ S [%s|%s] %s, %s, %i UACTransPending [%p] ^^\n",
 	  dlg.callid.c_str(),getLocalTag().c_str(),
 	  AmSipDialog::status2str[dlg_status],
 	  s_stopped?"stopped":"running",
-	  dlg.getUACTransPending());
+	  dlg.getUACTransPending(), this);
       
       // session running?
       if (!s_stopped || (dlg_status == AmSipDialog::Disconnecting))
@@ -503,11 +503,11 @@ bool AmSession::processingCycle() {
     if (!res)
       processing_status = SESSION_ENDED_DISCONNECTED;
 
-    DBG("^^ S [%s|%s] %s, %s, %i UACTransPending ^^\n",
+    DBG("^^ S [%s|%s] %s, %s, %i UACTransPending [%p] ^^\n",
 	dlg.callid.c_str(),getLocalTag().c_str(),
 	AmSipDialog::status2str[dlg.getStatus()],
 	sess_stopped.get()?"stopped":"running",
-	dlg.getUACTransPending());
+	dlg.getUACTransPending(), this);
 
     return res;
   }; break;
-- 
1.7.4.1

_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to