[BLISS] Call-completion open issue 1009: The 'retain' option

"WORLEY, Dale R (Dale)" <dworley@avaya.com> Sun, 11 July 2010 19:39 UTC

Return-Path: <dworley@avaya.com>
X-Original-To: bliss@core3.amsl.com
Delivered-To: bliss@core3.amsl.com
Received: from localhost (localhost []) by core3.amsl.com (Postfix) with ESMTP id E1B4C3A6800 for <bliss@core3.amsl.com>; Sun, 11 Jul 2010 12:39:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.156
X-Spam-Status: No, score=-2.156 tagged_above=-999 required=5 tests=[AWL=0.443, BAYES_00=-2.599]
Received: from mail.ietf.org ([]) by localhost (core3.amsl.com []) (amavisd-new, port 10024) with ESMTP id CQNudj1CHfKM for <bliss@core3.amsl.com>; Sun, 11 Jul 2010 12:39:05 -0700 (PDT)
Received: from de307622-de-outbound.net.avaya.com (de307622-de-outbound.net.avaya.com []) by core3.amsl.com (Postfix) with ESMTP id 819963A67B3 for <bliss@ietf.org>; Sun, 11 Jul 2010 12:39:05 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.55,184,1278302400"; d="scan'208";a="197503474"
Received: from unknown (HELO p-us1-erheast.us1.avaya.com) ([]) by de307622-de-outbound.net.avaya.com with ESMTP; 11 Jul 2010 15:39:11 -0400
X-IronPort-AV: E=Sophos;i="4.55,184,1278302400"; d="scan'208";a="480802037"
Received: from unknown (HELO DC-US1HCEX3.global.avaya.com) ([]) by p-us1-erheast-out.us1.avaya.com with ESMTP; 11 Jul 2010 15:39:10 -0400
Received: from DC-US1MBEX4.global.avaya.com ([]) by DC-US1HCEX3.global.avaya.com ([]) with mapi; Sun, 11 Jul 2010 15:39:10 -0400
From: "WORLEY, Dale R (Dale)" <dworley@avaya.com>
To: "bliss@ietf.org" <bliss@ietf.org>
Date: Sun, 11 Jul 2010 15:39:09 -0400
Thread-Topic: Call-completion open issue 1009: The 'retain' option
Thread-Index: AQHLITC75mj7fICnIkmYG0tECRN8Lw==
Message-ID: <CD5674C3CD99574EBA7432465FC13C1B21FE98EE9F@DC-US1MBEX4.global.avaya.com>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [BLISS] Call-completion open issue 1009: The 'retain' option
X-BeenThere: bliss@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "Basic Level of Interoperability for SIP Services \(BLISS\) BoF" <bliss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/bliss>, <mailto:bliss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/bliss>
List-Post: <mailto:bliss@ietf.org>
List-Help: <mailto:bliss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bliss>, <mailto:bliss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Jul 2010 19:39:07 -0000

In SS-7, there is a 'retain' option for CCNR and CCBS.  The default mode of operation is "retain = false", in which if the CC call fails, the CC request is removed from the queue anyway.  (If the caller wants further CC services, he has to re-invoke CC.)  In the "retain = true" mode, if the CC call fails, the CC request remains in the queue.

The originating an destination ends of the call negotiate whether retain will be in effect or not by sending indicators:  The CC request (the TC-BEGIN CCBS REQUEST) carries a binary indicator stating whether the originating side supports retain, and the response to the CC request carries a binary indicator which is the AND of the request indicator and whether the destination side supports retain.  The response indicator is true only if both sides support retain, and it determines whether this CC request will operate in retain mode or not.

There is an open question of how SIP CC will support the retain option.  The difficulty seems to be that people generally want to use retain, but its deployment is not universal, so its use must be negotiated.

The rest of this message assumes that SIP CC is operating in the "SS-7 to SIP to SS-7" double gateway scenario, which places the strictest requirements on interoperability.

However, looking at the diagram of a failed CCBS call in the ITU specification (Q.733.3, figure 3-7 in http://www.itu.int/ITU-T/recommendations/fl.aspx?id=4063 then click on the "Editions" tag then download the PDF), it seems to me that we can have SIP CC assume that retain is always in effect.  The reasons are:

- If the destination side does not support retain, then immediately after the CCBS call fails, it will send TC-END to end the transaction that was started by the TC-BEGIN CCBS REQUEST.  This transaction is gatewayed to/from the SIP CC subscription, so the destination gateway will terminate the SIP CC subscription, which will be gatewayed back to the originating SS-7 as a TC-END.

- A similar process happens if the originating side does not support retain and the CCBS call fails -- the originating side must send a TC-END.  See note 3 at the bottom of the figure, "The TC-END is sent from either DLE or OLE." and prose at

That is, if one side supports retain and erroneously thinks the other side does also, the non-supporting side will terminate the CC subscription immediately after a failed CCBS call, giving the correct operation across the networks.

I am assuming here that the sending of TC-END happens promptly after the failed CCBS call, so the CC queue entry is removed from the queue before the callee becomes available again.