diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index 9804e53238..0c803a71b4 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -1995,14 +1995,23 @@ SWITCH_DECLARE(void) switch_say_file(switch_say_file_handle_t *sh, const char *f char buf[256] = ""; int ret; va_list ap; + int native = !strcasecmp(sh->ext, "native"); va_start(ap, fmt); if ((ret = switch_vsnprintf(buf, sizeof(buf), fmt, ap)) > 0) { if (!sh->cnt++) { - sh->stream.write_function(&sh->stream, "file_string://%s.%s", buf, sh->ext); + if (native) { + sh->stream.write_function(&sh->stream, "file_string://%s", buf); + } else { + sh->stream.write_function(&sh->stream, "file_string://%s.%s", buf, sh->ext); + } } else { - sh->stream.write_function(&sh->stream, "!%s.%s", buf, sh->ext); + if (native) { + sh->stream.write_function(&sh->stream, "!%s", buf); + } else { + sh->stream.write_function(&sh->stream, "!%s.%s", buf, sh->ext); + } } }