Логи AstDB

Для начинающих.
Всем начинающим - сюда.

Модераторы: Admins, Модераторы

Ответить
rrv
Сообщения: 62
Зарегистрирован: 29 авг 2012, 13:23
Откуда: Харьков

Логи AstDB

Сообщение rrv » 29 авг 2012, 13:40

Добрый день!
Есть задача - формировать отчеты об изменении статуса операторов моего коллцентра.
Статус планирую менять или комбинацией кнопок на телефоне с заносом данных в AstDB или через веб интерфейс панели супервизора (FOP2)

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

CLI> database show
/fop2state/SIP/00017                              : Break                    
/fop2state/SIP/10194                              : Do not Disturb 
Подскажите можно ли как-то вести логи изменения БД, или может что-то еще можно придумать?

Asterisk 1.8

awsswa
Сообщения: 1729
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 29 авг 2012, 14:05

а чем плох mysql ?

rrv
Сообщения: 62
Зарегистрирован: 29 авг 2012, 13:23
Откуда: Харьков

Сообщение rrv » 29 авг 2012, 14:31

В моем случае ничем, только ума не приложу как фиксировать время при смене статуса?

awsswa
Сообщения: 1729
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 29 авг 2012, 16:19

ну если вы еще userfield из cdr не используете.
exten => Set(CDR(userfield)="тру-ля-ля")
но в ващем случаи по моему надо делать отдельную базу в mysql и писать свои параметры.
Сам не делал, но примерно так:

Создаете в mysql базу cid и вставляете нужные записи
exten => 166, 1, Answer()
exten => 166, 2, Wait(1)
exten => 166, 3, MYSQL(Connect cid localhost root asterisk asterisk)
exten => 166, 4, MYSQL(Query resultid ${cid} INSERT\ INTO\ `pass`\ (nomer\,pass)\ VALUES\ (\'123\'\,\'231\'))
exten => 166, 5, MYSQL(Clear ${resultid})
exten => 166, 6, MYSQL(Disconnect ${cid})
exten => 166, 7, Hangup()

В вашем случаи определитесь с количеством полей: время, телефон, статус, еще поле ? и пишите.

rrv
Сообщения: 62
Зарегистрирован: 29 авг 2012, 13:23
Откуда: Харьков

Сообщение rrv » 30 авг 2012, 10:29

Спасибо за совет :)

Added after 1 hours 9 minutes:

Возник еще один вопрос по экспорту в mysql:
Статусы пользователей планируется менять как комбинацией кнопок на телефоне (тут все понятно, реализуется приложением Mysql() ), так и с помощью панели супервизора FOP2.
Со вторым вариантом загвоздка, т.к. изменение статуса фиксируется в AstDb.
Можно ли сделать экспорт из AstDB в MYSQL ?

Added after 18 minutes:

Пока на ум пришло, создание скрипта, где будет опрашиваться astdb с сортировкой, с последующим экспортом в mysql, с проверкой полей на изменение.
asterisk -rx "database show" | grep ....

Но как то это через одно место получилось :shock:

Аватара пользователя
noize
Сообщения: 913
Зарегистрирован: 29 ноя 2006, 12:51
Откуда: Москва

Сообщение noize » 31 авг 2012, 08:07

[url=http://asteriskforum.ru/viewtopic.php?p=65294#65294][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] awsswa @ Ср Авг 29, 2012 19:19 писал(а): exten => 166, 3, MYSQL(Connect cid localhost root asterisk asterisk)
exten => 166, 4, MYSQL(Query resultid ${cid} INSERT\ INTO\ `pass`\ (nomer\,pass)\ VALUES\ (\'123\'\,\'231\'))
exten => 166, 5, MYSQL(Clear ${resultid})
exten => 166, 6, MYSQL(Disconnect ${cid})
Познакомьтесь уже с odbc

rrv
Сообщения: 62
Зарегистрирован: 29 авг 2012, 13:23
Откуда: Харьков

Сообщение rrv » 03 сен 2012, 09:43

noize, не совсем вас понял, у меня нет проблем с записью данных в mysql из диалплана, я на знаю как извлечь данные из AstDB (в него пишет панель супервизора FOP2) в MYSQL

xelas
admin
Сообщения: 1155
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 03 сен 2012, 09:51

в консоли астериска:

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

core show function DB

rrv
Сообщения: 62
Зарегистрирован: 29 авг 2012, 13:23
Откуда: Харьков

Сообщение rrv » 03 сен 2012, 13:49

То ли я вас не понимаю, то ли вы меня :shock:

Есть панель супервизора FOP2, в ней есть возможность смены статуса пользователя, и когда пользователь, через вебинтерфейс меняет статус, в AstDB появляется запись

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

CLI> database show
/fop2state/SIP/00017                              : Break                    
/fop2state/SIP/10194                     : Do not Disturb
Для формирования отчета, о том какой sip когда/сколько времени был в указанном статусе, мне надо получить таблицу (время смены статуса, sip, статус).

Как это лучше сделать в описанной ситуации?

Аватара пользователя
noize
Сообщения: 913
Зарегистрирован: 29 ноя 2006, 12:51
Откуда: Москва

Сообщение noize » 04 сен 2012, 08:15

посмотрите, может быть о новой записи в db астериск отсылает ивент в AMI. В Таком случае можно написать внешее приложение, которое одним концом будет слушать определённые события астериска, а другим концом записывать эти события в Mysql.

Ответить