asterisk上的回拨脚本:

vi /var/lib/asterisk/agi-bin/webcall.sh

#!/bin/bash
if [ $# -ne 2 ]; then
exit;
else
CALLFROM_EXT="$1"
CALLNUM="$2"
fi
CALLTO="$CALLPREFIX$CALLNUM"

#echo Channel: Local/$CALLTO@from-internal
#echo MaxRetries: 0
#echo RetryTime: 3
#echo WaitTime: 20
#echo Context: from-internal
#echo Extension: $CALLFROM_EXT
#echo Priority: 1
#echo CallerID: /"WebCall/"/<$CALLNUM/>
#
echo Channel: Local/$CALLTO@from-internal > /etc/asterisk/$CALLTO.call
echo MaxRetries: 0 >> /etc/asterisk/$CALLTO.call
echo RetryTime: 3 >> /etc/asterisk/$CALLTO.call
echo WaitTime: 20 >> /etc/asterisk/$CALLTO.call
echo Context: from-internal >> /etc/asterisk/$CALLTO.call
echo Extension: $CALLFROM_EXT >> /etc/asterisk/$CALLTO.call
echo Priority: 1 >> /etc/asterisk/$CALLTO.call
echo CallerId: WebCall /<$CALLNUM/> >> /etc/asterisk/$CALLTO.call

chown asterisk:asterisk /etc/asterisk/$CALLTO.call
mv /etc/asterisk/$CALLTO.call /var/spool/asterisk/outgoing

网页 /var/www/html/webcall.php :

<html>
<head>
<title>Click2Dial</title>
<style type="text/css">
<!--
body{
font-size:12px!important;font-size:11px;
margin:0;
padding:0;
text-align:center;
background:#63CF63;

color:#333333;
font-family: Arial, Helvetica, sans-serif ;
}

-->

<!--
.xtop, .xbottom {display:block; background:transparent; font-size:1px;}
.xb1, .xb2, .xb3, .xb4 {display:block; overflow:hidden;background: #DFE6EF;}
.xb1, .xb2, .xb3 {height:1px;}
.xb2, .xb3, .xb4 {border-left:1px solid #0088CC; border-right:1px solid #0088CC;}
.xb1 {margin:0 5px; background:#0088CC;}
.xb2 {margin:0 3px; border-width:0 2px;}
.xb3 {margin:0 2px;}
.xb4 {height:2px; margin:0 1px;}
.xboxcontent {display:block; border:0 solid #0088CC; border-width:0 1px; padding: 4px; background: #DFE6EF;}
-->

</style>

<script language='JavaScript'>
function CloseClicked(){
window.returnValue = '';
window.close()
}

function start(){
webcall.txtphonenumber.disabled = false;
}

onload = start;
</script>
</head>
<body>
<p></p><p></p>
<?php
#--------------------------------------------------------------------------------------------
#Shouldn't need to edit anything below this point to make this script work
#--------------------------------------------------------------------------------------------
#get the phone number from the posted form
$callNumber = $_POST['txtphonenumber'];
$callerNumber= $_POST['callernumber'];

#specify the caller id for the call
$strCallerId = "Webcall". " <$callNumber>";

$length = strlen($callNumber);

//if ($length == 10 && is_numeric($strExten))
if (is_numeric($callNumber))
{
$output = shell_exec("/var/lib/asterisk/agi-bin/./webcall.sh "."$callerNumber"." "."$callNumber"."");
echo "$output";
?>
<p>
<table align="center" width="98%" height="196" border="0" bordercolor="#0f0f0f" cellpadding="3" cellspacing="0">
<tr><td valign="top">
<b class="xtop">
<b class="xb1"></b>
<b class="xb2"></b>
<b class="xb3"></b>
<b class="xb4"></b>
</b>
<div class="xboxcontent">
We are processing your call, please wait about one minutes.
If you have not received our call within one minutes, verify that your number were entered correctly and
waiting 30 seconds then try again.<p></p>
<input type=button value="Click me" id=try_button οnclick="history.go(-1)">
<p></p><br><p></p>
</div>
<b class="xbottom">
<b class="xb4"></b>
<b class="xb3"></b>
<b class="xb2"></b>
<b class="xb1"></b>
</b>
</td></tr>
</table>
</p>
<b><a href="javascript:CloseClicked()">Close Window</a></b>
<script language="JavaScript">
var time=30000;//count down 10 seconds

function CountDown(objid){
if(time<=0){
document.getElementById(objid).value='Click to Try Again';
document.getElementById(objid).disabled=false;
}else{
document.getElementById(objid).disabled = true;
document.getElementById(objid).value = (time/1000) + " sec...";
setTimeout("CountDown('" + objid + "')",1000);
}
time-=1000;
}
CountDown('try_button');
</script>

<?
}
else
{
?>
<p>
<table align="center" width="98%" border="0" bordercolor="#0f0f0f" cellpadding="3" cellspacing="0">
<tr><td>
<b class="xtop">
<b class="xb1"></b>
<b class="xb2"></b>
<b class="xb3"></b>
<b class="xb4"></b>
</b>
<div class="xboxcontent">
Enter your SIP number (e.g. 0701234567). If available, we will call you within the next two minutes.
<form name="webcall" action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
<br>
CallerNumber: <input type="text" size="20" maxlength="12" name="callernumber">
<br><br>
CallNumber: <input type="text" size="20" maxlength="12" name="txtphonenumber">
<input type="submit" value="Dial">
<br><br>
<center>
<input type="button" value="Close" οnclick="CloseClicked()">
</center>
</form>
</div>
<b class="xbottom">
<b class="xb4"></b>
<b class="xb3"></b>
<b class="xb2"></b>
<b class="xb1"></b>
</b>
</td></tr>
</table>
</p>
<?
}
?>
<br>
<!-- Footer -->
<div class="footer" style="float:right; line-height:11px">
<p align="right">
<u>This page is written by A-Lang. 2007/12/5</u>&nbsp;
</p>
</div>
<!-- Footer-->

</body>
</html>

参考: http://www.osslab.org.tw/VoIP/IP_PBX/軟體式_IP_PBX/Asterisk/Tips/網頁回撥-Web_CallBack

Powered by Zoundry Raven

网页回拨-Web CallBack相关推荐

  1. Eunomia: 让 ebpf 程序的分发和使用像网页和 web 服务一样自然

    我们的项目地址:https://github.com/yunwei37/Eunomia eBPF 是一项革命性的技术,它能在操作系统内核中运行沙箱程序.被用于安全并有效地扩展内核的能力而无需修改内核代 ...

  2. html可以用搜狗浏览器打开网页,win8使用搜狗浏览器打开网页“显示WEB浏览器已对此页面进行了修改以帮助跨站脚本”怎么办...

    windows8系统自带IE浏览器,但是一些用户还是喜欢下载第三方浏览器,比如搜狗浏览器,使用搜狗浏览器过程中总会遇到一些故障问题,比如win8使用搜狗浏览器打开网页"显示WEB浏览器已对此 ...

  3. 网页从web服务器受到的威胁,网页从web服务器方面浏览器方面受到的威胁主要来自哪里...

    网页从web服务器方面浏览器方面受到的威胁主要来自哪里 关注:117  答案:2  信息版本:手机版 解决时间 2019-01-14 09:04 情歌越听越心酸 2019-01-13 09:14 网页 ...

  4. python动态页面元素爬取_爬取动态网页python+Web kit

    上一篇文章爬取动态网页python+selenium+webdriver介绍了爬取动态网站的一种模拟浏览器的方法,该方法的优劣也很明显 优: 可以模拟任何人的操作,输入账号密码,点击登录等等操作 劣: ...

  5. css 网页整体缩小_css实现缩放自适应网页--手机web

    一. 允许网页宽度自动调整: "自适应网页设计"到底是怎么做到的? 其实并不难. 首先,在网页代码的头部,加入一行viewport元标签. viewport是网页默认的宽度和高度, ...

  6. php与html网页制作,web 一个简单地三级网页的设计和编写,html+css,适合学习 制作的新手 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...

    文件名称: web下载 收藏√  [ 5  4  3  2  1 ] 开发工具: HTML 文件大小: 4716 KB 上传时间: 2013-06-25 下载次数: 7 提 供 者: ericc 详细 ...

  7. webscraper多页爬取_Web Scraper 翻页——抓取「滚动加载」类型网页(Web Scraper 高级用法)| 简易数据分析 10...

    这是简易数据分析系列的第 10 篇文章. 友情提示:这一篇文章的内容较多,信息量比较大,希望大家学习的时候多看几遍. 我们在刷朋友圈刷微博的时候,总会强调一个『刷』字,因为看动态的时候,当把内容拉到屏 ...

  8. div+css静态网页设计 web网页设计实例作业 ——中国茶文化(30页) HTML网页制作作品 简单文化网页设计成品 dreamweaver学生网站模板

    web网页设计实例作业 --中国茶文化(30页) HTML网页制作作品 简单文化网页设计成品 dreamweaver学生网站模板 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. ...

  9. HTML5期末大作业:动漫人物介绍网站设计——柯南(5页) 含报告 HTML+CSS+JavaScript dw网页设计 web网页设计与开发

    HTML5期末大作业:动漫人物介绍网站设计--柯南(5页) 含报告 HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计 ...

最新文章

  1. Quartz动态添加、修改和删除定时任务
  2. 防止Excel导入超大带格式文本乱码的方法
  3. 2021中超1 1006 xor sum
  4. BAT大神推荐:看懂英文文档,每天只需要10分钟做这件事……
  5. usbserialcontroller驱动安装不了_win10-有NVIDIA独显提示未安装控制面板的离线安装方式...
  6. 第49课 大大大(纯小数变整数) 《小学生C++趣味编程》
  7. live555学习笔记3-消息循环
  8. php 判断美国zip code
  9. SSM-水果商城-项目展示-学习-1
  10. 矩阵的秩(Rank)
  11. 区块链:数字广告假量的“终结者”
  12. bootice添加黑苹果引导_联想小新13Pro黑苹果系统bigsur教程(OC引导)
  13. 重磅!厦门大学信息学院11篇论文入选AI顶会AAAI 2021
  14. LR推导及其与SVM的区别
  15. 利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!
  16. python计算机视觉学习———图像分割
  17. SAP MM MARD 表里的Storage Bin 字段
  18. 苹果语音备忘录怎么改名字_语音备忘录误删除怎么恢复?安利你个简单方法
  19. 【宇宙最强编辑器VS Code】(八)使用VS Code在线听网易云 —— vsc-netease-music(内附1.35版本之后无声音的解决方案、1.40版本之后的not support问题)
  20. 华为鸿蒙是实时,用过华为鸿蒙后,我可能再也不需要安卓

热门文章

  1. 2022安全员-C证上岗证题目及答案
  2. 计算机桌面没有打字,电脑输入法不见了怎么办
  3. 雅马哈机器人编程讲解_雅马哈机器人RCX编程手册
  4. nginx fastcgi_buffers设置
  5. 【数据库】FaceDataset常用的人脸数据库
  6. booting from hard disk
  7. python爬取b站弹幕分析_B站弹幕爬取原理解析(python)
  8. 常见电脑硬件故障有哪些?如何解决?~~~显卡故障
  9. 树莓派4B命令行安装网易云音乐播放在线歌曲
  10. SQL自动检查神器项目,吊炸天的功能