[reSIProcate] What is status of first InviteSessionHandle ifonNewSession(ClientInviteSessionHandle) fires a second time?

Scott Godin slgodin at icescape.com
Wed Nov 29 16:42:23 CST 2006


Right h_To of course.  : )
 
I'll commit to HEAD for now.
 
Scott

________________________________

From: Kobi Eshun [mailto:kobi at sightspeed.com]
Sent: Wed 11/29/2006 5:28 PM
To: resiprocate-devel at list.resiprocate.org
Cc: Scott Godin
Subject: Re: [reSIProcate] What is status of first InviteSessionHandle ifonNewSession(ClientInviteSessionHandle) fires a second time?


Thanks for the prompt answers, Scott.

This fix works, except I had to test against 'h_To' instead of 'h_From.'

Will this make it's way into STABLE, or just HEAD? Cheers,

--
kobi


On Nov 29, 2006, at 1:49 PM, Scott Godin wrote:


	Try changing line the if statement on line 700 of DialogSet to read:
	 
	 
	if (dialog == 0)
	{
	   if (msg.isRequest() && msg.header(h_RequestLine).method() == CANCEL)
	  {
	      dispatchToAllDialogs(msg);
	      return;
	   }

	   if (msg.isResponse())
	   {
	       int code = msg.header(h_StatusLine).statusCode();
	      if (code > 100 && code < 200 && 
	          (!msg.exists(h_Contacts) || 
	           !msg.exists(h_From) || !msg.header(h_From).exists(p_tag)))
	      {
	         InfoLog ( << "Cannot create a dialog, no Contact or To tag in 1xx." );

	...

	Let me know if that fixes the problem for you.  If it looks good, I'll commit to SVN.
	 
	Scott
	
________________________________

	From: resiprocate-devel-bounces at list.resiprocate.org on behalf of Kobi Eshun
	Sent: Wed 11/29/2006 1:20 PM
	To: resiprocate-devel at list.resiprocate.org
	Subject: [reSIProcate] What is status of first InviteSessionHandle ifonNewSession(ClientInviteSessionHandle) fires a second time?
	
	
	Hi, 

	Please consider the following scenario:

	- my reSIP app sends out INVITE, and receives a 18x response that has no To tag
	- onNewSession(ClientInviteSessionHandle cis, ...) UAC callback fires
	- my app caches CIS, and also caches InviteSessionHandle learned via CIS->getSessionHandle()
	- my app receives 200 response with a To tag
	- onNewSession() fires again with different  ClientInviteSession and InviteSession handles.

	Leaving aside for the moment  the question of whether the far-end behavior is 3261 compliant:

	Q1 - what should my app do with the first set of handles - are they simply obsoleted?
	Q2 - Is it an error to continue using them?
	Q3 - How do they get cleaned up?

	Thanks,
	
	
	--
	Kobi Eshun
	Senior Architect, SightSpeed, Inc.
	918 Parker Street, Suite A14
	Berkeley, CA 94710
	+1.415.713.8431 (m)
	+1.510.649.9569 (f)
	kobi at sightspeed.com






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


More information about the resiprocate-devel mailing list