[sipcore] Precondition and swap of 200 (OK) for INVITE and 200 (OK) for UPDATE

Ivo Sedlacek <ivo.sedlacek@ericsson.com> Tue, 25 November 2014 11:20 UTC

Return-Path: <ivo.sedlacek@ericsson.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFD251A00B9 for <sipcore@ietfa.amsl.com>; Tue, 25 Nov 2014 03:20:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i7Ezqvs5yHhv for <sipcore@ietfa.amsl.com>; Tue, 25 Nov 2014 03:20:03 -0800 (PST)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3A2351A00EB for <sipcore@ietf.org>; Tue, 25 Nov 2014 03:20:02 -0800 (PST)
X-AuditID: c1b4fb30-f79e66d000000ff1-f6-547465e09810
Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 47.88.04081.0E564745; Tue, 25 Nov 2014 12:20:00 +0100 (CET)
Received: from ESESSMB301.ericsson.se ([169.254.1.101]) by ESESSHC009.ericsson.se ([153.88.183.45]) with mapi id 14.03.0195.001; Tue, 25 Nov 2014 12:19:59 +0100
From: Ivo Sedlacek <ivo.sedlacek@ericsson.com>
To: "sipcore@ietf.org" <sipcore@ietf.org>
Thread-Topic: Precondition and swap of 200 (OK) for INVITE and 200 (OK) for UPDATE
Thread-Index: AdAIobIU/X3RKFytS+CJybDMOoda2Q==
Date: Tue, 25 Nov 2014 11:19:58 +0000
Message-ID: <39B5E4D390E9BD4890E2B31079006101127A248D@ESESSMB301.ericsson.se>
Accept-Language: en-US, cs-CZ
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.18]
Content-Type: multipart/alternative; boundary="_000_39B5E4D390E9BD4890E2B31079006101127A248DESESSMB301erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrFLMWRmVeSWpSXmKPExsUyM+Jvje6D1JIQg3tzhSy+/tjE5sDosWTJ T6YAxigum5TUnMyy1CJ9uwSujJnnZrAVdPYxVUx/tYStgfHZS8YuRk4OCQETiUsrf7JC2GIS F+6tZ+ti5OIQEjjCKPF+9QFWCGcJo0THhytgVWwCehITtxwBs0UENCWWf9vKDmILC/hK/Ni6 gQ0iHiKxv/kJE4StJ3Hk5XywOIuAqsShVXvAbF6g+mW3P4DZjAKyElf/9IJdxCwgLnHryXwm iIsEJJbsOc8MYYtKvHz8D+pSRYmPr/ZB1edLtB68wQwxU1Di5MwnLBMYhWYhGTULSdksJGUQ cR2JBbs/sUHY2hLLFr5mhrHPHHjMhCy+gJF9FaNocWpxUm66kZFealFmcnFxfp5eXmrJJkZg ZBzc8ttgB+PL546HGAU4GJV4eDd8KA4RYk0sK67MPcQozcGiJM678Ny8YCGB9MSS1OzU1ILU ovii0pzU4kOMTBycUg2MGel9W4OOS7u0cuiE2J94wbP6qVzQtqt/Ha8ez/7Q/nUWf/WJtm1L pcpvvXmefWDBmY/6kz4umHNhc+pGobvmOkptXza1vdz55GhNwEF7Rd6drEwCB612275yCFJN dvcQUWyYfjxtxmdxF46rsf4mrxmsH5WkPG/Ic//KeuhP2erqT1nKsSc6lFiKMxINtZiLihMB h/K+T20CAAA=
Archived-At: http://mailarchive.ietf.org/arch/msg/sipcore/P6JRO-KM8fSktIasm_DyUA3bN0o
Subject: [sipcore] Precondition and swap of 200 (OK) for INVITE and 200 (OK) for UPDATE
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Nov 2014 11:20:10 -0000

Hello,



can anyone please give advice on the following problem related to precondition usage in SIP session?



Use case:

- Alice is a mobile phone

- AS is an network based announcement service. AS accepts any received INVITE request, sends audio with 24 hour weather forecast, and hangs up.

- Alice and AS use precondition with segmented status type to indicate state of their resources, Alice needs to reserve resources for the call, AS always have resources available when call setup

- the normal flow for the call is:



               Alice                                        AS



               |                                            |

               |-------------(1) INVITE SDP1--------------->|

               |                                            |

               |<------(2) 183 Session Progress SDP2--------|

               |  ***                                       |

               |--*R*-----------(3) PRACK------------------>|

               |  *E*                                       |

               |<-*S*-------(4) 200 OK (PRACK)--------------|

               |  *E*                                       |

               |  *R*                                       |

               |  *V*                                       |

               |  *A*                                       |

               |  *T*                                       |

               |  *I*                                       |

               |  *O*                                       |

               |  *N*                                       |

               |  ***                                       |

               |  ***                                       |

               |  ***                                       |

               |-------------(5) UPDATE SDP3--------------->|

               |                                            |

               |<--------(6) 200 OK (UPDATE) SDP4-----------|

               |                                            |

               |<-----------(7) 200 OK (INVITE)-------------|

               |                                            |

               |------------------(8) ACK------------------>|

               |                                            |





QUESTION: What is expected Alice's behavior if message (6) and message (7) happened to be swapped during transport from AS to Alice, as shown below?





               Alice                                        AS



               |                                            |

               |-------------(1) INVITE SDP1--------------->|

               |                                            |

               |<------(2) 183 Session Progress SDP2--------|

               |  ***                                       |

               |--*R*-----------(3) PRACK------------------>|

               |  *E*                                       |

               |<-*S*-------(4) 200 OK (PRACK)--------------|

               |  *E*                                       |

               |  *R*                                       |

               |  *V*                                       |

               |  *A*                                       |

               |  *T*                                       |

               |  *I*                                       |

               |  *O*                                       |

               |  *N*                                       |

               |  ***                                       |

               |  ***                                       |

               |  ***                                       |

               |-------------(5) UPDATE SDP3--------------->|

               |                                            |

               |       +-(6) 200 OK (UPDATE) SDP4-----------|

               |       |                                    |

               |<-----------(7) 200 OK (INVITE)-------------|

               |       |                                    |

               |<------+                                    |





In my opinion:

- when receiving message (7), Alice should consider the call as established since 200 (OK) response is received for INVITE request. Alice should send media according to SDP2 as SDP answer to SDP3 has not been received yet.

- when receiving message (6), Alice should start sending media according to SDP4.



Any views?



Kind regards



Ivo Sedlacek