Найти в Дзене
Обо всем на свете

АТС Elastix. Удаление записей разговоров

Привет, друзья! Хочу поделиться с вами небольшой доработкой функционала АТС Elastix 4.0. У нас в компании в качестве АТС трудится Asterisk и оболочка для него Elastix версия 4.0. Включена запись разговоров сотрудников и количество этих разговоров накапливается очень даже значительно за год работы. Нам столько не нужно и их надо как-то удалять. А если кто пользовался этой оболочкой, то знает, что функционала по групповому удалению записей там просто нет. По умолчанию система выводит на странице 20 записей. Для удаление записи - ее надо выделить, щелкнув на чек-бокс и нажать кнопку "Удалить", Чтобы удалить все записи на странице надо сделать 20 щелчков по чек-боксам и потом нажать на кнопку "Удалить". У нас за день около 200 разговоров. В общем задача эта не из приятных. Покопавшись в интернете нашел решение этой проблемы. Умные люди тоже столкнулись с этой проблемой и решили ее следующим образом: они подправили код страницы так, чтобы на странице выводилось не 20 записей, а 200 и что

Привет, друзья!

Хочу поделиться с вами небольшой доработкой функционала АТС Elastix 4.0.

У нас в компании в качестве АТС трудится Asterisk и оболочка для него Elastix версия 4.0. Включена запись разговоров сотрудников и количество этих разговоров накапливается очень даже значительно за год работы. Нам столько не нужно и их надо как-то удалять. А если кто пользовался этой оболочкой, то знает, что функционала по групповому удалению записей там просто нет.

По умолчанию система выводит на странице 20 записей. Для удаление записи - ее надо выделить, щелкнув на чек-бокс и нажать кнопку "Удалить", Чтобы удалить все записи на странице надо сделать 20 щелчков по чек-боксам и потом нажать на кнопку "Удалить". У нас за день около 200 разговоров. В общем задача эта не из приятных.

Это старая версия Elastix, но дает понять как выглядит
Это старая версия Elastix, но дает понять как выглядит

Покопавшись в интернете нашел решение этой проблемы. Умные люди тоже столкнулись с этой проблемой и решили ее следующим образом: они подправили код страницы так, чтобы на странице выводилось не 20 записей, а 200 и чтобы все чек-боксы уже были в активном состоянии. Тем самым Вам надо будет только нажимать на кнопку "Удалить", а это гораздо быстрее.

Итак, начнем.

1. Вам нужно подключиться по SSH к вашему серверу с установленной АТС. Открываем терминал и вводим:

ssh root@xxx

Где, root - логин пользователя, который у вас наделен администраторскими правами, а xxx - или ip адрес, или имя машины, на которое у вас установлена АТС-ка.

Вводим пароль и попадаем на удаленную машину.

2. Переходим в папку с модулем мониторинга

cd /var/www/html/modules/monitoring

3. Делаем копию файла index.php, в который мы будем вносить изменения, чтобы можно было откатить все назад, на случай, если что-то пойдет не так.

cp index.php index.php.old

Я добавил приписку old к имени файла, вы можете назвать как Вам нравится.

4. Открываем файл index.php для редактирования в любом редакторе, который Вам нравится. Я привык работать через nano.

nano index.php

5. Находим в открывшемся файле строку:

$limit = 20

и меняем 20 на то число сколько записей вы хотите выводить на страницу, например, 200

$limit = 200

6. Следующая строка которую Вам надо исправить будет отличатся смотря от того какая у вас версия Elastix.

Либо она будет вот такой:

$arrTmp[0] = "<input type 'checkbox' name='id_".$value['uniqueid']."' />";

и вам ее надо привести к такому виду:

$arrTmp[0] = "<input type 'checkbox' name='id_".$value['uniqueid']."' checked/>";

Либо она будет такой (как у нас):

$arrTmp = formatCallRecordingTuple($value);
array_unshift($arrTmp, ($bPuedeBorrar && ($value['recordingfile'] != 'deleted'))
? '<input type="checkbox" name="uniqueid[]" value="'.
htmlentities($value['uniqueid'].'|'.$value['recordingfile'], ENT_COMPAT, 'UTF-8').'"/>'
: '');

и вам ее надо привести к такому виду:

$arrTmp = formatCallRecordingTuple($value);
array_unshift($arrTmp, ($bPuedeBorrar && ($value['recordingfile'] != 'deleted'))
? '<input type="checkbox" checked name="uniqueid[]" value="'.
htmlentities($value['uniqueid'].'|'.$value['recordingfile'], ENT_COMPAT, 'UTF-8').'"/>'
: '');

И в первом, и во втором случае мы добавили параметр checked, который как раз и говорит о том, в каком статусе по умолчанию у нас должен быть чек-бокс. В первом случае он идет в конце строки перед закрывающим тэгом >, во втором случае идет после типа поля checkbox.

Сохраняем файл. Обновляем страницу на Elastix и пользуемся.

Надеюсь Вам эта информация будет полезной.

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

#elastix #asterisk #ip телефония #бизнес #атс #миниатс #настройка elastix