Internet DRAFT - draft-bhatia-sip-h323-interworking-3pcc

draft-bhatia-sip-h323-interworking-3pcc



                                                               M. Bhatia
Internet-Draft                                    NexTone Communications
draft-bhatia-sip-h323-interworking-3pcc-00.txt
Oct 16, 2001
Expires: Apr 15, 2002

            Third Party Call Control in SIP-H.323 Interworking


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on [Apr 15, 2002].

Abstract
   
   This document discusses third party call control in a SIP-H.323
   Interworking environment. Third party call control refers to the
   ability of one entity to create a call in which communications is
   actually between other parties [1]. The SIP-H.323 Interworking
   function is discussed in [4]. Here we discuss how the Interworking
   entity can function as a controller for third party call
   control, as well as an party to it.

1. Introduction
   
   The basic scenarios of third party call control (3pcc) for SIP are
   discussed in [1,8]. H.323 can be used to implement such a scenario
   on the gatekeeper using the gatekeeper controlled call routing and
   pausing mechanisms described in [5].

   The basic scenarios of SIP-H.323 Interworking (IWF) are described
   in [4]. It defines the logical entity known as the SIP-H.323 
   Interworking Function (IWF) that will allow the interworking
   between the SIP (Session Initiation Protocol) [3] and H.323
   protocols [5,6,7]. IWF includes call sequence mapping, message
   parameter mapping, translation between H.245 and SDP, state
   machines, and handling of different call procedures.


2. Definitions

     controller: the entity which sets up a call relationship
          between two parties. This has the same meaning as in
          [1].

     A, B: Peers of the controller in a call setup using third
          party call call control. A will be understood to be on
          leg 1 of the call, which is set up first and B to be
          on the leg 2 of the call which is bridged with leg 1
          subsequently.

3. Background

   In general, the application logic of third party call control is
   completely implemented on the controller, and the parties involved
   (A,B) are completely unaware of it. For example the approach
   described in [1] suggests two call flows (referred as "flow 1" and
   "flow 3" in this document), where the controller sets up calls to
   two parties A and B, and then bridges the calls together. The basic
   technique used to do this is the INVITE method without SDP. Another
   approach described in [8] uses the REFER method [2]. The similarity
   between the two approaches is that they allow the controller to
   facilitate information (e.g SDP) exchange between the two parties
   without getting involved in the details of what gets exchanged.

   In this document we focus on the case where the third party call
   control logic is based on the IWF. We extend from the call flows
   ("flow 1" and "flow 3") in [1]. The IWF mode allows either of A or
   B to be a SIP or an H.323 endpoint. This leads to two scenarios in
   general:

                     A (SIP)   <---> IWF <---> B (H.323)
                     A (H.323) <---> IWF <---> B (SIP)

   In addition "flow 1" may be applied at either the beginning of a
   call or in the middle of existing calls, where the IWF may have
   an ongoing call with either A or B, which it is bridging with the
   other party. In general this ongoing call may be on hold or
   connected to a music server.

   For describing our flows, we mostly use those described in [4]. All
   additional flows we use are described in the auxiliary flows in
   section 6. In addition the flows described in section 6 are also
   useful when the IWF acts as a party (A or B) in third party call
   control.

4. Structure of document

   Call flows in this document are essentially divided into two
   categories:

   (1) Call flows where IWF acs as the controller. Here we extend from
   "flow 1" and "flow 3" specified in [1]. (Section 5)


   (2) Auxiliary call flows. Although the call flows described in the
   first category may appear independent, they depend on the call
   flows in this category when either of A or B is also an instance of
   IWF. In these situations the controller may be an IWF gateway or a
   SIP Proxy or even an H.323 gatekeeper. (Section 6)

   In general while presenting call flows here, we have taken a lot of
   liberty in excluding messages which may complicate the depiction of
   the call flow. The reader is assumed to be familiar with basic IWF
   functions and mapping described in [4]. For example, H.323 messages
   like H.225 Alerting, Call Proceeding, H.245 Master Slave
   Determination etc are not depicted in any call flows even though
   they may be utmost necessary for them to happen.

5. IWF is the 3pcc controller

5.1 "flow 1" from 3pcc draft[1]:
        
