簡體   English   中英

DTMF不被PHP Agi接受

[英]DTMF not accepted on PHP Agi

我正在嘗試從用戶那里獲取DTMF,如果它等於零,則將呼叫轉移到分機上,否則掛斷。 我已經寫了以下內容,但是它直接播放無效的條目並掛斷我的電話。 希望能對此事有所幫助。

$wheretorec = $agi->exec("AGI","googletts.agi,\"To speak to an operator press zero.\",en"); 
$whereto = $agi->get_data($wheretorec, 10000, 1);
$dtmf = $whereto['result'];

if (is_numeric($dtmf ['0'])) 
{
$agi->exec("AGI","googletts.agi,\"Your call is now being transferred\",en");
$agi->exec('transfer',"SIP/123@12.345.678.901:5080");   
$agi->hangup();
} 
else 
{
$agi->exec("AGI","googletts.agi,\"Invalid entry. Please try again later.\",en");
$agi->hangup(); 
}
}

像這樣

$dtmf = $whereto['result'];

if ($dtmf=="0")

請仔細閱讀phpagi文檔和示例

$dtmfTemp = $agi->get_data("File_name_you_want_to_play", 6000, 1);
$dtmf = $dtmfTemp['result'];
if($dtmf=="0"){
//Do your stuff
}
else{
//Do your other stuff
}

這是對我有用的代碼..如果我嘗試任何操作而不是'silence / 1'或'beep',那么它會給我一個錯誤消息,輸入無效!

$press1 = $agi->get_data('silence/1',50000, 1);
$press1dtmf = $press1['result'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM