VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

phpagi

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

wazzz
Сообщения: 18
Зарегистрирован: 05 дек 2013, 17:29

phpagi

Сообщение 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 файле.

Прошу помощи.
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: phpagi

Сообщение Glukinho »

Не очень понял, как и зачем вы из PHP вызываете AGI, но разве не так?

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

$text = "Здравствуйте, Володя";
$agi->exec('AGI','say.php',$text);
?
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: phpagi

Сообщение Glukinho »

То есть вы выполняете PHP-скрипт, который обращается к астериску, который запускает AGI (то есть по сути тот же PHP-скрипт). Как-то странно.
wazzz
Сообщения: 18
Зарегистрирован: 05 дек 2013, 17:29

Re: phpagi

Сообщение 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,Пока)"

Не попадает туда переменная.
wazzz
Сообщения: 18
Зарегистрирован: 05 дек 2013, 17:29

Re: phpagi

Сообщение wazzz »

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


Примерно так.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: phpagi

Сообщение ded »

Вы справитесь! :)
wazzz
Сообщения: 18
Зарегистрирован: 05 дек 2013, 17:29

Re: phpagi

Сообщение wazzz »

:D
Уверен что справлюсь.

От помощи не откажусь... :oops:
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: phpagi

Сообщение ded »

Я тоже не откажусь! :)

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

Это уже работает?
Последний раз редактировалось ded 23 июн 2015, 18:35, всего редактировалось 1 раз.
wazzz
Сообщения: 18
Зарегистрирован: 05 дек 2013, 17:29

Re: phpagi

Сообщение wazzz »

Чем помочь? :D
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: phpagi

Сообщение 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.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH