Пятница, 17.11.2017, 20:16
Админка
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Asterisk GUI [6]
Обзор решений TrixBox/AsteriskNow и пр.
Avaya IP Office [0]

Поиск

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » IP-телефония » Asterisk GUI

Установка корпоративного голосового VoiceIP сервера на базе TrixBox решения. Настройка SIP транка. Часть 3

1. Создание SIP аккаунтов для пользователей.
2. Создание транка
3. Создание правила маршрутизации исходящих звонков.
4. Создание правил исходящих звонков для пользователей.
5. Создание правил входящих звонков для пользователей.



1. Создание SIP аккаунтов для пользователей.

В качестве примера создадим в системе двух пользователей с именами USER1 и USER2. Для этого в Web интерфейсе управления Астериском в вкладке SETUP выбираем опцию EXTENSIONS. Далее выбираем Submit.

USER1 будет иметь SIP номер 1001, а USER2 будет иметь SIP номер 1002. Сразу для двух пользователей настроим голосовую почту.





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









Кликните мышкой на USER1 и посмотрите свойства этого пользователя. В Верхней части Интернет браузера, примените все настройки кликнув на Apply Configuration Changes.







здесь:

username=USER1 - имя клиента. Оно же понадобится для авторизации.

context
=from-internal
установлен по умолчанию. Об этом мы поговорим далее.
nat=yes если SIP клиент находиться за роутером с трансляцией IP адресов (NAT)

canreinvite=no ; Обычно, устанавливается в 'NO', если клиент находиться за NAT

type=friend - type может принимать 3 различных значения:
*user - возможны только входящие звонки;
*peer - возможны только исходящие звонки;
*friend - разрешены как исходящие, так и входящие вызовы.

host=dynamic - IP-адрес, с которого разрешены подключения для данного клиента. Поскольку у клиента возможен динамический IP-адрес, мы это и указываем.

context=from-internal - Задаем контекст, в котором будет описывать правила для данного клиента. Грубо говоря, это группа клиентов.

callerid="USER1" - Идентификационное имя клиента. Оно же будет отображаться на дисплее телефона при входящем звонке этого клиента (АОН).

canreinvite=no - разрешает (yes) или запрещает (no) установку прямого соединения между участниками (минуя Asterisk).



Аналогично необходимо создать аккаунт и для пользователя USER2 с номером 1002. Для того, чтобы пользователи могли звонить на междугородние и международные звонки необходимо настроить Транк (Trunk), представляющий из себя канал для связи с сервером IP-телефонии. В нашем случае этим сервером будет провайдер Sipnet.ru.



2. Создание транка

Чтобы приступить к созданию транка, необходимо сначала зарегистрироваться на сайте http://www.sipnet.ru, получить свой SID и $1 на карманные расходы. SID состоит из чисел. также вы получить возможность осуществлять звонки по доменному имени: mynameuser@sipnet.ru (эквивалентно 87776366@sipnet.ru), голосовую почту, e-mail ящик и прочие бесполезные внусности. :-)

Для создания и настройки Транка на примере провайдера Sipnet.ru найдите соответствующий модуль TRUNKS. Здесь мы увидим несколько типов транков:

Add Zap Trunk

Add IAX2 Trunk

Add SIP Trunk

Add ENUM Trunk

Add DUNDi Trunk

Add Custom Trunk


Поскольку мы будем настраивать звонки по протоколу SIP, то выбираем Add SIP Trunk




PEER DETAILS (В текстовом виде):

dtmfmode=rfc2833
type=friend
host=sipnet.ru
fromuser=0022605618
fromdomain=sipnet.ru
secret=FJJGFh
username=0022605618
insecure=port,invite
conext=contex-internal
disallow=all
nat=yes
allow=g723&g723.1&gsm&ulaw&alaw


Ну а теперь о правилах Dial Rules. Для того чтобы SIP умел набирать короткие городские номера моего региона (например Ростов-на-Дону,+7-863), я добавил правила вида:

7863+NXXXXXX
8863+NXXXXXX

Таким образом через SIP телефон я могу набирать комбинации вида: 2122132, 3432342 и т.д.





3. Создание правил маршрутизации исходящих звонков.

Правила маршрутизации звонков настраиваются в меню Setup - OutBound Routes




Ну а теперь поговорим о Dial Patterns. В моем случае я разрешить звонить на короткие городские звонки вида XXXXXXX и мобильные звонки МТС начинающиеся на 918XXXXXXX. Все остальные звонки на мобильные номера других операторов исключены. Вы также можете добавить оператора Мегафон, добавив правило 7928XXXXXXX. Вы можете настраивать на любой вкус Dial Patterns с Dial Rules.

