Addpac voip шлюзы примеры настроек

Обновлено: 05.07.2024

По умолчанию AP1100 получает адрес по DHCP на порт LAN0. Все настройки производятся в командной строке по TELNET или COM порту(RS-232).

Для того что бы подключиться к устройству по telnet необходимо знать IP адрес устройства, логин и пароль( по умолчанию логин:root пароль:router) Если вы не знаете IP-адрес, или он не установлен, вам придется подключиться к устройству с помощью последовательного порта.

Параметры COM порта для подключения к AddPac:

Speed — 9600 Baud, Data bits — 8, Stop bits — 1, Parity — None.

Первое что нам следует сделать – это настроить сетевой интерфейс шлюза и маршрут по умолчанию.

Обратите внимание, что команда route, в отличие от команды ip address выполняется в режиме глобальной конфигурации, а не в конфигурации интерфейса ether0.0

Далее в Asterisk создаем 8 внутренних номеров и возвращаемся к настройкам Addpac.

sip.conf
[my-phones] (!) //Шаблон
context=default
type=friend
host=dynamic
disallow=all
allow=alaw
qualify=yes
canreinvite=no
[101] (my-phones) // Абонент 101
username=101
secret=0be27lg
[102] (my-phones) // Абонент 102
username=101
secret= MYzCg7A
……..

Теперь когда IP сеть работает, внутренние номера тоже созданы, можно приступить к настройкам IP телефонии на шлюзе. Первым делом установим глобальные настройки для факсов.

Теперь переходим к настройкам доступа к Asterisk.Настройки осуществляются в SIP-UA.

Дальше переходим к настройки FXS портов. Здесь мы покажем настройки одного порта, для остальных настройки будут идентичны.

Следующим нашим шагом будет настройка POTS dial-peer и исходящий VoIP dial-peer.

Пример настройки POTS dial-peer

Пример настройки одного VoIP dial-peer

Каждый dial-peer должен иметь уникальный номер(можно выбирать произвольно). Команды port и destination-pattern используются для выбора входящего и исходящего dial-peer (маршрутизация звонков внутри устройства AddPac). Так, если звонок придёт с порта 0/0 он будет ассоциирован с dial-peer номер 1, потому что это единственный в системе dial-peer у которого указан port 0/0. Если пользователь с порта 0/0 наберет любую комбинацию цифр кроме 101-108 — вызов будет направлен в dial-peer 1001, т.к. конструкция destination-pattern T совпадает с любыми набранными цифрами. Если же пользователь наберёт 102 вызов будет направлен в dial-peer номер 2, а следовательно в телефонный порт 0/1. Дело в том, что с набранным номером 102 совпадают два dial-peer: destination pattern 102 и dial-peer 1001 (destination-pattern T), однако dial-peer 2 будет иметь приоритет. Команда user-password, указанная в POTS dial-peer определяет SIP пароль, который будет использоваться для регистрации на нашем сервере. SIP логин, для регистрации устанавливается командой destination-pattern или командой user-name, если необходимо указать SIP логин, отличающийся от шаблона указанного в destination-pattern.

session target используется для указания IP адреса сервера IP-телефонии. В нашем случае мы указали IP адрес SIP сервера, хотя можно указать слово sip-server и шлюз будет брать параметры SIP сервера и секции sip-ua.

session protocol SIP, указывает что соединение с сервером VoIP следует устанавливать по протоколу SIP. Шлюз поддерживает соединение по h323, но об этом мы расскажем в следующий раз.

Следующими командами мы устанавливаем кодеки и способ передачи DTMF.

no vad —принудительно выключает подавление тишины, рекомендую ей пользоваться всегда.

В конечном итоге у вас должно получиться :

