view cdg-hybrid/cdginc/m_sms.val @ 303:f76436d19a7a default tip

!GPRS config: fix long-standing AT+COPS chance hanging bug There has been a long-standing bug in FreeCalypso going back years: sometimes in the AT command bring-up sequence of an ACI-only MS, the AT+COPS command would produce only a power scan followed by cessation of protocol stack activity (only L1 ADC traces), instead of the expected network search sequence. This behaviour was seen in different FC firmware versions going back to Citrine, and seemed to follow some law of chance, not reliably repeatable. This bug has been tracked down and found to be specific to !GPRS configuration, stemming from our TCS2/TCS3 hybrid and reconstruction of !GPRS support that was bitrotten in TCS3.2/LoCosto version. ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3 version and had to be pulled from TCS2 - but as it turns out, there is a new field in the MMR_REG_REQ primitive that needs to be set correctly, and that psa_mms.c module is the place where this initialization needed to be added.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 08 Jun 2023 08:23:37 +0000
parents 35f7a1dc9f7d
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : m_sms.val                                                      |
| SOURCE  : "msg\sms.mdf"                                                  |
| LastModified : "2001-09-11"                                              |
| IdAndVersion : "6147.607.97.102"                                         |
| SrcFileTime  : "Wed Nov 28 10:21:18 2007"                                |
| Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef M_SMS_VAL
#define M_SMS_VAL


#define CDG_ENTER__M_SMS_VAL

#define CDG_ENTER__FILENAME _M_SMS_VAL
#define CDG_ENTER__M_SMS_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__M_SMS_VAL__LAST_MODIFIED _2001_09_11
#define CDG_ENTER__M_SMS_VAL__ID_AND_VERSION _6147_607_97_102

#define CDG_ENTER__M_SMS_VAL__SRC_FILE_TIME _Wed_Nov_28_10_21_18_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__M_SMS_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_cp_cause
 */
#define SMS_CP_CS_NETWORK_FAILURE      (0x11)     /* Network Failure                */
#define SMS_CP_CS_CONGESTION           (0x16)     /* Congestion                     */
#define SMS_CP_CS_INVALID_TI           (0x51)     /* Invalid Transaction Identifier */
#define SMS_CP_CS_SEM_INC_MSG          (0x5f)     /* Semantically incorrect message */
#define SMS_CP_CS_INV_MAND_INFO        (0x60)     /* Invalid mandatory information  */
#define SMS_CP_CS_MSG_TYPE_NON_EXIST   (0x61)     /* Message type non-existent or not implemented */
#define SMS_CP_CS_MSG_NOT_COMP         (0x62)     /* Message not compatible with the short message protocol state */
#define SMS_CP_CS_INFO_NON_EXIST       (0x63)     /* Information element non-existent or not implemented */
#define SMS_CP_CS_PROTOCOL_ERROR       (0x6f)     /* Protocol error, unspecified    */

/*
 * Value constants for VAL_rp_mti
 */
#define RP_DATA_UL                     (0x0)      /* RP_DATA message MS to network  */
#define RP_DATA_DL                     (0x1)      /* RP_DATA message network to MS  */
#define RP_ACK_UL                      (0x2)      /* RP_ACK message MS to network   */
#define RP_ACK_DL                      (0x3)      /* RP_ACK message network to MS   */
#define RP_ERROR_UL                    (0x4)      /* RP_ERROR message MS to network */
#define RP_ERROR_DL                    (0x5)      /* RP_ERROR message network to MS */
#define RP_SMMA_UL                     (0x6)      /* RP_SMMA message MS to network  */

/*
 * Value constants for VAL_npi
 */
#define VAL_NPI___DEF                  (0x0)      /* reserved                       */
#define SMS_NPI_UNKNOWN                (0x0)      /* unknown                        */
#define SMS_NPI_ISDN                   (0x1)      /* ISDN/telephony numbering plan (Rec. E.164/E.163) */
#define SMS_NPI_X121                   (0x3)      /* data numbering plan (Recommendation X.121) */
#define SMS_NPI_F69                    (0x4)      /* telex numbering plan (Recommendation F.69) */
#define SMS_NPI_NATIONAL               (0x8)      /* national numbering plan        */
#define SMS_NPI_PRIVATE                (0x9)      /* private numbering plan         */
#define SMS_NPI_ERMES                  (0xa)      /* ERMES numbering plan (ETSI DE/PS 3 01-3) */
#define SMS_NPI_EXTENSTION             (0xf)      /* reserved for extension         */

/*
 * Value constants for VAL_ton
 */
