VOS_VOID  SSA_Init(VOS_VOID)
{

    VOS_UINT32                          ulIndex;

    /*对所有全局变量初始化*/
    PS_MEM_SET(&gSsTagValue, 0, sizeof(SSA_TAG_STRU));
    PS_MEM_SET(gastSsaStatetable, 0, (TAF_MAX_SSA_TI + 1)*sizeof(SSA_STATE_TABLE_STRU));

    for (ulIndex = 0; ulIndex < (TAF_MAX_SSA_TI + 1); ulIndex++)
    {
        TAF_SSA_InitAllTimers(gastSsaStatetable[ulIndex].astSsaTimerCtx);
    }

    TAF_SSA_ReadSsRetryCfgNvim();

    TAF_SSA_ReadSsRetryCmSrvRejCfgNvim();

    gucCurrentTi     = 0;
    gucSsCurInvokeId = 0;
    PS_MEM_SET(&gstSsVersion, 0, sizeof(ST_SSP_IES_SSPVERSION));



}
VOS_VOID MN_ProcUsimStatus(
    struct MsgCB                        * pstMsg
)
{
    MNPH_USIM_STATUS_IND_STRU           *pstUsimStatus;
    MN_CALL_CUSTOM_CFG_INFO_STRU        *pstCustomCfgAddr;

    /* 获取特性控制NV地址 */
    pstCustomCfgAddr                    = MN_CALL_GetCustomCfgInfo();

    MN_MSG_SetSmsFileRefreshFlag(EF_SMS_SMSS_ID, VOS_TRUE);
    MN_MSG_SetSmsFileRefreshFlag(EF_SMS_SMS_ID, VOS_TRUE);
    MN_MSG_SetSmsFileRefreshFlag(EF_SMS_SMSP_ID, VOS_TRUE);
    MN_MSG_SetSmsFileRefreshFlag(EF_SMS_SMSR_ID, VOS_TRUE);


    pstUsimStatus = (MNPH_USIM_STATUS_IND_STRU *)pstMsg;
    MN_MSG_CfgDataInit(pstUsimStatus->enUsimStatus);

#if ((FEATURE_ON == FEATURE_GCBS) || (FEATURE_ON == FEATURE_WCBS))

    TAF_CBA_MsgProc(pstMsg);

#endif

    if (MN_CALL_NV_ITEM_ACTIVE == pstCustomCfgAddr->ucAlsSupportFlg )
    {
        MN_CALL_LineInfo(pstUsimStatus->enUsimStatus);
    }

    /* 在PID init读取呼叫重建nv的时候判断是否是测试卡,但可能由于时序问题导致判断结果错误,
       因此在运行时再读调用一次读取NV的函数,在函数中判断是否是测试卡 */
    MN_CALL_ReadCallRedialCfgNvim();

    /* 在PID init读取ss重建nv的时候判断是否是测试卡,但可能由于时序问题usim未初始化结束调用usim接口
       获取是否是测试卡返回不准导致判断结果错误,因此在运行时再读调用一次读取NV的函数,
       在函数中判断是否是测试卡 */
    TAF_SSA_ReadSsRetryCfgNvim();

}