! Pots peer configuration.
!
dial-peer voice 1 pots
destination-pattern 101
port 0/0
user-password 0be27lg
!
dial-peer voice 2 pots
destination-pattern 102
port 0/1
user-password MYzCg7A
!
dial-peer voice 3 pots
destination-pattern 103
port 0/2
user-password EVV3xF9F
!
dial-peer voice 4 pots
destination-pattern 104
port 0/3
user-password 9XtpnvH
!
dial-peer voice 5 pots
destination-pattern 105
port 1/0
user-password 4fYXjia
!
dial-peer voice 6 pots
destination-pattern 106
port 1/1
user-password UAK4jMf
!
dial-peer voice 7 pots
destination-pattern 107
port 1/2
user-password dTsRNPY
!
dial-peer voice 8 pots
destination-pattern 108
port 1/3
user-password jRjgWN9
!
!
!
! Voip peer configuration.
!
dial-peer voice 1001 voip
destination-pattern .T
session target 95.128.224.29
session protocol sip
codec g729
no vad
dtmf-relay rtp-2833

В сети встречается много вариантов конфигураций для шлюзов 1000-ной серии. Но все они не описывают ряд ньюансов, которые я хочу написать в одном месте. Конфигурация применительно к голому Asterisk с регистрацией пиров на сервере.

За подробностями — под кат!

addpac_channels;_ шаблон дублирующихся настроек для каналов шлюза
host=dynamic;____ IP адрес или имя хоста. Для самостоятельной регистрации пира используется dynamic
type=friend;__ двусторонние звонки(входящие и исходящие)
context=from_addpac;_ входящие сначала обрабатываются здесь для получения callerid звонящего из
;____ remote-party-id, а затем уйдут для обработки прочих правил в контекст _sip
qualify=yes;_____ контроль активности sip-пиров, а не GSM-каналов шлюза
nat=no;__ использую шлюз в локальной сети asterisk
canreinvite=no;____ сервер Asterisk никогда не будет производить процедуру re-invite
insecure=port,invite;____ игнорировать порт и поле invite
disallow=all;_сначала запрещаем все кодеки
allow=alaw; и разрешаем нужные
allow=ulaw
allow=gsm
maxcallbitrate=64
dtmfmode=rfc2833
call-limit=1;
в каждом слоте одна SIM-карта — максимум один звонок на канал.
relaxdtmf=yes;____ часто выручает при плохой слышимости в канале (помогает от пропуска или дублирования цифр)
sendrpid = yes;____ Asterisk добавит Remote-Party-ID: "имя sip-пира" <sip: номер звонящего@ip-адрес>
trustrpid = no;_____ Asterisk возьмет номер из RPI header (вместо From) из запроса при входящем вызове

; __детали пиров каналов шлюза
79220000001;_ 1-й GSM-слот, в котором стоит SIM с соответствующим номером
description=Addpac-1004-246 1-й слот;_ удобная вещь — увидите в выводе команды sip show peers в консоли астериска
username=79220000001;____
no comments
secret=Vm1;__no comments
permit=192.168.1.24;___ ip-адрес GSM-шлюза
fromdomain=192.168.1.24

; остальные каналы по аналогии

В конфигурации подставьте свои данные. Обратите внимание на прописанные команды called-party-number to-field и
remote-party-id — именно они позволяют транслировать входящий номер в Asterisk.

