Asterisk-CDR-Viewer-Mod icon indicating copy to clipboard operation
Asterisk-CDR-Viewer-Mod copied to clipboard

Реальный номер источника

Open PRO-VOIP opened this issue 8 years ago • 6 comments

Возникла необходимость добавить новое поле в БД 'realsrc'. Данное поле запоминает реальный $EXTEN в случае использования конструкции exten => _X.,1,Set(CALLERID(num)=4955555555). Данная конструкция подменяет внутренний номер Asterisk на внешний DID в случае набора на внешний транк. Хотелось бы в статистике выводить: внутренний номер, внешний (CALLERID(num)) и номер В. Поле создал, alias прописал. Как теперь вывести данное поле в статистику?

PRO-VOIP avatar Sep 06 '17 19:09 PRO-VOIP

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

prog-it avatar Sep 11 '17 02:09 prog-it

Как вариант заносить эти данные в userfield или accountcode, благо все есть для отображения и поиска в этом поле. realsrc=4951234567; Также можно дополнительные параметры сохранить. Я туда записываю инфу с какой действительно линии пришел вызов и пометку, что сделать с номером, если вызов никто не принял - recall.

Realmagnum avatar Dec 12 '17 15:12 Realmagnum

Нужная штука. Потому, как при звонке через внешние транки мы "маскируем" Caller ID внутреннего номера. Но отображать в таблице нам надо реальный CID - номер (внутренний) того, кто звонил. То есть знать, кто звонил изнутри. Для этого в БД добавил поля clidmod и srcmod. И, в эти поля пишем CID до изменения. При этом, оригинальные (первоначальные) поля остаются (для данных записей) пустыми. В index.php версии v2.6.4 нужно добавить проверку на "пустость" оригинальных полей clidи src. Если они пустые, брать значения и выводить в GUI значения из clidmod и srcmod. Иначе из оригинальных clid и src. В index.php вместо formatSrc($row['src'],$row['clid']); добавил if (!empty($row['srcmod'])) { $src1 = $row['srcmod']; } else { $src1 = $row['src']; } if (!empty($row['clidmod'])) { $clid1 = $row['clidmod']; } else { $clid1 = $row['clid']; } formatSrc($src1,$clid1); При обычном отображении работает, пока не работае при выборке, когда, например запрашиваем номера за период дат.

CpServiceSpb avatar Jul 27 '18 21:07 CpServiceSpb

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

Уже есть такие просьбы: https://github.com/prog-it/Asterisk-CDR-Viewer-Mod/issues/43#issuecomment-351702732 https://github.com/prog-it/Asterisk-CDR-Viewer-Mod/issues/92

prog-it avatar Jul 29 '18 20:07 prog-it

Тогда будет выводиться 2 столбца (например) : clid и clidmod, в случае замены clid, столбец clid будет пустое или замененный, в случае не замены, clidmod - аналогично,

CpServiceSpb avatar Aug 01 '18 08:08 CpServiceSpb

а если в колонке кто звонил вместо экстеншена выдает "Неизвестно" - где указать сопоставление экстеншена и указного в нем ФИО - что бы выводило кто звонил - номер экстеншена хотя бы.

Автору ОГРОМНОЕ СПАСИБО (использую на Freebpx) очень помогло.

ametjan avatar Jul 24 '19 08:07 ametjan