diff --git a/apps/app_playback.c b/apps/app_playback.c
index 0c9281aa76beb6dbb941b48bc57fd5d20f63bdb9..ab6e60e3ee138c000b1cd4767ac7d4155e1c7ee6 100644
--- a/apps/app_playback.c
+++ b/apps/app_playback.c
@@ -62,6 +62,12 @@
 						be answered before the sound is played.</para>
 						<note><para>Not all channel types support playing messages while still on hook.</para></note>
 					</option>
+					<option name="say">
+						<para>Play using the say.conf file.</para>
+					</option>
+					<option name="mix">
+						<para>Play using a mix of filename and the say.conf file.</para>
+					</option>
 				</optionlist>
 			</parameter>
 		</syntax>
@@ -446,6 +452,7 @@ static int playback_exec(struct ast_channel *chan, const char *data)
 	char *tmp;
 	int option_skip=0;
 	int option_say=0;
+	int option_mix=0;
 	int option_noanswer = 0;
 
 	AST_DECLARE_APP_ARGS(args,
@@ -466,6 +473,8 @@ static int playback_exec(struct ast_channel *chan, const char *data)
 			option_skip = 1;
 		if (strcasestr(args.options, "say"))
 			option_say = 1;
+		if (strcasestr(args.options, "mix"))
+			option_mix = 1;
 		if (strcasestr(args.options, "noanswer"))
 			option_noanswer = 1;
 	}
@@ -486,6 +495,13 @@ static int playback_exec(struct ast_channel *chan, const char *data)
 		while (!res && (front = strsep(&back, "&"))) {
 			if (option_say)
 				res = say_full(chan, front, "", ast_channel_language(chan), NULL, -1, -1);
+			else if (option_mix){
+				/* Check if it is in say format but not remote audio file */
+				if (strcasestr(front, ":") && !strcasestr(front, "://"))
+					res = say_full(chan, front, "", ast_channel_language(chan), NULL, -1, -1);
+				else
+					res = ast_streamfile(chan, front, ast_channel_language(chan));
+			}
 			else
 				res = ast_streamfile(chan, front, ast_channel_language(chan));
 			if (!res) {
diff --git a/doc/CHANGES-staging/add_mix_option_to_playback.txt b/doc/CHANGES-staging/add_mix_option_to_playback.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cfc876ce77c68683c8f573c8df3494db4da1998c
--- /dev/null
+++ b/doc/CHANGES-staging/add_mix_option_to_playback.txt
@@ -0,0 +1,7 @@
+Subject: app_playback
+Subject: apps
+
+A new option 'mix' is added to the Playback application that 
+will play by filename and say.conf. It will look on the format of the 
+name, if it is like say format it will play with say.conf if not it 
+will play the file name.
\ No newline at end of file