#define SMS_TON_UNKNOWN                (0x0)      /* unknown                        */
#define SMS_TON_INTERNATIONAL          (0x1)      /* international number           */
#define SMS_TON_NATIONAL               (0x2)      /* national number                */
#define SMS_TON_NETWORK_SPEC           (0x3)      /* network specific number        */
#define SMS_TON_SUBSCRIBER             (0x4)      /* dedicated access, short code   */
#define SMS_TON_ALPHANUMERIC           (0x5)      /* alphanumeric                   */
#define SMS_TON_ABBREVIATED            (0x6)      /* abbreviated                    */
#define SMS_TON_EXTENSION              (0x7)      /* reserved for extention         */

/*
 * Value constants for VAL_rp_cause_value
 */
#define SMS_RP_CS_UNASSIGNED_NUMBER    (0x1)      /* Unassigned (unallocated) number */
#define SMS_RP_CS_OPERATOR_DET_BARRED  (0x8)      /* Operator determined barring    */
#define SMS_RP_CS_CALL_BARRED          (0xa)      /* Call barred                    */
#define SMS_RP_CS_SM_TRANSFER_REJECTED (0x15)     /* Short message transfer rejected */
#define SMS_RP_CS_MEM_CAP_EXCEEDED     (0x16)     /* Memory Capacity exceeded       */
#define SMS_RP_CS_DEST_OUT_OF_ORDER    (0x1b)     /* Destination out of order       */
#define SMS_RP_CS_UNIDENT_SUBSCRIBER   (0x1c)     /* Unidentified subscriber        */
#define SMS_RP_CS_FACILITY_REJECTED    (0x1d)     /* Facility rejected              */
#define SMS_RP_CS_UNKNOWN_SUBSCRIBER   (0x1e)     /* Unknown subscriber             */
#define SMS_RP_CS_NET_OUT_OF_ORDER     (0x26)     /* Network out of order           */
#define SMS_RP_CS_TEMP_FAILURE         (0x29)     /* Temporary Failure              */
#define SMS_RP_CS_CONGESTION           (0x2a)     /* Congestion                     */
#define SMS_RP_CS_NO_RESOURCES         (0x2f)     /* Resources unavailable, unspecified */
#define SMS_RP_CS_FAC_NOT_SUBSCRIBED   (0x32)     /* Requested facility not subscribed */
#define SMS_RP_CS_FAC_NOT_IMPL         (0x45)     /* Requested facility not implemented */
#define SMS_RP_CS_INV_SM_TR_REF_VAL    (0x51)     /* Invalid short message transfer reference value */
#define SMS_RP_CS_SEM_INC_MSG          (0x5f)     /* Semantically incorrect message */
#define SMS_RP_CS_INV_MAND_INFO        (0x60)     /* Invalid mandatory information  */
#define SMS_RP_CS_MSG_NON_EXIST        (0x61)     /* Message type non-existent or not implemented */
#define SMS_RP_CS_MSG_NOT_COMP         (0x62)     /* Message not compatible with the short message protocol state */
#define SMS_RP_CS_INFO_NON_EXIST       (0x63)     /* Information element non-existent or not implemented */
#define SMS_RP_CS_PROTOCOL_ERROR       (0x6f)     /* Protocol error, unspecified    */
#define SMS_RP_CS_INTERWORKING         (0x7f)     /* Interworking, unspecified      */

/*
 * Value constants for VAL_tp_ct
 */
#define SMS_CT_ENQUIRY                 (0x0)      /* Enquiry to submitted short message */
#define SMS_CT_CANCEL_REP              (0x1)      /* Cancel status report request   */
#define SMS_CT_DELETE                  (0x2)      /* Delete short message           */
#define SMS_CT_ENABLE                  (0x3)      /* Enable status report request   */

/*
 * Value constants for VAL_tp_dcs
 */
#define SMS_DCS_GRP_DEF                (0x0)      /* Coding group: uncompressed, no message class */
#define SMS_DCS_GRP_CLASS              (0x10)     /* Coding group: uncompressed, with message class */
#define SMS_DCS_GRP_COMPR              (0x20)     /* Coding group: compressed, no message class */
#define SMS_DCS_GRP_CLASS_COMPR        (0x30)     /* Coding group: compressed, with message class */
#define SMS_DCS_GRP_MW_DISCD           (0xc0)     /* Coding group: message waiting, discard */
#define SMS_DCS_GRP_MW_STORE           (0xd0)     /* Coding group: message waiting, store */
#define SMS_DCS_GRP_MW_STORE_UCS2      (0xe0)     /* Coding group: message waiting, store, UCS2 coded */
#define SMS_DCS_DATA_CLASS             (0xf0)     /* Coding group: data coding, with message class */

