Asterisk - andyceo/documentation GitHub Wiki
Все конфигурационные файлы 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` (idint(11) NOT NULL AUTO_INCREMENT,calldatedatetime NOT NULL DEFAULT '1930-01-01 00:00:00',clidvarchar(80) NOT NULL DEFAULT '',srcvarchar(80) NOT NULL DEFAULT '',dstvarchar(80) NOT NULL DEFAULT '',dcontextvarchar(80) NOT NULL DEFAULT '',channelvarchar(80) NOT NULL DEFAULT '',dstchannelvarchar(80) NOT NULL DEFAULT '',lastappvarchar(80) NOT NULL DEFAULT '',lastdatavarchar(80) NOT NULL DEFAULT '',durationint(11) NOT NULL DEFAULT '0',billsecint(11) NOT NULL DEFAULT '0',dispositionvarchar(45) NOT NULL DEFAULT '',amaflagsint(11) NOT NULL DEFAULT '0',accountcodevarchar(20) NOT NULL DEFAULT '',uniqueidvarchar(32) NOT NULL DEFAULT '',userfieldvarchar(255) NOT NULL DEFAULT '',didvarchar(50) NOT NULL DEFAULT '',recordingfilevarchar(255) NOT NULL DEFAULT '',call_idint(11) NOT NULL DEFAULT '0',user_idint(10) unsigned NOT NULL DEFAULT '0',callcamp2num_idint(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
- Описание диалпланов
- Еще описание диалпланов