!
! APOS(tm) configuration saved from vty
! 2016/01/26 00:41:19
!
version 8.51.004
!
hostname GS1004-24
!
username root password router administrator
!
!
script ntpdate default
resynchronize 12 10
server ip ntp1.dlink.com
!
interface Loopback0
ip address 127.0.0.1 255.0.0.0
!
interface FastEthernet0/0
ip address "IP-адрес шлюза" 255.255.255.0
speed auto
no qos-control
!
ip route 0.0.0.0 0.0.0.0 "IP-адрес Asterisk" 16
!
!
!
ftp server
!
!
dns name-server "IP-адрес шлюза в интернет"
logging command
logging event 4-warning
logging on
!
!
!
!
! VoIP configuration.
!
!
! Voice service voip configuration.
!
voice service voip
protocol sip
dtmf-relay out-of-band
fax protocol t38 redundancy 0
fax rate 9600
h323 call start fast
h323 call tunnel enable
timeout tinit 15
timeout tidt 5
static-jitter-buffer 35
ignore-dtmf-abcd-tone
no call-barring unconfigured-ip-address
no voip-inbound-call-barring enable
!
!
! Voice port configuration.
!
!
!
! GSM
voice-port 1/0
connection plar 79220000001
ring detect-timeout 70
caller-id enable
caller-id type etsi
caller-id name disable
!
! GSM
voice-port 1/1
connection plar 79220000002
ring detect-timeout 70
caller-id enable
caller-id type etsi
caller-id name disable
!
! GSM
voice-port 1/2
connection plar 79220000003
ring detect-timeout 70
caller-id enable
caller-id type etsi
caller-id name disable
!
! GSM
voice-port 1/4
connection plar 79220000001
ring detect-timeout 70
caller-id enable
caller-id type etsi
caller-id name disable
!
! Pots peer configuration.
!
dial-peer voice 0 pots
destination-pattern 00T
port 1/0
call-waiting
user-name 79220000001
user-password Vm1
translate-outgoing called-number 0
!
dial-peer voice 1 pots
destination-pattern 01T
port 1/1
call-waiting
user-name 79220000002
user-password Vm2
translate-outgoing called-number 1
!
dial-peer voice 2 pots
destination-pattern 02T
port 1/2
call-waiting
user-name 79220000003
user-password Vm3
translate-outgoing called-number 2
!
dial-peer voice 3 pots
destination-pattern 03T
port 1/3
user-name 79220000004
user-password Vm4
translate-outgoing called-number 3
!
!
!
! Voip peer configuration.
!
dial-peer voice 2000 voip
destination-pattern T
session target sip-server
session protocol sip
voice-class codec 1
no vad
dtmf-relay rtp-2833
!
!
!
dial-peer call-hold h
dial-peer call-transfer h
!
!
!
gatekeeper
!
!
! Gateway configuration.
!
gateway
h323-id voip."IP-адрес Asterisk"
ignore-msg-from-other-gk
shutdown
!
!
! Codec classes configuration.
!
voice class codec 0
codec preference 1 g711alaw
codec preference 2 g711ulaw
codec preference 3 g729
!
!
!
! Translation Rule configuration.
!
translation-rule 0
rule 0 007T 8T
!
translation-rule 1
rule 0 017T 8T
!
translation-rule 2
rule 0 027T 8T
!
translation-rule 3
rule 0 037T 8T
!
!
!
! SIP UA configuration.
!
sip-ua
user-register
sip-server "IP-адрес Asterisk" 5060 1
called-party-number to-field
remote-party-id
session-refresh update
register e164
!
!
! Tones
!
!
!
!
! SMTP sendmail configuration
!
sms-delivery
!
!
!
line console
!
line vty
!
gsm dev-restart-by-unreg 300
!
gsm 1/0
sms-language utf8
!
gsm 1/1
sms-language utf8
!
gsm 1/2
sms-language utf8
!
gsm 1/3
sms-language utf8
!

dial-peer voice 0 pots
destination-pattern 00T
port 1/0

Лишние цифры в начале строки обрезаются — 007 заменяется на 8, остальное транслируется без изменений.

translation-rule 0
rule 0 007T 8T

[globals]
MEG-Channel-1=SIP/79220000001/00; GSM1 канал на шлюзе Addpac 1004c — 192.168.1.24 — 1 слот
MEG-Channel-2=SIP/79220000002/01; GSM2 канал на шлюзе Addpac 1004c — 192.168.1.24 — 2 слот
MEG-Channel-3=SIP/79220000003/02; GSM1 канал на шлюзе Addpac 1004c — 192.168.1.24 — 3 слот
MEG-Channel-4=SIP/79220000004/02; GSM1 канал на шлюзе Addpac 1004c — 192.168.1.24 — 4 слот

