Re: My proposal has no racing condition

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

 



Hi, 

>>>"B2BUAs acting as proxies" is a terrible entities !
>>
>>I would call them useful entities, but that's just me...
>>
>>I would also say that many (most?) of the B2BUAs out there probably
act 
>>that way, but I am sure there are people who has better information on

>>that.
> 
>Where is the behavior of "useful entities" defined ?

draft-real-world and draft-customer-requirements

At the end of the day, those drafts are what really matters to many
people :)

I'll look at the rest later.

Regards,

Christer















> >>It should behave as B2BUA.
> >
> >Well, it doesn't :)
> >
> >Anyway, even if they do I don't think it would solve the issue. The 
> >point is that some entities may bet the 4xx from the UAS before they 
> >get the UPDATE from the UAC, while other entities get the 
> UPDATE from 
> >the UAC before they get the 4xx from the UAS.
> 
> 1.IT receive 4xx from UAS
> 2.IT send ACK to UAS
> 3.IT send 4xx to UAC
> 4.IT receive UPDATE from UAC
> 5.IT send UPDATE to UAS
> 6.IT receive 2xx to UPDATE from UAS
> 7.IT send 2xx to UPDATE to UAC
> 
>       UAC                   IT                    UAS
>        |          session established              |
>        |<====================|====================>|
>  state1|              state1 | state1              | state1
>        |                     |                     |
>        |            F1  re-INVITE (SDP)            |
>        |-------------------->|-------------------->|
>        |            F2 1xx-rel (SDP)               |
>        |<--------------------|<--------------------|
>  state2|              state2 | state2              | state2
>        |                     |                     |
>        |                F3   PRACK                 |
>        |-------------------->|-------------------->|
>        |                 F4 2xx PRA                |
>        |<--------------------|<--------------------|
>        |                     |                     |
>        |F5 UPDATE(offer)  F6 4xx INV               |
>  offer3|---------\  /--------|<--------------------| rollback state1
>        |              state1 | state1              |
>        |                     |                     |
>        |                     |                     |
>        |          \/         |     F7 ACK          |
>        |          /\         |-------------------->|
>  state1|<--------/  \        |     F5 UPDATE       |
>        |             \------>|-------------------->| offer3
>        |              offer3 | offer3              |
>        |                     |                     |
>        |                 F8 2xx UPDATE(answer)     |
>        |<--------------------|<--------------------| answer3 = state3
>  state3|              state3 | state3              |
>        |         ACK         |                     |
>        |-------------------->|                     |
> 
> It is no problem, isn't it?
> 
> Regards,
> 
> Shinji
> 
> >But, as indicated in Gonzalo's draft, that can be avoided by the UAS 
> >sending an UPDATE instead of 4xx.
> >
> >Regards.
> >
> >Christer
> >
> >
> >
> >
> >> >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
> >
> >--------------------------"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