Re: About Gonzalo's draft //RE: My proposal has no racing condition

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

 



Hi,

>>But, as indicated in Gonzalo's draft, that can be avoided by the UAS
>>sending an UPDATE instead of 4xx.
> 
>I showed a example that UAC can not accept the UPDATE. But he did not
give further explanation. 
>  
>session before Re-INVITE has two m-line, as m1 and m2
>UAC send Re-INVITE to add m3 and remove m2, m3 with precondition.
>Then UAS can not alert the user.
> 
>After m3's precondition OK, m2 has removed(because Offer/Answer pairs
has exchanged).
>Then user rejected the modification.
>  
>Then the undo UPDATE re-open m2 and remove m3. Re-open m2 can need
precondition.
>Then the UAC can not accept it at once. 
 
If something has been removed there can always be situations when it is
not possible to roll back.
 
So, if the UAS sends a "rollback UPDATE", and offers m1 and m2 to be put
back, and the UAC cannot accept it, the UAC should of course reject the
UPDATE. What happens after that is an implementation issue, I think.
 
You could end up in the same situations even without preconditions
intermediate UPDATEs. For example:
 
- Session before re-INVITE = m1 and m2
- Re-INVITE adds m3 and removes m1 and m2
- UAS rejects the re-INVITE
 
Now, m1 and m2 has been removed, and no matter if the UAS sends 4xx, or
a rollback UPDATE, the UAC may not be able to put m1 and m2 back.
 
The only way to solve this would be to say that any committed change (no
matter whether the change has been done using reINV/18x or UPD/200) is
never rolled back - which is the current solution.
 
Regards,
 
Christer
_______________________________________________
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