From 6ea47988e23c732814f792cb9dde7a35f9b26885 Mon Sep 17 00:00:00 2001 From: Gerald Begumisa Date: Tue, 6 Feb 2007 06:56:19 +0000 Subject: IAX2 support added by Gerald Begumisa git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@399 09dcff7a-b715-0410-9601-b79a96267cd0 --- .../audiocaptureplugins/voip/PacketHeaderDefs.h | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h') 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 -- cgit v1.2.3