Кратко
- RFC 3054 описал IP-телефон как простой Media Gateway Megaco: устойчивые имена Termination и минимальный профиль позволяли Media Gateway Controller понимать задуманную структуру, не выводя функции только из Packages.
- Объявление и принятие IPPhone не доказывали дополнительные возможности, физическое состояние, логический Context, путь RTP, декодированный звук или опыт пользователя; у каждого перехода оставалась своя квитанция.
В январе 2001 года интеллект интернет-телефона можно было разместить двумя дополняющими друг друга способами. Значительная часть управления вызовом могла жить в оконечном устройстве. Либо аппарат на столе оставался намеренно простым и подчинялся удалённому контроллеру.
RFC 3054 развил второй вариант. Сам телефон становился Media Gateway, а Media Gateway Controller хранил большую часть прикладной логики. Интерфейс, трубка, громкая связь, гарнитура и поток RTP представлялись логическими частями, которые MGC обнаруживал и менял через Megaco/H.248.
Документ имел статус Informational, не был стандартом Интернета и не сообщал о продукте, внедрении или успешном разговоре. Его историческая ценность — в способе сжать предварительное соглашение между разными устройствами в одно имя профиля, не отменяя проверку реального состава и результата.
Media Gateway оказался на столе пользователя
Media gateway обычно напоминал об оборудовании между сетями, завершающем множество линий. Здесь модель дошла до отдельного телефона. Устройство пользователя непосредственно реализовывало ввод, вывод и органы управления, а один MGC мог руководить многими телефонными MG.
Разделение обязанностей было наглядным. Терминал исполнял действия интерфейса и аудио; контроллер решал, как они участвуют в вызове. Нажатие становилось Event и уходило через Notify. Экран или индикатор реагировал на Signal. MGC мог добавить трубку в Context, переместить туда громкую связь или удалить группу звуковых элементов.
Ни один глагол не был самим разговором. Notify мог верно передать клавишу, не доказывая правильность прикладного решения. Принятый Modify не подтверждал, что лампа загорелась. Context мог содержать RTP и трубку, а сеть, декодер, усилитель или физический преобразователь — не работать.
Имена переносили человеческий смысл
Профиль требовал ровно одну User Interface Termination с именем ui и хотя бы одну Audio Transducer Termination. Трубка называлась at/hs, громкая связь — at/hf; известные имена были у гарнитуры, микрофона и динамика, а at/* означал всю группу.
Два физических элемента могли поддерживать одинаковые Packages и иметь разное значение для человека. Абстрактных возможностей недостаточно, чтобы отличить динамик у уха от громкоговорителя комнаты. Известное имя передавало назначение без отдельного Package для каждой детали.
Wildcard упрощал аудит и групповые команды. Но имя оставалось утверждением логической модели. Производитель мог показать каждый элемент отдельно или скрыть несколько входов и выходов за одной Termination. at/hs доказывал смысл объекта протокола, а не полную проводку, исправность, выбор или слышимость трубки.
Профиль был исходным знанием, а не осмотром
При запуске или ServiceChange телефон объявлял IPPhone, версия 1. Имя несло ожидания: один ui, известную структуру звука, минимум один преобразователь и одну RTP Termination, минимальный транспорт и кодирование управления.
В этом заключалась экономия. MGC не строил модель с нуля: общая структура была известна, оставалось выяснить отличия.
Но решение сохранялось. Контроллер мог принять управление, направить телефон к другому MGC или отказать. Объявление телефона не было принятием контроллера. Только после принятия правила связывали обе стороны.
И принятие не сертифицировало реализацию или текущее состояние. Профиль описывал минимальную форму, а не изготовление, конкретную загрузку или физический выход. Он удешевлял вопрос, но не отвечал на всё.
Разнообразие устройств сохраняло необходимость аудита
AuditValue возвращал логический состав и поддерживаемые Packages. Общий запрос мог перечислить ui и звуковые Terminations; следующие уточняли отдельный объект или at/*.
Экран, цифровая клавиатура, функциональные клавиши, индикаторы, softkeys и вспомогательный ввод были необязательны. Один профиль охватывал простой телефон в вестибюле, конференц-устройство и сложный рабочий аппарат.
Отсутствие не обязательно означало неисправность: соответствующий профилю телефон мог не иметь экрана. Наличие тоже не доказывало работу: Package дисплея мог быть заявлен, когда панель сломана или выключена.
Профиль ограничивал пространство вариантов, аудит сообщал логические заявления. Физический эффект требовал иной проверки.
Минимальная основа позволяла расширять и зависеть
RFC разрешал дополнительные Terminations, Packages, транспорты, кодирования и локальный интеллект. Общая основа поддерживала совместимость, расширения — различия продуктов.
Свобода создавала проблему наследования. Расширение полезно, только если телефон и MGC толкуют его одинаково. Собственный Package мог улучшить систему и затруднить замену контроллера. Чем больше логики находилось в центре, тем сильнее телефон зависел от непрерывности её интерпретации.
Централизация могла удешевить терминал и облегчить обновление. Она же концентрировала власть. MGC формировал Contexts, управлял экраном и отвечал на Events. Его отказ, устаревший состав или несовместимое расширение могли лишить логики множество ещё включённых аппаратов.
Малая начальная спецификация не отменяет управление версиями, откат и выход.
Управление и медиа шли разными путями
Профиль требовал Application Layer Framing поверх UDP и текст ABNF для управления Megaco; TCP и ASN.1 оставались вариантами. Эти правила переносили команды. Звук шёл через RTP Terminations.
Аутентифицированное управление могло построить логическое состояние без доставки RTP. Медиа могли идти в одну сторону. Пакеты могли прийти без декодирования, а декодированные отсчёты — попасть на молчащий выход. Объект RTP не являлся трассой пакета.
Позднейшие документы H.248, RTP и телефонных событий объясняют развитие, но не доказывают задним числом функции телефона RFC 3054 или успех разговора.
Охват контроллера был границей безопасности
Документ говорил, что профиль не добавлял новых проблем к присущим Megaco/H.248. Это ограничивало новизну, но не необходимость защиты.
MGC влиял на звук, экран, индикаторы и реакцию клавиш. Аутентификация показывала отправителя команды, не намерение пользователя, конфиденциальность медиа или правильность физического действия. Один MGC упрощал управление множеством телефонов и расширял последствия старого состояния, ошибки или захваченных полномочий.
Полезное сокращение не было окончательной квитанцией
RFC 3054 предложил дисциплину: общий профиль, устойчивые имена, настоящую необязательность, аудит отличий и операции Megaco для построения желаемого состояния.
Телефон назвал свои части. Контроллеру всё равно пришлось спросить, что внутри. Затем команда, Context, пакет, декодированный звук и человек перед аппаратом выдали разные квитанции.
Sources
- RFC Editor record for RFC 3054
- RFC 3054 in HTML
- RFC 3054 in text
- RFC 2805: Media Gateway Control Protocol Architecture and Requirements
- RFC 3015: Megaco Protocol Version 1.0
- RFC 3525: Gateway Control Protocol Version 1
- RFC 3435: Media Gateway Control Protocol Version 1.0
- RFC 3550: RTP
- RFC 4733: RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals
- RFC 2119: Key Words for Use in RFCs
- RFC 2543: SIP
- RFC 3261: SIP
- IANA Megaco/H.248 registries
- Lu Heng on Running-Code Primacy
- Lu Heng on Minimum Initial Specification
- Lu Heng on Reality Layers
Lu Heng не писал и не одобрял RFC 3054 либо связанные стандарты. Его эссе используются как явно обозначенные аналитические линзы.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