5.1.1   Case 1.A: Beginning of call to B, assuming B will immediately
        accept the call. The first leg in the flow (A) is assumed
        to be a SIP UA. The INVITE to A may be at the start of a
        call to A or in the middle of an already ongoing call to A.

        If A happens to be an instance of IWF, we may either Flow 3 or
        Flow 5 happening when looking at the flow from A's viewpoint.

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |   INV no SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      Setup       |
        |                    |----------------->|
        |                    |                  |
        |                    |      Connect     |        
        |                    |<-----------------|        
        |                    |                  |        
        |                    |      TCS         |        
        |                    |<---------------->|
        |                    |                  |
        |                    |      OLCs        |
        |                    |<---------------->|
        |                    |                  |
        |    ACK SDP         |                  |
        |<-------------------|                  |
        |                    |                  |

    Figure 1: Flow 1.A (3pcc)

5.1.2   Case 1.B: Middle of call to B, assuming the call is connected
        completely and H.245 is already done on the H.323 leg (leg 2). 


        The first leg in the flow (A) is assumed to be a SIP
        endpoint. The INVITE to A may be at the start of a
        call to A or in the middle of an already ongoing call to A.

        If A happens to be an instance of IWF, we may either Flow 3 or
        Flow 5 happening when looking at the flow from A's viewpoint.

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |   INV no SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      TCS         |        
        |                    |<---------------->|
        |                    |                  |
        |                    |      OLCs        |
        |                    |<---------------->|
        |                    |                  |
        |    ACK SDP         |                  |
        |<-------------------|                  |
        |                    |                  |

    Figure 2: Flow 1.B (3pcc)

5.1.3   Case 1.C: Beginning or middle of call to B, assuming B will
        immediately accept the call. The first leg in the flow (A) is
        assumed to be an H.323 endpoint.

        A (H.323)           IWF                 B (SIP)        
        |                    |                  |
        |                    |                  |
        |      Setup         |                  |
        |<-------------------|                  |
        |                    |                  |
        |      Connect       |                  |
        |------------------->|                  |
        |                    |                  |

        from this point we use Flow 1.B:

        |                    |                  |
        |                    |   INV no SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |   200 OK SDP     |
        |                    |<-----------------|
        |                    |                  |
        |      TCS           |                  |
        |<------------------>|                  |
        |                    |                  |
        |      OLCs          |                  |
        |<------------------>|                  |
        |                    |      ACK SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |                  |

    Figure 3: Flow 1.C (3pcc)



5.1.4   Case 1.D: Middle of call to A, assuming the call is connected
        completely and H.245 is already done on the H.323 leg.

        The first leg in the flow (A) is assumed to be an H.323
        endpoint. A NULL TCS may have been sent to A as part of the
        call re-routing and pausing mechanisms described in [5] at the
        beginning of the call flow.

        The INVITE to B may be the start of a new call to B or in the
        middle of an ongoing call between IWF and B.

        A (H.323)           IWF                 B (SIP)        
        |                    |                  |
        |                    |                  |
        |      TCS           |                  |
        |<-------------------|                  |
        |                    |                  |
        |      OLC           |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |   INVITE SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |   200 OK SDP     |
        |                    |<-----------------|
        |                    |                  |
        |      OLC ACK       |                  |
        |<-------------------|                  |
        |                    |      ACK         |
        |                    |----------------->|
        |                    |                  |
        |      OLC           |                  |
        |<-------------------|                  |
        |                    |                  |
        |      OLC ACK       |                  |
        |------------------->|                  |
        |                    |                  |

    Figure 4: Flow 1.D (3pcc)

5.2 "flow 3" from 3pcc draft[1]:

        Flow 3 from the 3pcc draft[1] is used in the general scenario
        where no assumption can be made about the nature of A or B or
        of the state of the call (beginning or middle of call).

        In each case, leg 1 (leg 2) may be either SIP (H.323) or H.323
        (SIP). 

5.2.1   Case 2.A: The first leg in the flow (A) is assumed to be a SIP
        UA. The INVITE to A may be the start of a new call or in the
        middle of an ongoing call between A and IWF. The Setup and
        Connect depicted in the flow are necessary only when the IWF
        is initiating a new call to B.


        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |   INV no SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        | ACK Held/Music SDP |                  |
        |<-------------------|                  |
        |                    |      Setup       |
        |                    |----------------->|
        |                    |                  |
        |                    |      Connect     |        
        |                    |<-----------------|        
        |                    |                  |

        From here we use flow 1.D:

        |                    |      TCS         |        
        |                    |<---------------->|
        |                    |                  |
        |                    |      OLC         |
        |                    |<-----------------|
        |                    |                  |
        |   INV SDP          |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      OLC Ack     |
        |                    |----------------->|
        |                    |                  |
        |        ACK         |                  |
        |<-------------------|                  |
        |                    |                  |
        |                    |      OLC         |
        |                    |----------------->|
        |                    |                  |
        |                    |      OLC Ack     |
        |                    |<-----------------|
        |                    |                  |

    Figure 5: Flow 2.A (3pcc) (uses Flow 1.D)

