Показаны сообщения с ярлыком PHP. Показать все сообщения
Показаны сообщения с ярлыком PHP. Показать все сообщения

среда, 8 января 2014 г.

Возвращение Будулая и Магия Asterisk AGI часть 1 (обзор)



Привет мой дорогой читатель!

Сегодня в очередной раз воспользовавшись своей "цифровой памятью" в виде этого блога, очень удивился, что за прошедшие 2 года ты не забыл про меня. Да, я выпал на это долгое время из блогосферы.

За это время многое изменилось в моей жизни, кто-то ушел навсегда, кто-то появился. Теперь я отец прекрасной дочери. Еще за прошедшее время я успел сменить два места работы: небольшого провайдера, местный банк и снова вернуться в небольшую компанию. Накопилось много всего что хочется тебе рассказать, поэтому я попытаюсь найти время чтобы поделиться. Спасибо что есть!..

Магия Asterisk AGI.

Ну а начать хочется с такой интересной темы как интернет телефония. Так уж получилось, что последнее время я плотно работал VoIP-сервером Astrisk и его связке со сторонним ПО. Это не единственный, не самый производительный, но самый поддерживаемый и развитый сервер. Подробнее о нем можно прочитать тут: http://asterisk.ru/functionality.

Но нам всем всегда хочется чего-то большего, поэтому программисты придумали интерфейс управления сервером - AGI.

AGI - это встроенный в Asterisk метод выполнения внешних скриптов (по аналогии с CGI для http серверов), который может расширить функциональность asterisk при помощи других языков программирования. Таких, как: Java, .Net, Perl, PHP, C, Shell - все зависит от Вашего желания. Подробнее здесь: http://asterisk.ru/knowledgebase/Asterisk+AGI

Чтобы не быть голословным рассмотрим задачу:
- Создать систему голосового информирования пользователя о балансе на его счете.
- Информация должна предоставляться по паролю, введенному на клавиатуре телефона в тоновом режиме.
- Уже имеем развернутый сервер телефонии Asterisk
- Данные о балансе лежат в БД Oracle.

При проектировании сервиса было решено отделить приложение от "боевой базы", что-бы не плодить лишнюю нагрузку на серверах БД, поэтому в качестве кеша использовали локальный сервер-БД на основе MySQL. Выбор конечно спорный, но на тот момент это самая знакомая БД.

Сама логика выполнена в виде 2-х PHP-скриптов. Выбор аналогичен предыдущему, PHP наиболее изученный язык на тот момент. Первый это скрипт обновления данных в локальной БД из "боевой" вызываемый по крону, для связи с Oracle используем php-oci8. Второй собственно сам AGI-скрипт вызываемый Asterisk, для связи с Asterisk используем php-agi (http://phpagi.sourceforge.net/).

Важное замечание: Во время работы сервера Asterisk в режиме отладки AGI (команда: "agi set debug on" в консоли Asterisk), оказалось что сервер затрачивает значительное время общение с AGI-скриптом, в моем случае порядка минуты. При отключении отладки задержка пропадает.

Также нам понадобиться записать ряд голосовых файлов которые мы будет проигрывать абоненту. И подумать над структурой меню. На сегодня все :) продолжение следует...



Цикл статей Магия Asterisk:
Магия Asterisk AGI часть 1 (обзор)
Магия Asterisk AGI часть 2 (планируем IVR и пишем голос)
Магия Asterisk AGI часть 3 (пишем AGI-скрипты на PHP)

четверг, 20 августа 2009 г.

Софт: PHP редактор

KAte (www.kate-editor.org)

Wikipedia:

Kate (KDE Advanced Text Editor) — текстовый редактор, входящий в состав среды рабочего стола KDE. Распространяется согласно GNU General Public License.

Kate является частью пакета kdebase начиная с KDE 2.2 (15 августа 2002). Благодаря технологии KParts, Kate можно встраивать в любое другое приложение KDE в качестве компонента редактирования. В частности, Kate встроен в интегрированную среду разработки KDevelop и среду веб-разработки Quanta Plus.

Прекрасный универсальный редактор. Я пользовался им 2 года назад, когда у меня стояла ОС FreeBSD c KDE. Тогда меня притянула к нему поддержка различных кодировок в частности злополучной win-1251.

gPHPedit (www.gphpedit.org)


Очень хороший редактор: есть подсветка синтаксиса, всплывающие подсказки стандартных функций и параметров к ним, а также список функций во всех открытых файлах. Напоминает PHP Expert Editor для Windows. Поддерживает языки PHP, CSS, HTML. Но драгоценную поддержку различных кодировок я так и не нашел.

ecplipse + phpeclipse (eclipse.org)


Wikipedia:

Eclipse (/iˈklɪps/, от англ. затмение) — свободный фреймворк для разработки модульных кроссплатформенных приложений. Разрабатывается и поддерживается Eclipse Foundation.

Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).

Стандарт для разработки в Linux. Поддерживает ОС: Windows, Linux, Unix, MacOS X. Но это полноценная IDE, поэтому для моих масштабов великовата... :)

jedit (www.jedit.org)


Универсальный редактор поддерживающий 130 языков программирования и форматов файлов (полный список http://www.jedit.org/index.php?page=features), написанный на Java и поддерживающий ОС: Mac OS X, OS/2, Unix, VMS и Windows.

Прекрасный редактор которым я пользуюсь. По функционалу схож с Notepad++ для Windows (от которого я тоже был безума). Прекрасная поддержка всех кодировок (Меню File->Reload with Encoding->нужная кодировка).

Более широкий список php-редакторов www.php-editors.com/review/