Поддержи проект

Скачать

Базовая настройка SIP АТС — Asterisk для небольшого офиса.

Рассмотрим как выполнить базовую настройку SIP АТС — Asterisk. В примере будет использоваться Asterisk 13 (как установить его можно ознакомится тут). Так же в примере будут рассмотрены основные моменты в настройке, для понимания принципа как все устроено.

(Статья в процессе написания и будет дополнятся)

 

Техническое задание

  1. Настройка внутренних номеров, настройка sip-транков выданных провайдером.
  2. Настройка маршрутизации звонков, с возможностью совершать внутренние звонки и внешние звонки, а так же принимать входящие извне звонки.

 

Настройка внутренних номеров (sip.conf)

Прежде чем начать, выполним резервное копирование файла конфигурации /etc/asterisk/sip.conf:

cp /etc/asterisk/sip.conf /etc/asterisk/sip.conf.backup

Выполним настройку файла конфигурации /etc/asterisk/sip.conf. Укажем основные параметры для безопастности АТС, зададим шаблон для внутренних номеров и зададим необходимые внутренние номера:

[general]
externaddr=11.111.111.11:5060 ;Внешний IP-адрес
language=ru                   ;Локализация звуков
context=default
allowguest=no                 ;Разрешить/Запретить гостевые подключения
alwaysauthreject=yes          ;Разрешить/Запретить отвечать на INVITE и REGISTER
allowoverlap=no               ;Разрешить/Запретить набор по одной цифре
limitonpeers=yes              ;Разрешить/Запретить лимит на кол-во одновременных разговоров
srvlookup=yes                 ;Принимать SIP вызовы на основании доменных имен
useragent=Asterisk JAKONDA    ;Значение поля useragent в SIP заголовке

[authentication]

;Шаблон для ВНУТРЕННИХ НОМЕРОВ
[internal_numbers](!)
type=friend                   ;peer(Исходящие) и user(Входящие) в одном
context=int-call         ;Контекст обработки входящих вызовов
host=dynamic                  ;
nat=no                        ;Политики работы через nat
deny=0.0.0.0/0.0.0.0          ;Cети из которых запрещено подключение
permit=10.1.1.0/255.255.255.0 ;Cети из которых разрешено подключение
qualify=yes                   ;Переодическая проверка доступности клиента
canreinvite=no                ;Разрешить/Запретить потоки peer-to-peer в обход сервера
insecure=port,invite          ;port (не требовать совпадения порта), invite (не требовать аутентификации)
callgroup=1                   ;Группа вызова
pickupgroup=1                 ;Группа перехвата вызовов
call-limit=2                  ;Лимит входящих вызовов
dtmfmode=rfc2833              ;Какую спецификацию использовать при передачи DTMF сигналов
disallow=all                  ;Запретить использование всех кодеков, ниже разрешаем нужные
allow=alaw
allow=g729

[100](internal_numbers)
callerid="Number 100" <100>
secret=123
[101](internal_numbers)
callerid="Number 101" <101>
secret=123

После внесенных изменений в файле sip.conf, нужно в консоли Asterisk выполнить команду (sip reload), для того чтобы внесенные изменения приминились.

 

Список созданных номеров (sip show users):

SRV-ASTERISK-SP*CLI> sip show users
Username    Secret  Accountcode   Def.Context     ACL   Forcerport
100         123                   int-call        No    No 
101         123                   int-call        No    No

 

Настройка внешних линий для выхода на городские, междугородние номера и приема входящих извне звонков

Для того чтобы совершать звонки на внешние номера, а так же иметь возможность принимать и обрабатывать входящие звонки на внешний номер, необходимо в файл конфигурации /etc/asterisk/sip.conf добавить данные SIP-транков выданных провайдером.

 

На примере рассмотрим провайдеров МАНГО-ТЕЛЕКОМ и ZADARMA.COM.

[general]

;Блок регистраций транков в МАНГО-ТЕЛЕКОМ
register=000100:XXXXXXXX@domain.mangosip.ru:60000/000100
register=000101:XXXXXXXX@domain.mangosip.ru:60000/000101

[authentication]

;Шаблон для ВНЕШНИХ ТРАНКОВ (МАНГО-ТЕЛЕКОМ)
[external_trunks_mgo](!)
type=friend
context=ext-call-mgo
host=domain.mangosip.ru
port=60000
qualify=yes
accountcode=Mgo
fromdomain=domain.mangosip.ru
insecure=invite
dtmfmode=inband
disallow=all
allow=alaw
allow=g729

;Внутренние номера (МАНГО-ТЕЛЕКОМ)
[000100](external_trunks_mgo)
username=000100
secret=XXXXXXXX
fromuser=000100

[000101](external_trunks_mgo)
username=000101
secret=XXXXXXXX
fromuser=000101

