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

Выборка CDR через AMI

0

AMI может может получать CDR Event'ы в реальном времени (по окончанию звонка, насколько я понял), для этого есть опция в cdr_manager.conf

А возможно ли каким-то образом получить уже существующие CDR записи именно через AMI? Например запросить последние записи или записи на определенную дату?

Пытаясь найти ответ на данный вопрос, наткнулся на софт Asterisk CDR Inspector, там в описании "reads CDRs through Manager API". Софт под Mac, проверить не могу, есть исходники: http://www.loudhush.ro/tools/AsteriskCDRInspector.html

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

спросил 2012-12-12 19:21:09 +0400

Kostan Gravatar Kostan
21 4 6

3 Ответа

-1

cdr инспектор именно слушает евенты. таких програм полно,например посмотрите исходники проекта FOP.

если вы хотите запросить cdr канало ДО его завершения то делается это через ами точно так же как и запрос любой переменной.

вот тут примеры.

http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+GetVar

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

ответил 2012-12-12 20:47:31 +0400

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

Вы на ложном пути, точно так же попытались сделать MIKO и у них получилась херня. Сделайте программу-проставку если хотите упростить соединение с астериском и в то же время получать данные из БД.

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

ответил 2012-12-12 21:15:08 +0400

switch Gravatar switch
8334 11 7 92
http://lynks.ru/

Comments

ну пусть пытаются люди. может благодаря им повытаскивают всех блох в АМИ.

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

MIKO, как я понял, это компонент 1С для взаимодействия с Asterisk, включающий в себя некую операторскую панель. Вся связь с * происходит через AJAM, т.е. команда -> ожидание event'а. Я не изучал реализацию от MIKO, но чем это принципиально хуже нежели с применением программы-проставки, ведь именно для этого и создан AMI? Я только не понимаю почему в AMI не сделали команды для выборки CDR!?

Kostan ( 2012-12-14 02:28:04 +0400 )редактировать

потому что для этого уже есть cdr. вы конечно можете мониторить CEL евенты или запрашивать переменные, но смысл?

meral ( 2012-12-14 03:50:37 +0400 )редактировать

Kostan, AJAM и AMI это одно и тоже но по разным протоколам, а понимание почему не сделали команды выборки CDR придет с опытом. Вероятно у вас "windows-like" образ программисткого мышления, потому и ожидаете сборную солянку из интерфейсов.

switch ( 2012-12-14 06:48:55 +0400 )редактировать
2

Люди, вы читать умеете?? Человек четко написал:

А возможно ли каким-то образом получить уже существующие CDR записи именно через AMI?

При чем тут ДО завершения, или программа приставка?

Правильный ответ - нет, нельзя получить существующие записи через AMI средствами AMI (https://wiki.asterisk.org/wiki/display/AST/AMI+Actions)

Но! Неправильный ответ - можно :-) Через вызов AMI Command, и далее System, который вызовет системный скрипт, который прочтет Master.csv, или SQLite базу, или другую базу, и сгенерирует UserEvent, в рамках которого перешлет эту информацию. Или тоже самое сделать через AGI Command.

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

ответил 2012-12-18 10:37:59 +0400

litnimax Gravatar litnimax
1453 11 8 29
http://www.pbxware.ru/

Comments

Вот и нашелся человек, который насоветовал MIKO таких костылей. AMI для этого не предназначен, не нужно через него гонять мегабайты информации. А если этот тип попросит через AMI получать записи разговоров?

switch ( 2012-12-18 10:53:23 +0400 )редактировать

LOL :-) Я это не советовал, чесна :-))

litnimax ( 2012-12-18 12:08:03 +0400 )редактировать

Через AMI вообще плохо CDR получать, так как в случае потери коннекта записи тоже теряются.

litnimax ( 2012-12-18 12:08:42 +0400 )редактировать

литни у меня баг. я не могу минус поставить. мне нельзя,да? а вообще можно. слушать, скаладывать в память event listener ом, потом выдавать по завпросу. почему нельзя?)

meral ( 2012-12-18 15:26:43 +0400 )редактировать

ем. походу и плюсы я ставить не могу(

meral ( 2012-12-18 15:28:33 +0400 )редактировать

meral, по-моему ты не понял суть задачи. Вопрошающему нужно делать запросы в CDR, а не получать реалтайм инфу о текущих переменных.

switch ( 2012-12-18 15:28:54 +0400 )редактировать

понял понял. надо ВСЕ хранить в памяти за 10 лет. и выбирать;)

meral ( 2012-12-18 15:30:03 +0400 )редактировать

Нам Макс ничего не советовал, мы сами дошли. :) По сути он все верно в ответе написал. Через AMI+UserEvent есть смысл получать и вполне нормально получаются записи, если нужно сделать небольшую выборку за определенное число. Мы в панелях используем такой механизм для получения истории звоков за сегодня до запуска 1С. После чего ловим CDR события в AMI. Для загрузки CEL и CDR записей в 1С, мы используем PHP скрипт минуя Asterisk.

jorikfon ( 2012-12-20 00:10:33 +0400 )редактировать

