Call Object

[This is preliminary documentation and subject to change.]

The call object represents an address's connection between the local address and one or more other addresses. The following diagram represents a two-person phone call. The call objects are pCallA and pCallB , and the call hub is pCallHub. Users are represented as A and B.

All call control is done through the call object. You can think of the call object as a first party view of the telephone call. Using the CallHub object, a user with the required security can discover and potentially control other participants in a call. For example, in the earlier picture, user A's application uses pCallA to do all call control, and user B's application uses pCallB to do all call control. A's application can use the pCallHub to get pCallB. A's application can use pCallB to discover information about B. If A has been granted sufficient rights, A's application can also use pCallB to perform call control from B's point of view.

To make a call, an application selects an address object, then invokes the CreateCall method as shown in the following code fragment:

pAddress->CreateCall(pszDestAddress,
                         &pCall);
    pCall->SelectMediaTerminals(…);
    pCall->Connect(TRUE);
 

After Connect is called, the call has been started. At this point, the application can retrieve the CallHub object to find the other associated call objects. The following code fragment demonstrates the method calls.

pCall->QueryInterface(IID_ITCallInfo,
                          &pCallInfo);
    pCallInfo->get_CallHub(&pCallHub);
    pCallHub->_EnumerateCalls(&pEnumCalls);

Note The application's own pCall is included when _EnumerateCalls is invoked.