This is an archived website. The Open URC Alliance e.V. was dissolved in 2024. This archive preserves the consortium's technical documentation and legacy.

URC-HTTP Protocol 2.0

Title
URC-HTTP Protocol 2.0
Status
Approved Technical Report
Date
17 December 2013
Editors
openURC Technical Committee
Compatibility
UPnP RemoteUI (CEA-2014)

Abstract

URC-HTTP Protocol 2.0 defines the RESTful HTTP-based communication protocol between URC controllers and the Universal Control Hub. It specifies how controllers discover available targets, establish sessions, read and write socket element values, subscribe to events, and retrieve resources. Version 2.0 introduces full compatibility with the UPnP RemoteUI standard (CEA-2014), enabling URC technology to operate within existing consumer electronics network ecosystems.

Protocol Design

The protocol follows a RESTful architecture built on standard HTTP methods. GET retrieves resource representations and socket values, POST initiates sessions and triggers commands, PUT updates socket element values, and DELETE terminates sessions and removes event subscriptions. This design leverages the well-understood semantics of HTTP, making the protocol accessible to any developer familiar with web APIs.

The protocol is resource-oriented: every socket element is addressable via a unique URI. This means controllers can interact with individual variables, commands, or notifications without downloading the entire socket description. The URI structure follows a predictable hierarchy from target to socket to individual element, enabling efficient caching at every level.

Both synchronous request-response patterns and asynchronous event notifications are supported. For real-time updates, controllers subscribe to specific socket elements and receive notifications when values change. The protocol supports both JSON and XML payload formats, with content negotiation handled via standard HTTP Accept headers.

Key Operations

The protocol defines five categories of operations that cover the full lifecycle of a URC interaction:

Compatibility

A key design goal of version 2.0 was interoperability with UPnP RemoteUI (CEA-2014). By aligning with RemoteUI conventions, the protocol ensures that URC controllers can participate in existing UPnP home networks without additional gateway infrastructure. This compatibility extends to discovery mechanisms (SSDP), device description formats, and event notification patterns, allowing implementers to build controllers that work with both native URC targets and UPnP devices through one protocol interface.

Relation to ISO/IEC 24752-8

In 2018, the ISO/IEC 24752 standard was extended with Part 8, which formalized RESTful protocols for user interface resource delivery. Part 8 builds directly on the concepts and architectural patterns established in URC-HTTP Protocol 2.0, effectively standardizing the approach that the Open URC Alliance had been implementing since 2013. This validated the protocol design decisions made by the Technical Committee and ensured long-term compatibility between the Alliance's implementations and the international standard.