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
/*
* Asterisk -- An open source telephony toolkit.
*
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
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;
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) {
/*
* Asterisk -- An open source telephony toolkit.
*
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
}
/* 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++;
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;
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)) {
}
/* 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++;
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;
}
/* 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);