<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="std" docName="draft-samuelson-irc-v3-00" ipr="trust200902">
 <front>
  <title abbrev="IRC v3">Internet Relay Chat Protocol version 3</title>
  <author fullname="Ido Samuelson" initials="I." surname="Samuelson">
   <organization>Independent Contributor</organization>
   <address>
    <email>ido.samuelson@example.com</email>
   </address>
  </author>
  <date year="2024" month="August" day="30"/>
  <area>Applications</area>
  <workgroup>Independent Submission</workgroup>
  <keyword>IRC</keyword>
  <keyword>Internet Relay Chat</keyword>
  <keyword>Audio</keyword>
  <keyword>Video</keyword>
  <abstract>
   <t>
    This document describes version 3 of the Internet Relay Chat (IRC)
    protocol, which extends the original IRC protocol to include support
    for audio and video capabilities. It defines new message types,
    commands, and channel modes that allow for the transmission of audio
    and video data within the existing IRC framework, while maintaining
    backward compatibility with text-only clients and servers.
   </t>
  </abstract>
 </front>

 <middle>
  <section title="Introduction">
   <t>
    The Internet Relay Chat (IRC) protocol, originally defined in RFC 1459
    and updated in RFCs 2810-2813, provides a lightweight, text-based 
    communication system. This document introduces version 3 of the IRC
    protocol, which extends the original protocol to include support for
    audio and video capabilities, allowing users to exchange multimedia
    content within the familiar IRC framework.
   </t>
   <t>
    IRC v3 aims to maintain the simplicity and flexibility of IRC while
    adding the ability to transmit audio and video data. It achieves this
    by introducing new message types, channel modes, and permissions, and
    by leveraging the existing Direct Client-to-Client (DCC) mechanism for
    larger data streams.
   </t>
  </section>

  <section title="Conventions Used in This Document">
   <t>
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    document are to be interpreted as described in <xref target="RFC2119"/>.
   </t>
  </section>

  <section title="Protocol Extension Overview">
   <t>IRC v3 introduces the following key components:</t>
   <t>
    <list style="numbers">
     <t>Extensions to DCC for audio and video streaming</t>
     <t>New channel modes for audio and video capabilities</t>
     <t>Extended user modes and flags for audio and video permissions</t>
     <t>Modified JOIN command to specify media preferences</t>
     <t>New PRIVMSG subcommands to manage media streams</t>
     <t>Server-to-server commands for propagating A/V metadata</t>
    </list>
   </t>
  </section>

  <!-- Additional sections would be added here, following the same XML structure -->

  <section title="Security Considerations">
   <t>
    The introduction of audio and video capabilities brings new security
    considerations to IRC:
   </t>
   <t>
    <list style="numbers">
     <t>Denial of Service: Implementations MUST include measures to
        prevent abuse of audio/video streams that could lead to denial of
        service.</t>
     <t>Privacy: Users MUST be clearly informed when audio/video streams
        are being initiated or received.</t>
     <t>Content Verification: Clients SHOULD implement measures to verify
        and sanitize received audio/video content to prevent potential
        attacks through malformed data.</t>
     <t>Encryption: All audio and video streams MUST be encrypted using
        TLS 1.3 or later to ensure user privacy.</t>
    </list>
   </t>
  </section>

  <section title="IANA Considerations">
   <t>
    This document requires IANA to update the IRC protocol registration
    to reflect the new version number and capabilities described herein.
   </t>
  </section>
 </middle>

 <back>
  <references title="Normative References">
   <?rfc include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1459.xml"?>
   <?rfc include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2810.xml"?>
   <?rfc include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2811.xml"?>
   <?rfc include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2812.xml"?>
   <?rfc include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2813.xml"?>
   <?rfc include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
  </references>
 </back>
</rfc>
