1 /* iax2_codec_type.h
2  * Defines IAX2 codec types
3  *
4  * Wireshark - Network traffic analyzer
5  * By Gerald Combs <gerald@wireshark.org>
6  * Copyright 1998 Gerald Combs
7  *
8  * SPDX-License-Identifier: GPL-2.0-or-later
9  */
10 
11 #ifndef __IAX2_CODEC_TYPE_H__
12 #define __IAX2_CODEC_TYPE_H__
13 
14 
15 /* Ref: format_compatibility.h from Asterisk source */
16 
17 /* Data formats for capabilities and frames alike */
18 /* suitable for use in iax2.codec dissector table */
19 /*! G.723.1 compression */
20 #define AST_FORMAT_G723_1	0
21 /*! GSM compression */
22 #define AST_FORMAT_GSM		1
23 /*! Raw mu-law data (G.711) */
24 #define AST_FORMAT_ULAW		2
25 /*! Raw A-law data (G.711) */
26 #define AST_FORMAT_ALAW		3
27 /*! ADPCM (G.726, 32kbps, AAL2 codeword packing) */
28 #define AST_FORMAT_G726_AAL2	4
29 /*! ADPCM (IMA) */
30 #define AST_FORMAT_ADPCM	5
31 /*! Raw 16-bit Signed Linear (8000 Hz) PCM */
32 #define AST_FORMAT_SLINEAR	6
33 /*! LPC10, 180 samples/frame */
34 #define AST_FORMAT_LPC10	7
35 /*! G.729A audio */
36 #define AST_FORMAT_G729A	8
37 /*! SpeeX Free Compression */
38 #define AST_FORMAT_SPEEX	9
39 /*! iLBC Free Compression */
40 #define AST_FORMAT_ILBC		10
41 /*! ADPCM (G.726, 32kbps, RFC3551 codeword packing) */
42 #define AST_FORMAT_G726		11
43 /*! G.722 */
44 #define AST_FORMAT_G722		12
45 /*! G.722.1 (also known as Siren7, 32kbps assumed) */
46 #define AST_FORMAT_SIREN7	13
47 /*! G.722.1 Annex C (also known as Siren14, 48kbps assumed) */
48 #define AST_FORMAT_SIREN14	14
49 /*! Raw 16-bit Signed Linear (16000 Hz) PCM */
50 #define AST_FORMAT_SLINEAR16	15
51 /*! JPEG Images */
52 #define AST_FORMAT_JPEG		16
53 /*! PNG Images */
54 #define AST_FORMAT_PNG		17
55 /*! H.261 Video */
56 #define AST_FORMAT_H261		18
57 /*! H.263 Video */
58 #define AST_FORMAT_H263		19
59 /*! H.263+ Video */
60 #define AST_FORMAT_H263_PLUS	20
61 /*! H.264 Video */
62 #define AST_FORMAT_H264		21
63 /*! MPEG4 Video */
64 #define AST_FORMAT_MP4_VIDEO	22
65 /*! VP8 Video */
66 #define AST_FORMAT_VP8		23
67 /*! T.140 RED Text format RFC 4103 */
68 #define AST_FORMAT_T140_RED	26
69 /*! T.140 Text format - ITU T.140, RFC 4103 */
70 #define AST_FORMAT_T140		27
71 /*! G.719 (64 kbps assumed) */
72 #define AST_FORMAT_G719		32
73 /*! SpeeX Wideband (16kHz) Free Compression */
74 #define AST_FORMAT_SPEEX16	33
75 /*! Opus audio (8kHz, 16kHz, 24kHz, 48Khz) */
76 #define AST_FORMAT_OPUS		34
77 /*! Raw testing-law data (G.711) */
78 #define AST_FORMAT_TESTLAW	47
79 
80 
81 /* data format for IAX_IE_DATAFORMAT ie */
82 /* suitable for use in iax2.dataformat dissector table */
83 typedef enum {
84     AST_DATAFORMAT_NULL,	/* N/A: analogue call etc */
85     AST_DATAFORMAT_V110,	/* ITU-T V.110 rate adaption */
86     AST_DATAFORMAT_H223_H245	/* ITU-T H.223/H.245 */
87 } iax_dataformat_t;
88 
89 #endif
90