Контекст для получения входящих номеров из заголовка Remote-Party-ID

[from_addpac]; — актуально для шлюзов Addpac

exten => _X.,1,NoOP($); номер шлюзовой SIM-карты, на которую поступил звонок
same => n,NoOP($); весь заголовок до выборки
same => n,Set(whoid=$); присваиваем переменной whoid значение rpid
;(т.е whoid=sip:79221112233@172.16.128.228;screen=yes;party=calling)
same => n,Set(whoid=$); выдираем из whoid подстроку "<sip:79221112233" — строка до собаки
same => n,Set(whoid=$); выдираем сам номер — 79221112233 — после двоеточия
same => n,Set(CALLERID(num)=$); ну тут и так понятно
same => n,Goto(_sip,$,1); уходим в основной контекст приема звонков _sip (замените на свой)

[sip]
; DISA-Call numbers — exten =>
[7,8]922000000[1,2,3,4],1,Goto(VoiceDisa,s,1); входящие c шлюзовых номеров
exten =>
[7,8]922000000[1,2,3,4]/79221112233,1,Dial(SIP/1001,30,mtT); простое перенаправление
; звонка в зависимости от номера звонящего.

[macro-dial-to-megafon]

… Dial($7$,45,mgtF); Звоним через 1-й канал в макросе — ARG это EXTEN,
; отправленный в макрос

1 Запустите Гипертерминал:

ПУСК -> СТАНДАРТНЫЕ -> СВЯЗЬ -> ГИПЕРТЕРМИНАЛ

  • Если спросит "Сведения о местонахождении" - нажать "Отмена"
  • Подтвердить отмену, и на "Необходимо ввести данные о вашем местонахождении, чтобы HyperTerminal. " нажать "ОК"
  • В "описании подключения" обзовите его как-нибудь.
    Далее, если опять спросит "Сведения о местонахождении" - повторить действия, пока не дойдете до "подключение".
    Здесь укажите "Подключаться через" СОМ1 (соответственно адпак должен быть подключен к СОМ1)
  • далее, когда спросит свойства СОМ1, выбрать:
    скорость бит/с: 9600
    биты данных: 8
    четность: нет
    стоповые биты: 1
    управление потоком: нет

2. Когда подключитесь, выбрать в "Файл -> Свойства -> Параметры ":

  • клавиши Windows
  • клавиша Backspace посылает Ctrl-H
  • эмуляция сигнала - Автовыбор
  • терминал Telnet(ID): ANSI
  • размер буфера (строк): 500
  • остальное оставить как есть

5. Из меню "Файл" сохраните созданный только что файл подключения гипертерминала куда-нибудь, чтобы потом не настраивать каждый раз, а сразу запускать его и подключаться к СОМ1.

1. Задаем адреса сетевым интерфейсам

2. Задаем роутер по умолчанию.

3. Указываем DNS-сервер

(или адрес реального DNS-сервера, если он есть)

1. Задаем статическую маршрутизацию с привязкой к сетевым интерфейсам:

В большинстве случаев этот пункт можно пропустить. Бриджинг нужен только в некоторых сетях.

1. Изменение настроек в режиме глобального конфигурирования

2. Включаем бриджинг на локальном интерфейсе eth 1 0.

3. Включаем бриджинг на voip/WAN интерфейсе eth 0 0 и задаем параметры QoS

1. Создаем класс кодеков:

Список доступных кодеков:
g711alaw G711 a-law Type (64 kbps)
g711ulaw G711 u-law Type (64 kbps)
g726r32 G726 ADPCM Type (32 kbps)
g726r16 G726 ADPCM Type (16 kbps)
g729 G729 Type (8 kbps)
g7231r63 G7231R63 Type (6.3 kbps)
g7231r53 G7231R53 Type (5.3 kbps)

