I figured it out.
Here's how I fixed it.

THanks.

if (m->to == NULL)

{

LOG(L_ERR, "Whoops!  m->to IS NULL, trying to parse to header\n");

if (parse_headers(m, HDR_TO_F, 0) == -1)

{

LOG(L_ERR, "Error parsing to: header\n");

return(0);

}

}

On Dec 10, 2007 5:09 PM, Daniel Corbe <[EMAIL PROTECTED]> wrote:

> m->to is always null.  How do I make the SIP parser parse to from a
> module?
> -Daniel
>
>
> On Dec 10, 2007 2:56 PM, Daniel Corbe < [EMAIL PROTECTED]> wrote:
>
> >  0(23560) SIP Request:
> >  0(23560)  method:  <INVITE>
> >  0(23560)  uri:     <sip:[EMAIL PROTECTED]:5060>
> >  0(23560)  version: <SIP/2.0>
> >  0(23560) parse_headers: flags=2
> >  0(23560) Found param type 232, <branch> =
> > <z9hG4bK8f37cd63a4c9e7ef59e1cf41fbd7f082>; state=6
> >  0(23560) Found param type 235, <rport> = <n/a>; state=17
> >  0(23560) end of header reached, state=5
> >  0(23560) parse_headers: Via found, flags=2
> >  0(23560) parse_headers: this is the first via
> >  0(23560) After parse_msg...
> >  0(23560) preparing to run routing scripts...
> >  0(23560) parse_headers: flags=100
> >  0(23560) DEBUG:maxfwd:is_maxfwd_present: value = 70
> >  0(23560) Processing request to transfer to voicemail!
> >  0(23560) parse_headers: flags=10
> >  0(23560) DEBUG: add_param: tag=96d0ba51039b71ca17b24726268d80a8
> >  0(23560) DEBUG:parse_to:end of header reached, state=29
> >  0(23560) DBUG:parse_to: display={}, ruri={
> > sip:[EMAIL PROTECTED]
> >
> > I don't see that OpenSER is parsing past the Via: headers
> >
> >
> > On Dec 10, 2007 2:47 PM, Daniel Corbe < [EMAIL PROTECTED] >
> > wrote:
> >
> > > After looking a little closer, it's parse_to_uri which is failing.
> > >  not parse_from*
> > > -Daniel
> > >
> > > On Dec 10, 2007 8:02 AM, Bogdan-Andrei Iancu < [EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > Hi Daniel,
> > > >
> > > > have you tried to use parse_from_header() to see what result you
> > > > get? do
> > > > you get any err messages?
> > > >
> > > > regards,
> > > > bogdan
> > > >
> > > > Daniel Corbe wrote:
> > > > >
> > > > > Here's a code snippet.  parse_from_uri and parse_to_uri keep
> > > > returning
> > > > > NULL.  :(
> > > > >
> > > > >
> > > > > if ((from = parse_from_uri(m)) == NULL)
> > > > >
> > > > > {
> > > > >
> > > > > LOG(L_ERR, "Could not parse From: header\n" );
> > > > >
> > > > > return( 0);
> > > > >
> > > > > }
> > > > >
> > > > > if ((to = parse_to_uri(m)) == NULL)
> > > > >
> > > > > {
> > > > >
> > > > > LOG(L_ERR, "Could not parse From: header\n" );
> > > > >
> > > > > return( 0);
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > >  0(11384) Processing request PAGE!
> > > > >  0(11384) Could not parse From: header
> > > > >  0(11384) Processing request PAGE!
> > > > >  0(11384) Could not parse From: header
> > > > >  0(11384) Processing request PAGE!
> > > > >  0(11384) Could not parse From: header
> > > > >  0(11384) Processing request PAGE!
> > > > >  0(11384) Could not parse From: header
> > > > >
> > > > > On Dec 7, 2007 1:31 PM, Daniel Corbe <[EMAIL PROTECTED]
> > > > > <mailto:[EMAIL PROTECTED]>> wrote:
> > > > >
> > > > >     One of my modules is crashing when receiving an INVITE from a
> > > > >     polycom phone.  It only happens with this particular phone,
> > > > and
> > > > >     I'm not sure why.  I washed it through GDB and I discovered
> > > > that
> > > > >     m->from->name.s points to an invalid address, which leads me
> > > > to
> > > > >     believe the message parser didn't get around to parsing the
> > > > From:
> > > > >     header.
> > > > >
> > > > >     Is this common?  Is there a work around, or a function I can
> > > > call
> > > > >     within my module to ensure that the incoming SIP message has
> > > > been
> > > > >     fully parsed?
> > > > >
> > > > >
> > > > >     Thank you for your assistance.
> > > > >
> > > > >     -Daniel
> > > > >
> > > >
> > > >
> > >
> >
>
_______________________________________________
Devel mailing list
Devel@lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to