手记

php 执行asterisk拨号

在服务器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 - 重复告警次...)

0人推荐
随时随地看视频
慕课网APP