2. В общем виде соединение можно представить в виде двух частей:
одна - от телефона до шлюза (pots)
другая - от шлюза до следующего шлюза (voip)
каждая часть описывается с помощью блока dial-peer.
Вот мы сейчас и сконфигурируем эти диал-пиры.

а) сначала для портов FXS (pots dial-peers) (создаем на каждый канал FXS свой диал-пир, и присваиваем таким образом каналу номер):

б) теперь для VoIP:

(номер (100) любой - для каждого диал-пира свой)

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

(указываем адрес шлюза, на который будет переключаться звонок, через пробел можно после адреса указать порт, если он отличается от стандартного)

(если несколько dial-peer'ов на один шаблон номера, то они будут выбираться в соответствии с приоритетом)

(говорим, чтоб это соединение использовало кодеки из ранее созданного класса кодеков)

Посмотреть, что мы наваяли можно скомандовав:

Теперь, по идее, можно звонить самому на себя набрав номер порта FXS, который присваивали при создании pots dial-peer и на шлюз, прописанный в voip dial-peer.

DHCP сервер удобный сервис в большой сети где много компьютеров. Ваш шлюз будет сам раздавать IP адреса компьютерам и другим устройствам.
Настраиваем список свойств DHCP-сервера:

3. Задаем пул адресов, из которых сервер будет выдавать адреса компьютерам-клиентам

4. Задаем свойства для DHCP-сервера:

Главное для нас, чтобы он задавал клиенту шлюз по умолчанию (самого себя).
Для этого мы указываем в нем router-option, адрес которого затем задаем для интерфейса, на котором будет работать этот сервер.

5. Теперь входим в режим конфигурирования интерфейса и привязываем к нему данный список свойств:

После этого желательно сохраниться.
В настройках протокола TCP/IP компьютера, подключаемого к данному порту шлюза, необходимо указать "Получить IP-адрес автоматически" и перезагрузить его.
Узнать сетевые настройки компьютера можно задав команду ipconfig

6. Посмотреть, сформированный список свойств можно сл.образом:

Рассмотрим настройку NAT (через PAT) на шлюзе.
За теоретической частью этого вопроса (для чего это нужно) обращайтесь к документации по шлюзу и другим источникам, описывающим спецификацию NATа.

Предположим у нас есть внешний адрес 62.140.236.4 (и у него шлюз по умолчанию 62.140.236.1) и локальная сеть 192.168.1.0. Нам необходимо настроить шлюз таким образом, чтобы он обеспечивал выход из локальной сети в интернет и одновременно предоставлял возможность звонить в и-нет.

Начнем с комманд глобального режима конфигурирования, которые задают настройки адпака, необходимые для функционирования НАТа:

(Данный адрес адпак будет использовать чтобы сообщить удаленному шлюзу куда слать голос)
Настройки маршрутизатора и статическая маршрутизация:

Теперь приступим непосредственно к созданию списка НАТ, который будет задавать параметры НАТа для нашего адпака.

Порты указываю с такой уверенностью, т.к. сделал minimize-voip-ports
Также можно добавить транслирование на группу адресов след. обр:

т.е. внешний запрос на соединение на ТСР-порт 23 будет транслироваться на внутренние адрес/адреса перечисленные в списке ..но это уже тонкости ковыряния дырок в нате для доступа снаружи внутрь и здесь это рассматриваться не будет.

Теперь осталось применить созданный НАТ на внутренний интерфейс следующим образом:

При этом предполагается, что внешний интерфейс ether0.0 имеет конфигурацию:

interface ether0.0
ip address 62.140.236.4 255.255.255.248

Теперь сохраните конфигурацию (write) и пользуйтесь :)

  • Комментарий: при этой конфигурации у шлюзов в локальной сети адрес шлюза по умолчанию должен быть адрес 192.168.1.1. Можно соответствующим образом настроить DHCP сервер на интерфейсе ether1.0 и тогда адпак сам будет раздавать нужные адреса и прописывать необходимый шлюз по умолчанию.

