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

Scott Godin sgodin at sipspectrum.com
Thu Oct 27 09:38:05 CDT 2011


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 at gmail.com>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 at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20111027/05a11048/attachment.htm>


More information about the resiprocate-devel mailing list