{"id":167,"date":"2026-05-21T15:20:55","date_gmt":"2026-05-21T15:20:55","guid":{"rendered":"https:\/\/phonesstillexist.com\/?p=167"},"modified":"2026-05-21T15:21:36","modified_gmt":"2026-05-21T15:21:36","slug":"dsip-decentralized-session-initiation-protocol","status":"publish","type":"post","link":"https:\/\/phonesstillexist.com\/index.php\/2026\/05\/21\/dsip-decentralized-session-initiation-protocol\/","title":{"rendered":"DSIP: Decentralized Session Initiation Protocol"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">An Identity-First Protocol for Trusted Real-Time Media<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Version:<\/strong> Draft v0.4<br><strong>Status:<\/strong> Proposal<br><strong>Editor:<\/strong> James Ferris<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This draft supersedes v0.3 found here:  <a href=\"https:\/\/phonesstillexist.com\/index.php\/2025\/10\/10\/dsip-a-decentralized-protocol-for-secure-voice-video-and-messaging-technical-proposal\/\">DSIP Proposal v0.3<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/phonesstillexist.com\/wp-content\/uploads\/2026\/05\/dsip-hero-1024x538.png\" alt=\"\" class=\"wp-image-171\" srcset=\"https:\/\/phonesstillexist.com\/wp-content\/uploads\/2026\/05\/dsip-hero-1024x538.png 1024w, https:\/\/phonesstillexist.com\/wp-content\/uploads\/2026\/05\/dsip-hero-300x158.png 300w, https:\/\/phonesstillexist.com\/wp-content\/uploads\/2026\/05\/dsip-hero-768x403.png 768w, https:\/\/phonesstillexist.com\/wp-content\/uploads\/2026\/05\/dsip-hero.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1. Abstract<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP, the <strong>Decentralized Session Initiation Protocol<\/strong>, is an identity-first signaling and negotiation protocol for establishing trusted real-time media sessions between people, devices, applications, services, broadcasters, and AI agents.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP is inspired by SIP, but it is not limited to telephony. Where SIP primarily initiated voice and video calls between user agents, DSIP initiates verifiable media sessions between any identity-aware endpoint. These sessions may include voice, video, messaging, live broadcast, conferencing, AI interaction, device media, sensor streams, captions, metadata, or future real-time media types.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP replaces carrier-owned numbers, centralized registrars, siloed application identities, and hop-by-hop trust with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Self-sovereign identity using Decentralized Identifiers (DIDs)<\/li>\n\n\n\n<li>Cryptographically signed signaling<\/li>\n\n\n\n<li>Decentralized discovery and presence<\/li>\n\n\n\n<li>First-class media and codec negotiation<\/li>\n\n\n\n<li>Transport-independent session establishment<\/li>\n\n\n\n<li>Verifiable source identity for calls, broadcasts, devices, and AI agents<\/li>\n\n\n\n<li>Privacy-preserving security and selective disclosure<\/li>\n\n\n\n<li>Pragmatic interoperation with SIP, PSTN, WebRTC, HLS\/DASH, and future media transports<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The goal of DSIP is not only to modernize phone calls. The goal is to create an open trust and session layer for real-time communication across the internet.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. Why DSIP Needs to Evolve Beyond Calls<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original DSIP concept began as a decentralized successor to SIP for secure voice, video, and messaging. That remains an important use case, but it is no longer the whole vision.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Real-time communication is expanding beyond phones and PBXs. Modern communication now includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Human-to-human calls<\/li>\n\n\n\n<li>Video meetings<\/li>\n\n\n\n<li>AI voice agents<\/li>\n\n\n\n<li>AI-to-AI interactions<\/li>\n\n\n\n<li>Contact center media<\/li>\n\n\n\n<li>Live captions and transcription<\/li>\n\n\n\n<li>Smart speakers and voice assistants<\/li>\n\n\n\n<li>Vehicle communications<\/li>\n\n\n\n<li>Intercoms and access systems<\/li>\n\n\n\n<li>Public safety audio\/video<\/li>\n\n\n\n<li>Radio and TV broadcasts<\/li>\n\n\n\n<li>Live streaming<\/li>\n\n\n\n<li>Gaming voice\/video<\/li>\n\n\n\n<li>Remote device media<\/li>\n\n\n\n<li>Machine-to-machine media streams<\/li>\n\n\n\n<li>Sensor and telemetry channels<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Today, each ecosystem solves identity, discovery, signaling, trust, and media negotiation differently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Phone networks use numbers, carriers, SIP, SS7, and regulatory trust chains. Video platforms use proprietary account systems and signaling. Broadcasters use URLs, platform identities, HLS\/DASH manifests, or app-specific discovery. AI voice systems use WebSockets, APIs, SIP trunks, or custom glue. IoT devices often depend on vendor clouds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result is a fragmented world where every platform has its own identity model, its own trust model, its own signaling layer, and its own media assumptions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP proposes a common control plane for trusted real-time media.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Updated Definition<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP stands for:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Decentralized Session Initiation Protocol<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP is not merely \u201cDecentralized SIP.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A better definition is:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">DSIP is an identity-first signaling, discovery, and media negotiation protocol for establishing trusted real-time sessions between any identity-aware endpoint.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">An endpoint may be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A person<\/li>\n\n\n\n<li>A phone<\/li>\n\n\n\n<li>A browser<\/li>\n\n\n\n<li>A mobile app<\/li>\n\n\n\n<li>A SIP gateway<\/li>\n\n\n\n<li>A video room<\/li>\n\n\n\n<li>A conference bridge<\/li>\n\n\n\n<li>An AI agent<\/li>\n\n\n\n<li>A contact center queue<\/li>\n\n\n\n<li>A radio station<\/li>\n\n\n\n<li>A TV broadcaster<\/li>\n\n\n\n<li>A camera<\/li>\n\n\n\n<li>A smart speaker<\/li>\n\n\n\n<li>A vehicle<\/li>\n\n\n\n<li>An IoT device<\/li>\n\n\n\n<li>A public safety system<\/li>\n\n\n\n<li>A media relay<\/li>\n\n\n\n<li>A software service<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The endpoint does not need to be a phone. It only needs a verifiable identity, discoverable capabilities, and a way to participate in a negotiated media session.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Motivation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Identity Is Broken Across Real-Time Communications<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Traditional caller identity is weak. Phone numbers can be spoofed. CNAM is inconsistent. STIR\/SHAKEN improves parts of the PSTN problem, but it is still bound to carrier-controlled telephone numbers and does not solve identity across internet-native communication.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Video platforms, messaging platforms, broadcast platforms, and AI communication systems each create their own closed identity systems. A verified identity in one platform does not automatically carry to another.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP makes identity intrinsic to the session.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 Signaling Is Fragmented<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SIP, WebRTC signaling, proprietary video platforms, streaming manifests, contact center APIs, and AI voice APIs all solve overlapping problems in incompatible ways.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They all need to answer similar questions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Who is initiating this session?<\/li>\n\n\n\n<li>Who is the intended recipient or audience?<\/li>\n\n\n\n<li>Can the source be verified?<\/li>\n\n\n\n<li>What media types are supported?<\/li>\n\n\n\n<li>What codecs are available?<\/li>\n\n\n\n<li>Which transport should carry the media?<\/li>\n\n\n\n<li>Is the session live, interactive, broadcast, recorded, or relayed?<\/li>\n\n\n\n<li>What security and privacy policies apply?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP provides a common session layer for those questions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 Deepfake Audio and Video Require Verifiable Source Identity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As synthetic audio and video become easier to create, the internet needs a way to verify the source of real-time media.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A DSIP-compatible client should be able to determine whether a media session is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A verified person<\/li>\n\n\n\n<li>A verified organization<\/li>\n\n\n\n<li>A verified broadcaster<\/li>\n\n\n\n<li>A verified AI agent<\/li>\n\n\n\n<li>A verified device<\/li>\n\n\n\n<li>A relay of a verified source<\/li>\n\n\n\n<li>An unverified or anonymous source<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is not only a telecom issue. It applies to news, emergency broadcasts, business communications, customer support, public safety, and AI-generated media.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.4 Codec and Transport Negotiation Need a Modern Standard<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SIP\/SDP solved a major problem by allowing endpoints to negotiate media. DSIP keeps that idea, but expands it for modern media environments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should negotiate:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Audio codecs<\/li>\n\n\n\n<li>Video codecs<\/li>\n\n\n\n<li>Text and caption streams<\/li>\n\n\n\n<li>Data channels<\/li>\n\n\n\n<li>Transcription streams<\/li>\n\n\n\n<li>AI context streams<\/li>\n\n\n\n<li>Broadcast variants<\/li>\n\n\n\n<li>Latency requirements<\/li>\n\n\n\n<li>Bandwidth constraints<\/li>\n\n\n\n<li>Encryption modes<\/li>\n\n\n\n<li>Consent and recording policy<\/li>\n\n\n\n<li>Transport bindings<\/li>\n\n\n\n<li>Relay and federation options<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.5 Real-Time Media Is No Longer Only Conversational<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A call is one type of session. DSIP should also support:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One-to-one communication<\/li>\n\n\n\n<li>One-to-many broadcast<\/li>\n\n\n\n<li>Many-to-many conferences<\/li>\n\n\n\n<li>Publish\/subscribe media<\/li>\n\n\n\n<li>Federated rebroadcast<\/li>\n\n\n\n<li>AI-assisted sessions<\/li>\n\n\n\n<li>Device media streams<\/li>\n\n\n\n<li>Emergency alerts<\/li>\n\n\n\n<li>Low-latency live events<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The session model should be explicit, negotiated, and extensible.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Core Principles<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Identity-first communication<\/strong><br>Every DSIP participant is identified by a DID or equivalent verifiable identity.<\/li>\n\n\n\n<li><strong>End-to-end verifiability<\/strong><br>DSIP signaling is signed. Identity is proven cryptographically, not simply asserted by a network intermediary.<\/li>\n\n\n\n<li><strong>Media-agnostic design<\/strong><br>DSIP supports audio, video, messaging, captions, metadata, data channels, sensor streams, and future media types.<\/li>\n\n\n\n<li><strong>Transport independence<\/strong><br>DSIP negotiates sessions that may use RTP\/SRTP, WebRTC, QUIC, WebTransport, HLS, DASH, multicast, or future transports.<\/li>\n\n\n\n<li><strong>Decentralized discovery<\/strong><br>Endpoints are discovered using DID documents, DNS, WebFinger, DHTs, federation, and other decentralized or federated mechanisms.<\/li>\n\n\n\n<li><strong>Codec negotiation as a first-class feature<\/strong><br>DSIP treats media capability exchange as a central protocol function, not an afterthought.<\/li>\n\n\n\n<li><strong>Privacy by design<\/strong><br>DSIP supports selective disclosure, encrypted signaling payloads, ephemeral identities, private presence, and minimal metadata exposure.<\/li>\n\n\n\n<li><strong>Composable application profiles<\/strong><br>Phone calls, video conferences, broadcasts, AI agents, messaging, and device streams are profiles built on the same foundation.<\/li>\n\n\n\n<li><strong>Pragmatic interop<\/strong><br>DSIP must interoperate with SIP\/PSTN, WebRTC, existing streaming systems, emergency networks, and enterprise communication platforms.<\/li>\n\n\n\n<li><strong>Open participation<\/strong><br>Users, companies, governments, developers, broadcasters, and open-source communities should be able to operate DSIP endpoints, resolvers, relays, gateways, and media services.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Scope and Non-Goals<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 DSIP Defines<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP defines:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Identity binding for real-time sessions<\/li>\n\n\n\n<li>Endpoint discovery<\/li>\n\n\n\n<li>Presence and availability records<\/li>\n\n\n\n<li>Session initiation messages<\/li>\n\n\n\n<li>Session state updates<\/li>\n\n\n\n<li>Media capability advertisement<\/li>\n\n\n\n<li>Codec negotiation<\/li>\n\n\n\n<li>Transport negotiation<\/li>\n\n\n\n<li>Security and trust metadata<\/li>\n\n\n\n<li>Application profile conventions<\/li>\n\n\n\n<li>Interoperation models<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 DSIP Does Not Require<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP does not require:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A blockchain<\/li>\n\n\n\n<li>A single global registrar<\/li>\n\n\n\n<li>Carrier-controlled phone numbers<\/li>\n\n\n\n<li>A specific codec<\/li>\n\n\n\n<li>A specific media transport<\/li>\n\n\n\n<li>A specific relay network<\/li>\n\n\n\n<li>A single application provider<\/li>\n\n\n\n<li>A single identity provider<\/li>\n\n\n\n<li>A single commercial trust authority<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.3 DSIP Is Not Intended to Replace Every Media Protocol<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should not replace RTP, SRTP, WebRTC, HLS, DASH, QUIC, or media codecs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead, DSIP should act as the control plane that discovers endpoints, verifies identities, negotiates capabilities, selects transports, and establishes policy before media flows.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Layered Architecture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP is best understood as a layered protocol stack.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>+-----------------------------------------------------------+\n| Application Profiles                                      |\n| call | conference | broadcast | AI agent | device | msg    |\n+-----------------------------------------------------------+\n| Session Layer                                             |\n| invite | answer | reject | update | bye | publish | join   |\n+-----------------------------------------------------------+\n| Media Negotiation Layer                                   |\n| audio | video | text | data | captions | codecs | policy  |\n+-----------------------------------------------------------+\n| Trust and Identity Layer                                  |\n| DIDs | signatures | VCs | attestation | reputation        |\n+-----------------------------------------------------------+\n| Discovery and Presence Layer                              |\n| DID docs | DNS | WebFinger | DHT | federation | relays     |\n+-----------------------------------------------------------+\n| Transport Bindings                                        |\n| QUIC | WebSocket | HTTPS | libp2p | SIP gateway          |\n+-----------------------------------------------------------+\n| Media Plane                                               |\n| SRTP | WebRTC | RTP | QUIC media | HLS | DASH | multicast |\n+-----------------------------------------------------------+\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This layered model keeps DSIP flexible. A phone call, live TV stream, AI agent session, and device video feed should not need completely different trust and discovery models.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Identity Layer<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">8.1 DID-Based Identity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP endpoints are identified using Decentralized Identifiers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended DID methods:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>did:key<\/code> for individuals, ephemeral endpoints, agents, and devices<\/li>\n\n\n\n<li><code>did:web<\/code> for organizations, brands, broadcasters, public agencies, and enterprises<\/li>\n\n\n\n<li>Optional ledger-backed DID methods for audit-heavy environments<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example identities:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>did:key:z6MkAlice...\ndid:web:example.com:users:alice\ndid:web:acme.com:support\ndid:web:acme.com:agents:billing-bot\ndid:web:wxyz.com:radio:main\ndid:web:city.gov:emergency-alerts\ndid:web:vehicle.example:vin:123456\ndid:web:building.example:front-door-camera\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">8.2 Endpoint Classes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should define endpoint classes to help clients make trust and UX decisions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Possible endpoint classes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>person\norganization\nagent\ndevice\nbroadcaster\nrelay\ngateway\nconference\nqueue\nemergency-service\napplication\nanonymous\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A DSIP client could render these differently:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Verified Person: James Ferris\nVerified Organization: ACME Bank\nVerified AI Agent: ACME Billing Assistant\nVerified Broadcast: WXYZ Emergency Weather Feed\nVerified Device: Building A Front Door Intercom\nUnverified Endpoint: Anonymous Caller\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">8.3 Verifiable Credentials<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should support Verifiable Credentials for identity claims.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Display name credential<\/li>\n\n\n\n<li>Organization credential<\/li>\n\n\n\n<li>Employee role credential<\/li>\n\n\n\n<li>Agent authorization credential<\/li>\n\n\n\n<li>Device ownership credential<\/li>\n\n\n\n<li>Broadcaster license credential<\/li>\n\n\n\n<li>Emergency service credential<\/li>\n\n\n\n<li>Reputation credential<\/li>\n\n\n\n<li>Compliance credential<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A support bot could prove it is authorized by a company. A broadcaster could prove it controls an official station feed. A device could prove it belongs to a building or vehicle.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8.4 Device and Agent Identity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should treat devices and AI agents as first-class identities, not as secondary extensions of user accounts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A device may have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A manufacturer credential<\/li>\n\n\n\n<li>An owner credential<\/li>\n\n\n\n<li>A location or deployment credential<\/li>\n\n\n\n<li>A secure element key<\/li>\n\n\n\n<li>A rotation policy<\/li>\n\n\n\n<li>A revocation mechanism<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">An AI agent may have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An operator credential<\/li>\n\n\n\n<li>A role credential<\/li>\n\n\n\n<li>A capability manifest<\/li>\n\n\n\n<li>A policy declaration<\/li>\n\n\n\n<li>A disclosure flag indicating that it is non-human<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"id\": \"did:web:acme.com:agents:support\",\n  \"class\": \"agent\",\n  \"operator\": \"did:web:acme.com\",\n  \"disclosure\": \"ai-agent\",\n  \"roles\": &#91;\"customer-support\", \"billing\"],\n  \"capabilities\": &#91;\"voice\", \"transfer\", \"transcription\", \"human-escalation\"]\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Discovery and Presence<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">9.1 Discovery Goals<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP discovery should answer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Where is this identity reachable?<\/li>\n\n\n\n<li>What services does it expose?<\/li>\n\n\n\n<li>Is it online, offline, busy, publishing, or relay-only?<\/li>\n\n\n\n<li>Which transports are available?<\/li>\n\n\n\n<li>Which application profiles are supported?<\/li>\n\n\n\n<li>Which media capabilities are advertised?<\/li>\n\n\n\n<li>Which trust credentials are available?<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9.2 DID Document Service Entry<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A DID document may expose a DSIP service entry.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"id\": \"did:web:example.com:users:alice\",\n  \"service\": &#91;\n    {\n      \"id\": \"#dsip\",\n      \"type\": \"DSIPService\",\n      \"serviceEndpoint\": {\n        \"https\": &#91;\"https:\/\/dsip.example.com\/alice\"],\n        \"wss\": &#91;\"wss:\/\/relay.example.com\/dsip\/alice\"],\n        \"quic\": &#91;\"quic:\/\/dsip.example.com:443\/alice\"],\n        \"libp2p\": &#91;\"\/dns4\/dsip.example.com\/udp\/443\/quic-v1\/p2p\/12D3KooW...\"]\n      }\n    }\n  ]\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">9.3 Human-Friendly Names<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Humans should not need to exchange raw DID strings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should support:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WebFinger aliases<\/li>\n\n\n\n<li>DNS TXT\/SRV discovery<\/li>\n\n\n\n<li>QR codes<\/li>\n\n\n\n<li>Contact cards<\/li>\n\n\n\n<li>Organization directories<\/li>\n\n\n\n<li>Verified short names<\/li>\n\n\n\n<li>Optional handle systems<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>alice@example.com\nsupport@acme.com\nwxyz.com\/radio\/main\ncity.gov\/emergency\/live\nfrontdoor@building.example\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">These aliases resolve to DIDs, not to carrier-owned numbers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9.4 Presence Records<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A DSIP presence record is a short-lived signed record that describes current reachability and optional capabilities.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"type\": \"dsip.presence.v1\",\n  \"did\": \"did:web:example.com:users:alice\",\n  \"state\": \"available\",\n  \"profiles\": &#91;\"call\", \"message\", \"video\"],\n  \"endpoints\": {\n    \"wss\": &#91;\"wss:\/\/relay.example.com\/dsip\/conn\/abcd\"],\n    \"quic\": &#91;\"quic:\/\/198.51.100.10:443\/session\"]\n  },\n  \"ttl\": 180,\n  \"seq\": 58,\n  \"exp\": 1760000000,\n  \"sig\": \"base64url(signature)\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Presence should be optional and privacy-preserving. Some endpoints may only expose relay-based reachability. Some identities may not publish presence at all.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9.5 Broadcast Publication Records<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Broadcast endpoints need a related but different concept: publication.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"type\": \"dsip.publication.v1\",\n  \"publisher\": \"did:web:wxyz.com\",\n  \"stream_id\": \"did:web:wxyz.com:radio:main\",\n  \"title\": \"WXYZ Live Radio\",\n  \"state\": \"live\",\n  \"profiles\": &#91;\"broadcast\", \"audio\"],\n  \"variants\": &#91;\n    {\n      \"media\": \"audio\",\n      \"codec\": \"opus\",\n      \"sample_rate\": 48000,\n      \"channels\": 2,\n      \"transport\": \"webrtc\",\n      \"endpoint\": \"wss:\/\/live.wxyz.com\/dsip\"\n    },\n    {\n      \"media\": \"audio\",\n      \"codec\": \"aac\",\n      \"transport\": \"hls\",\n      \"endpoint\": \"https:\/\/live.wxyz.com\/main.m3u8\"\n    }\n  ],\n  \"exp\": 1760000000,\n  \"sig\": \"base64url(signature-by-broadcaster)\"\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This lets receivers verify the source of a live audio or video feed, even if the stream is distributed through third-party relays.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">10. Signaling Protocol<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">10.1 Envelope Format<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">All DSIP signaling messages are carried in signed envelopes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP envelopes may be encoded as JSON or CBOR. Signatures may use JWS or COSE.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"type\": \"dsip.invite.v1\",\n  \"id\": \"uuid\",\n  \"ts\": 1760000000,\n  \"from\": \"did:key:z6MkCaller\",\n  \"to\": \"did:web:example.com:users:bob\",\n  \"profile\": \"call\",\n  \"intent\": \"interactive\",\n  \"capabilities\": {},\n  \"media\": {},\n  \"network\": {},\n  \"policy\": {},\n  \"identity\": {},\n  \"sig\": {\n    \"alg\": \"Ed25519\",\n    \"kid\": \"did:key:z6MkCaller#key-1\",\n    \"value\": \"base64url(signature)\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">10.2 Core Message Types<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Minimum conversational session messages:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dsip.invite      Start a session\ndsip.answer      Accept a session\ndsip.reject      Reject a session\ndsip.update      Modify session parameters\ndsip.candidate   Exchange network candidates\ndsip.bye         End a session\ndsip.error       Report a protocol or policy failure\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Publication and subscription messages:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dsip.publish     Publish a live stream or availability record\ndsip.subscribe   Subscribe to a stream, presence, or event source\ndsip.notify      Send subscription updates\ndsip.unpublish   Stop publishing\ndsip.unsubscribe Stop subscribing\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Conference and group messages:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dsip.join        Join a room or group session\ndsip.leave       Leave a room or group session\ndsip.refer       Refer or transfer a participant\ndsip.control     Send authorized control actions\ndsip.floor       Request or grant speaking\/control floor\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Messaging and data messages:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dsip.msg         Send encrypted message payload\ndsip.receipt     Delivery\/read receipt\ndsip.typing      Typing or composition indicator\ndsip.data        Application-defined data payload\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">10.3 Session Intent<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should separate session intent from media type.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>interactive      Real-time two-way communication\nbroadcast        One-to-many live media\nconference       Many-to-many communication\nrelay            Third-party relay or rebroadcast\nrecording        Capture or archive media\nmonitoring       Listen-only or observe-only session\nai-assist        AI participates in or augments the session\ndevice-control   Media session with control channel\nemergency        Emergency or public safety priority session\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This matters because a video stream may be a call, a broadcast, a camera feed, or an emergency event.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">11. Application Profiles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should define application profiles that build on the same protocol foundation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">11.1 Call Profile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The call profile supports classic one-to-one or one-to-few interactive sessions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common media:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Audio<\/li>\n\n\n\n<li>Video<\/li>\n\n\n\n<li>Text chat<\/li>\n\n\n\n<li>Captions<\/li>\n\n\n\n<li>Screen share<\/li>\n\n\n\n<li>Data channel<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Common actions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Invite<\/li>\n\n\n\n<li>Answer<\/li>\n\n\n\n<li>Reject<\/li>\n\n\n\n<li>Hold\/resume<\/li>\n\n\n\n<li>Transfer<\/li>\n\n\n\n<li>Add participant<\/li>\n\n\n\n<li>End<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11.2 Conference Profile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The conference profile supports rooms, meetings, webinars, and group conversations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common topologies:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mesh<\/li>\n\n\n\n<li>SFU<\/li>\n\n\n\n<li>MCU<\/li>\n\n\n\n<li>Hybrid<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Capabilities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Join\/leave<\/li>\n\n\n\n<li>Participant list<\/li>\n\n\n\n<li>Moderator controls<\/li>\n\n\n\n<li>Floor control<\/li>\n\n\n\n<li>Recording policy<\/li>\n\n\n\n<li>Captions<\/li>\n\n\n\n<li>Screen share<\/li>\n\n\n\n<li>Breakout groups<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11.3 Broadcast Profile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The broadcast profile supports one-to-many media distribution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Radio broadcast<\/li>\n\n\n\n<li>TV audio\/video<\/li>\n\n\n\n<li>Emergency broadcast<\/li>\n\n\n\n<li>Sports commentary<\/li>\n\n\n\n<li>Live event stream<\/li>\n\n\n\n<li>Public meeting stream<\/li>\n\n\n\n<li>Concert stream<\/li>\n\n\n\n<li>Government announcement<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Broadcast profile features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Publisher identity verification<\/li>\n\n\n\n<li>Stream publication records<\/li>\n\n\n\n<li>Media variants<\/li>\n\n\n\n<li>Low-latency and high-scale options<\/li>\n\n\n\n<li>Relay authorization<\/li>\n\n\n\n<li>Signed metadata<\/li>\n\n\n\n<li>Emergency override<\/li>\n\n\n\n<li>Multi-language audio tracks<\/li>\n\n\n\n<li>Captions and transcripts<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11.4 AI Agent Profile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The AI agent profile supports real-time interaction with AI systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer support agent<\/li>\n\n\n\n<li>Personal assistant<\/li>\n\n\n\n<li>Translation agent<\/li>\n\n\n\n<li>Transcription agent<\/li>\n\n\n\n<li>Voice bot<\/li>\n\n\n\n<li>Meeting assistant<\/li>\n\n\n\n<li>Agent-to-agent negotiation<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Required properties:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>AI disclosure<\/li>\n\n\n\n<li>Operator identity<\/li>\n\n\n\n<li>Capability advertisement<\/li>\n\n\n\n<li>Human escalation support<\/li>\n\n\n\n<li>Recording\/transcription policy<\/li>\n\n\n\n<li>Data retention policy<\/li>\n\n\n\n<li>Consent model<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11.5 Device Media Profile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The device media profile supports real-time sessions with cameras, intercoms, smart speakers, vehicles, industrial equipment, and sensors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Doorbell camera<\/li>\n\n\n\n<li>Building intercom<\/li>\n\n\n\n<li>Vehicle voice\/video session<\/li>\n\n\n\n<li>Factory floor panel<\/li>\n\n\n\n<li>Baby monitor<\/li>\n\n\n\n<li>Security camera<\/li>\n\n\n\n<li>Emergency call box<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Capabilities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Audio\/video stream<\/li>\n\n\n\n<li>Push-to-talk<\/li>\n\n\n\n<li>Control channel<\/li>\n\n\n\n<li>Device attestation<\/li>\n\n\n\n<li>Location policy<\/li>\n\n\n\n<li>Owner authorization<\/li>\n\n\n\n<li>Local network fallback<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11.6 Messaging Profile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The messaging profile supports encrypted asynchronous and synchronous messaging.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One-to-one messages<\/li>\n\n\n\n<li>Group messages<\/li>\n\n\n\n<li>Delivery receipts<\/li>\n\n\n\n<li>Typing indicators<\/li>\n\n\n\n<li>Edits\/deletes<\/li>\n\n\n\n<li>Attachments<\/li>\n\n\n\n<li>Offline envelopes<\/li>\n\n\n\n<li>MLS for groups<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Messaging remains a DSIP profile, not the core definition of the protocol.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">12. Media Negotiation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">12.1 Goals<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP media negotiation should allow endpoints to agree on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Media types<\/li>\n\n\n\n<li>Codecs<\/li>\n\n\n\n<li>Codec parameters<\/li>\n\n\n\n<li>Bitrate<\/li>\n\n\n\n<li>Resolution<\/li>\n\n\n\n<li>Frame rate<\/li>\n\n\n\n<li>Sample rate<\/li>\n\n\n\n<li>Channel count<\/li>\n\n\n\n<li>Packetization interval<\/li>\n\n\n\n<li>Latency target<\/li>\n\n\n\n<li>Transport<\/li>\n\n\n\n<li>Encryption<\/li>\n\n\n\n<li>Relay mode<\/li>\n\n\n\n<li>Simulcast\/SVC options<\/li>\n\n\n\n<li>Captions\/transcription streams<\/li>\n\n\n\n<li>Recording permissions<\/li>\n\n\n\n<li>AI processing permissions<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">12.2 Media Types<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Initial media types:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>audio\nvideo\ntext\ndata\ncaption\ntranscript\nscreen\nmetadata\ncontrol\nsensor\nai-context\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Future media types should be added through an extension registry.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">12.3 Capability Advertisement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Example capability advertisement:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"media\": {\n    \"audio\": {\n      \"codecs\": &#91;\n        { \"name\": \"opus\", \"sample_rates\": &#91;16000, 48000], \"channels\": &#91;1, 2] },\n        { \"name\": \"pcmu\", \"sample_rates\": &#91;8000], \"channels\": &#91;1] },\n        { \"name\": \"aac\", \"sample_rates\": &#91;44100, 48000], \"channels\": &#91;2] }\n      ]\n    },\n    \"video\": {\n      \"codecs\": &#91;\n        { \"name\": \"av1\", \"resolutions\": &#91;\"720p\", \"1080p\", \"4k\"], \"framerates\": &#91;24, 30, 60] },\n        { \"name\": \"vp9\", \"resolutions\": &#91;\"720p\", \"1080p\"], \"framerates\": &#91;30, 60] },\n        { \"name\": \"h264\", \"resolutions\": &#91;\"480p\", \"720p\", \"1080p\"], \"framerates\": &#91;24, 30] }\n      ]\n    },\n    \"caption\": {\n      \"formats\": &#91;\"webvtt\", \"ttml\", \"plain-text\", \"json-events\"]\n    },\n    \"data\": {\n      \"channels\": &#91;\"control\", \"metadata\", \"ai-context\"]\n    }\n  },\n  \"transports\": &#91;\"webrtc\", \"srtp\", \"quic\", \"webtransport\", \"hls\", \"dash\"],\n  \"encryption\": &#91;\"dtls-srtp\", \"sframe\", \"mls\", \"tls\"],\n  \"latency\": {\n    \"target_ms\": 150,\n    \"max_ms\": 500\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">12.4 Negotiated Result<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Example negotiated session:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"accepted_media\": &#91;\n    {\n      \"type\": \"audio\",\n      \"codec\": \"opus\",\n      \"sample_rate\": 48000,\n      \"channels\": 2,\n      \"bitrate\": 64000\n    },\n    {\n      \"type\": \"video\",\n      \"codec\": \"h264\",\n      \"resolution\": \"1080p\",\n      \"framerate\": 30,\n      \"bitrate\": 2500000\n    },\n    {\n      \"type\": \"caption\",\n      \"format\": \"webvtt\",\n      \"source\": \"server-assisted\"\n    }\n  ],\n  \"transport\": \"webrtc\",\n  \"encryption\": \"dtls-srtp\",\n  \"relay\": \"sfu\",\n  \"recording\": {\n    \"allowed\": true,\n    \"consent\": \"required\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">12.5 Relationship to SDP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP may carry SDP for interoperability, especially with SIP and WebRTC systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, DSIP should not be limited to SDP. DSIP should define a structured media negotiation model that can map to SDP when needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This allows DSIP to negotiate modern and future media sessions without being constrained by legacy assumptions.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">13. Transport Bindings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP signaling should support multiple transport bindings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Potential signaling transports:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HTTPS<\/li>\n\n\n\n<li>WebSocket<\/li>\n\n\n\n<li>QUIC<\/li>\n\n\n\n<li>WebTransport<\/li>\n\n\n\n<li>libp2p<\/li>\n\n\n\n<li>SIP gateway mapping<\/li>\n\n\n\n<li>Message queue or broker-based transport for enterprise environments<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Potential media transports:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RTP<\/li>\n\n\n\n<li>SRTP<\/li>\n\n\n\n<li>WebRTC<\/li>\n\n\n\n<li>QUIC media<\/li>\n\n\n\n<li>WebTransport<\/li>\n\n\n\n<li>HLS<\/li>\n\n\n\n<li>DASH<\/li>\n\n\n\n<li>SRT<\/li>\n\n\n\n<li>RIST<\/li>\n\n\n\n<li>Multicast RTP<\/li>\n\n\n\n<li>Future low-latency media transports<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should negotiate the best transport based on the session profile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A phone call may prefer SRTP or WebRTC. A live broadcast may prefer QUIC or HLS. A local emergency alert may prefer multicast. An enterprise AI gateway may prefer RTP plus a WebSocket side channel.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">14. Trust, Reputation, and Source Verification<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">14.1 Trust Model<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP trust is based on cryptographic identity and verifiable claims.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A receiver should be able to verify:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The message was signed by the claimed sender<\/li>\n\n\n\n<li>The sender controls the DID<\/li>\n\n\n\n<li>The DID resolves to expected service endpoints<\/li>\n\n\n\n<li>Any attached credentials are valid<\/li>\n\n\n\n<li>The session has not been replayed or tampered with<\/li>\n\n\n\n<li>The media source matches the negotiated session<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">14.2 Rich Real-Time Identity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The original DSIP concept included Rich Caller ID. In v0.4, this should expand to <strong>Rich Session Identity<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rich Session Identity may include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Display name<\/li>\n\n\n\n<li>Organization<\/li>\n\n\n\n<li>Role<\/li>\n\n\n\n<li>Endpoint class<\/li>\n\n\n\n<li>Avatar or logo<\/li>\n\n\n\n<li>Verified website<\/li>\n\n\n\n<li>AI disclosure<\/li>\n\n\n\n<li>Device type<\/li>\n\n\n\n<li>Broadcast title<\/li>\n\n\n\n<li>Emergency status<\/li>\n\n\n\n<li>Trust score<\/li>\n\n\n\n<li>Issuer credentials<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"type\": \"rsi.v1\",\n  \"displayName\": \"WXYZ News Live\",\n  \"class\": \"broadcaster\",\n  \"organization\": \"did:web:wxyz.com\",\n  \"logo\": \"https:\/\/wxyz.com\/logo.png\",\n  \"credentials\": &#91;\n    {\n      \"type\": &#91;\"VerifiableCredential\", \"BroadcasterCredential\"],\n      \"issuer\": \"did:web:fcc.example\",\n      \"credentialSubject\": {\n        \"id\": \"did:web:wxyz.com:tv:main\",\n        \"service\": \"broadcast-video\"\n      }\n    }\n  ]\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">14.3 Verified Relays and Rebroadcasts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Broadcast and relay scenarios require source preservation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A third party may relay a stream, but receivers should still be able to verify the original publisher.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should support:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Original publisher signature<\/li>\n\n\n\n<li>Relay signature<\/li>\n\n\n\n<li>Relay authorization proof<\/li>\n\n\n\n<li>Chain of custody metadata<\/li>\n\n\n\n<li>Tamper-evident stream metadata<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is useful for public safety, journalism, government broadcasts, live sports, and federated content distribution.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">15. Privacy and Security<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">15.1 Threats<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should address:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Caller\/source spoofing<\/li>\n\n\n\n<li>Deepfake impersonation<\/li>\n\n\n\n<li>Replay attacks<\/li>\n\n\n\n<li>Presence tracking<\/li>\n\n\n\n<li>Metadata leakage<\/li>\n\n\n\n<li>Relay abuse<\/li>\n\n\n\n<li>Unauthorized recording<\/li>\n\n\n\n<li>Unauthorized AI processing<\/li>\n\n\n\n<li>Key compromise<\/li>\n\n\n\n<li>Device cloning<\/li>\n\n\n\n<li>Spam and robocalling<\/li>\n\n\n\n<li>Broadcast hijacking<\/li>\n\n\n\n<li>Emergency alert spoofing<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">15.2 Mitigations<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mitigations include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Signed signaling<\/li>\n\n\n\n<li>Short-lived envelopes<\/li>\n\n\n\n<li>Nonces and sequence numbers<\/li>\n\n\n\n<li>Encrypted payloads<\/li>\n\n\n\n<li>DID key rotation<\/li>\n\n\n\n<li>Device attestation<\/li>\n\n\n\n<li>Verifiable credentials<\/li>\n\n\n\n<li>Selective disclosure<\/li>\n\n\n\n<li>Ephemeral DIDs<\/li>\n\n\n\n<li>Relay rate limiting<\/li>\n\n\n\n<li>Reputation policies<\/li>\n\n\n\n<li>Consent receipts<\/li>\n\n\n\n<li>Media path binding<\/li>\n\n\n\n<li>Emergency publisher allowlists<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">15.3 Consent and Policy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should make policy explicit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"policy\": {\n    \"recording\": \"consent-required\",\n    \"transcription\": \"allowed\",\n    \"ai_processing\": \"allowed-with-disclosure\",\n    \"retention\": \"30-days\",\n    \"redistribution\": \"forbidden\",\n    \"relay\": \"authorized-only\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Policies should be signed and visible to participants before or during session establishment.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">16. Emergency and Public Safety<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Emergency communication remains critical, but in v0.4 it should be generalized beyond emergency calling.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should support:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Emergency calls<\/li>\n\n\n\n<li>Emergency broadcasts<\/li>\n\n\n\n<li>Public safety video<\/li>\n\n\n\n<li>Verified alert feeds<\/li>\n\n\n\n<li>Dispatch channels<\/li>\n\n\n\n<li>Location-aware routing<\/li>\n\n\n\n<li>Priority treatment<\/li>\n\n\n\n<li>Fallback to PSTN\/NG911 where required<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">16.1 Emergency Session Types<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>emergency-call\nemergency-broadcast\npublic-safety-video\ndispatch-audio\nverified-alert\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">16.2 Emergency Identity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Emergency identities should be operated or certified by appropriate authorities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>did:web:911.us\ndid:web:112.eu\ndid:web:city.gov:emergency-alerts\ndid:web:county.gov:dispatch\ndid:web:weather.gov:alerts\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">16.3 Location and Privacy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Location should not be mandatory for all DSIP use cases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead, DSIP should define context-specific location disclosure:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No location shared by default<\/li>\n\n\n\n<li>Approximate region for routing when needed<\/li>\n\n\n\n<li>Precise location for emergency sessions<\/li>\n\n\n\n<li>Device-attested location for regulated use cases<\/li>\n\n\n\n<li>Zero-knowledge region proof for privacy-preserving eligibility<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The earlier idea of verifiable geolocation remains valuable, but it should not be globally required for all DSIP endpoints.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">17. Interoperability<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">17.1 SIP and PSTN<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should interoperate with SIP and PSTN through gateways.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mappings may include:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dsip.invite        &lt;-&gt; SIP INVITE\ndsip.answer        &lt;-&gt; SIP 200 OK\ndsip.bye           &lt;-&gt; SIP BYE\ndsip.refer         &lt;-&gt; SIP REFER\ndsip.media         &lt;-&gt; SDP\ndsip.identity      &lt;-&gt; SIP Identity \/ P-Asserted-Identity \/ STIR-SHAKEN context\nDSIP DID           &lt;-&gt; E.164 number credential or gateway identity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">SIP\/PSTN interop will be imperfect because the PSTN cannot preserve all DSIP trust semantics end-to-end.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">17.2 WebRTC<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP can be used as a standardized signaling and identity layer for WebRTC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this model:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DSIP handles identity, discovery, session negotiation, and policy<\/li>\n\n\n\n<li>WebRTC handles ICE, DTLS-SRTP, congestion control, and media transport<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">17.3 Broadcast Systems<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP can bind to existing broadcast and streaming systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HLS playlist as negotiated media variant<\/li>\n\n\n\n<li>DASH manifest as negotiated media variant<\/li>\n\n\n\n<li>WebRTC low-latency stream for interactive broadcast<\/li>\n\n\n\n<li>SRT\/RIST contribution feed<\/li>\n\n\n\n<li>Multicast local distribution<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP does not need to replace these systems. It can verify the publisher, advertise variants, negotiate access, and preserve trust metadata.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">17.4 AI Voice Systems<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP can interoperate with AI media systems through gateways.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DSIP to OpenAI Realtime API gateway<\/li>\n\n\n\n<li>DSIP to Deepgram\/AssemblyAI transcription gateway<\/li>\n\n\n\n<li>DSIP to TTS gateway<\/li>\n\n\n\n<li>DSIP to SIP-based AI agent<\/li>\n\n\n\n<li>DSIP to contact center AI assistant<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The AI profile should make AI identity, disclosure, retention, and escalation explicit.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">18. Network Components<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">18.1 DSIP Agent<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A DSIP Agent is any endpoint capable of participating in DSIP signaling.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Responsibilities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manage identity keys<\/li>\n\n\n\n<li>Resolve DIDs<\/li>\n\n\n\n<li>Publish presence or publication records<\/li>\n\n\n\n<li>Verify signatures<\/li>\n\n\n\n<li>Advertise capabilities<\/li>\n\n\n\n<li>Negotiate media<\/li>\n\n\n\n<li>Enforce local policy<\/li>\n\n\n\n<li>Establish media transport<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">18.2 Resolver<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Resolvers retrieve and verify DID documents, service records, aliases, and trust metadata.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">18.3 Relay<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Relays forward signaling and optionally support store-and-forward envelopes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Relays should not need plaintext access to signaling payloads unless explicitly authorized.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">18.4 Media Relay<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Media relays include TURN servers, SFUs, MCUs, broadcast relays, edge caches, and media gateways.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">18.5 Gateway<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Gateways bridge DSIP to other systems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SIP\/PSTN<\/li>\n\n\n\n<li>WebRTC applications<\/li>\n\n\n\n<li>Contact centers<\/li>\n\n\n\n<li>Broadcast platforms<\/li>\n\n\n\n<li>AI APIs<\/li>\n\n\n\n<li>Enterprise communication systems<\/li>\n\n\n\n<li>IoT vendor clouds<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">18.6 Trust Authority \/ Credential Issuer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Credential issuers provide verifiable claims. DSIP should not require one global trust authority. Different communities and industries may define their own trusted issuers.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">19. Example Flows<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">19.1 Person-to-Person Call<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Alice selects Bob\u2019s verified handle.<\/li>\n\n\n\n<li>Alice resolves Bob\u2019s DID.<\/li>\n\n\n\n<li>Alice retrieves Bob\u2019s presence record.<\/li>\n\n\n\n<li>Alice sends a signed <code>dsip.invite<\/code> with audio\/video capabilities.<\/li>\n\n\n\n<li>Bob verifies Alice\u2019s identity and credentials.<\/li>\n\n\n\n<li>Bob answers with mutually supported media.<\/li>\n\n\n\n<li>ICE or another negotiated transport completes.<\/li>\n\n\n\n<li>Encrypted media flows.<\/li>\n\n\n\n<li>Either side sends <code>dsip.bye<\/code> to end the session.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">19.2 Verified Radio Broadcast<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A radio station publishes a signed DSIP publication record.<\/li>\n\n\n\n<li>A listener searches for or follows the station identity.<\/li>\n\n\n\n<li>The listener verifies the broadcaster DID and credentials.<\/li>\n\n\n\n<li>The client selects the best supported media variant.<\/li>\n\n\n\n<li>The listener subscribes to the stream.<\/li>\n\n\n\n<li>Audio flows over WebRTC, QUIC, HLS, or another negotiated transport.<\/li>\n\n\n\n<li>Metadata remains signed by the broadcaster.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">19.3 Verified TV Broadcast with Alternate Audio<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A TV broadcaster publishes a video stream with multiple audio tracks.<\/li>\n\n\n\n<li>The DSIP publication record lists variants for video, English audio, Spanish audio, captions, and audio-only mode.<\/li>\n\n\n\n<li>The receiver verifies the broadcaster.<\/li>\n\n\n\n<li>The receiver negotiates H.264 video, English Opus audio, and WebVTT captions.<\/li>\n\n\n\n<li>During an emergency, the broadcaster publishes a signed emergency override message.<\/li>\n\n\n\n<li>Receivers verify the override and switch to the alert track.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">19.4 AI Customer Support Agent<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A user contacts <code>support@acme.com<\/code>.<\/li>\n\n\n\n<li>The alias resolves to <code>did:web:acme.com:agents:support<\/code>.<\/li>\n\n\n\n<li>The agent presents credentials proving it is operated by ACME.<\/li>\n\n\n\n<li>The agent discloses that it is AI.<\/li>\n\n\n\n<li>The session negotiates voice, transcript, and optional screen share.<\/li>\n\n\n\n<li>The user consents to transcription.<\/li>\n\n\n\n<li>The AI handles the call or escalates to a human using <code>dsip.refer<\/code> or <code>dsip.join<\/code>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">19.5 Device Video Session<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A building intercom publishes limited DSIP reachability.<\/li>\n\n\n\n<li>A resident initiates a signed session to the device.<\/li>\n\n\n\n<li>The device verifies the resident\u2019s access credential.<\/li>\n\n\n\n<li>The session negotiates audio, video, and a control channel.<\/li>\n\n\n\n<li>The resident speaks to the visitor and optionally unlocks the door through an authorized control action.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">20. Economic Model<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should support both free and commercial operation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Possible models:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Free peer-to-peer sessions<\/li>\n\n\n\n<li>Paid relays<\/li>\n\n\n\n<li>Paid SFU\/media relay usage<\/li>\n\n\n\n<li>Broadcast subscription access<\/li>\n\n\n\n<li>Enterprise-managed DSIP services<\/li>\n\n\n\n<li>Credential issuance services<\/li>\n\n\n\n<li>Reputation and abuse-prevention services<\/li>\n\n\n\n<li>Contact center \/ AI agent platforms<\/li>\n\n\n\n<li>Developer APIs and SDKs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Payments should be optional. The protocol should work without built-in payments, but should allow metering and authorization where required.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">21. Governance and Extension Model<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should define a core protocol and a registry of extensions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Potential registries:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Application profiles<\/li>\n\n\n\n<li>Media types<\/li>\n\n\n\n<li>Codec identifiers<\/li>\n\n\n\n<li>Transport bindings<\/li>\n\n\n\n<li>Error codes<\/li>\n\n\n\n<li>Credential types<\/li>\n\n\n\n<li>Policy fields<\/li>\n\n\n\n<li>Endpoint classes<\/li>\n\n\n\n<li>Trust frameworks<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The core should remain small enough to implement, while extensions allow DSIP to evolve.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">22. Minimal DSIP v0.4 Implementation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A minimal DSIP prototype should include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DID identity generation<\/li>\n\n\n\n<li>DID resolution for <code>did:key<\/code> and <code>did:web<\/code><\/li>\n\n\n\n<li>Signed signaling envelopes<\/li>\n\n\n\n<li>Basic presence record<\/li>\n\n\n\n<li><code>invite<\/code>, <code>answer<\/code>, <code>reject<\/code>, <code>bye<\/code>, and <code>error<\/code><\/li>\n\n\n\n<li>Audio capability negotiation<\/li>\n\n\n\n<li>Video capability negotiation<\/li>\n\n\n\n<li>WebRTC transport binding<\/li>\n\n\n\n<li>Basic rich session identity display<\/li>\n\n\n\n<li>Simple relay support<\/li>\n\n\n\n<li>SIP gateway proof of concept<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A second milestone should include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Broadcast publication records<\/li>\n\n\n\n<li>Subscribe\/notify flow<\/li>\n\n\n\n<li>AI agent profile<\/li>\n\n\n\n<li>Device profile<\/li>\n\n\n\n<li>Messaging profile<\/li>\n\n\n\n<li>Policy negotiation<\/li>\n\n\n\n<li>Credential verification<\/li>\n\n\n\n<li>Media relay authorization<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">23. Relationship to SIP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SIP was one of the most important real-time communication protocols ever created. It gave the internet a way to initiate sessions, negotiate media using SDP, and build interoperable voice and video systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should preserve the good ideas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Session initiation<\/li>\n\n\n\n<li>User agents<\/li>\n\n\n\n<li>Media negotiation<\/li>\n\n\n\n<li>Proxy\/relay concepts<\/li>\n\n\n\n<li>Interoperability<\/li>\n\n\n\n<li>Extensibility<\/li>\n\n\n\n<li>Separation of signaling and media<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">But DSIP should not inherit all of SIP\u2019s assumptions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Phone numbers as primary identity<\/li>\n\n\n\n<li>Carrier-controlled trust<\/li>\n\n\n\n<li>Hop-by-hop security<\/li>\n\n\n\n<li>Registrar-centric reachability<\/li>\n\n\n\n<li>Legacy telephony bias<\/li>\n\n\n\n<li>Weak caller identity<\/li>\n\n\n\n<li>SDP-only media expression<\/li>\n\n\n\n<li>Limited awareness of AI, devices, broadcasts, and modern application models<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP is the spiritual successor to SIP, not a wire-compatible replacement.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">24. Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP began as an idea for decentralized SIP. The stronger vision is larger.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The internet needs a common way to establish trusted real-time media sessions across people, devices, applications, broadcasters, AI agents, and communication systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That requires more than a new phone protocol. It requires a decentralized session layer that can answer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Who is participating?<\/li>\n\n\n\n<li>Can their identity be verified?<\/li>\n\n\n\n<li>What kind of session is being requested?<\/li>\n\n\n\n<li>What media types are supported?<\/li>\n\n\n\n<li>Which codecs and transports can be used?<\/li>\n\n\n\n<li>What policies apply?<\/li>\n\n\n\n<li>Can the media source be trusted?<\/li>\n\n\n\n<li>Can the session interoperate with existing systems?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">DSIP should become that layer.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>DSIP is an identity-first protocol for trusted real-time media sessions.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Phone calls are one use case. Video meetings are another. Radio and TV broadcasts are another. AI agents, device streams, public safety systems, and future media applications are all part of the same larger communication fabric.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The future of real-time communication should not be locked inside phone numbers, carrier registrars, proprietary meeting platforms, vendor clouds, or app-specific identities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It should be open, verifiable, decentralized, and media-native from the start.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">25. Glossary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>AI Agent<\/strong> \u2014 A software-based participant capable of real-time interaction using speech, text, video, or data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Application Profile<\/strong> \u2014 A DSIP-defined usage pattern such as call, conference, broadcast, messaging, AI agent, or device media.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>DID<\/strong> \u2014 Decentralized Identifier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>DSIP Agent<\/strong> \u2014 Any endpoint that implements DSIP signaling and identity verification.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Endpoint<\/strong> \u2014 A person, device, service, application, agent, gateway, broadcaster, or relay that participates in DSIP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Media Negotiation<\/strong> \u2014 The process of agreeing on media types, codecs, transports, encryption, and policy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Publication Record<\/strong> \u2014 A signed record describing a live or available broadcast\/media stream.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Rich Session Identity<\/strong> \u2014 Verifiable identity metadata associated with a DSIP session.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session Intent<\/strong> \u2014 The purpose of a session, such as call, broadcast, conference, AI assist, emergency, or device control.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Transport Binding<\/strong> \u2014 A mapping between DSIP negotiation and an underlying signaling or media transport.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>VC<\/strong> \u2014 Verifiable Credential.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An Identity-First Protocol for Trusted Real-Time Media Version: Draft v0.4Status: ProposalEditor: James Ferris This draft supersedes v0.3 found here: DSIP Proposal v0.3 1. Abstract DSIP,&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/phonesstillexist.com\/index.php\/2026\/05\/21\/dsip-decentralized-session-initiation-protocol\/\">Continue reading<span class=\"screen-reader-text\">DSIP: Decentralized Session Initiation Protocol<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":9,"footnotes":""},"categories":[11,8,9],"tags":[],"class_list":["post-167","post","type-post","status-publish","format-standard","hentry","category-future","category-sip","category-technical-proposal","entry"],"_links":{"self":[{"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/posts\/167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/comments?post=167"}],"version-history":[{"count":3,"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/posts\/167\/revisions"}],"predecessor-version":[{"id":172,"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/posts\/167\/revisions\/172"}],"wp:attachment":[{"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/media?parent=167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/categories?post=167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phonesstillexist.com\/index.php\/wp-json\/wp\/v2\/tags?post=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}