-
Notifications
You must be signed in to change notification settings - Fork 7
Asterisk
Все конфигурационные файлы Asterisk лежат в /etc/asterisk
. Когда мы будем указывать конфигурационный файл, например sip.conf
, то его следует искать в этой папке.
-
Устанавливаем Asterisk с необходимыми пакетами:
sudo aptitude install asterisk asterisk-core-sounds-ru asterisk-mysql
-
Настраиваем Call data record (CDR) с MySQL:
-
Создаем базу данных и пользователя для учета звонков (пользователь:
asterisk
, пароль:password
, база:asterisk
)CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'password'; GRANT USAGE ON *.* TO 'asterisk'@'localhost' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS `asterisk`; GRANT ALL PRIVILEGES ON `asterisk`.* TO 'asterisk'@'localhost';
-
Создаем таблицу
cdr
в базе данныхasterisk
:CREATE TABLE `cdr` (
id
int(11) NOT NULL AUTO_INCREMENT,calldate
datetime NOT NULL DEFAULT '1930-01-01 00:00:00',clid
varchar(80) NOT NULL DEFAULT '',src
varchar(80) NOT NULL DEFAULT '',dst
varchar(80) NOT NULL DEFAULT '',dcontext
varchar(80) NOT NULL DEFAULT '',channel
varchar(80) NOT NULL DEFAULT '',dstchannel
varchar(80) NOT NULL DEFAULT '',lastapp
varchar(80) NOT NULL DEFAULT '',lastdata
varchar(80) NOT NULL DEFAULT '',duration
int(11) NOT NULL DEFAULT '0',billsec
int(11) NOT NULL DEFAULT '0',disposition
varchar(45) NOT NULL DEFAULT '',amaflags
int(11) NOT NULL DEFAULT '0',accountcode
varchar(20) NOT NULL DEFAULT '',uniqueid
varchar(32) NOT NULL DEFAULT '',userfield
varchar(255) NOT NULL DEFAULT '',did
varchar(50) NOT NULL DEFAULT '',recordingfile
varchar(255) NOT NULL DEFAULT '',call_id
int(11) NOT NULL DEFAULT '0',user_id
int(10) unsigned NOT NULL DEFAULT '0',callcamp2num_id
int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (id
), KEYcd
(calldate
), KEYci
(call_id
) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 -
Настраиваем CDR (включаем общий CDR), правим
cdr.conf
-
Прописываем подключение к БД в файле
-
-
Установим программу
ffmpeg
из PPA-репозитория Ubuntu:sudo add-apt-repository ppa:mc3man/trusty-media sudo aptitude update sudo aptitude install ffmpeg
-
Скачаем и установим дополнительные кодеки:
sudo wget -O /usr/lib/asterisk/modules/codec_g729.so http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-core2-sse4.so
-
Перезапустим asterisk:
sudo service asterisk restart
-
В папку, в которой у лежит список mp3-файлов, копируем файл mkmoh. Проставляем ему права на исполнение:
chmod +x mkmoh
а также правим в этом файле папку, куда складывать перекодированную музыку, а также пользователя и группу астериска. В скрипте забиты значения по умолчанию.
-
Запускаем этот скрипт:
sudo /home/asterisk/mkmoh
скрипт возьмёт все mp3 из текущей папки, сконвертирует их в нужный формат и положит в папку DIR, которая указана в скрипте
Настройка самого астериска:
- Конфигурируем каналы
/etc/asterisk/sip.conf
(http://voip.rus.net/tiki-index.php?page=Asterisk+config+sip.conf
Сначала задаем общий конфиг: [general]
Потом главный шаблон, на основе которого будем создавать другие группы (каналы): [sipnet](!)
Потом шаблоны на каждый входящий номер
Потом шаблон на колцентр
И уже дальше конкретные внутренние номера, 401,402 и т.п.
Для тех внутренних номеров, которые будут связаны с внешними, указываем соответствующий контекст в диалплане. Остальные наследуют контекст от вышестоящих шаблонов (как правило, колцентра).
- конфигурируем dial plan
- Вызвать консоль:
sudo asterisk -r
- Перезагрузить все конфиги:
reload
- Перезагрузить sip-каналы (изменения в файле
sip.conf
):sip reload
- Показать подключенных пользователей:
sip show peers
- Перезагрузить расширения (
extensions.conf
):dialplan reload
- Asterisk от простого — к сложному
- http://habrahabr.ru/post/157545/
- http://habrahabr.ru/post/262675/
- https://toster.ru/q/68076 - возможно, это поправили в iptables.
- http://vkalinin.ru/howto/view/3
- http://myasterisk.ru/faq/1743/
- http://help.ubuntu.ru/wiki/asterisk
- Документация по особому экстеншену h
- Документация по команде Dial
- Официальная документация по команде Dial
- Документация по команде GoSub
- Документация по команде Set
- Документация по команде Return
- Документация по команде GotoIf
- Описание диалпланов
- Еще описание диалпланов
Footer is under construction
Sidebar is under construction