Схема:
Задача: Необходимо настроить ESR-12 для обеспечения маршрутизации вызовов между пользователями 333, 444, 888 и 777. Для выполнения данной задачи необходимо настроить регистрацию пользователей 555 (FXO), 888 (FXS), 444 (IP-telephone) на локальном PBX-сервере маршрутизатора ESR-12, настроить транк для входящих вызовов с внешнего SIP-server, а также настроить контекст маршрутизации (правила) для обработки вызовов.
Решение задачи:
Решение данной задачи будет происходить в 2 этапа:
1. Настройка PBX-сервера.
2. Настройка интерфейсов gi 1/0/1, gi 1/0/2, а также FXO и FXS.
1. Настройка PBX-сервера.
Пример настройки PBX-сервера рассмотрим в виде следующих этапов:
1) Пример настройки контекста маршрутизации на сервере PBX. В качестве примера рассмотрим настройку контекста маршрутизации для IP-telephone. Необходимо настроить правила вызова до номеров 888, 777 и 333.
Номер 888 является локальным и правило вызова будет следующим:
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# ruleset sip_phoneesr-12vf(config-pbx-ruleset)# rule 1esr-12vf(config-pbx-rule)# description "Calling the 888"esr-12vf(config-pbx-rule)# pattern '888,1,Dial(SIP/${EXTEN},,t)'esr-12vf(config-pbx-rule)# enable
Номер 777 доступен через FXO (номер 555) и правило вызова будет следующим:
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# ruleset sip_phoneesr-12vf(config-pbx-ruleset)# rule 3esr-12vf(config-pbx-rule)# description "Calling the 777 via FXO"esr-12vf(config-pbx-rule)# pattern '777,1,Dial(SIP/555/555${EXTEN})'esr-12vf(config-pbx-rule)# enable
Номер 888 доступен через SIP-сервер и правило вызова есть возможность настроить двумя способами:
1-ый способ через IP-адрес:
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# ruleset sip_phoneesr-12vf(config-pbx-ruleset)# rule 5esr-12vf(config-pbx-rule)# description "Calling the 333 via SIP-Server"esr-12vf(config-pbx-rule)# pattern '333,1,Dial(SIP/${EXTEN}@203.0.113.2)'esr-12vf(config-pbx-rule)# enable
2-ой способ через trunk профиль, который мы настроим в следующем пункте настройки PBX-сервера:
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# ruleset sip_phoneesr-12vf(config-pbx-ruleset)# rule 3esr-12vf(config-pbx-rule)# description "Calling the 333 via SIP-Server"esr-12vf(config-pbx-rule)# pattern '333,1,Dial(SIP/trunk_to_SIP_server/${EXTEN})'esr-12vf(config-pbx-rule)# enable
Для удачного завершения вызова рекомендуется добавить соответствующее правило для последней очереди (для текущей конфигурации - это 2-ая очередь):
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# ruleset sip_phoneesr-12vf(config-pbx-ruleset)# rule 2esr-12vf(config-pbx-rule)# description "Hang up 888"esr-12vf(config-pbx-rule)# pattern '888,2,Hangup()'esr-12vf(config-pbx-rule)# enable
2) Пример настройки SIP-профиля в PBX. В качестве примера рассмотрим настройку профиля для IP-telephone, а также для транка для SIP-сервера (203.0.113.2). В конфигурации SIP-профиля включим необходимые кодеки, привяжем ранее настроенные контексты маршрутизации. В конфигурации транка для SIP-сервера (203.0.113.2) дополнительно укажем type external и host-address самого сервера.
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# profile sip_phoneesr-12vf(config-pbx-profile)# client friendesr-12vf(config-pbx-profile)# codec allow g711aesr-12vf(config-pbx-profile)# codec allow g711uesr-12vf(config-pbx-profile)# codec allow g722esr-12vf(config-pbx-profile)# codec allow g726esr-12vf(config-pbx-profile)# nat comediaesr-12vf(config-pbx-profile)# qualify 10000esr-12vf(config-pbx-profile)# ruleset sip_phoneesr-12vf(config-pbx-profile)# exitesr-12vf(config-pbx)# esr-12vf(config-pbx)# profile trunk_to_SIP_serveresr-12vf(config-pbx-profile)# type externalesr-12vf(config-pbx-profile)# client friendesr-12vf(config-pbx-profile)# codec allow g711aesr-12vf(config-pbx-profile)# codec allow g711uesr-12vf(config-pbx-profile)# security level invite-portesr-12vf(config-pbx-profile)# nat comediaesr-12vf(config-pbx-profile)# qualify 10000esr-12vf(config-pbx-profile)# host-address 203.0.113.2esr-12vf(config-pbx-profile)# ruleset from_sip_server
3) Пример настройки абонента на сервере PBX. В качестве примера рассмотрим настройку пользователя для IP-telephone. В конфигурации пользователя необходимо указать профиль и пароль для IP-telephone:
esr-12vf# configure esr-12vf(config)# pbxesr-12vf(config-pbx)# user 444esr-12vf(config-pbx-user)# profile sip_phoneesr-12vf(config-pbx-user)# password 444
Пример полной конфигурации PBX для исходящей схемы:
pbx ruleset FXO rule 1 description "Incomming from FXO" pattern '333,1,Dial(SIP/${EXTEN}@203.0.113.2)' enable exit rule 1 description "Hang up 333" pattern '333,2,Hangup()' enable exit exit ruleset FXS rule 1 description "Calling the 444" pattern '444,1,Dial(SIP/${EXTEN},,t)' enable exit rule 2 description "Hang up 900" pattern '900,2,Hangup()' enable exit rule 3 description "Calling the 777 via FXO" pattern '777,1,Dial(SIP/555/555${EXTEN})' enable exit rule 4 description "Hang up 777" pattern '777,2,Hangup()' enable exit rule 5 description "Calling the 333 via SIP-Server" pattern '333,1,Dial(SIP/${EXTEN}@203.0.113.2)' enable exit rule 6 description "Hang up 333" pattern '333,2,Hangup()' enable exit exit ruleset from_sip_server rule 1 description "Calling the 444" pattern '444,1,Dial(SIP/${EXTEN},,t)' enable exit rule 2 description "Hang up 444" pattern '444,2,Hangup()' enable exit rule 3 description "Calling the 888" pattern '888,1,Dial(SIP/${EXTEN},,t)' enable exit rule 4 description "Hang up 888" pattern '888,2,Hangup()' enable exit rule 5 description "Calling the 777 via FXO" pattern '777,1,Dial(SIP/555/555${EXTEN})' enable exit rule 6 description "Hang up 777" pattern '777,2,Hangup()' enable exit exit ruleset sip_phone rule 1 description "Calling the 888" pattern '888,1,Dial(SIP/${EXTEN},,t)' enable exit rule 2 description "Hang up 888" pattern '888,2,Hangup()' enable exit rule 3 description "Calling the 777 via FXO" pattern '777,1,Dial(SIP/555/555${EXTEN})' enable exit rule 4 description "Hang up 777" pattern '777,2,Hangup()' enable exit rule 5 description "Calling the 333 via SIP-Server" pattern '333,1,Dial(SIP/${EXTEN}@203.0.113.2)' enable exit rule 6 description "Hang up 333" pattern '333,2,Hangup()' enable exit exit profile fxo_port client friend codec allow g711a codec allow g711u security level invite-port ruleset FXO exit profile fxs_ports client friend codec allow g711a codec allow g711u codec allow g729 ruleset FXS exit profile sip_phone client friend codec allow g711a codec allow g711u codec allow g722 codec allow g726 nat comedia qualify 10000 ruleset sip_phone exit profile trunk_to_SIP_server type external client friend codec allow g711a codec allow g711u security level invite-port nat comedia qualify 10000 host-address 203.0.113.2 ruleset from_sip_server exit user 555 profile fxo_port exit user 888 profile fxs_ports exit user 444 profile sip_phone password encrypted C8E057 exit enableexit
2. Настройка интерфейсов
В конфигурации интерфейса FXS укажем пользователя 888, а также профиль fxs_ports, который мы настроили на PBX:
esr-12vf# configure esr-12vf(config)# interface voice-port 1esr-12vf(config-voice-port-fxs)# sip user phone 888esr-12vf(config-voice-port-fxs)# profile pbx fxs_portsesr-12vf(config-voice-port-fxs)# exit
В конфигурации интерфейса FXO укажем пользователя 555, а также профиль fxo_port, который мы настроили на PBX. Также укажем номер телефона, с которым будет устанавливаться вызов при вызове номера FXO (555). Например, вызов будет переадресовываться на номер 333.
esr-12vf(config)# interface voice-port 4esr-12vf(config-voice-port-fxo)# sip user phone 555esr-12vf(config-voice-port-fxo)# profile pbx fxo_portesr-12vf(config-voice-port-fxo)# hotline iptesr-12vf(config-voice-port-fxo)# hotline number ipt 333esr-12vf(config-voice-port-fxo)# pstn transmit-numberesr-12vf(config-voice-port-fxo)# no pstn transmit-prefixesr-12vf(config-voice-port-fxo)# exit
Физические интерфейсы настроим соответственно схеме:
esr-12vf(config)# interface gigabitethernet 1/0/1esr-12vf(config-if-gi)# ip firewall disableesr-12vf(config-if-gi)# ip address 198.51.100.1/24esr-12vf(config-if-gi)# exitesr-12vf(config)# interface gigabitethernet 1/0/2esr-12vf(config-if-gi)# ip firewall disableesr-12vf(config-if-gi)# ip address 203.0.113.1/30esr-12vf(config-if-gi)# exit
