[SIPForum-discussion] Problem with race condition between UPDATE and, 200 OK to INVITE and UPDATE related questions ++

Nina Garaca nina.garaca at zesium.com
Mon Apr 2 12:39:30 UTC 2007


Hi all,

I have some questions regard potential race condition between UPDATE and 
200 OK to INVITE which following picture illustrates:

 A                                                                 B

INVITE
|-------------------------------------->|
180 rel
|<--------------------------------------| /Early dialog established/
PRACK
|-------------------------------------->|
200 (PRACK)
|<--------------------------------------|
UPDATE
|-------------------------------------->|
200 OK (INVITE)
|<--------------------------------------|
200 OK (UPDATE)
|<--------------------------------------|

Q1: Is this valid situation, and if UPDATE was a target refresh request, does it updates the local target?

 A                                      B                                                                                   
INVITE 
|-------------------------------------->|
180 
|<--------------------------------------| 
200 OK (INVITE)
|<--------------------------------------|
UPDATE
|-------------------------------------->|
200 OK (UPDATE)
|<--------------------------------------|
 
Q2: Is it OK for UPDATE to be sent after the 200 OK to INVITE and before ACK is sent, and if it was the second refresh target request would it change/update the remote target?

A                                      B

INVITE (C1)
|-------------------------------------->|
180 
|<--------------------------------------| 
200 OK (INVITE)
|<--------------------------------------|
ACK
|-------------------------------------->| // C = Contact
target
reINVITE (C2)
|-------------------------------------->|
1xx 
|<--------------------------------------| 
UPDATE (C3)
|-------------------------------------->|
200 OK (UPDATE) 
|<--------------------------------------|
200 OK (reINVITE)
|<--------------------------------------|
ACK
|-------------------------------------->|


Q3: Is it OK for UPDATE to be sent when re INVITE isn't actually
responded with the final response? And what will be the dialog remote
target C2 or C3? According to RFC3311 I presume that 200 OK to
reINVITE should have the same Contact as UPDATE or its response.

and finnaly:  

A                                      B

INVITE (C1)
|-------------------------------------->|
180 
|<--------------------------------------| 
200 OK (INVITE)
|<--------------------------------------|
ACK
|-------------------------------------->| // C = Contact
target
reINVITE (C2)
|-------------------------------------->|
180 
|<--------------------------------------| 
UPDATE (C3)
|-------------------------------------->|
200 OK (UPDATE) 
|<--------------------------------------|
4xx OK (reINVITE)
|<--------------------------------------|
ACK
|-------------------------------------->|

Q4: Which is new dialog remote target C2 or C3? I should say C3. 


Thanks very, very match in advance.
Nina.

-- 
Nina Garaca
Software Development & Testing

---

"ZESIUM mobile" d.o.o.
Valentina Vodnika 8/9
21000 Novi Sad
Serbia
Tel: +381 (0)21 472 15 48
Fax: +381 (0)21 472 15 49
Mob: +381 (0)63 16 15 891
E-mail: nina.garaca at zesium.com




More information about the discussion mailing list