⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callqueue.h

📁 基于dialogic语音卡的IVR系统源代码
💻 H
字号:
// CallQueue.h: interface for the CCallQueue class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CALLQUEUE_H__AA971F99_AABF_4EBD_8C1D_6CC262DE6110__INCLUDED_)
#define AFX_CALLQUEUE_H__AA971F99_AABF_4EBD_8C1D_6CC262DE6110__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "apiuse.h"
#include "criticalresource.h"


//呼叫控制块
typedef struct tag_CallQueue {
	 
	
	 UCHAR sender_node; //发送方节点号
	 UCHAR sender_port; //发送方端口号
     UCHAR receiver_node; //接收方节点号
	 UCHAR receiver_port; //接收方端口号如IVR的PORT号为4等
	//以下四个为呼叫控制块,唯一标识一个呼叫
	 UCHAR sender_handle;// 发送方句柄
     USHORT sender_dsn;// 发送方Dsn
     UCHAR receiver_handle; // 接收方方句柄
     USHORT receiver_dsn; // 接收方Dsn
	 USHORT trunk_dsn;//中继通道号
     CALLID callID;                 //呼叫标识
	 UCHAR  CLI[13];             //主叫
	 UCHAR  CLD[13];             //被叫
}CallQueue,*LPCallQueue;

//对外消息体
enum CallType {
	CALLIN = 0,       //呼入 
	CALLOUT,          //呼出
    TRANSFER,         //呼叫转移 
	DISCONNECT,       //挂机
	UNKNOWMSG,          //其他消息
};

typedef struct tag_OutMsg {
	int nTrunk;        //中继号
	char Caller[20];   //主叫
	char Called[20];    //被叫
	CallType calltype;  //消息类型 
	BOOL bSuccess;       //消息调用成功标识

}OutMsg, *LPOutMsg;
class CCallQueue  
{

public:
	LPCallQueue FindByTrunk(int nTrunk);
	LPOutMsg getMsg();
	int AddMsg(LPOutMsg pMsg);
	LPCallQueue FindByMsgHead(LPCMessageHead pHead);
	int  Create(char *szQueueName);
	int ClearAll();
	int AddCallQueue(LPCallQueue pCallQueue);
	int RemoveCallQueue(LPCallQueue pCallQueue);
	CPtrList m_ptrCallList;
	CPtrList m_MsgList;       //存放呼叫信息
	CCriticalResource m_Lock;
	CCallQueue();
	virtual ~CCallQueue();

};

#endif // !defined(AFX_CALLQUEUE_H__AA971F99_AABF_4EBD_8C1D_6CC262DE6110__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -