[asterisk-commits] jpeeler: branch 1.6.0 r123332 - in /branches/1.6.0: ./ apps/ build_tools/ cdr...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jun 17 13:08:10 CDT 2008
Author: jpeeler
Date: Tue Jun 17 13:08:09 2008
New Revision: 123332
URL: http://svn.digium.com/view/asterisk?view=rev&rev=123332
Log:
Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
Added:
branches/1.6.0/apps/app_dahdiras.c
- copied, changed from r122234, trunk/apps/app_dahdiras.c
branches/1.6.0/apps/app_dahdiscan.c
- copied, changed from r122234, trunk/apps/app_dahdiscan.c
branches/1.6.0/channels/chan_dahdi.c (with props)
branches/1.6.0/codecs/codec_dahdi.c
- copied, changed from r122234, trunk/codecs/codec_dahdi.c
branches/1.6.0/include/asterisk/dahdi.h
- copied unchanged from r122234, trunk/include/asterisk/dahdi.h
Removed:
branches/1.6.0/apps/app_fax.c
branches/1.6.0/apps/app_zapras.c
branches/1.6.0/apps/app_zapscan.c
branches/1.6.0/channels/chan_zap.c
branches/1.6.0/codecs/codec_zap.c
branches/1.6.0/include/asterisk/zapata.h
Modified:
branches/1.6.0/ (props changed)
branches/1.6.0/Makefile
branches/1.6.0/README
branches/1.6.0/apps/app_chanisavail.c
branches/1.6.0/apps/app_chanspy.c
branches/1.6.0/apps/app_dial.c
branches/1.6.0/apps/app_flash.c
branches/1.6.0/apps/app_getcpeid.c
branches/1.6.0/apps/app_meetme.c
branches/1.6.0/apps/app_page.c
branches/1.6.0/apps/app_queue.c
branches/1.6.0/apps/app_rpt.c
branches/1.6.0/build_tools/menuselect-deps.in
branches/1.6.0/cdr/cdr_csv.c
branches/1.6.0/channels/chan_iax2.c
branches/1.6.0/channels/chan_mgcp.c
branches/1.6.0/configs/extensions.ael.sample
branches/1.6.0/configs/extensions.conf.sample
branches/1.6.0/configs/extensions.lua.sample
branches/1.6.0/configs/meetme.conf.sample
branches/1.6.0/configs/muted.conf.sample
branches/1.6.0/configs/queues.conf.sample
branches/1.6.0/configs/rpt.conf.sample
branches/1.6.0/configs/sla.conf.sample
branches/1.6.0/configs/smdi.conf.sample
branches/1.6.0/configs/users.conf.sample
branches/1.6.0/configs/vpb.conf.sample
branches/1.6.0/configs/zapata.conf.sample
branches/1.6.0/configure
branches/1.6.0/configure.ac
branches/1.6.0/contrib/init.d/rc.mandrake.asterisk
branches/1.6.0/contrib/init.d/rc.mandrake.zaptel
branches/1.6.0/contrib/init.d/rc.suse.asterisk
branches/1.6.0/contrib/scripts/autosupport
branches/1.6.0/contrib/scripts/loadtest.tcl
branches/1.6.0/contrib/utils/zones2indications.c
branches/1.6.0/doc/asterisk.8
branches/1.6.0/doc/asterisk.sgml
branches/1.6.0/doc/backtrace.txt
branches/1.6.0/doc/janitor-projects.txt
branches/1.6.0/doc/manager_1_1.txt
branches/1.6.0/doc/osp.txt
branches/1.6.0/doc/sms.txt
branches/1.6.0/doc/ss7.txt
branches/1.6.0/doc/tex/ael.tex
branches/1.6.0/doc/tex/app-sms.tex
branches/1.6.0/doc/tex/backtrace.tex
branches/1.6.0/doc/tex/channelvariables.tex
branches/1.6.0/doc/tex/configuration.tex
branches/1.6.0/doc/tex/enum.tex
branches/1.6.0/doc/tex/hardware.tex
branches/1.6.0/doc/tex/localchannel.tex
branches/1.6.0/doc/tex/manager.tex
branches/1.6.0/doc/tex/privacy.tex
branches/1.6.0/doc/tex/queues-with-callback-members.tex
branches/1.6.0/doc/tex/security.tex
branches/1.6.0/doc/tex/sla.tex
branches/1.6.0/include/asterisk/autoconfig.h.in
branches/1.6.0/include/asterisk/channel.h
branches/1.6.0/include/asterisk/doxyref.h
branches/1.6.0/include/asterisk/dsp.h
branches/1.6.0/include/asterisk/options.h
branches/1.6.0/main/asterisk.c
branches/1.6.0/main/channel.c
branches/1.6.0/main/file.c
branches/1.6.0/main/loader.c
branches/1.6.0/makeopts.in
branches/1.6.0/pbx/pbx_config.c
branches/1.6.0/res/res_musiconhold.c
branches/1.6.0/utils/extconf.c
Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.0/Makefile
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/Makefile?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/Makefile (original)
+++ branches/1.6.0/Makefile Tue Jun 17 13:08:09 2008
@@ -680,6 +680,7 @@
echo ";transcode_via_sln = yes ; Build transcode paths via SLINEAR, instead of directly" ; \
echo ";runuser = asterisk ; The user to run as" ; \
echo ";rungroup = asterisk ; The group to run as" ; \
+ echo "dahdichanname = yes" ; Set channel name as DAHDI\
echo "" ; \
echo "; Changing the following lines may compromise your security." ; \
echo ";[files]" ; \
Modified: branches/1.6.0/README
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/README?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/README (original)
+++ branches/1.6.0/README Tue Jun 17 13:08:09 2008
@@ -175,7 +175,7 @@
understand, and do not affect how it is actually parsed.
Entries of the form 'variable=value' set the value of some parameter in
-asterisk. For example, in zapata.conf, one might specify:
+asterisk. For example, in dahdi.conf, one might specify:
switchtype=national
Modified: branches/1.6.0/apps/app_chanisavail.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_chanisavail.c?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/apps/app_chanisavail.c (original)
+++ branches/1.6.0/apps/app_chanisavail.c Tue Jun 17 13:08:09 2008
@@ -71,7 +71,7 @@
);
if (ast_strlen_zero(data)) {
- ast_log(LOG_WARNING, "ChanIsAvail requires an argument (Zap/1&Zap/2)\n");
+ ast_log(LOG_WARNING, "ChanIsAvail requires an argument (DAHDI/1&DAHDI/2)\n");
return -1;
}
Modified: branches/1.6.0/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_chanspy.c?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/apps/app_chanspy.c (original)
+++ branches/1.6.0/apps/app_chanspy.c Tue Jun 17 13:08:09 2008
@@ -47,6 +47,7 @@
#include "asterisk/translate.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
+#include "asterisk/options.h"
#define AST_NAME_STRLEN 256
@@ -497,30 +498,32 @@
const struct ast_channel *last, const char *spec,
const char *exten, const char *context, struct chanspy_ds *chanspy_ds)
{
- struct ast_channel *this;
+ struct ast_channel *next;
+ char channel_name[AST_CHANNEL_NAME];
redo:
if (!ast_strlen_zero(spec))
- this = ast_walk_channel_by_name_prefix_locked(last, spec, strlen(spec));
+ next = ast_walk_channel_by_name_prefix_locked(last, spec, strlen(spec));
else if (!ast_strlen_zero(exten))
- this = ast_walk_channel_by_exten_locked(last, exten, context);
+ next = ast_walk_channel_by_exten_locked(last, exten, context);
else
- this = ast_channel_walk_locked(last);
-
- if (!this)
+ next = ast_channel_walk_locked(last);
+
+ if (!next)
return NULL;
- if (!strncmp(this->name, "Zap/pseudo", 10)) {
- ast_channel_unlock(this);
+ snprintf(channel_name, AST_CHANNEL_NAME, "%s/pseudo", dahdi_chan_name);
+ if (!strncmp(next->name, channel_name, 10)) {
+ ast_channel_unlock(next);
goto redo;
- } else if (this == chan) {
- last = this;
- ast_channel_unlock(this);
+ } else if (next == chan) {
+ last = next;
+ ast_channel_unlock(next);
goto redo;
}
- return setup_chanspy_ds(this, chanspy_ds);
+ return setup_chanspy_ds(next, chanspy_ds);
}
static int common_exec(struct ast_channel *chan, const struct ast_flags *flags,
Copied: branches/1.6.0/apps/app_dahdiras.c (from r122234, trunk/apps/app_dahdiras.c)
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_dahdiras.c?view=diff&rev=123332&p1=trunk/apps/app_dahdiras.c&r1=122234&p2=branches/1.6.0/apps/app_dahdiras.c&r2=123332
==============================================================================
--- trunk/apps/app_dahdiras.c (original)
+++ branches/1.6.0/apps/app_dahdiras.c Tue Jun 17 13:08:09 2008
@@ -50,10 +50,8 @@
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
-#include "asterisk/app.h"
static char *app = "DAHDIRAS";
-static char *deprecated_app = "ZapRAS";
static char *synopsis = "Executes DAHDI ISDN RAS application";
@@ -61,7 +59,7 @@
" DAHDIRAS(args): Executes a RAS server using pppd on the given channel.\n"
"The channel must be a clear channel (i.e. PRI source) and a DAHDI\n"
"channel to be able to use this function (No modem emulation is included).\n"
-"Your pppd must be patched to be DAHDI aware. Arguments should be\n"
+"Your pppd must be patched to be dahdi aware. Arguments should be\n"
"separated by , characters.\n";
@@ -71,17 +69,29 @@
static pid_t spawn_ras(struct ast_channel *chan, char *args)
{
pid_t pid;
+ int x;
char *c;
char *argv[PPP_MAX_ARGS];
int argc = 0;
char *stringp=NULL;
+ sigset_t fullset, oldset;
+
+ sigfillset(&fullset);
+ pthread_sigmask(SIG_BLOCK, &fullset, &oldset);
/* Start by forking */
- pid = ast_safe_fork(1);
+ pid = fork();
if (pid) {
+ pthread_sigmask(SIG_SETMASK, &oldset, NULL);
return pid;
}
+
+ /* Restore original signal handlers */
+ for (x=0;x<NSIG;x++)
+ signal(x, SIG_DFL);
+
+ pthread_sigmask(SIG_UNBLOCK, &fullset, NULL);
/* Execute RAS on File handles */
dup2(chan->fds[0], STDIN_FILENO);
@@ -91,13 +101,14 @@
ast_set_priority(0);
/* Close other file descriptors */
- ast_close_fds_above_n(STDERR_FILENO);
+ for (x=STDERR_FILENO + 1;x<1024;x++)
+ close(x);
/* Reset all arguments */
memset(argv, 0, sizeof(argv));
/* First argument is executable, followed by standard
- arguments for DAHDI PPP */
+ arguments for dahdi PPP */
argv[argc++] = PPP_EXEC;
argv[argc++] = "nodetach";
@@ -174,7 +185,6 @@
break;
}
}
- ast_safe_fork_cleanup();
}
static int dahdiras_exec(struct ast_channel *chan, void *data)
@@ -212,12 +222,6 @@
return res;
}
-static int dahdiras_exec_warn(struct ast_channel *chan, void *data)
-{
- ast_log(LOG_WARNING, "Use of the command %s is deprecated, please use %s instead.\n", deprecated_app, app);
- return dahdiras_exec(chan, data);
-}
-
static int unload_module(void)
{
return ast_unregister_application(app);
@@ -225,7 +229,6 @@
static int load_module(void)
{
- ast_register_application(deprecated_app, dahdiras_exec_warn, synopsis, descrip);
return ((ast_register_application(app, dahdiras_exec, synopsis, descrip)) ? AST_MODULE_LOAD_FAILURE : AST_MODULE_LOAD_SUCCESS);
}
Copied: branches/1.6.0/apps/app_dahdiscan.c (from r122234, trunk/apps/app_dahdiscan.c)
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_dahdiscan.c?view=diff&rev=123332&p1=trunk/apps/app_dahdiscan.c&r1=122234&p2=branches/1.6.0/apps/app_dahdiscan.c&r2=123332
==============================================================================
--- trunk/apps/app_dahdiscan.c (original)
+++ branches/1.6.0/apps/app_dahdiscan.c Tue Jun 17 13:08:09 2008
@@ -5,7 +5,7 @@
*
* Mark Spencer <markster at digium.com>
*
- * Modified from app_zapbarge by David Troy <dave at toad.net>
+ * Modified from app_dahdibarge by David Troy <dave at toad.net>
*
* Special thanks to comphealth.com for sponsoring this
* GPL application.
@@ -50,10 +50,8 @@
#include "asterisk/utils.h"
#include "asterisk/cli.h"
#include "asterisk/say.h"
-#include "asterisk/options.h"
static char *app = "DAHDIScan";
-static char *deprecated_app = "ZapScan";
static char *synopsis = "Scan DAHDI channels to monitor calls";
@@ -75,15 +73,14 @@
static int careful_write(int fd, unsigned char *data, int len)
{
int res;
- while (len) {
+ while(len) {
res = write(fd, data, len);
if (res < 1) {
if (errno != EAGAIN) {
ast_log(LOG_WARNING, "Failed to write audio data to conference: %s\n", strerror(errno));
return -1;
- } else {
+ } else
return 0;
- }
}
len -= res;
data += res;
@@ -107,7 +104,7 @@
int origfd;
int ret = -1;
char input[4];
- int ic = 0;
+ int ic=0;
DAHDI_BUFFERINFO bi;
char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
@@ -139,7 +136,7 @@
if (flags < 0) {
ast_log(LOG_WARNING, "Unable to get flags: %s\n", strerror(errno));
close(fd);
- goto outrun;
+ goto outrun;
}
if (fcntl(fd, F_SETFL, flags | O_NONBLOCK)) {
ast_log(LOG_WARNING, "Unable to set flags: %s\n", strerror(errno));
@@ -157,7 +154,7 @@
close(fd);
goto outrun;
}
- nfds = 1;
+ nfds = 1;
} else {
/* XXX Make sure we're not running on a pseudo channel XXX */
fd = chan->fds[0];
@@ -165,119 +162,118 @@
}
memset(&dahdic, 0, sizeof(dahdic));
/* Check to see if we're in a conference... */
- dahdic.chan = 0;
- if (ioctl(fd, DAHDI_GETCONF, &dahdic)) {
- ast_log(LOG_WARNING, "Error getting conference\n");
- close(fd);
- goto outrun;
- }
- if (dahdic.confmode) {
- /* Whoa, already in a conference... Retry... */
- if (!retrydahdi) {
- ast_debug(1, "DAHDI channel is in a conference already, retrying with pseudo\n");
- retrydahdi = 1;
- goto dahdiretry;
- }
- }
- memset(&dahdic, 0, sizeof(dahdic));
- /* Add us to the conference */
- dahdic.chan = 0;
- dahdic.confno = confno;
- dahdic.confmode = DAHDI_CONF_MONITORBOTH;
-
- if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
- ast_log(LOG_WARNING, "Error setting conference\n");
- close(fd);
- goto outrun;
- }
- ast_debug(1, "Placed channel %s in DAHDI channel %d monitor\n", chan->name, confno);
-
- for (;;) {
- outfd = -1;
- ms = -1;
- c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
- if (c) {
- if (c->fds[0] != origfd) {
- if (retrydahdi) {
- /* Kill old pseudo */
- close(fd);
- }
- ast_debug(1, "Ooh, something swapped out under us, starting over\n");
- retrydahdi = 0;
+ dahdic.chan = 0;
+ if (ioctl(fd, DAHDI_GETCONF, &dahdic)) {
+ ast_log(LOG_WARNING, "Error getting conference\n");
+ close(fd);
+ goto outrun;
+ }
+ if (dahdic.confmode) {
+ /* Whoa, already in a conference... Retry... */
+ if (!retrydahdi) {
+ ast_debug(1, "DAHDI channel is in a conference already, retrying with pseudo\n");
+ retrydahdi = 1;
goto dahdiretry;
}
- f = ast_read(c);
- if (!f) {
- break;
+ }
+ memset(&dahdic, 0, sizeof(dahdic));
+ /* Add us to the conference */
+ dahdic.chan = 0;
+ dahdic.confno = confno;
+ dahdic.confmode = DAHDI_CONF_MONITORBOTH;
+
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
+ ast_log(LOG_WARNING, "Error setting conference\n");
+ close(fd);
+ goto outrun;
+ }
+ ast_debug(1, "Placed channel %s in DAHDI channel %d monitor\n", chan->name, confno);
+
+ for(;;) {
+ outfd = -1;
+ ms = -1;
+ c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
+ if (c) {
+ if (c->fds[0] != origfd) {
+ if (retrydahdi) {
+ /* Kill old pseudo */
+ close(fd);
+ }
+ ast_debug(1, "Ooh, something swapped out under us, starting over\n");
+ retrydahdi = 0;
+ goto dahdiretry;
+ }
+ f = ast_read(c);
+ if (!f)
+ break;
+ if(f->frametype == AST_FRAME_DTMF) {
+ if(f->subclass == '#') {
+ ret = 0;
+ break;
+ }
+ else if (f->subclass == '*') {
+ ret = -1;
+ break;
+
+ }
+ else {
+ input[ic++] = f->subclass;
+ }
+ if(ic == 3) {
+ input[ic++] = '\0';
+ ic=0;
+ ret = atoi(input);
+ ast_verb(3, "DAHDIscan: change channel to %d\n",ret);
+ break;
+ }
+ }
+
+ if (fd != chan->fds[0]) {
+ if (f->frametype == AST_FRAME_VOICE) {
+ if (f->subclass == AST_FORMAT_ULAW) {
+ /* Carefully write */
+ careful_write(fd, f->data, f->datalen);
+ } else
+ ast_log(LOG_WARNING, "Huh? Got a non-ulaw (%d) frame in the conference\n", f->subclass);
+ }
+ }
+ ast_frfree(f);
+ } else if (outfd > -1) {
+ res = read(outfd, buf, CONF_SIZE);
+ if (res > 0) {
+ memset(&fr, 0, sizeof(fr));
+ fr.frametype = AST_FRAME_VOICE;
+ fr.subclass = AST_FORMAT_ULAW;
+ fr.datalen = res;
+ fr.samples = res;
+ fr.data = buf;
+ fr.offset = AST_FRIENDLY_OFFSET;
+ if (ast_write(chan, &fr) < 0) {
+ ast_log(LOG_WARNING, "Unable to write frame to channel: %s\n", strerror(errno));
+ /* break; */
+ }
+ } else
+ ast_log(LOG_WARNING, "Failed to read frame: %s\n", strerror(errno));
}
- if (f->frametype == AST_FRAME_DTMF) {
- if (f->subclass == '#') {
- ret = 0;
- break;
- } else if (f->subclass == '*') {
- ret = -1;
- break;
- } else {
- input[ic++] = f->subclass;
- }
- if (ic == 3) {
- input[ic++] = '\0';
- ic = 0;
- ret = atoi(input);
- ast_verb(3, "DAHDIScan: change channel to %d\n", ret);
- break;
- }
- }
-
- if (fd != chan->fds[0]) {
- if (f->frametype == AST_FRAME_VOICE) {
- if (f->subclass == AST_FORMAT_ULAW) {
- /* Carefully write */
- careful_write(fd, f->data.ptr, f->datalen);
- } else {
- ast_log(LOG_WARNING, "Huh? Got a non-ulaw (%d) frame in the conference\n", f->subclass);
- }
- }
- }
- ast_frfree(f);
- } else if (outfd > -1) {
- res = read(outfd, buf, CONF_SIZE);
- if (res > 0) {
- memset(&fr, 0, sizeof(fr));
- fr.frametype = AST_FRAME_VOICE;
- fr.subclass = AST_FORMAT_ULAW;
- fr.datalen = res;
- fr.samples = res;
- fr.data.ptr = buf;
- fr.offset = AST_FRIENDLY_OFFSET;
- if (ast_write(chan, &fr) < 0) {
- ast_log(LOG_WARNING, "Unable to write frame to channel: %s\n", strerror(errno));
- /* break; */
- }
- } else {
- ast_log(LOG_WARNING, "Failed to read frame: %s\n", strerror(errno));
- }
- }
- }
- if (f) {
+ }
+ if (f)
ast_frfree(f);
- }
- if (fd != chan->fds[0]) {
- close(fd);
- } else {
- /* Take out of conference */
- /* Add us to the conference */
- dahdic.chan = 0;
- dahdic.confno = 0;
- dahdic.confmode = 0;
- if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
- ast_log(LOG_WARNING, "Error setting conference\n");
- }
- }
-
+ if (fd != chan->fds[0])
+ close(fd);
+ else {
+ /* Take out of conference */
+ /* Add us to the conference */
+ dahdic.chan = 0;
+ dahdic.confno = 0;
+ dahdic.confmode = 0;
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
+ ast_log(LOG_WARNING, "Error setting conference\n");
+ }
+ }
+
outrun:
-
- return ret;
+
+ return ret;
}
static int conf_exec(struct ast_channel *chan, void *data)
@@ -286,16 +282,16 @@
int confflags = 0;
int confno = 0;
char confstr[80] = "", *tmp = NULL;
- struct ast_channel *tempchan = NULL, *lastchan = NULL, *ichan = NULL;
+ struct ast_channel *tempchan = NULL, *lastchan = NULL,*ichan = NULL;
struct ast_frame *f;
char *desired_group;
- int input = 0, search_group = 0;
-
+ int input=0,search_group=0;
+
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
-
+
desired_group = ast_strdupa(data);
- if (!ast_strlen_zero(desired_group)) {
+ if(!ast_strlen_zero(desired_group)) {
ast_verb(3, "Scanning for group %s\n", desired_group);
search_group = 1;
}
@@ -303,7 +299,7 @@
for (;;) {
if (ast_waitfor(chan, 100) < 0)
break;
-
+
f = ast_read(chan);
if (!f)
break;
@@ -317,16 +313,15 @@
ichan = get_dahdi_channel_locked(input);
input = 0;
}
-
+
tempchan = ichan ? ichan : ast_channel_walk_locked(tempchan);
-
- if (!tempchan && !lastchan) {
+
+ if ( !tempchan && !lastchan )
break;
- }
-
+
if (tempchan && search_group) {
const char *mygroup;
- if ((mygroup = pbx_builtin_getvar_helper(tempchan, "GROUP")) && (!strcmp(mygroup, desired_group))) {
+ if((mygroup = pbx_builtin_getvar_helper(tempchan, "GROUP")) && (!strcmp(mygroup, desired_group))) {
ast_verb(3, "Found Matching Channel %s in group %s\n", tempchan->name, desired_group);
} else {
ast_channel_unlock(tempchan);
@@ -334,35 +329,26 @@
continue;
}
}
- if (tempchan && (!strcmp(tempchan->tech->type, "DAHDI")) && (tempchan != chan)) {
+ if (tempchan && (!strcmp(tempchan->tech->type, "DAHDI")) && (tempchan != chan) ) {
ast_verb(3, "DAHDI channel %s is in-use, monitoring...\n", tempchan->name);
ast_copy_string(confstr, tempchan->name, sizeof(confstr));
ast_channel_unlock(tempchan);
- if ((tmp = strchr(confstr, '-'))) {
+ if ((tmp = strchr(confstr,'-'))) {
*tmp = '\0';
}
- confno = atoi(strchr(confstr, '/') + 1);
+ confno = atoi(strchr(confstr,'/') + 1);
ast_stopstream(chan);
ast_say_number(chan, confno, AST_DIGIT_ANY, chan->language, (char *) NULL);
res = conf_run(chan, confno, confflags);
- if (res < 0) {
- break;
- }
+ if (res<0) break;
input = res;
- } else if (tempchan) {
+ } else if (tempchan)
ast_channel_unlock(tempchan);
- }
lastchan = tempchan;
}
return res;
}
-static int conf_exec_warn(struct ast_channel *chan, void *data)
-{
- ast_log(LOG_WARNING, "Use of the command %s is deprecated, please use %s instead.\n", deprecated_app, app);
- return conf_exec(chan, data);
-}
-
static int unload_module(void)
{
return ast_unregister_application(app);
@@ -370,7 +356,6 @@
static int load_module(void)
{
- ast_register_application(deprecated_app, conf_exec_warn, synopsis, descrip);
return ((ast_register_application(app, conf_exec, synopsis, descrip)) ? AST_MODULE_LOAD_FAILURE : AST_MODULE_LOAD_SUCCESS);
}
Modified: branches/1.6.0/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_dial.c?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/apps/app_dial.c (original)
+++ branches/1.6.0/apps/app_dial.c Tue Jun 17 13:08:09 2008
@@ -168,8 +168,8 @@
" o - Specify that the CallerID that was present on the *calling* channel\n"
" be set as the CallerID on the *called* channel. This was the\n"
" behavior of Asterisk 1.0 and earlier.\n"
-" O([x]) - \"Operator Services\" mode (Zaptel channel to Zaptel channel\n"
-" only, if specified on non-Zaptel interface, it will be ignored).\n"
+" O([x]) - \"Operator Services\" mode (DAHDI channel to DAHDI channel\n"
+" only, if specified on non-DAHDI interface, it will be ignored).\n"
" When the destination answers (presumably an operator services\n"
" station), the originator no longer has control of their line.\n"
" They may hang up, but the switch will not release their line\n"
@@ -1873,9 +1873,9 @@
res = -1;
goto done;
}
- if (opermode && !strncmp(chan->name, "Zap", 3) && !strncmp(peer->name, "Zap", 3)) {
- /* what's this special handling for Zap <-> Zap ?
- * A: Zap to Zap calls are natively bridged at the kernel driver
+ if (opermode && !strncmp(chan->tech->type, "DAHDI", 3) && !strncmp(peer->name, "DAHDI", 3)) {
+ /* what's this special handling for dahdi <-> dahdi ?
+ * A: dahdi to dahdi calls are natively bridged at the kernel driver
* level, so we need to ensure that this mode gets propagated
* all the way down. */
struct oprmode oprmode;
Modified: branches/1.6.0/apps/app_flash.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_flash.c?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/apps/app_flash.c (original)
+++ branches/1.6.0/apps/app_flash.c Tue Jun 17 13:08:09 2008
@@ -18,7 +18,7 @@
/*! \file
*
- * \brief App to flash a zap trunk
+ * \brief App to flash a DAHDI trunk
*
* \author Mark Spencer <markster at digium.com>
*
@@ -26,14 +26,14 @@
*/
/*** MODULEINFO
- <depend>zaptel</depend>
+ <depend>dahdi</depend>
***/
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-#include "asterisk/zapata.h"
+#include "asterisk/dahdi.h"
#include "asterisk/lock.h"
#include "asterisk/file.h"
@@ -45,22 +45,22 @@
static char *app = "Flash";
-static char *synopsis = "Flashes a Zap Trunk";
+static char *synopsis = "Flashes a DAHDI Trunk";
static char *descrip =
-"Performs a flash on a zap trunk. This can be used\n"
+"Performs a flash on a DAHDI trunk. This can be used\n"
"to access features provided on an incoming analogue circuit\n"
"such as conference and call waiting. Use with SendDTMF() to\n"
"perform external transfers\n";
-static inline int zt_wait_event(int fd)
+static inline int dahdi_wait_event(int fd)
{
- /* Avoid the silly zt_waitevent which ignores a bunch of events */
+ /* Avoid the silly dahdi_waitevent which ignores a bunch of events */
int i,j=0;
- i = ZT_IOMUX_SIGEVENT;
- if (ioctl(fd, ZT_IOMUX, &i) == -1) return -1;
- if (ioctl(fd, ZT_GETEVENT, &j) == -1) return -1;
+ i = DAHDI_IOMUX_SIGEVENT;
+ if (ioctl(fd, DAHDI_IOMUX, &i) == -1) return -1;
+ if (ioctl(fd, DAHDI_GETEVENT, &j) == -1) return -1;
return j;
}
@@ -68,23 +68,23 @@
{
int res = -1;
int x;
- struct zt_params ztp;
+ struct dahdi_params dahdip;
- if (strcasecmp(chan->tech->type, "Zap")) {
- ast_log(LOG_WARNING, "%s is not a Zap channel\n", chan->name);
+ if (strcasecmp(chan->tech->type, "DAHDI")) {
+ ast_log(LOG_WARNING, "%s is not a DAHDI channel\n", chan->name);
return -1;
}
- memset(&ztp, 0, sizeof(ztp));
- res = ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp);
+ memset(&dahdip, 0, sizeof(dahdip));
+ res = ioctl(chan->fds[0], DAHDI_GET_PARAMS, &dahdip);
if (!res) {
- if (ztp.sigtype & __ZT_SIG_FXS) {
- x = ZT_FLASH;
- res = ioctl(chan->fds[0], ZT_HOOK, &x);
+ if (dahdip.sigtype & __DAHDI_SIG_FXS) {
+ x = DAHDI_FLASH;
+ res = ioctl(chan->fds[0], DAHDI_HOOK, &x);
if (!res || (errno == EINPROGRESS)) {
if (res) {
/* Wait for the event to finish */
- zt_wait_event(chan->fds[0]);
+ dahdi_wait_event(chan->fds[0]);
}
res = ast_safe_sleep(chan, 1000);
ast_verb(3, "Flashed channel %s\n", chan->name);
Modified: branches/1.6.0/apps/app_getcpeid.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_getcpeid.c?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/apps/app_getcpeid.c (original)
+++ branches/1.6.0/apps/app_getcpeid.c Tue Jun 17 13:08:09 2008
@@ -42,7 +42,7 @@
static char *descrip =
" GetCPEID(): Obtains and displays ADSI CPE ID and other information in order\n"
-"to properly setup zapata.conf for on-hook operations.\n";
+"to properly setup dahdi.conf for on-hook operations.\n";
static int cpeid_setstatus(struct ast_channel *chan, char *stuff[], int voice)
Modified: branches/1.6.0/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/apps/app_meetme.c?view=diff&rev=123332&r1=123331&r2=123332
==============================================================================
--- branches/1.6.0/apps/app_meetme.c (original)
+++ branches/1.6.0/apps/app_meetme.c Tue Jun 17 13:08:09 2008
@@ -30,14 +30,14 @@
*/
/*** MODULEINFO
- <depend>zaptel</depend>
+ <depend>dahdi</depend>
***/
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-#include "asterisk/zapata.h"
+#include "asterisk/dahdi.h"
#include "asterisk/lock.h"
#include "asterisk/file.h"
@@ -229,15 +229,15 @@
"conference. If the conference number is omitted, the user will be prompted\n"
"to enter one. User can exit the conference by hangup, or if the 'p' option\n"
"is specified, by pressing '#'.\n"
-"Please note: The Zaptel kernel modules and at least one hardware driver (or ztdummy)\n"
-" must be present for conferencing to operate properly. In addition, the chan_zap\n"
+"Please note: The DAHDI kernel modules and at least one hardware driver (or dahdi_dummy)\n"
+" must be present for conferencing to operate properly. In addition, the chan_dahdi\n"
" channel driver must be loaded for the 'i' and 'r' options to operate at all.\n\n"
"The option string may contain zero or more of the following characters:\n"
" 'a' -- set admin mode\n"
" 'A' -- set marked mode\n"
" 'b' -- run AGI script specified in ${MEETME_AGI_BACKGROUND}\n"
" Default: conf-background.agi (Note: This does not work with\n"
-" non-Zap channels in the same conference)\n"
+" non-DAHDI channels in the same conference)\n"
" 'c' -- announce user(s) count on joining a conference\n"
" 'C' -- continue in dialplan when kicked out of conference\n"
" 'd' -- dynamically add conference\n"
@@ -362,7 +362,7 @@
struct ast_channel *chan; /*!< Announcements channel */
struct ast_channel *lchan; /*!< Listen/Record channel */
int fd; /*!< Announcements fd */
- int zapconf; /*!< Zaptel Conf # */
+ int dahdiconf; /*!< DAHDI Conf # */
int users; /*!< Number of active users */
int markedusers; /*!< Number of marked users */
int maxusers; /*!< Participant limit if scheduled */
@@ -404,7 +404,7 @@
int adminflags; /*!< Flags set by the Admin */
struct ast_channel *chan; /*!< Connected channel */
int talking; /*!< Is user talking */
- int zapchannel; /*!< Is a Zaptel channel */
+ int dahdichannel; /*!< Is a DAHDI channel */
char usrvalue[50]; /*!< Custom User Value */
char namerecloc[PATH_MAX]; /*!< Name Recorded file Location */
time_t jointime; /*!< Time the user joined the conference */
@@ -640,8 +640,8 @@
while (len) {
if (block) {
- x = ZT_IOMUX_WRITE | ZT_IOMUX_SIGEVENT;
- res = ioctl(fd, ZT_IOMUX, &x);
+ x = DAHDI_IOMUX_WRITE | DAHDI_IOMUX_SIGEVENT;
+ res = ioctl(fd, DAHDI_IOMUX, &x);
} else
res = 0;
if (res >= 0)
@@ -802,7 +802,7 @@
static struct ast_conference *build_conf(char *confno, char *pin, char *pinadmin, int make, int dynamic, int refcount, const struct ast_channel *chan)
{
struct ast_conference *cnf;
- struct zt_confinfo ztc = { 0, };
+ struct dahdi_confinfo dahdic = { 0, };
int confno_int = 0;
AST_LIST_LOCK(&confs);
@@ -828,11 +828,11 @@
ast_copy_string(cnf->pinadmin, pinadmin, sizeof(cnf->pinadmin));
ast_copy_string(cnf->uniqueid, chan->uniqueid, sizeof(cnf->uniqueid));
- /* Setup a new zap conference */
- ztc.confno = -1;
- ztc.confmode = ZT_CONF_CONFANN | ZT_CONF_CONFANNMON;
- cnf->fd = open("/dev/zap/pseudo", O_RDWR);
- if (cnf->fd < 0 || ioctl(cnf->fd, ZT_SETCONF, &ztc)) {
+ /* Setup a new dahdi conference */
+ dahdic.confno = -1;
+ dahdic.confmode = DAHDI_CONF_CONFANN | DAHDI_CONF_CONFANNMON;
+ cnf->fd = open("/dev/dahdi/pseudo", O_RDWR);
+ if (cnf->fd < 0 || ioctl(cnf->fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Unable to open pseudo device\n");
if (cnf->fd >= 0)
close(cnf->fd);
@@ -841,17 +841,17 @@
goto cnfout;
}
- cnf->zapconf = ztc.confno;
+ cnf->dahdiconf = dahdic.confno;
/* Setup a new channel for playback of audio files */
- cnf->chan = ast_request("zap", AST_FORMAT_SLINEAR, "pseudo", NULL);
+ cnf->chan = ast_request("DAHDI", AST_FORMAT_SLINEAR, "pseudo", NULL);
if (cnf->chan) {
ast_set_read_format(cnf->chan, AST_FORMAT_SLINEAR);
ast_set_write_format(cnf->chan, AST_FORMAT_SLINEAR);
- ztc.chan = 0;
- ztc.confno = cnf->zapconf;
- ztc.confmode = ZT_CONF_CONFANN | ZT_CONF_CONFANNMON;
- if (ioctl(cnf->chan->fds[0], ZT_SETCONF, &ztc)) {
+ dahdic.chan = 0;
+ dahdic.confno = cnf->dahdiconf;
+ dahdic.confmode = DAHDI_CONF_CONFANN | DAHDI_CONF_CONFANNMON;
+ if (ioctl(cnf->chan->fds[0], DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference\n");
if (cnf->chan)
ast_hangup(cnf->chan);
@@ -868,7 +868,7 @@
cnf->start = time(NULL);
cnf->maxusers = 0x7fffffff;
cnf->isdynamic = dynamic ? 1 : 0;
- ast_verb(3, "Created MeetMe conference %d for conference '%s'\n", cnf->zapconf, cnf->confno);
+ ast_verb(3, "Created MeetMe conference %d for conference '%s'\n", cnf->dahdiconf, cnf->confno);
AST_LIST_INSERT_HEAD(&confs, cnf, list);
/* Reserve conference number in map */
@@ -1310,8 +1310,8 @@
}
/* flush any data sitting in the pseudo channel */
- x = ZT_FLUSH_ALL;
- if (ioctl(fd, ZT_FLUSH, &x))
+ x = DAHDI_FLUSH_ALL;
+ if (ioctl(fd, DAHDI_FLUSH, &x))
ast_log(LOG_WARNING, "Error flushing channel\n");
}
@@ -1480,7 +1480,7 @@
struct ast_conf_user *user = NULL;
struct ast_conf_user *usr = NULL;
int fd;
- struct zt_confinfo ztc, ztc_empty;
+ struct dahdi_confinfo dahdic, dahdic_empty;
struct ast_frame *f;
struct ast_channel *c;
struct ast_frame fr;
@@ -1489,7 +1489,7 @@
int nfds;
int res;
int flags;
- int retryzap;
+ int retrydahdi;
int origfd;
int musiconhold = 0;
int firstpass = 0;
@@ -1516,7 +1516,7 @@
char members[10] = "";
int dtmf, opt_waitmarked_timeout = 0;
time_t timeout = 0;
- ZT_BUFFERINFO bi;
+ DAHDI_BUFFERINFO bi;
char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
char *buf = __buf + AST_FRIENDLY_OFFSET;
char *exitkeys = NULL;
@@ -1625,13 +1625,13 @@
}
ast_mutex_lock(&conf->recordthreadlock);
- if ((conf->recordthread == AST_PTHREADT_NULL) && (confflags & CONFFLAG_RECORDCONF) && ((conf->lchan = ast_request("zap", AST_FORMAT_SLINEAR, "pseudo", NULL)))) {
+ if ((conf->recordthread == AST_PTHREADT_NULL) && (confflags & CONFFLAG_RECORDCONF) && ((conf->lchan = ast_request("DAHDI", AST_FORMAT_SLINEAR, "pseudo", NULL)))) {
ast_set_read_format(conf->lchan, AST_FORMAT_SLINEAR);
ast_set_write_format(conf->lchan, AST_FORMAT_SLINEAR);
- ztc.chan = 0;
- ztc.confno = conf->zapconf;
- ztc.confmode = ZT_CONF_CONFANN | ZT_CONF_CONFANNMON;
- if (ioctl(conf->lchan->fds[0], ZT_SETCONF, &ztc)) {
+ dahdic.chan = 0;
+ dahdic.confno = conf->dahdiconf;
+ dahdic.confmode = DAHDI_CONF_CONFANN | DAHDI_CONF_CONFANNMON;
+ if (ioctl(conf->lchan->fds[0], DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error starting listen channel\n");
ast_hangup(conf->lchan);
conf->lchan = NULL;
@@ -1805,13 +1805,13 @@
goto outrun;
}
- retryzap = (strcasecmp(chan->tech->type, "Zap") || (chan->audiohooks || chan->monitor) ? 1 : 0);
- user->zapchannel = !retryzap;
-
- zapretry:
+ retrydahdi = (strcasecmp(chan->tech->type, "DAHDI") || (chan->audiohooks || chan->monitor) ? 1 : 0);
+ user->dahdichannel = !retrydahdi;
+
+ dahdiretry:
origfd = chan->fds[0];
- if (retryzap) {
- fd = open("/dev/zap/pseudo", O_RDWR);
+ if (retrydahdi) {
+ fd = open("/dev/dahdi/pseudo", O_RDWR);
if (fd < 0) {
ast_log(LOG_WARNING, "Unable to open pseudo channel: %s\n", strerror(errno));
goto outrun;
@@ -1832,16 +1832,16 @@
/* Setup buffering information */
memset(&bi, 0, sizeof(bi));
bi.bufsize = CONF_SIZE / 2;
- bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
- bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
+ bi.txbufpolicy = DAHDI_POLICY_IMMEDIATE;
+ bi.rxbufpolicy = DAHDI_POLICY_IMMEDIATE;
bi.numbufs = audio_buffers;
- if (ioctl(fd, ZT_SET_BUFINFO, &bi)) {
+ if (ioctl(fd, DAHDI_SET_BUFINFO, &bi)) {
ast_log(LOG_WARNING, "Unable to set buffering information: %s\n", strerror(errno));
close(fd);
goto outrun;
}
x = 1;
- if (ioctl(fd, ZT_SETLINEAR, &x)) {
+ if (ioctl(fd, DAHDI_SETLINEAR, &x)) {
ast_log(LOG_WARNING, "Unable to set linear mode: %s\n", strerror(errno));
close(fd);
goto outrun;
@@ -1852,27 +1852,27 @@
fd = chan->fds[0];
nfds = 0;
}
- memset(&ztc, 0, sizeof(ztc));
- memset(&ztc_empty, 0, sizeof(ztc_empty));
+ memset(&dahdic, 0, sizeof(dahdic));
+ memset(&dahdic_empty, 0, sizeof(dahdic_empty));
/* Check to see if we're in a conference... */
- ztc.chan = 0;
- if (ioctl(fd, ZT_GETCONF, &ztc)) {
+ dahdic.chan = 0;
+ if (ioctl(fd, DAHDI_GETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error getting conference\n");
close(fd);
goto outrun;
}
- if (ztc.confmode) {
+ if (dahdic.confmode) {
/* Whoa, already in a conference... Retry... */
- if (!retryzap) {
- ast_debug(1, "Zap channel is in a conference already, retrying with pseudo\n");
- retryzap = 1;
- goto zapretry;
- }
- }
- memset(&ztc, 0, sizeof(ztc));
+ if (!retrydahdi) {
+ ast_debug(1, "DAHDI channel is in a conference already, retrying with pseudo\n");
+ retrydahdi = 1;
+ goto dahdiretry;
+ }
+ }
+ memset(&dahdic, 0, sizeof(dahdic));
/* Add us to the conference */
- ztc.chan = 0;
- ztc.confno = conf->zapconf;
+ dahdic.chan = 0;
+ dahdic.confno = conf->dahdiconf;
ast_mutex_lock(&conf->playlock);
@@ -1886,21 +1886,21 @@
}
if (confflags & CONFFLAG_WAITMARKED && !conf->markedusers)
- ztc.confmode = ZT_CONF_CONF;
+ dahdic.confmode = DAHDI_CONF_CONF;
else if (confflags & CONFFLAG_MONITOR)
- ztc.confmode = ZT_CONF_CONFMON | ZT_CONF_LISTENER;
+ dahdic.confmode = DAHDI_CONF_CONFMON | DAHDI_CONF_LISTENER;
else if (confflags & CONFFLAG_TALKER)
- ztc.confmode = ZT_CONF_CONF | ZT_CONF_TALKER;
+ dahdic.confmode = DAHDI_CONF_CONF | DAHDI_CONF_TALKER;
else
- ztc.confmode = ZT_CONF_CONF | ZT_CONF_TALKER | ZT_CONF_LISTENER;
-
- if (ioctl(fd, ZT_SETCONF, &ztc)) {
+ dahdic.confmode = DAHDI_CONF_CONF | DAHDI_CONF_TALKER | DAHDI_CONF_LISTENER;
+
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
ast_mutex_unlock(&conf->playlock);
goto outrun;
}
- ast_debug(1, "Placed channel %s in ZAP conf %d\n", chan->name, conf->zapconf);
+ ast_debug(1, "Placed channel %s in ZAP conf %d\n", chan->name, conf->dahdiconf);
if (!sent_event) {
manager_event(EVENT_FLAG_CALL, "MeetmeJoin",
@@ -1937,8 +1937,8 @@
if (!agifile)
agifile = agifiledefault;
- if (user->zapchannel) {
- /* Set CONFMUTE mode on Zap channel to mute DTMF tones */
+ if (user->dahdichannel) {
+ /* Set CONFMUTE mode on DAHDI channel to mute DTMF tones */
x = 1;
ast_channel_setoption(chan, AST_OPTION_TONE_VERIFY, &x, sizeof(char), 0);
}
@@ -1951,14 +1951,14 @@
ast_log(LOG_WARNING, "Could not find application (agi)\n");
ret = -2;
}
- if (user->zapchannel) {
- /* Remove CONFMUTE mode on Zap channel */
+ if (user->dahdichannel) {
+ /* Remove CONFMUTE mode on DAHDI channel */
x = 0;
ast_channel_setoption(chan, AST_OPTION_TONE_VERIFY, &x, sizeof(char), 0);
}
} else {
- if (user->zapchannel && (confflags & CONFFLAG_STARMENU)) {
- /* Set CONFMUTE mode on Zap channel to mute DTMF tones when the menu is enabled */
+ if (user->dahdichannel && (confflags & CONFFLAG_STARMENU)) {
+ /* Set CONFMUTE mode on DAHDI channel to mute DTMF tones when the menu is enabled */
x = 1;
ast_channel_setoption(chan, AST_OPTION_TONE_VERIFY, &x, sizeof(char), 0);
}
@@ -2109,8 +2109,8 @@
ret = 0;
break;
} else {
- ztc.confmode = ZT_CONF_CONF;
- if (ioctl(fd, ZT_SETCONF, &ztc)) {
+ dahdic.confmode = DAHDI_CONF_CONF;
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
goto outrun;
@@ -2125,12 +2125,12 @@
/* Marked user entered, so cancel timeout */
timeout = 0;
if (confflags & CONFFLAG_MONITOR)
- ztc.confmode = ZT_CONF_CONFMON | ZT_CONF_LISTENER;
+ dahdic.confmode = DAHDI_CONF_CONFMON | DAHDI_CONF_LISTENER;
[... 17507 lines stripped ...]
More information about the asterisk-commits
mailing list