< 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


Hi,

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.

Regards,
Francis

On Thu, Sep 15, 2011 at 8:47 AM, Robert Szokovacs
<rszokovacs@xxxxxxxxxxxxxxx> wrote:
> Hi,
>
> Consider this scenario:
> 1, A sends an INVITE w/o SDP
> 2, B replies with OK w/ SDP
> 3, A doesn't like it, so it sends an ACK w/o SDP.
>
> if resiprocate is on the B side, then in step 3 it will end up in
> InviteSession.cxx:1752, calling onOfferRejected().
>
> My question is, how to handle the situation if resiprocate is on the A side?
> Calling InviteSession::reject() will result in assert, because the leg's state
> is SentReinviteAnswered.
>
> Any help is appreciated!
>
> TIA
>
> br
>
> Szo
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxx
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>