Internet-Draft IRC v3 August 2024
Samuelson Expires 3 March 2025 [Page]
Workgroup:
Independent Submission
Internet-Draft:
draft-samuelson-irc-v3-00
Published:
Intended Status:
Standards Track
Expires:
Author:
I. Samuelson
Independent Contributor

Internet Relay Chat Protocol version 3

Abstract

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.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 3 March 2025.

Table of Contents

1. Introduction

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.

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.

2. Conventions Used in This Document

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 [RFC2119].

3. Protocol Extension Overview

IRC v3 introduces the following key components:

  1. Extensions to DCC for audio and video streaming

  2. New channel modes for audio and video capabilities

  3. Extended user modes and flags for audio and video permissions

  4. Modified JOIN command to specify media preferences

  5. New PRIVMSG subcommands to manage media streams

  6. Server-to-server commands for propagating A/V metadata

4. Security Considerations

The introduction of audio and video capabilities brings new security considerations to IRC:

  1. Denial of Service: Implementations MUST include measures to prevent abuse of audio/video streams that could lead to denial of service.

  2. Privacy: Users MUST be clearly informed when audio/video streams are being initiated or received.

  3. Content Verification: Clients SHOULD implement measures to verify and sanitize received audio/video content to prevent potential attacks through malformed data.

  4. Encryption: All audio and video streams MUST be encrypted using TLS 1.3 or later to ensure user privacy.

5. IANA Considerations

This document requires IANA to update the IRC protocol registration to reflect the new version number and capabilities described herein.

6. Normative References

[RFC1459]
Oikarinen, J. and D. Reed, "Internet Relay Chat Protocol", RFC 1459, DOI 10.17487/RFC1459, , <https://www.rfc-editor.org/info/rfc1459>.
[RFC2810]
Kalt, C., "Internet Relay Chat: Architecture", RFC 2810, DOI 10.17487/RFC2810, , <https://www.rfc-editor.org/info/rfc2810>.
[RFC2811]
Kalt, C., "Internet Relay Chat: Channel Management", RFC 2811, DOI 10.17487/RFC2811, , <https://www.rfc-editor.org/info/rfc2811>.
[RFC2812]
Kalt, C., "Internet Relay Chat: Client Protocol", RFC 2812, DOI 10.17487/RFC2812, , <https://www.rfc-editor.org/info/rfc2812>.
[RFC2813]
Kalt, C., "Internet Relay Chat: Server Protocol", RFC 2813, DOI 10.17487/RFC2813, , <https://www.rfc-editor.org/info/rfc2813>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.

Author's Address

Ido Samuelson
Independent Contributor