/*
 * Value constants for VAL_tp_fcs
 */
#define SMS_FCS_TM_IW_NOT_SUP          (0x80)     /* Telematic interworking not supported (MO) */
#define SMS_FCS_SM_0_NOT_SUP           (0x81)     /* Short Message Type 0 not supported (MO, MT) */
#define SMS_FCS_CANT_REP_SM            (0x82)     /* Cannot replace short message (MO, MT) */
#define SMS_FCS_TP_PID_UNSPEC          (0x8f)     /* Unspecified TP-PID error (MO, MT) */
#define SMS_FCS_DCS_NOT_SUP            (0x90)     /* Data coding scheme (alphabet) not supported (MO) */
#define SMS_FCS_CLASS_NOT_SUP          (0x91)     /* Message class not supported (MT) */
#define SMS_FCS_TP_DCS_UNSPEC          (0x9f)     /* Unspecified TP-DCS error (MO, MT) */
#define SMS_FCS_CMD_CANT_ACT           (0xa0)     /* Command cannot be actioned (MO) */
#define SMS_FCS_CMD_NOT_SUP            (0xa1)     /* Command unsupported (MO)       */
#define SMS_FCS_TP_CMD_UNSPEC          (0xaf)     /* Unspecified TP-Command error (MO) */
#define SMS_FCS_TPDU_NOT_SUP           (0xb0)     /* TPDU not supported (MO, MT)    */
#define SMS_FCS_SC_BUSY                (0xc0)     /* SC busy (MO)                   */
#define SMS_FCS_NO_SC_SUBSCRIPT        (0xc1)     /* No SC subscription (MO)        */
#define SMS_FCS_SC_SYS_FAIL            (0xc2)     /* SC system failure (MO)         */
#define SMS_FCS_INV_SME_ADDR           (0xc3)     /* Invalid SME address (MO)       */
#define SMS_FCS_DEST_SME_BARRED        (0xc4)     /* Destination SME barred (MO)    */
#define SMS_FCS_REJ_DUPL_SM            (0xc5)     /* SM rejected-duplicate SM (MO)  */
#define SMS_FCS_TPVPF_NOT_SUP          (0xc6)     /* Validity Period Format not supported (MO) */
#define SMS_FCS_TPVP_NOT_SUP           (0xc7)     /* Validity Period not supported (MO) */
#define SMS_FCS_SIM_MEM_FULL           (0xd0)     /* SIM SMS storage full (MT)      */
#define SMS_FCS_NO_SMS_MEM_IN_MS       (0xd1)     /* No SMS storage capability in SIM (MT) */
#define SMS_FCS_ERROR_IN_MS            (0xd2)     /* Error in MS (MT)               */
#define SMS_FCS_MEM_CAP_EXCEED         (0xd3)     /* Memory Capacity exceeded (MO, MT) */
#define SMS_FCS_SAT_BUSY               (0xd4)     /* SIM Application Toolkit busy (MT) */
#define SMS_FCS_SAT_DNL_ERROR          (0xd5)     /* SIM Data Download error (MT)   */
#define SMS_FCS_UNSPECIFIED            (0xff)     /* Unspecified error cause (MO, MT) */

/*
 * Value constants for VAL_tp_mti
 */
#define SMS_DELIVER                    (0x0)      /* SMS deliver (SC to MS)         */
#define SMS_DELIVER_REPORT             (0x0)      /* SMS deliver report (MS to SC)  */
#define SMS_STATUS_REPORT              (0x2)      /* SMS status report (SC to MS)   */
#define SMS_COMMAND                    (0x2)      /* SMS command (MS to SC)         */
#define SMS_SUBMIT                     (0x1)      /* SMS submit (MS to SC)          */
#define SMS_SUBMIT_REPORT              (0x1)      /* SMS submit report (SC to MS)   */
#define SMS_DELIVER_CONCAT             (0x4)      /* SMS deliver concat (SC to MS)  */

/*
 * Value constants for VAL_tp_mms
 */
#define SMS_MMS_MORE_MESSAGES          (0x0)      /* More messages are waiting for the MS in this SC */
#define SMS_MMS_NO_MORE_MESSAGES       (0x1)      /* No more messages are waiting for the MS in this SC */

/*
 * Value constants for VAL_tp_pid
 */
