The VoLTE post are currently not making full sense, but mayb in 5th or 6th I will try to summarize all.
Right now , I am putting the learning's from each module here, so that we can form the whole picture.
So below is flow of SIP messages for MO and MT call.
MO MT
----------------------------INVITE(SDP)---------------------------------------------------->
<---------------------------100 trying -----------------------------------------------------------
<-----------------------------183 session progress (SDP)-----------------------------------
---------------------------[UPDATE (SDP) ]------------------------------------------------->
<-------------------------------200 ok (SDP)---------------------------------------------------------
---------------------------[PRACK (SDP) ]------------------------------------------------->
<-------------------------------200 ok(SDP) ---------------------------------------------------------
<-------------------------------180 ringing------------------------------------------------------
// Now here 183 can come after UPDATE AND PRACK.
// Also UPDATE and PRACK are optionally ( as per my discussion with IMS person)
// The SDP stands for session description protocol , which has information about port id's , codecs .
It is necessary to exchange this information between both sides ( MO and MT ) , so that both sides know the port id and codec list.
Once MT picks up the call
<---------------------------200 Ok (SDP)--------------------------------------------------------
-----------------------------ACK---------------------------------------------------------------->
Then when I party disconnects
<-----------------------------------------BYE------------------------------------------------------->
<-----------------------------------------200 OK------------------------------------------------------>
Also in the above message, SDP is mostly exchanged once between MO and MT. It can be carried by the above messages.
Some more SIP messages as per scenario seen are
If MT disconnects the call after getting ringing, then as per SIP messages flow
<-------------------------180 ringing-------------------------------------
<-------------------------486 busy here ---------------------------------
If MO disconnects the cal before MT picks up,
<--------------------------------180 ringing-------------------------
--------------------------------------CANCEL --------------------->
<--------------------------------200 ok---------------------------------
If MT number can't be reached , netwok might send
<------------------------------------183 SDP---------------------------------
<-----------------------------------484 address incomplete ----------------