Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Как сделать выброку CDR через Realtime

0

Есть задача программно получить записи  таблицы. Как для этой задачи воспользоваться механизмом Realtime?

удалить закрыть спам изменить тег редактировать

спросил 2012-04-16 11:34:04 +0400

jorikfon Gravatar jorikfon flag of Russian Federation
130 9 1 10
http://www.telefon1c.ru/

обновил 2012-04-16 11:43:22 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

поправил чуток чтоб точнее смысл отражало.

meral ( 2012-04-16 11:43:41 +0400 )редактировать

1 Ответ

2

в общем прочитать можно тут http://voip.rus.net/tiki-index.php?page=Asterisk+RealTime

кокректно делается так

1) идете в resmysql.conf или resodbc.conf по выбору(обычно mysql), прописываете там базу например вот так

2) /etc/asterisk/extconfig.conf

[settings]

;<conf filename> => <driver>,<databasename>~np~[~/np~,table_name~np~]~/np~

 cdr => mysql,asteriskcdrd,cdr

3) в диалпане пишите

http://www.voip-info.org/wiki/view/Asterisk+func+realtime

exten => _X.,1,Noop(${REALTIME(cdr,accountcode,1234)})

смотрите вывод и действуете соответсвенно(cut, пеерменные и так далее)

маленький хак. если нужно сложное условие делается вот так

exten => _X.,1,Noop(${REALTIME(cdr,'calldate>\'2012-01-01\' and calldate<\'2012-02-02\'' --,1234)})

в этом случае -- сработает как коментарий внутри mysql и будет использоваться ваше условие.

плюсы - все соединения к базе открывает астериск, делает пул, работает внутри астриска и быстро.

ссылка удалить спам редактировать

ответил 2012-04-16 11:51:52 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2012-04-16 11:53:08 +0400

Comments

Хм, интересно. Спасибо. Правильно ли я понимаю что должен быть установлен соответствующий драйвер ODBC в системе для данного решения?

jorikfon ( 2012-04-16 12:30:45 +0400 )редактировать

вопросы одбс не рассматриваются. если mysql то должен быьт скомпилен в астериске. для одбс надо и скомпилен в астриске,и установлен драйвер, и в системе DSN работать коректно.

meral ( 2012-04-16 12:35:43 +0400 )редактировать

ну то ж сдр а не реалтайм. у них обратная задача, извлеч записи.

meral ( 2012-04-16 13:46:56 +0400 )редактировать

Тут возникает проблема с тем что нужно кастомизировать установленный и работающий asterisk, не каждый на этот шаг пойдет. Если ставить систему с нуля, то без проблем можно сделать что угодно. В реале мы постоянно сталкиваемся с тем что нужно лезть в рабочую систему, это многих останавливает. Через ODBC мы можем с компьютера пользователя лазить в базу CDR напрямую не трогая вообще Asterisk.

jorikfon ( 2012-04-16 13:48:45 +0400 )редактировать

А вообще для 1С-ки пишут внешнюю компоненту, а она уже через AMI взаимодействует с Asterisk.

bolshoy_plohish ( 2012-04-16 13:53:39 +0400 )редактировать

Мы ее и пишем.

jorikfon ( 2012-04-16 17:43:22 +0400 )редактировать

ну так и лазте напрямую. зачем тогда астериск трогать то? одбс драйвер для мускл вполне доступен.

meral ( 2012-04-16 18:31:40 +0400 )редактировать

У нас есть 3 варианта на текущий момент. 1. Для тех к кого есть деньги на сервер 1С (приложение позволяющее выполнять фоновые задачи) - мы ловим по ajam CDR эвенты и складываем в 1С, после чего вся обработка и работа с историей происходит внутри 1С. Самый лучший, но самый затратный для клиента. До 15 реалтайм пользователей 1С обычно не покупают сервер. 2. Обращение из 1С клиента к базе CDR используя ODBC драйвер. Удобно, не надо костылей, но на каждом компьютере надо ставить mysql коннектор и открывать доступ средствами mysql или выносить mysql вообще за периметр Asterisk сервера, тогда еще на Asterisk надо ODBC ставить. 3. Вариант костыли из соседнего поста, возможно перепишем с использованием PHPAGI. Ну и возможно в качестве лабораторного теста соберем Realtime для изучения.

jorikfon ( 2012-04-17 09:28:19 +0400 )редактировать

у вас странные костыли. это как костыли из бивней мамонат в мегаполисе. кажися проще ведь с 1с по http запросить,нет? а скрипт который это выдаст вообще тривиальный. и выдаст вам сразу в csv. вообщем извините, но вам lead программиста надо уволить.

meral ( 2012-04-17 11:32:30 +0400 )редактировать

Мы исследуем разные варианты. Страницу PHP генерирующую XML структуру c историей звнков мы попробуем сделать. В этом плане нам очень понравилось то как отдает историю Switchvox. Наверное попробуем оттуда взять логику.

jorikfon ( 2012-04-17 11:56:38 +0400 )редактировать

выборка статистики с такогото по такоето в 1c это час разобы. но вы иследуйте конечно. еще раз говорю, меняйте lead.

meral ( 2012-04-17 12:16:33 +0400 )редактировать

Не получится менять, лид я.

jorikfon ( 2012-04-17 22:01:31 +0400 )редактировать

вот засада. тогда ищите консультанта или архитекта.

meral ( 2012-04-17 22:10:46 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-04-16 11:34:04 +0400

Просмотрен: 1,017 раз

Обновлен: Apr 16 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.