00001 /* 00002 * BSD Telephony Of Mexico "Tormenta" Tone Zone Support 2/22/01 00003 * 00004 * Working with the "Tormenta ISA" Card 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU Lesser General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 * 00020 * Primary Author: Mark Spencer <markster@linux-support.net> 00021 * 00022 */ 00023 00024 #ifndef _ASTERISK_ZONEDATA_H 00025 #define _ASTERISK_ZONEDATA_H 00026 00027 #define ZT_MAX_CADENCE 16 00028 #define ZT_TONE_MAX 16 00029 00030 struct tone_zone_sound { 00031 int toneid; 00032 char data[256]; /* Actual zone description */ 00033 /* Description is a series of tones of the format: 00034 [!]freq1[+freq2][/time] separated by commas. There 00035 are no spaces. The sequence is repeated back to the 00036 first tone description not preceeded by !. time is 00037 specified in milliseconds */ 00038 }; 00039 00040 struct tone_zone { 00041 int zone; /* Zone number */ 00042 char country[10]; /* Country code */ 00043 char description[40]; /* Description */ 00044 int ringcadence[ZT_MAX_CADENCE]; /* Ring cadence */ 00045 struct tone_zone_sound tones[ZT_TONE_MAX]; 00046 }; 00047 00048 extern struct tone_zone builtin_zones[]; 00049 00050 #define ZT_TONE_DIALTONE 0 00051 #define ZT_TONE_BUSY 1 00052 #define ZT_TONE_RINGTONE 2 00053 #define ZT_TONE_CONGESTION 3 00054 #define ZT_TONE_CALLWAIT 4 00055 #define ZT_TONE_DIALRECALL 5 00056 #define ZT_TONE_RECORDTONE 6 00057 #define ZT_TONE_INFO 7 00058 #define ZT_TONE_CUST1 8 00059 #define ZT_TONE_CUST2 9 00060 00061 /* Retrieve a raw tone zone structure */ 00062 extern struct tone_zone *tone_zone_find(char *country); 00063 00064 #endif