继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

php 执行asterisk拨号

慕娘5729972
关注TA
已关注
手记 240
粉丝 133
获赞 772

在服务器web映射目录下  例如在elastix系统下就是/var/www/html目录下

添加originate.php文件

originate.php内容是


<?php

$errno=1;

$port ='5038';

$server= '192.168.1.111';  //服务器ip地址

$errstr='连接错误,请联系管理员!';

$timeout=60;

$socket = fsockopen($server,$port, $errno, $errstr, $timeout);  


if( $socket == false) {      


echo $errstr;


die ($errno.':'.$errstr);


} else {


    echo "Socket_OK";

fputs($socket, "Action: login\r\n");

fputs($socket, "Username: admin\r\n");

fputs($socket, "Secret: admin\r\n\r\n");

     echo "User_Login";

while($c = fgets($socket, 4096))

{

   echo $c ."\n";

}

fputs($socket, "Action: Originate\r\n");    

fputs($socket, "Channel: SIP/8002\r\n");

fputs($socket, "Callerid: 8002\r\n");

fputs($socket, "Timeout: 30000\r\n");

fputs($socket, "Exten: 8021\r\n");

fputs($socket, "Context: from-internal\r\n");

fputs($socket, "Priority: 1\r\n");

fputs($socket, "Async: yes\r\n\r\n" );

   echo "Send_Command_OK";

}

?>


编写完毕,给Originate赋予最高权限

这样就可以http://192.168.1.111/originate.php  就可以实现8002对8021的呼叫了

这是呼叫的实现,其他的类似,就是Action不同参数不同而已

asterisk协会群小李写的...

http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial 使用dial指令是采用L(x[:y][:z])参数 x - 限制时长,单位ms y - 剩余告警时长,单位ms x - 重复告警次...)

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP