24
Модуль IP-телефонии предназначен для обработки запросов на авторизацию и учёт потребленных услуг от голосовых шлюзов, гейткиперов (gatekeepers), голосовых прокси-серверов. Поддерживается как классическая, так и IP-телефония.
Учёт данных происходит либо на основе запросов UTM5 RADIUS (см. UTM5 RADIUS), либо на основе CDR-файлов посредством вспомогательной утилиты utm5_send_cdr (см. Импорт текстовых файлов).
Модуль требует отдельной лицензии. Проверить наличие и срок действия лицензии можно в интерфейсе администратора UTM5 (см. Лицензии, пункт Модуль телефонии).
общий термин, означающий передачу речи по сетям с использованием протокола IP. Также для обозначения этой технологии используются термины: Voice over IP (VoIP), Internet Telephony.
сокр. “телефонная сеть общего пользования”. В это понятие включены городские и национальные сети обычной телефонии. Также используется термин PSTN – сокращение от “Public Switched Telephony Network”.
номер вызывающего абонента. Также используется термин ANI – сокращение от “Automatic Number Identification”. Часто услуга определения номера вызывающего абонента называется АОН.
–Шлюз IP-телефонии (VoIP gateway)
устройство, имеющее порт для подключения к сети на базе протокола IP, а также по необходимости порты для подключения к ТфОП. Обычно данное устройство служит для стыковки ТфОП и IP-сети. Примером может служить маршрутизатор Cisco 3620 с модулем NM-2V + VIC2FXO.
стандарт, предложенный Международным союзом электросвязи (ITU-T), описывающий построение сетей IP-телефонии. Стандарт описывает протоколы, связанные с регистрацией оборудования IP-телефонии (RAS – Registration, Admission and Status), установления соединения (H.225.0, H.245), передачи речи, авторизации пользователей и др.
–H.323 привратник (H.323 гейткипер, H.323 gatekeeper)
привратник отвечает за регистрацию оконечного оборудования (шлюзов, клиентских устройств), контроль прав доступа, номерной план. Практически все привратники имеют возможность проводить авторизацию и передачу статистики по состоявшимся звонкам по протоколу RADIUS.
алгоритмы сжатия звука на передающей стороне и декодирования на принимающей стороне. В основном это используется для минимизации трафика, поэтому кодеки в основном характеризуются полосой пропускания, необходимой для передачи речи с использованием этого кодека. При передаче голоса без сжатия потребуется полоса пропускания в 64 Кбит/сек. Кодеки с высокой степенью сжатия требуют больших вычислительных ресурсов, поэтому для кодирования большого количества голосовых потоков используются специальные микросхемы, так называемые DSP-процессоры.
Название кодека |
Поток, Кбит/сек |
Качество |
G.711 |
64 |
Высокое |
G.723.1 |
5.3 – 6.4 |
Среднее |
G.729 |
8 |
Среднее |
сокращение от Interactive Voice Response. Представляет собой технологию голосовых меню и часто используется для авторизации пользователей ТфОП для звонков по IP-телефонии.
RADIUS-запросы, имеющие отношение к телефонии, опознаются системой по наличию атрибута cisco-h323-conf-id. В противном случае запрос интерпретируется как относящийся к услуге коммутируемого доступа.
Для регистрации абонента привратник посылает на сервер RADIUS запрос на регистрацию с указанием ID вызывающего абонента Calling-ID (31) и его логина, но без указания Called-ID (30). Сервер RADIUS ищет сервисную связку услуги телефонии, идентифицируя её по логину, указанному в свойствах сервисной связки (см. Логин). Если сервисная связка обнаружена и соответствующий лицевой счёт не заблокирован, то выдаётся положительный ответ; в против-ном случае выдаётся отказ в регистрации. Положительный ответ может содержать телефонный номер пользователя, если таковой задан в свойствах сервисной связки.
Для авторизации звонка привратник или голосовой шлюз посылает на сервер RADIUS запрос на регистрацию с указанием Calling-ID (31) и Called-ID (30). Сервер RADIUS ищет сервисную связку услуги телефонии, идентифицируя её по логину, указанному в свойствах сервисной связки. Если связка обнаружена, баланс счёта положителен, звонок входит в направление, включённое в состав услуги телефонии (непосредственно или в составе зоны), и текущее время входит в разрешённый временной диапазон (также задаваемый в свойствах услуги), то выдаётся положительный ответ; в противном случае сервер RADIUS выдаёт отказ в авторизации. Положительный ответ включает максимальную длительность соединения, рассчитываемую либо как срок окончания временного диапазона, для которого задана цена услуги (если данный диапазон не покрывает всё время суток), либо как срок исчерпания баланса счёта, с учётом текущего баланса и стоимости услуги (возможно, меняющейся со временем), в зависимости от того, что из этого наступает скорее.
Для тарификации звонка привратник или голосовой шлюз при начале звонка посылает на сервер RADIUS запрос Accounting-Start с указанием Calling-ID (31), Called-ID (30) и, возможно, времени начала соединения. Если время начала не указано, таковым считается время прихода запроса Accounting-Start. Сервер RADIUS ищет сервисную связку услуги телефонии, идентифицируя её по логину, указанному в свойствах сервисной связки. Если связка не обнаружена, запрос игнорируется. В противном случае определяется стоимость минуты разговора, заданная в свойствах услуги для данного временного диапазона и телефонного направления (или зоны). Если звонок не подпадает под направления, заданные в свойствах услуги, или время звонка не входит в заданные временные диапазоны, звонок тарифицируется по нулевой стоимости. В момент окончания звонка посылается запрос Accounting-Stop с указанием Calling-ID (31), Called-ID (30) и, возможно, длительности звонка и/или времени окончания соединения. Сервер RADIUS осуществляет тарификацию с учётом стоимости минуты разговора, определённой ранее, и длительности соединения. Если длительность соединения не указана, за неё принимается разность между временем окончания и временем начала. Если время окончания не указано, таковым считается время прихода запроса Aссounting-Stop. Если на протяжении звонка происходит смена временных диапазонов – звонок разбивается на части, которые тарифицируются по-отдельности. Если на протяжении звонка по какой-либо причине меняется стоимость минуты разговора, например, в следствие пересечения границы тарификации, звонок разбивается на части, в пределах которых стоимость минуты постоянна, далее эти части тарифицируются по-отдельности. Информация о списании передаётся в ядро UTM5.
Звонки, для которых не передан запрос Accounting-Stop, в зависимости от настроек RADIUS могут быть либо проигнорированы, либо признаны завершившимися в определённый момент на основании запросов Interim-Update, и тарифицированы соответственно.
В случае, если поставщик информации не поддерживает ее передачу RADIUS-серверу посредством запросов Accounting-Request, для разбора информации о звонках используется утилита utm5_send_cdr (см. Импорт текстовых файлов). Данная вспомогательная утилита разбирает файлы с информацией о звонках и передаёт полученные данные в ядро UTM5 по протоколу URFA.
Шлюз VoIP, соединяющий ТфОП с IP-сетью, организует преобразование голосового трафика из сети на базе протокола IP в ТфОП. Таким образом, пользователь с IP-теле-фоном либо компьютером с установленным программным телефоном (Microsoft NetMeeting, OpenPhone и др.) может вызывать абонента городской телефонной сети (ТфОП).
Аналогично и в обратную сторону: абонент городской телефонной сети (ТфОП) может вызывать абонента в сети с протоколом IP. Для этого необходимо набрать номер шлюза в сети ТфОП (на схеме это 9391000) и затем после авторизации (если этот механизм включен на шлюзе) набрать внутренний номер абонента в сети с протоколом IP (на схеме это номера 100 и 200).
В схеме с участием привратника H.323 все устройства сети должны зарегистрироваться на привратнике. При этом авторизация может проводиться по протоколу RADIUS с использованием стандартной схемы Access-Request.
В итоге у привратника находится таблица IP-адресов и номеров всех устройств в сети. Соответственно, все вызовы начинаются с обращения к привратнику для преобразования набранного номера в IP-адрес. При этом привратник может запросить у сервера RADIUS авторизацию данного звонка и передать заполненные атрибуты Called-Station-Id (30) – набранный номер, и Calling-Station-Id (31) – номер вызывающего абонента. Сервер RADIUS проверяет баланс пользователя, тарифный план на вызываемое направление, и если баланс позволяет, то передает пакет Access-Accept, в котором может указать максимальное время соединения для данного пользователя по данному направлению. Обычно эта информация указывается в атрибуте h323-credit-time, vendor 9 (Cisco).
В случае, если авторизация прошла успешно, после согласования всех параметров устанавливается соединение между вызываемым и вызывающим терминалами. При этом привратник передает на сервер RADIUS пакет о начале соединения (Accounting-Start), в котором указывает параметры установленного соединения.
В случае, если терминалы находятся в одной сети, то общение между ними производится напрямую. Если вызываемый терминал находится в другой сети, то общение между терминалами производится через один из шлюзов. Также возможен вариант, когда общение клиента производится только с привратником. В этом случае привратник выполняет функции прокси, и реальные IP-адреса терминалов скрываются. Такая схема работы применяется, если канал напрямую между терминалами по качеству хуже (например, большие потери IP-пакетов либо задержки), чем между привратником и каждым терминалом.
По окончании соединения привратник пересылает на сервер RADIUS пакет с информацией о завершившемся звонке. В пакете указываются время соединения, причина завершения соединения и другие параметры. По этим данным сервер RADIUS проводит тарификацию сессии, списание средств и запись в журнал событий.
Для авторизации пользователей ТФоП может применяться IVR по следующей модели:
1.Абонент ТфОП набирает городской номер доступа оператора IP-телефонии. При этом трубку поднимает шлюз IP-телефонии (например, Cisco 3640 с платой E1), подключенный к этой линии.
2.Шлюз загружает звуковой файл (обычно *.au ) с записанным приглашением и проигрывает его абоненту. При этом обычно предлагается ввести номер и пин-код предоплаченной телефонной карты.
3.После ввода определённого количества цифр производится авторизация с введенными данными на сервере RADIUS. При этом номер карты обычно записывается в атрибут User-Name (1), а пин-код – в атрибут Password (2).
4.В случае успешной авторизации сервер RADIUS присылает пакет Access-Accept, в котором указывает количество оставшихся средств на счету. Для этого используются атрибуты h323-credit-amount и h323-currency с vendor=9 (Cisco). Шлюз IP-телефонии загружает соответствующие голосовые файлы, проигрывает абоненту остаток средств на счету и предлагает ввести номер, по которому необходимо выполнить вызов. Следует заметить, что в основном IP-телефония выгодна для звонков на большие расстояния (междугородние и международные звонки).
5.После ввода номера производится повторная авторизация на сервере RADIUS, при этом дополнительно передается атрибут Called-Station-Id (30), в котором записывается набранный номер. В зависимости от остатка средств на счету и стоимости минуты соединения по этому направлению сервер RADIUS вычисляет максимальное время сессии и передает вычисленное время в пакете Access-Accept в атрибуте h323-credit-time. При отсутствии в запросе на аутентификацию атрибута Called-Station-Id (30) сервер R-ADIUS отдает атрибут h323-return-code (9,103) со следующим значением:
пользователь активен;
пользователь не существует;
пользователь заблокирован.
1.После получения положительного ответа от сервера RADIUS шлюз IP-телефонии устанавливает соединение с вызываемым абонентом. Соединение будет разорвано, если длительность сессии составит количество секунд, вычисленное на предыдущем шаге.
2.При установлении соединения на сервер RADIUS отсылается пакет Accounting-Start, при разрыве – пакет Accounting-Stop.