Dear all,
In a chatting scenario where the UA sends MESSAGEs with the same Call-ID but with increasing CSeq in quick succession, how should a stateful proxy handle these MESSAGEs?
The diagram below is an illustration of the scenario mentioned above:
+----+ +-------+
| UA | | Proxy |
+----+ +-------+
| |
| MESSAGE 1 |
|------------------>|
| MESSAGE 2 |
|------------------>|
| MESSAGE 3 |
|------------------>|
| |
In draft-ietf-sip-message-06.txt, Section 9., it is stated that:
A UAC MUST NOT initiate a new out-of-dialog MESSAGE transaction to a
given URI if there is a previous out-of-dialog transaction pending
for the same URI. Similarly, A UAC SHOULD NOT initiate overlapping
MESSAGE transactions inside a dialog, and MUST NOT do so unless the
route set for that dialog uses a congestion-controlled transport at
every hop. UACs SHOULD NOT set the T1 timer value to less than 500
ms for MESSAGE transactions. UACs may use smaller T1 values if they
know that that the next hop latency warrants it.
The prohibition againt overlapping MESSAGE request provides some
degree of congestion-safe behavior. A request and its associated
response must each cross the full path between the UAC and the
UAS. The time required for this will increase as networks become
congested. This provides an adaptive mechanism to slow the
introduction of new MESSAGE requests to the same destination.
Does it mean that the UA must wait for a final response before sending the next MESSAGE? If so, should a stateful proxy drop the subsequent MESSAGEs before it receives a final response for the first MESSAGE?
regards,
KJ