#define SMS_PID_DEFAULT                (0x0)      
#define SMS_PID_SM_TYPE_0              (0x40)     /* Short Message Type 0           */
#define SMS_PID_REP_SM_TYPE_1          (0x41)     /* Replace Short Message Type 1   */
#define SMS_PID_REP_SM_TYPE_2          (0x42)     /* Replace Short Message Type 2   */
#define SMS_PID_REP_SM_TYPE_3          (0x43)     /* Replace Short Message Type 3   */
#define SMS_PID_REP_SM_TYPE_4          (0x44)     /* Replace Short Message Type 4   */
#define SMS_PID_REP_SM_TYPE_5          (0x45)     /* Replace Short Message Type 5   */
#define SMS_PID_REP_SM_TYPE_6          (0x46)     /* Replace Short Message Type 6   */
#define SMS_PID_REP_SM_TYPE_7          (0x47)     /* Replace Short Message Type 7   */
#define SMS_PID_RET_CALL_MSG           (0x5f)     /* Return Call Message            */
// VAL-FF: REL99  
// #define SMS_PID_ANSI_136_R_DATA        (0x7c)  /* ANSI-136 Data                  */
#define SMS_PID_ME_DOWNLOAD            (0x7d)     /* ME Data Download               */
#define SMS_PID_ME_DEPERSON            (0x7e)     /* ME Depersonalization SM        */
#define SMS_PID_SIM_DOWNLOAD           (0x7f)     /* SIM Data Download              */

/*
 * Value constants for VAL_tp_rd
 */
#define SMS_RD_ACCEPT                  (0x0)      /* Accept duplicated SMS submit   */
#define SMS_RD_REJECT                  (0x1)      /* Reject duplicated SMS submit   */

/*
 * Value constants for VAL_tp_rp
 */
#define SMS_RP_NOT_SET                 (0x0)      /* TP Reply Path parameter is not set */
#define SMS_RP_SET                     (0x1)      /* TP Reply Path parameter is set */

/*
 * Value constants for VAL_tp_st
 */
#define SMS_ST_SM_REC_BY_SME           (0x0)      /* Short message received by the SME */
#define SMS_ST_SM_FORW_SC              (0x1)      /* Short message forwarded by the SC, not confirmed */
#define SMS_ST_SM_REP_BY_SC            (0x2)      /* Short message replaced by the SC */
#define SMS_ST_CONGESTION              (0x20)     /* Congestion (T)                 */
#define SMS_ST_SMS_BUSY                (0x21)     /* SME is busy (T)                */
#define SMS_ST_NO_RESPONSE             (0x22)     /* No response from the SME (T)   */
#define SMS_ST_SERV_REJ                (0x23)     /* Service rejected (T)           */
#define SMS_ST_QUAL_NOT_AVAIL          (0x24)     /* Quality of service not available (T) */
#define SMS_ST_ERR_IN_SME              (0x25)     /* Error in SME (T)               */
#define SMS_ST_REM_PROC_ERR            (0x40)     /* Remote procedure error (P)     */
#define SMS_ST_INCOMP_DEST             (0x41)     /* Incompatible destination (P)   */
#define SMS_ST_CON_REJ_BY_SME          (0x42)     /* Connection rejected by SME (P) */
#define SMS_ST_NOT_OBTAINABLE          (0x43)     /* Not obtainable (P)             */
#define SMS_ST_QUAL_NOT_AVAIL_P        (0x44)     /* Quality of service not available (P) */
#define SMS_ST_NO_INTERWORK            (0x45)     /* No interworking available (P)  */
#define SMS_ST_SM_VP_EXP               (0x46)     /* Short message validity period expired (P) */
#define SMS_ST_SM_DEL_BY_SME           (0x47)     /* Short message deleted by originating SME (P) */
#define SMS_ST_SM_DEL_BY_SC            (0x48)     /* Short message deleted by SC administration (P) */
#define SMS_ST_SM_NOT_EXIST            (0x49)     /* Short message not exists (P)   */
#define SMS_ST_CONGESTION2             (0x60)     /* Congestion (P)                 */
#define SMS_ST_SMS_BUSY2               (0x61)     /* SME is busy (P)                */
#define SMS_ST_NO_RESPONSE2            (0x62)     /* No response from the SME (P)   */
#define SMS_ST_SERV_REJ2               (0x63)     /* Service rejected (P)           */
#define SMS_ST_QUAL_NOT_AVAIL2         (0x64)     /* Quality of service not available (P) */
#define SMS_ST_ERR_IN_SME2             (0x65)     /* Error in SME (P)               */

/*
 * Value constants for VAL_tp_sri
 */
#define SMS_SRI_NO_RETURN              (0x0)      /* A status report will not be returned to the SME */
#define SMS_SRI_RETURN                 (0x1)      /* A status report will be returned to the SME */

/*
 * Value constants for VAL_tp_srr
 */
