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

Re: [reSIProcate] [DUM] Sending multiple 18x messages with different SDP bodies


Hi Francis,

It's no legal to send different SDP in 180 responses.  In fact the SDP you send in the 180 must match the SDP sent in the 200 (DUM ensures this).  If you want to use multiple SDP offer/answer negotiations before the call is answered you must either use PRACK and UPDATE messaging.  DUM does not fully support either of these methods right now.

>Also, would there be an API to query whether the UAS session has been
>already provided an answer or not (I found hasLocalOfferAnswer but
>haven't tried it yet)?

Try this:
ServerInviteSession* sis = dynamic_cast<ServerInviteSession*>(mInviteSessionHandle.get());
if(sis && !sis->isAccepted())
                {
                   sis->accept(200);
                   ...

Scott


On Thu, Oct 27, 2011 at 10:22 AM, Francis Joanis <francis.joanis@xxxxxxxxx> wrote:
Hi,

(this related to 1.7, I haven't tried it on the main yet)

I have quick question regarding the following scenario for a DUM UAS:

- INVITE received w/ SDP
- 100 sent
- 18x sent w/ SDP A (using InviteSession::provideAnswer / provisional)
- ...
- 18x sent w/ SDP B (using InviteSession::provideAnswer / provisional)
- assert(0)

I am using the provideAnswer API to set the answer to be sent with the
first 18x message. However, after the first provisional is sent, the
UAS state changes from UAS_EarlyOffer to UAS_EarlyProvidedAnswer. When
I then try to send the second provisional, still using provideAnswer,
the code hits an assertion (in ServerInviteSession::provideAnswer)
since an answer had already been provided. Note that the SDP in the 2
provisionals is not the same (i.e. I need to change it).

In that case, should provideOffer be used on the second provisional?
Also, would there be an API to query whether the UAS session has been
already provided an answer or not (I found hasLocalOfferAnswer but
haven't tried it yet)?

Thanks,
Francis
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel