ТЕРМИНЫ/ПОНЯТИЯ, КОТОРЫЕ НЕОБХОДИМО ЗНАТЬ ДЛЯ ПОНИМАНИЯ ПРИНЦИПОВ 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 - отказ в обслуживании звонка