网页回拨源码

ASTERISK+LINUX+PHP 的WebCall, 网页回拨源码

801 响起再拨打到 1000

$strChannel ="SIP/801";

$strExten =1000;

 把下列代码保存为.php文件,放于www/html 下  
修改下面$strUser ; $strSecret ; $strChannel ; $strExten ; 参数
$strUser = "admin"; $strSecret = "amp111";为 ami接口帐号密码
$strChannel 为内部分机号码,$strExten回拨号码

<?
#------------------------------------------------------------------------------------------ 
#edit the below variable values to reflect your system/information 
#------------------------------------------------------------------------------------------
#specify the name/ip address of your asterisk box 
#if your are hosting this page on your asterisk box, then you can use 
#127.0.0.1 as the host IP.? Otherwise, you will need to edit the following 
#line in manager.conf, under the Admin user section: 
#permit=127.0.0.1/255.255.255.0 
#change to: 
#permit=127.0.0.1/255.255.255.0,xxx.xxx.xxx.xxx ;(the ip address of the server this page is running on) 
$strHost = "127.0.0.1";
#specify the username you want to login with (these users are defined in /etc/asterisk/manager.conf) 
#this user is the default AAH AMP user; you shouldn't need to change, if you're using AAH. 
$strUser = "admin";
#specify the password for the above user 
$strSecret = "123456";
#specify the channel (extension) you want to receive the call requests with 
#e.g. SIP/XXX, IAX2/XXXX, ZAP/XXXX, etc
$strChannel = "SIP/{$_POST['sip']}";
#specify the context to make the outgoing call from.? By default, AAH uses from-internal 
#Using from-internal will make you outgoing dialing rules apply 
$strContext = "from-internal";
#specify the amount of time you want to try calling the specified channel before hangin up 
$strWaitTime = "30";
#specify the priority you wish to place on making this call 
$strPriority = "1";
#specify the maximum amount of retries 
$strMaxRetry = "2";
#-------------------------------------------------------------------------------------------- 
#Shouldn't need to edit anything below this point to make this script work 
#-------------------------------------------------------------------------------------------- 
#get the phone number from the posted form 
$strExten =$_POST['callid'];
#specify the caller id for the call 
$strCallerId = "Web Call Test <$strExten>";
$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die("Connection to host failed"); 
fputs($oSocket, "Action: login\r\n"); 
fputs($oSocket, "Events: off\r\n"); 
fputs($oSocket, "Username: $strUser\r\n"); 
fputs($oSocket, "Secret: $strSecret\r\n\r\n"); 
fputs($oSocket, "Action: originate\r\n"); 
fputs($oSocket, "Channel: $strChannel\r\n"); 
fputs($oSocket, "WaitTime: $strWaitTime\r\n"); 
fputs($oSocket, "CallerId: $strCallerId\r\n"); 
fputs($oSocket, "Exten: 9$strExten\r\n"); 
fputs($oSocket, "Context: $strContext\r\n"); 
fputs($oSocket, "Priority: $strPriority\r\n\r\n"); 
fputs($oSocket, "Action: Logoff\r\n\r\n"); 
fclose($oSocket);
echo 'Call ...';
echo $strChannel
?>




另外写一个php页面 代码如下
用post方法将 callid和sip 2个参数传到callback页面


<form action="2.php" method="post">
Your number <input type="text" name="callid" />
SIP <input type="text" name="sip" />
We will call this number back <input type="submit" name="submit" value="Call back" />
</form>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统基本运作原理: 先以您在中国使用我们的系统为例。假设您要从中国打美国的号码001-626-570-4511。系统是这么开始的。 首先,我们会给您一个DID预约号码。您用身边的电话打该预约号时,会听到一声振铃声,然后就会立即挂断您的电话(您不用支付该费用,因为电话没有接通)。几秒钟内,您的电话会再次响起, 这就是我们的系统打给您的,这时您再次拿起话筒就连通了系统,系统会给你语音提示,然后你根据语音提示再打你真正要打的世界各地的号码。如果此时打美国的号码,如001-626-570-4511,您就可以如同置身在美国国内,象打美国国内长途电话一样节约费用。 预约号+挂机+接听来电+打外地长途号码+#号键+畅快的聊天=您使用了最便宜,最方便的电话业务。 系统的组成模块以及简要说明: 服务管理模块,负责调度其他各个模块的相互工作。 日志监控模块,完成系统的日志输出工作,可以在运营维护时远程查看系统日志。 服务模块,完成主要的业务流程,包括IVR 语音交互、号码认证、计费采集等等各种业务流程。 业务监控模块,可以让管理员在远程查看服务器各个模块的运行情况,包括相应业务情况。 网页管理模块,完成总管理平台、代理商平台、用户自助平台的主要功能。 中继预约模块,完成高并发的中继预约方式,提高整个系统的预约性能。 中继接入模块,可以完成通过DID 号码直接接通,并且完成各种业务流程的功能。 手机软件模块,提供简单的手机模块方式预约功能,完成所有服务提供的业务接口。 话单分拣模块,完成高并发系统下的话单分解分拣功能。 流程设计模块,完成IVR 语音流程的自定义设置。 预约流程说明: 预约方式大致分成两种,分别是直接预约方式和间接预约方式。 直接预约方式就是首先向系统提交一个号码,该号码必须是已经绑定成功的号码,系统该号码,接通后,通过DTMF(二次号)的方式在呼叫真实的号码,并且接通。 间接预约方式就是一次性向系统提交三个号码,分别是计费号码、被叫号码A、被叫号码B,不需要用户做DTMF(二次号),系统首先接通A,A摘机后,系统会呼叫B,最后将A和B接通。 直接预约提供Web方式、短信方式、中继预约、普通呼叫方式。 间接预约提供Web方式、短信方式。 目前最新版本的预约系统支持功能: 1. 支持灵活的主叫和被叫号码变化规则。   2. 支持Callback服务的集群方式,可以有效线形的提升系统并发性能。   3. 灵活的路由设置,可以根据被叫前缀动态选择路由,支持区分系统和用户路由选择。   4. 灵活的费率计划支持,区分系统和用户,为运营提供更大的灵活性。   5. 管理平台支持总管理、分销商和用户自助方式。   6. 提供远程监控接口,可以查看呼叫的详细信息。   7. 支持一次被叫的IVR语音交互方式,并提供DTMF方式。   8. 支持DTMF的Tone音的语音识别(准确情况视网络情况而定)。   9. 支持直接呼叫的预约方式。   10.支持先接通被叫后接通主叫的的预约方式。   11.支持短信预约方式。   12.短信方式支持充值、查询余额、绑定号码、取消绑定、支持短信复。 13.支持本地市话的号方式(区分本地市话和长途的不同计费标准),可以做本地业务。 14.系统支持缩位号功能,方便用户使用,使呼损降到最低。 系统软件配置要求: 1. Microsoft WIN2000 WIN2003 服务器版本 2. WINDOWS系统补丁(尤其使冲击波震荡波),视操作系统而定,WIN2000+SP4或者WIN2003+SP1 3. Microsoft SQLSERVER2000 (SP3) 4. Microsoft IIS 以及相关补丁(发布ASP使用) 5. 以下任意一种远程管理软件 RemoteAdmin pcAnywhere VNC 微软远程桌面 服务器硬件要求:(以下硬件可以保证单机并发720线上) 1. CPU(2*2.4G) RAM(1G以上) DISK(40G) NetAdapter(100M) 2. 服务器托管到一个运营商的机房内, 拥有至少一个独立IP地址。 3. 网络建议与落地网关在同一个机房内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值