< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] Rejecting media negotiation in case of SDP-less reInvite


On 2011 September 16, Friday 11:56:59 Robert Szokovacs wrote:
> On 2011 September 15, Thursday 19:50:53 you wrote:
> 
> Hi,
> 
> Thanks for the answer.
> 
> > I just tested what I think should produce the sequence you mention
> > (albeit I had reSIProcate on both sides) with the current mainline of
> > the code.
> > 
> > When I call reject(code), the INVITE transaction is completed (an ACK
> > with no SDP is sent) then a BYE with the reason "Illegal Sdp
> > Negotiation" gets sent to B.
> > 
> > This behavior is found in ClientInviteSession:reject(...):
> > 
> > case UAC_Answered:{
> > 
> >          // We received an offer in a 2xx response, and we want to reject
> > 
> > it // ACK with no body, then send bye
> > 
> >          sendAck();
> >          SharedPtr<SipMessage> msg = sendBye();
> >          transition(Terminated);
> >          mDum.mInviteSessionHandler->onTerminated(getSessionHandle(),
> > 
> > InviteSessionHandler::LocalBye, msg.get());
> > 
> >          break;
> >       
> >       }
> > 
> > Could you retest with the latest release (1.7) and/or the mainline? It
> > should be working.
> 
> It will take some time unfortunately, but yes, I will check it.
> 
> However, as I look at the code in 1.7, I can't find similar mechanism in
> ServerInviteSession::reject and if you reverse the roles (as in my case it
> was), I expect you will see similar assert too.

Also, I forgot to mention that the actual scenario I encountered was reInvite, 
so the state of the leg was SentReinviteAnswered, not UAC_Answered

br

Szo