#define SMS_SRR_NOT_REQUESTED          (0x0)      /* A status report is not requested */
#define SMS_SRR_REQUESTED              (0x1)      /* A status report is requested   */

/*
 * Value constants for VAL_tp_srq
 */
#define SMS_SRQ_SUBMIT                 (0x0)      /* The SMS status report is the result of a SMS submit */
#define SMS_SRQ_COMMAND                (0x1)      /* The SMS status report is the result of a SMS command or enquiry */

/*
 * Value constants for VAL_tp_udhi
 */
#define SMS_UDHI_NOT_INCLUDED          (0x0)      /* No user data header included   */
#define SMS_UDHI_INCLUDED              (0x1)      /* User data header included      */

/*
 * Value constants for VAL_tp_vpf
 */
#define SMS_VPF_NOT_PRESENT            (0x0)      /* TP-VP field not present        */
#define SMS_VPF_ENHANCED               (0x1)      /* TP-VP field present in enhanced format */
#define SMS_VPF_RELATIVE               (0x2)      /* TP-VP field present and integer represented (relative) */
#define SMS_VPF_ABSOLUTE               (0x3)      /* TP-VP field present and semi-octet represented (absolute) */

/*
 * Value constants for VAL_tp_udl_p
 */
#define SMS_UD_NOT_INCLUDED            (0x0)      /* No user data included          */
#define SMS_UD_INCLUDED                (0x1)      /* User data included             */

/*
 * Value constants for VAL_tp_dcs_p
 */
#define SMS_DCS_NOT_INCLUDED           (0x0)      /* No data coding scheme included */
#define SMS_DCS_INCLUDED               (0x1)      /* Data coding scheme included    */

/*
 * Value constants for VAL_tp_pid_p
 */
#define SMS_PID_NOT_INCLUDED           (0x0)      /* No protocol identifier included */
#define SMS_PID_INCLUDED               (0x1)      /* Protocol identifier included   */

/*
 * Value constants for VAL_tp_vt_mti
 */
#define SMS_VT_DLVR_REP_ACK            (0x20)     /* TP SMS-DELIVER-REPORT in RP_ACK message, MS to network */
#define SMS_VT_SUBMIT                  (0x21)     /* TP SMS-SUBMIT in RP_DATA message, MS to network */
#define SMS_VT_COMMAND                 (0x22)     /* TP SMS-COMMAND in RP_DATA message, MS to network */
#define SMS_VT_DLVR_REP_ERR            (0x24)     /* TP SMS-DELIVER-REPORT in RP_ERROR message, MS to network */
#define SMS_VT_DELIVER                 (0x28)     /* TP SMS-DELIVER in RP_DATA message, network to MS */
#define SMS_VT_SBMT_REP_ACK            (0x29)     /* TP SMS-SUBMIT-REPORT in RP_ACK message, network to MS */
#define SMS_VT_STATUS                  (0x2a)     /* TP SMS-STATUS-REPORT in RP-DATA or RP_ACK message, network to MS */
#define SMS_VT_SBMT_REP_ERR            (0x2b)     /* TP SMS-SUBMIT-REPORT in RP_ERROR message, network to MS */
#define SMS_VT_SIM_PDU                 (0x30)     /* Virtual message type for SIM-PDU used in SAP MNSMS */

/*
 * Value constants for VAL_tvpf
 */
#define SMS_TVPF_NOT_PRESENT           (0x0)      /* Enhanced validity period not present */
#define SMS_TVPF_RELATIVE              (0x1)      /* Enhanced validity period relative as TP-VP (relative) */
#define SMS_TVPF_SECONDS               (0x2)      /* Enhanced validity period given in seconds 1 .. 255 */
#define SMS_TVPF_HOURS                 (0x3)      /* Enhanced validity period given in hours, minutes, seconds */

/*
 * Value constants for VAL_tp_ext
 */
#define SMS_EXT_NOT_INCLUDED           (0x0)      /* No extension octet following   */
#define SMS_EXT_INCLUDED               (0x1)      /* Extension octet following      */

/*
 * Value constants for VAL_tp_ss
 */
#define SMS_SS_NOT_SET                 (0x0)      /* Single Shot bit not set        */
#define SMS_SS_SET                     (0x1)      /* Single Shot bit set            */

/*
 * user defined constants
 */
#define SIM_PDU_BIT_LEN                (0x578)    
#define TPDU_BIT_LEN                   (0x520)    
#define MAX_SMS_ADDR_DIG               (0x14)     
#define MAX_SMS_SGL_CHAR               (0xa0)     
#define MAX_SMS_DATA_LEN               (0xa0)     

#include "CDG_LEAVE.h"


#endif