Страница 1 из 1
Как получить информацию из CDR Asterisk'а
Добавлено: 05 сен 2012, 20:06
Sufir
Сразу извиняюсь, если вдруг отписал не в том разделе и прошу модераторов перенести куда следует.
Про Asterisk услышал час назад. Естественно знания о нём у меня близки к нулю.
У меня есть CDR's (в БД). Необходимо получить все входящие звонки (номера с которых звонили) на ряд номеров. Посмотрел
тут - вроде мне достаточно полей
dst и
src... Но, некоторые звонки могут находиться в очереди или переадресовываться с какого-либо номера на нужный нам - тут, вероятно, нужно как-то отследить по полям channel, dstchannel ещё как-то?..
Кто-то может подсказать, как выбрать из CDR
все звонки на определённый номер или порекомендовать доступную и достаточно подробную статью о том как разобрать CDR Asterisk'а? Заранее спасибо.
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 05 сен 2012, 20:35
Vlad1983
разбирать cdr со "стандартным" набором полей достаточно заморочено.
в вашем случае проще добавить в таблицу ещё одно поле, например с названием exten
по входящем контексте добавить где нить в начале
exten => блабла,дыщ,Set(CDR(exten)=${EXTEN})
...
перезапустить астериск
сделать пару вызовов и посмотреть заполняется ли поле
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 05 сен 2012, 20:45
Sufir
Vlad1983 писал(а):по входящем контексте добавить где нить в начале
exten => блабла,дыщ,Set(CDR(exten)=${EXTEN})
Дело в том, что к Asterisk'у у меня доступа нет и не будет и поэкспериментировать я не могу. У меня есть только стандартная CDR из которого мне нужно получить все звонки. А что за
exten и что оно мне дало бы, в случае наличия в таблице? Определение входящего звонка?
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 05 сен 2012, 21:10
Vlad1983
точнее, однозначное определение на какой номер изначально пришел вызов
в поле dst при входящих может быть все что угодно. все зависит от диалплана.
по каналам можно определить, только если по одному номеру на пир.
в общем, стоит почти нерешаемая задача без переделок на астериске.
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 05 сен 2012, 21:15
awsswa
Жесть, одиннаковый вопрос на 3 форумах - это для скорости ответа что ли ?
Усть более продвинутый уровень логгирования CEL
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 05 сен 2012, 21:22
Sufir
Vlad1983 писал(а):точнее, однозначное определение на какой номер изначально пришел вызов
Так мне как раз и не важно на какой изначально пришел. Меня интересует финальный результат, т.е. (реальное) соединение с номером 2222. Не важно пришло оно из очереди, попало напрямую или переадресовано с другого внутреннего номера. Или я вас не так понял?
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 06 сен 2012, 07:32
Vlad1983
тогда у вас уже все есть
сделать пару десятков тестовых вызовов со всеми возможными вариантами переадресаций, трансферов, групп, очередей что у вас там ещё ХЗ
проанализировать после этого созданные записи
Re: Как получить информацию из CDR Asterisk'а
Добавлено: 06 сен 2012, 07:54
Sufir
В том-то и проблема. Повторюсь, у меня есть только готовый CDR. Одна таблица в Postgres/ У меня нет доступа ни к телефонам, ни к оборудовнию ни к астериску (я о его существовании-то вчера только услышал). В противном случае у меня не было бы необходимости спрашивать об этом на форуме. Поэтом я прошу подсказать тех у кого есть опыт работы с ним и знания о CDR (либо подсказать статью или материал с доступным подробным разбором).
К примеру мне нужно получить список номеров с которых звонили на 2222. Если взять все записи где dst = 2222 - мы получим все прямые звонки на данный номер (но не переадресации и не звонки из очереди), я так понимаю?