사용자로부터 DTMF를 가져 오려고합니다. 0 인 경우 다른 사람이 전화를 걸어 다른 사람에게 전화를 겁니다. 나는 다음과 같이 썼다. 그러나 그것은 부정확 한 입구를 직접 연주하고, 나의 전화를 끊는다. 이 문제에 대한 도움을 주시면 감사하겠습니다.DTMF는 PHP Agi에서 허용되지 않습니다.
$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/[email protected]:5080");
$agi->hangup();
}
else
{
$agi->exec("AGI","googletts.agi,\"Invalid entry. Please try again later.\",en");
$agi->hangup();
}
}
이전에 별표를들은 적은 없었지만 (흥미로운 것 같습니다.)하지만 내 생각에 'if (is_numeric ($ dtmf ['0 ']))'올바르지 않습니다. '$ dtmf [ '0']'는 숫자로되어 있습니까? 왜 그걸 조사하고 있니? '$ dtmf [ '0']'의 값은 무엇입니까? 코드를 밟은 적이 있습니까? – Qix
나는'$ whereto = $ agi-> get_data ($ wheretorec, 10000, 1); ' '$ dtmf = $ whereto ['result '];를 통해 이전에 입력 된 값이 0 즉 0과 일치하는지 확인하려고 노력 중이다. 그런 다음 내선 번호로 통화를 호 전환하거나 통화를 끊고 끊습니다. – user3761509
'$ dtmf == 0' 또는'$ dtmf == '0'중 하나를 시도하십시오. 또한'$ dtmf'를 할당 한 후에'var_dump ($ dtmf)'를 시도해 보셨습니까? – Qix