Как конвертировать существующие сценарии Asterisk AGI в сценарий FASTAGI

У меня сервер Asterisk отлично работает в платежной среде. Теперь мне необходимо отделить бизнес-логику от Asterisk Server для эффективности и защиты сценариев AGI по очевидным причинам.

Вопрос в том, как преобразовать существующие рабочие сценарии AGI в сценарии FASTAGI или как вызвать существующие сценарии AGI с сервера FASTAGI?

У меня есть красный пост с ответами на этой платформе, но никто не указал четко, как это сделать с нуля. Будем рады четкому пониманию того, как этого добиться с помощью PHP.

1 ответ

Ты можешь использовать xinetd за это. Из вашей абонентской группы на каждом поле звездочки вызовите agi с быстрым параметром agi, подставив ваш IP-адрес сервера fastagi:

AGI(agi://192.168.1.100/)

Убедитесь, что у вас есть в /etc/services что-то вроде:

agi             4573/tcp                        # FAST AGI entry

На сервере FastAGI: в файле с именем /etc/xinetd.d/agi (удостовериться /etc/xinetd.conf загружает модули из /etc/xinetd.d/) есть определение, которое вызывает ваш сценарий agi.

# description: agi service for PHP fastagi interaction
service agi
{
        socket_type  = stream
        user         = root
        group        = nobody
        server       = /path/to/agiLaunch.sh
        wait         = no
        protocol     = tcp
        bind         = 127.0.0.1
        disable      = no
        per_source   = UNLIMITED
        instances    = UNLIMITED
        cps          = 1000 0
}

В вашем AGI-скрипте вы теперь можете просто делать, как обычно, читая STDIN или STDOUT.

Другие вопросы по тегам