В данном конкретном случае записывается файл testagi (в формате GSM), любой DTMF-код от 1 до 4 может прервать запись и максимальное время записи - 3000 мс.

print STDERR "6a. Testing 'record' playback..."; print "STREAM FILE testagi \"\"\n"; my $result = ; &checkresult($result);

Вторая часть этого теста воспроизводит записанный ранее аудиофайл, используя команду STREAM FILE. Команда STREAM FILE уже рассматривалась, поэтому данный фрагмент кода не требует дополнительных пояснений.

print STDERR "================== Complete ======================\n";

print STDERR "$tests tests completed, $pass passed, $fail failed\n"; print STDERR "==================================================\n";

В конце сценария AGI результаты тестирования записываются в STDERR, который должен быть выведен в консоли Asterisk.

Итак, при написании AGI-программ на Perl необходимо помнить следующее:

• Должен быть активирован строгий контроль выполнения правил языка программирования с помощью команды use strict[102].

• Должна быть отключена буферизация вывода через задание $|=1.

• Данные, поступающие от Asterisk, принимаются с помощью цикла

while().

• Значения записываются командой print.

• Для записи отладочной информации в консоль Asterisk используется команда print STDERR.

Библиотека AGI для Perl

Тем, кто собирается создавать собственные сценарии AGI на языке Perl, вероятно, будет интересен модуль на Perl - Asterisk::AGI, написанный Джеймсом Головичем (James Golovich), который можно найти по адресуhttp://asterisk.gnuinter.net. Модуль Asterisk::AGI еще больше упрощает написание сценариев AGI на Perl.

Создание сценариев AGI на PHP

Мы обещали обсудить несколько языков программирования, поэтому пойдем дальше и рассмотрим, как выглядит сценарий AGI на PHP. Основные правила программирования AGI те же, изменился только язык программирования. В данном примере мы напишем сценарий AGI для загрузки из Интернета сводки погоды и предоставления вызывающему абоненту информации о температуре, направлении и скорости ветра.

#!/usr/bin/php -q

Перейти на страницу:

Похожие книги