summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h')
-rw-r--r--orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h b/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h
index efa959a..654ba95 100644
--- a/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h
+++ b/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h
@@ -215,5 +215,54 @@ typedef enum
int SkinnyMessageToEnum(CStdString& msg);
CStdString SkinnyMessageToString(int msgEnum);
+/*
+ * IAX2 Packet Headers
+ */
+
+/* XXX No support for encryption */
+
+/* Full frame */
+struct Iax2FullHeader {
+ unsigned short scallno;
+ unsigned short dcallno;
+ unsigned int ts;
+ unsigned char oseqno;
+ unsigned char iseqno;
+ unsigned char type;
+ unsigned char c_sub;
+ unsigned char ie_data[0];
+} __attribute__ ((__packed__));
+
+/* Mini frame for voice */
+struct Iax2MiniHeader {
+ unsigned short scallno;
+ unsigned short ts; /* Low 16 bits from transmitting peer's full 32-bit ts */
+ unsigned char data[0];
+} __attribute__ ((__packed__));
+
+/* Meta trunk frame */
+struct Iax2MetaTrunkHeader {
+ unsigned short meta; /* zero for meta frames */
+ unsigned char metacmd;
+ unsigned char cmddata;
+ unsigned int ts;
+ unsigned char data[0];
+} __attribute__ ((__packed__));
+
+/* Mini trunked frame with timestamps (trunk timestamps
+ * flag is set to 0 */
+struct Iax2MetaTrunkEntry {
+ unsigned short scallno;
+ unsigned short len;
+ unsigned char data[0];
+} __attribute__ ((__packed__));
+
+/* Mini trunked frame with timestamps (trunk timestamps
+ * flag is set to 1 */
+struct Iax2MetaTrunkEntryTs {
+ unsigned short len;
+ struct Iax2MiniHeader mini;
+} __attribute__ ((__packed__));
+
#endif