[asterisk-commits] branch oej/ami_ssl r17266 - in
/team/oej/ami_ssl: ./ apps/ channels/ channels...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Apr 4 07:41:21 MST 2006
Author: oej
Date: Tue Apr 4 09:40:00 2006
New Revision: 17266
URL: http://svn.digium.com/view/asterisk?rev=17266&view=rev
Log:
Update to trunk
Added:
team/oej/ami_ssl/doc/ajam.txt
- copied unchanged from r17243, trunk/doc/ajam.txt
team/oej/ami_ssl/static-http/
- copied from r17243, trunk/static-http/
team/oej/ami_ssl/static-http/ajamdemo.html
- copied unchanged from r17243, trunk/static-http/ajamdemo.html
team/oej/ami_ssl/static-http/astman.css
- copied unchanged from r17243, trunk/static-http/astman.css
team/oej/ami_ssl/static-http/astman.js
- copied unchanged from r17243, trunk/static-http/astman.js
team/oej/ami_ssl/static-http/prototype.js
- copied unchanged from r17243, trunk/static-http/prototype.js
Modified:
team/oej/ami_ssl/ (props changed)
team/oej/ami_ssl/.cleancount
team/oej/ami_ssl/CREDITS
team/oej/ami_ssl/Makefile
team/oej/ami_ssl/README
team/oej/ami_ssl/acl.c
team/oej/ami_ssl/app.c
team/oej/ami_ssl/apps/app_channelredirect.c
team/oej/ami_ssl/apps/app_dial.c
team/oej/ami_ssl/apps/app_echo.c
team/oej/ami_ssl/apps/app_exec.c
team/oej/ami_ssl/apps/app_macro.c
team/oej/ami_ssl/apps/app_meetme.c
team/oej/ami_ssl/apps/app_milliwatt.c
team/oej/ami_ssl/apps/app_page.c
team/oej/ami_ssl/apps/app_queue.c
team/oej/ami_ssl/apps/app_rpt.c
team/oej/ami_ssl/apps/app_sms.c
team/oej/ami_ssl/apps/app_stack.c
team/oej/ami_ssl/apps/app_voicemail.c
team/oej/ami_ssl/apps/app_while.c
team/oej/ami_ssl/asterisk.8
team/oej/ami_ssl/asterisk.c
team/oej/ami_ssl/asterisk.sgml
team/oej/ami_ssl/callerid.c
team/oej/ami_ssl/channel.c
team/oej/ami_ssl/channels/chan_agent.c
team/oej/ami_ssl/channels/chan_h323.c
team/oej/ami_ssl/channels/chan_iax2.c
team/oej/ami_ssl/channels/chan_local.c
team/oej/ami_ssl/channels/chan_misdn.c
team/oej/ami_ssl/channels/chan_oss.c
team/oej/ami_ssl/channels/chan_sip.c
team/oej/ami_ssl/channels/chan_zap.c
team/oej/ami_ssl/channels/h323/ast_h323.cpp
team/oej/ami_ssl/channels/iax2-provision.c
team/oej/ami_ssl/channels/iax2-provision.h
team/oej/ami_ssl/channels/misdn/isdn_lib.c
team/oej/ami_ssl/channels/misdn/isdn_lib.h
team/oej/ami_ssl/cli.c
team/oej/ami_ssl/codecs/codec_a_mu.c
team/oej/ami_ssl/codecs/codec_adpcm.c
team/oej/ami_ssl/codecs/codec_alaw.c
team/oej/ami_ssl/codecs/codec_g723_1.c
team/oej/ami_ssl/codecs/codec_g726.c
team/oej/ami_ssl/codecs/codec_gsm.c
team/oej/ami_ssl/codecs/codec_ilbc.c
team/oej/ami_ssl/codecs/codec_lpc10.c
team/oej/ami_ssl/codecs/codec_speex.c
team/oej/ami_ssl/codecs/codec_ulaw.c
team/oej/ami_ssl/codecs/gsm/Makefile
team/oej/ami_ssl/configs/extensions.conf.sample
team/oej/ami_ssl/configs/features.conf.sample
team/oej/ami_ssl/configs/http.conf.sample
team/oej/ami_ssl/configs/manager.conf.sample
team/oej/ami_ssl/configs/oss.conf.sample
team/oej/ami_ssl/configs/queues.conf.sample
team/oej/ami_ssl/configs/sip.conf.sample
team/oej/ami_ssl/configs/skinny.conf.sample
team/oej/ami_ssl/contrib/init.d/rc.redhat.asterisk
team/oej/ami_ssl/doc/00README.1st
team/oej/ami_ssl/doc/CODING-GUIDELINES
team/oej/ami_ssl/doc/asterisk-conf.txt
team/oej/ami_ssl/doc/ip-tos.txt
team/oej/ami_ssl/doc/manager.txt
team/oej/ami_ssl/file.c
team/oej/ami_ssl/formats/Makefile
team/oej/ami_ssl/formats/format_au.c
team/oej/ami_ssl/formats/format_g723.c
team/oej/ami_ssl/formats/format_g726.c
team/oej/ami_ssl/formats/format_g729.c
team/oej/ami_ssl/formats/format_gsm.c
team/oej/ami_ssl/formats/format_h263.c
team/oej/ami_ssl/formats/format_h264.c
team/oej/ami_ssl/formats/format_ilbc.c
team/oej/ami_ssl/formats/format_ogg_vorbis.c
team/oej/ami_ssl/formats/format_pcm.c
team/oej/ami_ssl/formats/format_pcm_alaw.c
team/oej/ami_ssl/formats/format_sln.c
team/oej/ami_ssl/formats/format_vox.c
team/oej/ami_ssl/formats/format_wav.c
team/oej/ami_ssl/formats/format_wav_gsm.c
team/oej/ami_ssl/http.c
team/oej/ami_ssl/include/asterisk.h
team/oej/ami_ssl/include/asterisk/adsi.h
team/oej/ami_ssl/include/asterisk/app.h
team/oej/ami_ssl/include/asterisk/callerid.h
team/oej/ami_ssl/include/asterisk/channel.h
team/oej/ami_ssl/include/asterisk/cli.h
team/oej/ami_ssl/include/asterisk/crypto.h
team/oej/ami_ssl/include/asterisk/dns.h
team/oej/ami_ssl/include/asterisk/doxyref.h
team/oej/ami_ssl/include/asterisk/enum.h
team/oej/ami_ssl/include/asterisk/features.h
team/oej/ami_ssl/include/asterisk/file.h
team/oej/ami_ssl/include/asterisk/frame.h
team/oej/ami_ssl/include/asterisk/fskmodem.h
team/oej/ami_ssl/include/asterisk/http.h
team/oej/ami_ssl/include/asterisk/image.h
team/oej/ami_ssl/include/asterisk/indications.h
team/oej/ami_ssl/include/asterisk/io.h
team/oej/ami_ssl/include/asterisk/linkedlists.h
team/oej/ami_ssl/include/asterisk/localtime.h
team/oej/ami_ssl/include/asterisk/lock.h
team/oej/ami_ssl/include/asterisk/logger.h
team/oej/ami_ssl/include/asterisk/manager.h
team/oej/ami_ssl/include/asterisk/module.h
team/oej/ami_ssl/include/asterisk/musiconhold.h
team/oej/ami_ssl/include/asterisk/options.h
team/oej/ami_ssl/include/asterisk/pbx.h
team/oej/ami_ssl/include/asterisk/plc.h
team/oej/ami_ssl/include/asterisk/rtp.h
team/oej/ami_ssl/include/asterisk/sched.h
team/oej/ami_ssl/include/asterisk/tdd.h
team/oej/ami_ssl/include/asterisk/term.h
team/oej/ami_ssl/include/solaris-compat/compat.h
team/oej/ami_ssl/indications.c
team/oej/ami_ssl/loader.c
team/oej/ami_ssl/manager.c
team/oej/ami_ssl/pbx.c
team/oej/ami_ssl/pbx/pbx_ael.c
team/oej/ami_ssl/pbx/pbx_config.c
team/oej/ami_ssl/pbx/pbx_dundi.c
team/oej/ami_ssl/pbx/pbx_loopback.c
team/oej/ami_ssl/pbx/pbx_realtime.c
team/oej/ami_ssl/plc.c
team/oej/ami_ssl/res/res_agi.c
team/oej/ami_ssl/res/res_clioriginate.c
team/oej/ami_ssl/res/res_features.c
team/oej/ami_ssl/res/res_indications.c
team/oej/ami_ssl/res/res_musiconhold.c
team/oej/ami_ssl/res/res_smdi.c
team/oej/ami_ssl/res/snmp/agent.c
team/oej/ami_ssl/rtp.c
team/oej/ami_ssl/slinfactory.c
team/oej/ami_ssl/strcompat.c
team/oej/ami_ssl/translate.c
team/oej/ami_ssl/utils.c
team/oej/ami_ssl/utils/astman.c
Propchange: team/oej/ami_ssl/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.
Propchange: team/oej/ami_ssl/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/oej/ami_ssl/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Apr 4 09:40:00 2006
@@ -1,1 +1,1 @@
-/trunk:1-15441
+/trunk:1-17261
Modified: team/oej/ami_ssl/.cleancount
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/.cleancount?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/.cleancount (original)
+++ team/oej/ami_ssl/.cleancount Tue Apr 4 09:40:00 2006
@@ -1,1 +1,1 @@
-11
+13
Modified: team/oej/ami_ssl/CREDITS
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/CREDITS?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/CREDITS (original)
+++ team/oej/ami_ssl/CREDITS Tue Apr 4 09:40:00 2006
@@ -90,6 +90,11 @@
Music provided by www.freeplaymusic.com
=== OTHER SOURCE CODE IN ASTERISK ===
+Asterisk uses libedit, the lightweight readline replacement from
+NetBSD. It is BSD-licensed and requires the following statement:
+
+ This product includes software developed by the NetBSD
+ Foundation, Inc. and its contributors.
Digium did not implement the codecs in Asterisk. Here is the copyright on the
GSM source:
Modified: team/oej/ami_ssl/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/Makefile?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/Makefile (original)
+++ team/oej/ami_ssl/Makefile Tue Apr 4 09:40:00 2006
@@ -575,6 +575,13 @@
datafiles: all
if [ x`$(ID) -un` = xroot ]; then sh build_tools/mkpkgconfig $(DESTDIR)/usr/lib/pkgconfig; fi
+ # Should static HTTP be installed during make samples or even with its own target ala
+ # webvoicemail? There are portions here that *could* be customized but might also be
+ # improved a lot. I'll put it here for now.
+ mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/static-http
+ for x in static-http/*; do \
+ install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/static-http ; \
+ done
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/digits
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/priv-callerintros
for x in sounds/digits/*.gsm; do \
@@ -806,6 +813,8 @@
echo ";astctlowner = root" ; \
echo ";astctlgroup = apache" ; \
echo ";astctl = asterisk.ctl" ; \
+ echo ";[options]" ; \
+ echo ";internal_timing = yes" ; \
) > $(DESTDIR)$(ASTCONFPATH) ; \
else \
echo "Skipping asterisk.conf creation"; \
Modified: team/oej/ami_ssl/README
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/README?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/README (original)
+++ team/oej/ami_ssl/README Tue Apr 4 09:40:00 2006
@@ -2,14 +2,14 @@
by Mark Spencer <markster at digium.com>
and the Asterisk.org developer community
-Copyright (C) 2001-2005 Digium, Inc.
+Copyright (C) 2001-2006 Digium, Inc.
and other copyright holders.
================================================================
* SECURITY
It is imperative that you read and fully understand the contents of
-the SECURITY file before you attempt to configure and run an Asterisk
-server.
+the security information file (doc/security.txt) before you attempt
+to configure and run an Asterisk server.
* WHAT IS ASTERISK ?
Asterisk is an Open Source PBX and telephony toolkit. It is, in a
@@ -84,11 +84,18 @@
So let's proceed:
-1) Run "make"
+1) Read the README files.
+ There are more README files than this one in the doc/ directory.
+ Start with doc/00README.1st
+ You may also want to check the configuration files that contain
+ examples and reference guides. They are all in the configs/
+ directory.
+
+2) Run "make"
Assuming the build completes successfully:
-2) Run "make install"
+3) Run "make install"
Each time you update or checkout from the repository, you are strongly
encouraged to ensure all previous object files are removed to avoid internal
@@ -99,7 +106,7 @@
If this is your first time working with Asterisk, you may wish to install
the sample PBX, with demonstration extensions, etc. If so, run:
-3) "make samples"
+4) "make samples"
Doing so will overwrite any existing config files you have.
Modified: team/oej/ami_ssl/acl.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/acl.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/acl.c (original)
+++ team/oej/ami_ssl/acl.c Tue Apr 4 09:40:00 2006
@@ -20,7 +20,7 @@
*
* \brief Various sorts of access control
*
- * \author Mark Spencer <markster at digium.com>
+ * \author Mark Spencer <markster at digium.com>
*/
#include <stdio.h>
@@ -136,7 +136,7 @@
if (prev)
prev->next = link; /* Link previous to this object */
- if (!ret)
+ if (!ret)
ret = link; /* Save starting point */
start = start->next; /* Go to next object */
@@ -153,7 +153,7 @@
struct ast_ha *prev = NULL;
struct ast_ha *ret;
int x, z;
- unsigned int y;
+ unsigned int y;
ret = path;
while (path) {
@@ -313,7 +313,7 @@
else
return -1;
- ast_log(LOG_WARNING, "tos value %s is deprecated. See doc/ip-tos.txt for more information.", value);
+ ast_log(LOG_WARNING, "TOS value %s is deprecated. Please see doc/ip-tos.txt for more information.\n", value);
return 0;
}
@@ -349,7 +349,7 @@
}
/* iface is the interface (e.g. eth0); address is the return value */
-int ast_lookup_iface(char *iface, struct in_addr *address)
+int ast_lookup_iface(char *iface, struct in_addr *address)
{
int mysock, res = 0;
struct my_ifreq ifreq;
@@ -428,4 +428,3 @@
return 0;
return -1;
}
-
Modified: team/oej/ami_ssl/app.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/app.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/app.c (original)
+++ team/oej/ami_ssl/app.c Tue Apr 4 09:40:00 2006
@@ -79,7 +79,7 @@
else
ast_log(LOG_NOTICE,"Huh....? no dial for indications?\n");
- for (x = strlen(collect); strlen(collect) < maxlen; ) {
+ for (x = strlen(collect); x < maxlen; ) {
res = ast_waitfordigit(chan, timeout);
if (!ast_ignore_pattern(context, collect))
ast_playtones_stop(chan);
@@ -94,12 +94,8 @@
break;
}
}
- if (res >= 0) {
- if (ast_exists_extension(chan, context, collect, 1, chan->cid.cid_num))
- res = 1;
- else
- res = 0;
- }
+ if (res >= 0)
+ res = ast_exists_extension(chan, context, collect, 1, chan->cid.cid_num) ? 1 : 0;
return res;
}
@@ -1153,9 +1149,10 @@
char *fs;
int res;
int fd;
+ int lp = strlen(path);
time_t start;
- if (!(s = alloca(strlen(path) + 10)) || !(fs = alloca(strlen(path) + 20))) {
+ if (!(s = alloca(lp + 10)) || !(fs = alloca(lp + 20))) {
ast_log(LOG_WARNING, "Out of memory!\n");
return AST_LOCK_FAILURE;
}
@@ -1510,7 +1507,7 @@
if (fd < 0) {
ast_log(LOG_WARNING, "Cannot open file '%s' for reading: %s\n", filename, strerror(errno));
return NULL;
- }
+ }
if ((output = ast_malloc(count))) {
res = read(fd, output, count - 1);
if (res == count - 1) {
@@ -1540,14 +1537,13 @@
s = optstr;
while (*s) {
- curarg = *s++ & 0x7f;
+ curarg = *s++ & 0x7f; /* the array (in app.h) has 128 entries */
ast_set_flag(flags, options[curarg].flag);
argloc = options[curarg].arg_index;
if (*s == '(') {
/* Has argument */
arg = ++s;
- while (*s && (*s != ')'))
- s++;
+ s = strchr(s, ')');
if (*s) {
if (argloc)
args[argloc - 1] = arg;
Modified: team/oej/ami_ssl/apps/app_channelredirect.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_channelredirect.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_channelredirect.c (original)
+++ team/oej/ami_ssl/apps/app_channelredirect.c Tue Apr 4 09:40:00 2006
@@ -47,8 +47,6 @@
static char *descrip =
"ChannelRedirect(channel|[[context|]extension|]priority):\n"
" Sends the specified channel to the specified extension priority\n";
-
-STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
Modified: team/oej/ami_ssl/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_dial.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_dial.c (original)
+++ team/oej/ami_ssl/apps/app_dial.c Tue Apr 4 09:40:00 2006
@@ -1449,7 +1449,7 @@
if (*ch == '^')
*ch = '|';
}
- res = pbx_exec(peer, app, opt_args[OPT_ARG_CALLEE_MACRO], 1);
+ res = pbx_exec(peer, app, opt_args[OPT_ARG_CALLEE_MACRO]);
ast_log(LOG_DEBUG, "Macro exited with status %d\n", res);
res = 0;
} else {
Modified: team/oej/ami_ssl/apps/app_echo.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_echo.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_echo.c (original)
+++ team/oej/ami_ssl/apps/app_echo.c Tue Apr 4 09:40:00 2006
@@ -59,7 +59,6 @@
int res = -1;
int format;
struct localuser *u;
- struct ast_frame *f;
LOCAL_USER_ADD(u);
@@ -68,7 +67,7 @@
ast_set_read_format(chan, format);
while (ast_waitfor(chan, -1) > -1) {
- f = ast_read(chan);
+ struct ast_frame *f = ast_read(chan);
if (!f)
break;
f->delivery.tv_sec = 0;
Modified: team/oej/ami_ssl/apps/app_exec.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_exec.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_exec.c (original)
+++ team/oej/ami_ssl/apps/app_exec.c Tue Apr 4 09:40:00 2006
@@ -82,7 +82,7 @@
if (appname) {
app = pbx_findapp(appname);
if (app) {
- res = pbx_exec(chan, app, args, 1);
+ res = pbx_exec(chan, app, args);
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
res = -1;
Modified: team/oej/ami_ssl/apps/app_macro.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_macro.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_macro.c (original)
+++ team/oej/ami_ssl/apps/app_macro.c Tue Apr 4 09:40:00 2006
@@ -188,7 +188,7 @@
snprintf(varname, sizeof(varname), "ARG%d", argc);
s = pbx_builtin_getvar_helper(chan, varname);
if (s)
- oldargs[argc] = strdup(s);
+ oldargs[argc] = ast_strdup(s);
pbx_builtin_setvar_helper(chan, varname, cur);
argc++;
}
Modified: team/oej/ami_ssl/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_meetme.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_meetme.c (original)
+++ team/oej/ami_ssl/apps/app_meetme.c Tue Apr 4 09:40:00 2006
@@ -685,42 +685,36 @@
return 0;
}
-static char *complete_confcmd(const char *line, const char *word, int pos, int state) {
-#define CONF_COMMANDS 6
- int which = 0, x = 0;
+static char *complete_confcmd(const char *line, const char *word, int pos, int state)
+{
+ static char *cmds[] = {"lock", "unlock", "mute", "unmute", "kick", "list", NULL};
+
+ int len = strlen(word);
+ int which = 0;
struct ast_conference *cnf = NULL;
struct ast_conf_user *usr = NULL;
char *confno = NULL;
char usrno[50] = "";
- char cmds[CONF_COMMANDS][20] = {"lock", "unlock", "mute", "unmute", "kick", "list"};
- char *myline;
+ char *myline, *ret = NULL;
- if (pos == 1) {
- /* Command */
- for (x = 0;x < CONF_COMMANDS; x++) {
- if (!strncasecmp(cmds[x], word, strlen(word))) {
- if (++which > state) {
- return strdup(cmds[x]);
- }
- }
- }
- } else if (pos == 2) {
- /* Conference Number */
+ if (pos == 1) { /* Command */
+ return ast_cli_complete(word, cmds, state);
+ } else if (pos == 2) { /* Conference Number */
AST_LIST_LOCK(&confs);
AST_LIST_TRAVERSE(&confs, cnf, list) {
- if (!strncasecmp(word, cnf->confno, strlen(word))) {
- if (++which > state)
- break;
- }
- }
+ if (!strncasecmp(word, cnf->confno, len) && ++which > state) {
+ ret = cnf->confno;
+ break;
+ }
+ }
+ ret = ast_strdup(ret); /* dup before releasing the lock */
AST_LIST_UNLOCK(&confs);
- return cnf ? strdup(cnf->confno) : NULL;
+ return ret;
} else if (pos == 3) {
/* User Number || Conf Command option*/
if (strstr(line, "mute") || strstr(line, "kick")) {
- if ((state == 0) && (strstr(line, "kick") || strstr(line,"mute")) && !(strncasecmp(word, "all", strlen(word)))) {
+ if (state == 0 && (strstr(line, "kick") || strstr(line,"mute")) && !strncasecmp(word, "all", len))
return strdup("all");
- }
which++;
AST_LIST_LOCK(&confs);
@@ -740,10 +734,8 @@
/* Search for the user */
for (usr = cnf->firstuser; usr; usr = usr->nextuser) {
snprintf(usrno, sizeof(usrno), "%d", usr->user_no);
- if (!strncasecmp(word, usrno, strlen(word))) {
- if (++which > state)
- break;
- }
+ if (!strncasecmp(word, usrno, len) && ++which > state)
+ break;
}
}
AST_LIST_UNLOCK(&confs);
@@ -1151,7 +1143,7 @@
app = pbx_findapp("agi");
if (app) {
char *s = ast_strdupa(agifile);
- ret = pbx_exec(chan, app, s, 1);
+ ret = pbx_exec(chan, app, s);
} else {
ast_log(LOG_WARNING, "Could not find application (agi)\n");
ret = -2;
Modified: team/oej/ami_ssl/apps/app_milliwatt.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_milliwatt.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_milliwatt.c (original)
+++ team/oej/ami_ssl/apps/app_milliwatt.c Tue Apr 4 09:40:00 2006
@@ -71,20 +71,27 @@
{
struct ast_frame wf;
unsigned char buf[AST_FRIENDLY_OFFSET + 640];
- int i,*indexp = (int *) data;
+ const int maxsamples = sizeof (buf) / sizeof (buf[0]);
+ int i, *indexp = (int *) data;
- if (len + AST_FRIENDLY_OFFSET > sizeof(buf))
- {
- ast_log(LOG_WARNING,"Only doing %d bytes (%d bytes requested)\n",(int)(sizeof(buf) - AST_FRIENDLY_OFFSET),len);
- len = sizeof(buf) - AST_FRIENDLY_OFFSET;
+ /* Instead of len, use samples, because channel.c generator_force
+ * generate(chan, tmp, 0, 160) ignores len. In any case, len is
+ * a multiple of samples, given by number of samples times bytes per
+ * sample. In the case of ulaw, len = samples. for signed linear
+ * len = 2 * samples */
+
+ if (samples > maxsamples) {
+ ast_log(LOG_WARNING, "Only doing %d samples (%d requested)\n", maxsamples, samples);
+ samples = maxsamples;
}
+ len = samples * sizeof (buf[0]);
wf.frametype = AST_FRAME_VOICE;
wf.subclass = AST_FORMAT_ULAW;
wf.offset = AST_FRIENDLY_OFFSET;
wf.mallocd = 0;
wf.data = buf + AST_FRIENDLY_OFFSET;
wf.datalen = len;
- wf.samples = wf.datalen;
+ wf.samples = samples;
wf.src = "app_milliwatt";
wf.delivery.tv_sec = 0;
wf.delivery.tv_usec = 0;
Modified: team/oej/ami_ssl/apps/app_page.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_page.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_page.c (original)
+++ team/oej/ami_ssl/apps/app_page.c Tue Apr 4 09:40:00 2006
@@ -186,7 +186,7 @@
}
if (!res) {
snprintf(meetmeopts, sizeof(meetmeopts), "%ud|A%sqxd", confid, ast_test_flag(&flags, PAGE_DUPLEX) ? "" : "t");
- pbx_exec(chan, app, meetmeopts, 1);
+ pbx_exec(chan, app, meetmeopts);
}
LOCAL_USER_REMOVE(u);
Modified: team/oej/ami_ssl/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_queue.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_queue.c (original)
+++ team/oej/ami_ssl/apps/app_queue.c Tue Apr 4 09:40:00 2006
@@ -1440,12 +1440,9 @@
if (tmp->chan->cid.cid_ani)
free(tmp->chan->cid.cid_ani);
tmp->chan->cid.cid_ani = NULL;
- if (qe->chan->cid.cid_num)
- tmp->chan->cid.cid_num = strdup(qe->chan->cid.cid_num);
- if (qe->chan->cid.cid_name)
- tmp->chan->cid.cid_name = strdup(qe->chan->cid.cid_name);
- if (qe->chan->cid.cid_ani)
- tmp->chan->cid.cid_ani = strdup(qe->chan->cid.cid_ani);
+ tmp->chan->cid.cid_num = ast_strdup(qe->chan->cid.cid_num);
+ tmp->chan->cid.cid_name = ast_strdup(qe->chan->cid.cid_name);
+ tmp->chan->cid.cid_ani = ast_strdup(qe->chan->cid.cid_ani);
/* Inherit specially named variables from parent channel */
ast_channel_inherit_variables(qe->chan, tmp->chan);
@@ -1724,21 +1721,12 @@
} else {
if (o->chan->cid.cid_num)
free(o->chan->cid.cid_num);
- o->chan->cid.cid_num = NULL;
+ o->chan->cid.cid_num = ast_strdup(in->cid.cid_num);
+
if (o->chan->cid.cid_name)
free(o->chan->cid.cid_name);
- o->chan->cid.cid_name = NULL;
-
- if (in->cid.cid_num) {
- o->chan->cid.cid_num = strdup(in->cid.cid_num);
- if (!o->chan->cid.cid_num)
- ast_log(LOG_WARNING, "Out of memory\n");
- }
- if (in->cid.cid_name) {
- o->chan->cid.cid_name = strdup(in->cid.cid_name);
- if (!o->chan->cid.cid_name)
- ast_log(LOG_WARNING, "Out of memory\n");
- }
+ o->chan->cid.cid_name = ast_strdup(in->cid.cid_name);
+
ast_string_field_set(o->chan, accountcode, in->accountcode);
o->chan->cdrflags = in->cdrflags;
@@ -1749,10 +1737,8 @@
}
if (o->chan->cid.cid_rdnis)
free(o->chan->cid.cid_rdnis);
- if (!ast_strlen_zero(in->macroexten))
- o->chan->cid.cid_rdnis = strdup(in->macroexten);
- else
- o->chan->cid.cid_rdnis = strdup(in->exten);
+ o->chan->cid.cid_rdnis =
+ ast_strdup(S_OR(in->macroexten, in->exten));
if (ast_call(o->chan, tmpchan, 0)) {
ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);
do_hang(o);
@@ -2097,8 +2083,8 @@
if (!ast_strlen_zero(announceoverride))
announce = announceoverride;
- for (;cur; cur = cur->next) {
- struct callattempt *tmp = ast_calloc(1, sizeof(*tmp));
+ for (;cur; cur = cur->next) {
+ struct callattempt *tmp = ast_calloc(1, sizeof(*tmp));
if (!tmp) {
ast_mutex_unlock(&qe->parent->lock);
if (use_weight)
@@ -2682,7 +2668,7 @@
}
if (!(parse = ast_strdupa(data)))
- return -1;
+ return -1;
AST_STANDARD_APP_ARGS(args, parse);
@@ -3501,8 +3487,8 @@
AST_LIST_LOCK(&queues);
AST_LIST_TRAVERSE(&queues, q, list) {
- if (!strncasecmp(word, q->name, wordlen) && (++which > state)) {
- ret = strdup(q->name);
+ if (!strncasecmp(word, q->name, wordlen) && ++which > state) {
+ ret = ast_strdup(q->name);
break;
}
}
@@ -3766,11 +3752,11 @@
case 3: /* Don't attempt to complete name of member (infinite possibilities) */
return NULL;
case 4: /* only one possible match, "to" */
- return state == 0 ? strdup("to") : NULL;
+ return state == 0 ? ast_strdup("to") : NULL;
case 5: /* <queue> */
return complete_queue(line, word, pos, state);
case 6: /* only one possible match, "penalty" */
- return state == 0 ? strdup("penalty") : NULL;
+ return state == 0 ? ast_strdup("penalty") : NULL;
case 7:
if (state < 100) { /* 0-99 */
char *num;
@@ -3823,23 +3809,23 @@
struct ast_call_queue *q;
struct member *m;
- /* 0 - add; 1 - queue; 2 - member; 3 - <member>; 4 - from; 5 - <queue> */
- if (pos > 5 || pos < 3)
- return NULL;
- if (pos == 4) /* only one possible match, 'from' */
- return state == 0 ? strdup("from") : NULL;
-
- if (pos == 5) /* No need to duplicate code */
- return complete_queue(line, word, pos, state);
-
- /* here is the case for 3, <member> */
- if (!AST_LIST_EMPTY(&queues)) {
+ /* 0 - add; 1 - queue; 2 - member; 3 - <member>; 4 - from; 5 - <queue> */
+ if (pos > 5 || pos < 3)
+ return NULL;
+ if (pos == 4) /* only one possible match, 'from' */
+ return state == 0 ? ast_strdup("from") : NULL;
+
+ if (pos == 5) /* No need to duplicate code */
+ return complete_queue(line, word, pos, state);
+
+ /* here is the case for 3, <member> */
+ if (!AST_LIST_EMPTY(&queues)) { /* XXX unnecessary ? the traverse does that for us */
AST_LIST_TRAVERSE(&queues, q, list) {
ast_mutex_lock(&q->lock);
for (m = q->members ; m ; m = m->next) {
if (++which > state) {
ast_mutex_unlock(&q->lock);
- return strdup(m->interface);
+ return ast_strdup(m->interface);
}
}
ast_mutex_unlock(&q->lock);
Modified: team/oej/ami_ssl/apps/app_rpt.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_rpt.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_rpt.c (original)
+++ team/oej/ami_ssl/apps/app_rpt.c Tue Apr 4 09:40:00 2006
@@ -260,7 +260,6 @@
struct ast_config *cfg;
-STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define MSWAIT 200
@@ -609,7 +608,6 @@
/* Debug mode */
static int rpt_do_debug(int fd, int argc, char *argv[]);
static int rpt_do_dump(int fd, int argc, char *argv[]);
-static int rpt_do_frog(int fd, int argc, char *argv[]);
static char debug_usage[] =
"Usage: rpt debug level {0-7}\n"
@@ -619,10 +617,6 @@
"Usage: rpt dump <nodename>\n"
" Dumps struct debug info to log\n";
-static char frog_usage[] =
-"Usage: frog [warp_factor]\n"
-" Performs frog-in-a-blender calculations (Jacobsen Corollary)\n";
-
static struct ast_cli_entry cli_debug =
{ { "rpt", "debug", "level" }, rpt_do_debug,
"Enable app_rpt debugging", debug_usage };
@@ -630,10 +624,6 @@
static struct ast_cli_entry cli_dump =
{ { "rpt", "dump" }, rpt_do_dump,
"Dump app_rpt structs for debugging", dump_usage };
-
-static struct ast_cli_entry cli_frog =
- { { "frog" }, rpt_do_frog,
- "Perform frog-in-a-blender calculations", frog_usage };
/*
* Telemetry defaults
@@ -778,26 +768,6 @@
return RESULT_SUCCESS;
}
}
- return RESULT_FAILURE;
-}
-
-/*
-* Perform frong-in-a-blender calculations (Jacobsen Corollary)
-*/
-
-static int rpt_do_frog(int fd, int argc, char *argv[])
-{
- double warpone = 75139293848.398696166028333356763;
- double warpfactor = 1.0;
-
- if (argc > 2) return RESULT_SHOWUSAGE;
- if ((argc > 1) && (sscanf(argv[1],"%lf",&warpfactor) != 1))
- return RESULT_SHOWUSAGE;
-
- ast_cli(fd, "A frog in a blender with a base diameter of 3 inches going\n");
- ast_cli(fd, "%lf RPM will be travelling at warp factor %lf,\n",
- warpfactor * warpfactor * warpfactor * warpone,warpfactor);
- ast_cli(fd,"based upon the Jacobsen Frog Corollary.\n");
return RESULT_FAILURE;
}
@@ -7067,7 +7037,6 @@
/* Unregister cli extensions */
ast_cli_unregister(&cli_debug);
ast_cli_unregister(&cli_dump);
- ast_cli_unregister(&cli_frog);
return i;
}
@@ -7079,7 +7048,6 @@
/* Register cli extensions */
ast_cli_register(&cli_debug);
ast_cli_register(&cli_dump);
- ast_cli_register(&cli_frog);
return ast_register_application(app, rpt_exec, synopsis, descrip);
}
Modified: team/oej/ami_ssl/apps/app_sms.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_sms.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_sms.c (original)
+++ team/oej/ami_ssl/apps/app_sms.c Tue Apr 4 09:40:00 2006
@@ -1177,32 +1177,31 @@
{
struct ast_frame f = { 0 };
unsigned char waste[AST_FRIENDLY_OFFSET];
+#define MAXSAMPLES (800)
#ifdef OUTALAW
- unsigned char buf[800];
+ unsigned char buf[MAXSAMPLES];
#else
- signed short buf[800];
+ signed short buf[MAXSAMPLES];
#endif
+#define SAMPLE2LEN (sizeof (buf[0]))
sms_t *h = data;
int i;
- if (len > sizeof (buf)) {
- ast_log (LOG_WARNING, "Only doing %d bytes (%d bytes requested)\n", (int)(sizeof (buf) / sizeof (signed short)), len);
- len = sizeof (buf);
-#ifdef OUTALAW
- samples = len;
-#else
- samples = len / 2;
-#endif
- }
- waste[0] = 0; /* make compiler happy */
+ if (samples > MAXSAMPLES) {
+ ast_log (LOG_WARNING, "Only doing %d samples (%d requested)\n",
+ MAXSAMPLES, samples);
+ samples = MAXSAMPLES;
+ }
+ len = samples * SAMPLE2LEN;
+
+ waste[0] = 0; /* make compiler happy */
f.frametype = AST_FRAME_VOICE;
#ifdef OUTALAW
f.subclass = AST_FORMAT_ALAW;
- f.datalen = samples;
#else
f.subclass = AST_FORMAT_SLINEAR;
- f.datalen = samples * 2;
#endif
+ f.datalen = len;
f.offset = AST_FRIENDLY_OFFSET;
f.mallocd = 0;
f.data = buf;
@@ -1254,6 +1253,8 @@
return -1;
}
return 0;
+#undef SAMPLE2LEN
+#undef MAXSAMPLES
}
static void sms_process (sms_t * h, int samples, signed short *data)
Modified: team/oej/ami_ssl/apps/app_stack.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_stack.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_stack.c (original)
+++ team/oej/ami_ssl/apps/app_stack.c Tue Apr 4 09:40:00 2006
@@ -140,7 +140,7 @@
label1 = strsep(&args, ":");
label2 = args;
- if (ast_true(condition)) {
+ if (pbx_checkcondition(condition)) {
if (label1) {
res = gosub_exec(chan, label1);
}
Modified: team/oej/ami_ssl/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_voicemail.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_voicemail.c (original)
+++ team/oej/ami_ssl/apps/app_voicemail.c Tue Apr 4 09:40:00 2006
@@ -3422,7 +3422,7 @@
old_priority = chan->priority;
/* call the the Directory, changes the channel */
- res = pbx_exec(chan, app, context ? context : "default", 1);
+ res = pbx_exec(chan, app, context ? context : "default");
ast_copy_string(username, chan->exten, sizeof(username));
Modified: team/oej/ami_ssl/apps/app_while.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/apps/app_while.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/apps/app_while.c (original)
+++ team/oej/ami_ssl/apps/app_while.c Tue Apr 4 09:40:00 2006
@@ -101,7 +101,7 @@
if (ast_true(expr)) {
if ((app = pbx_findapp(myapp))) {
- res = pbx_exec(chan, app, mydata, 1);
+ res = pbx_exec(chan, app, mydata);
} else {
ast_log(LOG_WARNING, "Count not find application! (%s)\n", myapp);
res = -1;
Modified: team/oej/ami_ssl/asterisk.8
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/asterisk.8?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/asterisk.8 (original)
+++ team/oej/ami_ssl/asterisk.8 Tue Apr 4 09:40:00 2006
@@ -9,7 +9,7 @@
asterisk \- All-purpose telephony server.
.SH SYNOPSIS
-\fBasterisk\fR [ \fB-tThfdvVqpRgcin\fR ] [ \fB-C \fIfile\fB\fR ] [ \fB-U \fIuser\fB\fR ] [ \fB-G \fIgroup\fB\fR ] [ \fB-x \fIcommand\fB\fR ] [ \fB-M \fIvalue\fB\fR ]
+\fBasterisk\fR [ \fB-tThfdvVqpRgciIn\fR ] [ \fB-C \fIfile\fB\fR ] [ \fB-U \fIuser\fB\fR ] [ \fB-G \fIgroup\fB\fR ] [ \fB-x \fIcommand\fB\fR ] [ \fB-M \fIvalue\fB\fR ]
\fBasterisk -r\fR [ \fB-v\fR ] [ \fB-x \fIcommand\fB\fR ]
@@ -114,6 +114,12 @@
for controlling it. Additionally, if connection to the Asterisk
process is lost, attempt to reconnect for as long as 30 seconds.
.TP
+\fB-I\fR
+Enable internal timing if Zaptel timer is available
+The default behaviour is that outbound packets are phase locked
+to inbound packets. Enabling this switch causes them to be
+locked to the internal Zaptel timer instead.
+.TP
\fB-t\fR
When recording files, write them first into a temporary holding directory,
then move them into the final location when done.
Modified: team/oej/ami_ssl/asterisk.c
URL: http://svn.digium.com/view/asterisk/team/oej/ami_ssl/asterisk.c?rev=17266&r1=17265&r2=17266&view=diff
==============================================================================
--- team/oej/ami_ssl/asterisk.c (original)
+++ team/oej/ami_ssl/asterisk.c Tue Apr 4 09:40:00 2006
@@ -30,7 +30,7 @@
*
* \section copyright Copyright and author
*
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
* Asterisk is a trade mark registered by Digium, Inc.
*
* \author Mark Spencer <markster at digium.com>
@@ -216,7 +216,7 @@
char ast_config_AST_CTL_OWNER[AST_CONFIG_MAX_PATH] = "\0";
char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH] = "\0";
char ast_config_AST_CTL[AST_CONFIG_MAX_PATH] = "asterisk.ctl";
-char ast_config_AST_SYSTEM_NAME[20]="";
+char ast_config_AST_SYSTEM_NAME[20] = "";
static char *_argv[256];
static int shuttingdown = 0;
@@ -462,7 +462,7 @@
static void ast_network_puts(const char *string)
{
int x;
- for (x=0;x<AST_MAX_CONNECTS; x++) {
+ for (x=0; x < AST_MAX_CONNECTS; x++) {
if (consoles[x].fd > -1)
fdprint(consoles[x].p[1], string);
}
@@ -503,7 +503,7 @@
static void *netconsole(void *vconsole)
{
struct console *con = vconsole;
- char hostname[MAXHOSTNAMELEN]="";
+ char hostname[MAXHOSTNAMELEN] = "";
char tmp[512];
int res;
struct pollfd fds[2];
@@ -566,11 +566,11 @@
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
- for(;;) {
+ for (;;) {
if (ast_socket < 0)
return NULL;
fds[0].fd = ast_socket;
- fds[0].events= POLLIN;
+ fds[0].events = POLLIN;
s = poll(fds, 1, -1);
if (s < 0) {
if (errno != EINTR)
@@ -583,7 +583,7 @@
if (errno != EINTR)
ast_log(LOG_WARNING, "Accept returned %d: %s\n", s, strerror(errno));
} else {
- for (x=0;x<AST_MAX_CONNECTS;x++) {
+ for (x = 0; x < AST_MAX_CONNECTS; x++) {
if (consoles[x].fd < 0) {
if (socketpair(AF_LOCAL, SOCK_STREAM, 0, consoles[x].p)) {
ast_log(LOG_ERROR, "Unable to create pipe: %s\n", strerror(errno));
@@ -829,7 +829,7 @@
if (option_verbose && ast_opt_console)
ast_verbose("Beginning asterisk %s....\n", restart ? "restart" : "shutdown");
time(&s);
- for(;;) {
+ for (;;) {
time(&e);
/* Wait up to 15 seconds for all channels to go away */
if ((e - s) > 15)
@@ -846,7 +846,7 @@
ast_begin_shutdown(0);
if (option_verbose && ast_opt_console)
ast_verbose("Waiting for inactivity to perform %s...\n", restart ? "restart" : "halt");
- for(;;) {
+ for (;;) {
if (!ast_active_channels())
break;
if (!shuttingdown)
@@ -895,7 +895,7 @@
if (option_verbose || ast_opt_console)
ast_verbose("Preparing for Asterisk restart...\n");
/* Mark all FD's for closing on exec */
- for (x=3;x<32768;x++) {
+ for (x=3; x < 32768; x++) {
fcntl(x, F_SETFD, FD_CLOEXEC);
}
if (option_verbose || ast_opt_console)
@@ -940,7 +940,7 @@
static void console_verboser(const char *s, int pos, int replace, int complete)
{
char tmp[80];
- const char *c=NULL;
+ const char *c = NULL;
/* Return to the beginning of the line */
if (!pos) {
fprintf(stdout, "\r");
@@ -964,7 +964,7 @@
static int ast_all_zeros(char *s)
{
- while(*s) {
+ while (*s) {
if (*s > 32)
return 0;
s++;
@@ -1234,8 +1234,8 @@
static int ast_el_read_char(EditLine *el, char *cp)
{
- int num_read=0;
- int lastpos=0;
+ int num_read = 0;
+ int lastpos = 0;
struct pollfd fds[2];
int res;
int max;
@@ -1276,7 +1276,7 @@
int tries;
int reconnects_per_second = 20;
fprintf(stderr, "Attempting to reconnect for 30 seconds\n");
- for (tries=0;tries<30 * reconnects_per_second;tries++) {
+ for (tries=0; tries < 30 * reconnects_per_second; tries++) {
if (ast_tryconnect()) {
fprintf(stderr, "Reconnect succeeded after %.3f seconds\n", 1.0 / reconnects_per_second * tries);
printf(term_quit());
@@ -1315,7 +1315,7 @@
{
static char prompt[200];
char *pfmt;
- int color_used=0;
+ int color_used = 0;
char term_code[20];
if ((pfmt = getenv("ASTERISK_PROMPT"))) {
@@ -1334,100 +1334,100 @@
t++;
switch (*t) {
- case 'C': /* color */
- t++;
- if (sscanf(t, "%d;%d%n", &fgcolor, &bgcolor, &i) == 2) {
- strncat(p, term_color_code(term_code, fgcolor, bgcolor, sizeof(term_code)),sizeof(prompt) - strlen(prompt) - 1);
- t += i - 1;
- } else if (sscanf(t, "%d%n", &fgcolor, &i) == 1) {
[... 20203 lines stripped ...]
More information about the asterisk-commits
mailing list