Мы закончили долгожданную статью по настройке оборудования Cisco для совместного использования с Asterisk. А также открываем новую серию и раздел Cisco, в который будет входить инструкции по реализации наших задач. Сегодня большая статья по выполнению задачи сопряжения с сетью связи общего пользования (СсОП). Дальнейший цикл будет содержать менее содержательные статьи, в которых мы рассмотрим некоторые вещи более детально.
Внимание! Данная инструкция по организации приведенной схемы подходит и для Cisco 1700 series, Cisco 1900 series, Cisco 2800 series, Cisco 2900 series, Cisco 3900 series, Cisco AS5300 series.
Cisco 2800 Series снято с производства (End-of-Sale and End-of-Life).
Рекомендуемые к использованию – Cisco 1900, 2900, 3900 Series
Содержание
Исходные данные:
- Шасси Cisco 1751-V с 32Mb Flash, 64Mb Dram – 1шт.
- Модуль Cisco VWIC-1MFT-E1 – 1 шт.
- PVDM-12 – 2 шт.
Я не буду писать о конфигурации оборудования, световых индикациях, какие кодеки и модули выбрать. Если у вас будет желание, пишите в комментариях и я напишу об этом отдельную статью. Не забывайте указывать на примере какого шлюза описывать принцип конфигурирования и настройки.
Задача:
Исходные данные:
- Protocol side: user
- HDB3
- CRC4 on
- Clock: Line
- Time slots: 30
- PRI Protocol Type: PRI EURO ISDN
- PCM Type: A-law.
Часть 1. Настраиваем Cisco gateway
Шаг 1. Сбрасываем текущую конфигурацию Cisco Gateway
Метод №1
router#configure terminal router(config)#config-register 0x2102 router(config)#end router#
router#reload System configuration has been modified. Save?[yes/no]: no Proceed with reload?[confirm]
--- System Configuration Dialog --- At any point you may enter a question mark '?' for help. Use ctrl-c to abort configuration dialog at any prompt. Default settings are in square brackets '[]'. Would you like to enter the initial configuration dialog? [yes/no]: yes
Вы можете согласиться или отказаться, так или иначе – устройство сброшено в заводские настройки. Мы соглашаемся, так как предварительно шлюз будем настраивать в автоматическом режиме.
Метод №2
Этот метод использует команду config-register 0x2142 в режиме глобальной конфигурации.
Введите команду config-register 0x2142 в режиме глобальной конфигурации.
router(config)#config-register 0x2142
Router#reload System configuration has been modified. Save?[yes/no]: no Proceed with reload?[confirm]
После перезагрузки, Вам будет предложено начать процесс начальной конфигурации (System Configuration Dialog).
Откажитесь от него, ответив no на вопрос “Would you like to enter initial configuration dialog?”
Измените значение конфигурационного регистра обратно на 0x2102, введя команду config-register 0x2102 в режиме глобальной конфигурации.
Выполните команду write memory или copy running-config startup-config (идентичны), чтобы перезаписать загрузочную конфигурацию на пустую.
Перезагрузите шлюз, используя команду reload.
После перезагрузки, Вам будет предложено начать процесс начальной конфигурации (System Configuration Dialog).
--- System Configuration Dialog --- At any point you may enter a question mark '?' for help. Use ctrl-c to abort configuration dialog at any prompt. Default settings are in square brackets '[]'. Would you like to enter the initial configuration dialog? [yes/no]: yes
Ваше устройство сброшено в заводские настройки.
Шаг 2. Чтобы перейти в средство командной строки setup, введите yes:
Would you like to enter the initial configuration dialog? [yes/no]: yes
Шаг 3. После отображения следующих сообщений введите ‘yes’, чтобы перейти в базовый режим настройки:
At any point you may enter a question mark '?' for help. Use ctrl-c to abort configuration dialog at any prompt. Default settings are in square brackets '[]'. Basic management setup configures only enough connectivity for management of the system, extended setup will ask you to configure each interface on the system Would you like to enter basic management setup? [yes/no]: yes
Шаг 4. Введите имя хоста маршрутизатора (в этом примере используется имя Router):
Configuring global parameters: Enter host name [Router]: Router
Шаг 5. Введите секретный пароль разрешения. Этот пароль шифруется (более безопасный), его нельзя увидеть при просмотре конфигурации:
The enable secret is a password used to protect access to privileged EXEC and configuration modes. This password, after entered, becomes encrypted in the configuration. Enter enable secret: xxxxxx
Шаг 6. Введите пароль разрешения, отличный от секретного пароля разрешения. Этот пароль не шифруется (менее защищен), и его можно увидеть при просмотре конфигурации:
The enable password is used when you do not specify an enable secret password, with some older software versions, and some boot images. Enter enable password: xxxxxx
Шаг 7. Введите пароль виртуального терминала, который исключает несанкционированный доступ к маршрутизатору через порты, отличные от порта консоли:
The virtual terminal password is used to protect access to the router over a network interface. Enter virtual terminal password: xxxxxx
Шаг 8. Ответьте на следующие запросы в соответствии с параметрами вашей сети:
Configure SNMP Network Management? [yes]: Community string [public]:
Примечание. Нумерация выводимых интерфейсов зависит от типа модульной платформы маршрутизатора Cisco и от установленных интерфейсных модулей и плат.
Current interface summary Controller Timeslots D-Channel Configurable modes Status T1 0/0/0 24 23 pri/channelized Administratively up T1 0/0/1 24 23 pri/channelized Administratively up T1 0/1/0 24 23 pri/channelized Administratively up T1 0/1/1 24 23 pri/channelized Administratively up Any interface listed with OK? value “NO” does not have a valid configuration Interface IP-Address OK? Method Status Prol FastEthernet0/0 unassigned NO unset up up
Шаг 9. Выберите один из доступных интерфейсов для подключения маршрутизатора к сети управления:
Enter interface name used to connect to the management network from the above interface summary: FastEthernet0/0
Шаг 10. Ответьте на следующие запросы в соответствии с параметрами вашей сети:
Configuring interface FastEthernet0/0: Use the 100 Base-TX (RJ-45) connector? [yes]: yes Operate in full-duplex mode? [no]: no Configure IP on this interface? [yes]: yes IP address for this interface: 192.168.0.200 Subnet mask for this interface [255.255.255.0] : 255.255.255.0 Class B network is 192.168.0.0, 32 subnet bits; mask is /24
Шаг 11. Отображается конфигурация:
The following configuration command script was created: hostname Router enable secret 5 3k$D5P6$rtPYx41/3WIASK.HcSbfO5q1 enable password xxxxxx line vty 0 4 password xxxxxx snmp-server community public ! no ip routing ! interface FastEthernet0/0 speed 100 half-duplex ip address 192.168.0.200 255.255.255.0 ! end
Шаг 12. Ответьте на следующие запросы. Выберите [2] для сохранения исходной настройки.
[0] Go to the IOS command prompt without saving this config. [1] Return back to the setup without saving this config. [2] Save this configuration to nvram and exit. Enter your selection [2]: 2 Building configuration... Use the enabled mode 'configure' command to modify this configuration. Press RETURN to get started! RETURN
Отображается командная строка пользователя.
Router>
Router>ena Router#
Router#conf t Router(config)#
Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1
Шаг 13. Настраиваем общие и системные параметры Cisco 1751
! Используем новую модель ААА и локальную базу пользователей Router(config)#aaa new-model ! Настройка Tacacs (используя такой синтаксис в 15 и выше получите предупреждение will be deprecated soon) Router(config)#tacacs-server host 192.168.0.20 key 0 VeryLongANDSecureKey Router(config)#tacacs-server host 192.168.0.21 key 0 VeryLongANDSecureKey Router(config)#tacacs-server timeout 2 Router(config)#tacacs-server directed-request ! Так как у нас 2 сервера (для надежности), то их необходимо объеденить в группу Router(config)#aaa group server tacacs+ tac-int Router(config-sg-tacacs+)#server 192.168.0.20 Router(config-sg-tacacs+)#server 192.168.0.21 Router(config)#exit ! Создаем листы, описывающие authentication, authorization and accounting и связываем их с группой Router(config)#aaa authentication login admin group tac-int local Router(config)#aaa authorization exec admin group tac-int local Router(config)#aaa authorization commands 15 admin group tac-int local Router(config)#aaa accounting update newinfo Router(config)#aaa accounting commands 15 admin start-stop group tac-int Router(config)#line vty 0 4 Router(config-line)#authorization commands 15 admin Router(config-line)#authorization exec admin Router(config-line)#accounting commands 15 admin Router(config-line)#login authentication admin Router(config-line)#exit ! Созданы 4 aaa-листа с одинаковым именем admin (имена могут быть произвольными), authentication login говорит нашему шлюзу аутентифицировать пользователя в группе tac-int, а в случае недоступности её серверов локально. Та же самая конструкция используется и для остальных листов, кроме accounting. ! Включаем шифрование паролей Router(config)#service password-encryption ! Зададим пароль на подключения через консольный порт Router(config)#line con 0 Router(config-line)#password пароль Router(config-line)#login Router(config-line)#exit ! Зададим пароль на подключения через AUX порт Router(config)#line aux 0 Router(config-line)#password пароль Router(config-line)#login Router(config-line)#exit ! Генерируем ключик для SSH Router(config)#crypto key generate rsa general-keys modulus 1024 ! Тюнингуем SSH Router(config)#ip ssh time-out 120 Router(config)#ip ssh authentication-retries 2 Router(config)#ip ssh version 2 ! Настраиваем удаленный доступ Router(config)#line vty 0 4 Router(config-line)#exec-timeout 0 0 Router(config-line)#transport input telnet ssh Router(config-line)#exit ! Зададим пароль на Enable режим Router(config)#enable secret пароль_enable_режима ! Настроим наш сетевой интерфейс Router(config)#interface fa 0/0 Router(config-if)#description LAN Router(config-if)#no shutdown Router(config-if)#exit ! Включаем разрешение имен Router(config)#ip domain-lookup ! Включаем локальный DNS сервер Router(config)#ip dns server ! Задаем DNS-сервера Router(config)#ip name-server 192.168.0.2 Router(config)#ip name-server 192.168.0.99 Router(config)#ip name-server 8.8.8.8 ! Задаем доменное имя шлюзу Router(config)#ip domain-name router.domain ! Включаем ускоренную коммутацию пакетов Router(config)#ip cef ! Отключим управление маршрутизатором через http, https и CDP Router(config)#no ip http server Router(config)#no ip http secure-server Router(config)#no cdp run ! Настройка временной зоны GMT+3 Router(config)#clock timezone MSK 3 ! Обновление времени по NTP Router(config)#ntp server NTP.SERVER.1.IP Router(config)#ntp server NTP.SERVER.2.IP ! Включаем архивирование всех изменений конфига, скрывая пароли в логах Router(config)#archive Router(config-archive)#log config Router(config-archive)#logging enable Router(config-archive)#hidekeys Router(config-archive)#exit ! Историю изменения конфига можно посмотреть командой Router#show archive log config all ! Настройка Firewall (Если ваш шлюз с доступом к Интернету) Router(config)#ip access-list extended ETH-IN Router(config-ext-nacl)#permit ip host ТУТ_РАЗРЕШАЕМЫЙ_IP any Router(config-ext-nacl)#permit ip host ТУТ_РАЗРЕШАЕМЫЙ_IP any Router(config-ext-nacl)#deny ip any any Router(config-ext-nacl)#exit Router(config)#interface FastEthernet0/0 Router(config-if)#ip access-group ETH-IN in Router(config)#ip access-list standard vty_access Router(config-std-nacl)#permit ТУТ_РАЗРЕШАЕМЫЙ_IP Router(config-std-nacl)#permit ТУТ_РАЗРЕШАЕМЫЙ_IP Router(config-std-nacl)#deny any Router(config)#line vty 0 4 Router(config-line)#access-class vty_access in ! Будем осуществлять мониторинг нашего шлюза Router(config)#snmp-server community public RO 1 ! Отключение ненужных сервисов Router(config)#no service tcp-small-servers Router(config)#no service udp-small-servers Router(config)#no service finger Router(config)#no service pad Router(config)#no ip finger Router(config)#no ip source-route Router(config)#no ip bootp server ! Пользователь на всякий случай Router(config)#username ЛОГИН privilege 5 secret 5 ПАРОЛЬ !Запишем к системным сообщениям время события Router(config)#service timestamps debug datetime msec localtime Router(config)#service timestamps log datetime msec localtime
Примечание! Стоит понимать, что подключение по telnet для устройств, находящихся во внешнем мире – НЕ БЕЗОПАСНО!
Шаг 14. Настраиваем VoIP сектор нашего шлюза
Сначала нам необходимо задать Card Type и выбрать тип карты E1 или T1, а также определить в каком слоте она находится. Далее мы настроим тайминги и параметры ISDN из исходных данных. На конечном этапе мы настроим голос и Dial-Peer.
Определим в каком слоте находится карта:
Router#show inventory NAME: "VWIC2-2MFT-T1/E1 - 2-Port RJ-48 Multiflex Trunk - T1/E1 on Slot 0 SubSlot 0", DESCR: "VWIC2-2MFT-T1/E1 - 2-Port RJ-48 Multiflex Trunk - T1/E1" PID: VWIC2-2MFT-T1/E1 , VID: V01 , SN: FOC143025H6 Router#show controllers e1 E1 0/0 is up. ........... ! Перейдем в режим глобальной конфигурации Router#configure terminal ! Будем по SNMP собирать информацию по загруженности Router(config)#snmp-server community public RO 1 ! По умолчанию Cisco 1751 использует Е1 как источник синхронизации. Говорим что шлюз сам будет источником синхронизации Router(config)#tdm clock E1 0/0 both import onboard internal ! Установим сигнализацию EURO ISDN и включим логгирование Router(config)#isdn switch-type primary-net5 Router(config)#isdn logging Router(config)#voice service pots Router(conf-voi-serv)#fax rate disable Router(conf-voi-serv)#exit Router(config)#voice service voip Router(conf-voi-serv)#fax protocol pass-through g711alaw Router(conf-voi-serv)#sip Router(conf-voi-serv)#exit ! Перейдем в режим конфигурации голосовой карты указанного слота Router(config)#voice-card 0 ! Определим сложность кодека на основе используемого стандарта кодека Router(config-voicecard)#codec complexity med Router(config-voicecard)#exit ! Определим тип карты T1/E1 Router(config)#card type e1 0 0 Router(config)#exit ! Настроим наш контроллер E1 Router(config)#controller E1 0/0 Router(config-controller)#framing NO-CRC4 Router(config-controller)#linecode hdb3 Router(config-controller)#pri-group timeslots 1-31 Router(config-controller)#no shutdown Router(config-controller)#exit ! Настоим параметры голосового порта E1 Router(config)#voice-port 0/0:15 Router(config-voiceport)#cptone RU Router(config-voiceport)#compand-type a-law Router(config-voiceport)#bearer-cap Speech Router(config-voiceport)#description From_TFOP ! Активируем голосовой порт Router(config-voiceport)#no shutdown Router(config-voiceport)#exit ! Настраиваем транковую группу и метод занятия СЛ Router(config)#trunk group ats Router(config-trunk-group)#hunt-scheme round-robin Router(config-trunk-group)#translation-profile outgoing Plan Router(config-trunk-group)#exit ! Настроим метод отправки номера Router(config)#voice translation-rule 1 Router(cfg-translation-rule)#rule 1 // // type any subscriber plan any isdn Router(cfg-translation-rule)#exit ! Для группы исходящих вызовов обозначим метод отправки номера Router(config)#voice translation-profile Plan Router(cfg-translation-profile)#translate called 1 Router(cfg-translation-profile)#exit Router(config)#voice class codec 1 Router(config-class)#codec preference 1 g711alaw Router(config-class)#exit ! Подключаем к Asterisk с авторизацией Router(config)#sip-ua Router(config-sip-ua)#transport udp Router(config-sip-ua)#authentication username cisco_1751 password ПАРОЛЬ Router(config-sip-ua)#registrar ipv4:192.168.0.100 Router(config-sip-ua)#sip-server ipv4:192.168.0.100 Router(config-sip-ua)#exit Router(config)#interface Serial 0/0:15 Router(config-if)#no ip address Router(config-if)#encapsulation hdlc Router(config-if)#no logging event link-status Router(config-if)#trunk-group ats Router(config-if)#isdn switch-type primary-net5 Router(config-if)#isdn protocol-emulate network Router(config-if)#isdn incoming-voice voice Router(config-if)#isdn send-alerting Router(config-if)#isdn sending-complete Router(config-if)#no cdp enable Router(config-if)#exit Router(config)#dial-peer voice 1 voip Router(config-dial-peer)#application session Router(config-dial-peer)#description to_asterisk Router(config-dial-peer)#tone ringback alert-no-PI Router(config-dial-peer)#numbering-type unknown Router(config-dial-peer)#destination-pattern 77.. Router(config-dial-peer)#voice-class codec 1 Router(config-dial-peer)#session protocol sipv2 Router(config-dial-peer)#session target sip-server Router(config-dial-peer)#dtmf-relay cisco-rtp rtp-nte Router(config-dial-peer)#fax rate disable Router(config-dial-peer)#fax protocol pass-through g711alaw Router(config-dial-peer)#ip udp checksum Router(config-dial-peer)#no vad Router(config-dial-peer)#exit Router(config)#dial-peer voice 2 pots Router(config-dial-peer)#description to_cisco1751 Router(config-dial-peer)#application session Router(config-dial-peer)#tone ringback alert-no-PI Router(config-dial-peer)#numbering-type subscriber Router(config-dial-peer)#huntstop Router(config-dial-peer)#destination-pattern .T Router(config-dial-peer)#incoming called-number . Router(config-dial-peer)#direct-inward-dial Router(config-dial-peer)#port 0/0:15 Router(config-dial-peer)#forward-digits all Router(config-dial-peer)#exit
Router(config)#exit
Router#copy running-config startup-config
Часть 2. Настраиваем Asterisk
Шаг 1. /etc/asterisk/sip.conf
[cisco_1751] type=friend context=outgoing host=192.168.0.200 secret=ПАРОЛЬ dtmfmode=rfc2833 nat=no directmedia=no disallow=all allow=alaw t38pt_udptl=no qualify=yes insecure=port,invite call-limit=5 ;Если надо
Шаг 2. /etc/asterisk/extensions.conf
[local] exten => _77XX,1,Dial(SIP/${EXTEN},90,trm) [from-cisco_1751] include => local exten => _77XX,1,Dial(SIP/${EXTEN},90,trm) [outgoing] exten => _33XX,1,Dial(SIP/cisco_1751/${EXTEN},90,trm) exten => _8XXXXXXXXXX/_77XX,1,Set(CALLERID(num)=4950000000) exten => _8XXXXXXXXXX/_77XX,2,Dial(SIP/cisco_1751/${EXTEN},90,trm)
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.