From cf15740eaf6de047096a25afe678a577a574a9aa Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Mon, 10 Apr 2006 23:01:22 +0000
Subject: [PATCH] remove support for BYEXTENSION (which nobody even knows about
 anymore)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 UPGRADE.txt                |  5 +++++
 apps/app_dial.c            | 12 +-----------
 apps/app_parkandannounce.c |  6 +++---
 apps/app_queue.c           | 10 ----------
 apps/app_rpt.c             |  4 ++--
 pbx.c                      |  5 +----
 6 files changed, 12 insertions(+), 30 deletions(-)

diff --git a/UPGRADE.txt b/UPGRADE.txt
index a5f9cf6590..600a1d42f3 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -1,6 +1,11 @@
 Information for Upgrading From Previous Asterisk Releases
 =========================================================
 
+PBX Core:
+
+* The (very old and undocumented) ability to use BYEXTENSION for dialing
+  instead of ${EXTEN} has been removed.
+
 Command Line Interface:
 
 * 'show channels concise', designed to be used by applications that will parse
diff --git a/apps/app_dial.c b/apps/app_dial.c
index d6df884e51..b77547d881 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -1,7 +1,7 @@
 /*
  * Asterisk -- An open source telephony toolkit.
  *
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
  *
  * Mark Spencer <markster@digium.com>
  *
@@ -747,10 +747,8 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
 	int numnochan = 0;
 	int cause;
 	char numsubst[AST_MAX_EXTENSION];
-	char restofit[AST_MAX_EXTENSION];
 	char cidname[AST_MAX_EXTENSION];
 	char toast[80];
-	char *newnum;
 	char *l;
 	int privdb_val=0;
 	unsigned int calldurationlimit=0;
@@ -1007,14 +1005,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
 			ast_set2_flag(tmp, args.url, DIAL_NOFORWARDHTML);	
 		}
 		ast_copy_string(numsubst, number, sizeof(numsubst));
-		/* If we're dialing by extension, look at the extension to know what to dial */
-		if ((newnum = strstr(numsubst, "BYEXTENSION"))) {
-			/* strlen("BYEXTENSION") == 11 */
-			ast_copy_string(restofit, newnum + 11, sizeof(restofit));
-			snprintf(newnum, sizeof(numsubst) - (newnum - numsubst), "%s%s", chan->exten,restofit);
-			if (option_debug)
-				ast_log(LOG_DEBUG, "Dialing by extension %s\n", numsubst);
-		}
 		/* Request the peer */
 		tmp->chan = ast_request(tech, chan->nativeformats, numsubst, &cause);
 		if (!tmp->chan) {
diff --git a/apps/app_parkandannounce.c b/apps/app_parkandannounce.c
index 181a93fe54..1f73939302 100644
--- a/apps/app_parkandannounce.c
+++ b/apps/app_parkandannounce.c
@@ -1,7 +1,7 @@
 /*
  * Asterisk -- An open source telephony toolkit.
  *
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
  *
  * Mark Spencer <markster@digium.com>
  *
@@ -164,9 +164,9 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
 	}
 	/* At this point we have a priority and maybe an extension and a context */
 	chan->priority = atoi(priority);
-	if(exten && strcasecmp(exten, "BYEXTENSION"))
+	if (exten)
 		strncpy(chan->exten, exten, sizeof(chan->exten)-1);
-	if(context)
+	if (context)
 		strncpy(chan->context, context, sizeof(chan->context)-1);
 	} else {  /* increment the priority by default*/
 		chan->priority++;
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 25a789b44a..043d9797da 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -2018,11 +2018,9 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
 	struct member *cur;
 	struct callattempt *outgoing=NULL; /* the queue we are building */
 	int to;
-	char restofit[AST_MAX_EXTENSION];
 	char oldexten[AST_MAX_EXTENSION]="";
 	char oldcontext[AST_MAX_CONTEXT]="";
 	char queuename[256]="";
-	char *newnum;
 	struct ast_channel *peer;
 	struct ast_channel *which;
 	struct callattempt *lpeer;
@@ -2103,14 +2101,6 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
 		tmp->oldstatus = cur->status;
 		tmp->lastcall = cur->lastcall;
 		ast_copy_string(tmp->interface, cur->interface, sizeof(tmp->interface));
-		/* If we're dialing by extension, look at the extension to know what to dial */
-		if ((newnum = strstr(tmp->interface, "/BYEXTENSION"))) {
-			newnum++;
-			strncpy(restofit, newnum + strlen("BYEXTENSION"), sizeof(restofit) - 1);
-			snprintf(newnum, sizeof(tmp->interface) - (newnum - tmp->interface), "%s%s", qe->chan->exten, restofit);
-			if (option_debug)
-				ast_log(LOG_DEBUG, "Dialing by extension %s\n", tmp->interface);
-		}
 		/* Special case: If we ring everyone, go ahead and ring them, otherwise
 		   just calculate their metric for the appropriate strategy */
 		if (!calc_metric(qe->parent, cur, x++, qe, tmp)) {
diff --git a/apps/app_rpt.c b/apps/app_rpt.c
index a9c53ba7fc..d4e8177994 100644
--- a/apps/app_rpt.c
+++ b/apps/app_rpt.c
@@ -6452,9 +6452,9 @@ static int rpt_exec(struct ast_channel *chan, void *data)
 		}
 		/* At this point we have a priority and maybe an extension and a context */
 		chan->priority = atoi(priority);
-		if(exten && strcasecmp(exten, "BYEXTENSION"))
+		if (exten)
 			strncpy(chan->exten, exten, sizeof(chan->exten)-1);
-		if(context)
+		if (context)
 			strncpy(chan->context, context, sizeof(chan->context)-1);
 		} else {  /* increment the priority by default*/
 			chan->priority++;
diff --git a/pbx.c b/pbx.c
index d28b9e8c05..d4b17dbf73 100644
--- a/pbx.c
+++ b/pbx.c
@@ -6040,7 +6040,7 @@ int ast_parseable_goto(struct ast_channel *chan, const char *goto_string)
 		pri++;
 	}
 	if (sscanf(pri, "%d", &ipri) != 1) {
-		if ((ipri = ast_findlabel_extension(chan, context ? context : chan->context, (exten && strcasecmp(exten, "BYEXTENSION")) ? exten : chan->exten, 
+		if ((ipri = ast_findlabel_extension(chan, context ? context : chan->context, exten ? exten : chan->exten, 
 			pri, chan->cid.cid_num)) < 1) {
 			ast_log(LOG_WARNING, "Priority '%s' must be a number > 0, or valid label\n", pri);
 			return -1;
@@ -6049,9 +6049,6 @@ int ast_parseable_goto(struct ast_channel *chan, const char *goto_string)
 	} 
 	/* At this point we have a priority and maybe an extension and a context */
 
-	if (exten && !strcasecmp(exten, "BYEXTENSION"))
-		exten = NULL;
-
 	if (mode) 
 		ipri = chan->priority + (ipri * mode);
 
-- 
GitLab