Подключение CCME к SIP-провайдеру на примере Cisco UC520

Декабрь 26, 2008
от Павел Медников

На днях мне выдалась возможность реализовать доступ к интернет и внедрить IP-телефонию с использованием Cisco UC520 в небольшом офисе. В качестве входящих на первых порах использовались уже существовавшие 4 аналоговые линии. В планах было подключиться к SIP-провайдеру и использовать SIP-канал как основной (в частности, для экономии средств на междугороднюю связь и сохранения номера при возможном переезде), а аналоговые линии оставить в качестве резерва.

Для начала было решено поработать с SIP в режиме тестовой эксплуатации, т.е. маршрутизировать звонки через SIP в ручном режиме, а аналоговую линию оставить как маршрут по умолчанию. Ниже приведу фрагменты конфигурационного файла, отвечающего за решение этой задачи.

Условимся, что IP-телефоны и связь через аналоговую линию уже настроены и работают в полном объеме.

Итак, начнем:

Базовые настройки voip-сервиса:

voice service voip
allow-connections sip to sip
no supplementary-service sip moved-temporarily
no supplementary-service sip refer
sip
!В качестве IP-адреса абонента SIP будет использоваться IP присвоенный интерфейсу FastEthernet0/0:
bind control source-interface FastEthernet0/0
bind media source-interface FastEthernet0/0
!Сеанс регистрации на сервере провайдера истекает через час (3600 сек.) и не ранее:
registrar server expires max 3600 min 3600
no update-callerid

Определяем набор кодеков, обрабатывающих звук в порядке приоритета:

voice class codec 1
codec preference 1 g729r8
codec preference 2 g711ulaw
codec preference 3 g711alaw

Определяем правила трансформации номера. При поступлении вызова через SIP сервер провайдера система сообщает нам номер, на который приходит вызов. Этим номером будет логин (последовательность цифр), под которым мы зарегистрированы в системе провайдера. В нашей системе такого номера может не быть, поэтому нам нужно трансформировать его в какой-то из существующих у нас. В моем случае задумка была направлять входящие SIP-вызовы на хант-группу, в которую входят абоненты внутри офиса:

voice translation-rule 30
rule 1 /^XXXX.*/ /3001/

Вместо XXXX подставляем SIP-логин (номер, под которым мы регистрируемся у провайдера). 3001 - номер хант-группы в UC520, на которую попадает входящий вызов (назначается администратором на свое усмотрение).

Это профиль, определяющий набор правил трансформации номеров. В него можно добавлять несколько правил, описанных с помощью voice translation-rule:

voice translation-profile incoming_from_SIP_provider
translate called 30

Описываем транк для исходящих SIP-вызовов. Здесь есть тонкость: при звонке наружу ваш IP-телефон, с которого совершается звонок, сообщит SIP-провайдеру свой внутренний номер, который ему присвоен UC520. Поскольку у провайдера мы зарегистрированы под номером XXXX, нужно заменять номер звонящего абонента на XXXX:

dial-peer voice 1000 voip
description SIP test account - outgoing
!В качестве префикса для выхода на линии будем использовать ноль:
destination-pattern 0T
!Используем набор кодеков, описанных ранее:
voice-class codec 1
session protocol sipv2
!Исходящие вызовы пойдут через сервер, определенный в параметре sip-server секции sip-ua:
session target sip-server
dtmf-relay sip-notify rtp-nte
!Земеним внутренний номер IP-телефона, с которого совершается вызов на номер XXXX (логин), который нам выдал SIP-провайдер:
clid network-number XXXX
clid substitute name
no vad

ВНИМАНИЕ: посылая вызов через SIP, CCME не отбрасывает префикс, который вы набрали, поэтому его нужно будет отрезать при помощи параметров, определенных в секциях voice translation-profile и voice translation-rule. Мой провайдер (WestCall) требовал, чтобы я добавлял к своим вызовам префикс 0, поэтому я сделал свой префикс совпадающим с провайдерским и не стал корежить набираемые номера правилами.


Транк для входящих вызовов:

dial-peer voice 1001 voip
description SIP test account - incoming
translation-profile incoming incoming_from_SIP_provider
!Используем набор кодеков, описанных ранее:
voice-class codec 1
voice-class sip dtmf-relay force rtp-nte
session protocol sipv2
!Исходящие вызовы пойдут через сервер, определенный в параметре sip-server секции sip-ua:
session target sip-server
incoming called-number .%
dtmf-relay sip-notify rtp-nte
no vad

Секция, описывающая параметры регистрации на SIP-сервере провайдера. Ваш номер (логин) XXXX в системе  и пароль выдаются провайдером:

sip-ua
credentials username XXXX password <ваш_пароль_у_SIP-провайдера> realm sip.westcall.ru
authentication username XXXX password <ваш_пароль_у_SIP-провайдера>
no remote-party-id
retry invite 4
retry response 3
retry bye 2
retry register 10
timers connect 100
!Указываем адрес SIP-сервера:
registrar <IP-адрес_(ipv4:xxx.xxx.xxx.xxx)_или_URL_SIP-сервера (dns:test.server.ru)> expires 3600
sip-server <
IP-адрес_(ipv4:xxx.xxx.xxx.xxx)_или_URL_SIP-сервера (dns:test.server.ru)>

ВНИМАНИЕ: Параметр realm sip.westcall.ru в секции credentials я использовал, потому что мой провайдер - WestCall. У вас будет другое значение, уточните его у провайдера. Кроме того, наблюдается интересная вещь: некоторым провайдерам достаточно указать только строку  authentication, некоторым (например, WestCall) требутеся еще и credentials. Я убил часов 10 за чтением инструкций, how-to и спецификаций SIP, пытаясь понять, почему провайдер отказывает мне в регистрации, пока не додумался аутентификцироваться с помощью credentials.

