diff options
author | Gerald Begumisa <ben_g@users.sourceforge.net> | 2007-02-06 06:56:19 +0000 |
---|---|---|
committer | Gerald Begumisa <ben_g@users.sourceforge.net> | 2007-02-06 06:56:19 +0000 |
commit | 6ea47988e23c732814f792cb9dde7a35f9b26885 (patch) | |
tree | 886a952c4570e6d62d44bac3bdd9999daaf1ecfc /orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h | |
parent | 94e3eb2d0cda7df2d876d1698db2e8e75cd0a0b1 (diff) |
IAX2 support added by Gerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@399 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h')
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.h | 49 |
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 |