Приложение N 13
к Правилам применения оборудования
коммутации систем подвижной
радиотелефонной связи.
Часть II. Правила применения
оконечно-транзитных узлов связи
сетей подвижной радиотелефонной
связи стандарта GSM 900/1800
Требования к параметрам протокола SIP
1. Команды SIP передаются на порт с номером 5060 по умолчанию. Команды передаются на другой порт узла связи, если номер этого порта заранее известен отправителю.
2. Оборудование узла связи реализует функции следующих элементов сети SIP: агент абонента, прокси-сервер, сервер регистрации и сервер перенаправления.
3. Протокол SIP использует принцип адресации, где в качестве адресов используются унифицированные указатели ресурсов SIP URL: имя@домен, имя@хост, имя@IР-адрес, номер телефона@шлюз.
4. Сообщения SIP разделяются на запросы обслуживаемой стороны (далее - клиента) к обслуживающей стороне (далее - серверу) и ответы сервера к клиенту.
Оба типа сообщений состоят из начальной (стартовой) строки, одной или более строк заголовка, пустой строки, указывающей на конец заголовка, и необязательной части сообщения - тела. Стартовая строка, каждая строка поля заголовка и пустая строка завершаются символом "возврат каретки".
5. Запрос включает начальную строку, содержащую тип запроса, текущий узел, которому этот запрос адресован и номер версии протокола, разделенных пробелами, и заканчивается символом "возврат каретки".
В сервере реализуется обработка сообщений, являющихся запросами: "Приглашение", "Подтверждение", "Завершение", "Отмена", "Регистрация", "Запрос", "Информация", "Подтверждение предварительного ответа", "Обновление параметров", "Запрос подписки", "Информация о текущем состоянии", "Предписание", "Сообщение", "Определение абонента в сети".
5.1. Запрос "Приглашение" инициирует сеанс связи и содержит описание сеанса связи, вид принимаемой информации и параметры, необходимые для приема информации. Запрос может содержать вид информации, которую вызывающая сторона передает, и данные, необходимые для аутентификации абонента. При необходимости изменения характеристик подготовленных или уже используемых каналов, передается запрос "Приглашение" с новым описанием сеанса связи. Запрос "Приглашение" также используется для приглашения нового участника к уже установленному соединению.
5.2. Запросом "Подтверждение" оборудование вызывающего пользователя подтверждает, что на свой запрос "Приглашение" оно получило ответ с содержанием окончательных параметров описания сеанса связи. На запрос "Подтверждение" не должен генерироваться ответ.
5.3. Запрос "Завершение" используется для завершения соединения. Сторона, получившая запрос "Завершение", прекращает передачу голосовой (мультимедийной) информации и подтверждает это ответом 200.
5.4. Запрос "Отмена" передается для отмены обработки ранее переданных запросов, но не влияет на те запросы, обработка которых уже завершена.
5.5. При помощи запроса "Регистрация" абоненты сообщают свое текущее местоположение. В этом запросе содержатся заголовки "Логический адресат запроса", "Адрес отправителя запроса", "Текущий адрес абонента" с новым адресом абонента, по которому должны передаваться все дальнейшие запросы "Приглашение" (если в запросе "Регистрация" заголовок "Текущий адрес абонента" отсутствует, регистрация остается неизменной, а в случае отмены регистрации размещается символ "*"), и заголовок "Время жизни сообщения", в котором указывается время в секундах, по истечении которого регистрация заканчивается (если этот заголовок отсутствует, то по умолчанию назначается время - 1 час). Регистрация отменяется передачей сообщения "Регистрация" с заголовком "Время жизни сообщения", которому присвоено значение ноль, и с соответствующим заголовком "Текущий адрес абонента".
5.6. Сообщением "Запрос" вызывающий абонент запрашивает информацию о возможностях терминального оборудования вызываемого абонента.
5.7. Запрос "Информация" используется для переноса сообщений сигнализации ОКС N 7 в течение сеанса связи, для переноса тональных сигналов, созданных в ходе сеанса, для переноса информации об остатке на счете (информации о стоимости), для переноса между участниками сеанса связи изображений и другой информации.
5.8. Запрос "Подтверждение предварительного ответа" используется для подтверждения предварительных ответов, при его получении требуется передача ответа. В запросе "Подтверждение предварительного ответа" указывается номер подтверждаемого предварительного ответа.
5.9. Запрос "Обновление параметров" используется для изменения параметров сеанса до прихода окончательного ответа на запрос "Приглашение". При этом в поле заголовка "Поддерживаемые типы запросов" запроса "Приглашение" указывается тип запроса "Обновление параметров".
5.10. Сообщение "Запрос подписки" используется для запроса информации о текущем состоянии и об обновлениях состояния удаленного ресурса. "Запрос подписки" подтверждается окончательным ответом.
5.11. Запрос "Информация о текущем состоянии" передается после получения "Запроса подписки", а также после изменения состояния, на уведомление о котором была открыта подписка. Запрос "Информация о текущем состоянии" подтверждается окончательным ответом.
5.12. Запрос "Предписание" информирует получателя связаться с третьей стороной, используя контактную информацию, которая содержится в запросе.
5.13. Запрос "Сообщение" предназначен для передачи мгновенных текстовых сообщений, которые помещаются в тело запроса "Сообщение". При доставке сообщения получателю формируется ответ с кодом 200.
6. Ответ на запрос включает начальную строку с полями, где указываются номер версии протокола, тип ответа и короткая расшифровка ответа. Все эти поля разделяются пробелом, а заканчивается строка символом "возврат каретки".
Поле тип ответа состоит из трех цифр (код статуса), определяющих результат выполнения запроса.
Протокол SIP определяет две группы ответов на запрос инициирующий соединение: предварительные и окончательные. Окончательные ответы несут результат обработки запроса и передаются с подтверждением. Предварительные ответы несут информацию о текущей стадии обработки запроса и передаются без подтверждения.
6.1. Сервер SIP поддерживает классы ответов, приведенные в таблице N 1. Первая цифра поля кода статуса определяет класс ответа.
Таблица N 1. Классы ответов SIP
Код статуса |
Класс ответа |
Примечание |
1 |
2 |
3 |
1хх |
Информационный (предварительный) |
Запрос получен, продолжается процесс обработки |
2хх |
Успешно обработан |
Запрос получен, понят и обработан |
3хх |
Перенаправление |
Оборудование информируется о новом местоположении абонента, предпринимаются действия для завершения соединения |
4хх |
Ошибка клиента |
Запрос содержит синтаксическую ошибку или не может быть выполнен |
5хх |
Ошибка сервера |
Сервер не может выполнить очевидно правильный запрос, возможно повторение запроса через некоторое время |
6хх |
Глобальная ошибка |
Запрос не может быть выполнен ни на каком сервере (занятость абонента, возможность оставить сообщение) |
Реализации SIP различают класс ответа (первую цифру кода). От реализаций SIP не требуется различать значения всех указанных кодов статуса. Нераспознанный ответ любого класса обрабатывается как код х00 данного класса.
6.2. Ответы 1хх.
100 - предназначен для обнуления таймеров.
180 - вызываемому абоненту передается информация о вызове.
181 - указывается в теле сообщения, к какому абоненту переправляется вызов.
182 - используется в приложениях, которые позволяют ставить текущий вызов в очередь до тех пор, пока не будут обслужены вызовы, находящиеся перед ним.
183 - используется для того, чтобы заранее получить описание сеанса информационного обмена от шлюзов на пути к вызываемому абоненту таким образом, чтобы мог быть проключен голосовой тракт в предответном состоянии до того, как вызывающий абонент получит сигнал КПВ.
189 - используется для предоставления текущей информации о состоянии соединения, переключаемого на другой номер в фазе разговора. При этом ожидается получить либо ответ об успешной обработке, либо ответ об отказе вызываемой стороны.
6.3. Ответы 2хх.
200 - успешное выполнение запроса.
202 - запрос принят для обработки, но обработка не завершена.
6.4. Ответы 3хх.
300 - указывает несколько SIP-адресов, по которым можно найти вызываемого абонента.
301 - означает, что вызываемый абонент больше не находится по адресу, указанному в запросе, и направлять запросы нужно на адрес, указанный в поле заголовка "Текущий адрес абонента".
302 - означает, что абонент временно (промежуток времени может быть указан в поле заголовка "Время жизни сообщения") находится по другому адресу, указанному в поле "Текущий адрес абонента".
305 - означает, что вызываемый абонент не доступен непосредственно, входящий вызов должен пройти через прокси-сервер. Вызывающей стороне рекомендуется повторить запрос через прокси-сервер, адрес которого указан в поле заголовка "Текущий адрес абонента".
380 - запрошенная услуга недоступна, но доступны альтернативные услуги, которые описаны в теле сообщения.
6.5. Ответы 4хх.
400 - означает, что запрос не понят из-за синтаксических ошибок в нем.
401 - означает, что запрос требует проведения процедуры аутентификации абонента.
403 - означает, что сервер понял запрос, но отказался его обслуживать. Повторный запрос не посылается.
404 - сервер не обнаружил вызываемого абонента.
405 - не разрешается передавать запрос этого типа на адрес, указанный в заголовке.
406 - вызываемая сторона будет формировать ответы, которые не будут поняты вызывающей стороной.
407 - перед вызовом требуется провести аутентификацию в прокси-сервере.
408 - сервер не может передать ответ в течение времени, указанного вызывающим абонентом в заголовке "Время жизни сообщения" запроса.
410 - сервер не имеет доступа к запрашиваемому ресурсу и не знает куда переадресовать запрос.
413 - размер запроса слишком велик для обработки на сервере.
414 - у сервера возникли трудности с интерпретацией адреса получателя из-за его длины.
415 - сервер не может принять запрос, так как формат содержимого тела сообщения не поддерживается сервером для запроса данного типа.
416 - сервер не может обработать запрос из-за того, что схема адреса получателя ему непонятна.
420 - сервер не понимает расширение протокола SIP.
421 - в заголовке запроса не указано, какое расширение сервер должен применить для его обработки.
423 - сервер отклоняет запрос, так как время действия ресурса короткое.
480 - соединение с оконечной системой установлено успешно, но абонент в данный момент недоступен.
481 - сервер получил запрос, не относящийся к текущему диалогу или транзакции. Запрос отбрасывается.
482 - обнаружен замкнутый маршрут передачи запроса.
483 - запрос на своем пути прошел через большее число прокси-серверов, чем разрешено.
484 - принят запрос с неполным адресом.
485 - означает, что адрес вызываемого абонента не однозначен.
486 - означает, что вызываемый абонент в настоящий момент занят и не желает (не может) принять входящий вызов.
487 - запрос был отменен сообщением "Завершение" или "Отмена".
488 - соединение было установлено, но отдельные параметры описания сеанса связи недопустимы.
489 - сервер не понял тип события, на которое осуществляется подписка или о котором передается уведомление.
491 - запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу.
493 - сервер не в состоянии подобрать ключ дешифрования для тела сообщения.
494 - ответ содержит используемые сервером механизмы обеспечения безопасности.
6.6. Ответы 5хх.
500 - означает, что сервер не имеет возможности обслужить запрос из-за внутренней ошибки. Клиент может попытаться повторно послать запрос через некоторое время.
501 - означает, что в сервере не реализованы какие-либо функции, необходимые для обслуживания запроса. Ответ передается в том случае, когда сервер не может распознать тип запроса, полученного им от любого из абонентов.
502 - информирует о том, что сервер, функционирующий в качестве шлюза или прокси-сервера, принимает некорректный ответ от сервера, к которому он направил запрос.
503 - указывает, что сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания.
504 - сервер не получил ответа в течение установленного промежутка времени от сервера, к которому он обратился для завершения вызова.
505 - сервер не поддерживает или отказывается поддерживать версию протокола SIP, используемую в запросе.
513 - сервер не в состоянии обработать запрос из-за большой длины сообщения.
580 - сервер не принимает параметры, предлагаемые в описании сеанса, в ответе указывается причина отказа.
6.7. Ответы 6хх.
600 - вызываемый абонент занят и не желает принимать вызов в данный момент. Ответ может содержать указание на время, подходящее для нового вызова. Если с абонентом можно связаться по другому адресу или оставить сообщение, то используется ответ 486.
603 - означает, что вызываемый абонент не желает принимать входящие вызовы, не указывая причину отказа.
604 - означает, что вызываемого абонента не существует.
606 - соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации, не допустимы.
7. Для предотвращения зацикливания прокси-сервер должен проверять наличие своего адреса в поле общего заголовка "Список элементов сети, через которые прошел запрос" при получении входящего запроса. Поля общего заголовка "Логический адресат запроса", "Адрес отправителя запроса", "Идентификатор сеанса связи" и "Текущий адрес абонента" должны быть скопированы из исходных полей.
8. Поля заголовка команды SIP включают поля общего заголовка, заголовка запроса, заголовка ответа и заголовка содержания. Поля заголовка могут занимать несколько строк. Поле заголовка состоит из имени поля, символа "двоеточие" и значения поля.
Порядок полей в заголовке не имеет значения. Прокси-сервер не изменяет порядок полей в перенаправляемом сообщении, а также не вносит изменения в заголовки, передаваемые от одного до другого оконечного устройства. Прокси-сервер может вносить изменения в заголовки, формируемые на промежуточных стадиях передачи сообщения.
8.1. Заголовок содержания включает поля: кодирование тела сообщения, размер тела сообщения, тип содержимого.
8.2. Поля общего заголовка используются и в запросах и в ответах и применяются к сообщению в целом, а не к передаваемому содержанию.
8.3. Поля заголовка запроса передают информацию о запросе и о самом клиенте и передаются только в запросах.
8.4. Поля заголовка ответа передаются только в ответах.
В таблице N 2 приведены названия заголовков сообщений SIP и место их использования.
Таблица N 2. Названия заголовков сообщений SIP и место их использования
Название заголовка |
Место использования заголовка |
1 |
2 |
Типы тела сообщения, принимаемые клиентом |
Заголовок в запросах, в ответах 2хх, в ответе 415 |
Поддерживаемые типы кодирования |
Заголовок в запросах, в ответах 2хх, в ответе 415 |
Поддерживаемые типы языков |
Заголовок в запросах, в ответах 2хх, в ответе 415 |
Альтернативный сигнал вызова |
Заголовок в запросах, в ответе 180 |
Поддерживаемые типы запросов |
Заголовок в запросах, в ответах 2хх, в ответе 405 |
Все поддерживаемые типы событий, типы запросов |
Заголовок в запросах, в ответах 2хх, в ответе 489 |
Информация аутентификации |
Заголовок в ответах 2хх |
Авторизация |
Заголовок в запросах |
Идентификатор сеанса связи |
Общий заголовок, копируется из запросов в ответы |
Дополнительная информация о вызывающем или вызываемом абоненте |
Общий заголовок |
Текущий адрес пользователя |
Заголовок в запросах, в ответах 1хх, 2хх, 3хх, 4хх - 6хх |
Интерпритация тела сообщения |
Заголовок содержания |
Модификация тела сообщения |
Заголовок содержания |
Национальный язык для тела сообщения |
Заголовок содержания |
Размер тела сообщения в байтах |
Заголовок содержания |
Тип тела сообщения |
Заголовок содержания |
Идентификатор запроса, относящегося к одному соединению |
Общий заголовок, копируется из запросов в ответы |
Дата и время отправки сообщения |
Общий заголовок |
Дополнительная информация об ошибке |
Заголовок в ответах 300 - 699 |
Тип события |
Заголовок в запросах |
Время жизни сообщения |
Общий заголовок, в ответах 2хх |
Скрыть |
Заголовок в запросах |
Список идентификаторов сеансов связи с данным отправителем |
Заголовок в запросах |
Максимальное количество переадресаций |
Заголовок в запросах |
Адрес отправителя запроса |
Общий заголовок, копируется из запросов в ответы |
Минимальный период обновления |
Заголовок в ответе 423 |
Версия стандарта "многоцелевое расширение Интернет почты" |
Общий заголовок |
Название организации, к которой относится SIP-элемент |
Общий заголовок |
Информация об узлах, лежащих на пути прохождения сообщения регистрации |
Заголовок в запросах, в ответах 2хх |
Приоритет SIP запроса для конечного абонента |
Заголовок в запросах |
Необходимость анонимности |
Общий заголовок |
Подтверждение подлинности прокси-сервера |
Заголовок в ответе 401, в ответе 407 |
Авторизация абонента прокси-сервера |
Заголовок в запросах |
Требование к прокси-серверу |
Заголовок в запросах |
Информация о сети |
Общий заголовок |
Информация, удостоверяющая абонента |
Общий заголовок |
Список контактных адресов для определенного зарегистрированного списочного адреса |
Заголовок в ответах 2хх |
Списочный адрес вызываемого абонента |
Заголовок в запросах |
Идентификатор начисления оплаты |
Общий заголовок |
Список адресов элементов сети, ведущих начисление платы |
Общий заголовок |
Идентификатор, связывающий все записи об услугах, предоставленных в течение конкретного сеанса |
Общий заголовок |
Информация, необходимая для реализации функций оперативно-розыскных мероприятий |
Общий заголовок |
Идентификатор сеанса, необходимый для поддержки требований легального электронного наблюдения за перенаправленными вызовами |
Общий заголовок |
Запрос определенного способа обработки вызова |
Заголовок в запросах |
Информация, удостоверяющая вызывающего абонента |
Заголовок в запросах |
Идентификаторы для предоставления доступа к услуге гарантированного качества обслуживания |
Заголовок в запросах, в ответах 101 - 199, в ответах 2хх |
Информация, удостоверяющая абонента, у которого с прокси-сервером установлены доверительные отношения |
Общий заголовок |
Идентификатор сети, где временно находится абонент |
Заголовок в запросах |
Надежная доставка предварительных ответов |
Заголовок в запросах |
Причина передачи запроса SIP |
Заголовок в запросах и в ответах 1 хх |
Запись маршрута |
Заголовок в запросах, в ответах 18х, 2хх, 401, 484 |
Адрес для переадресации вызова |
Заголовок в запросах |
Логический обратный адрес |
Общий заголовок |
Перечень опций, необходимых для обработки запроса |
Заголовок в запросах |
Ключ кодирования ответа |
Заголовок в запросах |
Время, через которое абонент будет доступен |
Заголовок в ответах 404, 413, 480, 486, 500, 503, 600, 603 |
Принудительный маршрут |
Заголовок в запросах |
Номер предварительного ответа с надежной транспортировкой |
Заголовок в ответах 1хх |
Список механизмов безопасности, поддерживаемых клиентом |
Заголовок в запросах |
Список механизмов безопасности, поддерживаемых сервером |
Заголовок в ответах 421, 494 |
Механизмы безопасности, используемые клиентом |
Заголовок в запросах |
Информация о программном обеспечении, используемом сервером для обработки запросов |
Заголовок в ответах |
Статус подписки |
Заголовок в запросах |
Дополнительная информация о типе и характере сеанса |
Заголовок в запросах |
Перечень расширений |
Заголовок в запросах, в ответах 2хх |
Метка времени передачи сообщения |
Общий заголовок |
Логический адресат запроса |
Общий заголовок, копируется из запросов в ответы |
Не поддерживается |
Заголовок в ответе 420 |
Агент абонента |
Общий заголовок |
Список элементов сети, через которые прошел запрос |
Общий заголовок, копируется из запросов в ответы |
Информация, связанная с проблемами обработки запроса сервером |
Заголовок в запросах, в ответах |
Аутентификация WWW-сервера |
Заголовок в ответах 401, 407 |
9. Тело сообщения.
Для запросов "Подтверждение", "Приглашение" и "Запрос" тело сообщения всегда содержит описание сессии. Запрос "Завершение" не содержит тела сообщения.
Все ответы могут содержать тело сообщения. Ответы с кодом 1хх содержат консультативную информацию о состоянии выполняющегося запроса, ответы с кодом 2хх на запрос "Приглашение" содержат параметры описания сессии, в ответах с кодом 3хх может содержаться информация об альтернативных действиях или службах.
10. Для переноса сообщений сигнализации ОКС N 7 по сети с коммутацией пакетов информации в ЦКП сервере реализуется расширенная версия протокола SIP - протокол SIP-T. SDP-T использует процедуры, запросы и ответы протокола SIP.
В SIP-T сообщения ОКС N 7 инкапсулируются в тело запроса SIP, а часть информации сообщения, необходимая для правильной маршрутизации, транслируется в заголовок запроса SIP.
Преобразования сообщений протоколов ОКС N 7 в SIP и обратно осуществляются в ЦКП сервере.