Когда будете отлаживать ваше подключение, может сложиться следующая ситуация: несмотря на все ваши ухищрения и 100 раз проверенные настройки, связь не устанавливается. Не стесняйтесь звонить в службу технической поддержки провайдера и просить их помочь вам. Очень часто выясняются интересные вещи. Например, мой провайдер забыл сообщить мне, что все исходящие звонки надо совершать через префикс 0 - можете представить, сколько времени было потеряно в поисках решения проблемы, пока я не позвонил инженеру.

Надеюсь, изложенный выше материал поможет вам сэкономить свое время и избежать граблей, на которые довелось наступить мне. Не забывайте поминать меня в ваших молитвах святому Коннектию ;-) Удачи!

Короткая справка:

Cisco UC520 ориентирована на малый бизнес и является по сути мультисервисным модульным маршрутизатором. UC520 включает в себя несколько FXS и FXO-портов, что позволяет подключаться к аналоговым городским телефоным линиям (в моем случае таких линий может быть 8), подключать к устройству аналоговые телефоны и факсы (в моем случае - до 4 устройств). Кроме того, UC520 имеет в своем составе модуль ethernet-коммутатора на 8 портов (100 Mbit) с поддержкой функции PoE (48V по ethernet-кабелю для питания оконечных устройств - например, IP-телефонов) и отдельный 100 Mbit ethernet-интерфейс для подключения к линии, предоставленной интернет-провайдером.

В состав UC520  входит ПО Cisco Call Manager Express (CCME) и Cisco Unity Express (CUE), с помощью которого реализуются функции IP-телефонии, втч автоответчик, голосовое меню и голосовая почта. CUE управляется при помощи web-интерфейса, а CCME - как при помощи web-интерфейса (удобно, но мало что настроишь), так и при помощи стандартной командной строки IOS (для непосвященного выглядит страшно, но зато можно настроить все, что угодно). 

Иными словами, это отличное устройство,  с помощью которого можно одновременно решить задачи по подключению офиса к интернет (включая firewall, gre-туннели, IPsec, ez-vpn, динамическую маршрутизацию и многое другое) и его телефонизации с реализацией функции автоответчика, IVR, голосовой почты, SIP и др.


4 Ответовна «Подключение CCME к SIP-провайдеру на примере Cisco UC520 »

  1. dim.bars на Декабрь 27, 2008 из 13:25

    Возникает вопрос. Малый бизнес для вас - это какие компании?

  2. Павел Медников на Декабрь 27, 2008 из 17:49

    Если судить по размерам, то малый бизнес для меня начинается с 5-10 человек и заканчивается в районе 50. Сразу оговорюсь, что это не совсем правильно, потому что во всем мире принято делить бизнес на малый/средний/крупный по объему годового оборота.
    Я понимаю, что вы намекаете на то, что оборудование Cisco стоит дорого и не по карману маленьким компаниям. Позволю себе не согласиться с этим. Железки Cisco стоят своих денег, но при одном условии: вы действительно пользуетесь тем функционалом который в них заложен. Если же вам нужен просто тупой маршрутизтор, то приобретение такого оборудования бессмысленно (хотя и это спорно, потому что у Cisco есть оборудование SOHO-класса с очень дружелюбной ценой).

  3. Дмитрий на Декабрь 30, 2008 из 12:31

    В настоящее время я постоянно сталкиваюсь с ситуацией, когда малый бизнес экономит на всем, и донести до них, что эта железка, или новый сервер решит для них текущие проблемы, и даст запас на будущее решительно невозможно. В России подобного уровня компании экономят на IT больше других, используя машины в качестве серверов, с аргументом - вы делайте бэкап, и потом на еще один такой же комп за 20к все восстановим, когда тот сгорит…

  4. Павел Медников на Январь 4, 2009 из 20:22

    Дмитрий, вы правы. Я с этим столкнулся лет пять назад, и за это время решительно ничего не поменялось.
    Однако, это не значит, что не существует компаний с другим, более цивилизованным, подходом. Их мало, но они есть, и с ними очень интересно работать. Гораздо интереснее, продуктивнее и выгоднее, чем с теми, кто на десктопные компьютеры критически важные службы вешает.
    Кстати, вы никогда не просили оценить клиентов оценить день их простоя? Я обычно спрашиваю их: “А сколько будет стоить остановить на день работу вашей фирмы? Ну, пока новый компьютер поставим, пока бэкап развернем, пока пользователей подключим - глядишь полтора-два дня пройдет. Вы готовы остановить работу компании на это время?” Очень многие после этого задумываются. А после этого я показываю сервер HP начального уровня, который стоит чуть дороже 1000$ и спрашиваю: “А стоить ли экономить, если всего за 200$ разницы мы получим сервер, с которым гарантированно не будет проблем?”
    Очень часто после этого клиент делает правильный выбор. Ну а если нет, то я его автоматически отношу к категории неперспективных клиентов и стараюсь разбежаться с ним при первой удобной возможности. Потому что при подобном подходе он и мои услуги будет оплачивать со скрипом.

Написать ответ

Вы должны войти в систему, чтобы оставить комментарий.

lvovtoday.ru psy-rovno.ru

 

Сентябрь 2010
Пн Вт Ср Чт Пт Сб Вс
« Июнь    
 12345
6789101112
13141516171819
20212223242526
27282930