The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Транскодинг (transcoding) на Cisco AS5350xm (cisco voip)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: cisco, voip,  (найти похожие документы)
From: zaikini Date: Mon, 25 Sep 2010 17:02:14 +0000 (UTC) Subject: Транскодинг (transcoding) на Cisco AS5350xm Оригинал: http://subnets.ru/blog/?p=1239 Очередная практическая задача по реализации транскодинга на AS5350xm. Что такое транскодирование коротко можно прочитать здесь: http://en.wikipedia.org/wiki/Transcode А сама задача появилась из цели экономии средств отдаваемых поставщикам услуг. Существующая схема услуг: Поставщик А <--> Е1 <--> Арендованный канале Е1 у поставщика Б <--> Е1 <--> Cisco AS5350xm <--> VoIP (SIP, g711) <--> SIP SERVER <--> Клиенты Посчитав затраты, было решено отказаться от арендованного канала Е1 поставщика Б, а услуги от поставщика А решено было получать по VoIP. После того как вопрос был согласован, постащик А выдал ТУ на подключение услуги, в связи с чем новая схема должна было стать такой: Поставщик А <--> VoIP (H323, g729) <--> Cisco AS5350xm <--> VoIP (SIP, g711) <--> SIP SERVER <--> Клиенты Просмотрев сайт www.cisco.com, было обнаружено, что необходимое транскодирование g729 <-> g711 можно реализовать без каких либо проблем при наличии IOS версий выше 12.4(20)Т3, 12.4(22)YB и 15.0(1)М (номера 13 и 14 для IOS компанией Cisco не используются, т.к. эти числа считаются "не счастливыми>> в культурах разных стран). Но при отсутствии оной пришлось реализовать следующую схему: Поставщик А <--> VoIP (H323, g729) <--> Cisco AS5350xm <--> Е1 (loop) <--> Cisco AS5350xm <--> VoIP (SIP, g711) <--> SIP SERVER <--> Клиенты Т.е. принимаем звонок от поставщика отправляем его в Е1, "заворачиваем" его обратно и далее он "уходит" в VoIP уже с необходимыми нам параметрами. Сразу оговорюсь, что такая схема работает при наличии двух свободных Е1 на вашем маршрутизаторе. Для начала нам потребуется кабель с разъемами RJ-45 и следуюзщей "распиновкой": E1 --- E1 1 --- 4 2 --- 5 На моем маршрутизаторе были свободны порты E1 3/2 и 3/3. Соединяем порты созданным кабелем и приступаем к настройкам. Задаем параметры физических интерфейсов Е1: ! controller E1 3/2 framing NO-CRC4 pri-group timeslots 1-31 ! controller E1 3/3 framing NO-CRC4 pri-group timeslots 1-31 Затем настройки D-каналов: ! interface Serial3/2:15 no ip address encapsulation hdlc isdn switch-type primary-net5 isdn protocol-emulate network isdn incoming-voice modem ! interface Serial3/3:15 no ip address encapsulation hdlc isdn switch-type primary-net5 isdn incoming-voice modem И проверяем состояние наших Е1: #show controllers e1 ... E1 3/2 is up. Applique type is Channelized E1 - balanced No alarms detected. alarm-trigger is not set Version info of slot 3: HW: 519, PLD Rev: 6 Framer Version: 0 *9 ... E1 3/3 is up. Applique type is Channelized E1 - balanced No alarms detected. alarm-trigger is not set Version info of slot 3: HW: 519, PLD Rev: 6 Framer Version: 0 *9 Далее настраиваем необходимые пиры (сразу будут указаны различные pattern направлений, объяснение будет ниже): POTS: Настройки пиров для нашей "петли" ... ! dial-peer voice 3 pots description ###INCOMING FROM OUR VoIP### incoming called-number . direct-inward-dial port 3/2:D no register e164 ! dial-peer voice 4 pots description ###INCOMING FROM PROVIDER-A### incoming called-number . direct-inward-dial port 3/3:D no register e164 ... ! -- этот пир "отправляет" звонки из нашей VoIP сети в loop ! dial-peer voice 800 pots description ###FROM OUR VoIP TO LOOP### destination-pattern 011.T progress_ind setup enable 3 progress_ind alert enable 8 port 3/2:D ! -- этот пир "отправляет" звонки из сети VoIP Поставщика А в loop ! dial-peer voice 801 pots description ###FROM PROVIDER-A TO LOOP### destination-pattern 022.T progress_ind setup enable 3 progress_ind alert enable 8 port 3/3:D VoIP: ! -- этот пир "принимает и отправляет" звонки из сети/в сеть VoIP Поставщика А ! dial-peer voice 888 voip description ###VoIP PROVIDER A### translation-profile incoming FROM-PROVIDER-A-TO-LOOP ! --- подставляем необходимый префикс destination-pattern 033.T codec g729r8 session target ras ! --- наш шлюз регистрируется на гэйткипере постащика А ! --- (об этих настройках в другой статье) incoming called-number 7...... ! --- для того чтобы звонок на наши номера ! --- прошел через этот пир и мы смогли подставить префикс dtmf-relay h245-signal rtp-nte fax-relay ecm disable fax protocol t38 ls-redundancy 0 hs-redundancy 0 fallback none no vad ! -- этот пир "принимает и отправляет" звонки из нашей сети/в наше сеть VoIP ! dial-peer voice 700 voip description ###OUR VOIP### translation-profile incoming FROM-OUR-VoIP-TO-LOOP ! --- подставляем необходимый префикс answer-address 4957...... ! --- необходимо для того чтобы звонки от наших абонентов прошли ! --- через этот пир и мы подставили необходимый префикс destination-pattern 4957...... session protocol sipv2 session target sip-server codec g711alaw fax-relay ecm disable fax protocol t38 ls-redundancy 0 hs-redundancy 0 fallback none no vad ... ! voice-port 3/3:D translation-profile incoming FROM-LOOP-TO-PROVIDER-A ! --- подставляем необходимый префикс disc_pi_off input gain 3 echo-cancel coverage 32 cptone RU music-threshold -45 bearer-cap Speech Теперь собственно сама логика работы и ее реализация. Входящие звонки со стороны Провайдера А мы принимаем и отправляем в поток 3/3, со стороны нашей сети все входящие звонки мы отправляем в поток 3/2. При входящем звонке (направление звонка рассматриваем относительно AS5350xm) со стороны Провайдера А к набираемому номеру нам необходимо подставить префикс 022495, 022 - чтобы однозначно определить необходимый нам поток 3/3, а 495 приходится подставлять из-за того, что в нашей сети используются 10-ти значные АОНы, а провайдер присылает звонки на 7-ми значные. Для однозначного определения входящего voip пира для звонка со стороны провайдера в пире 888 voip используется команда incoming called-number. Звонок уходит в порт 3/3 согласно пиру 801, 022 при этом отрежется и из потока 3/2 придет вызов на номер 4957...... который смаршрутизируется согласно пиру 700 voip. При входящем звонке со стороны нашей сети подставляем префикс 011 для отправки звонка в поток 3/2. Звонок уходит в порт 3/2 согласно пиру 800 pots. Чтобы однозначно определить входящий пир для нашей VoIP сети используется команда answer-address в пире 700 voip. Далее этот звонок "выходит" из 3/3 и для того, чтобы точно его отправить в сторону Поставщика А мы подставляем префикс 033 (возможно это излишне, но мы сразу предположим, что таких провайдеров может быть несколько) и звонок будет смаршрутизирован согласно пиру 888 voip. Правила трансляции: voice translation-rule 2 rule 1 /^7495\.*/ /011/ rule 2 /^\.*/ /011/ ! voice translation-rule 3 rule 1 /^\.*/ /022495/ ! voice translation-rule 4 rule 1 /^\.*/ /033/ ! voice translation-profile FROM-PROVIDER-A-TO-LOOP translate called 3 ! voice translation-profile FROM-OUR-VOIP-TO-LOOP translate called 2 ! voice translation-profile FROM-LOOP-TO-PROVIDER-A translate called 4

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру