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>