Previous PageTable Of Contents../index.htmlIndexNext Page


Two B Channel Transfer (TBCT)

TBCT enables an ISDN PRI user to request the switch to connect together two independent calls on the user's interface. The two calls can be served by the same PRI trunk or by two different PRI trunks that both serve the user.

NOTE:
For more on TBCT, refer to the Bellcore Generic Requirements GR-2865-CORE, ISSUE 2, May 1997: Generic Requirements for ISDN PRI Two B Channel Transfer.

If the switch accepts the request, the user is released from the calls and the two other users are connected directly. Billing for the two original calls continues in the same manner as if the transfer had not occurred. As an option, TBCT also allows for transfer notification to the transferred users.

TBCT works only when all of the following conditions are met:

The TBCT feature is invoked by sending a FACILITY message to the Network containing, among other things, the Call Reference Values (CRVs) of the two calls to be transferred. The cc_GetNetCRV( ) function allows applications to query the Dialogic firmware directly for the Network Call Reference Value. (See the cc_GetNetCRV( ) function description in Chapter 5. ISDN Function Reference for more information.)

When a transferred call is disconnected, the network informs the TBCT controller by sending a NOTIFY message with the Network Call Reference Value. The application receives the GCEV_EXTENSION event (with ext_id = GCIS_EXEV_NOTIFY) event.

The following figures provide line diagrams that illustrate the operation of this feature. Figure 7 shows the invocation of TBCT with notification in which both calls answered.


Figure 7.  TBCT Invocation with Notification (Both Calls Answered)


Figure

Figure 8 shows the invocation of TBCT with notification where one call is answered and the other call is alerting.


Figure 8.  TBCT Invocation with Notification (Call 1 Answered/Call 2 Alerting)


Figure

The following call scenario describes the procedures for initiating a TBCT. The scenario is followed by code samples that demonstrate the use of Dialogic API in initiating a TBCT.

Synchronous Programming: Initiating TBCT

Application

Device Driver

State

Firmware

Network

    cc_Open( )
    Board level device
    -->
 
    NULL
   
 
    Return with board level device
      
      <--
     
    cc_Open( )
    B-channel line devices
    -->
 
    NULL
   
 
    Return with line device
      
      <--
     

Users A & B connected

    cc_GetNetCRV
    (Call #2)
    -->
    ISDN_GETNETCRV
    
    -->
    CONNECTED (Calls #1 and #2)
   
     
    ISDN_GETNETCRV
      
      <--
 
 
    Return with network CRV
      
      <--
     
    cc_SndMsg
    (FACILITY, Call #1)
    -->
       
 
    CALL_FACILITY  
    (Call #1)
      
    -->
 
    Facility
      
    -->
 
 
    CCEV_FACILITY  
    (Call #1)
      
      <--
   
    Facility
    
      <--
    cc_GetCallInfo( )
    (Call #1)
       
   
    DISCONNECTED
    
    (Call #1)
    CALL_DISC  
    (Call #1)
    
      <--
    Disconnect  
    (Call #1)
      
      <--
 
    CCEV_DISCONNECT  
    (Call #1)
      
      <--
 
    Release  
    (Call #1)
      
    -->
 
    cc_DropCall( )
    (Call #1)
    -->
    CALL_DISCONNECTED  
    (Call #1)
    
    -->
    IDLE
      
    (Call #1)
 
    Rel_Comp  
    (Call #1)
      
      <--
 
    CCEV_DROPCALL  
    (Call #1)
      
      <--
 
    CALL_CLEARED  
    (Call #1)
      
      <--
 
    cc_ReleaseCall( )
    (Call #1)
    -->
    CALL_DEALLOC  
    (Call #1)
      
    -->
     
 
    Driver releases CRN return
    NULL
    
    (Call #1)
    CALL_DEALLOC_ACK  
    (Call #1)
      
      <--
 
   
    DISCONNECTED
    
    (Call #2)
    CALL_DISC  
    (Call #2)
    
      <--
    Disconnect  
    (Call #2)
      
      <--
 
    CCEV_DISCONNECT  
    (Call #2)
      
      <--
 
    Release  
    (Call #2)
      
    -->
 
    cc_DropCall( )
    (Call #2)
    -->
    CALL_DISCONNECTED  
    (Call #2)
    
    -->
    IDLE
      
    (Call #2)
 
    Rel_Comp  
    (Call #2)
      
    <--
 
    CCEV_DROPCALL  
    (Call #2)
      
      <--
 
    CALL_CLEARED  
    (Call #2)
      
      <--
 
    cc_ReleaseCall( )  
    (Call #2)
    
    -->
    CALL_DEALLOC
      
    (Call #2)
     
 
    Driver releases CRN return
    NULL
    
    (Call #2)
    CALL_DEALLOC_ACK  
    (Call #2)
      
      <--
 

Users A & B disconnected

       
    Notify  
    (CRV = 0)
      
      <--
     
    CALL_NOTIFY  
    (boarddev = dtiB#, CRN = 0)
      
      <--
 
 
    CCEV_NOTIFYNULL  
    (boarddev = dtiB#, CRN = 0)
      
      <--
     
    cc_GetNonCallMsg( )
    Board level device
    -->
       
 
    Return with NOTIFY message
      
      <--
     

The following code samples demonstrate the use of the Dialogic API at various stages of the TBCT call scenario.

1. Opening a board level device:

2. Retrieving the Network's Call Reference Value:

3. Building and sending the Facility message to initiate the TBCT for ISDN NI2 protocols on a DMS switch:

4. Processing the Network response to TBCT request:

5. Processing the Network notification for disconnecting transferred calls:


Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Dialogic Customer Engineering

Copyright 2001, Dialogic Corporation
All rights reserved
This page generated December, 2001