[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