Add SayPhonetic and SayAlpha applications (bug #793)
[asterisk/asterisk.git] / include / asterisk / say.h
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  *
4  * Say numbers and dates (maybe words one day too)
5  * 
6  * Copyright (C) 1999, Mark Spencer
7  *
8  * Mark Spencer <markster@linux-support.net>
9  *
10  * This program is free software, distributed under the terms of
11  * the GNU General Public License
12  */
13
14 #ifndef _ASTERISK_SAY_H
15 #define _ASTERISK_SAY_H
16
17 #include <asterisk/channel.h>
18 #include <asterisk/file.h>
19
20 #include <time.h>
21
22 #if defined(__cplusplus) || defined(c_plusplus)
23 extern "C" {
24 #endif
25
26 //! says a number
27 /*! 
28  * \param chan channel to say them number on
29  * \param num number to say on the channel
30  * \param ints which dtmf to interrupt on
31  * \param lang language to speak the number
32  * \param options set to 'f' for female, 'm' for masculine (used in portuguese)
33  * Vocally says a number on a given channel
34  * Returns 0 on success, DTMF digit on interrupt, -1 on failure
35  */
36 int ast_say_number(struct ast_channel *chan, int num, char *ints, char *lang, char *options);
37
38 /* Same as above with audiofd for received audio and returns 1 on ctrlfd being readable */
39 int ast_say_number_full(struct ast_channel *chan, int num, char *ints, char *lang, int audiofd, int ctrlfd);
40
41 //! says digits
42 /*!
43  * \param chan channel to act upon
44  * \param num number to speak
45  * \param ints which dtmf to interrupt on
46  * \param lang language to speak
47  * Vocally says digits of a given number
48  * Returns 0 on success, dtmf if interrupted, -1 on failure
49  */
50 int ast_say_digits(struct ast_channel *chan, int num, char *ints, char *lang);
51 int ast_say_digits_full(struct ast_channel *chan, int num, char *ints, char *lang, int audiofd, int ctrlfd);
52
53 //! says digits of a string
54 /*! 
55  * \param chan channel to act upon
56  * \param num string to speak
57  * \param ints which dtmf to interrupt on
58  * \param lang language to speak in
59  * Vocally says the digits of a given string
60  * Returns 0 on success, dtmf if interrupted, -1 on failure
61  */
62 int ast_say_digit_str(struct ast_channel *chan, char *num, char *ints, char *lang);
63 int ast_say_digit_str_full(struct ast_channel *chan, char *num, char *ints, char *lang, int audiofd, int ctrlfd);
64 int ast_say_character_str(struct ast_channel *chan, char *num, char *ints, char *lang);
65 int ast_say_character_str_full(struct ast_channel *chan, char *num, char *ints, char *lang, int audiofd, int ctrlfd);
66 int ast_say_phonetic_str(struct ast_channel *chan, char *num, char *ints, char *lang);
67 int ast_say_phonetic_str_full(struct ast_channel *chan, char *num, char *ints, char *lang, int audiofd, int ctrlfd);
68
69 int ast_say_datetime(struct ast_channel *chan, time_t t, char *ints, char *lang);
70
71 int ast_say_time(struct ast_channel *chan, time_t t, char *ints, char *lang);
72
73 int ast_say_date(struct ast_channel *chan, time_t t, char *ints, char *lang);
74
75 int ast_say_datetime_from_now(struct ast_channel *chan, time_t t, char *ints, char *lang);
76
77 int ast_say_date_with_format(struct ast_channel *chan, time_t t, char *ints, char *lang, char *format, char *timezone);
78
79 #if defined(__cplusplus) || defined(c_plusplus)
80 }
81 #endif
82
83 #endif