[OPAL] Bug in SIPConnection::OnReceivedSDPMediaDescription
- From: Guillaume Fraysse <gfraysse (at) gmail.com>
- Date: Fri, 3 Feb 2006 14:24:09 +0100
Hello Damien,
Well I found the code of SIPConnection::OnUseRTPSession suspicious
It does the following :
RTP_UDP *rtpSession = NULL;
....
if (ownerCall.IsMediaBypassPossible(*this, rtpSessionId))
{... }
else
{ ... }
return rtpSession;
Which means that if media bypass is enabled the call get rejected as
the rtpSession returned will be NULL. Didn't sound good to me.
The way I understand it, there should be some kind of way to return
from OnUseRTPSession that doesn't reject the call if if we don't need
RTP.
But maybe there's a better way to do it if we don't use RTP...
Regards,
Guillaume
On 2/3/06, Damien Sandras <dsandras (at) seconix.com> wrote:
> Hello,
>
>
> Le vendredi 03 février 2006 à 11:28 +0100, Guillaume Fraysse a écrit :
> > Hello everyone,
> >
> > I've been testing the last release of OPAL that can be found on
> > voxgratia.org the 2.1 beta2 and I found what seems to be a bug, or at
> > least introduce a big step back for the way I use it.
> >
> > I'm using an external RTP stack and it seems that in that piece of
> > code is the cause of my problem :
> >
> > SIPConnection::OnReceivedSDPMediaDescription method
> > rtpSession = OnUseRTPSession(rtpSessionId, address, localAddress);
> > if (rtpSession == NULL) {
> > Release(EndedByTransportFail);
> > return FALSE;
> > }
> >
> > as well as a similar piece of code in the
> > SIPConnection::OnSendSDPMediaDescription method.
> >
> > the OnUseRTPSession returns NULL if the rtp session is not created,
> > even if it's not because of an error and a volunteer act.
> > So the call get released...
> >
> > I'm not sure that's it's something that is wanted.
> >
>
> Yes it is wanted. I do not know what the mechanism is to use an external
> RTP channel though. However, it seems normal that if OnUseRTPSession
> doesn't return a session, we can not continue.
>
> > I made some ugly workaround to simply not release the call and added a
> > check on the validity of rtpSession around the call to
> > SetRemoteSocketInfo.
> >
> > I haven't been able to check if the CVS version works better as of now
> > the sourceforge CVS web interface is out.
> >
> > Best regards,
> > Guillaume
> > ------------------------------------------------------------------------
> > Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
> > The OpenH323 Project mailing list, using Mailman. To unsubscribe or
> > change your subscription options, goto
> > http://www.openh323.org/mailman/listinfo/openh323
> > Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
> > ------------------------------------------------------------------------
> --
> _ Damien Sandras
> (o-
> //\ GnomeMeeting: http://www.gnomemeeting.org/
> v_/_ FOSDEM 2006 : http://www.fosdem.org
> SIP Phone : sip:dsandras (at) gnomemeeting.net
> sip:600000 (at) gnomemeeting.net
>
> ------------------------------------------------------------------------
> Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
> The OpenH323 Project mailing list, using Mailman. To unsubscribe or
> change your subscription options, goto
> http://www.openh323.org/mailman/listinfo/openh323
> Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
> ------------------------------------------------------------------------
>
------------------------------------------------------------------------
Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
The OpenH323 Project mailing list, using Mailman. To unsubscribe or
change your subscription options, goto
http://www.openh323.org/mailman/listinfo/openh323
Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
------------------------------------------------------------------------