123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- #ifndef __AT_CMD_SS_H__
- #define __AT_CMD_SS_H__
- #include "ats_config.h"
- /*
- for test parse string
- */
- //#ifdef CFW_VOLTE_SUPPORT //quectel modify
- #define MAX_LENGTH_NUMBER_CCFCU 41
- #define AT_CMD_CCFCU_OPTYPE_VOICECALL 1
- //#endif //quectel modify
- #define AT_MAX_DIGITS_USSD 183
- #define AT_MAX_CC_NUM 7
- #define MAX_PARMS 5
- #define MAXPASSWORDLEN 4
- #define CHR_STAR ('*')
- #define CHR_HASH ('#')
- #define CW_DISABLE 0
- #define CW_ENABLE 1
- typedef enum
- {
- SSMMI_STAR = 0,
- SSMMI_HASH,
- SSMMI_STARHASH,
- SSMMI_STARSTAR,
- SSMMI_HASHHASH,
- SSMMI_USS
- } SSOpType;
- typedef enum // Basic Service group number
- {
- Adp_ALL_BS_AND_TS = 0, // 1-12
- // TELESERVICES
- Adp_ALL_TELESERVICES = 10, // 1-6 + 12
- Adp_TELEPHONY = 11, // 1
- Adp_ALL_DATA_TELESERVICES = 12, // 2-6
- Adp_FACSIMILE_SERVICES = 13, // 6
- Adp_SHORT_MESSAGE_SERVICES = 16, // 2
- Adp_ALL_TELESERVICES_EXCEPT_SMS = 19, // 1 + 3-6 + 12
- // VOICE GROUP SERVICES
- Adp_VOICE_GROUP_CALL_SERVICE = 17,
- Adp_VOICE_BROADCAST_SERVICE = 18,
- // BEARER SERVICE
- Adp_ALL_BEARER_SERVICES = 20, // 7-11
- Adp_ALL_ASYNC_SERVICES = 21, // 7
- Adp_ALL_SYNC_SERVICES = 22, // 8
- Adp_ALL_DATA_CIRCUIT_SYNC = 24, // 8
- Adp_ALL_DATA_CIRCUIT_ASYNC = 25, // 7
- Adp_ALL_GPRS_BEARER_SERVICES = 29 // 13
- } Adp_bs_code_enum;
- typedef enum // RegisterSS EraseSS ActivateSS DeactivateSS InterrogateSS
- {
- SS_ALLSS = 0x00,
- SS_ALLLINEIDENTIFICATIONSS = 0x10,
- SS_CLIP = 0x11, // 11.14
- SS_CLIR = 0x12, // 12.14
- SS_COLP = 0x13, // 13.14
- SS_COLR = 0x14, // 14.14
- SS_MCI = 0x15,
- SS_ALLNAMEIDENTIFICATIONSS = 0x18,
- SS_CNAP = 0x19, // 19.14
- SS_ALLFORWARDINGSS = 0x20, //20.10 20.11 20.12 20.13 20.14
- SS_CFU = 0x21, //21.10 21.11 21.12 21.13 21.14
- SS_ALLCONDFORWARDINGSS = 0x28, //28.10 28.11 28.12 28.13 28.14
- SS_CFB = 0x29, //29.10 29.11 29.12 29.13 29.14
- SS_CFNRY = 0x2A, //2A.10 2A.11 2A.12 2A.13 2A.14
- SS_CFNRC = 0x2B, //2B.10 2B.11 2B.12 2B.13 2B.14
- SS_CD = 0x24,
- SS_ALLCALLOFFERINGSS = 0x30,
- SS_ECT = 0x31,
- SS_MAH = 0x32,
- SS_ALLCALLCOMPLETIONSS = 0x40,
- SS_CW = 0x41, // 41.12 41.13 41.14
- SS_HOLD = 0x42, // ERASECCENTRY
- SS_CCBS_A = 0x43, // 43.77 43.14
- SS_CCBS_B = 0x44,
- SS_MC = 0x45,
- SS_ALLMULTIPARTYSS = 0x50,
- SS_MULTIPTY = 0x51,
- SS_ALLCOMMUNITYOFINTEREST_SS = 0x60,
- SS_CUG = 0x61,
- SS_ALLCHARGINGSS = 0x70,
- SS_AOCI = 0x71,
- SS_AOCC = 0x72,
- SS_ALLADDITIONALINFOTRANSFERSS = 0x80,
- SS_UUS1 = 0x81,
- SS_UUS2 = 0x82,
- SS_UUS3 = 0x83, //REGISTERPW GETPW
- SS_ALLBARRINGSS = 0x90, //90.17 90.18 90.12 90.13 90.14
- SS_BARRINGOFOUTGOINGCALLS = 0x91, //91.17 91.18 91.12 91.13 91.14
- SS_BAOC = 0x92, //92.17 92.18 92.12 92.13 92.14
- SS_BOIC = 0x93, //93.17 93.18 93.12 93.13 93.14
- SS_BOICEXHC = 0x94, //94.17 94.18 94.12 94.13 94.14
- SS_BARRINGOFINCOMINGCALLS = 0x99, //99.17 99.18 99.12 99.13 99.14
- SS_BAIC = 0x9A, //9A.17 9A.18 9A.12 9A.13 9A.14
- SS_BICROAM = 0x9B, //9B.17 9B.18 9B.12 9B.13 9B.14
- SS_ALLCALLPRIORITYSS = 0xA0,
- SS_EMLPP = 0xA1, //A1.10 A1.14
- SS_ALLLCSPRIVACYEXCEPTION = 0xB0,
- SS_UNIVERSAL = 0xB1,
- SS_CALLRELATED = 0xB2,
- SS_CALLUNRELATED = 0xB3,
- SS_PLMNOPERATOR = 0xB4,
- SS_ALLMOLR_SS = 0xC0,
- SS_BASICSELFLOCATION = 0xC1,
- SS_AUTONOMOUSSELFLOCATION = 0xC2,
- SS_TRANSFERTOTHIRDPARTY = 0xC3,
- SS_ALLPLMN_SPECIFICSS = 0xF0,
- SS_PLMN_SPECIFICSS_1 = 0xF1,
- SS_PLMN_SPECIFICSS_2 = 0xF2,
- SS_PLMN_SPECIFICSS_3 = 0xF3,
- SS_PLMN_SPECIFICSS_4 = 0xF4,
- SS_PLMN_SPECIFICSS_5 = 0xF5,
- SS_PLMN_SPECIFICSS_6 = 0xF6,
- SS_PLMN_SPECIFICSS_7 = 0xF7,
- SS_PLMN_SPECIFICSS_8 = 0xF8,
- SS_PLMN_SPECIFICSS_9 = 0xF9,
- SS_PLMN_SPECIFICSS_A = 0xFA,
- SS_PLMN_SPECIFICSS_B = 0xFB,
- SS_PLMN_SPECIFICSS_C = 0xFC,
- SS_PLMN_SPECIFICSS_D = 0xFD,
- SS_PLMN_SPECIFICSS_E = 0xFE,
- SS_PLMN_SPECIFICSS_F = 0xFF
- } ss_code_enum;
- typedef enum
- {
- SS_OP_REGISTERSS = 10, // CISS
- SS_OP_ERASESS = 11, // CISS
- SS_OP_ACTIVATESS = 12, // CISS
- SS_OP_DEACTIVATESS = 13, // CISS
- SS_OP_INTERROGATESS = 14, // CISS
- SS_OP_NOTIFYSS = 16, // CRSS
- SS_OP_REGISTERPASSWORD = 17, // CISS
- SS_OP_GETPASSWORD = 18, // CISS
- SS_OP_PROCESSUNSTRUCTUREDSS_DATA = 19, // CRSS AND CISS
- SS_OP_FORWARDCHECKSS_INDICATION = 38, // CISS
- SS_OP_PROCESSUNSTRUCTUREDSS_REQUEST = 59, // CISS
- SS_OP_UNSTRUCTUREDSS_REQUEST = 60, // CISS
- SS_OP_UNSTRUCTUREDSS_NOTIFY = 61, // CISS
- SS_OP_ERASECCENTRY = 77, // CISS
- SS_OP_LCS_MOLR = 115, // CISS
- SS_OP_LCS_LOCATIONNOTIFICATION = 116, // CISS
- SS_OP_CALLDEFLECTION = 117, // CRSS
- SS_OP_USERUSERSERVICE = 118, // CRSS
- SS_OP_ACCESSREGISTERCCENTRY = 119, // CRSS
- SS_OP_FORWARDCUG_INFO = 120, // CRSS
- SS_OP_SPLITMPTY = 121, // CRSS
- SS_OP_RETRIEVEMPTY = 122, // CRSS
- SS_OP_HOLDMPTY = 123, // CRSS
- SS_OP_BUILDMPTY = 124, // CRSS
- SS_OP_FORWARDCHARGEADVICE = 125, // CRSS
- SS_OP_EXPLICITCT = 126 // CRSS
- } l4_op_code_enum;
- typedef struct
- {
- SSOpType type;
- uint8_t parmStart[MAX_PARMS]; /* start position in user string */
- uint8_t parmLen[MAX_PARMS];
- } SSParsedParameters;
- typedef struct
- {
- uint8_t *pzMmiStr;
- ss_code_enum SSCode;
- } ATCodeToSsCode;
- #define AT_MAX_CC_ADDR_LEN 41
- typedef struct
- {
- uint8_t input[AT_MAX_DIGITS_USSD];
- uint8_t dcs;
- uint8_t length;
- uint8_t ip_string[11];
- bool IsEmergencyNo;
- } at_ss_parsing_string_req_struct;
- bool AT_IsSSString(const char *s, CFW_SIM_ID nSimID);
- bool AT_GetCallInfo(CFW_CC_CURRENT_CALL_INFO *pCallInfo, uint8_t CallStatus, CFW_SIM_ID nSimID);
- bool AT_SS_Adaption_ParseStringREQ(at_ss_parsing_string_req_struct *pReq, uint8_t nDLCI, CFW_SIM_ID nSimID);
- uint32_t AT_SS_QUERYERR(uint8_t nType, uint16_t nErrCode);
- // =====================================================
- //
- // GSMBCD码,如果转化奇数个数字的话,将会在对应高位补F
- // 支持'*''#''p'
- // 13811189836 --> 0x31 0x18 0x11 0x98 0x38 0xF6
- // return: output should >= nNumberLen/2+1
- // ======================================================
- uint16_t AT_SsAsciiToGsmBcd(const char *pNumber, uint8_t nNumberLen, uint8_t *pBCD);
- #if !defined(CONFIG_ATR_NBONLY_API_SUPPORT) && !defined(CONFIG_SOC_8850)
- uint8_t SS_ClassToCFWClass(uint8_t nclass);
- #endif //CONFIG_ATR_NBONLY_API_SUPPORT
- #endif
|