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

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


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