ТЕРМИНЫ/ПОНЯТИЯ, КОТОРЫЕ НЕОБХОДИМО ЗНАТЬ ДЛЯ ПОНИМАНИЯ
ПРИНЦИПОВ SIP-ТЕЛЕФОНИИ
VoIP: (Voice over IP)
обобщенное название все видов IP-телефонии.
SIP: (Session Initiation Protocol)
протокол передачи данных по сети, способ установления и завершения
пользовательского интернет-сеанса, включающего обмен мультимедийным содержимым.
Реальный IP-адрес: Реальными называются IP-адреса которые свободно маршрутизируются и Интернете. К нереальным адресам относятся адреса, выделенные для локальных сетей. Это диапазоны: 192.168.xx.xx, 10.xx.xx.xx и 172.16.xx.xx - 172.32.xx.xx. Такие адреса не маршрутизируются в Интернете. Если ваш компьютер имеет адрес из этого диапазона значит у вас нереальный IP-адрес.
TCP: транспортный протокол, предоставляющий поток данных с предварительной установкой соединения, дающий уверенность в достоверности получаемых данных.
Осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета.
UDP: транспортный протокол для передачи данных в сетях IP без установления
соединения. Является одним из самых простых протоколов транспортного уровня. В
отличие от TCP не подтверждает доставку данных, не проверяет корректность
доставки и не делает повторов отправки пакетов, соответственно требует меньший
трафик.
RTP: протокол для передачи медиа трафика в реальном времени. Переносит в своем
заголовке данные, необходимые для восстановления голоса или видеоизображения в
принимающем узле, а также данные о типе кодирования информации. RTP не имеет стандартного зарезервированного номера порта.
SIP Proxy server: сервер, обеспечивающий взаимодействия SIP-обоудования.
В зависимости от типа подключаемого SIP-оборудования в настройках последнего
может иметь различные названия: SIP Server, SIP proxy, Service Addr, Proxy, Proxy Server
и др.
IP-пакеты: набор данных, передаваемых через сеть.
SIP-порт: порт для приеме/передачи информации о сеансе связи. Стандартное
значение порта - 5060. Порт и приема и передачи пакетов на одной стороне
совпадают.
RTP-порт: порт для приема/отправки медиаданных. Порт и приема и передачи
пакетов на одной стороне совпадают (при использовании SIP-протокола).
SIP-номер (SIP ID): номер в SIP-сети. Используется для внутрисетевых звонков.
Предоставляется SIP-провайдером.
SIP-адрес: полный адрес в SIP-сети. Имеет вид SIP_ID@domain. Например 100000@sipmarket.net. Используется для звонков из внешних SIP-сетей.
SIP-сигнализация: цепочка обмена специальными данным, содержащими команды
и параметры SIP-протокола, определяющими передачу медиаданных в медиаканале. При
проведении SIP-вызова для передачи сигнализации используется SIP-порт (обычно
5060).
Firewall: сетевой экран. Защищает компьютер или сеть от внешних проникновений
методом блокировки прохождения пакетов с определенных IP-адресов или портов.
Современные файрволы умеют кроме этого определять содержимой приходящих
IP-пакетов и блокировать их.
NАТ (транслятор cетевых адресов): транслирует IP-адреса и порты в локальной сети во
внешние IP-адреса и порты. NAT используется многими сервис-провайдерами и
частными пользователями для решения проблемы нехватки реальных IP-адресов и
обеспечения безопасности локальных сетей подключенных к Интернету. Например,
фирма может иметь выделенный диапазон реальных IP-адресов, но гораздо большее
количество компьютеров имеющих локальные IP-адреса которым необходим доступ в
Интернет. Для решения этой проблемы используется технология трансляции адресов,
которая позволяет компьютерам локальной сети взаимодействовать с сетью Интернет,
используя всего один внешний реальный IP-адрес. NAT решает эту проблему с
помощью подмены локального IP-адреса на наружный общедоступный адрес.
STUN: тип сервера, позволяющий клиентскому обрудованию определить внешний адрес,
порт, полученный от НАТа при выходе во внешний мир из локальной сети, а также
тип этого НАТа.
Проксирование: (от англ. proxy — «представитель, уполномоченный»).
Служба или сервер в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам.
В случае с SIP- используется SIP proxy server для передачи пакетов SIP-сигнализации
(всегда) и передачи медиапакетов (кроме случаев звонков без проксирования
голоса).
В целом понятие "проксирование" нельзя уложить в несколько строк. В отношении
SIP-технологии основаная цель proxy-сервера - взаимодействие оборудования,
а также SIP-клиентов, находящихся за НАТом и не имеющих реальных IP-адресов.
SIP-команды (запросы, дерективы): набор команд, определяющих действия
SIP-оборудования при осуществлении звонка - авторизация звонящего абонента, гудок,
соединение, отбой и пр.
Основные команды, используемые в звонках:
INVITE - приглашает пользователя к сеансу связи
АСК - подтверждает приём ответа на запрос 200OK при соединении
BYE - завершает сеанс связи. Может быть передан любой из сторон, участвующих в сеансе
CANCEL - отменяет обработку ранее переданных запросов. Не влияет на запросы которые уже обработаны
REGISTER - переносит адресную информацию для регистрации пользователя на сервере
INFO - переносит информацию, не изменяющую состояние сеанса, например DTMF
MESSAGE - передача мгновенных сообщений средствами SIP
REINVITE - переопределение пользователя в текущем сеансе связи
Другие команды - PRACK, SUBSCRIBE, NOTIFY, PUBLISH, REFER, UPDATE - используются редко.
Ответы на SIP-запросы: ответы с результатом обработки запроса либо передачей запрошенной информации.
1. 1ХХ - информационные ответы. Показывают, что запрос находится в стадии обработки. Наиболее распространённые ответы данного типа — 100 Trying, 180 Ringing, 183 Session Progress.
2. 2ХХ - финальные ответы, означающие, что запрос был успешно обработан. В
основном используется 200OK.
3. 3ХХ - финальные ответы, информирующие оборудование вызывающего пользователя о новом местоположении вызываемого пользователя.
4. 4ХХ - финальные ответы, информирующие об ошибке при обработке или выполнении
запроса, например, 404 Not found
5. 5ХХ - финальные ответы, информирующие о том, что запрос не может быть
обработан из-за отказа сервера, 500 Server Internal Error
6. 6ХХ - финальные ответы, информирующие о том, что соединение с вызываемым
пользователем установить невозможно, например, ответ 603 Decline означает, что
вызов отклонен принимающей стороной.
Направление: обобщенное название города, населенного пункта или страны куда
производиться звонок.
Терминирующий шлюз: аппаратное устройство, соединяющее SIP-сети и стационарные
или мобильные сети (PSTN).
Маршрутизация: правило или правила, по которым система определяет какой шлюз(ы) используются при звонке.
Кодек: алгоритм кодирования голосового или видеопотоков для передачи по сети.
Основными аудиокодеками являются кодеки G.729 и G.711.
Основания разница между кодеками: G.729 - компрессированый, требующий меньшую полосу интернет-канала для пропускания,
G.711 - некомпрессированый, более качественный, но требующий лучший канал.
CLI (Caller ID, АОН): номер, определяемый на принимающем оконечном устройстве как
номер звонящего абонента.
DTMF: (Dual-Tone Multi-Frequency) двухтональный многочастотный сигнал,
используемый для набора телефонного номера, а также для различных интерактивных
систем. В VoIP используется три основных вида передачи DTMF - методом INFO
(SIP-командой), in-band (в голосовом канале), RFC2833 (спец. символами).
ПРИЛОЖЕНИЕ
SIP ошибки и их значение
SIP/2.0 400 Bad Request - ошибка в сигнализации, скорее всего что-то с
настройками оборудования
SIP/2.0 401 Unauthorized - нормальный ответ сервера о том, что
пользователь еще неавторизировался, обычно после этого на абонентское
оборудование отправляет на сервер логин и пароль
SIP/2.0 401 Expired Authorization - время регистрации истекло
SIP/2.0 403 No Such User - нет такого пользователя, ошибка в номере,
логине или пароле
SIP/2.0 403 User Disabled - пользователь отключен
SIP/2.0 403 Wrong Guess - ошибка в пароле
SIP/2.0 403 Forbidden - абонент не зарегистрирован
SIP/2.0 403 Empty Route Set - нет ни одного шлюза в роутинге
SIP/2.0 403 Caller Not Registered - нет такого пользователя
SIP/2.0 403 Out of Look-Ahead Retries - перебор узлов закончен
SIP/2.0 403 Invalid Phone Number - нет такого направления
SIP/2.0 404 Not found - вызываемый абонент не найден, нет такого
SIP-номера
SIP/2.0 404 Undefined Reason - неопределенное направление
SIP/2.0 404 Unknown user account - логин и пароль не найдены
SIP/2.0 405 Method Not Allowed - метод не поддерживается, может возникать
если пользователь пытается отправлять голосовую почту и т.п.
SIP/2.0 406 No codecs match - неправильная конфигурация кодеков
SIP/2.0 406 Not Acceptable
SIP/2.0 407 Proxy Authentication Required - что-то с регистрацией
SIP/2.0 408 Request Timeout - превышение ожижание ответа на запрос
SIP/2.0 408 Login timed out - за отведенное время не получен ответ от
сервера на запрос авторизации
SIP/2.0 410 No Route - вариант SIP/2.0 403 Empty Route Set
SIP/2.0 415 No Media - несоответствие кодеков
SIP/2.0 480 Invalid Phone Number - неправильный номер телефона
SIP/2.0 480 Destination Not Found In Client Plan - направления не существует
SIP/2.0 480 Codec Mismatch - несоответствие кодеков
SIP/2.0 480 Empty Route Set - что-то с маршрутизацией
SIP/2.0 480 No money left - недостаточно денег на счете
SIP/2.0 480 Temporarily Unavailable - временно недоступное направление - попробуйте позвонить позже
SIP/2.0 481 Call Leg/Transaction Does Not Exist - действие не выполнено,
нормальный ответ при поступлении дублирующего пакета
SIP/2.0 487 Request Terminated - запрос отменен, обычно приходит при
отмене вызова
SIP/2.0 486 Busy Here - абонент занят
SIP/2.0 488 Codec Mismatch - нет шлюзов с поддержкой заказанного кодека
SIP/2.0 488 Private IP Address - адрес RTP media из сетей RFC1918
SIP/2.0 499 Codec Mismatch - отсутствует кодек
SIP/2.0 500 Internal Server Error - внутренняя ошибка сервера
SIP/2.0 500 DB Timeout - нет ответа от базы данных
SIP/2.0 500 Database Error - то же самое, но в другой момент
SIP/2.0 500 Wrong DB Response - неправильный ответ базы данных
SIP/2.0 500 Undefined Reason - неопределенная причина
SIP/2.0 500 account has been moved to a remote system - аккаунт перенесен
в удаленную систему (дословно)
SIP/2.0 5хх - проблемы с SoftSwitch-ом
SIP/2.0 603 Decline - отказ в обслуживании звонка