[英]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.