[asterisk-commits] jpeeler: trunk r122234 - in /trunk: ./ apps/ build_tools/ cdr/ channels/ code...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jun 12 12:27:56 CDT 2008
Author: jpeeler
Date: Thu Jun 12 12:27:55 2008
New Revision: 122234
URL: http://svn.digium.com/view/asterisk?view=rev&rev=122234
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:
trunk/apps/app_dahdibarge.c
- copied unchanged from r122230, team/jpeeler/chan_dahdi/apps/app_dahdibarge.c
trunk/apps/app_dahdiras.c
- copied unchanged from r122230, team/jpeeler/chan_dahdi/apps/app_dahdiras.c
trunk/apps/app_dahdiscan.c
- copied unchanged from r122230, team/jpeeler/chan_dahdi/apps/app_dahdiscan.c
trunk/channels/chan_dahdi.c
- copied unchanged from r122230, team/jpeeler/chan_dahdi/channels/chan_dahdi.c
trunk/codecs/codec_dahdi.c
- copied unchanged from r122230, team/jpeeler/chan_dahdi/codecs/codec_dahdi.c
trunk/include/asterisk/dahdi.h
- copied unchanged from r122230, team/jpeeler/chan_dahdi/include/asterisk/dahdi.h
Removed:
trunk/apps/app_fax.c
trunk/apps/app_zapbarge.c
trunk/apps/app_zapras.c
trunk/apps/app_zapscan.c
trunk/channels/chan_zap.c
trunk/codecs/codec_zap.c
trunk/include/asterisk/zapata.h
Modified:
trunk/ (props changed)
trunk/Makefile
trunk/README
trunk/apps/app_chanisavail.c
trunk/apps/app_chanspy.c
trunk/apps/app_dial.c
trunk/apps/app_flash.c
trunk/apps/app_getcpeid.c
trunk/apps/app_meetme.c
trunk/apps/app_page.c
trunk/apps/app_queue.c
trunk/apps/app_rpt.c
trunk/build_tools/menuselect-deps.in
trunk/cdr/cdr_csv.c
trunk/channels/chan_iax2.c
trunk/channels/chan_mgcp.c
trunk/configs/extensions.ael.sample
trunk/configs/extensions.conf.sample
trunk/configs/extensions.lua.sample
trunk/configs/meetme.conf.sample
trunk/configs/muted.conf.sample
trunk/configs/queues.conf.sample
trunk/configs/rpt.conf.sample
trunk/configs/sla.conf.sample
trunk/configs/smdi.conf.sample
trunk/configs/users.conf.sample
trunk/configs/vpb.conf.sample
trunk/configs/zapata.conf.sample
trunk/configure
trunk/configure.ac
trunk/contrib/init.d/rc.mandrake.asterisk
trunk/contrib/init.d/rc.mandrake.zaptel
trunk/contrib/init.d/rc.suse.asterisk
trunk/contrib/scripts/autosupport
trunk/contrib/scripts/loadtest.tcl
trunk/contrib/utils/zones2indications.c
trunk/doc/asterisk.8
trunk/doc/asterisk.sgml
trunk/doc/backtrace.txt
trunk/doc/janitor-projects.txt
trunk/doc/manager_1_1.txt
trunk/doc/osp.txt
trunk/doc/sms.txt
trunk/doc/ss7.txt
trunk/doc/tex/ael.tex
trunk/doc/tex/app-sms.tex
trunk/doc/tex/backtrace.tex
trunk/doc/tex/channelvariables.tex
trunk/doc/tex/configuration.tex
trunk/doc/tex/enum.tex
trunk/doc/tex/hardware.tex
trunk/doc/tex/localchannel.tex
trunk/doc/tex/manager.tex
trunk/doc/tex/privacy.tex
trunk/doc/tex/queues-with-callback-members.tex
trunk/doc/tex/security.tex
trunk/doc/tex/sla.tex
trunk/include/asterisk/autoconfig.h.in
trunk/include/asterisk/channel.h
trunk/include/asterisk/doxyref.h
trunk/include/asterisk/dsp.h
trunk/include/asterisk/options.h
trunk/main/asterisk.c
trunk/main/channel.c
trunk/main/features.c
trunk/main/file.c
trunk/main/loader.c
trunk/makeopts.in
trunk/pbx/pbx_config.c
trunk/res/res_musiconhold.c
trunk/utils/extconf.c
Propchange: trunk/
('automerge' removed)
Propchange: trunk/
('automerge-email' removed)
Propchange: trunk/
('svnmerge-integrated' removed)
Modified: trunk/Makefile
URL: http://svn.digium.com/view/asterisk/trunk/Makefile?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/Makefile (original)
+++ trunk/Makefile Thu Jun 12 12:27:55 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: trunk/README
URL: http://svn.digium.com/view/asterisk/trunk/README?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/README (original)
+++ trunk/README Thu Jun 12 12:27:55 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: trunk/apps/app_chanisavail.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_chanisavail.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_chanisavail.c (original)
+++ trunk/apps/app_chanisavail.c Thu Jun 12 12:27:55 2008
@@ -75,7 +75,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: trunk/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_chanspy.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_chanspy.c (original)
+++ trunk/apps/app_chanspy.c Thu Jun 12 12:27:55 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
#define NUM_SPYGROUPS 128
@@ -587,6 +588,7 @@
const char *exten, const char *context, struct chanspy_ds *chanspy_ds)
{
struct ast_channel *next;
+ char channel_name[AST_CHANNEL_NAME];
redo:
if (!ast_strlen_zero(spec))
@@ -599,7 +601,8 @@
if (!next)
return NULL;
- if (!strncmp(next->name, "Zap/pseudo", 10)) {
+ 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 (next == chan) {
Modified: trunk/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_dial.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_dial.c (original)
+++ trunk/apps/app_dial.c Thu Jun 12 12:27:55 2008
@@ -171,8 +171,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"
@@ -1895,9 +1895,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: trunk/apps/app_flash.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_flash.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_flash.c (original)
+++ trunk/apps/app_flash.c Thu Jun 12 12:27:55 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: trunk/apps/app_getcpeid.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_getcpeid.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_getcpeid.c (original)
+++ trunk/apps/app_getcpeid.c Thu Jun 12 12:27:55 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: trunk/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_meetme.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_meetme.c (original)
+++ trunk/apps/app_meetme.c Thu Jun 12 12:27:55 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"
@@ -228,15 +228,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"
@@ -361,7 +361,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 */
@@ -403,7 +403,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 */
@@ -639,8 +639,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)
@@ -801,7 +801,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);
@@ -827,11 +827,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);
@@ -840,17 +840,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);
@@ -867,7 +867,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 */
@@ -1309,8 +1309,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");
}
@@ -1484,7 +1484,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;
@@ -1493,7 +1493,7 @@
int nfds;
int res;
int flags;
- int retryzap;
+ int retrydahdi;
int origfd;
int musiconhold = 0;
int firstpass = 0;
@@ -1520,7 +1520,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;
@@ -1645,13 +1645,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;
@@ -1832,13 +1832,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;
@@ -1859,16 +1859,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;
@@ -1879,27 +1879,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);
@@ -1913,21 +1913,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",
@@ -1968,8 +1968,8 @@
}
ast_channel_unlock(chan);
- 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);
}
@@ -1981,14 +1981,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);
}
@@ -2139,8 +2139,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;
@@ -2155,12 +2155,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;
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);
goto outrun;
@@ -2204,9 +2204,9 @@
/* Check if my modes have changed */
/* If I should be muted but am still talker, mute me */
- if ((user->adminflags & (ADMINFLAG_MUTED | ADMINFLAG_SELFMUTED)) && (ztc.confmode & ZT_CONF_TALKER)) {
- ztc.confmode ^= ZT_CONF_TALKER;
- if (ioctl(fd, ZT_SETCONF, &ztc)) {
+ if ((user->adminflags & (ADMINFLAG_MUTED | ADMINFLAG_SELFMUTED)) && (dahdic.confmode & DAHDI_CONF_TALKER)) {
+ dahdic.confmode ^= DAHDI_CONF_TALKER;
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference - Un/Mute \n");
ret = -1;
break;
@@ -2222,9 +2222,9 @@
}
/* If I should be un-muted but am not talker, un-mute me */
- if (!(user->adminflags & (ADMINFLAG_MUTED | ADMINFLAG_SELFMUTED)) && !(confflags & CONFFLAG_MONITOR) && !(ztc.confmode & ZT_CONF_TALKER)) {
- ztc.confmode |= ZT_CONF_TALKER;
- if (ioctl(fd, ZT_SETCONF, &ztc)) {
+ if (!(user->adminflags & (ADMINFLAG_MUTED | ADMINFLAG_SELFMUTED)) && !(confflags & CONFFLAG_MONITOR) && !(dahdic.confmode & DAHDI_CONF_TALKER)) {
+ dahdic.confmode |= DAHDI_CONF_TALKER;
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference - Un/Mute \n");
ret = -1;
break;
@@ -2283,16 +2283,16 @@
if (c) {
char dtmfstr[2] = "";
- if (c->fds[0] != origfd || (user->zapchannel && (c->audiohooks || c->monitor))) {
+ if (c->fds[0] != origfd || (user->dahdichannel && (c->audiohooks || c->monitor))) {
if (using_pseudo) {
/* Kill old pseudo */
close(fd);
using_pseudo = 0;
}
ast_debug(1, "Ooh, something swapped out under us, starting over\n");
- retryzap = (strcasecmp(c->tech->type, "Zap") || (c->audiohooks || c->monitor) ? 1 : 0);
- user->zapchannel = !retryzap;
- goto zapretry;
+ retrydahdi = (strcasecmp(c->tech->type, "DAHDI") || (c->audiohooks || c->monitor) ? 1 : 0);
+ user->dahdichannel = !retrydahdi;
+ goto dahdiretry;
}
if ((confflags & CONFFLAG_MONITOR) || (user->adminflags & (ADMINFLAG_MUTED | ADMINFLAG_SELFMUTED)))
f = ast_read_noaudio(c);
@@ -2358,7 +2358,7 @@
} else if (((f->frametype == AST_FRAME_DTMF) && (f->subclass == '*') && (confflags & CONFFLAG_STARMENU)) || ((f->frametype == AST_FRAME_DTMF) && menu_active)) {
if (confflags & CONFFLAG_PASS_DTMF)
conf_queue_dtmf(conf, user, f);
- if (ioctl(fd, ZT_SETCONF, &ztc_empty)) {
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic_empty)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
ast_frfree(f);
@@ -2513,7 +2513,7 @@
if (musiconhold)
conf_start_moh(chan, optargs[OPT_ARG_MOH_CLASS]);
- if (ioctl(fd, ZT_SETCONF, &ztc)) {
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
ast_frfree(f);
@@ -2625,10 +2625,10 @@
close(fd);
else {
/* Take out of conference */
- ztc.chan = 0;
- ztc.confno = 0;
- ztc.confmode = 0;
- if (ioctl(fd, ZT_SETCONF, &ztc)) {
+ dahdic.chan = 0;
+ dahdic.confno = 0;
+ dahdic.confmode = 0;
+ if (ioctl(fd, DAHDI_SETCONF, &dahdic)) {
ast_log(LOG_WARNING, "Error setting conference\n");
}
}
@@ -2834,13 +2834,13 @@
if (confflags && !cnf->chan &&
!ast_test_flag(confflags, CONFFLAG_QUIET) &&
ast_test_flag(confflags, CONFFLAG_INTROUSER)) {
- ast_log(LOG_WARNING, "No Zap channel available for conference, user introduction disabled (is chan_zap loaded?)\n");
+ ast_log(LOG_WARNING, "No DAHDI channel available for conference, user introduction disabled (is chan_dahdi loaded?)\n");
ast_clear_flag(confflags, CONFFLAG_INTROUSER);
}
if (confflags && !cnf->chan &&
ast_test_flag(confflags, CONFFLAG_RECORDCONF)) {
- ast_log(LOG_WARNING, "No Zap channel available for conference, conference recording disabled (is chan_zap loaded?)\n");
+ ast_log(LOG_WARNING, "No DAHDI channel available for conference, conference recording disabled (is chan_dahdi loaded?)\n");
ast_clear_flag(confflags, CONFFLAG_RECORDCONF);
}
}
@@ -2932,13 +2932,13 @@
if (confflags && !cnf->chan &&
!ast_test_flag(confflags, CONFFLAG_QUIET) &&
ast_test_flag(confflags, CONFFLAG_INTROUSER)) {
- ast_log(LOG_WARNING, "No Zap channel available for conference, user introduction disabled (is chan_zap loaded?)\n");
+ ast_log(LOG_WARNING, "No DAHDI channel available for conference, user introduction disabled (is chan_dahdi loaded?)\n");
ast_clear_flag(confflags, CONFFLAG_INTROUSER);
}
if (confflags && !cnf->chan &&
ast_test_flag(confflags, CONFFLAG_RECORDCONF)) {
- ast_log(LOG_WARNING, "No Zap channel available for conference, conference recording disabled (is chan_zap loaded?)\n");
+ ast_log(LOG_WARNING, "No DAHDI channel available for conference, conference recording disabled (is chan_dahdi loaded?)\n");
ast_clear_flag(confflags, CONFFLAG_RECORDCONF);
}
}
@@ -3722,9 +3722,9 @@
if ((sscanf(val, "%d", &audio_buffers) != 1)) {
ast_log(LOG_WARNING, "audiobuffers setting must be a number, not '%s'\n", val);
audio_buffers = DEFAULT_AUDIO_BUFFERS;
- } else if ((audio_buffers < ZT_DEFAULT_NUM_BUFS) || (audio_buffers > ZT_MAX_NUM_BUFS)) {
+ } else if ((audio_buffers < DAHDI_DEFAULT_NUM_BUFS) || (audio_buffers > DAHDI_MAX_NUM_BUFS)) {
ast_log(LOG_WARNING, "audiobuffers setting must be between %d and %d\n",
- ZT_DEFAULT_NUM_BUFS, ZT_MAX_NUM_BUFS);
+ DAHDI_DEFAULT_NUM_BUFS, DAHDI_MAX_NUM_BUFS);
audio_buffers = DEFAULT_AUDIO_BUFFERS;
}
if (audio_buffers != DEFAULT_AUDIO_BUFFERS)
Modified: trunk/apps/app_page.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_page.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_page.c (original)
+++ trunk/apps/app_page.c Thu Jun 12 12:27:55 2008
@@ -26,7 +26,7 @@
*/
/*** MODULEINFO
- <depend>zaptel</depend>
+ <depend>dahdi</depend>
<depend>app_meetme</depend>
***/
Modified: trunk/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_queue.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_queue.c (original)
+++ trunk/apps/app_queue.c Thu Jun 12 12:27:55 2008
@@ -529,7 +529,6 @@
static void update_realtime_members(struct call_queue *q);
static int set_member_paused(const char *queuename, const char *interface, const char *reason, int paused);
-static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan);
/*! \brief sets the QUEUESTATUS channel variable */
static void set_queue_result(struct ast_channel *chan, enum queue_result res)
{
@@ -3043,82 +3042,6 @@
qe->parent->eventwhencalled == QUEUE_EVENT_VARIABLES ? vars2manager(qe->chan, vars, vars_len) : "");
}
-struct queue_transfer_ds {
- struct queue_ent *qe;
- struct member *member;
- int starttime;
-};
-
-/*! \brief a datastore used to help correctly log attended transfers of queue callers
- */
-static const struct ast_datastore_info queue_transfer_info = {
- .type = "queue_transfer",
- .chan_fixup = queue_transfer_fixup,
-};
-
-/*! \brief Log an attended transfer when a queue caller channel is masqueraded
- *
- * When a caller is masqueraded, we want to log a transfer. Fixup time is the closest we can come to when
- * the actual transfer occurs. This happens during the masquerade after datastores are moved from old_chan
- * to new_chan. This is why new_chan is referenced for exten, context, and datastore information.
- *
- * At the end of this, we want to remove the datastore so that this fixup function is not called on any
- * future masquerades of the caller during the current call.
- */
-static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan)
-{
- struct queue_transfer_ds *qtds = data;
- struct queue_ent *qe = qtds->qe;
- struct member *member = qtds->member;
- int callstart = qtds->starttime;
- struct ast_datastore *datastore;
-
- ast_queue_log(qe->parent->name, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld",
- new_chan->exten, new_chan->context, (long) (callstart - qe->start),
- (long) (time(NULL) - callstart));
-
- if (!(datastore = ast_channel_datastore_find(new_chan, &queue_transfer_info, NULL))) {
- ast_log(LOG_WARNING, "Can't find the queue_transfer datastore.\n");
- return;
- }
-
- ast_channel_datastore_remove(new_chan, datastore);
-}
-
-/*! \brief mechanism to tell if a queue caller was atxferred by a queue member.
- *
- * When a caller is atxferred, then the queue_transfer_info datastore
- * is removed from the channel. If it's still there after the bridge is
- * broken, then the caller was not atxferred.
- */
-static int attended_transfer_occurred(struct ast_channel *chan)
-{
- return ast_channel_datastore_find(chan, &queue_transfer_info, NULL) ? 0 : 1;
-}
-
-/*! \brief create a datastore for storing relevant info to log attended transfers in the queue_log
- */
-static void setup_transfer_datastore(struct queue_ent *qe, struct member *member, int starttime)
-{
- struct ast_datastore *ds;
- struct queue_transfer_ds qtds;
-
- ast_channel_lock(qe->chan);
- if (!(ds = ast_channel_datastore_alloc(&queue_transfer_info, NULL))) {
- ast_channel_unlock(qe->chan);
- ast_log(LOG_WARNING, "Unable to create transfer datastore. queue_log will not show attended transfer\n");
- return;
- }
-
- qtds.qe = qe;
- /* This member is refcounted in try_calling, so no need to add it here, too */
- qtds.member = member;
- qtds.starttime = starttime;
- ds->data = &qtds;
- ast_channel_datastore_add(qe->chan, ds);
- ast_channel_unlock(qe->chan);
-}
-
/*! \brief A large function which calls members, updates statistics, and bridges the caller and a member
*
* Here is the process of this function
@@ -3396,9 +3319,9 @@
/* Ah ha! Someone answered within the desired timeframe. Of course after this
we will always return with -1 so that it is hung up properly after the
conversation. */
- if (!strcmp(qe->chan->tech->type, "Zap"))
+ if (!strcmp(qe->chan->tech->type, "DAHDI"))
ast_channel_setoption(qe->chan, AST_OPTION_TONE_VERIFY, &nondataquality, sizeof(nondataquality), 0);
- if (!strcmp(peer->tech->type, "Zap"))
+ if (!strcmp(peer->tech->type, "DAHDI"))
ast_channel_setoption(peer, AST_OPTION_TONE_VERIFY, &nondataquality, sizeof(nondataquality), 0);
/* Update parameters for the queue */
time(&now);
@@ -3758,27 +3681,22 @@
ast_copy_string(oldcontext, qe->chan->context, sizeof(oldcontext));
ast_copy_string(oldexten, qe->chan->exten, sizeof(oldexten));
time(&callstart);
- setup_transfer_datastore(qe, member, callstart);
+
bridge = ast_bridge_call(qe->chan,peer, &bridge_config);
- /* If the queue member did an attended transfer, then the TRANSFER already was logged in the queue_log
- * when the masquerade occurred. These other "ending" queue_log messages are unnecessary
- */
- if (!attended_transfer_occurred(qe->chan)) {
- if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten)) {
- ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld",
- qe->chan->exten, qe->chan->context, (long) (callstart - qe->start),
- (long) (time(NULL) - callstart));
- send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), TRANSFER);
- } else if (ast_check_hangup(qe->chan)) {
- ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETECALLER", "%ld|%ld|%d",
- (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos);
- send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), CALLER);
- } else {
- ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETEAGENT", "%ld|%ld|%d",
- (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos);
- send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT);
- }
+ if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten, qe->chan->exten)) {
+ ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld",
+ qe->chan->exten, qe->chan->context, (long) (callstart - qe->start),
+ (long) (time(NULL) - callstart));
+ send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), TRANSFER);
+ } else if (ast_check_hangup(qe->chan)) {
+ ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETECALLER", "%ld|%ld|%d",
+ (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos);
+ send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), CALLER);
+ } else {
+ ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "COMPLETEAGENT", "%ld|%ld|%d",
+ (long) (callstart - qe->start), (long) (time(NULL) - callstart), qe->opos);
+ send_agent_complete(qe, queuename, peer, member, callstart, vars, sizeof(vars), AGENT);
}
if (bridge != AST_PBX_NO_HANGUP_PEER)
Modified: trunk/apps/app_rpt.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_rpt.c?view=diff&rev=122234&r1=122233&r2=122234
==============================================================================
--- trunk/apps/app_rpt.c (original)
+++ trunk/apps/app_rpt.c Thu Jun 12 12:27:55 2008
@@ -152,7 +152,7 @@
*/
/*** MODULEINFO
- <depend>zaptel</depend>
+ <depend>dahdi</depend>
<depend>tonezone</depend>
<defaultenabled>no</defaultenabled>
***/
@@ -763,7 +763,7 @@
int parrottimer;
unsigned int parrotcnt;
struct ast_channel *rxchannel,*txchannel, *monchannel, *parrotchannel;
- struct ast_channel *pchannel,*txpchannel, *zaprxchannel, *zaptxchannel;
+ struct ast_channel *pchannel,*txpchannel, *dahdirxchannel, *dahditxchannel;
struct ast_channel *voxchannel;
struct ast_frame *lastf1,*lastf2;
struct rpt_tele tele;
@@ -3601,13 +3601,13 @@
ast_stopstream(chan);
/*
- * Wait for the zaptel driver to physically write the tone blocks to the hardware
+ * Wait for the DAHDI driver to physically write the tone blocks to the hardware
*/
for(i = 0; i < 20 ; i++){
- flags = ZT_IOMUX_WRITEEMPTY | ZT_IOMUX_NOWAIT;
- res = ioctl(chan->fds[0], ZT_IOMUX, &flags);
- if(flags & ZT_IOMUX_WRITEEMPTY)
+ flags = DAHDI_IOMUX_WRITEEMPTY | DAHDI_IOMUX_NOWAIT;
+ res = ioctl(chan->fds[0], DAHDI_IOMUX, &flags);
+ if(flags & DAHDI_IOMUX_WRITEEMPTY)
break;
if( ast_safe_sleep(chan, 50)){
res = -1;
@@ -3658,13 +3658,13 @@
ast_stopstream(chan);
/*
- * Wait for the zaptel driver to physically write the tone blocks to the hardware
+ * Wait for the DAHDI driver to physically write the tone blocks to the hardware
*/
for(i = 0; i < 20 ; i++){
- flags = ZT_IOMUX_WRITEEMPTY | ZT_IOMUX_NOWAIT;
- res = ioctl(chan->fds[0], ZT_IOMUX, &flags);
[... 3358 lines stripped ...]
More information about the asterisk-commits
mailing list