Alexa Auto SDK
4.3
|
Public Member Functions | |
virtual bool | dial (const std::string &payload)=0 |
virtual bool | redial (const std::string &payload)=0 |
virtual void | answer (const std::string &payload)=0 |
virtual void | stop (const std::string &payload)=0 |
virtual void | sendDTMF (const std::string &payload)=0 |
void | connectionStateChanged (ConnectionState state) |
void | callStateChanged (CallState state, const std::string &callId, const std::string &callerId="") |
void | callFailed (const std::string &callId, CallError code, const std::string &message="") |
void | callerIdReceived (const std::string &callId, const std::string &callerId) |
void | sendDTMFSucceeded (const std::string &callId) |
void | sendDTMFFailed (const std::string &callId, DTMFError code, const std::string &message="") |
void | deviceConfigurationUpdated (std::unordered_map< CallingDeviceConfigurationProperty, bool > configurationMap) |
std::string | createCallId () |
PhoneCallController should be extended to allow a user to use Alexa to interact with a calling device such as a connected mobile phone. It provides interfaces for controlling inbound and outbound calls and for notifying the Engine of the state of a call session and the state of platform connection to a calling device.
The platform implementation is responsible for managing the lifecycle and user experience of a call session and connection to the calling device.
using aace::phoneCallController::PhoneCallController::ConnectionState = aace::phoneCallController::PhoneCallControllerEngineInterface::ConnectionState |
Describes the state of connection to a calling device
using aace::phoneCallController::PhoneCallController::CallState = aace::phoneCallController::PhoneCallControllerEngineInterface::CallState |
Describes the state of a call
using aace::phoneCallController::PhoneCallController::CallingDeviceConfigurationProperty = aace::phoneCallController::PhoneCallControllerEngineInterface::CallingDeviceConfigurationProperty |
Describes a configuration property of a connected calling device
using aace::phoneCallController::PhoneCallController::CallError = aace::phoneCallController::PhoneCallControllerEngineInterface::CallError |
Describes an error for a failed call
using aace::phoneCallController::PhoneCallController::DTMFError = aace::phoneCallController::PhoneCallControllerEngineInterface::DTMFError |
Describes an error preventing a DTMF signal from being delivered
|
pure virtual |
Notifies the platform implementation to initiate an outgoing phone call to the destination address
[in] | payload | Details of the dial request in structured JSON format. See the following payload structure and the description of each field: { "callId": "{{STRING}}", "callee": { "details": "{{STRING}}", "defaultContactAddress": { "protocol": "{{STRING}}", "format": "{{STRING}}", "value": "{{STRING}}" }, "alternativeContactAddresses": [{ "protocol": "{{STRING}}", "format": "{{STRING}}", "value": {{STRING}} }] }, } }
|
true
if the platform implementation successfully handled the call
|
pure virtual |
Notifies the platform implementation to redial the last called phone number.
After returning true
, if no stored number is available to be redialed, PhoneCallController::callFailed
with CallError::NO_NUMBER_FOR_REDIAL
should be called.
[in] | payload | Details of the redial request in structured JSON format. See the following payload structure and the description of each field: { "callId": "{{STRING}}" }
|
true
if the platform implementation successfully handled the call
|
pure virtual |
Notifies the platform implementation to answer an inbound call
[in] | payload | Details of the answer request in structured JSON format. See the following payload structure and the description of each field: { "callId": "{{STRING}}", }
|
|
pure virtual |
Notifies the platform implementation to end an ongoing call or stop inbound or outbound call setup
[in] | payload | Details of the stop request in structured JSON format. See the following payload structure and the description of each field: { "callId": "{{STRING}}" }
|
|
pure virtual |
Notifies the platform implementation to send a DTMF signal to the calling device
[in] | payload | Details of the DTMF request in structured JSON format. See the following payload structure and the description of each field: { "callId": "{{STRING}}", "signal": "{{STRING}}" }
|
void aace::phoneCallController::PhoneCallController::connectionStateChanged | ( | ConnectionState | state | ) |
Notifies the Engine of a change in connection to a calling device
[in] | state | The state of connection to a calling device |
void aace::phoneCallController::PhoneCallController::callStateChanged | ( | CallState | state, |
const std::string & | callId, | ||
const std::string & | callerId = "" |
||
) |
Notifies the Engine of a change in the state of an ongoing call
[in] | state | The state of the call |
[in] | callId | The unique identifier associated with the call |
[in] | callerId | The identifier for a contact. May be included for CallState::CALL_RECEIVED |
void aace::phoneCallController::PhoneCallController::callFailed | ( | const std::string & | callId, |
CallError | code, | ||
const std::string & | message = "" |
||
) |
Notifies the Engine of an error related to a call
[in] | callId | The unique identifier for the call associated with the error |
[in] | code | The error type |
[in] | message | A description of the error |
void aace::phoneCallController::PhoneCallController::callerIdReceived | ( | const std::string & | callId, |
const std::string & | callerId | ||
) |
Notifies the Engine that a caller id was received for an inbound call
[in] | callId | The unique identifier for the call associated with the callId |
[in] | callerId | The caller's identifier or phone number |
void aace::phoneCallController::PhoneCallController::sendDTMFSucceeded | ( | const std::string & | callId | ) |
Notifies the Engine that sending the DTMF signal succeeded.
[in] | callId | The unique identifier for the associated call |
void aace::phoneCallController::PhoneCallController::sendDTMFFailed | ( | const std::string & | callId, |
DTMFError | code, | ||
const std::string & | message = "" |
||
) |
Notifies the Engine that the DTMF signal could not be delivered to the remote party
[in] | callId | The unique identifier for the associated call |
[in] | code | The error type |
[in] | message | A description of the error |
void aace::phoneCallController::PhoneCallController::deviceConfigurationUpdated | ( | std::unordered_map< CallingDeviceConfigurationProperty, bool > | configurationMap | ) |
Notifies the Engine of the calling feature configuration of the connected calling device. The configuration data may change if, for example, the connection mechanism to the calling device changes. The provided configuration will override the default or previous configuration.
See PhoneCallController::CallingDeviceConfigurationProperty
for a description of each configurable feature
[in] | configurationMap | A map of configuration properties to the boolean state of the properties |
std::string aace::phoneCallController::PhoneCallController::createCallId | ( | ) |
Generates a unique identifier for a call
Alexa Auto SDK 4.3 - Copyright 2017-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0