Pages

Monday, February 14, 2011

asterisk-ami-pgsql

http://code.google.com/p/asterisk-ami-pgsql/


Що це

Спроба надати доступ до інтерфейсу AMI  voip сервера Asterisk за допомогою мови sql використовуючи як проміжний рівень сервер  PostgreSQL

Можливості і переваги

  • Використання стандартних бібліотек для роботи з sql з довільної мови програмування
  • Використання усіх можливостей мови запитів sql для отримання доступу до внутрішньої інформації сервера voip - ви можете використовувати функції проекту як звичайні таблички сервера баз даних, здійснювати сортування, фільтрацію, проводити операції групування, операції обєднання з іншими табличками бази даних

Залежності

  • Postgresql з встановленим plpython
  • Asterisk сервер із увімкненим та налаштованим AMI інтерфейсом
  • Інсталятори пакетів Python setuptools або pip
  • Модуль pyst


Встановлення

* Завантажити код проекта
* Встановити pyst: easy_install pyst
* Виконати інсталяційний скрипт проекта: psql -U postgres asterisk -f install.sql
* Додати свій сервер та сконфігурований на ньому акаунт в табличку asterisk.managers

Приклади

Подзвонити в контакт-центр Білого дому

asterisk=# select asterisk.originate_async('localhost', 'SIP/117', '92024561111', 'default', 1);
originate_async
-----------------
t
(1 row)


Переглянути номери, які знаходяться в онлайні, обмежившись трьома

asterisk=# select * from asterisk.sippeers('localhost') where ipport <> '0' limit 3;
ipport |   status   | chanobjecttype | natsupport | objectname | realtimedevice | dynamic | acl | videosupport | channeltype |   ipaddress    |   event   
--------+------------+----------------+------------+------------+----------------+---------+-----+--------------+-------------+----------------+-----------
5060   | OK (5 ms)  | peer           | yes        | 216        | no             | yes     | no  | no           | SIP         | 10.1.10.4      | PeerEntry
2254   | OK (12 ms) | peer           | yes        | 215        | no             | yes     | no  | no           | SIP         | 10.1.10.3      | PeerEntry
2253   | OK (12 ms) | peer           | yes        | 214        | no             | yes     | no  | no           | SIP         | 10.1.10.3      | PeerEntry
(3 rows)


No comments: