/***************************************************************************** Function Name : IMSA_IntraMsgDistr() Description : IMSA自己发给自己的消息分发函数 Input : VOS_VOID *pRcvMsg Output : VOS_VOID Return Value : VOS_VOID History : 1.sunbing 49683 2013-06-20 Draft Enact *****************************************************************************/ VOS_VOID IMSA_IntraMsgDistr(const VOS_VOID *pRcvMsg ) { PS_MSG_HEADER_STRU *pstImsaIntraMsg = VOS_NULL_PTR; /*打印进入该函数*/ IMSA_INFO_LOG("IMSA_IntraMsgDistr is entered."); pstImsaIntraMsg = (PS_MSG_HEADER_STRU*)pRcvMsg; switch (pstImsaIntraMsg->ulMsgName) { /* CONN模块处理的相关消息 */ case ID_IMSA_CONN_SETUP_REQ: IMSA_CONN_ProcConnSetupReq((IMSA_CONN_SETUP_REQ_STRU*)pRcvMsg); break; case ID_IMSA_CONN_REL_REQ: IMSA_CONN_ProcConnRelReq((IMSA_CONN_REL_REQ_STRU*)pRcvMsg); break; /* SERVICES模块处理的相关消息 */ case ID_IMSA_REG_REG_IND: IMSA_SRV_ProcRegRegIndMsg((IMSA_REG_REG_IND_STRU *)pRcvMsg); break; case ID_IMSA_REG_DEREG_IND: IMSA_SRV_ProcRegDeregIndMsg((IMSA_REG_DEREG_IND_STRU *)pRcvMsg); break; case ID_IMSA_CONN_SETUP_IND: IMSA_SRV_ProcConnSetupIndMsg((IMSA_CONN_SETUP_IND_STRU *)pRcvMsg); break; case ID_IMSA_CONN_REL_IND: IMSA_SRV_ProcConnRelIndMsg((IMSA_CONN_REL_IND_STRU *)pRcvMsg); break; case ID_IMSA_CONN_MODIFY_IND: IMSA_SRV_ProcConnModifyIndMsg((IMSA_CONN_MODIFY_IND_STRU *)pRcvMsg); break; case ID_IMSA_CALL_RESULT_ACTION_IND: IMSA_SRV_ProcCallRsltActionIndMsg((IMSA_CALL_RESULT_ACTION_IND_STRU *)pRcvMsg); break; /* 注册模块处理的相关消息 */ case ID_IMSA_REG_REG_REQ: (VOS_VOID)IMSA_RegProcUserRegReqMsg(pRcvMsg); break; case ID_IMSA_REG_DEREG_REQ: (VOS_VOID)IMSA_RegProcUserDeregReqMsg(pRcvMsg); break; /* 呼叫模块处理的相关消息 */ case ID_IMSA_NRM_CALL_SRV_STATUS_IND: (VOS_VOID)IMSA_CallProcIntraMsgNrmCallSrvStatus(pRcvMsg); break; case ID_IMSA_EMC_CALL_SRV_STATUS_IND: (VOS_VOID)IMSA_CallProcIntraMsgEmcCallSrvStatus(pRcvMsg); break; default: IMSA_WARN_LOG("IMSA_IntraMsgDistr:Illegal Msg id!"); break; } }
/***************************************************************************** Function Name : IMSA_IntraMsgDistr() Description : IMSA自己发给自己的消息分发函数 Input : VOS_VOID *pRcvMsg Output : VOS_VOID Return Value : VOS_VOID History : 1.sunbing 49683 2013-06-20 Draft Enact *****************************************************************************/ VOS_VOID IMSA_IntraMsgDistr(const VOS_VOID *pRcvMsg ) { PS_MSG_HEADER_STRU *pstImsaIntraMsg = VOS_NULL_PTR; IMSA_CONTROL_MANAGER_STRU *pstControlManager = IMSA_GetControlManagerAddress(); /*打印进入该函数*/ IMSA_INFO_LOG("IMSA_IntraMsgDistr is entered."); /* 关机过程中收到IMSA的内部消息,直接丢弃 */ if(IMSA_STATUS_STOPING == pstControlManager->enImsaStatus) { IMSA_WARN_LOG("IMSA_IntraMsgDistr: Status is Stoping!"); return; } pstImsaIntraMsg = (PS_MSG_HEADER_STRU*)pRcvMsg; switch (pstImsaIntraMsg->ulMsgName) { /* CONN模块处理的相关消息 */ case ID_IMSA_CONN_SETUP_REQ: IMSA_CONN_ProcConnSetupReq((IMSA_CONN_SETUP_REQ_STRU*)pRcvMsg); break; case ID_IMSA_CONN_REL_REQ: IMSA_CONN_ProcConnRelReq((IMSA_CONN_REL_REQ_STRU*)pRcvMsg); break; /* SERVICES模块处理的相关消息 */ case ID_IMSA_REG_REG_IND: IMSA_SRV_ProcRegRegIndMsg((IMSA_REG_REG_IND_STRU *)pRcvMsg); break; case ID_IMSA_REG_DEREG_IND: IMSA_SRV_ProcRegDeregIndMsg((IMSA_REG_DEREG_IND_STRU *)pRcvMsg); break; case ID_IMSA_CONN_SETUP_IND: IMSA_SRV_ProcConnSetupIndMsg((IMSA_CONN_SETUP_IND_STRU *)pRcvMsg); break; case ID_IMSA_CONN_REL_IND: IMSA_SRV_ProcConnRelIndMsg((IMSA_CONN_REL_IND_STRU *)pRcvMsg); break; case ID_IMSA_CONN_MODIFY_IND: IMSA_SRV_ProcConnModifyIndMsg((IMSA_CONN_MODIFY_IND_STRU *)pRcvMsg); break; case ID_IMSA_CALL_RESULT_ACTION_IND: IMSA_SRV_ProcCallRsltActionIndMsg((IMSA_CALL_RESULT_ACTION_IND_STRU *)pRcvMsg); break; /* 注册模块处理的相关消息 */ case ID_IMSA_REG_REG_REQ: (VOS_VOID)IMSA_RegProcUserRegReqMsg(pRcvMsg); break; case ID_IMSA_REG_DEREG_REQ: (VOS_VOID)IMSA_RegProcUserDeregReqMsg(pRcvMsg); break; /* 呼叫模块处理的相关消息 */ case ID_IMSA_NRM_CALL_SRV_STATUS_IND: (VOS_VOID)IMSA_CallProcIntraMsgNrmCallSrvStatus(pRcvMsg); break; case ID_IMSA_EMC_CALL_SRV_STATUS_IND: (VOS_VOID)IMSA_CallProcIntraMsgEmcCallSrvStatus(pRcvMsg); break; default: IMSA_WARN_LOG("IMSA_IntraMsgDistr:Illegal Msg id!"); break; } }