// ------------------------------------------------------- void DispEventInfo ( Acs_Evt_t *pAcsEvt ) { char TmpStr[512] = {0}; char TmpS[256] = {0}; char SendTiffFileName[ACS_MAX_FILE_NAME_LEN]; char RecvTiffFileName[ACS_MAX_FILE_NAME_LEN]; char dtmf='?'; Acs_Dev_List_Head_t * pAcsDevList = NULL; Acs_UniFailure_Data * pAcsUniFailure = NULL; Acs_GeneralProc_Data *pGeneralData = NULL; Acs_CallControl_Data *pCallControl = NULL; Acs_IO_Data *pIOData = NULL; Acs_CAS_ExtraInfo_t *pCAS_ExtraInfo = NULL; Acs_AnalogInterface_Data* pAnalogInterface=NULL; Acs_CSPDataReq_Data* pCspReqData=NULL; Acs_ParamProc_Data* pSetParam=NULL; Acs_ParamProc_Data* pGetParam=NULL; Acs_MediaProc_Data* pMedia=NULL; Acs_ParamData_UserReadXmsBoardInfo* pBoardInfor=NULL; sprintf ( TmpStr, "" ); strcat ( TmpStr, GetString_EventType ( pAcsEvt->m_s32EventType ) ); Acs_MediaProc_Data * pMediaData = (Acs_MediaProc_Data *)FetchEventData(pAcsEvt); switch ( pAcsEvt->m_s32EventType ) { case XMS_EVT_GETPARAM: { pGetParam = (Acs_ParamProc_Data*)FetchEventData(pAcsEvt); pBoardInfor = (Acs_ParamData_UserReadXmsBoardInfo*)((char*)pGetParam+sizeof(Acs_ParamProc_Data)); } break; case XMS_EVT_DEV_TIMER: { char ioFskBuf[512]; int iFskLen; char MsgStr[512]; memset(ioFskBuf,0,sizeof(ioFskBuf)); pdlg->GetDlgItemText(IDC_EDIT_CALLINGNUM,MsgStr,sizeof(MsgStr)); EncodeFskCaller(MsgStr,ioFskBuf,&iFskLen); int r = XMS_ctsSendIOData ( g_acsHandle, &pAcsEvt->m_DeviceID, XMS_IO_TYPE_FSK, (DJ_U16)iFskLen, (DJ_Void *) ioFskBuf ); if ( r < 0 ) { sprintf ( MsgStr, "X(%d) XMS_ctsSendIOData( %s, %d, [%s] ) FAIL! (%s)", r, "GTG ", g_iLen, TmpStr, GetString_DeviceAll (&pAcsEvt->m_DeviceID) ); AddMsg ( MSG_TYPE_FUNCTION, MsgStr ); } else { sprintf ( MsgStr, "XMS_ctsSendIOData( %s, %d, [%s] ) OK! (%s)", "GTG ", g_iLen, TmpStr, GetString_DeviceAll (&pAcsEvt->m_DeviceID) ); AddMsg ( MSG_TYPE_FUNCTION, MsgStr ); } } break; case XMS_EVT_BUILDINDEX: pMedia=(Acs_MediaProc_Data*)FetchEventData(pAcsEvt); sprintf(TmpS," EvtState=%d taskID=%d fileIndex=%u,%x",pMedia->m_s32AcsEvtState,pMedia->m_u8TaskID,pMedia->m_u32CurFileIndex,pMedia->m_u32CurFileIndex); strcat(TmpStr,TmpS); break; case XMS_EVT_PLAY: pMedia=(Acs_MediaProc_Data*)FetchEventData(pAcsEvt); sprintf(TmpS," EvtState=%d Errcode=%d taskID=%d fileIndex=%d",pMedia->m_s32AcsEvtState,pMedia->m_s32AcsEvtErrCode,pMedia->m_u8TaskID,pMedia->m_u32CurFileIndex); strcat(TmpStr,TmpS); break; case XMS_EVT_SETPARAM: pSetParam = (Acs_ParamProc_Data*)FetchEventData(pAcsEvt); sprintf(TmpS," CmdType=[%d]",pSetParam->m_u16ParamCmdType); strcat(TmpStr,TmpS); break; case XMS_EVT_UNLINKDEVICE: pGeneralData = (Acs_GeneralProc_Data*) FetchEventData(pAcsEvt); break; case XMS_EVT_PLAYCSPREQ: // pCspReqData = (Acs_CSPDataReq_Data*)FetchEventData(pAcsEvt); sprintf(TmpS,"CSPPLAYREQ datalen =%d",pCspReqData->m_u16ReqCspDataLen); strcat(TmpStr,TmpS); break; case XMS_EVT_ANALOG_INTERFACE: pAnalogInterface = (Acs_AnalogInterface_Data*)FetchEventData(pAcsEvt); sprintf(TmpS,"(%d,%s)",pAnalogInterface->m_u8AnalogInterfaceState,GetString_AnalogInterfaceState(pAcsEvt->m_DeviceID.m_s16DeviceSub,pAnalogInterface->m_u8AnalogInterfaceState)); strcat(TmpStr,TmpS); break; case XMS_EVT_SENDIODATA: sprintf ( TmpS, " (%s,%s,MachineID:%2d,ModuleID:%3d,Ch:%d)", GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceMain,pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8MachineID, pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID ); /*strcat ( TmpStr, TmpS ); { CmdParamData_AnalogTrunk_t cmdAnalogTrunk; void*p =(void*)&cmdAnalogTrunk; ; XMS_ctsSetParam(g_acsHandle,&pAcsEvt->m_DeviceID,ANALOGTRUNK_PARAM_UNBINDVOC,sizeof(CmdParamData_AnalogTrunk_t),p); //// }*/ strcat(TmpStr,TmpS); break; case XMS_EVT_LINKDEVICE: case XMS_EVT_CLEARCALL: sprintf ( TmpS, " (%s,%s,MachineID:%2d,ModuleID:%3d,Ch:%d)", GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceMain,pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8MachineID, pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_OPEN_STREAM: break; case XMS_EVT_QUERY_DEVICE: pAcsDevList = (Acs_Dev_List_Head_t *)FetchEventData(pAcsEvt); sprintf ( TmpS, " (%s,%2d,%3d)", GetString_DeviceMain(pAcsDevList->m_s32DeviceMain), pAcsDevList->m_s32ModuleID, pAcsDevList->m_s32DeviceNum ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_QUERY_ONE_DSP_START: case XMS_EVT_QUERY_ONE_DSP_END: sprintf ( TmpS, " (%d)", pAcsEvt->m_DeviceID.m_s8ModuleID ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_OPEN_DEVICE: { pGeneralData = (Acs_GeneralProc_Data*)FetchEventData(pAcsEvt); int isize = sizeof(Acs_GeneralProc_Evt); isize = sizeof(Acs_GeneralProc_Data); sprintf ( TmpS, "(%s) CallID(%d,%d)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), pAcsEvt->m_DeviceID.m_CallID.m_s32FlowType, pAcsEvt->m_DeviceID.m_CallID.m_s32FlowChannel ); strcat ( TmpStr, TmpS ); } break; case XMS_EVT_DEVICESTATE: pGeneralData = (Acs_GeneralProc_Data *)FetchEventData(pAcsEvt); sprintf ( TmpS, "(%s) S=0x%X(%s)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), pGeneralData->m_s32DeviceState, GetString_DeviceState(pGeneralData->m_s32DeviceState) ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_CALLIN: pCallControl = (Acs_CallControl_Data *)FetchEventData(pAcsEvt); sprintf ( TmpS, "(%s) (%s,%s)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), pCallControl->m_s8CallingNum, pCallControl->m_s8CalledNum); strcat ( TmpStr, TmpS ); break; case XMS_EVT_CALLOUT: pCallControl = (Acs_CallControl_Data *)FetchEventData(pAcsEvt); sprintf ( TmpS, "(%s) EvtState=%d, ErrCode=%d,ClearCause=%d) calling=%s called=%s", GetString_DeviceAll(&pAcsEvt->m_DeviceID), pCallControl->m_s32AcsEvtState, pCallControl->m_s32AcsEvtErrCode, pCallControl->m_s32CallClearCause,pCallControl->m_s8CallingNum,pCallControl->m_s8CalledNum ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_RECVIODATA: { pIOData = (Acs_IO_Data *)FetchEventData(pAcsEvt); //strcat ( TmpStr, TmpS ); //AddMsg ( MSG_TYPE_EVENT, TmpStr ); pdlg->GetDlgItem ( IDC_EDIT_SENDFAX )->GetWindowText ( SendTiffFileName, ACS_MAX_FILE_NAME_LEN-1 ); pdlg->GetDlgItem ( IDC_EDIT_RECEIVEFAX )->GetWindowText ( RecvTiffFileName, ACS_MAX_FILE_NAME_LEN-1 ); //sprintf ( s8LocalID, "DJ:83636988" ); if( pAcsEvt->m_DeviceID.m_s16DeviceMain == XMS_DEVMAIN_VOIP) { //Fax Process....begin switch (pIOData->m_u16IoType) { case XMS_IO_TYPE_VOIP_H245UII: if (pIOData->m_u16IoDataLen == sizeof(Acs_VoIP_H245UII)) { Acs_VoIP_H245UII *h245Uii = (Acs_VoIP_H245UII *)FetchIOData(pAcsEvt); dtmf = h245Uii->m_s8Signal; } sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, dtmf ); break; case XMS_IO_TYPE_VOIP_SIPINFO: if (pIOData->m_u16IoDataLen == sizeof(Acs_VoIP_SIPINFO)) { Acs_VoIP_SIPINFO *sipInfo = (Acs_VoIP_SIPINFO *)FetchIOData(pAcsEvt); if (strcmp(sipInfo->m_s8ContentType, "application/dtmf") == 0) sscanf(sipInfo->m_s8Body, "dtmf=%c", &dtmf); } sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, dtmf ); break; case XMS_IO_TYPE_VOIP_RTPDTMF: if (pIOData->m_u16IoDataLen == sizeof(Acs_VoIP_RTPDTMF)) { Acs_VoIP_RTPDTMF *rtpDtmf = (Acs_VoIP_RTPDTMF *)FetchIOData(pAcsEvt); dtmf = rtpDtmf->m_s8EventChar; } sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, dtmf ); break; case XMS_IO_TYPE_VOIP_T38START: if (pIOData->m_u16IoDataLen == sizeof(DJ_S32)) { DJ_S32 *ret = (DJ_S32 *)FetchIOData(pAcsEvt); if (*ret == 0) { pdlg->UpdateData(); if (g_iSendRecv == 0)//SendFax { //pdlg->m_lstIP.SetItemText(iDevice, 3, _T("Send Fax")); XMS_ctsSendFax(g_acsHandle, &DevOpened[iOpenedIndex1].DevID, &DevOpened[iOpenedIndex2].DevID, //&g_deviceVoIP[iDevice].device, (DJ_S8 *)(LPCTSTR)SendTiffFileName, "1234", NULL); sprintf ( TmpS, "(%s) (%s,%d) T38START SENDFAX", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen ); } else { //pdlg->m_lstIP.SetItemText(iDevice, 3, _T("Recv Fax")); XMS_ctsReceiveFax(g_acsHandle, &DevOpened[iOpenedIndex1].DevID, &DevOpened[iOpenedIndex2].DevID, //&g_deviceVoIP[iDevice].device, (DJ_S8 *)(LPCTSTR)RecvTiffFileName, "1234", NULL); sprintf ( TmpS, "(%s) (%s,%d) T38START RECVFAX", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen ); } } } break; //default: // sprintf ( TmpS, "(%s) (%s,%d) INVALID IOTYPE FOR VOIP", GetString_DeviceAll(&pAcsEvt->m_DeviceID), // GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen ); // break; } //Fax Process....end } else //NO IP Device { char *p; p = (char *)(pIOData) + sizeof(Acs_IO_Data); switch( pIOData->m_u16IoType) { case XMS_IO_TYPE_DTMF: sprintf ( TmpS, "(%s) (%s,%d) [%s]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, p ); break; case XMS_IO_TYPE_GTG: sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, *p ); break; case XMS_IO_TYPE_FSK: sprintf ( TmpS, "(%s) (%s,Len:%d) [%d][%d][%d][%s]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, p[0],p[1],p[2],p ); break; case XMS_IO_TYPE_PVD: sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), GetString_IOType(pIOData->m_u16IoType), pIOData->m_u16IoDataLen, *p ); break; default: break; } } } strcat ( TmpStr, TmpS ); //AddMsg ( MSG_TYPE_EVENT, TmpStr ); break; case XMS_EVT_CAS_MFC_START: case XMS_EVT_CAS_MFC_END: pCAS_ExtraInfo = (Acs_CAS_ExtraInfo_t *)FetchEventData(pAcsEvt); sprintf ( TmpS, "(%s) KA=%d, KD=%d)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), pCAS_ExtraInfo->m_u8KA, pCAS_ExtraInfo->m_u8KD ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_UNIFAILURE: pAcsUniFailure = (Acs_UniFailure_Data *)FetchEventData(pAcsEvt); sprintf ( TmpS, ": %s(0x%X)", GetString_ErrorCode(pAcsUniFailure->m_s32AcsEvtErrCode), pAcsUniFailure->m_s32AcsEvtErrCode ); strcat ( TmpStr, TmpS ); if ( pAcsEvt->m_DeviceID.m_s16DeviceMain != 0 ) { //Unifailure event that some device link each other sprintf ( TmpS, " (%s)", GetString_DeviceAll(&pAcsEvt->m_DeviceID) ); strcat ( TmpStr, TmpS ); } break; default: break; } AddMsg ( MSG_TYPE_EVENT, TmpStr ); }
DJ_Void EvtHandler(DJ_U32 esrParam){ Acs_Evt_t * pAcsEvt = NULL; Acs_Dev_List_Head_t * pAcsDevList = NULL; DJ_S8 s8DspModID; DJ_S32 s32Num; pAcsEvt = (Acs_Evt_t *) esrParam; VOICE_STRUCT * pOneVoice; TRUNK_STRUCT * pOneTrunk; char TmpStr[256]; Acs_GeneralProc_Data *pGeneralData = NULL; switch ( pAcsEvt->m_s32EventType ) { case XMS_EVT_QUERY_DEVICE: { pAcsDevList = ( Acs_Dev_List_Head_t *) FetchEventData(pAcsEvt); s8DspModID = (DJ_S8) pAcsDevList->m_s32ModuleID; s32Num = pAcsDevList->m_s32DeviceNum; if (s8DspModID == cfg_iPartWorkModuleID) { switch (pAcsDevList->m_s32DeviceMain) { case XMS_DEVMAIN_VOICE: if ( (AllDeviceRes[s8DspModID].lVocNum == 0) && (s32Num > 0) ) // the resources new added { AllDeviceRes[s8DspModID].pVoice = new VOICE_STRUCT[s32Num]; if( AllDeviceRes[s8DspModID].pVoice ) { AllDeviceRes[s8DspModID].lVocNum = s32Num; AllDeviceRes[s8DspModID].lVocOpened = 0; AllDeviceRes[s8DspModID].lVocFreeNum = 0; memset ( AllDeviceRes[s8DspModID].pVoice, 0, sizeof(VOICE_STRUCT)*s32Num ); DeviceID_t *pDev; pDev = (DeviceID_t *)((BYTE *)pAcsDevList + sizeof(Acs_Dev_List_Head_t)); for ( int i = 0; i < s32Num; i ++ ) { AllDeviceRes[s8DspModID].pVoice[i].deviceID = pDev[i]; AllDeviceRes[s8DspModID].pVoice[i].State = VOC_WAITOPEN; } } } break; case XMS_DEVMAIN_INTERFACE_CH: if ( (AllDeviceRes[s8DspModID].lTrunkNum == 0) && (s32Num > 0) ) // the resources new added { AllDeviceRes[s8DspModID].pTrunk = new TRUNK_STRUCT[s32Num]; if( AllDeviceRes[s8DspModID].pTrunk ) { AllDeviceRes[s8DspModID].lTrunkNum = s32Num; AllDeviceRes[s8DspModID].lTrunkOpened = 0; memset ( AllDeviceRes[s8DspModID].pTrunk, 0, sizeof(TRUNK_STRUCT)*s32Num ); DeviceID_t *pDev; pDev = (DeviceID_t *)((BYTE *)pAcsDevList + sizeof(Acs_Dev_List_Head_t)); for (int i = 0; i < s32Num; i ++ ) { AllDeviceRes[s8DspModID].pTrunk[i].deviceID = pDev[i]; AllDeviceRes[s8DspModID].pTrunk[i].State = TRK_WAITOPEN; } } } break; } } } break; case XMS_EVT_QUERY_ONE_DSP_END: //一个DSP上的资源搜索完毕,打开应用需要的设备 if (pAcsEvt->m_DeviceID.m_s8ModuleID == cfg_iPartWorkModuleID) { AllDeviceRes[pAcsEvt->m_DeviceID.m_s8ModuleID].lFlag = 1; // this DSP can use s8DspModID = (DJ_S8) pAcsEvt->m_DeviceID.m_s8ModuleID; // pVoice for ( int i = 0; i < AllDeviceRes[s8DspModID].lVocNum; i++ ) { pOneVoice = &AllDeviceRes[s8DspModID].pVoice[i]; if ( pOneVoice->State == VOC_WAITOPEN ) // not Open yet { if ( XMS_ctsOpenDevice ( g_acsHandle, &pOneVoice->deviceID, NULL ) < 0 ) { MessageBox(NULL, "Voice open fail!", "XMS_ctsOpenDevice", MB_OK ) ; } } } // pTrunk pdlg->m_ListTrunk.DeleteAllItems (); for ( int j = 0; j < AllDeviceRes[s8DspModID].lTrunkNum; j++ ) { pOneTrunk = &AllDeviceRes[s8DspModID].pTrunk[j]; pOneTrunk->iSeqID = j; if ( pOneTrunk->State == TRK_WAITOPEN ) // not Open yet { if ( XMS_ctsOpenDevice ( g_acsHandle, &pOneTrunk->deviceID, NULL ) < 0 ) { MessageBox(NULL, "Trunk open fail!", "XMS_ctsOpenDevice", MB_OK ) ; } } //界面显示中继信息 sprintf ( TmpStr, "%3d", j ); pdlg->m_ListTrunk.InsertItem ( j, TmpStr ); sprintf ( TmpStr, "%d,%d", pOneTrunk->deviceID.m_s8ModuleID, pOneTrunk->deviceID.m_s16ChannelID ); pdlg->m_ListTrunk.SetItemText ( j, 1, TmpStr ); pdlg->m_ListTrunk.SetItemText ( j, 2, GetString_DeviceSub( pOneTrunk->deviceID.m_s16DeviceSub) ); pdlg->m_ListTrunk.SetItemText ( j, 3, GetString_LineState(pOneTrunk->iLineState) ); } } break; case XMS_EVT_QUERY_REMOVE_ONE_DSP_END: break; case XMS_EVT_QUERY_DEVICE_END: // Query Device List End break; case XMS_EVT_OPEN_DEVICE: OpenDeviceOK(&pAcsEvt->m_DeviceID ); break; case XMS_EVT_CLOSE_DEVICE: // before Delete DSP, DSP send event CloseDevice to the APP; call XMS_ctsCloseDevicey() can generate this Event break; case XMS_EVT_DEVICESTATE: pGeneralData = (Acs_GeneralProc_Data *)FetchEventData(pAcsEvt); if ( pAcsEvt->m_DeviceID.m_s16DeviceMain == XMS_DEVMAIN_INTERFACE_CH ) { pOneTrunk = &AllDeviceRes[pAcsEvt->m_DeviceID.m_s8ModuleID].pTrunk[pAcsEvt->m_DeviceID.m_s16ChannelID]; pOneTrunk->iLineState = pGeneralData->m_s32DeviceState; pdlg->m_ListTrunk.SetItemText ( pOneTrunk->iSeqID, 3, GetString_LineState(pOneTrunk->iLineState) ); } break; case XMS_EVT_UNIFAILURE: break; default: if ( pAcsEvt->m_DeviceID.m_s16DeviceMain == XMS_DEVMAIN_INTERFACE_CH && pAcsEvt->m_DeviceID.m_s16DeviceSub == XMS_DEVSUB_ANALOG_USER) { pOneTrunk = &AllDeviceRes[pAcsEvt->m_DeviceID.m_s8ModuleID].pTrunk[pAcsEvt->m_DeviceID.m_s16ChannelID]; UserWork( pOneTrunk, pAcsEvt ); }else if (pAcsEvt->m_DeviceID.m_s16DeviceMain == XMS_DEVMAIN_VOICE) { DeviceID_t *pDevID; pOneVoice = &AllDeviceRes[pAcsEvt->m_DeviceID.m_s8ModuleID].pVoice[pAcsEvt->m_DeviceID.m_s16ChannelID]; pDevID = &pOneVoice->UsedDevID; if ( pDevID->m_s16DeviceMain == XMS_DEVMAIN_INTERFACE_CH && pDevID->m_s16DeviceSub == XMS_DEVSUB_ANALOG_USER) { pOneTrunk = &AllDeviceRes[pDevID->m_s8ModuleID].pTrunk[pDevID->m_s16ChannelID]; UserWork ( pOneTrunk, pAcsEvt ); } } break; } }
// ------------------------------------------------------------------------------------------------- void ReDrawAll (void) { char TmpStr[256]; int i, iDispRow; TRUNK_STRUCT *pOneTrunk; // m_ListMain pdlg->m_ListMain.DeleteAllItems (); for ( i = 0; i < g_iTotalTrunk; i ++ ) { iDispRow = CalDispRow ( i ); if ( iDispRow < 0 ) continue; // 固定不变的内容 sprintf ( TmpStr, "%3d", iDispRow ); pdlg->m_ListMain.InsertItem ( iDispRow, TmpStr ); sprintf ( TmpStr, "%d,%d", MapTable_Trunk[i].m_s8ModuleID, MapTable_Trunk[i].m_s16ChannelID ); pdlg->m_ListMain.SetItemText ( iDispRow, 1, TmpStr ); pOneTrunk = &M_OneTrunk(MapTable_Trunk[i]); pdlg->m_ListMain.SetItemText ( iDispRow, 2, GetString_DeviceSub( pOneTrunk->deviceID.m_s16DeviceSub) ); // 可能改变的内容 DrawMain_LineState ( pOneTrunk ); DrawMain_State ( pOneTrunk ); DrawMain_CallInfo ( pOneTrunk ); DrawMain_DTMF ( pOneTrunk ); } // m_ListPcm pdlg->m_ListPcm.DeleteAllItems (); for ( i = 0; i < g_iTotalPcm; i ++ ) { sprintf ( TmpStr, "%3d", i ); pdlg->m_ListPcm.InsertItem ( i, TmpStr ); // 可能改变的内容 DrawPcm_TypeAndAlarm ( &M_OnePcm(MapTable_Pcm[i]) ); } // m_ListCount pdlg->m_ListCount.DeleteAllItems (); // 先添加行 pdlg->m_ListCount.InsertItem ( 0, "Total" ); for ( i = 0; i < g_iTotalModule; i ++ ) { sprintf ( TmpStr, "%3d", i ); pdlg->m_ListCount.InsertItem ( i+1, TmpStr ); sprintf ( TmpStr, "%3d", MapTable_Module[i] ); pdlg->m_ListCount.SetItemText ( i+1, 1, TmpStr ); } // 再显示内容 for ( i = 0; i < g_iTotalModule; i ++ ) { DrawCount_Pcm ( MapTable_Module[i] ); DrawCount_Trunk ( MapTable_Module[i] ); DrawCount_Voc ( MapTable_Module[i] ); } }
void DispEventInfo ( Acs_Evt_t *pAcsEvt ) { char TmpStr[256]={0}; char TmpS[256]={0}; DeviceID_t *pLinkTrkDevID; Acs_Dev_List_Head_t * pAcsDevList = NULL; Acs_UniFailure_Data * pAcsUniFailure = NULL; Acs_GeneralProc_Data * pAcsProcData=NULL; sprintf ( TmpStr, "EVT(%4d) : ", pAcsEvt->m_s32EvtSize ); strcat ( TmpStr, GetString_EventType ( pAcsEvt->m_s32EventType ) ); switch ( pAcsEvt->m_s32EventType ) { case XMS_EVT_OPEN_STREAM: break; case XMS_EVT_CALLOUT: case XMS_EVT_CALLIN: case XMS_EVT_ANALOG_INTERFACE: case XMS_EVT_LINKDEVICE: case XMS_EVT_UNLINKDEVICE: case XMS_EVT_SETPARAM: case XMS_EVT_PLAY: case XMS_EVT_RECORD: case XMS_EVT_OPEN_DEVICE: case XMS_EVT_CONTROLPLAY: case XMS_EVT_CONTROLRECORD: case XMS_EVT_CLEARCALL: case XMS_EVT_ANSWERCALL: case XMS_EVT_CAS_MFC_START: case XMS_EVT_CAS_MFC_END: case XMS_EVT_SENDIODATA: case XMS_EVT_DEV_TIMER: sprintf ( TmpS, "(%s, %s, %d, %d)", GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID); strcat ( TmpStr, TmpS ); break; case XMS_EVT_DEVICESTATE: { char StateStr[100]={0}; pAcsProcData = (Acs_GeneralProc_Data *)FetchEventData(pAcsEvt); GetString_LineState ( StateStr, pAcsProcData->m_s32DeviceState ); sprintf ( TmpS, "(%s, %s, %d, %d), %s", GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID, StateStr); strcat ( TmpStr, TmpS ); } break; case XMS_EVT_RECVIODATA: { char *p; Acs_IO_Data *pIOData = NULL; pIOData = (Acs_IO_Data *)FetchEventData(pAcsEvt); pLinkTrkDevID = &M_OneVoice(pAcsEvt->m_DeviceID).UsedDevID; if ( ( pIOData->m_u16IoType == XMS_IO_TYPE_DTMF ) && ( pIOData->m_u16IoDataLen > 0 ) ) { p = (char *)FetchIOData(pAcsEvt); sprintf(TmpS,"[%c], (%s, %s, %d, %d), LinkTrk(%s, %s, %d, %d)",*p, GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID, GetString_DeviceMain(pLinkTrkDevID->m_s16DeviceMain), GetString_DeviceSub(pLinkTrkDevID->m_s16DeviceSub), pLinkTrkDevID->m_s8ModuleID, pLinkTrkDevID->m_s16ChannelID); strcat ( TmpStr, TmpS ); }else if ( (pIOData->m_u16IoType == XMS_IO_TYPE_FSK) && (pIOData->m_u16IoDataLen > 0 )) { p = (char *)FetchIOData(pAcsEvt); sprintf(TmpS,"[%s], (%s, %s, %d, %d), LinkTrk(%s, %s, %d, %d)",p, GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID, GetString_DeviceMain(pLinkTrkDevID->m_s16DeviceMain), GetString_DeviceSub(pLinkTrkDevID->m_s16DeviceSub), pLinkTrkDevID->m_s8ModuleID, pLinkTrkDevID->m_s16ChannelID); strcat ( TmpStr, TmpS ); }else { sprintf(TmpS,", m_u16IoType:%d, (%s, %s, %d, %d)", pIOData->m_u16IoType, GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub), pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID); strcat ( TmpStr, TmpS ); } } break; case XMS_EVT_QUERY_DEVICE: pAcsDevList = (Acs_Dev_List_Head_t *) FetchEventData(pAcsEvt); sprintf ( TmpS, " (%s,%2d,%3d)", GetString_DeviceMain(pAcsDevList->m_s32DeviceMain), pAcsDevList->m_s32ModuleID, pAcsDevList->m_s32DeviceNum ); strcat ( TmpStr, TmpS ); break; case XMS_EVT_UNIFAILURE: pAcsUniFailure = (Acs_UniFailure_Data *) FetchEventData(pAcsEvt); sprintf ( TmpS, ": %s(0x%X) dev=(%s, %d, %d), %d ?=? %d+%d", GetString_ErrorCode(pAcsUniFailure->m_s32AcsEvtErrCode), pAcsUniFailure->m_s32AcsEvtErrCode, GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain), pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID, pAcsEvt->m_s32EvtSize, sizeof(Acs_Evt_t), sizeof(Acs_UniFailure_Data) ); strcat ( TmpStr, TmpS ); break; default: break; } WriteLog(LEVEL_DEBUG, TmpStr); }