C#实现IVR(基于东进的语音卡)-5
/**//// <summary>
/// 语音资源操作类型
/// </summary>
public enum VoiceOperatorType
{
/**//// <summary>
/// //没有语音操作
/// </summary>
OP_NoOperator = 0,
/**//// <summary>
/// //普通放音
/// </summary>
OP_Play = 1,
/**//// <summary>
/// //循环放音
/// </summary>
OP_LoopPlay = 2,
};
/**//// <summary>
/// 用户状态类型
/// </summary>
public enum USER_STATE
{
/**//// <summary>
/// 未摘机
/// </summary>
USR_OFFHOOK=0,
/**//// <summary>
/// 等待拨号
/// </summary>
USR_WAITDIAL=1,
/**//// <summary>
/// 拨号
/// </summary>
USR_DIAL=2,
/**//// <summary>
/// 结束
/// </summary>
USR_ENDSESSION=3,
/**//// <summary>
/// 等待语音
/// </summary>
USR_WAITONHOOK=4,
/**//// <summary>
/// 振铃
/// </summary>
USR_RING=5,
/**//// <summary>
/// 通话
/// </summary>
USR_CONNECT=6,
/**//// <summary>
/// 摘机中
/// </summary>
USR_ONHOOK = 50,
/**//// <summary>
/// 取消振铃
/// </summary>
USR_EXRING=51,
/**//// <summary>
/// 退出通话
/// </summary>
USR_EXCONNECT=52
};
/**//// <summary>
/// 中继信道状态
/// </summary>
public enum TRUNK_ST
{
/**//// <summary>
/// 空闲状态
/// </summary>
TRK_FREE=0, //free state
/**//// <summary>
/// 准备状态
/// </summary>
TRK_READY=1, //mfc stop state
/**//// <summary>
/// 振铃状态
/// </summary>
TRK_RING=2, //ring user
/**//// <summary>
/// 拨号状态
/// </summary>
TRK_CALLOUT=3, //user dial over, callout
/**//// <summary>
/// 等待摘机
/// </summary>
TRK_WAITUSEROFFHOOK=4, //ring user, wait offhok
/**//// <summary>
/// 摘机状态
/// </summary>
TRK_WAITUSERONHOOK=5,
/**//// <summary>
/// 结束谈话
/// </summary>
TRK_ENDSESSION=6, //end a talk
/**//// <summary>
/// 链接状态
/// </summary>
TRK_CONNECT=7,
/**//// <summary>
/// 为初始化状态
/// </summary>
TRK_NULLSTATE=8,
/**//// <summary>
/// 播放状态
/// </summary>
TRK_PLAY=9,
/**//// <summary>
/// 呼入状态
/// </summary>
TRK_CALLIN=10,
/**//// <summary>
/// 摘机状态
/// </summary>
TRK_ONHOOK=11,
/**//// <summary>
/// 挂机状态
/// </summary>
TRK_HANGUP=12,
};
/**//// <summary>
/// 用户状态
/// </summary>
public struct UR_ST
{
public int ConnUrID;
public USER_STATE ST;
public int ConnTrID;
}
/**//// <summary>
/// 对收到的ISUP消息,获取其中的原因值
/// </summary>
public enum CAUSE_VALUE:int
{
/**//// <summary>
/// 中继通道的范围越界
/// </summary>
RSN_PCMNULL_CALLER=-1,
/**//// <summary>
/// 收到的消息中不含有原因指示码,或没有新的ISUP消息到达
/// </summary>
RSN_UNKOWNNUM_ISUP=0,
/**//// <summary>
/// //空号
/// </summary>
RSN_UNALLOCATED_NUMBER = 0x01,
/**//// <summary>
/// //正常的呼叫清除
/// </summary>
RSN_NORMAL_CALL_CLEARING = 0x10,
/**//// <summary>
/// //用户忙
/// </summary>
RSN_USER_BUSY = 0x11,
/**//// <summary>
/// //无用户响应
/// </summary>
RSN_NO_USER_RESPONDING = 0x12,
/**//// <summary>
/// //被叫无应答,超时未摘机
/// </summary>
RSN_USER_ALERTING_NO_ANSWER = 0x13,
/**//// <summary>
/// //呼叫拒绝
/// </summary>
RSN_CALL_REJECTED = 0x15,
/**//// <summary>
/// //不完整的号码
/// </summary>
RSN_INCOMPLETE_NUMBER = 0x1c,
/**//// <summary>
/// //正常,未规定
/// </summary>
RSN_NORMAL_NO_SET = 0x1f,
/**//// <summary>
/// //无可用的电路
/// </summary>
RSN_NO_CIRCUIT_CHANNELAVAILABLE = 0x22,
/**//// <summary>
/// //请求的电路不可用
/// </summary>
RSN_REQUESTEDCIRCUIT_CHANNEL_NOTAVAILABLE = 0x2c,
/**//// <summary>
/// //定时器超时恢复
/// </summary>
RSN_RECOVERY_ON_TIME_EXPIRY = 0x66,
/**//// <summary>
/// //本地释放电路
/// </summary>
RSN_LOCAL_RLC = 0x20,
/**//// <summary>
/// //电路复原
/// </summary>
RSN_RECEIVE_RSC = 0x21,
};
/**//// <summary>
/// 信道状态
/// </summary>
public struct TRK_ST
{
public TRUNK_ST ST;
public int ConnUrID;
public int ConnTrID;
public string DialNum;
}
public struct PR
{
[MarshalAs(UnmanagedType.ByValArray,SizeConst=32)]
public char[] TelarrChar;
public char[] CallarrChar;
}
public struct TelNum
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] arrTelNum;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] arrCallNum;
}
}
原作地址:http://www.cnblogs.com/cnherman/archive/2008/07/08/1237937.html
C#实现IVR(基于东进的语音卡)-5相关推荐
- C#实现IVR(基于东进的语音卡)-3
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Runtim ...
- C#实现IVR(基于东进的语音卡)-1
上一年在公司做了一个小小的IVR项目.觉得这是一个和硬件驱动交互编程的不错例子. 共享一下.也讨论一下. 代码:(这个是调用系统驱动的DLL) using System; using System.T ...
- Delphi之东进数字语音卡(SS1)可复用源码
Delphi之东进数字语音卡(SS1)可复用源码 作者:成晓旭 Blog:http://blog.csdn.net/cxxsoft (声明:欢迎转载,请保证文章的完整性) 由于工作原因,本人将不在从事 ...
- Delphi之东进模拟语音卡(D160A)可复用源码
Delphi之东进模拟语音卡(D160A)可复用源码 作者:成晓旭 Blog:http://blog.csdn.net/cxxsoft (声明:欢迎转载,请保证文章的完整性) 设计简介: 1. 将 ...
- Delphi之东进数字语音卡(SS1)可复用源码 1
Delphi之东进数字语音卡(SS1)
- Delphi之东进模拟语音卡(D160A)可复用源码(转)
计 简介: 1. 将卡.通道分别单独进行设计与封装. 2. 所有的外部操作接口都封装在卡类这一类. 3. 在我的项目中,在卡类这一级还增加了适配器或者代理,分别实现了Adapter或Pro ...
- 东进语音卡 java_东进语音卡的声音文件格式
转自东进论坛 语音卡只支持8K8bit a-law 单声道的 PCM.wave.mp3,您的立体声的mp3需要转换成单声道,8k 8bit的才能播放 问:怎么样把wav格式的文件转换成东进卡能播放的格 ...
- 企业级:基于语音卡呼叫中心系统 CTI语音服务器,电话排队系统,电话转接系统,电话录音系统
<CTI通讯接口软件D081A>用 户 手 册 语音服务器软件源代码+用户手册+数据结构+开发文档 有需要的给我留言! 我的QQ 7732 4199 本系统基本上可以适用于 有语 ...
- 基于STM32电子钟语音报时
基于STM32电子钟语音报时 1.硬件平台 CPU:STM32F103ZE 屏幕:3.5寸TFTLCD屏 语音播报: VS1053 SD卡.外扩Sram 2.功能实现 本示例主要设计两个界面:时间 ...
最新文章
- html抽取正文内容 c++,如何用C/C++获取html或shtml文件的内容?
- linux sendto 对方关闭后性能,Gateway的请问sendToUid是否有性能问题?
- 【NLP】竞赛必备的NLP库
- Colaboratory挂载google drive的两种网盘
- 通过#define连接字符串的特殊方法[转]
- 基于Spring Security的认证授权_认证原理_授权流程_Spring Security OAuth2.0认证授权---springcloud工作笔记126
- 常见的计算机端口及服务
- 取整函数 --- 以Python为例
- 计算机网络线接法,电脑网线水晶头接法图解
- iOS NSFileManager文件管理(沙盒)
- BAT脚本: ping检测网络稳定性 与 取命令结果的指定行方法 与 将变量内容追加写入txt文件方法
- 斯坦福大学-自然语言处理入门 笔记 第十四课 CGSs和PCFGs
- 码云上最棒的Java管理后台系统
- Graph Database 图数据库
- Web Worker 初探
- 悲剧艺术! finalize方法实现对象的自我拯救
- 【Unity3D】卷轴特效
- 教你如何下载在线视频
- [深度学习] CCPD车牌数据集介绍
- php新闻网站毕设论文,校园新闻发布毕业设计网站php实现
热门文章
- fcitx重启 linux_fcitx无法启动
- linux系统结构包括什么
- 空心字HollowFont
- 自动设计引物的Python小程序
- 计算机论文阅读报告范文,论文读书报告范文_论文阅读报告范文_10篇论文阅读报告...
- 怎么把ppt弄成链接的形式_怎么把PPT转换成PDF?这两个工具可以实现PPT转PDF
- win7计算机里桌面菜单没有反应,win7系统鼠标右键点击桌面没反应怎么办 鼠标右键没反应解决方法...
- 京东商品抢购软件思路框架图
- Python3.7版---双人联机雷霆战机(2D特效+音效+道具+Linux系统)
- 水仙花问题的两种解决方法