diff -NaurbB old/pbx/pbx_config.c new/pbx/pbx_config.c --- old/pbx/pbx_config.c 2009-01-23 11:28:35.000000000 +0000 +++ new/pbx/pbx_config.c 2009-01-30 12:48:38.000000000 +0000 @@ -1496,7 +1496,15 @@ *cidmatch++ = '\0'; ast_shrink_phone_number(cidmatch); } + do { pri = S_OR(strsep(&stringp, ","), ""); + if (pri == "") {break;} + else if (*pri-2 == '\\') { + pri--; + *pri=','; + pri = NULL; + } + } while (!pri); pri = ast_skip_blanks(pri); pri = ast_trim_blanks(pri); if ((label = strchr(pri, '('))) { diff -NaurbB old/pbx.c new/pbx.c --- old/pbx.c 2009-01-29 13:29:19.000000000 +0000 +++ new/pbx.c 2009-01-30 12:03:16.000000000 +0000 @@ -8803,7 +8803,15 @@ stringp = ast_strdupa(goto_string); context = strsep(&stringp, ","); /* guaranteed non-null */ exten = strsep(&stringp, ","); + do { pri = strsep(&stringp, ","); + if (!pri) {break;} + else if (*pri-2 == '\\') { + pri--; + *pri=','; + pri = NULL; + } + } while (!pri); if (!exten) { /* Only a priority in this one */ pri = context; exten = NULL;