Re: problem with maddr Via parameter

"M. (Neo-Ranga) Ranganathan" <[email protected]>
Newsgroups gmane.comp.voip.nist-sip
Message-ID <[email protected]>
OK done. Perhaps we should start using the bug tracker on java.net so
we can avoid spamming the list :-)

Regards

Ranga

On 9/8/06, M. (Neo-Ranga) Ranganathan <[email protected]> wrote:
> Thanks for the careful analysis. I will look into this problem ( seems
> like it ought to be easy to fix) and commit a fix soon.
>
> Ranga
>
>
> On 9/7/06, Barton, Jim <[email protected]> wrote:
> > I came across an apparent bug in the nist-sip stack dealing with the
> > maddr Via parameter. I encountered a exception when doing a
> > ServerTransaction.sendResponse() on a received response. The stack trace
> > (sorry -- didn't save) showed that the exception was caused by cast
> > problem in Via.getMaddr().  I verified that that request did indeed
> > contain a maddr Via parameter; although the maddr appeared to me to be a
> > valid IP address.
> >
> > After looking through gov/nist/javax/sip/header/Via.java I discovered
> > that that the Via class is somewhat schizophrenic about the type of
> > object stored within the parameters collection for the maddr. There is
> > method Via.getMaddr() that assumes the maddr in the parameters
> > collection is a Host object. It directly casts the object to Host with
> > no further checking. This was the direct cause of the exception. There
> > is also another method Via.getmaddr() that assumes that the maddr is
> > stored as a String within parameters.
> >
> > With some debugging I verified that the maddr is actually stored by the
> > parser as a String, which should cause any later call of Via.getMaddr()
> > to throw a cast exception. (setMaddr() will actually create and store an
> > maddr as a host -- but the parser does not call this method).
> >
> > I am able to readily reproduce this problem in the 'simplecallsetup'
> > example by simply adding:
> >
> > viaHeader.setMAddr("224.1.1.1");
> >
> > following the creation of the ViaHeader for the INVITE.  No changes are
> > needed to the 'shootme' application. The shootist has no problem sending
> > that INVITE. The shootme has no problem initially processing the INVITE;
> > but later gets the bad cast exception when doing a sendResponse() on
> > that INVITE.
> >
> > Jim Barton
> >
> >
> > _______________________________________________
> > nist-sip mailing list
> > [email protected]
> > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
> >
>
>
> --
> M. Ranganathan
> "There are two ways to write error-free programs; only the third one
> works." --  Alan Perlis
>


-- 
M. Ranganathan
"There are two ways to write error-free programs; only the third one
works." --  Alan Perlis
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.