switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN, level, "%s", switch_str_nil(msg));
}
+static switch_status_t parse_continue(const char *tag_name, client_t *client, switch_xml_t tag, const char *body)
+{
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
static switch_status_t parse_log(const char *tag_name, client_t *client, switch_xml_t tag, const char *body)
{
const char *level = switch_xml_attr(tag, "level");
return status;
}
+static switch_status_t parse_common(const char *tag_name, client_t *client, switch_xml_t tag, const char *body)
+{
+ const char *action = switch_xml_attr(tag, "action");
+
+ if (action) {
+ switch_event_add_header_string(client->params, SWITCH_STACK_BOTTOM, "url", action);
+ }
+
+ return SWITCH_STATUS_SUCCESS;
+}
static switch_status_t parse_xml(client_t *client)
{
}
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Process Tag: [%s]\n", tag->name);
+
+ parse_common(tag->name, client, tag, expanded);
handler(tag->name, client, tag, expanded);
if (expanded && expanded != tag->txt) {
bind_parser("conference", parse_conference);
bind_parser("break", parse_break);
bind_parser("log", parse_log);
+ bind_parser("continue", parse_continue);
if (do_config() != SWITCH_STATUS_SUCCESS) {
return SWITCH_STATUS_FALSE;
-<execute application>*DATA*</execute>
+<execute application data action>*DATA*</execute>
: Execute a FreeSWITCH app.
ATTRS:
application : The app to run
+action : Change url to submit to
+data : Alternate source for app data
*DATA* : The app data
-<sms to>DATA</sms>
+<sms to action>DATA</sms>
: Send a SMS message.
ATTRS:
to : The dest number
+action : Change url to submit to
*DATA* : The message data
-<dial context dialplan caller-id-name caller-id-number>*DATA*</dial>
+<dial context dialplan caller-id-name caller-id-number action>*DATA*</dial>
: Place an outbound call or transfer.
ATTRS:
dialplan : Dialplan dialplan.
caller-id-name : Caller ID Name.
caller-id-number : Caller ID Number.
+action : Change url to submit to
*DATA* : Number to dial or originate string
-<conference profile>
+<conference profile action>
: Start a conference call.
ATTRS:
profile : Conference profile to use.
+action : Change url to submit to
-
-<hangup cause>
+<hangup cause action>
: Hangup the call
ATTRS:
cause : Hangup cause
-
+action : Change url to submit to
-<log level clean>
+<log level clean action>
: Exit the httapi application and continue in the dialplan.
ATTRS:
level : The log level to use.
clean : If true do not pring log prefix.
+action : Change url to submit to
+
+<continue action>
+ : Just continue (no-op)
+
+ATTRS:
+action : Change url to submit to
+