Elastix CloudElastix Cloud

logo_elxcloudElastix Cloud — это on-line сервис, разработанный компанией PaloSanto Solutions. Данный сервис включен во все подписки Elastix Support: идея состоит в том, чтобы пользователи могли получить доступ к информации и следить за состоянием своих серверов на базе Elastix.

Идея родилась еще в 2011 год и заключалась в том, чтобы получать подробную информацию о серверах Elastix. Пользователи смогут получать моментальную поддержку как по электронной почте, в чате, по телефону, а также получать информацию о предстоящих профилактических работах 24/7. В дополнение к этому, служба сможет отсылать оповещения в случае обнаружения проблем, строить детализированные графики, показывающие потребление ресурсов.

Компания PaloSanto Solutions постоянно совершенствует Elastix Cloud и добавляет новые службы. Один из текущих решений позволяет хранить резервные копии в облаке, что позволит вам быстро и просто восстановить работу Elastix

Перенос образа из VirtualBox в XEN

vbxenelastixДля того, чтобы перенести ваш образ, созданный в VirtualBox в XEN необходимо сконвертировать VDI-диск в IMG формат. Для этого воспользуемся утилитой VBoxManage, поставляемой вместе с VirtualBox. Поскольку переношу я на MacOS, я воспользуюсь Terminal (поскольку программа консольная).

Итак, перейдите в каталог, где располагается ваш VDI-диск и выполните команду:

VBoxManage internalcommands converttoraw machine-name.vdi newmachine-name.img

После этого в консоли вы увидите сообщение:

Converting image "machine-name.vdi" with size 8908701696 bytes (8496MB) to raw...

Учтите, что процесс может занять длительное время, все зависит от размера вашего VDI-диска. После успешного конвертирования любым удобным способом заливаем newmachine-name.img на сервер с установленным гипервизором XEN.

Далее необходимо будет создать конфигурационный файл. (далее…)

Создание пользователей в Elastix на php

В этой заметке я покажу как с помощью PHP создать группу в Elastix, добавить в нее пользователя, и назначить права. Собственно сам скрипт:

#!/usr/bin/php -q
<?
include_once("/var/www/html/libs/paloSantoACL.class.php");
include_once("/var/www/html/libs/paloSantoDB.class.php");
include_once("/var/www/html/modules/group_permission/libs/paloSantoGroupPermission.class.php");

$pDB = new paloDB("sqlite3:////var/www/db/acl.db");
$pACL = new paloACL($pDB);

echo "================= CREATING GROUPS=================\n";
$pACL->createGroup('PBXAdmin','NEOPbx Administrator',1);
$idGroupA=$pACL->getIdGroup("PBXAdmin");
echo "ID PBXAdmin:".$idGroupA."\n";

echo "============ SET GROUP PERMISSIONS ============\n";
$pACLGP = new paloSantoGroupPermission();
$arrResources=$pACLGP->loadGroupPermissionsACL($pACL->getIdGroup("administrator"));
$listaPermisosNuevosGrupo = array();
foreach($arrResources as $resource) {
    $listaPermisosNuevosGrupo[]   = $resource["resource_id"];
}
echo "Set permissions for group PBXAdmin: ";
$pACLGP -> saveGroupPermissions("access",$idGroupA,$listaPermisosNuevosGrupo);
echo "OK\n";

echo "============ ADD USERS ============\n";
echo "Creating user 'adminvirt': ";
$pwd=randomPassword();
$pACL->createUser("adminvirt","adminvirt",md5($pwd),"","","");
$pACL->addToGroup($pACL->getIdUser("adminvirt"),$idGroupA);
echo "OK\n";
echo "Password user 'adminvirt': $pwd\n";

echo "============ INSTALLATION COMPLETE ============\n";

function randomPassword() {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    $pass = '';                           //password is a string
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
    for ($i = 0; $i < 20; $i++) {
	$n = mt_rand(0, $alphaLength);    
        $pass = $pass.$alphabet[$n];      //append a random character
    }
    return ($pass); 
}

?>

NEOPbx / Elastix autoconfiguration system

Customer VID Ltd.
Project NEOPbx
State In process
Description Develop the module, which add autoconfiguration IP-phones without add it into the Web-interface.Заказчик ООО ВИД
Проект NEOPbx
Статус В разработке
Назначение Разработать модуль для NEOPbx / Elastix, который позволяет автоматически подключать новые телефоны, без необходимости заводить номера в веб- интерфейсе.

Добавочный номер в IVR через транк Elastix / FreePBX

Предположим, что у нас есть 2 АТС Elastix / FreePBX объединенные через SIP/IAX2 транк с номерными планами 3XX и 4XX соответственно. Назовем их АТС1 и АТС2. Необходимо чтобы, попадая в голосовое меню IVR АТС1, можно было сделать донабор 4XX и попасть на номера АТС2.

Стандартными возможностями, на сколько мне известно, это сделать не возможно. Но можно легко обойти это ограничение. Итак, открываем файл конфигурации /etc/asterisk/extestions_custom.conf на АТС1 и/или добавляем в него контекст:

[from-did-direct-ivr-custom]
exten  => _4XX,1,Goto(outbound-allroutes,${EXTEN},1)

Сохраняемся и даем команду на рестарт:

[email protected]/etc# asterisk -rx "reload"

Monitoring module for IP PBX NEOPbx / ElastixМодуль мониторинга за состоянием IP АТС NEOPbx / Elastix

search-mag-glassЗавершены работы по разработке модуля мониторинга за техническим состоянием IP АТС NEOPbx / Elastix в режиме реального времени. Модуль позволит отслеживать такие важные параметры как:

  • Загрузка CPU
  • Используемый объем оперативной памяти
  • Заполнение дискового пространства
  • Загруженность Интернет-канала
  • Текущее состояние основных служб АТС
  • Доступность внешних линий SIP, IAX, E1

Установка модуля на IP АТС NEOPbx / Elastix будет совершенно бесплатной, а стоимость подписки на 1 месяц составит всего 1 000 рублей. Информирование о нештатном состоянии АТС производится по электронной почте и SMS.

NEOPbx / Elastix cluster module

Customer VID Ltd.
Project NEOPbx
State Frozen
Description Develop module to manage the cluster on basis heartbeat

clusterЗаказчик ООО ВИД
Проект NEOPbx
Статус Заморожен
Назначение Разработать модуль для управления кластером на основе heartbeat

cluster