view cdg-hybrid/cdginc/m_mm.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_mm.val                                                       |
| SOURCE  : "msg\mm.mdf"                                                   |
| LastModified : "2006-03-22"                                              |
| IdAndVersion : "6147.602.06.106"                                         |
| SrcFileTime  : "Wed Nov 28 10:19:30 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_MM_VAL
#define M_MM_VAL


#define CDG_ENTER__M_MM_VAL

#define CDG_ENTER__FILENAME _M_MM_VAL
#define CDG_ENTER__M_MM_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__M_MM_VAL__LAST_MODIFIED _2006_03_22
#define CDG_ENTER__M_MM_VAL__ID_AND_VERSION _6147_602_06_106

#define CDG_ENTER__M_MM_VAL__SRC_FILE_TIME _Wed_Nov_28_10_19_30_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__M_MM_VAL

#undef CDG_ENTER__FILENAME

#include "m_rr_com.val"   /* Access values independent from the corresponding h-file. */


/*
 * Value constants for VAL_cm_serv_type
 */
#define VAL_CM_SERV_TYPE___DEF         (0x0)      /* reserved                       */
#define ST_MOC                         (0x1)      /* Mobile originating call establishment or packet mode connection establishment */
#define ST_EMERGENCY                   (0x2)      /* Emergency call establishment   */
#define ST_SMS                         (0x4)      /* Short message service          */
#define ST_SS                          (0x8)      /* Supplementary service activation */

/*
 * Value constants for VAL_follow
 */
#define FOR_PENDING_NO                 (0x0)      /* No follow-on request pending   */
#define FOR_PENDING_YES                (0x1)      /* Follow-on request pending      */

/*
 * Value constants for VAL_key_seq
 */
#define VAL_KEY_SEQ___7                (0x7)      /* No key is available (MS to network); Reserved (network to MS) */

/*
 * Value constants for VAL_odd_even
 */
#define EVEN                           (0x0)      /* even                           */
#define ODD                            (0x1)      /* odd                            */

/*
 * Value constants for VAL_rej_cause
 */
#define VAL_REJ_CAUSE___DEF            (0x0)      /* DOWNLINK : Service option temporarily out of order UPLINK : Protocol error, unspecified */
#define RC_IMSI_IN_HLR                 (0x2)      /* IMSI unknown in HLR            */
#define RC_ILLEGAL_MS                  (0x3)      /* Illegal MS                     */
#define RC_IMSI_IN_VLR                 (0x4)      /* IMSI unknown in VLR            */
#define RC_IMEI_NOT_ACCEPTED           (0x5)      /* IMEI not accepted              */
#define RC_ILLEGAL_ME                  (0x6)      /* Illegal ME                     */
#define RC_PLMN_NOT_ALLOWED            (0xb)      /* PLMN not allowed               */
#define RC_LA_NOT_ALLOWED              (0xc)      /* Location Area not allowed      */
#define RC_ROAMING_NOT_ALLOWED         (0xd)      /* National roaming not allowed in this location area */
// VAL-FF: REL99  
// #define RC_NO_SUITABLE_CELL_IN_LA      (0xf)   /* Find another allowed location area in the same PLMN */
#define RC_NETWORK_FAILURE             (0x11)     /* Network failure                */
#define RC_CONGETION                   (0x16)     /* Congestion                     */
#define RC_SERVICE_NOT_SUPPORTED       (0x20)     /* Service option not supported   */
#define RC_SERVICE_NOT_SUBSCRIBED      (0x21)     /* Requested service option not subscribed */
#define RC_SERVICE_ORDER               (0x22)     /* Service option temporarily out of order */
#define RC_IDENTIFIY                   (0x26)     /* Call cannot be identified      */
#define RC_INCORRECT_MESSAGE           (0x5f)     /* Semantically incorrect message */
#define RC_INVALID_MAND_MESSAGE        (0x60)     /* Invalid mandatory information  */
#define RC_MESSAGE_TYPE_NOT_IMPLEM     (0x61)     /* Message type non-existent or not implemented */
#define RC_MESSAGE_TYPE_INCOMPAT       (0x62)     /* Message type not compatible with the protocol state */
#define RC_IE_NOT_IMPLEM               (0x63)     /* Information element non-existent or not implemented */
#define RC_CONDITIONAL_IE              (0x64)     /* Conditional IE error           */
#define RC_MESSAGE_INCOMPAT            (0x65)     /* Message not compatible with the protocol state */
#define RC_UNSPECIFIED                 (0x6f)     /* Protocol error, unspecified    */

/*
 * Value constants for VAL_ident_type
 */
#define VAL_IDENT_TYPE___DEF           (0x0)      /* reserved                       */
#define ID_TYPE_NO_IDENT               (0x0)      /* No Identity                    */
#define ID_TYPE_IMSI                   (0x1)      /* IMSI                           */
#define ID_TYPE_IMEI                   (0x2)      /* IMEI                           */
#define ID_TYPE_IMEISV                 (0x3)      /* IMEISV                         */
#define ID_TYPE_TMSI                   (0x4)      /* TMSI                           */

/*
 * Value constants for VAL_sapi
 */
#define SAPI_0                         (0x0)      /* SAPI used for RR, MM, CC and SS */
#define SAPI_3                         (0x3)      /* SAPI used for SMS              */

/*
 * Value constants for VAL_pd
 */
#define PD_GCC                         (0x0)      /* Group call control             */
#define PD_BCC                         (0x1)      /* Broadcast Call Control         */
#define PD_PDSS1                       (0x2)      /* PDSS1                          */
#define PD_CC                          (0x3)      /* Call Control, call related SS messages */
#define PD_PDSS2                       (0x4)      /* PDSS2                          */
#define PD_MM                          (0x5)      /* Mobility Management messages   */
#define PD_RR                          (0x6)      /* Radio Resources management messages */
#define PD_GPRS_MM                     (0x8)      /* GPRS Mobility Management messages */
#define PD_SMS                         (0x9)      /* SMS messages                   */
#define PD_GPRS_SM                     (0xa)      /* GPRS Session Management messages */
#define PD_SS                          (0xb)      /* non call related SS messages   */
#define PD_LS                          (0xc)      /* Location services              */
#define PD_TST                         (0xf)      /* Reserved for test procedures described in GSM 11.10 */

/*
 * Value constants for VAL_cs
 */
#define CODING_SCHEME_SMSCB            (0x0)      /* Coding scheme cell broadcast short messages */
#define CODING_SCHEME_UCS2             (0x1)      /* Coding scheme UCS2, 16 bit, ISO ISO/IEC10646 */

/*
 * Value constants for VAL_add_ci
 */
#define ADD_CI_NO                      (0x0)      /* Country's Initials are not to be added */
#define ADD_CI_YES                     (0x1)      /* Country's Initials are to be added */

/*
 * Value constants for VAL_save_time_value
 */
#define TIME_ADJ_NO                    (0x0)      /* No adjustment for Daylight Saving Time */
#define TIME_ADJ_1                     (0x1)      /* +1 hour adjustment for Daylight Saving Time */
#define TIME_ADJ_2                     (0x2)      /* +2 hours adjustment for Daylight Saving Time */

/*
 * user defined constants
 */
#define L3MAX                          (0xfb)     
#define MAXNAME                        (0x28)     

#include "CDG_LEAVE.h"


#endif