| case UPMSG_ALARM:
printf(“Type=%d Ch= %d 收到线路告警消息\n“,pmsg->ChType, pmsg->ChIndex);? break; case DOWNMSG_SETPARAM: printf(“Type=%d Ch= %d 收到上传参数消息\n“,pmsg->ChType, pmsg->ChIndex);? break; default: printf(“Type=%d Ch= %d 收到未处理消息 msg=0x%x\n“,pmsg->ChType, pmsg->ChIndex,pmsg->MsgType); break; } } ◆ 编写各个需要处理的事件函数,用于处理对应的事件, 例如: //////////通道呼入处理 void ProcessCallMsg(CH *P,RMSG *pmsg) { RMSG ms=*pmsg;//暂时保存 printf(“Type= %d Ch= %d 呼入 %s ,被叫号码=%s,主叫号码(包括原被叫) =%s\n“,pmsg->ChType, pmsg->ChIndex,pmsg->Function==F_C_NORMAL “呼叫建立“:“重叠呼叫“, pmsg->GetCalled(),pmsg->GetCaller()); Ack(*pmsg);//对呼入应答摘机 time_t tt; time(&tt); tm *pt=localtime(&tt); char c[256]; sprintf(c,“今天是%d年%d月%d日。“,pt->tm_year+1900, pt->tm_mon+1,pt->tm_mday); PlayTTS(*pmsg,c,1,0); sprintf(c,“您拨的是%s第%d通道。“,GetChTypeStr(pmsg->ChType), pmsg->ChIndex); PlayTTS(*pmsg,c,0,0); //播放合成语音 if(ms.GetCallerLen()) { sprintf(c,“主叫号码是%s。“,ms.GetCaller()); PlayTTS(*pmsg,c,0,0); } if(ms.GetCalledLen()) { sprintf(c,“被叫号码是%s。“,ms.GetCalled()); PlayTTS(*pmsg,c,0,0); } |
| 上一页 [1][2][3] 4 [5][6] 下一页 |
