[Serusers] Max-Forwards missing in SER CANCEL during forking

Andres andres at telesip.net
Thu Jan 14 17:38:11 CET 2010


Jiri Kuthan wrote:

>
> Try to set parameter tm/reparse_invite to 1 -- I was not aware of the 
> option
> but the code seems to adopt more message pieces including MF than if 
> the parameter
> is set to 0.

I could not find that parameter in the code for 0.9.6 or 0.9.7.  Where 
did you see it?

>
> BTW was this an esthetic thing or did actually the CANCEL result in a 
> loop?
> I could have imagined that the downstream hop absorbs the CANCEL at 
> transaction
> level and the CANCEL follows the INVITE path, therefore not looping 
> unless INVITE
> did too.

It resulted in established calls being dropped.  Here is why:
1)  In a parallel fork scenario one endpoint answered the call and the 
others receive the SER CANCEL
2)  One of the endpoints rejects the SER CANCEL with a "SIP/2.0 400 Bad 
Request" (because of the missing mandatory Max-Forwards header)
3)  40 seconds later that endpoint sends a "SIP/2.0 480 Temporarily 
Unavailable" to SER
4)  SER Forwards that message to our gateway which cuts off the already 
established call.

Any other suggestions?  We have been running the 0.9.6 version for many 
years and its solid as a rock.  We do not want to explore the possibilty 
of upgrading at this point.

Thanks,
Andres
http://www.telesip.net

>
> -jiri
>
> Andres wrote:
>
>> Hi,
>>
>> We encountered an issue in 0.9.6 when SER forks requests because 
>> there are several endpoints registered with the same account (ie 
>> office and home phones).  When one of the endpoints answers the call, 
>> SER sends a CANCEL to the other endpoints so they can stop further 
>> call processing.  It turns our that this SER generated CANCEL does 
>> not contain the "Max-Forwards" header which apparently violates RFC3261.
>>
>> Here is an example:
>> U SER IP:5060 -> 10.10.1.50:36679
>>  CANCEL 
>> sip:3055551234 at 10.10.1.50:36679;rinstance=C926AD943D258534F5F62913216C50ADC9D895D2; 
>>
>>  transport=udp SIP/2.0..Via: SIP/2.0/UDP 
>> 10.10.1.21:5065;branch=z9hG4bK1c1e.32eeb702.1..
>>  From: "9545551234" <sip:9545551234 at 10.10.1.20:5066>;tag=as7d1243c9..
>>  Call-ID: 4385c66230a310e714f020926aa2028c at 10.10.1.20..
>>  To: <sip:3055551234 at X.X.X.X:5065>..CSeq: 102 CANCEL..
>>  User-Agent: Sip EXpress router(0.9.6 (i386/linux))..
>>  Content-Length: 0....    Is there any fix or workaround for this?  
>> How can we get that "Max-Forwards" header in the Message if it is 
>> internally generated by SER and no something that flows through the 
>> config script.
>>
>> Thanks,
>> Andres
>> http://www.telesip.net
>> _______________________________________________
>> Serusers mailing list
>> Serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>



More information about the Serusers mailing list