[Serusers] SIP MESSAGE method revisited.

Evan Borgström evan.borgstrom at ca.mci.com
Thu Aug 17 16:18:10 CEST 2006


	How are you handling the MESSAGE packets? You should be able to simply do;

if (method == "MESSAGE") {
	if (!lookup("location")) {
		sl_send_reply("404", "Not Found");
		break;
	};
	t_relay();
	break;
};

	It all really depends on your config. We don't handle MESSAGE
explicitly, instead we explicitly handle methods that require special
handling (INVITE, REGISTER, etc) and then all other messages pass
through the bottom of route[0] which looks like:

if (!lookup("location")) {
	sl_send_reply("404", "Not Found");
	break;
}

t_relay();

-Evan

sip wrote:
> That appears to be exactly what's happening.... it loops because there doesn't
> seem to be any part of the code where MESSAGE is handled. It's ignored by the
> t_relay, and doesn't have a specific handling block of any kind, so it's just
> looped around until it's too big to deal with. 
> 
> I just don't know what portion of the code is SUPPOSED to handle it, so I'm
> not sure where to go about looking for the source of why everything ignores it. 
> 
> N.
> 
> 
> On Wed, 16 Aug 2006 14:32:41 -0400, Andres wrote
>> sip wrote:
>>
>>> There is a check for message size (which is the same as it's always 
>>> been):
>>>
>>> if (msg:len >=  2048 ) {
>>>        sl_send_reply("513", "Message too big");
>>>        break;
>>>     };
>>>
>> Why don't you capture the SIP packet with Ethereal an verify if it 
>> is indeed greater that 2048 bytes.  I really doubt it.  I suspect 
>> your packet is looping several times on the same SER and growing in 
>> size as more headers are added until it eventually reaches this huge 
>> size.
>>
>>> Modifying this has no real effect on the return, and the MESSAGE being 
>>> sent shouldn't in any way have gone beyond that size.  That check's 
>>> always been there, though, and I know this has worked before... so I'm 
>>> wondering what might have changed, if anything... or if there's a 
>>> 'standard' way of handling SIP MESSAGE methods that I'm completely 
>>> missing.
>>>
>>> N.
>>> *
>>> *
>> -- 
>> Andres
>> Technical Support
>> http://www.telesip.net
> 
> _______________________________________________
> Serusers mailing list
> Serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list