_In_ switch_caller_extension_t *caller_extension,
_In_z_ const char *application_name, _In_z_ const char *extra_data);
+/*!
+ \brief Add an application (instruction) to the given extension
+ \param session session associated with the extension (bound by scope)
+ \param caller_extension extension to add the application to
+ \param application_name the name of the application
+ \param fmt optional argument to the application (printf format string)
+*/
+SWITCH_DECLARE(void) switch_caller_extension_add_application_printf(_In_ switch_core_session_t *session,
+ _In_ switch_caller_extension_t *caller_extension,
+ _In_z_ const char *application_name, _In_z_ const char *fmt, ...);
+
/*!
\brief Get the value of a field in a caller profile based on it's name
return caller_extension;
}
+
+SWITCH_DECLARE(void) switch_caller_extension_add_application_printf(switch_core_session_t *session,
+ switch_caller_extension_t *caller_extension, const char *application_name,
+ const char *fmt, ...)
+{
+ va_list ap;
+ char *data = NULL;
+
+ va_start(ap, fmt);
+ switch_vasprintf(&data, fmt, ap);
+ va_end(ap);
+
+ if (data) {
+ switch_caller_extension_add_application(session, caller_extension, application_name, data);
+ free(data);
+ }
+}
+
+
SWITCH_DECLARE(void) switch_caller_extension_add_application(switch_core_session_t *session,
switch_caller_extension_t *caller_extension, const char *application_name,
const char *application_data)