<HTML>
<HEAD>
<TITLE> 浏览器应用程序调用示例 </TITLE>
IAXOCX Test : Init->Register->Dial->hangUp->ShutDown
线路接通后可以直接按键盘数字键发送DTMF,操作IVR菜单。
<a href="http://www.ipxchina.cn">more info...</a>
</HEAD>
<script language="javascript">
var is_initOk=false;
function Register(){
try
{
if (!is_initOk)
alert("Please init it!");
MVBPhone.HostName=HostName.value;
MVBPhone.Port=Port.value;
MVBPhone.UserID=UserID.value;
MVBPhone.Password=Password.value;
dispRegistration.value="Registering to:"+MVBPhone.hostName+"...";
MVBPhone.Register();
}
catch(e)
{
;
}
return;
}
function Init(){
try
{
var retvalue;
if (is_initOk)
{
alert("Already inited!");
return;
}
retvalue=MVBPhone.InitIax(1);
if (retvalue==0){
is_initOk=true;
AudioDevice();
alert("init ok!");
}
}
catch(e)
{
;
}
return;
}
function Dial(){
try
{
if (!is_initOk)
alert("Please init firstly!");
else
MVBPhone.Dial(dialnumber.value);
}
catch(e)
{
;
}
return;
}
function ShutDown(){
try
{
if (is_initOk)
MVBPhone.ShutDown();
is_initOk=false;
}
catch(e)
{
;
}
return;
}
function Hold(){
try
{
MVBPhone.Hold(0);
}
catch(e)
{
;
}
return;
}
function SendDTMF(dtmfchar){
try
{
MVBPhone.SendDTMF(dtmfchar);
}
catch(e)
{
;
}
return;
}
function UnHold(){
try
{
MVBPhone.UnHold(0);
}
catch(e)
{
;
}
return;
}
function Answer(){
try
{
MVBPhone.AcceptCall(0);
}
catch(e)
{
;
}
return;
}
function AudioDevice(){
try
{
if (!is_initOk)
alert("Please init it!");
else{
dispAudioDevices.value="";
MVBPhone.GetAudioDevice();
}
}
catch(e)
{
;
}
return;
}
function HangUp(){
try
{
MVBPhone.HangUp();
}
catch(e)
{
;
}
return;
}
function onLevels(InputLevel, OutputLevel){
try
{
dispLevels.value="INPUT:"+InputLevel/1000+"DB,OUTPUT:"+OutputLevel/1000+"DB";
}
catch(e)
{
;
}
return;
}
function onRegistration(RegID, Reply, msgCount, ReplyText){
try
{
dispRegistration.value="注册状态:"+ReplyText+",留言:"+msgCount+"\r\n";
}
catch(e)
{
;
}
return;
}
function onStateMessages(CallNo, State, Message){
try
{
dispStateMessages.value="线路:"+CallNo+",状态:"+Message+"\r\n"+dispStateMessages.value;
}
catch(e)
{
;
}
return;
}
function onStateEvents( CallNo, State, AudioFormat, VideoFormat, RemoteNumber, RemoteName, LocalNumber, LocalContext){
try
{
dispStateEvents.value="线路:"+CallNo+",状态:"+State+",编码:"+AudioFormat+",来自:"+RemoteNumber+"\r\n"+dispStateEvents.value;
}
catch(e)
{
;
}
return;
}
function onAudioDevices( DeviceID, DeviceName, DeviceType, DeviceConfig){
try
{
dispAudioDevices.value=dispAudioDevices.value+"ID:"+DeviceID+",DeviceName:"+DeviceName+",DeviceType:"+DeviceType+",DeviceConfig:"+DeviceConfig+"\r\n";
}
catch(e)
{
;
}
return;
}
function MVBPhone_onkeypress() {
var key;
var keychar;
var reg;
if(window.event) {
// for IE, e.keyCode or window.event.keyCode can be used
key = event.keyCode;
}
else if(e.which) {
// netscape
key = event.which;
}
else {
// no event, so pass through
return true;
}
if (!is_initOk || MVBPhone.GetLineStateINT(0)<=0)
return;
keychar = String.fromCharCode(key);
if ((keychar>=0 && keychar<=9) || keychar=='*' || keychar=='#')
SendDTMF(keychar);
}
</script>
<script language="JavaScript" for="MVBPhone" event="Registration( RegID, Reply, msgCount, ReplyText)">
onRegistration(RegID, Reply, msgCount, ReplyText);
</script>
<script language="JavaScript" for="MVBPhone" event="StateMessages( CallNo, State, Message)">
onStateMessages(CallNo, State, Message);
</script>
<script language="JavaScript" for="MVBPhone" event="StateEvents( CallNo, State, AudioFormat, VideoFormat, RemoteNumber, RemoteName, LocalNumber, LocalContext) ">
onStateEvents( CallNo, State, AudioFormat, VideoFormat, RemoteNumber, RemoteName, LocalNumber, LocalContext);
</script>
<script language="JavaScript" for="MVBPhone" event="AudioDevices( DeviceID, DeviceName, DeviceType, DeviceConfig)">
onAudioDevices( DeviceID, DeviceName, DeviceType, DeviceConfig);
</script>
<script language="JavaScript" for="MVBPhone" event="Levels( InputLevel, OutputLevel)">
onLevels( InputLevel, OutputLevel);
</script>
<BODY onunload="ShutDown()" onkeypress="MVBPhone_onkeypress()">
<OBJECT id="MVBPhone" width="100%" height="200" classid="clsid:A97111AB-4AF1-4EAB-9CFA-9CD980CA94B3" codebase="MVBphone.ocx#version=1,0,0,2" >
</OBJECT>
<DIV style="float: left; position: relative; z-index: auto; cursor: crosshair;">
<table border=2>
<tr>
<td>HostName:</td><td><input id="HostName" name="HostName" value="192.168.0.96"></td>
</tr>
<tr>
<td>Port:</td><td><input id="Port" name="Port" value="4569"></td>
</tr>
<tr>
<td>UserID:</td><td><input id="UserID" name="UserID" value="7101"></td>
</tr>
<tr>
<td>Password:</td><td><input id="Password" name="Password" value="7101"></td>
</tr>
</table>
</DIV>
<DIV style="float: left; position: relative; z-index: auto;">
<table border=2>
<tr>
<td><a href="#" onclick="Init()">Init</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="Register()">Register</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="Dial()">Dial</a></td><td><input name="dialnumber" id="dialnumber" type="text" value="*65"></td>
</tr>
<tr>
<td><a href="#" onclick="Hold()">Hold</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="UnHold()">UnHold</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="Answer()">Answer</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="HangUp()">HangUp</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="ShutDown()">ShutDown</a></td><td></td>
</tr>
<tr>
<td><a href="#" onclick="AudioDevice()">AudioDevice</a></td><td></td>
</tr>
</table>
</DIV>
<DIV style="float: right; position: relative; z-index: auto;">
<table border=2>
<tr>
<td>Registration:</td><td><textarea id="dispRegistration" name="dispRegistration" cols=80 rows=2></textarea></td>
</tr>
<tr>
<td>StateMessages:</td><td><textarea id="dispStateMessages" name="dispStateMessages" cols=80 rows=5></textarea></td>
</tr>
<tr>
<td>StateEvents:</td><td><textarea id="dispStateEvents" name="dispStateEvents" cols=80 rows=5></textarea></td>
</tr>
<tr>
<td>AudioDevices:</td><td><textarea id="dispAudioDevices" name="dispAudioDevices" cols=80 rows=10></textarea></td>
</tr>
<tr>
<td>Levels:</td><td><textarea id="dispLevels" name="dispLevels" cols=80 rows=1></textarea></td>
</tr>
</table>
</DIV>
</BODY>
</HTML>
IAXOCX软电话控件demo代码之web javascript
需积分: 9 40 浏览量
2013-09-03
16:02:25
上传
评论
收藏 2KB ZIP 举报
沟通的力量
- 粉丝: 20
- 资源: 21
最新资源
- 基于keras+fasterRCNN,在VOC格式的口罩数据集上训练,检测人群中有无戴口罩python源码+模型
- 基于opencv+qt5机器视觉的传统缺陷检测, 即采用标准图片和待测图片进行pixel to pixel的XOR操作源码+文档
- 管道内检测缺陷数据库管理系统源码+文档说明+sln
- 毕业设计-低功耗STM32F411开发板(原理图+PCB源文件+官方例程+驱动等)源码+文档说明+截图
- 基于yolov5-tensorRT检测+发动机缸体内壁缺陷检测系统源码+文档说明
- 基于C++实现的锂电池缺陷检测源码+文档说明
- push_version
- 软件自制图像批量压缩工具
- 经典缺陷检测算法源码整理包含PaDiM(2020ICPR)、PatchCore(2022CVPR)、SimpleNet+文档说明
- 基于深度学习的抗梯度噪声的缺陷检测器python源码+文档说明+模型的预训练
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