Hello everyone...
I am Aayush from India..working in the IMS domain. I had a doubt, and i
wanted to share this with the experts on the mailing list.
Appreciate your inputs on this....
Suppose in an INVITE initiated dialog, the 200 OK of the PRACK is received
later at the UAC than the 200 OK of the INVITE provided that the UAS had sent
them in proper order..what should be the behavior of the UAC?
In this scenario, the UAS had sent the 200 ok of the PRACK followed by the
200 ok of the INVITE..as it should normally.
At the application level, there is no control on which path the datagrams
shall follow to reach the next SIP hop. If the 200 OK of the INVITE takes a
shorter path to reach the next hop SIP servers on the way to the client and
eventually reaches the client before the 200 ok of the PRACK..it will be
received out of 'order' at the client.
This may be a possibility in large distributed SIP networks. SIP only
provides a way of determining the next SIP serer hops by Route headers..and a
CSeq header to check the proper sequencing of messages. However, it does not
guruantee what network links should be taken by the packets to reach the next
hop. This is in contrast to SS7, where we have such provisions at MTP3
layer.
How will the sip stack at the UAC behave if such a situation occurs? Will
it silently drop the packet? Or will it establish the dialog ? Or should it tear
down the session by sending a BYE?
I believe its an implementation issue at the UAC.
Best Regards
Aayush