Читать «ELASTIX – общайтесь свободно» онлайн - страница 96

Владислав Юров

Это очень быстро засоряет диск и при переполнении может привести к остановке работы Elastix. Поэтому рекомендую отключить архивирование аудиозаписей, откорректировав скрипт:

nano /var/www/backup/automatic_backup.php

перечислив компоненты для регулярного резервного копирования и дополнив строку запуска процедуры создания резервной копии строкой «' '.$components»:

$components=' – components=as_db,as_config_files,as_voicemail,as_sounds,'

.'as_mohmp3,as_dahdi,fx_db,fx_pdf,em_db,em_mailbox,ep_db,'

.'ep_config_files,sugar_db,vtiger_db,a2billing_db,mysql_db,'

.'menus_permissions,fop_config,calendar_db,address_db,conference_db,eop_db';

system('/usr/share/elastix/privileged/backupengine – backup – backupfile '.

$sBackupFilename.' – tmpdir '.$sBackupDir.' '.$components, $retval);

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

#!/bin/bash

fl=/var/www/html/modules/backup_restore/index.php

cp $fl ${fl}-orig

txt_old='["]as_monitor["]'

txt_new='\/\/ \"as_monitor\"'

sed "s/$txt_old/$txt_new/g" – i $fl

Отключение зависших соединений

Некоторые разговоры не могут быть разорваны автоматически. Чаще всего это происходит при ошибках передачи данных, когда телефонам абонентов и Elastix не удается корректно отреагировать на не доставленные пакеты. Если у абонентов включен режим Ожидания вызова (Call Waiting), то этого никто не заметит, так как новые звонки продолжат поступать. Если же зависнет соединение с абонентом, у которого отключен режим Ожидания вызова (Call Waiting), то связаться с таким абонентом не получится. Также зависшие соединения создают проблемы абонентам, у которых настроена условная переадресация (по состоянию Занято), и операторам Очередей (Queues), из-за чего к ним не будут поступать новые звонки. Зависшие соединения приходится разрывать вручную или автоматически. Далее описаны оба варианта отключения таких соединений.

Ручной разрыв соединений

К сожалению, связь может зависнуть на любой минуте. Есть возможность разорвать зависшее соединение вручную. Для этого следует выполнить в меню PBX \ Tools команду:

core show channels concise

и выяснить уникальный идентификатор соединения, который указан после последнего восклицательного «!» знака:

После чего дать команду вида:

channel request hangup 1422080480.13497

для принудительного разъединения:

Также можно установить бесплатный модуль bSmart Calls Disconnector, отображающий текущие разговоры в табличном виде и позволяющий разъединять соединения:

Автоматический разрыв соединений

Для автоматического разъединения соединений можно настроить опции Elastix, ограничивающие время разговора до 30 минут по внутренним и до 15 минут по внешним линиям при помощи указания опций набора:

L(x[: y[: z]]) – ограничить звонок временем в «x» ms, проиграть предупреждение за «y» ms до разрыва соединения, повторять предупреждение каждые «z» ms. Параметры y и z являются не обязательными.

Другой способ автоматического разрыва зависших соединений – создать небольшой скрипт, который будет отслеживать соединения и отключать их при обнаружении проблем. Для этого необходимо подключиться к Elastix под пользователем «root», создать небольшой скрипт: