Version 0.3.0 from FTP
[asterisk/asterisk.git] / include / asterisk / zonedata.h
1 /*
2  * BSD Telephony Of Mexico "Tormenta" Tone Zone Support 2/22/01
3  * 
4  * Working with the "Tormenta ISA" Card 
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  * 
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Lesser General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
19  *
20  * Primary Author: Mark Spencer <markster@linux-support.net>
21  *
22  */
23
24 #ifndef _ASTERISK_ZONEDATA_H
25 #define _ASTERISK_ZONEDATA_H
26
27 #define ZT_MAX_CADENCE  16
28 #define ZT_TONE_MAX     16
29
30 struct tone_zone_sound {
31         int toneid;
32         char data[256];                         /* Actual zone description */
33         /* Description is a series of tones of the format:
34            [!]freq1[+freq2][/time] separated by commas.  There
35            are no spaces.  The sequence is repeated back to the 
36            first tone description not preceeded by !.  time is
37            specified in milliseconds */
38 };
39
40 struct tone_zone {
41         int zone;                                       /* Zone number */
42         char country[10];                               /* Country code */
43         char description[40];                           /* Description */
44         int ringcadence[ZT_MAX_CADENCE];                /* Ring cadence */
45         struct tone_zone_sound tones[ZT_TONE_MAX];
46 };
47
48 extern struct tone_zone builtin_zones[];
49
50 #define ZT_TONE_DIALTONE        0
51 #define ZT_TONE_BUSY            1
52 #define ZT_TONE_RINGTONE        2
53 #define ZT_TONE_CONGESTION      3
54 #define ZT_TONE_CALLWAIT        4
55 #define ZT_TONE_DIALRECALL      5
56 #define ZT_TONE_RECORDTONE      6
57 #define ZT_TONE_INFO            7
58 #define ZT_TONE_CUST1           8
59 #define ZT_TONE_CUST2           9
60
61 /* Retrieve a raw tone zone structure */
62 extern struct tone_zone *tone_zone_find(char *country);
63
64 #endif