Нет, ну офигеть просто. Этот "ответ" - два плюса, а мой верный ответ - два минуса. Макс, может ты тогда сам тут будешь на все вопросы отвечать? А то что-то когда ты ВНЕЗАПНО появляешься на форуме моя карма начинает стремительно падать вниз. Да и минусовать запретили!

switch ( 2012-12-20 16:55:54 +0400 )редактировать

switch, я честно не могу понять о чем ты. Про плюсы и минусы. Я ничего не трогал. Буду разработчика спрашивать, может он "обновился".

А насчет падения кармы... Я подозреваю, что ты поплатился за хамство :-)

> попытались сделать MIKO и у них получилась херня

В грубой и некооперативной форме ты высказался о чужом продукте. Был бы продукт мой - я бы обиделся. Видимо, чуваки из МИКО прошлись по твоим постам и напихали минусов. А я просто пример показал :-)) Гыы.

litnimax ( 2012-12-20 18:20:42 +0400 )редактировать

Хотя вот смотрю историю изменений кармы jorijfon'a, все гладко, он тебе только один минус только за этот пост поставил, -1-2 = - 2, все четко. Я выразил свое отношение к твоему ответу, он тоже. Повышай культуру общения :-) Ты же не думаешь, что опыт и знаний по Asterisk дают тебе право и основание хамить другим, верно? :-))

litnimax ( 2012-12-20 18:23:46 +0400 )редактировать

Я согласен что выразился резко, но я не привык улыбаться людям в лицо и при этом держать фигу в кармане. Если работа выполнена плохо, я говорю как есть, тем более что в тематике я разбираюсь на отлично.

Если хочешь адекватной оценки решения то придется услышать нелестные оценки. Хочешь прислушивайся, не хочешь - ставь минусы, больше не обращайся. Я им достаточно подробно все расписал, у них свое мнение. Я видел их "код" и реально не представляю как кто-то может такое внедрить. Это будет работать, но такой подход - в корне не верный. Если бы они сделали как надо, я бы либо ничего не сказал, либо сказал: "парни, сделали на славу". Ты думаешь мне по поводу моей системы неприятных вещей не говорили? Говорили, а я записывал как не надо делать.

Пойми верно: большому счету мне выгоднее дать дезинформацию чтобы уменьшить конкуренцию, но я наоборот, помогаю.

switch ( 2012-12-20 18:45:39 +0400 )редактировать

Топикстартер решил пойти по ложному пути, я и meral сказали что это не верно. Потом, видимо, пришел парень из MIKO (а может топикстартер это он и есть), увидел непорядок, позвонил тебе, пришел ты, устроил склоку. Плюс указал топикстартеру на НЕВЕРНОЕ решение. Формально твой ответ более точный, но это если без учета контекста. Ну а нас лишил права выразить отношение к ответам.

А твоя деятельность ведет к тому, что мне проще давать тупые ответы на тупые вопросы и получать за них гарантированные плюсы, а такие вот неоднозначные на первый взгляд темы обходить стороной, ибо думать надо много, а спасибо сказать топискстартер все равно забудет. А еще хуже придешь ты, налепишь минусов и уйдешь опять в себя читать книжки.

Кстати показательно, что ты пришел только в две темы, в которых я ответил и только мне налепил ;). Такая "благодарность" это ли не хамство?

switch ( 2012-12-20 18:51:09 +0400 )редактировать

> но я не привык улыбаться людям в лицо и при этом держать фигу в кармане

Блин, ты путаешь одно с другим. Культурное общение не предполагает употребление грубых слов по отношению к другому. Даже если человек сделал ошибку, или/и ты не согласен с его позицией, умей выражать это вежливо и без ущемления самолюбия. Только при таком подходе складывается конструктивное общение, от которого выигрывают все :-)

P.S. Очень советую, прочти книгу "пока ваш ребенок не свел вас с ума" :-)

litnimax ( 2012-12-20 18:54:57 +0400 )редактировать

> Топикстартер решил пойти по ложному пути, я и meral сказали что это не верно. Потом, видимо, пришел парень из MIKO (а может топикстартер это он и есть), увидел непорядок, позвонил тебе, пришел ты, устроил склоку.

Это называется искажение :-)) Об этом можно почитать, например, у Самсоновой "Если покупатель говорит нет" (http://service-obmen.narod.ru/3.5.html). Или в "Искусство системного мышления" :-))

Ты исказил в своем сознании реальность, и отреагировал в соотв. с этой искаженной картой. Сразу пошли обвинения в сговоре, всякие "я тут столько отвечаю, а ты", и прочее.

Я появился тут недавно в связи с проверкой того, как DDoS отразил. Решил ответить где-то. В соотв. со своими принципами, на таких же основаниях как и все. И пошло поехало. Это первое появление пару дней назад. А вчера, случайно опять же, проверяя скорость открытия сайта, решил отредактировать чужой пост и поправить форматирование. Заодно и ответил.В соотв. со своими убеждениями. Хотя, пост не правленный, значит, это тогда было :-)

litnimax ( 2012-12-20 19:04:53 +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-12-12 19:21:09 +0400

Просмотрен: 3,238 раз

Обновлен: Dec 18 '12

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