Рабочая группа по сетевым вопросам G. Camarillo
Запрос комментариев: 3968 Ericsson
Обновляет: 3427 Декабрь 2004 г.
BCP: 98
Категория: Лучшая современная практика
Реестр параметров полей заголовков Internet Assigned
Number Authority (IANA) для протокола
инициирования сеансов (SIP)
Статус этого меморандума
Этот документ определяет Лучшую современную практику Интернета для
интернет-сообщества и запрашивает обсуждение и предложения по
улучшениям. Распространение этого меморандума не ограничено.
Уведомление об авторском праве
Copyright (C) The Internet Society (2004).
Аннотация
Этот документ создаёт реестр Internet Assigned Number Authority (IANA)
для параметров полей заголовков и значений параметров протокола
инициирования сеансов (SIP). Он также перечисляет уже существующие
параметры и значения параметров, которые должны использоваться в
качестве первоначальных записей этого реестра.
1. Введение
RFC 3261 [3] допускает определение новых параметров полей заголовков
и новых значений параметров. Однако в RFC 3261 отсутствовал реестр
IANA для них. Этот документ создаёт такой реестр.
RFC 3427 [4] документирует процесс расширения SIP. Этот документ
обновляет RFC 3427, определяя, как задавать и регистрировать новые
параметры полей заголовков SIP и значения параметров.
2. Терминология
В этом документе ключевые слова "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY" и "OPTIONAL" следует толковать так, как описано
в BCP 14, RFC 2119 [1], и они указывают уровни требований для
соответствующих реализаций.
3. Использование реестра
Параметры полей заголовков SIP и значения параметров ДОЛЖНЫ (MUST)
быть документированы в RFC, чтобы быть зарегистрированными IANA. Эта
документация ДОЛЖНА (MUST) полностью объяснять синтаксис,
предполагаемое использование и семантику параметра или значения
параметра. Цель этого требования состоит в обеспечении
функциональной совместимости между независимыми реализациями и в
предотвращении случайных коллизий пространств имён между реализациями
различных возможностей.
Обратите внимание, что этот реестр, в отличие от других реестров
протоколов, рассматривает только параметры и значения параметров,
определённые в RFC (то есть в нём отсутствует дерево расширений
поставщиков). RFC 3427 [4] документирует опасения относительно
новых расширений SIP, которые могут нанести ущерб безопасности,
значительно увеличить сложность протокола либо и то и другое.
Вследствие этих опасений новые параметры и значения параметров
необходимо документировать в RFC.
RFC, определяющие параметры полей заголовков SIP или значения
параметров, ДОЛЖНЫ (MUST) регистрировать их в IANA, как описано ниже.
Зарегистрированные параметры полей заголовков SIP и значения
параметров должны считаться «зарезервированными словами». Для
сохранения функциональной совместимости зарегистрированные параметры
и значения параметров ДОЛЖНЫ (MUST) использоваться способом,
соответствующим описанному в определяющем их RFC. Реализации НЕ
ДОЛЖНЫ (MUST NOT) использовать «частные» или «локально определённые»
параметры полей заголовков SIP либо значения параметров, которые
конфликтуют с зарегистрированными параметрами.
Обратите внимание, что хотя незарегистрированные параметры полей
заголовков SIP и значения параметров могут использоваться в
реализациях, разработчиков предостерегают: использование таких
параметров рискованно. Новые параметры полей заголовков SIP и
значения параметров могут быть зарегистрированы в любое время, и
нет гарантии, что эти новые зарегистрированные параметры или
значения параметров не будут конфликтовать с незарегистрированными
параметрами, используемыми в настоящее время.
Некоторые параметры полей заголовков SIP принимают только набор
предопределённых значений параметров. Например, параметр, указывающий
используемый транспортный протокол, может принимать в качестве
допустимых значений только предопределённые токены TCP, UDP и SCTP.
Регистрация всех значений параметров для всех параметров полей
заголовков SIP такого типа потребовала бы большого числа подреестров.
Вместо этого мы решили регистрировать значения параметров по ссылке.
То есть запись в реестре параметров для данного параметра поля
заголовка содержит ссылки на RFC, определяющие новые значения
параметра. Ссылки на RFC, определяющие значения параметров, указаны в
реестре в двойных квадратных скобках.
Таким образом, реестр параметров полей заголовков содержит столбец,
который указывает, принимает ли каждый параметр только набор
предопределённых значений. Реализаторам параметров, для которых в
этом столбце указано «Yes», необходимо найти все допустимые значения
параметра в RFC, приведённых в качестве ссылок.
4. Соображения IANA
Раздел 27 RFC 3261 [3] создаёт реестр IANA для имён методов, имён
полей заголовков, кодов предупреждений, кодов состояния и тегов
параметров. Эта спецификация создаёт новый подреестр параметров полей
заголовков в составе реестра параметров SIP.
4.1. Подреестр параметров полей заголовков
Большинство полей заголовков SIP можно расширять определением новых
параметров. Новые параметры полей заголовков SIP регистрируются
IANA. При регистрации нового параметра для поля заголовка или нового
значения для параметра ДОЛЖНА (MUST) быть предоставлена следующая
информация.
o Поле заголовка, в котором может появляться параметр.
o Имя регистрируемого параметра поля заголовка.
o Принимает ли параметр только набор предопределённых значений.
o Ссылка на RFC, в котором определён параметр, и на любой RFC,
определяющий новые значения параметра. Ссылки на RFC, определяющие
значения параметров, указаны в реестре в двойных квадратных
скобках.
Параметры, которые могут появляться в разных полях заголовков, МОГУТ
(MAY) иметь одинаковое имя. Однако параметры, которые могут появляться
в одном поле заголовка, ДОЛЖНЫ (MUST) иметь разные имена.
Ниже приведены первоначальные значения этого подреестра.
Поле заголовка Имя параметра Предопреде- Ссылка
лённые значения
_____________________________________________________________________
Accept q No [RFC 3261]
Accept-Encoding q No [RFC 3261]
Accept-Language q No [RFC 3261]
Authorization algorithm Yes [RFC 3261]
[[RFC 3310]]
Authorization auts No [RFC 3310]
Authorization cnonce No [RFC 3261]
Authorization nc No [RFC 3261]
Authorization nonce No [RFC 3261]
Authorization opaque No [RFC 3261]
Authorization qop Yes [RFC 3261]
Authorization realm No [RFC 3261]
Authorization response No [RFC 3261]
Authorization uri No [RFC 3261]
Authorization username No [RFC 3261]
Authentication-Info cnonce No [RFC 3261]
Authentication-Info nc No [RFC 3261]
Authentication-Info nextnonce No [RFC 3261]
Authentication-Info qop Yes [RFC 3261]
Authentication-Info rspauth No [RFC 3261]
Call-Info purpose Yes [RFC 3261]
Contact expires No [RFC 3261]
Contact q No [RFC 3261]
Content-Disposition handling Yes [RFC 3261]
Event id No [RFC 3265]
From tag No [RFC 3261]
P-Access-Network-Info cgi-3gpp No [RFC 3455]
P-Access-Network-Info utran-cell-id-3gpp No [RFC 3455]
P-Charging-Function-Addresses ccf No [RFC 3455]
P-Charging-Function-Addresses ecf No [RFC 3455]
P-Charging-Vector icid-value No [RFC 3455]
P-Charging-Vector icid-generated-at No [RFC 3455]
P-Charging-Vector orig-ioi No [RFC 3455]
P-Charging-Vector term-ioi No [RFC 3455]
P-DCS-Billing-Info called No [RFC 3603]
P-DCS-Billing-Info calling No [RFC 3603]
P-DCS-Billing-Info charge No [RFC 3603]
P-DCS-Billing-Info locroute No [RFC 3603]
P-DCS-Billing-Info rksgroup No [RFC 3603]
P-DCS-Billing-Info routing No [RFC 3603]
P-DCS-LAES content No [RFC 3603]
P-DCS-LAES key No [RFC 3603]
P-DCS-Redirect count No [RFC 3603]
P-DCS-Redirect redirector-uri No [RFC 3603]
Proxy-Authenticate algorithm Yes [RFC 3261]
[[RFC 3310]]
Proxy-Authenticate domain No [RFC 3261]
Proxy-Authenticate nonce No [RFC 3261]
Proxy-Authenticate opaque No [RFC 3261]
Proxy-Authenticate qop Yes [RFC 3261]
Proxy-Authenticate realm No [RFC 3261]
Proxy-Authenticate stale Yes [RFC 3261]
Proxy-Authorization algorithm Yes [RFC 3261]
[[RFC 3310]]
Proxy-Authorization auts No [RFC 3310]
Proxy-Authorization cnonce No [RFC 3261]
Proxy-Authorization nc No [RFC 3261]
Proxy-Authorization nonce No [RFC 3261]
Proxy-Authorization opaque No [RFC 3261]
Proxy-Authorization qop Yes [RFC 3261]
Proxy-Authorization realm No [RFC 3261]
Proxy-Authorization response No [RFC 3261]
Proxy-Authorization uri No [RFC 3261]
Proxy-Authorization username No [RFC 3261]
Reason cause Yes [RFC 3326]
Reason text No [RFC 3326]
Retry-After duration No [RFC 3261]
Security-Client alg Yes [RFC 3329]
Security-Client ealg Yes [RFC 3329]
Security-Client d-alg Yes [RFC 3329]
Security-Client d-qop Yes [RFC 3329]
Security-Client d-ver No [RFC 3329]
Security-Client mod Yes [RFC 3329]
Security-Client port1 No [RFC 3329]
Security-Client port2 No [RFC 3329]
Security-Client prot Yes [RFC 3329]
Security-Client q No [RFC 3329]
Security-Client spi No [RFC 3329]
Security-Server alg Yes [RFC 3329]
Security-Server ealg Yes [RFC 3329]
Security-Server d-alg Yes [RFC 3329]
Security-Server d-qop Yes [RFC 3329]
Security-Server d-ver No [RFC 3329]
Security-Server mod Yes [RFC 3329]
Security-Server port1 No [RFC 3329]
Security-Server port2 No [RFC 3329]
Security-Server prot Yes [RFC 3329]
Security-Server q No [RFC 3329]
Security-Server spi No [RFC 3329]
Security-Verify alg Yes [RFC 3329]
Security-Verify ealg Yes [RFC 3329]
Security-Verify d-alg Yes [RFC 3329]
Security-Verify d-qop Yes [RFC 3329]
Security-Verify d-ver No [RFC 3329]
Security-Verify mod Yes [RFC 3329]
Security-Verify port1 No [RFC 3329]
Security-Verify port2 No [RFC 3329]
Security-Verify prot Yes [RFC 3329]
Security-Verify q No [RFC 3329]
Security-Verify spi No [RFC 3329]
Subscription-State expires No [RFC 3265]
Subscription-State reason Yes [RFC 3265]
Subscription-State retry-after No [RFC 3265]
To tag No [RFC 3261]
Via branch No [RFC 3261]
Via comp Yes [RFC 3486]
Via maddr No [RFC 3261]
Via received No [RFC 3261]
Via rport No [RFC 3581]
Via ttl No [RFC 3261]
WWW-Authenticate algorithm Yes [RFC 3261]
[[RFC 3310]]
WWW-Authenticate domain Yes [RFC 3261]
WWW-Authenticate nonce No [RFC 3261]
WWW-Authenticate opaque No [RFC 3261]
WWW-Authenticate qop Yes [RFC 3261]
WWW-Authenticate realm No [RFC 3261]
WWW-Authenticate stale Yes [RFC 3261]
4.2. Политика регистрации параметров полей заголовков SIP
Согласно терминологии RFC 2434 [2], политикой регистрации параметров
полей заголовков SIP и значений параметров должна быть «IETF
Consensus».
Для целей этого реестра параметр или значение параметра, для которого
запрашивается регистрация IANA, ДОЛЖЕН (MUST) быть определён в RFC.
Не требуется, чтобы этот RFC относился к треку стандартов.
5. Соображения безопасности
Реестр в этом документе сам по себе не имеет соображений безопасности.
Однако, как упомянуто в RFC 3427, важной причиной для управления IETF
расширениями SIP является обеспечение возможности безопасного
использования всех расширений и параметров. Публикации RFC, служащие
обоснованием регистраций параметров, описанных в настоящей спецификации,
ДОЛЖНЫ (MUST) содержать подробные соображения безопасности для них.
6. Благодарности
Jonathan Rosenberg, Henning Schulzrinne, Rohan Mahy, Dean Willis, Aki
Niemi, Bill Marshall, Miguel A. Garcia-Martin, Jean Francois Mule
и Allison Mankin предоставили полезные комментарии к этому документу.
7. Нормативные ссылки
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
[3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, June 2002.
[4] Mankin, A., Bradner, S., Mahy, R., Willis, D., Ott, J., and B.
Rosen, "Change Process for the Session Initiation Protocol
(SIP)", BCP 67, RFC 3427, December 2002.
Адрес автора
Gonzalo Camarillo
Ericsson
Hirsalantie 11
Jorvas 02420
Finland
EMail: Gonzalo.Camarillo@ericsson.com
Полное заявление об авторских правах
Copyright (C) The Internet Society (2004).
Этот документ подпадает под действие прав, лицензий и ограничений,
содержащихся в BCP 78, и, за исключением изложенного в нём, авторы
сохраняют все свои права.
Этот документ и содержащаяся в нём информация предоставляются на условиях
«КАК ЕСТЬ», и УЧАСТНИК, ОРГАНИЗАЦИЯ, КОТОРУЮ ОН/ОНА ПРЕДСТАВЛЯЕТ
ИЛИ КОТОРАЯ ЕГО/ЕЁ СПОНСИРУЕТ (ЕСЛИ ТАКОВАЯ ИМЕЕТСЯ), INTERNET SOCIETY
И INTERNET ENGINEERING TASK FORCE ОТКАЗЫВАЮТСЯ ОТ ВСЕХ ГАРАНТИЙ, ЯВНЫХ
ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, СРЕДИ ПРОЧЕГО, ЛЮБУЮ ГАРАНТИЮ ТОГО, ЧТО
ИСПОЛЬЗОВАНИЕ СОДЕРЖАЩЕЙСЯ ЗДЕСЬ ИНФОРМАЦИИ НЕ НАРУШИТ НИКАКИХ ПРАВ,
А ТАКЖЕ ЛЮБЫЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ ИЛИ
ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ.
Интеллектуальная собственность
IETF не занимает никакой позиции относительно действительности или объёма
каких-либо прав интеллектуальной собственности либо иных прав, которые
могут быть заявлены как относящиеся к реализации или использованию
технологии, описанной в этом документе, или относительно того, может или
не может быть доступна какая-либо лицензия на такие права; также IETF не
заявляет, что предприняла какие-либо независимые усилия для выявления
таких прав. Информацию о процедурах IETF в отношении прав в документах
IETF можно найти в BCP 78 и BCP 79.
Копии раскрытий IPR, сделанных Секретариату IETF, и любые заверения о
лицензиях, которые будут предоставлены, либо результат попытки получить
общую лицензию или разрешение на использование таких прав собственности
реализаторами или пользователями этой спецификации можно получить из
онлайнового репозитория IPR IETF по адресу
http://www.ietf.org/ipr.
IETF предлагает любой заинтересованной стороне довести до её сведения
любые авторские права, патенты или патентные заявки либо иные права
собственности, которые могут охватывать технологию, которая может
потребоваться для реализации этого стандарта. Просьба направлять
информацию в IETF по адресу ietf-
ipr@ietf.org.
Благодарность
Финансирование функции RFC Editor в настоящее время предоставляется
Internet Society.