Re: [reSIProcate] Rejecting media negotiation in case of SDP-less reInvite
On Fri, Sep 16, 2011 at 7:20 AM, Robert Szokovacs
<rszokovacs@xxxxxxxxxxxxxxx> wrote:
> 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
>
Hi again,
Thanks for the additional information, I am now able to reproduce the issue:
- Both UAs connected
- Server calls requestOffer()
- Client calls provideOffer(sdp)
- Server calls reject(code)
- assert(0)
On the surface it looks like code is missing from
InviteSession::reject, but I am not sure that simply adding a "case
SentReinviteAnswered" is enough. I'll test it more and let you know.
Thanks,
Francis