VOS_VOID MSG_GetRetrySendDomain( MN_MSG_SEND_DOMAIN_ENUM_U8 enHopeSendDomain, MN_MSG_SEND_DOMAIN_ENUM_U8 *penSendDomain ) { /* 此处修改: 修改前: 只有CS域有重发功能,PS域不存在此功能 修改后: 支持在CS域和PS域重发 */ *penSendDomain = MN_MSG_SEND_DOMAIN_NO; if ((MN_MSG_SEND_DOMAIN_CS == enHopeSendDomain) || (MN_MSG_SEND_DOMAIN_CS_PREFERRED == enHopeSendDomain) || (MN_MSG_SEND_DOMAIN_PS_PREFERRED == enHopeSendDomain)) { MN_MSG_GetCurSendDomain(MN_MSG_SEND_DOMAIN_CS, penSendDomain); } if (MN_MSG_SEND_DOMAIN_NO != *penSendDomain) { return; } if ((MN_MSG_SEND_DOMAIN_PS == enHopeSendDomain) || (MN_MSG_SEND_DOMAIN_CS_PREFERRED == enHopeSendDomain) || (MN_MSG_SEND_DOMAIN_PS_PREFERRED == enHopeSendDomain)) { MN_MSG_GetCurSendDomain(MN_MSG_SEND_DOMAIN_PS, penSendDomain); } return; }
VOS_VOID MN_MSG_FailErrRecord(TAF_MSG_ERROR_ENUM_UINT32 enErrorCode) { NAS_ERR_LOG_SMS_MO_FAIL_EVENT_STRU stSmsMoFailEvent; MN_MSG_SEND_DOMAIN_ENUM_U8 enAvailableSendDomain; VOS_UINT32 ulIsLogRecord; VOS_UINT32 ulLength; VOS_UINT32 ulResult; VOS_UINT16 usLevel; /* 查询对应Alarm Id是否需要记录异常信息 */ usLevel = NAS_GetErrLogAlmLevel(NAS_ERR_LOG_ALM_SMS_FAIL); ulIsLogRecord = TAF_SDC_IsErrLogNeedRecord(usLevel); /* 不需要记录时,不保存异常信息 */ if (VOS_FALSE == ulIsLogRecord) { return; } ulLength = sizeof(NAS_ERR_LOG_SMS_MO_FAIL_EVENT_STRU); /* 填写短信发送失败事件信息 */ PS_MEM_SET(&stSmsMoFailEvent, 0x00, ulLength); NAS_COMM_BULID_ERRLOG_HEADER_INFO(&stSmsMoFailEvent.stHeader, VOS_GetModemIDFromPid(WUEPS_PID_TAF), NAS_ERR_LOG_ALM_SMS_FAIL, usLevel, VOS_GetSlice(), (ulLength - sizeof(OM_ERR_LOG_HEADER_STRU))); /* 获取卡状态信息 */ NAS_MMA_OutputUsimInfo(&stSmsMoFailEvent.stUsimInfo); /* 获取位置信息 */ NAS_MNTN_OutputPositionInfo(&stSmsMoFailEvent.stPositionInfo); MN_MSG_OutputSmsMoFailureInfo(enErrorCode, &stSmsMoFailEvent.stMoFail); MN_MSG_GetCurSendDomain(MN_MSG_SEND_DOMAIN_PS, &enAvailableSendDomain); if (MN_MSG_SEND_DOMAIN_PS == enAvailableSendDomain) { stSmsMoFailEvent.enPsStatus = NAS_MNTN_SEND_DOMAIN_STATUS_AVAILABLE; } else { stSmsMoFailEvent.enPsStatus = NAS_MNTN_SEND_DOMAIN_STATUS_UNAVAILABLE; } MN_MSG_GetCurSendDomain(MN_MSG_SEND_DOMAIN_CS, &enAvailableSendDomain); if (MN_MSG_SEND_DOMAIN_CS == enAvailableSendDomain) { stSmsMoFailEvent.enCsStatus = NAS_MNTN_SEND_DOMAIN_STATUS_AVAILABLE; } else { stSmsMoFailEvent.enCsStatus = NAS_MNTN_SEND_DOMAIN_STATUS_UNAVAILABLE; } /* 将异常信息写入Buffer中 实际写入的字符数与需要写入的不等则打印异常 */ ulResult = TAF_SDC_PutErrLogRingBuf((VOS_CHAR *)&stSmsMoFailEvent, ulLength); if (ulResult != ulLength) { NAS_ERROR_LOG(WUEPS_PID_TAF, "MN_MSG_FailErrRecord(): Push buffer error."); } NAS_COM_MntnPutRingbuf(NAS_ERR_LOG_ALM_SMS_FAIL, WUEPS_PID_TAF, (VOS_UINT8 *)&stSmsMoFailEvent, sizeof(stSmsMoFailEvent)); return; }