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 local target?
A B
INVITE (C = LT1)
|-------------------------------------->|
180
|<--------------------------------------|
200 OK (INVITE)
|<--------------------------------------|
ACK
|-------------------------------------->| // C = Contact, LT = local target
reINVITE (C = LT2)
|-------------------------------------->|
180
|<--------------------------------------|
UPDATE (C = LT3)
|-------------------------------------->|
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 local target LT2 or LT3?
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 (C = LT1)
|-------------------------------------->|
180
|<--------------------------------------|
200 OK (INVITE)
|<--------------------------------------|
ACK
|-------------------------------------->| // C = Contact, LT = local target
reINVITE (C = LT2)
|-------------------------------------->|
180
|<--------------------------------------|
UPDATE (C = LT3)
|-------------------------------------->|
200 OK (UPDATE)
|<--------------------------------------|
4xx OK (reINVITE)
|<--------------------------------------|
ACK
|-------------------------------------->|
Q4: Which is new dialog local target LT2 or LT3? I should say LT3.
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: [EMAIL PROTECTED]
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors