Дано, небольшой офис, есть две железки 2811 и 2821, которые ведут к провайдерам. CCM 4, который держит собственно инфраструктуру.
2821 ведет по Е1 к местному провайдеру с «халявной Москвой», 2811 ведет на несколько SIP провайдеров выбранных из-за дешевизны звонков по направлениям.
Плюс есть ASTERISK, через который проходят звонки в целях записи разговоров сотрудников и отрабатывает голосовое меню для входящих звонков.
Итак, поехали сам ССМ 4:
Тут мы создали Partitions, кто из них за что отвечает:
incoming — Для входящих звонков Pt_emer — Для звонков на экстренные номера Pt_inter — Для звонков на международные Pt_LD — Для звонков на межгород Pt_local — Для локальных «на Москву» Pt_Phones — Для локальных телефонов
Теперь CSS:
incoming — Для входящих звонков Phones — Для локальных телефонов Phones_local — Для локальных «на Москву» Ph_loc_LD — Для звонков на межгород Ph_local_LD_inter — Для звонков на международные
Далее Translation Pattern(исторически создавались для разграничения с пртишанами):
Наши телефончики по умолчанию находятся в партицииPt_Phones и при включении имеют только локальную возможность звонить, мы их добавимCSS_Phones_Local_LD_Inter, для возможности звонить и на межгородмеждународкуМоскву.
Идем настраивать телефон и линию:
1. Находим нужный телефон
2. Добавляем CSS для возможности звонить во вне
3.Настраиваем линию (кнопка слева в прошлом шаге):
Теперь наш телефон готов звонить.
Имеем следующую схему:
Входящие звонки:
Наш номер 49578*****, который передает по Е1 нам провайдер на2821,
(Конфиг 2821, разбираем контроллер Е1, mgcp, fallback(на случай падения ССМ):
!
controller E1 1/0
pri-group timeslots 1-31 service mgcp
!
!
interface GigabitEthernet0/0.1
encapsulation dot1Q 41
ip address 192.168.43.1 255.255.255.0
!
!
interface Serial1/0:15
bandwidth 2048
no ip address
encapsulation hdlc
isdn switch-type primary-net5
isdn timer T310 10000
isdn incoming-voice voice
isdn bind-l3 ccm-manager
isdn send-alerting
no cdp enable
!
!
voice-port 1/0:15
disc_pi_off
cptone RU
bearer-cap Speech
!
ccm-manager switchback immediate
ccm-manager fallback-mgcp
ccm-manager mgcp
no ccm-manager fax protocol cisco
ccm-manager music-on-hold
ccm-manager config server 192.168.43.2
ccm-manager config
!
mgcp
mgcp call-agent 192.168.43.2 2427 service-type mgcp version 0.1
mgcp dtmf-relay voip codec all mode out-of-band
mgcp rtp unreachable timeout 1000 action notify
mgcp package-capability rtp-package
mgcp package-capability sst-package
mgcp package-capability pre-package
no mgcp package-capability res-package
no mgcp package-capability fxr-package
no mgcp timer receive-rtcp
mgcp sdp simple
mgcp fax rate 9600
mgcp fax t38 inhibit
mgcp rtp payload-type g726r16 static
mgcp bind control source-interface GigabitEthernet0/0
mgcp bind media source-interface GigabitEthernet0/0
!
mgcp profile default
!
!
dial-peer voice 1 pots
tone ringback alert-no-PI
service mgcpapp
destination-pattern [0-9]T
incoming called-number ^78*****$
no digit-strip
direct-inward-dial
port 1/0:15
forward-digits all
!
!
call-manager-fallback
max-conferences 16 gain -6
transfer-system full-consult
user-locale RU
limit-dn 7940 2
timeouts interdigit 5
ip source-address 192.168.43.1 port 2000
max-ephones 52
max-dn 60
alias 1 78807XX to 100 preference 1 cfw 104 timeout 30
alias 2 78807XX to 399 huntstop
moh music-on-hold.au
time-format 24
date-format dd-mm-yy
!
Настройка mgcp мной рассматривалась в другой статье отдельно, еще отметим, что в настройке mgcp-gatewaya`адобаляется префикс «495″ ко входящему номеру «78*****» и уже в формате «49578*****» приходит на ССМ4
)
которая пересылает его CCM 4
ССМ 4 преобразует его в «12345″
и передает Asterisk для передачи в голосовое меню и дальнейшей маршрутизации:
;;;;Calls to long Moscow’ in (495/499/498) area and other numbers begins from 8 (through Comstar);;;;
exten => _666!,1,System(mkdir -p /records_Net/automation_department/outgoing/${DIRNAME})
exten => _666!,n,MixMonitor(/records_Net/automation_department/outgoing/${DIRNAME}/${CALLFILENAME}.wav,b)
exten => _666!,n,Dial(SIP/ccm/555${EXTEN:3})
exten => _666!,n,Hangup()
;;;;;;;;;;;Calls to mobile, national and international numbers (through Nauka-net);;;;;;;;;;
exten => _X!,1,System(mkdir -p /records_Net/automation_department/outgoing/${DIRNAME})
exten => _X!,n,MixMonitor(/records_Net/automation_department/outgoing/${DIRNAME}/${CALLFILENAME}.wav,b)
exten => _X!,n,Dial(SIP/c2811/${EXTEN})
exten => _X!,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy)
exten => _X!,n(busy),Playback(/var/lib/asterisk/sounds/ru/busy-tone)
exten => _X!,n,Hangup()
В нашем случае разберем несколько примеров Исходящих звонков(конфиг с исходящими звонками проходящими через Астериск выше, конфиг 2821 «на Москву» выше, тут конфиг только ССМ 4):
Для начала немного логики:
Звонок попадая на ССМ проходит через Translation Pattern -> Совпадаетне совпадает -> Если совпал, то идет в CSSЕсли нет, идет в Route Pattern -> Точка маршрутизации
CSS — объединяет Partitions
Partition может быть привязан к времени
Примеры исходящих вызовов:
Если наш сотрудник набирает из офиса:
910-111-22-33 или 812-333-22-11 («Мобила» без «8″ или «Питер» без «8″)
1.
Телефон -> ССМ
Добавляется префикс «7″ из Роут-паттерна:
2.
ССМ -> Астериск
Совпадает с секцией:
[Automation]
;;;;;;;;;;;Calls to mobile, national and international numbers (through Nauka-net);;;;;;;;;;
exten => _X!,1,System(mkdir -p /records_Net/automation_department/outgoing/${DIRNAME})
exten => _X!,n,MixMonitor(/records_Net/automation_department/outgoing/${DIRNAME}/${CALLFILENAME}.wav,b)
exten => _X!,n,Dial(SIP/c2811/${EXTEN})
exten => _X!,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy)
exten => _X!,n(busy),Playback(/var/lib/asterisk/sounds/ru/busy-tone)
exten => _X!,n,Hangup()
3.
Астериск -> 2811(Работает во вне по н323 протоколу)
Мобильные уходят на провайдера «1″ и провайдера «2″
!
voice service voip
allow-connections sip to h323
fax protocol pass-through g711ulaw
h323
no call service stop
sip
bind control source-interface FastEthernet0/0.1
bind media source-interface FastEthernet0/0.1
no call service stop
!
voice class codec 1
codec preference 1 g729r8 bytes 10
codec preference 2 g729br8 bytes 10
codec preference 3 g723r63
codec preference 4 g723ar63
codec preference 5 g723r53
codec preference 6 g723ar53
!
!
interface FastEthernet0/0.1
encapsulation dot1Q 41
ip address 192.168.43.3 255.255.255.0
!
dial-peer voice 39 voip
description ==1 Russia Piter==
huntstop
service session
destination-pattern ^812*******$
voice-class codec 1
session target ipv4:111.222.333.444
dtmf-relay rtp-nte
fax-relay ecm disable
fax rate 9600
fax protocol pass-through g711ulaw
clid network-number 749578*****
no vad
!
В астериск в секции видим:
[automation]
;;;;;;;;;;;Calls to Moscow;;;;;;;;;;;;;;;;;
exten => _849[589]!,1,System(mkdir -p /records_Net/automation_department/outgoing/${DIRNAME})
exten => _849[589]!,n,MixMonitor(/records_Net/automation_department/outgoing/${DIRNAME}/${CALLFILENAME}.wav,b)
exten => _849[589]!,n,Dial(SIP/ccm/555${EXTEN})
exten => _849[589]!,n,Hangup()
Route Pattern «555!» на ССМ
Gateway на CCM отрезающий «555 приходящие от Астериска»
Конфиг 2821 с mgcp был рассмотрен выше в статье
Телефон -> CCM(Сверяетс с Route Pattern) -> Asterisk(Как видно из конфига добавляет префикс «555″ и начинает запись звонка) -> CCM(Сверяем с Route Pattern «555!») -> 2821(Вырезает 555 в секции Gateway CCM) -> Free Moscow Provider
Получилось следующее:
Входящая телефония:
Провайдер пересылает на 2821 номер из семи цифр без кода и «восьмерки», 2821 пересылает номер на ССМ, который добавляет префикс «495″ и в Translation Pattern превращает номер в «12345″, Rote Pattern отправляет «12345″ на Астериск, который направляет звонок на голосовое меню.
Конфиг Астериска был рассмотрен в статье выше.
В итоге получаем схему:
Т.К. Городские номера идут через «халявную Москву», а «Межгород» и «Международка» с «мобилами» идут через ip провайдеров ввиду дешевизны звонков по направлениям, создается проблема. В случае падения провайдера нужен «аварийный» вариант выхода по эти направлениям.
Организуем «аварийную» связь через «9″:
Например офисмэн набирает вместо «8-903-111-22-33″ при отвале оператора номер «9-8-903-111-22-33″, Route Pattern [9.8XXXXXXXXXX], опция Predot вырезает «9″, и добавляет«666″, отправляем на Asterisk, где сопоставляется номер с шаблоном «_666!», вырезаем «666″ и заменяем на «555″, отправляем на ССМ, который вырезает «555″ и отправляет на2821 и далее провайдера «халявной Москвы».
Схема с «9″:
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!