По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В данной статье расскажем про полезные инструменты, которые стали доступны в 4 версии графического интерфейса Elastix. Модуль, который управляет всеми этими инструментами так и называется Tools.
Итак, для того, чтобы попасть в модуль нужно проделать следующий путь PBX → Tools, как показано ниже:
Как видно, нам доступно 5 функциональных инструментов:
Asterisk-Cli
Asterisk File Editor
Text to Wav
Festival
Recordings
Давайте обо всём по порядку.
Asterisk-Cli
Данный функционал избавляет нас от необходимости подключаться к нашей IP-АТС Asterisk по SSH или Telnet для доступа к командной строке, позволяя вводить необходимые команды прямо из web-интерфейса Elastix. Например, может понадобиться для перезагрузки Asterisk или всей системы целиком, просмотра логов, включения режима отладки и т.п.
Ниже представлен пример выполнения команды dialplan show (просмотр правил маршрутизации)
Asterisk File Editor
Позволяет в реальном времени просматривать и менять содержимое конфигурационных файлов Asterisk. Стоит отметить, что при изменении некоторых конфигурационных файлов, Asterisk требуется перезапустить. Для этого предусмотрена отдельная кнопка Reload Asterisk
Text to Wav
Очень простой функционал Text-to-Speech. Пишем в строку нужную фразу, выбираем формат WAV или GSM и жмём кнопку Generate Audio File. Доступен только на английском языке.
Festival
Включаем и выключаем поддержку модуля Festival
Recordings
Данный функционал позволяет быстро добавить звуковую запись в модуль System Recordings. Доступно два способа:
Первый – проассоциировать внутренний номер с аккаунтом пользователя, с которого вы зашли в web-интерфейс, дать записи имя и нажать Record. Через некоторое время, АТС совершит вызов на указанный номер, после короткого звукового гудка – начнётся запись и завершится, когда вы положите трубку.
Второй – загрузить звуковой файл самостоятельно с компьютера.
Достаточно просто посмотреть «железные» компоненты вашего сервера в том случае, если он установлен поверх операционной системы на базе Windows. А что делать, если на сервере используется Linux – based операционная система? У нас есть ответ.
В Linux имеется множество различных команд, которые расскажут вам о процессорных или оперативных мощностях, дисках, USB или сетевых адаптерах, контроллерах или сетевых интерфейсах, а также о прочих «hardware» компонентах. Итак, спешим поделиться 16 командами, которые помогут вам познакомиться с сервером поближе.
lscpu
Самая простая команда для получения информации о процессорных мощностях (CPU) - lscpu. Она не имеет каких – либо дополнительных опций (ключей) и выполняется в единственном исполнении:
[root@hq ~]# lscpu
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 94
Stepping: 3
CPU MHz: 3191.969
BogoMIPS: 6383.93
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
lshw – список железных компонентов
Если у вас не исполняется данная команда, то вам необходимо установить lshw дополнительно. Например, в CentOS это можно сделать командой sudo yum install lshw.
Данная команда позволяет получить информативное описание компонентов вашего сервера, в том числе CPU, памяти, USB/NIC, аудио и прочих:
[root@hq ~]# lshw -short
H/W path Device Class Description
=====================================================
system Virtual Machine
/0 bus Virtual Machine
/0/0 memory 64KiB BIOS
/0/5 processor Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz
/0/51 memory 4GiB System Memory
/0/100 bridge 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled)
/0/100/7 bridge 82371AB/EB/MB PIIX4 ISA
/0/100/7.1 scsi1 storage 82371AB/EB/MB PIIX4 IDE
/0/100/7.1/0.0.0 /dev/cdrom1 disk DVD reader
/0/100/7.3 bridge 82371AB/EB/MB PIIX4 ACPI
/0/100/8 display Hyper-V virtual VGA
/0/1 scsi2 storage
/0/1/0.0.0 /dev/sda disk 160GB SCSI Disk
/0/1/0.0.0/1 /dev/sda1 volume 500MiB EXT4 volume
/0/1/0.0.0/2 /dev/sda2 volume 149GiB Linux LVM Physical Volume partition
/1 eth0 network Ethernet interface
lspci – список PCI
Данная команда отображает список всех PCI – шин и устройств, подключенных к ним. Среди них могут быть VGA – адаптеры, видео – карты, NIC, USB, SATA – контроллеры и прочие:
[root@hq ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
lsscsi – список SCSI устройств
Данная команды выведет список SCSI/SATA устройств, например, таких как оптические приводы:
[root@hq ~]# lsscsi
[3:0:0:0] disk ATA WD1600JS-55NCB1 CC38 /dev/sdb
[4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
lsusb – список USB – шин и подробная информация об устройствах
Команда расскажет про USB – контроллеры и устройства, подключенные к ним. По умолчанию, команда отобразит краткую информацию. В случае, если необходима глубокая детализация, воспользуйтесь опцией -v:
[root@hq ~]# lsusb
Bus 003 Device 001: ID 9c6a:00c1 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 092e:00de Microsoft Corp. Basic Optical Mouse v2.0
lsblk - устройства и партиции для хранения
Команда выведет информацию о разделах (партициях) жесткого диска и прочих устройствах, предназначенных для хранения:
[root@hq ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 149.6G 0 disk
+-sda1 8:1 0 500M 0 part /boot
L-sda2 8:2 0 149.1G 0 part
+-VolGroup-lv_root (dm-0) 253:0 0 50G 0 lvm /
+-VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
L-VolGroup-lv_home (dm-2) 253:2 0 97.2G 0 lvm /home
df - информация о пространстве файловой системы
Команда отображает информацию о различных разделах, точек монтирования это разделов а также размер, занятое и доступное пространство для хранения:
[root@hq ~]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
53G 7.1G 43G 15% /
tmpfs 2.1G 0 2.1G 0% /dev/shm
/dev/sda1 500M 26M 448M 6% /boot
/dev/mapper/VolGroup-lv_home
103G 143M 98G 1% /home
pydf - df на языке Python
Если у вас не исполняется данная команда, то вам необходимо установить pydf дополнительно. Например, в CentOS это можно сделать командой sudo yum install pydf.
Улучшенная версия команды df, написанная на Питоне. Подсвечивает вывод цветом, что улучшает восприятие:
fdisk
Утилита fdisk для управления разделами на жестких дисках. Помимо всего, утилита может использоваться для отображения информации:
[root@hq ~]# sudo fdisk -l
Disk /dev/sda: 160.7 GB, 160657440768 bytes
255 heads, 63 sectors/track, 19532 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e0ba6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 19533 156378112 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
mount
Утилита mount предназначена для управления и просмотра смонтированных файлов систем и соответствующих точек:
[root@hq ~]# mount | column -t
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/VolGroup-lv_home on /home type ext4 (rw)
/var/spool/asterisk/monitor on /var/www/html/ast_mon_dir type none (rw,bind)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
free
Посмотреть общий объем оперативной памяти (RAM), свободный или занятый? Легко, с помощью команды free:
[root@hq ~]# free -m
total used free shared buffers cached
Mem: 3919 3692 227 0 196 407
-/+ buffers/cache: 3088 830
Swap: 2015 0 2015
dmidecode
Данная команда отличается от остальных тем, что парсит информацию о железе из SMBIOS/DMI (очень детальный вывод).
#посмотреть информацию о cpu
sudo dmidecode -t processor
#ram информация
sudo dmidecode -t memory
#информация о bios
sudo dmidecode -t bios
файлы /proc
В директории /proc существует целое множество файлов, содержимое которых расскажет множество интересной и полезной информации о компонентах. Например, информация о CPU и памяти:
#cpu информация
cat /proc/cpuinfo
#информация о памяти
cat /proc/meminfo
Информация об операционной системе:
[root@hq ~]# cat /proc/version
Linux version 2.6.32-504.8.1.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Jan 28 18:25:26 UTC 2015
SCSI/Sata устройства:
[root@hq ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Msft Model: Virtual CD/ROM Rev: 1.0
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: Msft Model: Virtual Disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 05
Партиции:
[root@hq ~]# cat /proc/partitions
major minor #blocks name
8 0 156892032 sda
8 1 512000 sda1
8 2 156378112 sda2
253 0 52428800 dm-0
253 1 2064384 dm-1
253 2 101883904 dm-2
Наверняка кто-то из вас хоть раз в жизни получал SMS после звонка в определенную компанию.
Обычно, это просьба оценить работу операторов. Так, например, это сделано у GSM операторов. Также это может быть SMS с благодарностью за обращение от компании или же об актуальных акциях и предложениях.
Сегодня я хотел бы рассказать о том, как Вы можете реализовать подобную функцию с использованием FreePBX
Статья написана по мотивам существующей на данном ресурсе публикации "Оценка оператора после звонка"
У данного метода есть один недостаток - для его работы нужен chan_dongle и тариф с безлимитными SMS. Для тех, у кого нет пресловутого chan_dоngle, есть другой метод, который я постараюсь объяснить.
Для особо нетерпеливых прошу Вас заглянуть в контакты, возможно, я уже там появился :)
В данном методе мы не будем ломать диалплан FreePBX и использовать тяжелую артиллерию в виде MySQL. Итак, приступим.
Для начала открываем конфигурационные файлы, а именно:
/etc/asterisk/extensions_custom.conf
Вносим в него такой кусочек диалплана. В коде я дал комментарии зачем нужны некоторые части:
[send-sms]
exten => _.,1,NoOp(Start sms)
exten => _.,n,DIAL(SIP/${EXTEN},,trg) ;опция g позволяет "проваливаться вниз". ВНИМАНИЕ агент должен использовать вашу технологию (sip или pjsip)
exten => _X.,n,GotoIf($[${DIALSTATUS}=BUSY]?busy:answered) //проверяем, был ли отвечен вызов, вот здесь мы или пропускаем клиента дальше если с ним уже говорили или нет.
exten => _X.,n(busy),Hangup()
exten => _X.,n(answered),Goto(sms,${EXTEN},1)
[sms]
exten => _X.,1,NoOp(Statrt SendSms)
exten => _X.,n,Answer()
same => n,Set(COUNT=1); установка счетчика. По идее, он тут не нужен, но сделан на всякий аварийный случай. Вдруг заклинит и клиента заспамит смс? :)
same => n,Set(RECIVER=Имя донгла в системе); если используете донгл
same => n,Set(RECIPIENT=${CALLERID(num)})
same => n,Set(TEXT="Спасибо что обратились в нашу компанию Рога и копыта"); текст смс
same => n,GotoIf($["${RECIPIENT:0:2}" != "79"]?end); это проверка на принадлежность к мобильным номерам. Уточните формат входящих CALLERID(num) на вашей АТС - с 7 или 8?
same => n,System(/usr/sbin/asterisk -rx 'dongle sms ${RECIVER} 7${RECIPIENT:1} ${TEXT}'); тут отправка с донгла.
same => n,Set(COUNT=$[${COUNT} + 1]); увеличение счетчика (который не нужен, а вдруг)
same => n,GotoIf($["${COUNT}" > "1"]?end); проверка и отправка на завершение
exten => _X.,n(end),Goto(macro-hangupcall,s,1); Конец
Обратите внимание на пометки в диалплане. В частности, Агент должен использовать вашу технологию подключения. Входящие форматы на ваши транки, 7 или 8. Если он еще не унифицирован, то рекомендую это сделать и привести в норму стандарта E164. Если входящие у вас содержат + то, вместо ${RECIPIENT:0:2} сделайте ${RECIPIENT:0:3}
На этом, настройка конфигурационного файла extensions_custom.conf закончена. Теперь открываем файл queues_post_custom.conf и вставляем туда такую строку:
member=Local/4015781@send-sms/n,0,4015781,hint:4015781@ext-local
Где 4015781 номер существующего Агента в очереди. После этого, закрываем файл, перезагружаем диалплан командой dialplan reload и тестируем.
Применять можно, например, для отправки благодарности клиенту с напоминанием времени работы или адреса компании.
Чтобы не огорчить тех, кто не использует донглы или использует GoIP или другие Gsm шлюзы, на мой взгляд, есть более "красивый" метод:
Идем в один из множества веб сервисов для SMS рассылок (названия писать не буду), регистрируемся у них и берем их готовые библиотеки для доступа к API. Я покажу на примере PHP API одной известной компании:
#!/usr/bin/php -q
<?php
#парсим данные из AGI
require(′phpagi.php′);
$agi = new AGI();
$phone = $agi->request[′agi_arg_1′];
text = $agi->request[′agi_arg_2′];
$sender = ′INFORM′;
// !!! Замените API-ключ на свой.
$apikey = ′XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ′;
$url = ′https://smspilot.ru/api.php′
′?send=′.urlencode( $text )
.′&to=′.urlencode( $phone )
.′&from=′.$sender
.′&apikey=′.$apikey
.′&format=json′;
$json = file_get_contents( $url );
echo $json.′′;
$j = json_decode( $json );
if ( !isset($j->error)) {
echo ′SMS успешно отправлена server_id=′.$j->send[0]->server_id;
} else {
trigger_error( $j->description_ru, E_USER_WARNING );
}
Используем AGI. И в представленном диалплане меняем одну строку, а именно:
same => n,System(/usr/sbin/asterisk -rx 'dongle sms ${RECIVER} ${TEXT}'); тут отправка с донгла.
на:
same => n,AGI(sendsms.php, 7${RECIPIENT:1}, "${TEXT}")
И на этом - все. Чем данный способ лучше? Могу точно сказать, что в подобных сервисах для компаний есть возможность в качестве отправителя зарегистрировать название организации – это явно плюс в копилку лояльности клиента :)
Это значит, что не нужен донг и SMS клиенту приходит не с безликих цифр, а от имени вашей компании в поле отправитель. Это, безусловно, повышает доверие и лояльность получателя SMS.
Надеюсь, что данный метод будет полезен и найдёт применение в ваших бизнес-процессах. Удачи!