Right h_To of course. : )
I'll commit to HEAD for now.
Scott
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,
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
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)