Route Password:
функция полезная, но в реальности не работает. Позволяет осуществлять звонки через транк используя пароль. Пользователь при осуществлении звонка через транк, согласно правилу маршрутизации должен ввести цифровой пароль. При запросе пароля и его подтверждения, у меня звонок сбрасывался, поэтому протестировать нормально эту функцию мне так и не удалось.


4. Создание правил исходящих звонков для пользователей.


Предположим, что пользователю USER1 разрешено звонить на междугородние и мобильные звонки, а пользователю USER2 это запрещено. Для этого будем использовать Context, которые определены в /etc/asterisk/extensions.conf (правил набора).

Рассмотрим самый простой случай.

Через Config File Editor из Trixbox, откройте файл extensions_additional.conf, там находим контекст [outbound-allroutes]. В нашем случае это выглядит так:

[outbound-allroutes]
include => outbound-allroutes-custom
include => outrt-001-9_outside
include => outrt-002-SipnetOut
exten => foo,1,Noop(bar)

; end of [outbound-allroutes]

где, outrt-002-SipnetOut - Наш транк на Sipnet.ru

Как видим в этот контекст outbound-allroutes входят еще контексты через include. Здесь если закомментировать "include => outrt-002-SipnetOut", то пользователи не смогут осуществлять междугородние и международные звонки через транк Sipnet.ru. Если мы будем править этот файл ручками, то при следующеем перезагрузки TrixBox'а, файл будет иметь свое первоначальное состояние, т.о. все наши конфиги можно править и сохранять только в конфигурационных файлах вида *_custom.conf

Теперь ознакомимся с Context: [outrt-002-SipnetOut]

[outrt-002-SipnetOut]
include => outrt-002-SipnetOut-custom
exten => _7918XXXXXXX,1,Macro(user-callerid,SKIPTTL,)
exten => _7918XXXXXXX,n,Set(_NODEST=)
exten => _7918XXXXXXX,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _7918XXXXXXX,n,Macro(dialout-trunk,2,${EXTEN},,)
exten => _7918XXXXXXX,n,Macro(outisbusy,)
exten => _7928XXXXXXX,1,Macro(user-callerid,SKIPTTL,)
exten => _7928XXXXXXX,n,Set(_NODEST=)
exten => _7928XXXXXXX,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _7928XXXXXXX,n,Macro(dialout-trunk,2,${EXTEN},,)
exten => _7928XXXXXXX,n,Macro(outisbusy,)
exten => _NXXXXXX,1,Macro(user-callerid,SKIPTTL,)
exten => _NXXXXXX,n,Set(_NODEST=)
exten => _NXXXXXX,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _NXXXXXX,n,Macro(dialout-trunk,2,${EXTEN},,)
exten => _NXXXXXX,n,Macro(outisbusy,)

; end of [outrt-002-SipnetOut]

Далее, через Config File Editor из TrixBox, открыть файл extensions_custom.conf. Найдем здесь контекст [from-restricted] и сделаем дополнения:

[from-restricted]
............................................................
include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-SipnetOut
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

Сохраняем файл.

Теперь вернемся к нашим пользователям. Поскольку перед нами стоит задача отключить права возможности звонить пользователю USER2 через Транк Sipnet.ru, то редактируем его свойства и заменяет значение поля Context: from-internal на from-restricted.





Применяем все изменения.



5. Создание правил входящих звонков для пользователей.


В GENERAL SETTINGS правим значение Security Settings на YES.



Настраиваем правила входящей маршрутизации Inbound Call Control - Inbound Routes, Add Incoming Route






Ранее, когда мы настраивали параметры TRUNKS, мы добавляли следующие значения в настройках

insecure=port,invite
type=friend

port: игнорировать номер порта, с которого пришла аутентификация
invite: не требовать начальное сообщение INVITE для аутентификации
port,invite: не требовать начальное сообщение INVITE для аутентификации и игнорировать порт, с которого пришел запрос

Пример

insecure=port ; Разрешить проверку соответствия пира по ip-адресу без проверки соответствия номера порта
insecure=invite ; Не требовать аутентификации входящих сообщений INVITE
insecure=port,invite ; (оба условия)


Обычно используется для разрешения входящих вызовов (например от провайдера FWD) там где указано type=friend и определены имя и пароль.
Typically used to allow incoming calls (e.g. from FWD) while having a type=friend entry defined with username and password.

