java/php连接到星号服务器
问题描述:
我想问问是否有可能在Asterisk服务器中连接php代码/ java脚本.... PLZ有人回答我的问题我真的很感谢你的回答...请帮助我......并给我一些代码或步骤如何使它...提前感谢java/php连接到星号服务器
答
您可以通过使用PHP:AMI PHP Examples与AMI接口。就一些示例代码而言,您可以使用ajax调用从jquery/javascript中激发PHP脚本。以下是我写给rick roll朋友的一个示例脚本,只需向其发送一个10位数字的电话号码,它就会调用电话号码并播放“永远不会让你放弃”。这个PHP脚本还假定它托管在您的星号实例托管的同一台服务器上,如果不是,则可以更改$ strHost。
php脚本:
#now some variables are assigned to connect to asterisk
$strHost = "127.0.0.1";
$strUser = "yourusername";
$strSecret = "yourpassword";
$strWaitTime = "30";
$strPriority = "1";
$strMaxRetry = "2";
#get the value from the form in rickroll.php
$strExten = $_POST['txtphonenumber'];
#some asterisk CLI debugging stuff
$callNumber = $strExten;
$strCallerId = "RICKROLL <$callNumber>";
#get the length of our input (giggity)
$length = strlen($strExten);
#check to make sure the input value is at least 10
#digits, if true, send the information to
#the "rickroll" context that is setup in extensions_custom.conf
if ($length == 10 && is_numeric($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: Local/[email protected]\r\n");
fputs($oSocket, "WaitTime: $strWaitTime\r\n");
fputs($oSocket, "CallerId: $strCallerId\r\n");
fputs($oSocket, "Exten: s\r\n");
fputs($oSocket, "Context: rickroll\r\n");
fputs($oSocket, "Priority: 1\r\n\r\n");
fputs($oSocket, "Action: Logoff\r\n\r\n");
sleep(3);
fclose($oSocket);
}
//else tell them how to do it correctly
else
{
echo ('Please enter a 10 digit number and try again');
}
然后,你需要添加类似下面你的extensions.conf告诉星号做什么与呼叫:
[rickroll]
exten => s,1,NoOp(inizio) ; verbose
exten => s,n,Answer
exten => s,n(message),Background(rickroll) ; "play rickroll.mp3 located in n/var/lib/asterisk/sounds/"
exten => s,n,WaitExten(5)
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup
希望这有助于。
连接时你想做什么?你为什么想要连接? – ircmaxell 2011-02-03 16:14:52