Re: My proposal has no racing condition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christer,

>Hi,
>
>There are also "B2BUAs acting as proxies", that do not terminate the
>dialogs.

"B2BUAs acting as proxies" is a terrible entities !
It should behave as B2BUA.

Regards,

Shinji

>There are even proxies which need to keep SDP state.
>
>Regards,
>
>Christer 
>
>> -----Original Message-----
>> From: OKUMURA Shinji [mailto:shin@xxxxxxxxxxxxxxx] 
>> Sent: 5. maaliskuuta 2009 15:32
>> To: Christer Holmberg; sipping
>> Subject: RE:  My proposal has no racing condition
>> 
>> Christer,
>> 
>> Are you talking about B2BUA ?
>> It will go without saying B2BUA is an endpoint, terminate both dialog.
>> It should handle both O/A state adequately.
>> 
>> If you know a concrete problem, pl show me it's sequence flow.
>> 
>> Regards,
>> 
>> Shinji
>> 
>> >Hi,
>> >
>> >Please be aware that there may also be offer/answer state aware 
>> >intermediates, of which some may have received the 4xx (F6) 
>> BEFORE they 
>> >received the UPDATE (F5), and they must all end up having 
>> the same SDP 
>> >state. Otherwise you have a mess.
>> >
>> >Regards,
>> >
>> >Christer
>> >
>> >> -----Original Message-----
>> >> From: sipping-bounces@xxxxxxxx
>> >> [mailto:sipping-bounces@xxxxxxxx] On Behalf Of OKUMURA Shinji
>> >> Sent: 5. maaliskuuta 2009 13:02
>> >> To: Ian Elz; sipping
>> >> Subject: Re:  My proposal has no racing condition
>> >> 
>> >> Hi,
>> >> 
>> >> New rule.
>> >> 
>> >> UAC Behavior
>> >> 	After receiving 4xx, if UAC receive 200 response with answer
>> >> 	to UPDATE that sent before receiving 4xx, UAC MUST 
>> treat it as if
>> >> 	UAC sent the UPDATE after sending ACK.
>> >> 
>> >>       UAC                   P1                    UAS
>> >>        |          session established              |
>> >>        |<====================|====================>|
>> >>        |                     |                     |
>> >>        |            F1  re-INVITE (SDP)            |
>> >>        |-------------------->|-------------------->|
>> >>        |            F2 1xx-rel (SDP)               |
>> >>        |<--------------------|<--------------------|
>> >>        |                F3   PRACK                 |
>> >>        |-------------------->|-------------------->|
>> >>        |                 F4 2xx PRA                |
>> >>        |<--------------------|<--------------------|
>> >>        |                     |                     |
>> >>        |F5 UPDATE(offer)  F6 4xx INV               |
>> >>        |---------\  /--------|<--------------------|
>> >>        |          \/         |     F7 ACK          |
>> >>        |          /\         |-------------------->|
>> >>        |<--------/  \        |     F5 UPDATE       |
>> >>        |             \------>|-------------------->|
>> >>        |                     |                     |
>> >>        |                 F8 2xx UPDATE(answer)     |
>> >>        |<--------------------|<--------------------|
>> >>        |         ACK         |                     |
>> >>        |-------------------->|                     |
>> >> 
>> >> What do you think of this idea ?
>> >> 
>> >> Regards,
>> >> 
>> >> Shinji
>> >> 
>> >> "Ian Elz" <ian.elz@xxxxxxxxxxxx>
>> >> >Shinji,
>> >> >
>> >> >I don't believe that your proposal to reject all UPDATEs received 
>> >> >between the 4xx and the ACK will solve the problem. It won't
>> >> harm but
>> >> >there are situations where the UPDATE may arrive after the
>> >> ACK has been
>> >> >received by the UAS.
>> >> >
>> >> >This may occur when another node exists between the UAC 
>> and the UAS.
>> >> >RFC3261 requires that the ACK for a non-2xx response be 
>> sent by the 
>> >> >transaction and hence the ACK in this case is hop-by-hop.
>> >> Only an ACK
>> >> >to a 2xx response is end-to-end.
>> >> >
>> >> >This may lead to the following scenario:
>> >> >
>> >> >1 UPDATE and 4xx/5xx/6xx of Re-INVITE
>> >> >
>> >> >      UAC                   P1                    UAS
>> >> >       |          session established              |
>> >> >       |<====================|====================>|
>> >> >       |                     |                     |
>> >> >       |            F1  re-INVITE (SDP)            |
>> >> >       |-------------------->|-------------------->|
>> >> >       |            F2 1xx-rel (SDP)               |
>> >> >       |<--------------------|<--------------------|
>> >> >       |                F3   PRACK                 |
>> >> >       |-------------------->|-------------------->|
>> >> >       |                 F4 2xx PRA                |
>> >> >       |<--------------------|<--------------------|
>> >> >       |                     |                     |
>> >> >       |F5 UPDATE F6       4xx INV                 |
>> >> >       |---------\  /--------|<--------------------|
>> >> >       |          \/         |        ACK          |
>> >> >       |          /\         |-------------------->|
>> >> >       |<--------/  \        |    UPDATE F6        |
>> >> >       |             \------>|-------------------->|
>> >> >       |                     |                     |
>> >> >       |         ACK         |                     |
>> >> >       |-------------------->|                     |
>> >> >
>> >> >The more intervening nodes the greater the probability that this 
>> >> >situation will occur.
>> >> >
>> >> >Ian Elz
>> >> >
>> >> >-----Original Message-----
>> >> >From: sipping-bounces@xxxxxxxx 
>> [mailto:sipping-bounces@xxxxxxxx] On 
>> >> >Behalf Of OKUMURA Shinji
>> >> >Sent: 05 March 2009 02:48
>> >> >To: sipping
>> >> >Cc: Gonzalo Camarillo
>> >> >Subject: Re:  My proposal has no racing condition
>> >> >
>> >> >Gao,
>> >> >
>> >> >I feel your proposal is no bad for a summary.
>> >> >
>> >> >BUT, The biggest drawback is which UPDATE is "part of the 
>> original 
>> >> >modification" or "new modification". it is very very ambiguous.
>> >> >
>> >> >the distinction seems to impossible.
>> >> >
>> >> >It is no doubt that an UPDATE without SDP is "new modification".
>> >> >UPDATE after ACk is "new modification" too.
>> >> >but it has a racing condition.
>> >> >
>> >> >new UAS behavior
>> >> >	reject all UPDATEs received between 4xx and ACK
>> >> >
>> >> >can the above rule solve the problem ?
>> >> >
>> >> >Regards,
>> >> >Shinji
>> >> >
>> >> >gao.yang2@xxxxxxxxxx
>> >> >>My proposal has no racing condition
>> >> >>
>> >> >>1 UPDATE and 4xx/5xx/6xx of Re-INVITE
>> >> >>
>> >> >>      UAC                   UAS
>> >> >>       | session established |
>> >> >>       |<===================>|
>> >> >>       |                     |
>> >> >>       | F1  re-INVITE (SDP) |
>> >> >>       |-------------------->|
>> >> >>       | F2 1xx-rel (SDP)    |
>> >> >>       |<--------------------|
>> >> >>       | F3   PRACK          |
>> >> >>       |-------------------->|
>> >> >>       | F4 2xx PRA          |
>> >> >>       |<--------------------|
>> >> >>       |                     |
>> >> >>       |F5 UPDATE F6 4xx INV |
>> >> >>       |---------\  /--------|
>> >> >>       |          \/         |
>> >> >>       |          /\         |
>> >> >>       |<--------/  \------->| 
>> >> >>       |                     |
>> >> >>
>> >> >>Currently, there are only two cases for the Offer in UPDATE:
>> >> >>
>> >> >>   o part of the original modification;
>> >> >>
>> >> >>   o a new modification request.
>> >> >> 
>> >> >>If it is part of the original modification, the session
>> >> state is clear.
>> >> >
>> >> >>That
>> >> >>is the state before F1.
>> >> >>
>> >> >>If it is a new modification request, there are only two
>> >> cases for the
>> >> >>   UPDATE:
>> >> >>
>> >> >>   o accepted by 200OK;
>> >> >>
>> >> >>   o rejected by 4xx/5xx/6xx, such as 504.
>> >> >>
>> >> >>   If it is accepted by 200OK, the new modification is
>> >> committed.  And
>> >> >>   the session state is committed state of the modification
>> >> triggered by
>> >> >>   F5.
>> >> >>
>> >> >>   If it is rejected, and the original modification failed, the 
>> >> >> session
>> >> >
>> >> >>state is one before F1.
>> 
>
>--------------------------"AVG certification"--------------------------
>
>No virus found in this incoming message.
>Checked by AVG - www.grisoft.jp 
>Version: 8.0.237 / Virus Database: 270.11.7/1983 - Release Date: 03/04/09 07:41:00
_______________________________________________
Sipping mailing list  https://www.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@xxxxxxxxxxxxxxx for questions on current sip
Use sip@xxxxxxxx for new developments of core SIP

[Index of Archives]     [IETF Announce]     [IETF Discussion]     [Linux SCSI]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Big List of Linux Books]

  Powered by Linux