MT#63298 AmOfferAnswer: add support of PreviewCompleted

Just add support of the PreviewCompleted state for OA.

Change-Id: I95aff4ec46590061a93e59978d075bd984d8dc1c
mr13.5
Donat Zenichev 11 months ago
parent fc6c3dab3a
commit f2c1db55a6

@ -309,7 +309,9 @@ int AmOfferAnswer::onRxSdp(unsigned int m_cseq, const string& m_remote_tag,
remote_tag = m_remote_tag;
break;
// TODO: add support of OA_PreviewCompleted
case OA_PreviewCompleted:
setState(OA_Completed);
break;
case OA_OfferSent:
if(is_reliable)
@ -361,13 +363,24 @@ int AmOfferAnswer::onTxSdp(unsigned int m_cseq, bool is_reliable,
cseq = m_cseq;
break;
case OA_PreviewCompleted:
if(is_reliable && (m_cseq == cseq)) {
if (!force_no_sdp_update)
setState(OA_Completed);
}
else
{
if (!force_no_sdp_update)
setState(OA_OfferSent);
cseq = m_cseq;
}
break;
case OA_OfferRecved:
if (is_reliable) {
if (!force_no_sdp_update)
setState(OA_Completed);
}
// TODO: add support of OA_PreviewCompleted
break;
case OA_OfferSent:
@ -488,11 +501,11 @@ int AmOfferAnswer::onReplyOut(AmSipReply& reply, int &flags, AmMimeBody &ret_bod
} else if ((reply.code == 183) || ((reply.code >= 200) && (reply.code < 300))) {
/* either offer received or no offer at all: -> force SDP */
generate_sdp = !no_sdp_generation &&
((state == OA_OfferRecved)
|| (state == OA_None)
// TODO; add support of OA_PreviewCompleted
|| (state == OA_Completed));
generate_sdp = !no_sdp_generation &&
((state == OA_OfferRecved) ||
(state == OA_None) ||
(state == OA_PreviewCompleted) ||
((state == OA_Completed) && (reply.cseq != cseq)));
ILOG_DLG(L_DBG, "Now generate_sdp has been reset to <%c>.\n", generate_sdp ? 't' : 'f');
}
@ -625,8 +638,8 @@ int AmOfferAnswer::getSdpBody(string& sdp_body)
}
break;
// TODO: add support of OA_PreviewCompleted
case OA_OfferRecved:
case OA_PreviewCompleted:
ILOG_DLG(L_DBG, "OA: Getting SDP offer..\n");
if (dlg->getSdpAnswer(sdp_remote,sdp_local)) {
sdp_local.print(sdp_body);

Loading…
Cancel
Save