add pelim say stuff, module framework, xml parser, dialplan app, and add new channel var called sound_prefix for audio files

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3766 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale
2006-12-20 21:25:14 +00:00
parent 9db9fae8a2
commit b7dbea6407
10 changed files with 575 additions and 7 deletions
+7
View File
@@ -626,6 +626,13 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_menu_stack_xml_add_custom(switch_ivr_
*/
SWITCH_DECLARE(switch_status_t) switch_ivr_menu_stack_xml_init(switch_ivr_menu_xml_ctx_t **xml_menu_ctx, switch_memory_pool_t *pool);
SWITCH_DECLARE(switch_status_t) switch_ivr_phrase_macro(switch_core_session_t *session,
char *macro_name,
char *data,
char *lang,
switch_input_callback_function_t input_callback,
void *buf,
uint32_t buflen);
/** @} */
SWITCH_END_EXTERN_C
+9
View File
@@ -75,6 +75,8 @@ struct switch_loadable_module_interface {
const switch_directory_interface_t *directory_interface;
/*! the table of chat interfaces the module has implmented */
const switch_chat_interface_t *chat_interface;
/*! the table of say interfaces the module has implmented */
const switch_say_interface_t *say_interface;
/*! the table of asr interfaces the module has implmented */
const switch_asr_interface_t *asr_interface;
};
@@ -181,6 +183,13 @@ SWITCH_DECLARE(switch_directory_interface_t *) switch_loadable_module_get_direct
*/
SWITCH_DECLARE(switch_chat_interface_t *) switch_loadable_module_get_chat_interface(char *name);
/*!
\brief Retrieve the say interface by it's registered name
\param name the name of the say interface
\return the desired say interface
*/
SWITCH_DECLARE(switch_say_interface_t *) switch_loadable_module_get_say_interface(char *name);
/*!
\brief Retrieve the list of loaded codecs into an array
+14
View File
@@ -412,6 +412,20 @@ struct switch_speech_handle {
void *private_info;
};
/*! \brief Abstract interface to a say module */
struct switch_say_interface {
/*! the name of the interface */
const char *interface_name;
/*! function to pass down to the module */
switch_status_t (*say_function)(switch_core_session_t *session,
char *tosay,
switch_say_type_t type,
switch_say_method_t method,
switch_input_callback_function_t dtmf_callback,
void *buf,
uint32_t buflen);
const struct switch_say_interface *next;
};
/*! \brief Abstract interface to a chat module */
struct switch_chat_interface {
+30 -1
View File
@@ -93,6 +93,33 @@ SWITCH_BEGIN_EXTERN_C
#define SWITCH_BITS_PER_BYTE 8
typedef uint8_t switch_byte_t;
typedef enum {
SSM_NA,
SSM_PRONOUNCED,
SSM_ITERATED
} switch_say_method_t;
typedef enum {
SST_NUMBER,
SST_ITEMS,
SST_PERSONS,
SST_MESSAGES,
SST_CURRENCY,
SST_TIME_MEASUREMENT,
SST_CURRENT_DATE,
SST_CURRENT_TIME,
SST_CURRENT_DATE_TIME,
SST_TELEPHONE_NUMBER,
SST_TELEPHONE_EXTENSION,
SST_URL,
SST_EMAIL_ADDRESS,
SST_POSTAL_ADDRESS,
SST_ACCOUNT_NUMBER,
SST_NAME_SPELLED,
SST_NAME_PHONETIC,
} switch_say_type_t;
typedef enum {
SMF_NONE = 0,
SMF_REBRIDGE = (1 << 0),
@@ -172,7 +199,8 @@ typedef enum {
SWITCH_XML_SECTION_RESULT = 0,
SWITCH_XML_SECTION_CONFIG = (1 << 0),
SWITCH_XML_SECTION_DIRECTORY = (1 << 1),
SWITCH_XML_SECTION_DIALPLAN = (1 << 2)
SWITCH_XML_SECTION_DIALPLAN = (1 << 2),
SWITCH_XML_SECTION_PHRASES = (1 << 3)
} switch_xml_section_t;
/*!
@@ -863,6 +891,7 @@ typedef struct switch_speech_interface switch_speech_interface_t;
typedef struct switch_asr_interface switch_asr_interface_t;
typedef struct switch_directory_interface switch_directory_interface_t;
typedef struct switch_chat_interface switch_chat_interface_t;
typedef struct switch_say_interface switch_say_interface_t;
typedef struct switch_core_port_allocator switch_core_port_allocator_t;
typedef struct switch_media_bug switch_media_bug_t;
typedef void (*switch_media_bug_callback_t)(switch_media_bug_t *, void *, switch_abc_type_t);