Snapdragon® Telematics Application Framework (TelAF) Interface Specification
Voice Call Service

API Reference


A voice call is needed for applications that want to establish voice communication with a remote party. The voice call can be over a mobile network or over VoIP.

IPC interfaces binding

The functions of this API are provided by the tafVoiceCallSvc application service.

The following example illustrates how to bind to the Voice Call service.

bindings:
{
    clientExe.clientComponent.taf_voicecall -> tafVoiceCallSvc.taf_voicecall
}

Starting a voice call

A voice call can be started using taf_voicecall_Start() with the destination identifier and SIM slot number passed as parameters.

myTafCallRef = taf_voicecall_Start(DestinationNum, Slot);
if (!myTafCallRef)
{
   res = taf_voicecall_GetEndCause(myTafCallRef, &reason);
   LE_ASSERT(res == LE_OK);
   LE_INFO("taf_voicecall_GetEndCause %d", reason);
   return LE_FAULT;
}

Before the voice call is started, an application registers a state handler using taf_voicecall_AddStateHandler(). Once the voice call is established, the handler will be called indicating it's now connected. If the state of the voice call changes, the handler will be called with the new state.

tafVoiceCallHandlerRef = taf_voicecall_AddStateHandler((taf_voicecall_StateHandlerFunc_t)MyCallEventHandler, NULL);

To hang up a voice call, an application can use taf_voicecall_End().

Applications must use taf_voicecall_Delete() to release the taf_voicecall_CallRef_t voice call reference object when it is no longer used.