very: игнорировать авторизацию (user/password)
yes: ??

Пример:

insecure=very
insecure=yes ; Проверять SIP клиента только по IP адресу, не используя user/pass
insecure=very ; Позволяет зарегистрированному хосту совершать вызовы без повторной авторизации.

Обычно используется для того, чтобы получать входящие вызовы (например, публичный или тестовый вход).


Дополнения:

Таблица кодеков и примерный объем трафика при пользовании ими:


КодекБитрейт, KbpsNominal Ethernet Bandwidth, KbpsПримерный трафик, Мб/час
G.7116487,239,24
G.729831,214,04
G.723.16,421,99,86
GSM13,228,712,92
iLBC15,230,8313,87
G.723.15,320,89,36
G.7263255,224,84
G.7262447,221,24
G.7281631,514,18


ПОЛЕЗНЫЕ ЛИНКИ:

http://www.trixbox.org/ - официальный сайт продукта TrixBox (Форумы/Документация) (На английском)

http://www.asterisktutorials.com/ - Free Video Tutorials for trixbox FreePBX and Asterisk Systems (На английском)

http://asteriskforum.ru - Русско-язычный Форум по Asterisk

http://voip.rus.net - Русскоязычный файл по настройкам Asterisk

Категория: Asterisk GUI | Добавил: Inhibitz (23.04.2009)
Просмотров: 57589 | Комментарии: 16 | Рейтинг: 5.0/6 |
Всего комментариев: 121 2 »
12  
Огромное спасибо за труд, очень помогло, а то до этого были потрачены долгие часы и нервы.

11  
Спасибо мужик очень помогло:)

10  
Что такое <1000> Operator ? Откуда оно?

9  
И еще как не проходили у меня входящие так и не проходят ) как я только не пробывал )
звоню со скайпа на skype.sipnet.ru затем набераю свой sip ID и сразу срыв. Или беру звоню себеже с другова sip аккаунта через программный телефон и пишет что номер не найдем) я вообще ничего не понимаю видима )
а вот если подключаю свой телефон мимо астерикса на прямки к sipnet то могу себе позвонить без всяких проблем.

8  
Со звонками проблем и не было но с этой статьи подчеркнул для себя хорошую вещь как роли в транке чтобы мне например 8495 не набирать каждый раз ) но тут же возникает вопрос а как же быть с новыми номерами в зоне 499 каким же правилом их разделить и как сделать так чтоб машина понимала где 495 а где 499 помойму хрен получится )

7  
Думаю читателям также нелишним будет ознакомиться со статьей по безопасности Trixbox http://it-kub.ru/index.php/2010-07-23-07-28-00/bezopasnostasterisk.html

6  
Большое спасибо. Очень позновательная статья. Все настроил без проблем.

5  
Громадное спасибо за статьи, пока не видел в инете подобных на русском, с таким подробным и последовательным изложением.
Хоть это и не помогло запустить свой *, но всё же статьи помогли разобраться со многими ранее непонятными вещами.

4  
Статьи очень интересные.
В п.4 "Создание правил исходящих звонков для пользователей." Очень полезный пункт для практического применения. Но вот что-то не до конца ясно.
В файле extensions_custom.conf не было контекста [from-restricted]. Дописал [from-restricted-custom]. Скопировал---вставил содержимое этого контекста. Из всего скопированного контекста удалил одну строку "include => outrt-001-9_outside" (в моих настройках нет такого правила). Сохранил файл. Переправил свойства внутреннего номера (303) в поле Context "from-internal" на "from-restricted". Сохранил---перезагрузил. Итог: "303"-ий пользователь теперь может только принимать звонки, но сделать какой-либо звонок (другим пользователям в т.ч.) не может.
Вот и возникает вопрос - а что это за маршрут такой "outrt-001-9_outside" и какие в нем правила/шаблоны/настройки?
И еще - подскажите, что такое "перехват звонка" и для каких целей он используется? (а лучше какую книжку можно посмотреть, чтобы получить "поверхностные" знания для настройки системы trixbox и в примерах. В сети попадаются только книги с "очень глубокими" знаниями)

3  
Отличная статья.
Все описанное применил на Elastix 1.6 и сразу же заработал.
Использовал voipradier в качестве SIP провайдера.
Спасибо.

1-10 11-12
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
При копировании статей просьба указывать источник inhibitz.ucoz.ru © 2017