From e2ee76a3197169cae6c1cf2d341204c997eddbf1 Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Tue, 30 Nov 2010 22:32:20 +0000
Subject: [PATCH] Add a comment on why the reserved bit is reserved.

Came up when reviewing discussion on the CODEC PREFS IE in IAX2.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 include/asterisk/frame.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h
index c16a3c1508..b9eb75bd1f 100644
--- a/include/asterisk/frame.h
+++ b/include/asterisk/frame.h
@@ -300,7 +300,13 @@ extern struct ast_frame ast_null_frame;
 #define AST_FORMAT_SPEEX16    (1ULL << 33)
 /*! Raw mu-law data (G.711) */
 #define AST_FORMAT_TESTLAW    (1ULL << 47)
-/*! Reserved bit - do not use */
+/*! Reserved bit - do not use
+ * \warning We use this bit internally for iteration.  Additionally, using this
+ * bit will severely break the implementation of codec prefs within IAX2, as we
+ * rely on the equivalence of UTF-8 and ASCII.  The codec represented by this
+ * bit should use the first two-byte encoding of UTF-8, which is not presently
+ * accounted for.  Hence, we reserve this bit as unused.
+ */
 #define AST_FORMAT_RESERVED   (1ULL << 63)
 
 enum ast_control_frame_type {
-- 
GitLab