;Шаблон для ВНЕШНИХ ТРАНКОВ (ZADARMA.COM)
[external_trunks_zadarma]
host=sip.zadarma.com
insecure=invite,port
type=friend
fromdomain=sip.zadarma.com
disallow=all
allow=alaw,ulaw
dtmfmode=auto
secret=Aa1234567
defaultuser=555666
trunkname=555666
fromuser=555666
callbackextension=555666
context=ext-call-zadarma
qualify=400
accountcode=Zdr
directmedia=no
nat=force_rport,comedia

После внесенных изменений в файле sip.conf, нужно в консоли Asterisk выполнить команду (sip reload), для того чтобы внесенные изменения приминились.

 

Список созданных номеров (sip show users):

SRV-ASTERISK-SP*CLI> sip show users
Username    Secret     Accountcode   Def.Context     ACL   Forcerport
000100      XXXXXXXX   Mgo           ext-call-mgo    No    No 
000101      XXXXXXXX   Mgo           ext-call-mgo    No    No 
555666      XXXXXXXX   Zdr           ext-call-zdr    No    Yes
100         123                      int-call        No    No 
101         123                      int-call        No    No

Список пиров (sip show peers):

SRV-ASTERISK-SP*CLI> sip show peers
Name/username   Host          Dyn  Forcerport Comedia ACL Port  Status   Description
100/100         (Unspecified) D    No         No          0     UNKNOWN 
101/101         (Unspecified) D    No         No          0     UNKNOWN 
000100/000100   88.88.88.88   Auto (No)       No          60000 OK (2 ms) 
000101/000101   88.88.88.88   Auto (No)       No          60000 OK (2 ms)  
555666/555666   88.88.88.88        Yes        Yes         5060  OK (3 ms) 
5 sip peers [Monitored: 3 online, 2 offline Unmonitored: 0 online, 0 offline]

 

Мы разобрали как создавать внутренние номера на основе шаблонов, добавлять SIP-транки от провайдеров. Теперь перейдем к настройки маршрутизации звонков.

 

Настройка маршрутизации звонков (extensions.conf)

Прежде чем начать, выполним резервное копирование файла конфигурации /etc/asterisk/extensions.conf:

cp /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.backup

Выполним настройку файла конфигурации /etc/asterisk/extensions.conf. Настроим правила маршрутизации внутренних звонков, звонков на внешние номера и прием и обработка входящих извне звонков:

[general]
;Возможность сохранять текущий dialplan в файл (dialplan save)
static=yes
writeprotect=no
[globals]

[default]

;Вешаем трубку
[handup-sip]
exten => _X!,1,HangUp()

;Исходящие звонки
[int-call]
;Звонки на внутренние номера
exten => _XXX,1,Dial(SIP/${EXTEN})
;Звонки на внешние номера через МАНГО-ТЕЛЕКОМ
exten => _XXX.,1,Dial(SIP/${EXTEN}@000${CALLERID(num)})
;Звонки на внешние номера через ZADARMA.COM
;exten => _XXX.,1,Dial(SIP/${EXTEN}@555666)

include => handup-sip

;Входящие звонки на номера МАНГО-ТЕЛЕКОМ
[ext-call-mgo]
exten => 000100,1,Dial(SIP/100)

;Входящие звонки на номер ZADARMA.COM
[ext-call-zdr]
exten => 555666,1,Dial(SIP/101)

После внесенных изменений в файле extensions.conf, нужно в консоли Asterisk выполнить команду (dialplan reload), для того чтобы внесенные изменения приминились.

 

Выполним тестовые звонки, сперва с номера 100 на 101, затем на внешний номер 99999 (тестовый номер МАНГО-ТЕЛЕКОМ). В файле /var/log/asterisk/cdr-csv/Master.csv можно посмотреть историю совершенных звонков:

"","100","101","int-call","""Number 100"" <100>","SIP/100-00000001","SIP/101-00000002","Dial","SIP/101","2017-10-23 13:30:32","2017-10-23 13:30:39","2017-10-23 13:31:22",50,42,"ANSWERED","DOCUMENTATION","1508765432.1",""

"","101","99999","ext-call-mgo","""Number 101"" <101>"" <101>","SIP/101-00000003","SIP/000101-00000004","Dial","SIP/99999@000101","2017-10-24 12:27:53","2017-10-24 12:27:55","2017-10-24 12:27:58",4,3,"ANSWERED","DOCUMENTATION","1508848073.106",""

 

Таким образом мы настроили простую маршрутизацию звонков, указав отдельными правилами, что 3-х значные номера расценивать как внутренние, а номера более 3-х знаков расценивать как внешние и использовать для звонка на такие номера нужно SIP-транк провайдера (прим. МАНГО-ТЕЛЕКОМ). Так же при входящем звонке на внешний номер 000100 (МАНГО-ТЕЛЕКОМ) переадресовывать звонок на внутренний номер 100, аналогично поступаем с внешним номером 555666 (ZADARMA.COM), только переводим звонок на номер 101.

 

Продолжение следует…

 

 

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Только один комментарий Комментировать

  1. Сialis /

    Hey there! I’m at work surfing around your blog from my new iphone 3gs!

    Just wanted to say I love reading through your
    blog and look forward to all your posts! Keep up
    the great work!

Оставить ответ

18 − 1 =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика