2011-02-03 5 views
1

アスタリスクサーバにphpコード/ javaスクリプトを接続することが可能かどうか質問したいと思います.... plz誰かが私の質問に答えます。助けてください...私にいくつかのコードを渡すか、それを作る方法を踏んでください...事前に感謝しますアスタリスクサーバに接続するjava/php

+0

接続時に何をしたいですか?なぜあなたは接続したいですか? – ircmaxell

+0

あなたはJavaまたはJavaScriptを意味しますか?これらは同じではありません! –

+0

アスタリスクPHPライブラリを探しましたか? – MrPHP

答えて

1

PHPを使用してインターフェイスすることができます:AMI PHP Examples。いくつかのサンプルコードまで、ajax呼び出しを使用してjquery/javascriptからPHPスクリプトを起動できます。ここでは、私はリックロールの友人に書いたサンプルスクリプトは、それに10桁の電話番号をPOSTし、それは電話番号を呼び出して、 '決してあなたを与えるつもりはない'再生します。このPHPスクリプトでは、アスタリスクインスタンスがホストされているサーバーと同じサーバー上にホストされていることを前提としていますが、$ strHostを変更することはできません。

PHPスクリプト:私は願っています

[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 

#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ファイルに次のようなものを追加する必要がありますそれは助ける。

関連する問題