Как я могу получить расширение, введенное пользователем в сценарии Perl AGI?

Я новичок в программировании Asterisk AGI. Я пытаюсь создать простой IVR, используя asterisk-perl, где пользователь может ввести любое расширение от 1 до 4. Вот мой код:

use Asterisk::AGI;

$AGI = new Asterisk::AGI;

for($i = 0 ; $i < 2 ; $i++)
{
    $AGI->exec('Playback','welcome');

    $AGI->exec('WaitExten','5|m');


}

Теперь я хочу узнать расширение, которое ввел пользователь, и предпринять соответствующие действия. Как получить расширение, введенное пользователем?

Спасибо.


person Community    schedule 30.03.2009    source источник


Ответы (2)


Я полагаю, вы хотите использовать get_data, позволяя вам воспроизводить файл, а затем ждать заданное время для заданного количества цифр, например:

$AGI->get_data('демо-приветствие', 15000, 5);

См. здесь

person AdminMyServer    schedule 08.04.2009

Что ж, поскольку команда WaitExten изменяет пользователя на новое расширение, я полагаю, вы может читать специальную переменную ${EXTEN} после вызова WaitExten. Я не знаком с Asterisk::Perl, я использовал FastAGI только из Java, поэтому я не знаю точную команду, но должна быть какая-то команда для чтения значения переменной.

person Chochos    schedule 01.04.2009