Asterisk - andyceo/documentation GitHub Wiki

Установка и настройка Астериска

Все конфигурационные файлы Asterisk лежат в /etc/asterisk. Когда мы будем указывать конфигурационный файл, например sip.conf, то его следует искать в этой папке.

  1. Устанавливаем Asterisk с необходимыми пакетами:

     sudo aptitude install asterisk asterisk-core-sounds-ru asterisk-mysql
    
  2. Настраиваем Call data record (CDR) с MySQL:

    1. Создаем базу данных и пользователя для учета звонков (пользователь: 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';
      
    2. Создаем таблицу 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), KEY cd (calldate), KEY ci (call_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

    3. Настраиваем CDR (включаем общий CDR), правим cdr.conf

    4. Прописываем подключение к БД в файле

  3. Установим программу ffmpeg из PPA-репозитория Ubuntu:

     sudo add-apt-repository ppa:mc3man/trusty-media
     sudo aptitude update
     sudo aptitude install ffmpeg
    
  4. Скачаем и установим дополнительные кодеки:

     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
    
  5. Перезапустим asterisk:

     sudo service asterisk restart
    

Установка и настройка GUI и web инструментов для управления Asterisk

Конфигурируем музыку вместо гудков (см. конфиг-файл musiconhold.conf)

  1. В папку, в которой у лежит список mp3-файлов, копируем файл mkmoh. Проставляем ему права на исполнение:

     chmod +x mkmoh
    

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

  2. Запускаем этот скрипт:

     sudo /home/asterisk/mkmoh
    

    скрипт возьмёт все mp3 из текущей папки, сконвертирует их в нужный формат и положит в папку DIR, которая указана в скрипте

Неразобрано

Настройка самого астериска:

  1. Конфигурируем каналы /etc/asterisk/sip.conf (http://voip.rus.net/tiki-index.php?page=Asterisk+config+sip.conf

Сначала задаем общий конфиг: [general]

Потом главный шаблон, на основе которого будем создавать другие группы (каналы): [sipnet](!)

Потом шаблоны на каждый входящий номер

Потом шаблон на колцентр

И уже дальше конкретные внутренние номера, 401,402 и т.п.

Для тех внутренних номеров, которые будут связаны с внешними, указываем соответствующий контекст в диалплане. Остальные наследуют контекст от вышестоящих шаблонов (как правило, колцентра).

  1. конфигурируем dial plan

Полезные команды консоли Asterisk

  • Вызвать консоль: sudo asterisk -r
  • Перезагрузить все конфиги: reload
  • Перезагрузить sip-каналы (изменения в файле sip.conf): sip reload
  • Показать подключенных пользователей: sip show peers
  • Перезагрузить расширения (extensions.conf): dialplan reload

Статьи про Астериск

⚠️ **GitHub.com Fallback** ⚠️