Android-cuttlefish cvd tool
|
#include <sup_service.h>
Classes | |
struct | CallForwardInfo |
struct | CallWaitingInfo |
struct | ClirStatusInfo |
Public Member Functions | |
SupService (int32_t service_id, ChannelMonitor *channel_monitor, ThreadLooper *thread_looper) | |
~SupService ()=default | |
SupService (const SupService &)=delete | |
SupService & | operator= (const SupService &)=delete |
void | HandleUSSD (const Client &client, std::string &command) |
void | HandleCLIR (const Client &client, std::string &command) |
void | HandleCallWaiting (const Client &client, std::string &command) |
void | HandleCLIP (const Client &client) |
void | HandleCallForward (const Client &client, std::string &command) |
void | HandleSuppServiceNotifications (const Client &client, std::string &command) |
![]() | |
virtual | ~ModemService ()=default |
ModemService (const ModemService &)=delete | |
ModemService & | operator= (const ModemService &)=delete |
bool | HandleModemCommand (const Client &client, std::string command) |
void | CloseRemoteConnection (ClientId remote_client) |
Private Member Functions | |
std::vector< CommandHandler > | InitializeCommandHandlers () |
void | InitializeServiceState () |
Private Attributes | |
ClirStatusInfo | clir_status_ |
std::vector< CallForwardInfo > | call_forward_infos_ |
CallWaitingInfo | call_waiting_info_ |
Additional Inherited Members | |
![]() | |
static constexpr char | kCmeErrorOperationNotAllowed [] = "+CME ERROR: 3" |
static constexpr char | kCmeErrorOperationNotSupported [] = "+CME ERROR: 4" |
static constexpr char | kCmeErrorSimNotInserted [] = "+CME ERROR: 10" |
static constexpr char | kCmeErrorSimPinRequired [] = "+CME ERROR: 11" |
static constexpr char | kCmeErrorSimPukRequired [] = "+CME ERROR: 12" |
static constexpr char | kCmeErrorSimBusy [] = "+CME ERROR: 14" |
static constexpr char | kCmeErrorIncorrectPassword [] = "+CME ERROR: 16" |
static constexpr char | kCmeErrorMemoryFull [] = "+CME ERROR: 20" |
static constexpr char | kCmeErrorInvalidIndex [] = "+CME ERROR: 21" |
static constexpr char | kCmeErrorNotFound [] = "+CME ERROR: 22" |
static constexpr char | kCmeErrorInvalidCharactersInTextString [] |
static constexpr char | kCmeErrorNoNetworkService [] = "+CME ERROR: 30" |
static constexpr char | kCmeErrorNetworkNotAllowedEmergencyCallsOnly [] |
static constexpr char | kCmeErrorInCorrectParameters [] = "+CME ERROR: 50" |
static constexpr char | kCmeErrorNetworkNotAttachedDueToMTFunctionalRestrictions [] |
static constexpr char | kCmeErrorFixedDialNumberOnlyAllowed [] |
static constexpr char | kCmsErrorOperationNotAllowed [] = "+CMS ERROR: 302" |
static constexpr char | kCmsErrorOperationNotSupported [] = "+CMS ERROR: 303" |
static constexpr char | kCmsErrorInvalidPDUModeParam [] = "+CMS ERROR: 304" |
static constexpr char | kCmsErrorSCAddressUnknown [] = "+CMS ERROR: 304" |
static constexpr std::pair< int, int > | kRemotePortRange {6520, 6527} |
![]() | |
ModemService (int32_t service_id, std::vector< CommandHandler > command_handlers, ChannelMonitor *channel_monitor, ThreadLooper *thread_looper) | |
void | HandleCommandDefaultSupported (const Client &client) |
void | SendUnsolicitedCommand (std::string unsol_command) |
cuttlefish::SharedFD | ConnectToRemoteCvd (std::string port) |
void | SendCommandToRemote (ClientId remote_client, std::string response) |
![]() | |
static std::string | GetHostId () |
![]() | |
int32_t | service_id_ |
const std::vector< CommandHandler > | command_handlers_ |
ThreadLooper * | thread_looper_ |
ChannelMonitor * | channel_monitor_ |
cuttlefish::SupService::SupService | ( | int32_t | service_id, |
ChannelMonitor * | channel_monitor, | ||
ThreadLooper * | thread_looper | ||
) |
|
default |
|
delete |
void cuttlefish::SupService::HandleCallForward | ( | const Client & | client, |
std::string & | command | ||
) |
AT+CCFCU The command allows control of the communication forwarding supplementary service according to 3GPP TS 22.072 [31], 3GPP TS 22.082 [4] and 3GPP TS 24.604 [132].
Command Possible response(s) +CCFCU=<reason>,<mode> +CME ERROR: <err> [,<numbertype>,<ton>,<number> when <mode>=2 and command successful: [,<class>,<ruleset> +CCFCU: <status>,<class1>[,<numbertype>, [,<subaddr>[,<satype>[,<time>]]]]] <ton>,<number>[,<subaddr>,<satype>[,<time>]]] [,<class>,<ruleset>
see SupService::CallForwardInfo
see RIL_REQUEST_SET_CALL_FORWARD or RIL_REQUEST_QUERY_CALL_FORWARD_STATUS in RIL
void cuttlefish::SupService::HandleCallWaiting | ( | const Client & | client, |
std::string & | command | ||
) |
AT+CCWA This command allows control of the supplementary service Call Waiting according to 3GPP TS 22.083 [5] and Communication Waiting according to 3GPP TS 24.607 [137]. Activation, deactivation and status query are supported.
Command Possible response(s) +CCWA=[<n>[,<mode>[,<class>]]] +CME ERROR: <err> when <mode>=2 and command successful +CCWA: <status>,<class1> [<CR><LF>+CCWA: <status>,<class2> <n>: integer type (sets/shows the result code presentation status to the TE). 0 disable 1 enable <mode>: integer type (when <mode> parameter is not given, network is not interrogated). 0 disable 1 enable 2 query status <classx>: a sum of integers each representing a class of information (default 7 - voice, data and fax). <status>: integer type 0 not active 1 active
see RIL_REQUEST_QUERY_CALL_WAITING and RIL_REQUEST_SET_CALL_WAITING in RIL
void cuttlefish::SupService::HandleCLIP | ( | const Client & | client | ) |
AT+CLIP This command refers to the supplementary service CLIP (Calling Line Identification Presentation) according to 3GPP TS 22.081 [3] and OIP (Originating Identification Presentation) according to 3GPP TS 24.607 [119] that enables a called subscriber to get the calling line identity (CLI) of the calling party when receiving a mobile terminated call.
Command Possible response(s) +CLIP? +CLIP: <n>,<m>
<n>: integer type (parameter sets/shows the result code presentation status to the TE). 0 disable 1 enable <m>: integer type (parameter shows the subscriber CLIR / OIR service status in the network). 0 CLIP / OIP not provisioned 1 CLIP / OIP provisioned 2 unknown (e.g. no network, etc.)
see RIL_REQUEST_QUERY_CLIP in RIL
void cuttlefish::SupService::HandleCLIR | ( | const Client & | client, |
std::string & | command | ||
) |
AT+CLIR This command refers to CLIR‑service according to 3GPP TS 22.081 that allows a calling subscriber to enable or disable the presentation of the CLI to the called party when originating a call.
Command Possible response(s) +CLIR: <n> +CLIR? +CLIR: <n>,<m>
<n>: integer type (parameter sets the adjustment for outgoing calls). 0 presentation indicator is used according to the subscription of the CLIR service 1 CLIR invocation 2 CLIR suppression <m>: integer type (parameter shows the subscriber CLIR / OIR service status in the network). 0 CLIR / OIR not provisioned 1 CLIR / OIR provisioned in permanent mode 2 unknown (e.g. no network, etc.) 3 CLIR / OIR temporary mode presentation restricted 4 CLIR / OIR temporary mode presentation allowed
see RIL_REQUEST_SET_CLIR or RIL_REQUEST_GET_CLIR in RIL
void cuttlefish::SupService::HandleSuppServiceNotifications | ( | const Client & | client, |
std::string & | command | ||
) |
AT+CSSN This command refers to supplementary service related network initiated notifications. The set command enables/disables the presentation of notification result codes from TA to TE.
Command Possible response(s) +CSSN: [<n>[,<m>]]
<n>: integer type (parameter sets/shows the +CSSI intermediate result code presentation status to the TE) 0 disable 1 enable <m>: integer type (parameter sets/shows the +CSSU unsolicited result code presentation status to the TE) 0 disable 1 enable
see RIL_REQUEST_SET_SUPP_SVC_NOTIFICATION in RIL
void cuttlefish::SupService::HandleUSSD | ( | const Client & | client, |
std::string & | command | ||
) |
AT+CUSD This command allows control of the Unstructured Supplementary Service Data (USSD) according to 3GPP TS 22.090 [23], 3GPP TS 24.090 [148] and 3GPP TS 24.390 [131]. Both network and mobile initiated operations are supported.
Command Possible response(s) +CUSD=[<n>[,<str>[,<dcs>]]] +CME ERROR: <err> +CUSD? +CUSD: <n>
<n>: integer type (sets/shows the result code presentation status to the TE). 0 disable the result code presentation to the TE 1 enable the result code presentation to the TE 2 cancel session (not applicable to read command response) <str>: string type USSD string when <str> parameter is not given, network is not interrogated <dcs>: integer type (shows Cell Broadcast Data Coding Scheme, see 3GPP TS 23.038 [25]). Default value is 0.
see RIL_REQUEST_SEND_USSD or RIL_REQUEST_CANCEL_USSD in RIL
|
private |
|
private |
|
delete |
|
private |
|
private |
|
private |