[asterisk-commits] branch oej/astum r16709 - in /team/oej/astum: ./
apps/ channels/ codecs/gsm/ ...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Fri Mar 31 10:00:02 MST 2006
Author: oej
Date: Fri Mar 31 10:59:54 2006
New Revision: 16709
URL: http://svn.digium.com/view/asterisk?rev=16709&view=rev
Log:
Update to current
Modified:
team/oej/astum/ (props changed)
team/oej/astum/CREDITS
team/oej/astum/apps/app_dial.c
team/oej/astum/apps/app_echo.c
team/oej/astum/apps/app_exec.c
team/oej/astum/apps/app_macro.c
team/oej/astum/apps/app_meetme.c
team/oej/astum/apps/app_page.c
team/oej/astum/apps/app_voicemail.c
team/oej/astum/apps/app_while.c
team/oej/astum/channels/chan_iax2.c
team/oej/astum/channels/chan_local.c
team/oej/astum/channels/chan_oss.c
team/oej/astum/channels/chan_sip.c
team/oej/astum/channels/iax2-provision.h
team/oej/astum/codecs/gsm/Makefile
team/oej/astum/configs/queues.conf.sample
team/oej/astum/include/asterisk/adsi.h
team/oej/astum/include/asterisk/app.h
team/oej/astum/include/asterisk/callerid.h
team/oej/astum/include/asterisk/channel.h
team/oej/astum/include/asterisk/cli.h
team/oej/astum/include/asterisk/crypto.h
team/oej/astum/include/asterisk/dns.h
team/oej/astum/include/asterisk/enum.h
team/oej/astum/include/asterisk/features.h
team/oej/astum/include/asterisk/fskmodem.h
team/oej/astum/include/asterisk/image.h
team/oej/astum/include/asterisk/io.h
team/oej/astum/include/asterisk/localtime.h
team/oej/astum/include/asterisk/logger.h
team/oej/astum/include/asterisk/manager.h
team/oej/astum/include/asterisk/musiconhold.h
team/oej/astum/include/asterisk/pbx.h
team/oej/astum/include/asterisk/rtp.h
team/oej/astum/include/asterisk/sched.h
team/oej/astum/include/asterisk/tdd.h
team/oej/astum/include/asterisk/term.h
team/oej/astum/pbx.c
team/oej/astum/pbx/pbx_dundi.c
team/oej/astum/pbx/pbx_loopback.c
team/oej/astum/pbx/pbx_realtime.c
team/oej/astum/res/res_agi.c
team/oej/astum/res/res_features.c
team/oej/astum/utils.c
Propchange: team/oej/astum/
------------------------------------------------------------------------------
automerge = http://edvina.net/training/
Propchange: team/oej/astum/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.
Propchange: team/oej/astum/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/oej/astum/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Mar 31 10:59:54 2006
@@ -1,1 +1,1 @@
-/trunk:1-16438
+/trunk:1-16708
Modified: team/oej/astum/CREDITS
URL: http://svn.digium.com/view/asterisk/team/oej/astum/CREDITS?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/CREDITS (original)
+++ team/oej/astum/CREDITS Fri Mar 31 10:59:54 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/astum/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_dial.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_dial.c (original)
+++ team/oej/astum/apps/app_dial.c Fri Mar 31 10:59:54 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/astum/apps/app_echo.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_echo.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_echo.c (original)
+++ team/oej/astum/apps/app_echo.c Fri Mar 31 10:59:54 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/astum/apps/app_exec.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_exec.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_exec.c (original)
+++ team/oej/astum/apps/app_exec.c Fri Mar 31 10:59:54 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/astum/apps/app_macro.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_macro.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_macro.c (original)
+++ team/oej/astum/apps/app_macro.c Fri Mar 31 10:59:54 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/astum/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_meetme.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_meetme.c (original)
+++ team/oej/astum/apps/app_meetme.c Fri Mar 31 10:59:54 2006
@@ -1143,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/astum/apps/app_page.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_page.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_page.c (original)
+++ team/oej/astum/apps/app_page.c Fri Mar 31 10:59:54 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/astum/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_voicemail.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_voicemail.c (original)
+++ team/oej/astum/apps/app_voicemail.c Fri Mar 31 10:59:54 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/astum/apps/app_while.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/apps/app_while.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/apps/app_while.c (original)
+++ team/oej/astum/apps/app_while.c Fri Mar 31 10:59:54 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/astum/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/channels/chan_iax2.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/channels/chan_iax2.c (original)
+++ team/oej/astum/channels/chan_iax2.c Fri Mar 31 10:59:54 2006
@@ -6558,11 +6558,12 @@
if (errno != ECONNREFUSED)
ast_log(LOG_WARNING, "Error: %s\n", strerror(errno));
handle_error();
+ ASTOBJ_CONTAINER_LINK_END(&idlelist, thread);
return 1;
}
- if(test_losspct) { /* simulate random loss condition */
- if( (100.0*rand()/(RAND_MAX+1.0)) < test_losspct)
- return 1;
+ if (test_losspct && ((100.0*rand()/(RAND_MAX+1.0)) < test_losspct)) { /* simulate random loss condition */
+ ASTOBJ_CONTAINER_LINK_END(&idlelist, thread);
+ return 1;
}
/* Mark as ready and send on its way */
thread->iostate = IAX_IOSTATE_READY;
@@ -9573,7 +9574,7 @@
}
/*! \brief Execute IAX2 dialplan switch */
-static int iax2_exec(struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, int newstack, const char *data)
+static int iax2_exec(struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
{
char odata[256];
char req[256];
@@ -9589,7 +9590,7 @@
if (dialstatus) {
dial = pbx_findapp(dialstatus);
if (dial)
- pbx_exec(chan, dial, "", newstack);
+ pbx_exec(chan, dial, "");
}
return -1;
} else if (priority != 1)
@@ -9618,7 +9619,7 @@
ast_mutex_unlock(&dpcache_lock);
dial = pbx_findapp("Dial");
if (dial) {
- return pbx_exec(chan, dial, req, newstack);
+ return pbx_exec(chan, dial, req);
} else {
ast_log(LOG_WARNING, "No dial application registered\n");
}
Modified: team/oej/astum/channels/chan_local.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/channels/chan_local.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/channels/chan_local.c (original)
+++ team/oej/astum/channels/chan_local.c Fri Mar 31 10:59:54 2006
@@ -382,12 +382,11 @@
struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_HANGUP };
struct ast_channel *ochan = NULL;
int glaredetect;
- const char *status;
ast_mutex_lock(&p->lock);
isoutbound = IS_OUTBOUND(ast, p);
if (isoutbound) {
- status = pbx_builtin_getvar_helper(p->chan, "DIALSTATUS");
+ const char *status = pbx_builtin_getvar_helper(p->chan, "DIALSTATUS");
if ((status) && (p->owner))
pbx_builtin_setvar_helper(p->owner, "CHANLOCALSTATUS", status);
p->chan = NULL;
@@ -512,8 +511,7 @@
p->owner = tmp;
p->chan = tmp2;
ast_mutex_lock(&usecnt_lock);
- usecnt++;
- usecnt++;
+ usecnt += 2; /* we allocate 2 new channels */
ast_mutex_unlock(&usecnt_lock);
ast_update_use_count();
ast_copy_string(tmp->context, p->context, sizeof(tmp->context));
Modified: team/oej/astum/channels/chan_oss.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/channels/chan_oss.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/channels/chan_oss.c (original)
+++ team/oej/astum/channels/chan_oss.c Fri Mar 31 10:59:54 2006
@@ -671,7 +671,7 @@
ast_log(LOG_WARNING, "Failed to set audio device to mono\n");
return -1;
}
- fmt = desired = 8000; /* 8000 Hz desired */
+ fmt = desired = DEFAULT_SAMPLE_RATE; /* 8000 Hz desired */
res = ioctl(fd, SNDCTL_DSP_SPEED, &fmt);
if (res < 0) {
Modified: team/oej/astum/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/oej/astum/channels/chan_sip.c?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/channels/chan_sip.c (original)
+++ team/oej/astum/channels/chan_sip.c Fri Mar 31 10:59:54 2006
@@ -228,6 +228,19 @@
PROXY_AUTH,
WWW_AUTH,
};
+
+/* States for outbound registrations (with register= lines in sip.conf */
+enum sipregistrystate {
+ REG_STATE_UNREGISTERED = 0, /*!< We are not registred */
+ REG_STATE_REGSENT, /*!< Registration request sent */
+ REG_STATE_AUTHSENT, /*!< We have tried to authenticate */
+ REG_STATE_REGISTERED, /*!< Registred and done */
+ REG_STATE_REJECTED, /*!< Registration rejected */
+ REG_STATE_TIMEOUT, /*!< Registration timed out */
+ REG_STATE_NOAUTH, /*!< We have no accepted credentials */
+ REG_STATE_FAILED, /*!< Registration failed after several tries */
+};
+
/*! XXX Note that sip_methods[i].id == i must hold or the code breaks */
static const struct cfsip_methods {
@@ -570,9 +583,9 @@
/* NAT settings */
#define SIP_NAT (3 << 18) /*!< four settings, uses two bits */
#define SIP_NAT_NEVER (0 << 18) /*!< No nat support */
-#define SIP_NAT_RFC3581 (1 << 18)
-#define SIP_NAT_ROUTE (2 << 18)
-#define SIP_NAT_ALWAYS (3 << 18)
+#define SIP_NAT_RFC3581 (1 << 18) /*!< NAT RFC3581 */
+#define SIP_NAT_ROUTE (2 << 18) /*!< NAT Only ROUTE */
+#define SIP_NAT_ALWAYS (3 << 18) /*!< NAT Both ROUTE and RFC3581 */
/* re-INVITE related settings */
#define SIP_REINVITE (3 << 20) /*!< two bits used */
#define SIP_CAN_REINVITE (1 << 20) /*!< allow peers to be reinvited to send media directly p2p */
@@ -591,13 +604,10 @@
#define SIP_OSPAUTH_GATEWAY (1 << 26)
#define SIP_OSPAUTH_PROXY (2 << 26)
#define SIP_OSPAUTH_EXCLUSIVE (3 << 26)
-/* Call states */
-#define SIP_CALL_ONHOLD (1 << 28)
-#define SIP_CALL_LIMIT (1 << 29)
-/* Remote Party-ID Support */
-#define SIP_SENDRPID (1 << 30)
-/* Did this connection increment the counter of in-use calls? */
-#define SIP_INC_COUNT (1 << 31)
+#define SIP_CALL_ONHOLD (1 << 28) /*!< Call states */
+#define SIP_CALL_LIMIT (1 << 29) /*!< Call limit enforced for this call */
+#define SIP_SENDRPID (1 << 30) /*!< Remote Party-ID Support */
+#define SIP_INC_COUNT (1 << 31) /*!< Did this connection increment the counter of in-use calls? */
#define SIP_FLAGS_TO_COPY \
(SIP_PROMISCREDIR | SIP_TRUSTRPID | SIP_SENDRPID | SIP_DTMF | SIP_REINVITE | \
@@ -852,16 +862,6 @@
};
-/* States for outbound registrations (with register= lines in sip.conf */
-#define REG_STATE_UNREGISTERED 0 /*!< We are not registred */
-#define REG_STATE_REGSENT 1 /*!< Registration request sent */
-#define REG_STATE_AUTHSENT 2 /*!< We have tried to authenticate */
-#define REG_STATE_REGISTERED 3 /*!< Registred and done */
-#define REG_STATE_REJECTED 4 /*!< Registration rejected */
-#define REG_STATE_TIMEOUT 5 /*!< Registration timed out */
-#define REG_STATE_NOAUTH 6 /*!< We have no accepted credentials */
-#define REG_STATE_FAILED 7 /*!< Registration failed after several tries */
-
/*! \brief Registrations with other SIP proxies */
struct sip_registry {
@@ -887,7 +887,7 @@
int timeout; /*!< sched id of sip_reg_timeout */
int refresh; /*!< How often to refresh */
struct sip_pvt *call; /*!< create a sip_pvt structure for each outbound "registration dialog" in progress */
- int regstate; /*!< Registration state (see above) */
+ enum sipregistrystate regstate; /*!< Registration state (see above) */
int callid_valid; /*!< 0 means we haven't chosen callid for this registry yet. */
unsigned int ocseq; /*!< Sequence number we got to for REGISTERs for this registry */
struct sockaddr_in us; /*!< Who the server thinks we are */
@@ -5453,7 +5453,7 @@
}
/*! \build Convert registration state status to string */
-static char *regstate2str(int regstate)
+static char *regstate2str(enum sipregistrystate regstate)
{
switch(regstate) {
case REG_STATE_FAILED:
@@ -5732,7 +5732,7 @@
ast_verbose("REGISTER %d headers, %d lines\n", p->initreq.headers, p->initreq.lines);
}
determine_firstline_parts(&p->initreq);
- r->regstate=auth?REG_STATE_AUTHSENT:REG_STATE_REGSENT;
+ r->regstate = auth ? REG_STATE_AUTHSENT : REG_STATE_REGSENT;
r->regattempts++; /* Another attempt */
if (option_debug > 3)
ast_verbose("REGISTER attempt %d to %s@%s\n", r->regattempts, r->username, r->hostname);
@@ -8287,11 +8287,7 @@
ast_cli(fd,"\n");
ASTOBJ_UNREF(peer,sip_destroy_peer);
} else if (peer && type == 1) { /* manager listing */
- char *actionid = astman_get_header(m,"ActionID");
-
astman_append(s, "Channeltype: SIP\r\n");
- if (actionid)
- astman_append(s, "ActionID: %s\r\n", actionid);
astman_append(s, "ObjectName: %s\r\n", peer->name);
astman_append(s, "ChanObjectType: peer\r\n");
astman_append(s, "SecretExist: %s\r\n", ast_strlen_zero(peer->secret)?"N":"Y");
@@ -8326,7 +8322,7 @@
astman_append(s, "SIP-VideoSupport: %s\r\n", (ast_test_flag(&peer->flags[1], SIP_PAGE2_VIDEOSUPPORT)?"Y":"N"));
/* - is enumerated */
- astman_append(s, "SIP-DTMFmode %s\r\n", dtmfmode2str(ast_test_flag(&peer->flags[0], SIP_DTMF)));
+ astman_append(s, "SIP-DTMFmode: %s\r\n", dtmfmode2str(ast_test_flag(&peer->flags[0], SIP_DTMF)));
astman_append(s, "SIPLastMsg: %d\r\n", peer->lastmsg);
astman_append(s, "ToHost: %s\r\n", peer->tohost);
astman_append(s, "Address-IP: %s\r\nAddress-Port: %d\r\n", peer->addr.sin_addr.s_addr ? ast_inet_ntoa(iabuf, sizeof(iabuf), peer->addr.sin_addr) : "", ntohs(peer->addr.sin_port));
@@ -9930,7 +9926,7 @@
return 0;
}
- r->regstate=REG_STATE_REGISTERED;
+ r->regstate = REG_STATE_REGISTERED;
manager_event(EVENT_FLAG_SYSTEM, "Registry", "Channel: SIP\r\nDomain: %s\r\nStatus: %s\r\n", r->hostname, regstate2str(r->regstate));
r->regattempts = 0;
ast_log(LOG_DEBUG, "Registration successful\n");
@@ -10588,6 +10584,16 @@
/* We do NOT destroy p here, so that our response will be accepted */
return 0;
}
+
+ if (!ignore && p->pendinginvite) {
+ /* We already have a pending invite. Sorry. You are on hold. */
+ transmit_response(p, "491 Request Pending", req);
+ if (option_debug > 1)
+ ast_log(LOG_DEBUG, "Got INVITE on call where we already have pending INVITE, deferring that - %s\n", p->callid);
+ /* Do NOT destroy dialog */
+ return 0;
+ }
+
if (!ignore) {
/* Use this as the basis */
if (debug)
Modified: team/oej/astum/channels/iax2-provision.h
URL: http://svn.digium.com/view/asterisk/team/oej/astum/channels/iax2-provision.h?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/channels/iax2-provision.h (original)
+++ team/oej/astum/channels/iax2-provision.h Fri Mar 31 10:59:54 2006
@@ -1,5 +1,5 @@
/*
- * IAX Provisioning Protocol
+ * IAX Provisioning Protocol
*
* Sub-information elements
*
@@ -45,9 +45,9 @@
#define PROV_FLAG_DIS_CIDCW (1 << 6) /* CID/CW Disabled */
#define PROV_FLAG_DIS_THREEWAY (1 << 7) /* Three-way calling, transfer disabled */
-extern char *iax_provflags2str(char *buf, int buflen, unsigned int flags);
-extern int iax_provision_reload(void);
-extern int iax_provision_unload(void);
-extern int iax_provision_build(struct iax_ie_data *provdata, unsigned int *signature, const char *template, int force);
-extern int iax_provision_version(unsigned int *signature, const char *template, int force);
-extern char *iax_prov_complete_template(const char *line, const char *word, int pos, int state);
+char *iax_provflags2str(char *buf, int buflen, unsigned int flags);
+int iax_provision_reload(void);
+int iax_provision_unload(void);
+int iax_provision_build(struct iax_ie_data *provdata, unsigned int *signature, const char *template, int force);
+int iax_provision_version(unsigned int *signature, const char *template, int force);
+char *iax_prov_complete_template(const char *line, const char *word, int pos, int state);
Modified: team/oej/astum/codecs/gsm/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/astum/codecs/gsm/Makefile?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/codecs/gsm/Makefile (original)
+++ team/oej/astum/codecs/gsm/Makefile Fri Mar 31 10:59:54 2006
@@ -38,7 +38,7 @@
######### probably require gcc.
ifeq (, $(findstring $(OSARCH) , Darwin SunOS ))
-ifeq (, $(findstring $(PROC) , x86_64 ultrasparc sparc64 arm ppc ppc64 ia64 ))
+ifeq (, $(findstring $(PROC) , x86_64 amd64 ultrasparc sparc64 arm ppc ppc64 ia64 ))
ifeq (, $(findstring $(shell uname -m) , ppc ppc64 alpha armv4l ))
OPTIMIZE+=-march=$(PROC)
endif
@@ -215,7 +215,7 @@
# XXX Keep a space after each findstring argument
# XXX should merge with GSM_OBJECTS
ifeq (${OSARCH},Linux)
-ifeq (,$(findstring $(shell uname -m) , x86_64 ppc ppc64 alpha armv4l sparc64 parisc ))
+ifeq (,$(findstring $(shell uname -m) , x86_64 amd64 ppc ppc64 alpha armv4l sparc64 parisc ))
ifeq (,$(findstring ${PROC} , arm ia64 ))
GSM_SOURCES+= $(SRC)/k6opt.s
endif
@@ -267,7 +267,7 @@
$(SRC)/table.o
ifeq (${OSARCH},Linux)
-ifeq (,$(findstring $(shell uname -m) , x86_64 ppc ppc64 alpha armv4l sparc64 parisc ))
+ifeq (,$(findstring $(shell uname -m) , x86_64 amd64 ppc ppc64 alpha armv4l sparc64 parisc ))
ifeq (,$(findstring ${PROC} , arm ia64 ))
GSM_OBJECTS+= $(SRC)/k6opt.o
endif
Modified: team/oej/astum/configs/queues.conf.sample
URL: http://svn.digium.com/view/asterisk/team/oej/astum/configs/queues.conf.sample?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/configs/queues.conf.sample (original)
+++ team/oej/astum/configs/queues.conf.sample Fri Mar 31 10:59:54 2006
@@ -73,7 +73,11 @@
;wrapuptime=15
;
; Autofill will follow queue strategy but push multiple calls through
-; at same time.
+; at same time. WARNING: By setting this to yes, if you have a number
+; of calls waiting in queue, and only a single member becoming available
+; at a time, it is more than likely NOT going to be the caller that's
+; been waiting the longest that will get assigned to this newly available
+; queue member.
;
;autofill=yes
;
Modified: team/oej/astum/include/asterisk/adsi.h
URL: http://svn.digium.com/view/asterisk/team/oej/astum/include/asterisk/adsi.h?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/include/asterisk/adsi.h (original)
+++ team/oej/astum/include/asterisk/adsi.h Fri Mar 31 10:59:54 2006
@@ -17,7 +17,7 @@
*/
/*! \file
- * \brief ADSI Support (built upon Caller*ID)
+ * \brief ADSI Support (built upon Caller*ID)
*/
#ifndef _ASTERISK_ADSI_H
@@ -118,29 +118,29 @@
#define ADSI_DIR_FROM_RIGHT (1)
/*! Perform Asterisk ADSI initialization (for channel drivers that want */
-/* to support ADSI when the handset is first lifted) */
-/*!
+/* to support ADSI when the handset is first lifted) */
+/*!
* \param chan Channel to initialize for ADSI (if supported)
- *
+ *
* Returns 0 on success (or adsi unavailable) and -1 on hangup
- *
- */
-extern int adsi_channel_init(struct ast_channel *chan);
-
-extern int adsi_begin_download(struct ast_channel *chan, char *service, unsigned char *fdn, unsigned char *sec, int version);
-
-extern int adsi_end_download(struct ast_channel *chan);
+ *
+ */
+int adsi_channel_init(struct ast_channel *chan);
+
+int adsi_begin_download(struct ast_channel *chan, char *service, unsigned char *fdn, unsigned char *sec, int version);
+
+int adsi_end_download(struct ast_channel *chan);
/*! Restore ADSI initialization (for applications that play with ADSI */
/* and want to restore it to normal. If you touch "INFO" then you */
/* have to use the adsi_channel_init again instead. */
/*!
* \param chan Channel to restore
- *
+ *
* Returns 0 on success (or adsi unavailable) and -1 on hangup
*
*/
-extern int adsi_channel_restore(struct ast_channel *chan);
+int adsi_channel_restore(struct ast_channel *chan);
/*! Display some stuff on the screen */
/*!
@@ -152,7 +152,7 @@
* Return 0 on success (or adsi unavailable) and -1 on hangup
*
*/
-extern int adsi_print(struct ast_channel *chan, char **lines, int *align, int voice);
+int adsi_print(struct ast_channel *chan, char **lines, int *align, int voice);
/*! Check if scripts for a given app are already loaded. Version may be -1 */
/* if any version is okay, or 0-255 for a specific version. */
@@ -165,22 +165,22 @@
* Returns 0 if scripts is not loaded or not an ADSI CPE. Returns -1
* on hangup. Returns 1 if script already loaded.
*/
-extern int adsi_load_session(struct ast_channel *chan, unsigned char *app, int ver, int data);
-extern int adsi_unload_session(struct ast_channel *chan);
+int adsi_load_session(struct ast_channel *chan, unsigned char *app, int ver, int data);
+int adsi_unload_session(struct ast_channel *chan);
/* ADSI Layer 2 transmission functions */
-extern int adsi_transmit_messages(struct ast_channel *chan, unsigned char **msg, int *msglen, int *msgtype);
-extern int adsi_transmit_message(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype);
-extern int adsi_transmit_message_full(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype, int dowait);
+int adsi_transmit_messages(struct ast_channel *chan, unsigned char **msg, int *msglen, int *msgtype);
+int adsi_transmit_message(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype);
+int adsi_transmit_message_full(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype, int dowait);
/*! Read some encoded DTMF data. */
/*!
* Returns number of bytes received
*/
-extern int adsi_read_encoded_dtmf(struct ast_channel *chan, unsigned char *buf, int maxlen);
+int adsi_read_encoded_dtmf(struct ast_channel *chan, unsigned char *buf, int maxlen);
/* ADSI Layer 3 creation functions */
-/*! Connects an ADSI Display Session */
+/*! Connects an ADSI Display Session */
/*!
* \param buf Character buffer to create parameter in (must have at least 256 free)
* \param fdn Optional 4 byte Feature Download Number (for loading soft keys)
@@ -190,14 +190,14 @@
*
*/
-extern int adsi_connect_session(unsigned char *buf, unsigned char *fdn, int ver);
-
-/*! Build Query CPE ID of equipment */
+int adsi_connect_session(unsigned char *buf, unsigned char *fdn, int ver);
+
+/*! Build Query CPE ID of equipment */
/*!
* Returns number of bytes added to message
*/
-extern int adsi_query_cpeid(unsigned char *buf);
-extern int adsi_query_cpeinfo(unsigned char *buf);
+int adsi_query_cpeid(unsigned char *buf);
+int adsi_query_cpeinfo(unsigned char *buf);
/*! Get CPE ID from an attached ADSI compatible CPE. */
/*!
@@ -205,11 +205,11 @@
* or -1 on hangup, or 0 if there was no hangup but it failed to find the
* device ID. Returns to voice mode if "voice" is non-zero.
*/
-extern int adsi_get_cpeid(struct ast_channel *chan, unsigned char *cpeid, int voice);
-
-extern int adsi_get_cpeinfo(struct ast_channel *chan, int *width, int *height, int *buttons, int voice);
-
-/*! Begin an ADSI script download */
+int adsi_get_cpeid(struct ast_channel *chan, unsigned char *cpeid, int voice);
+
+int adsi_get_cpeinfo(struct ast_channel *chan, int *width, int *height, int *buttons, int voice);
+
+/*! Begin an ADSI script download */
/*!
* \param buf Character buffer to create parameter in (must have at least 256 free)
* \param service a 1-18 byte name of the feature
@@ -221,7 +221,7 @@
*
*/
-extern int adsi_download_connect(unsigned char *buf, char *service, unsigned char *fdn, unsigned char *sec, int ver);
+int adsi_download_connect(unsigned char *buf, char *service, unsigned char *fdn, unsigned char *sec, int ver);
/*! Disconnects a running session */
/*!
@@ -230,7 +230,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_disconnect_session(unsigned char *buf);
+int adsi_disconnect_session(unsigned char *buf);
/*! Disconnects (and hopefully saves) a downloaded script */
/*!
@@ -239,7 +239,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_download_disconnect(unsigned char *buf);
+int adsi_download_disconnect(unsigned char *buf);
/*! Puts CPE in data mode... */
/*!
@@ -248,9 +248,9 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_data_mode(unsigned char *buf);
-extern int adsi_clear_soft_keys(unsigned char *buf);
-extern int adsi_clear_screen(unsigned char *buf);
+int adsi_data_mode(unsigned char *buf);
+int adsi_clear_soft_keys(unsigned char *buf);
+int adsi_clear_screen(unsigned char *buf);
/*! Puts CPE in voice mode... */
/*!
@@ -260,16 +260,16 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_voice_mode(unsigned char *buf, int when);
+int adsi_voice_mode(unsigned char *buf, int when);
/*! Returns non-zero if Channel does or might support ADSI */
/*!
* \param chan Channel to check
*
*/
-extern int adsi_available(struct ast_channel *chan);
-
-/*! Loads a line of info into the display */
+int adsi_available(struct ast_channel *chan);
+
+/*! Loads a line of info into the display */
/*!
* \param buf Character buffer to create parameter in (must have at least 256 free)
* \param page Page to load (ADSI_COMM_PAGE or ADSI_INFO_PAGE)
@@ -283,9 +283,9 @@
*
*/
-extern int adsi_display(unsigned char *buf, int page, int line, int just, int wrap, char *col1, char *col2);
-
-/*! Sets the current line and page */
+int adsi_display(unsigned char *buf, int page, int line, int just, int wrap, char *col1, char *col2);
+
+/*! Sets the current line and page */
/*!
* \param buf Character buffer to create parameter in (must have at least 256 free)
* \param page Which page (ADSI_COMM_PAGE or ADSI_INFO_PAGE)
@@ -295,10 +295,10 @@
*
*/
-extern int adsi_set_line(unsigned char *buf, int page, int line);
+int adsi_set_line(unsigned char *buf, int page, int line);
/*! Creates "load soft key" parameters */
-/*!
+/*!
* \param buf Character buffer to create parameter in (must have at least 256 free)
* \param key Key code from 2 to 33, for which key we are loading
* \param llabel Long label for key (1-18 bytes)
@@ -309,7 +309,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_load_soft_key(unsigned char *buf, int key, char *llabel, char *slabel, char *ret, int data);
+int adsi_load_soft_key(unsigned char *buf, int key, char *llabel, char *slabel, char *ret, int data);
/*! Set which soft keys should be displayed */
/*!
@@ -320,7 +320,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_set_keys(unsigned char *buf, unsigned char *keys);
+int adsi_set_keys(unsigned char *buf, unsigned char *keys);
/*! Set input information */
/*!
@@ -334,7 +334,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_input_control(unsigned char *buf, int page, int line, int display, int format, int just);
+int adsi_input_control(unsigned char *buf, int page, int line, int display, int format, int just);
/*! Set input format */
/*!
@@ -348,6 +348,6 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-extern int adsi_input_format(unsigned char *buf, int num, int dir, int wrap, char *format1, char *format2);
+int adsi_input_format(unsigned char *buf, int num, int dir, int wrap, char *format1, char *format2);
#endif /* _ASTERISK_ADSI_H */
Modified: team/oej/astum/include/asterisk/app.h
URL: http://svn.digium.com/view/asterisk/team/oej/astum/include/asterisk/app.h?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/include/asterisk/app.h (original)
+++ team/oej/astum/include/asterisk/app.h Fri Mar 31 10:59:54 2006
@@ -80,7 +80,7 @@
/*! \brief Runs an IVR menu
\return returns 0 on successful completion, -1 on hangup, or -2 on user error in menu */
-extern int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
+int ast_ivr_menu_run(struct ast_channel *c, struct ast_ivr_menu *menu, void *cbdata);
/*! \brief Plays a stream and gets DTMF data from a channel
* \param c Which channel one is interacting with
@@ -94,10 +94,10 @@
* is pressed during playback, it will immediately break out of the message and continue
* execution of your code.
*/
-extern int ast_app_getdata(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout);
+int ast_app_getdata(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout);
/*! \brief Full version with audiofd and controlfd. NOTE: returns '2' on ctrlfd available, not '1' like other full functions */
-extern int ast_app_getdata_full(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout, int audiofd, int ctrlfd);
+int ast_app_getdata_full(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout, int audiofd, int ctrlfd);
/*! Record voice (after playing prompt if specified), waiting for silence (in ms) up to a given timeout (in s) or '#' */
int ast_app_getvoice(struct ast_channel *c, char *dest, char *dstfmt, char *prompt, int silence, int maxsec);
@@ -116,7 +116,7 @@
/*! Safely spawn an external program while closing file descriptors
\note This replaces the \b system call in all Asterisk modules
*/
-extern int ast_safe_system(const char *s);
+int ast_safe_system(const char *s);
/*!
\brief Send DTMF to a channel
Modified: team/oej/astum/include/asterisk/callerid.h
URL: http://svn.digium.com/view/asterisk/team/oej/astum/include/asterisk/callerid.h?rev=16709&r1=16708&r2=16709&view=diff
==============================================================================
--- team/oej/astum/include/asterisk/callerid.h (original)
+++ team/oej/astum/include/asterisk/callerid.h Fri Mar 31 10:59:54 2006
@@ -73,28 +73,28 @@
* \par
* Initializes the callerid system. Mostly stuff for inverse FFT
*/
-extern void callerid_init(void);
-
-/*! \brief Generates a CallerID FSK stream in ulaw format suitable for transmission.
+void callerid_init(void);
+
+/*! \brief Generates a CallerID FSK stream in ulaw format suitable for transmission.
* \param buf Buffer to use. If "buf" is supplied, it will use that buffer instead of allocating its own. "buf" must be at least 32000 bytes in size of you want to be sure you don't have an overrun.
* \param number Use NULL for no number or "P" for "private"
* \param name name to be used
* \param flags passed flags
* \param callwaiting callwaiting flag
* \param codec -- either AST_FORMAT_ULAW or AST_FORMAT_ALAW
- * This function creates a stream of callerid (a callerid spill) data in ulaw format.
+ * This function creates a stream of callerid (a callerid spill) data in ulaw format.
* \return It returns the size
* (in bytes) of the data (if it returns a size of 0, there is probably an error)
*/
-extern int callerid_generate(unsigned char *buf, char *number, char *name, int flags, int callwaiting, int codec);
-
-/*! \brief Create a callerID state machine
+int callerid_generate(unsigned char *buf, char *number, char *name, int flags, int callwaiting, int codec);
+
+/*! \brief Create a callerID state machine
* \param cid_signalling Type of signalling in use
*
* This function returns a malloc'd instance of the callerid_state data structure.
* \return Returns a pointer to a malloc'd callerid_state structure, or NULL on error.
*/
-extern struct callerid_state *callerid_new(int cid_signalling);
+struct callerid_state *callerid_new(int cid_signalling);
/*! \brief Read samples into the state machine.
* \param cid Which state machine to act upon
@@ -103,10 +103,10 @@
* \param codec which codec (AST_FORMAT_ALAW or AST_FORMAT_ULAW)
*
* Send received audio to the Caller*ID demodulator.
- * \return Returns -1 on error, 0 for "needs more samples",
+ * \return Returns -1 on error, 0 for "needs more samples",
* and 1 if the CallerID spill reception is complete.
*/
-extern int callerid_feed(struct callerid_state *cid, unsigned char *ubuf, int samples, int codec);
+int callerid_feed(struct callerid_state *cid, unsigned char *ubuf, int samples, int codec);
/*! \brief Read samples into the state machine.
* \param cid Which state machine to act upon
@@ -115,12 +115,12 @@
* \param codec which codec (AST_FORMAT_ALAW or AST_FORMAT_ULAW)
*
* Send received audio to the Caller*ID demodulator (for japanese style lines).
- * \return Returns -1 on error, 0 for "needs more samples",
+ * \return Returns -1 on error, 0 for "needs more samples",
* and 1 if the CallerID spill reception is complete.
*/
-extern int callerid_feed_jp(struct callerid_state *cid, unsigned char *ubuf, int samples, int codec);
-
-/*! \brief Extract info out of callerID state machine. Flags are listed above
+int callerid_feed_jp(struct callerid_state *cid, unsigned char *ubuf, int samples, int codec);
+
+/*! \brief Extract info out of callerID state machine. Flags are listed above
* \param cid Callerid state machine to act upon
* \param number Pass the address of a pointer-to-char (will contain the phone number)
* \param name Pass the address of a pointer-to-char (will contain the name)
@@ -129,7 +129,7 @@
* This function extracts a callerid string out of a callerid_state state machine.
* If no number is found, *number will be set to NULL. Likewise for the name.
* Flags can contain any of the following:
- *
+ *
* \return Returns nothing.
*/
void callerid_get(struct callerid_state *cid, char **number, char **name, int *flags);
@@ -147,9 +147,9 @@
* \param cid This is the callerid_state state machine to free
* This function frees callerid_state cid.
*/
-extern void callerid_free(struct callerid_state *cid);
-
-/*! \brief Generate Caller-ID spill from the "callerid" field of asterisk (in e-mail address like format)
+void callerid_free(struct callerid_state *cid);
+
+/*! \brief Generate Caller-ID spill from the "callerid" field of asterisk (in e-mail address like format)
* \param buf buffer for output samples. See callerid_generate() for details regarding buffer.
* \param name Caller-ID Name
* \param number Caller-ID Number
@@ -157,24 +157,24 @@
*
* Acts like callerid_generate except uses an asterisk format callerid string.
*/
-extern int ast_callerid_generate(unsigned char *buf, char *name, char *number, int codec);
+int ast_callerid_generate(unsigned char *buf, char *name, char *number, int codec);
/*! \brief Generate message waiting indicator (stutter tone) */
-extern int vmwi_generate(unsigned char *buf, int active, int mdmf, int codec);
-
-/*! \brief Generate Caller-ID spill but in a format suitable for Call Waiting(tm)'s Caller*ID(tm)
+int vmwi_generate(unsigned char *buf, int active, int mdmf, int codec);
+
+/*! \brief Generate Caller-ID spill but in a format suitable for Call Waiting(tm)'s Caller*ID(tm)
* See ast_callerid_generate() for other details
*/
-extern int ast_callerid_callwaiting_generate(unsigned char *buf, char *name, char *number, int codec);
-
-/*! \brief Destructively parse inbuf into name and location (or number)
+int ast_callerid_callwaiting_generate(unsigned char *buf, char *name, char *number, int codec);
+
+/*! \brief Destructively parse inbuf into name and location (or number)
* Parses callerid stream from inbuf and changes into useable form, outputed in name and location.
* \param instr buffer of callerid stream (in audio form) to be parsed. Warning, data in buffer is changed.
[... 1531 lines stripped ...]
More information about the asterisk-commits
mailing list