[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