Производится в режиме шлобального конфигурирования

Имеет следующие опции для конфигурирования:

Из режима глобального конфигурирования входим в режим конфигурирования портов 0/0 или 0/1

К примеру для изменения входного/выходного усиления канала делаем следующее (величина изменяется от -18 до 6):

Если, например, возникает ситуация, когда при звонке из IP через шлюз на АТС шлюз не распознает когда кладется трубка со стороны АТС, то скорее всего причина в том, что АТС генерит сигнал "Занято" в таком форме, что шлюз его не может понять.
Для того, чтобы "научить" шлюз узнавать его, необходимо задать шлюзу шаблон именно такого сигнала, который генерит ваша АТС. Делается это следующимобразом:

0
1 tag identifier
450
1333 low frequency(Hz)
0
0 single tone
1403 high frequency(Hz)
500
6275 on time(msec)
(длительность сигнала)
500
3322 off time(msec) (длительность паузы)

Затем в настройках для порта FXO нужно включить распознавание настроенного только что сигнала. (пусть у нас есть FXO-порт 0/0):

Потом !!сохранить!! сделанные только что изменения

и !!перезапустить!! шлюз

Вообще можно настроить "шаблоны" для следующих сигналов:

Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys

Рубрики

Метки

Комментарии

Настройка AddPac AP1100 для работы с Asterisk

24 марта, 2011 by Сергей Тамкович

Для выхода из режима настройки в режим управления можно нажать комбинацию клавишь Ctrl-Z, или воспльзоваться командой

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

Для того, что бы сохранить изменения в настройках, сделанные вами во флеш память (что бы они не потерялись при перезагрузке устройства) пригодится команда

Теперь, когда нам известны базовые приёмы работы с оборудованием AddPac, рассмотрим основные настройки телефонного шлюза AddPac AP1100 при подключении к Asterisk. Перво-наперво нам следует настроить сетевой интерфейс шлюза и маршрут по умолчанию (так называемый default gateway). Делается это следующим образом:

Теперь, когда IP сеть работает, можно переходить к настройкам IP телефонии. Первым делом установим глобальные настройки для факсов.

Данный пример состоит из трёх строк. Первая строка активирует контекст IP-телефонии, т.е. команды следующие за ней будут относится к общим (глобальным) настройкам IP телефонии, а не к чему то ещё. Вторая строка устанавливает протокол для передачи факса, в нашем случае это T.38. Параметр redundancy 1 устанавливает избыточность. Избыточность это один из механизмов протокола T.38 для борьбы с потерей пакетов. Суть его заключается в том, что вслед каждому оригинальному пакету T.38 будет отправлено N копий этого пакета. В нашем случае N=1. Последняя строка устанавливает максимальную скорость передачи факсов. Вообще, максимум для факсов является скорость 14400, однако следует понимать, что чем выше скорость на которой происходит передача факсов по IP сети, тем выше вероятность сбоя. На мой взгляд скорость 9600 является неплохим компромиссом между удобством (быстротой передачи) и надёжностью.

Теперь настроим параметры доступа к нашему Asterisk по протоколу SIP. Данные настройки осуществляются в контексте SIP-ua, поэтому, как вы уже догадались, первая строчка нашего примера активирует этот контекст:

Простейшие настройки для FXS портов (мы настраиваем два из восьми). Включаем технологию CallerID для каждого порта.

Вернёмся к нашему AddPac-у и рассмотри, какие диалпиры потребуются нам для работы нашего шлюза. Для нашего шлюза (напомню: мы настраиваем 2 FXS порта из 8) понадобится 3 диалпира: по одному POTS диалпиру на каждый FXS порт + 1 диалпир на VoIP сеть.

Читайте также: