[reSIProcate] Session destroyed while in OnTerminated(..)

Scott Godin slgodin at icescape.com
Thu Jan 18 14:56:00 CST 2007


It is not legal to have multiple dum threads.  All calls to dum->process
and the dum api's must be run from the same thread, or must be
protected.

 

http://www.resiprocate.org/DUM_Threading

 

 

From: Kovar, William (Bill) [mailto:bkovar at avaya.com] 
Sent: Thursday, January 18, 2007 3:20 PM
To: Scott Godin; resiprocate-devel at list.sipfoundry.org
Subject: RE: [reSIProcate] Session destroyed while in OnTerminated(..)

 

I run 2 dums, 1 SipStack in my B2B, each using DumThread (2) and the
same StackThread(1).

 

So my calling session->end() from outside of the Dum thread is causing
this sequencing problem??

 

And posting the session->end() using DumCommand will get around this
sequencing problem??

 

Bill Kovar

bkovar at avaya.com

Avaya, Inc.

(732) 852-2609

 

	 

________________________________

	From: Scott Godin [mailto:slgodin at icescape.com] 
	Sent: Thursday, January 18, 2007 2:17 PM
	To: Kovar, William (Bill); resiprocate-devel at list.sipfoundry.org
	Subject: RE: [reSIProcate] Session destroyed while in
OnTerminated(..)

	It seems that you may have multiple dum threads running.  Dum
should only be running in one thread.  With dum running in one thread -
nothing else in dum happens until you return from the onTerminated
callback.

	 

	The 15ms delay you are seeing is likely due to some problem in
your process loop.

	 

	Scott

	 

	From: resiprocate-devel-bounces at list.resiprocate.org
[mailto:resiprocate-devel-bounces at list.resiprocate.org] On Behalf Of
Kovar, William (Bill)
	Sent: Wednesday, January 17, 2007 6:08 PM
	To: resiprocate-devel at list.sipfoundry.org
	Subject: [reSIProcate] Session destroyed while in
OnTerminated(..)

	 

	All,

	 

	I'm sure this is not new information but I am wondering what, if
anything could/will be done to the following problem regarding
OnTerminated() callback.

	 

	When one sends an BYE with InviteSessionHandle->end() the
following happens:

	1. The BYE msg is built and put on the Fifo ready to be sent on
the wire

	2. the session is transitioned to IsTerminating()

	3. The onTerminated() callback is fired.

	 

	If system load causes a slowdown, it quite easy to be
manipulating the session in OnTerminated() and the AppDialog,
AppdialogSet and InviteSession all get destroyed before exiting the
callback. This happens when the BYE gets a 200 OK answer and the session
is torn down.

	 

	It seems that there is a window of ~15ms before the BYE msg is
sent out. What's controlling this time?

	 

	Any suggestions how to get around this issue or if the session
will be kept around longer than the receipt of the 200 OK on the BYE.
Any forseeable changes to DUM?

	 

	Bill Kovar

	bkovar at avaya.com

	Avaya, Inc.

	(732) 852-2609

	 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070118/d7eed628/attachment.htm>


More information about the resiprocate-devel mailing list