5.2.2   Case 2.B: The first leg in the flow (A) is assumed to be an
        H.323 endpoint.



        A (H.323)           IWF                 B (SIP)        
        |                    |                  |
        |                    |                  |
        |      Setup         |                  |
        |<-------------------|                  |
        |                    |                  |
        |      Connect       |                  |
        |------------------->|                  |
        |                    |                  |
        |      TCS           |                  |
        |------------------->|                  |
        |                    |                  |
        |      TCS NULL      |                  |
        |<-------------------|                  |
        |                    |                  |

        From this point we use Flow 1.B:

        |                    |                  |
        |                    |   INV no SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |   200 OK SDP     |
        |                    |<-----------------|
        |                    |                  |
        |      TCS           |                  |
        |<-------------------|                  |
        |                    |                  |
        |      OLCs          |                  |
        |<------------------>|                  |
        |                    |      ACK SDP     |
        |                    |----------------->|
        |                    |                  |

    Figure 6: Flow 2.B (3pcc) (uses Flow 1.B)

6. Auxiliary Call Flows:

   Although the call flows described in the first category may appear
   independent, they depend on the call flows in this category when
   either of A or B is also an instance of IWF.

6.1  SIP/H.323 Call flows with INVITE no SDP in middle of call

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |   INV no SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |    ACK SDP         |                  |
        |------------------->|                  |        
        |                    |                  |

        From here, we use Flow 1.D:



        |                    |                  |
        |                    |      TCS         |        
        |                    |----------------->|
        |                    |                  |
        |                    |    Close OLCs    |
        |                    |<---------------->|
        |                    |                  |        
        |                    |       OLC        |
        |                    |<-----------------|
        |                    |                  |
        |   INVITE SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      OLC Ack     |
        |                    |----------------->|
        |                    |                  |
        |       ACK          |                  |
        |<-------------------|                  |
        |                    |                  |
        |                    |      OLC         |
        |                    |----------------->|
        |                    |                  |
        |                    |      OLC Ack     |
        |                    |<-----------------|
        |                    |                  |

    Figure 7: Flow 3, INVITE no SDP in middle of call (uses Flow 1.D)

6.2  SIP/H.323 Call flows with REFER in beginning of call (REFER
        with no call context):

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |        REFER       |                  |
        |------------------->|                  |
        |                    |                  |

        from this point Flow 2.A:
        
        |                    |                  |
        |                    |                  |
        |   INV no SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        | ACK Held/Music SDP |                  |
        |<-------------------|                  |
        |                    |      Setup       |
        |                    |----------------->|
        |                    |                  |


        |                    |      Connect     |        
        |                    |<-----------------|        
        |                    |                  |        
        |                    |      TCS         |        
        |                    |<---------------->|
        |                    |                  |
        |                    |      OLC         |
        |                    |<-----------------|
        |                    |                  |
        |   INV SDP          |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      OLC Ack     |
        |                    |----------------->|
        |                    |                  |
        |                    |      OLC         |
        |                    |----------------->|
        |                    |                  |
        |                    |      OLC Ack     |
        |                    |<-----------------|
        |                    |                  |
        |      ACK SDP       |                  |
        |<-------------------|                  |
        |                    |                  |

    Figure 8: Flow 4, REFER from SIP, beginning of call (uses Flow 2.A)

6.3  SIP/H.323 Call flows using INVITE no SDP in beginning
        of call

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |   INV no SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      Setup       |
        |                    |----------------->|
        |                    |                  |
        |                    |      Connect     |        
        |                    |<-----------------|        
        |                    |                  |        
        |                    |      TCS         |        
        |                    |<-----------------|
        |                    |                  |        
        |                    |     TCS Gen      |        
        |                    |----------------->|
        |                    |                  |
        |                    |       OLC        |
        |                    |<-----------------|
        |                    |                  |
        |   200 OK SDP       |                  |
        |<-------------------|                  |
        |                    |                  |


        |    ACK SDP         |                  |
        |------------------->|                  |
        |                    |       TCS        |        
        |                    |----------------->|
        |                    |                  |
        |                    |  OLC Acks/OLJs   |
        |                    |----------------->|
        |                    |                  |

    Figure 9: Flow 5, INVITE no SDP from SIP, beginning of call

