add vars to fields in dp

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1511 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2006-05-26 19:25:00 +00:00
parent bf6d91c3fd
commit 3995ca8c00
1 changed files with 9 additions and 3 deletions

View File

@ -142,10 +142,16 @@ static int parse_exten(switch_core_session_t *session, switch_xml_t xexten, swit
field = (char *) switch_xml_attr(xcond, "field");
expression = (char *) switch_xml_attr_soft(xcond, "expression");
if (field) {
field_data = switch_caller_get_field_by_name(caller_profile, field);
if (*field == '$') {
field_data = switch_channel_get_variable(channel, field + 1);
} else {
field_data = switch_caller_get_field_by_name(caller_profile, field);
}
if (!field_data) {
field_data = "";
}
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "test conditions %s(%s) =~ /%s/\n", field, field_data, expression);
if (!(proceed = perform_regex(channel, field_data, expression, &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Regex mismatch\n");