From 848ed982e882192f6f28e17c5f1bd379aeda9f82 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthony.minessale@gmail.com>
Date: Fri, 25 Jan 2008 19:47:53 +0000
Subject: [PATCH] mupdate

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7358 d0543943-73ff-0310-b7d9-9358b9ac24b2
---
 src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c b/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
index d83b465f92..04f4c31a1d 100644
--- a/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
+++ b/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
@@ -134,11 +134,17 @@ static int parse_exten(switch_core_session_t *session, switch_caller_profile_t *
 
 		for (xaction = switch_xml_child(xcond, "action"); xaction; xaction = xaction->next) {
 			char *application = (char *) switch_xml_attr_soft(xaction, "application");
-			char *data = (char *) switch_xml_attr_soft(xaction, "data");
+			char *data = NULL;
 			char *substituted = NULL;
 			uint32_t len = 0;
 			char *app_data = NULL;
 
+			if (xaction->txt) {
+				data = xaction->txt;
+			} else {
+				data = (char *) switch_xml_attr_soft(xaction, "data");
+			}
+
 			if (field && strchr(expression, '(')) {
 				len = (uint32_t) (strlen(data) + strlen(field_data) + 10);
 				if (!(substituted = malloc(len))) {