6.4  SIP/H.323 Call flows with REFER in middle of call (REFER
        inside an existing call context)

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |        REFER       |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |     TCS Gen      |        
        |                    |----------------->|
        |                    |                  |
        |                    |       OLC        |
        |                    |<-----------------|
        |                    |                  |
        |   INVITE SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |   200 OK SDP       |                  |
        |------------------->|                  |
        |                    |                  |
        |        ACK         |                  |
        |<-------------------|                  |
        |                    |       TCS        |        
        |                    |----------------->|
        |                    |                  |
        |                    |  OLC Acks/OLJs   |
        |                    |----------------->|
        |                    |                  |

    Figure 10: Flow 6, REFER from SIP, middle of call (uses Flow 5)

6.5  SIP/H.323 Call flows with INVITE SDP in middle of call

        A (SIP)             IWF                 B (H.323)        
        |                    |                  |
        |                    |                  |
        |     INV SDP        |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      TCS         |        
        |                    |----------------->|
        |                    |                  |
        |                    |      OLCs        |        
        |                    |<---------------->|



        |                    |                  |
        |   200 OK SDP       |                  |
        |<-------------------|                  |
        |                    |                  |
        |       ACK          |                  |
        |------------------->|                  |        
        |                    |                  |
        |                    |                  |

    Figure 11: Flow 7, INVITE SDP in middle of call

6.6  SIP/H.323 Call flows with TCS in middle of call

        A (H.323)           IWF                 B (SIP)        
        |                    |                  |
        |                    |                  |
        |      TCS           |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |      REFER       |
        |                    |----------------->|
        |                    |                  |
        |                    | INV SDP+Replaces |
        |                    |<-----------------|
        |                    |                  |
        |      OLCs          |                  |
        |<------------------>|                  |
        |                    |                  |
        |                    |   200 OK SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |      ACK         |
        |                    |<-----------------|
        |                    |                  |

    Figure 12: Flow 8, TCS in middle of call (uses Flow 7)

6.7  SIP/H.323 Call flows using Setup no/failed fast start

        A (H.323)           IWF                 B (SIP)        
        |                    |                  |
        |                    |                  |
        |      Setup         |                  |
        |------------------->|                  |
        |                    |                  |
        |                    |   INV no SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |   200 OK SDP     |
        |                    |<-----------------|
        |                    |                  |
        |      Connect       |                  |
        |<-------------------|                  |
        |                    |                  |
        |      TCS           |                  |
        |<------------------>|                  |



        |                    |                  |
        |      OLCs          |                  |
        |<------------------>|                  |
        |                    |      ACK SDP     |
        |                    |----------------->|
        |                    |                  |
        |                    |                  |

    Figure 13: Flow 9, Setup no fast start

7. References

   [1]  Rosenberg/Peterson/Schulzrinne/Camarillo, "Third Party Call
     Control in SIP" Internet Draft, Internet Engineering Task Force,
     Mar 2002.  Work in progress. 

   [2]  Sparks, R. "The Refer Method", Internet Draft, Internet
     Engineering Task Force, Sep 2001.  Work in progress. 
   
   [3]  Handley, M., Schulzrinne, H., Schooler, E. and J. Rosenberg,
        "SIP: Session Initiation Protocol", RFC 2543, March 1999.

   [4]  Agrawal, H., "SIP-H.323 Interworking", Internet Draft, Internet
     Engineering Task Force, Sep 2001.  Work in progress.

   [5]  "Packet based multimedia communication systems",
     Recommendation H.323 Version 2,ITU-T,Geneva,Switzerland,Feb. 1998.

   [6]  "Call Signaling Protocols and Media Stream Packetization for 
     Packet Based Multimedia Communications Systems", Recommendation
     H.225.0 Version 2, ITU-T, Geneva, Switzerland, March 1997. 
 
   [7]  "Control protocol for multimedia communication",
     Recommendation H.245.0 Version 3, ITU-T, Geneva, Switzerland,
     Feb. 1998. 

   [8]  Bhatia, M., "3pcc using the REFER method", Internet Draft, Internet
     Engineering Task Force, Sep 2001.  Work in progress.

Author's Address

   Medhavi Bhatia
   NexTone Communications
   9700 Great Seneca Highway
   Rockville, MD 20874

   EMail: mbhatia@nextone.com


Expires: Apr 15, 2002  Third Party Call Control in SIP-H.323 Interworking