Страница 1 из 3

phpagi

Добавлено: 23 июн 2015, 17:41
wazzz
Всем привет.
Друзья, выручайте.

asterisk 1.8

Нашел отличное решение на хабре "Синтез и распознавание речи от Google для Asterisk".
вызывается очень просто exten => 1004, n, AGI(say.php,"Здравствуйте"), при звонке на 1004 слышим "Здравствуйте".

В диалплане
exten => 1004,1,Answer()
exten => 1004,n,AGI(test.php);

в test.php подключаю phpagi.php
Вызываем $agi->exec('AGI','say.php,"Здравствуйте"' );
И так-же прекрасно слышим "Здравствуйте"

А вот при попытке вызвать
$text = "Здравствуйте, Володя";
$agi->exec('AGI','say.php,"$text"' );

Пробовал, одинарные, двойные кавычки, экранировал, всё безрезультатно. Пробовал так:

$cmd = "'AGI','say.php,'.$text.'";
$agi->exec($cmd);

Не работает.

Вся логика звонка, в php файле.

Прошу помощи.

Re: phpagi

Добавлено: 23 июн 2015, 17:49
Glukinho
Не очень понял, как и зачем вы из PHP вызываете AGI, но разве не так?

Код: Выделить всё

$text = "Здравствуйте, Володя";
$agi->exec('AGI','say.php',$text);
?

Re: phpagi

Добавлено: 23 июн 2015, 17:53
Glukinho
То есть вы выполняете PHP-скрипт, который обращается к астериску, который запускает AGI (то есть по сути тот же PHP-скрипт). Как-то странно.

Re: phpagi

Добавлено: 23 июн 2015, 17:57
wazzz
Благодарю за ответ.

В том то и дело.

При вызове $agi->exec('AGI','say.php',$text);
В консоли "AGI Script Executing Application: (AGI) Options: (say_words.php)"

А при вызове $agi->exec('AGI','say_words.php,"Пока" ');
В консоли "AGI Script Executing Application: (AGI) Options: (say_words.php,Пока)"

Не попадает туда переменная.

Re: phpagi

Добавлено: 23 июн 2015, 18:00
wazzz
Логика такова.
При звонке на внешний номер.
1) Определяем номер входящего.
2) Ищем его в mysql, и в зависимости от того, есть он там или нет. Выполняем те или иные действия.
3) Если номер есть, нужно взять из базы дополнительные данные, и «прочитать» их звонящему.
4) Далее, перевести звонок в IVR
5) И в зависимости от выбора звонящего, внести изменения в базу данных.


Примерно так.

Re: phpagi

Добавлено: 23 июн 2015, 18:20
ded
Вы справитесь! :)

Re: phpagi

Добавлено: 23 июн 2015, 18:29
wazzz
:D
Уверен что справлюсь.

От помощи не откажусь... :oops:

Re: phpagi

Добавлено: 23 июн 2015, 18:33
ded
Я тоже не откажусь! :)

Разбейте задачу на подзадачи: A) cidlookup
1) Определяем номер входящего.
2) Ищем его в mysql, и в зависимости от того, есть он там или нет. Выполняем те или иные действия.
3) Если номер есть, нужно взять из базы дополнительные данные и передать переменной $text
4) вывести эту переменную в диалплане
NoOp(Text is $text)

Это уже работает?

Re: phpagi

Добавлено: 23 июн 2015, 18:34
wazzz
Чем помочь? :D

Re: phpagi

Добавлено: 23 июн 2015, 18:40
ded
Смонтировать и проинсталлировать два HP DL360p Gen9 - один в качестве маршрутизатора + firewall. OS - Debian со всевозможными доп. сервисами - SQUID, Apache, LDAP, SAMS, BIND, NTLM, SMB, etc, etc
- второй - виртуализатор Hyper-V, куда залить MS Windows server 2008, AD, MS Exchange, File server, print server, IIS, MS SQL 2012, etc, etc
и два коммутатора с менеджментом VLAN.