[Serusers] SIP MESSAGE method revisited.
sip
sip at arcdiv.com
Thu Aug 17 16:43:28 CEST 2006
Absolutely bizarre. Now, see... we were originally handling it the way you're
handling it (and it didn't work).
I tried it as a separate block, though (as you described) and it works like a
charm. Thanks a bunch, Evan.
Now I have to go through and figure out why it wansn't working the other way.
N.
On Thu, 17 Aug 2006 10:18:10 -0400, Evan Borgström wrote
> 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