[svn-commits] branch oej/peermatch r14418 - in /team/oej/peermatch:
./ agi/ apps/ cdr/ chan...
svn-commits at lists.digium.com
svn-commits at lists.digium.com
Thu Mar 23 11:38:57 MST 2006
Author: oej
Date: Thu Mar 23 12:38:32 2006
New Revision: 14418
URL: http://svn.digium.com/view/asterisk?rev=14418&view=rev
Log:
Reset automerge
Modified:
team/oej/peermatch/ (props changed)
team/oej/peermatch/Makefile
team/oej/peermatch/UPGRADE.txt
team/oej/peermatch/agi/Makefile
team/oej/peermatch/apps/app_dial.c
team/oej/peermatch/apps/app_meetme.c
team/oej/peermatch/apps/app_voicemail.c
team/oej/peermatch/astmm.c
team/oej/peermatch/cdr.c
team/oej/peermatch/cdr/Makefile
team/oej/peermatch/channel.c
team/oej/peermatch/channels/chan_iax2.c
team/oej/peermatch/channels/chan_misdn.c
team/oej/peermatch/channels/chan_sip.c
team/oej/peermatch/channels/chan_skinny.c
team/oej/peermatch/channels/chan_zap.c
team/oej/peermatch/channels/misdn/chan_misdn_config.h
team/oej/peermatch/channels/misdn/isdn_lib.c
team/oej/peermatch/channels/misdn_config.c
team/oej/peermatch/codecs/Makefile
team/oej/peermatch/codecs/gsm/libgsm.vcproj (props changed)
team/oej/peermatch/codecs/ilbc/libilbc.vcproj (props changed)
team/oej/peermatch/codecs/lpc10/liblpc10.vcproj (props changed)
team/oej/peermatch/configs/features.conf.sample
team/oej/peermatch/configs/indications.conf.sample
team/oej/peermatch/configs/misdn.conf.sample
team/oej/peermatch/configs/sip.conf.sample
team/oej/peermatch/configs/zapata.conf.sample
team/oej/peermatch/db.c
team/oej/peermatch/doc/enum.txt
team/oej/peermatch/editline/term.c
team/oej/peermatch/funcs/func_enum.c
team/oej/peermatch/image.c
team/oej/peermatch/include/asterisk/cdr.h
team/oej/peermatch/include/asterisk/channel.h
team/oej/peermatch/include/asterisk/compat.h
team/oej/peermatch/include/asterisk/module.h
team/oej/peermatch/include/asterisk/say.h
team/oej/peermatch/include/solaris-compat/compat.h
team/oej/peermatch/pbx.c
team/oej/peermatch/res/res_features.c
team/oej/peermatch/sample.call
team/oej/peermatch/say.c
team/oej/peermatch/sounds.txt
team/oej/peermatch/strcompat.c
Propchange: team/oej/peermatch/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.
Propchange: team/oej/peermatch/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/oej/peermatch/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Mar 23 12:38:32 2006
@@ -1,1 +1,1 @@
-/trunk:1-13527
+/trunk:1-14417
Modified: team/oej/peermatch/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/Makefile?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/Makefile (original)
+++ team/oej/peermatch/Makefile Thu Mar 23 12:38:32 2006
@@ -357,7 +357,7 @@
SUBDIRS=res channels pbx apps codecs formats agi cdr funcs utils stdtime
OBJS=io.o sched.o logger.o frame.o loader.o config.o channel.o \
- translate.o file.o say.o pbx.o cli.o md5.o term.o \
+ translate.o file.o pbx.o cli.o md5.o term.o \
ulaw.o alaw.o callerid.o fskmodem.o image.o app.o \
cdr.o tdd.o acl.o rtp.o udptl.o manager.o asterisk.o \
dsp.o chanvars.o indications.o autoservice.o db.o privacy.o \
@@ -365,6 +365,15 @@
utils.o plc.o jitterbuf.o dnsmgr.o devicestate.o \
netsock.o slinfactory.o ast_expr2.o ast_expr2f.o \
cryptostub.o sha1.o
+
+# we need to link in the objects statically, not as a library, because
+# otherwise modules will not have them available if none of the static
+# objects use it.
+OBJS+= stdtime/localtime.o
+
+# At the moment say.o is an optional component which can be overridden
+# by a module.
+OBJS+= say.o
ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/sys/poll.h),)
OBJS+= poll.o
Modified: team/oej/peermatch/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/UPGRADE.txt?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/UPGRADE.txt (original)
+++ team/oej/peermatch/UPGRADE.txt Thu Mar 23 12:38:32 2006
@@ -76,3 +76,10 @@
ASTBINDIR /usr/local/bin/asterisk
ASTSBINDIR /usr/local/sbin/asterisk
+Sounds:
+
+* The phonetic sounds directory has been removed from the asterisk-sounds package
+ because they are now included directly in Asterisk. However, it is important to
+ note that the phonetic sounds that existed in asterisk-sounds used a different
+ naming convention than the sounds in Asterisk. For example, instead of alpha.gsm
+ and bravo.gsm, Asterisk has a_p.gsm and b_p.gsm.
Modified: team/oej/peermatch/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/agi/Makefile?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/agi/Makefile (original)
+++ team/oej/peermatch/agi/Makefile Thu Mar 23 12:38:32 2006
@@ -13,15 +13,11 @@
AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi
-CFLAGS+=
+CFLAGS+=-DNO_AST_MM
LIBS=
ifeq ($(OSARCH),SunOS)
LIBS=-lsocket -lnsl ../strcompat.o
-endif
-
-ifeq ($(findstring BSD,${OSARCH}),BSD)
- CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include -L$(CROSS_COMPILE_TARGET)/usr/local/lib
endif
all: depend $(AGIS)
Modified: team/oej/peermatch/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/apps/app_dial.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/apps/app_dial.c (original)
+++ team/oej/peermatch/apps/app_dial.c Thu Mar 23 12:38:32 2006
@@ -112,9 +112,10 @@
" other than the number assigned to the caller.\n"
" g - Proceed with dialplan execution at the current extension if the\n"
" destination channel hangs up.\n"
-" G(context^exten^pri) - If the call is answered, transfer both parties to\n"
-" the specified priority. Optionally, an extension, or extension and\n"
-" context may be specified. Otherwise, the current extension is used.\n"
+" G(context^exten^pri) - If the call is answered, transfer the calling party to\n"
+" the specified priority and the called party to the specified priority+1.\n"
+" Optionally, an extension, or extension and context may be specified. \n"
+" Otherwise, the current extension is used.\n"
" h - Allow the called party to hang up by sending the '*' DTMF digit.\n"
" H - Allow the calling party to hang up by hitting the '*' DTMF digit.\n"
" j - Jump to priority n+101 if all of the requested channels were busy.\n"
@@ -1425,6 +1426,7 @@
}
ast_parseable_goto(chan, opt_args[OPT_ARG_GOTO]);
ast_parseable_goto(peer, opt_args[OPT_ARG_GOTO]);
+ peer->priority++;
ast_pbx_start(peer);
hanguptree(outgoing, NULL);
LOCAL_USER_REMOVE(u);
Modified: team/oej/peermatch/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/apps/app_meetme.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/apps/app_meetme.c (original)
+++ team/oej/peermatch/apps/app_meetme.c Thu Mar 23 12:38:32 2006
@@ -957,7 +957,9 @@
snprintf(user->namerecloc, sizeof(user->namerecloc),
"%s/meetme/meetme-username-%s-%d", ast_config_AST_SPOOL_DIR,
conf->confno, user->user_no);
- ast_record_review(chan, "vm-rec-name", user->namerecloc, 10, "sln", &duration, NULL);
+ res = ast_record_review(chan, "vm-rec-name", user->namerecloc, 10, "sln", &duration, NULL);
+ if (res == -1)
+ goto outrun;
}
if ( !(confflags & (CONFFLAG_QUIET | CONFFLAG_NOONLYPERSON)) ) {
@@ -1830,28 +1832,20 @@
ast_log(LOG_WARNING, "No %s file :(\n", CONFIG_FILE_NAME);
return NULL;
}
- var = ast_variable_browse(cfg, "rooms");
- for (; var; var = var->next) {
+ for (var = ast_variable_browse(cfg, "rooms"); var; var = var->next) {
if (strcasecmp(var->name, "conf"))
continue;
if (!(parse = ast_strdupa(var->value)))
return NULL;
- AST_STANDARD_APP_ARGS(args, parse);
+ AST_NONSTANDARD_APP_ARGS(args, parse, ',');
if (!strcasecmp(args.confno, confno)) {
/* Bingo it's a valid conference */
- if (args.pin) {
- if (args.pinadmin)
- cnf = build_conf(args.confno, args.pin, args.pinadmin, make, dynamic, refcount);
- else
- cnf = build_conf(args.confno, args.pin, "", make, dynamic, refcount);
- } else {
- if (args.pinadmin)
- cnf = build_conf(args.confno, "", args.pinadmin, make, dynamic, refcount);
- else
- cnf = build_conf(args.confno, "", "", make, dynamic, refcount);
- }
+ cnf = build_conf(args.confno,
+ ast_strlen_zero(args.pin) ? "" : args.pin,
+ ast_strlen_zero(args.pinadmin) ? "" : args.pinadmin,
+ make, dynamic, refcount);
break;
}
}
@@ -2026,7 +2020,7 @@
AST_LIST_UNLOCK(&confs);
if (!found) {
/* At this point, we have a confno_tmp (static conference) that is empty */
- if ((empty_no_pin && ((!stringp) || (stringp && (stringp[0] == '\0')))) || (!empty_no_pin)) {
+ if ((empty_no_pin && ast_strlen_zero(stringp)) || (!empty_no_pin)) {
/* Case 1: empty_no_pin and pin is nonexistent (NULL)
* Case 2: empty_no_pin and pin is blank (but not NULL)
* Case 3: not empty_no_pin
Modified: team/oej/peermatch/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/apps/app_voicemail.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/apps/app_voicemail.c (original)
+++ team/oej/peermatch/apps/app_voicemail.c Thu Mar 23 12:38:32 2006
@@ -2364,7 +2364,7 @@
static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_options *options)
{
- char txtfile[256];
+ char tmptxtfile[256], txtfile[256];
char callerid[256];
FILE *txt;
int res = 0;
@@ -2561,7 +2561,8 @@
/* Store information */
snprintf(txtfile, sizeof(txtfile), "%s.txt", fn);
- txt = fopen(txtfile, "w+");
+ snprintf(tmptxtfile, sizeof(tmptxtfile), "%s.txt.tmp", fn);
+ txt = fopen(tmptxtfile, "w+");
if (txt) {
get_date(date, sizeof(date));
fprintf(txt,
@@ -2601,6 +2602,7 @@
if (txt) {
fprintf(txt, "duration=%d\n", duration);
fclose(txt);
+ rename(tmptxtfile, txtfile);
}
if (duration < vmminmessage) {
@@ -3695,13 +3697,15 @@
if (!ast_strlen_zero(prefile)) {
/* See if we can find a recorded name for this person instead of their extension number */
if (ast_fileexists(prefile, NULL, NULL) > 0) {
- ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
if (!callback)
res = wait_file2(chan, vms, "vm-from");
res = ast_streamfile(chan, prefile, chan->language) > -1;
res = ast_waitstream(chan, "");
} else {
- ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: message from '%s'\n", callerid);
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: message from '%s'\n", callerid);
/* BB: Say "from extension" as one saying to sound smoother */
if (!callback)
res = wait_file2(chan, vms, "vm-from-extension");
@@ -5354,7 +5358,8 @@
cmd = 't';
break;
case '2': /* Callback */
- ast_verbose( VERBOSE_PREFIX_3 "Callback Requested\n");
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Callback Requested\n");
if (!ast_strlen_zero(vmu->callback) && vms.lastmsg > -1) {
cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 2, record_gain);
if (cmd == 9) {
@@ -6441,7 +6446,8 @@
int retries = 0;
if (!num) {
- ast_verbose( VERBOSE_PREFIX_3 "Destination number will be entered manually\n");
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Destination number will be entered manually\n");
while (retries < 3 && cmd != 't') {
destination[1] = '\0';
destination[0] = cmd = ast_play_and_wait(chan,"vm-enter-num-to-call");
@@ -6461,7 +6467,8 @@
if (cmd < 0)
return 0;
if (cmd == '*') {
- ast_verbose( VERBOSE_PREFIX_3 "User hit '*' to cancel outgoing call\n");
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "User hit '*' to cancel outgoing call\n");
return 0;
}
if ((cmd = ast_readstring(chan,destination + strlen(destination),sizeof(destination)-1,6000,10000,"#")) < 0)
@@ -6475,14 +6482,16 @@
}
} else {
- ast_verbose( VERBOSE_PREFIX_3 "Destination number is CID number '%s'\n", num);
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Destination number is CID number '%s'\n", num);
ast_copy_string(destination, num, sizeof(destination));
}
if (!ast_strlen_zero(destination)) {
if (destination[strlen(destination) -1 ] == '*')
return 0;
- ast_verbose( VERBOSE_PREFIX_3 "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
ast_copy_string(chan->exten, destination, sizeof(chan->exten));
ast_copy_string(chan->context, outgoing_context, sizeof(chan->context));
chan->priority = 0;
@@ -6553,7 +6562,8 @@
if (res)
return 9;
} else {
- ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
res = ast_play_and_wait(chan, "vm-sorry");
}
return res;
@@ -6574,7 +6584,8 @@
break;
default:
if (num) {
- ast_verbose( VERBOSE_PREFIX_3 "Confirm CID number '%s' is number to use for callback\n", num);
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Confirm CID number '%s' is number to use for callback\n", num);
res = ast_play_and_wait(chan, "vm-num-i-have");
if (!res)
res = play_message_callerid(chan, vms, num, vmu->context, 1);
@@ -6616,7 +6627,8 @@
if (!ast_strlen_zero(cid)) {
ast_callerid_parse(cid, &name, &num);
if (!num) {
- ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
if (!res)
res = ast_play_and_wait(chan, "vm-nonumber");
return res;
@@ -6624,7 +6636,8 @@
if (find_user(NULL, vmu->context, num)) {
struct leave_vm_options leave_options;
- ast_verbose(VERBOSE_PREFIX_3 "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);
memset(&leave_options, 0, sizeof(leave_options));
leave_options.record_gain = record_gain;
@@ -6634,7 +6647,8 @@
return res;
} else {
/* Sender has no mailbox, can't reply */
- ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
ast_play_and_wait(chan, "vm-nobox");
res = 't';
return res;
@@ -6685,7 +6699,8 @@
break;
} else {
/* Otherwise 1 is to save the existing message */
- ast_verbose(VERBOSE_PREFIX_3 "Saving message as is\n");
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Saving message as is\n");
ast_streamfile(chan, "vm-msgsaved", chan->language);
ast_waitstream(chan, "");
STORE(recordfile, vmu->mailbox, vmu->context, -1);
@@ -6695,17 +6710,21 @@
}
case '2':
/* Review */
- ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
ast_streamfile(chan, recordfile, chan->language);
cmd = ast_waitstream(chan, AST_DIGIT_ANY);
break;
case '3':
message_exists = 0;
/* Record */
- if (recorded == 1)
- ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
- else
- ast_verbose(VERBOSE_PREFIX_3 "Recording the message\n");
+ if (recorded == 1) {
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
+ } else {
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Recording the message\n");
+ }
if (recorded && outsidecaller) {
cmd = ast_play_and_wait(chan, INTRO);
cmd = ast_play_and_wait(chan, "beep");
@@ -6729,14 +6748,16 @@
#if 0
else if (vmu->review && (*duration < 5)) {
/* Message is too short */
- ast_verbose(VERBOSE_PREFIX_3 "Message too short\n");
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Message too short\n");
cmd = ast_play_and_wait(chan, "vm-tooshort");
cmd = vm_delete(recordfile);
break;
}
else if (vmu->review && (cmd == 2 && *duration < (maxsilence + 3))) {
/* Message is all silence */
- ast_verbose(VERBOSE_PREFIX_3 "Nothing recorded\n");
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Nothing recorded\n");
cmd = vm_delete(recordfile);
cmd = ast_play_and_wait(chan, "vm-nothingrecorded");
if (!cmd)
Modified: team/oej/peermatch/astmm.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/astmm.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/astmm.c (original)
+++ team/oej/peermatch/astmm.c Thu Mar 23 12:38:32 2006
@@ -38,6 +38,7 @@
#include "asterisk/options.h"
#include "asterisk/lock.h"
#include "asterisk/strings.h"
+#include "asterisk/unaligned.h"
#define SOME_PRIME 563
@@ -104,7 +105,7 @@
regions[hash] = reg;
reg->fence = FENCE_MAGIC;
fence = (ptr + reg->len);
- *fence = FENCE_MAGIC;
+ put_unaligned_uint32(fence, FENCE_MAGIC);
}
ast_mutex_unlock(®lock);
if (!reg) {
@@ -166,7 +167,7 @@
fflush(mmlog);
}
}
- if (*fence != FENCE_MAGIC) {
+ if (get_unaligned_uint32(fence) != FENCE_MAGIC) {
fprintf(stderr, "WARNING: High fence violation at %p, in %s of %s, line %d\n", reg->data, reg->func, reg->file, reg->lineno);
if (mmlog) {
fprintf(mmlog, "%ld - WARNING: High fence violation at %p, in %s of %s, line %d\n", time(NULL), reg->data, reg->func, reg->file, reg->lineno);
@@ -316,7 +317,7 @@
fflush(mmlog);
}
}
- if (*fence != FENCE_MAGIC) {
+ if (get_unaligned_uint32(fence) != FENCE_MAGIC) {
fprintf(stderr, "WARNING: High fence violation at %p, in %s of %s, line %d\n", reg->data, reg->func, reg->file, reg->lineno);
if (mmlog) {
fprintf(mmlog, "%ld - WARNING: High fence violation at %p, in %s of %s, line %d\n", time(NULL), reg->data, reg->func, reg->file, reg->lineno);
Modified: team/oej/peermatch/cdr.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/cdr.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/cdr.c (original)
+++ team/oej/peermatch/cdr.c Thu Mar 23 12:38:32 2006
@@ -515,8 +515,10 @@
chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>";
if (ast_test_flag(cdr, AST_CDR_FLAG_POSTED))
ast_log(LOG_WARNING, "CDR on channel '%s' already posted\n", chan);
- if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED))
- cdr->disposition = AST_CDR_FAILED;
+ if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
+ if (cdr->disposition < AST_CDR_FAILED)
+ cdr->disposition = AST_CDR_FAILED;
+ }
cdr = cdr->next;
}
}
Modified: team/oej/peermatch/cdr/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/cdr/Makefile?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/cdr/Makefile (original)
+++ team/oej/peermatch/cdr/Makefile Thu Mar 23 12:38:32 2006
@@ -35,11 +35,6 @@
CYGSOLIB=-L.. -L. -lasterisk.dll
else
CFLAGS+=-fPIC
-endif
-
-ifeq ($(findstring BSD,${OSARCH}),BSD)
- CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include
- SOLINK+=-L$(CROSS_COMPILE_TARGET)/usr/local/lib
endif
#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
Modified: team/oej/peermatch/channel.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/channel.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/channel.c (original)
+++ team/oej/peermatch/channel.c Thu Mar 23 12:38:32 2006
@@ -1006,6 +1006,7 @@
while ((vardata = AST_LIST_REMOVE_HEAD(headp, entries)))
ast_var_delete(vardata);
+ ast_string_field_free_all(chan);
free(chan);
AST_LIST_UNLOCK(&channels);
Modified: team/oej/peermatch/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/channels/chan_iax2.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/channels/chan_iax2.c (original)
+++ team/oej/peermatch/channels/chan_iax2.c Thu Mar 23 12:38:32 2006
@@ -5037,7 +5037,8 @@
ast_copy_string(iaxs[callno]->cid_name, user->cid_name, sizeof(iaxs[callno]->cid_name));
iaxs[callno]->calling_pres = AST_PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN;
}
- ast_copy_string(iaxs[callno]->ani, user->cid_num, sizeof(iaxs[callno]->ani));
+ if (ast_strlen_zero(iaxs[callno]->ani))
+ ast_copy_string(iaxs[callno]->ani, user->cid_num, sizeof(iaxs[callno]->ani));
} else {
iaxs[callno]->calling_pres = AST_PRES_NUMBER_NOT_AVAILABLE;
}
Modified: team/oej/peermatch/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/channels/chan_misdn.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/channels/chan_misdn.c (original)
+++ team/oej/peermatch/channels/chan_misdn.c Thu Mar 23 12:38:32 2006
@@ -1105,6 +1105,21 @@
chan_misdn_log(1,port,"update_config: Getting Config\n");
+
+ int hdlc=0;
+ misdn_cfg_get( port, MISDN_CFG_HDLC, &hdlc, sizeof(int));
+
+ if (hdlc) {
+ switch (bc->capability) {
+ case INFO_CAPABILITY_DIGITAL_UNRESTRICTED:
+ case INFO_CAPABILITY_DIGITAL_RESTRICTED:
+ chan_misdn_log(1,bc->port," --> CONF HDLC\n");
+ bc->hdlc=1;
+ break;
+ }
+
+ }
+
int pres, screen;
@@ -1244,7 +1259,19 @@
misdn_cfg_get( port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(int));
-
+ int hdlc=0;
+ misdn_cfg_get( port, MISDN_CFG_HDLC, &hdlc, sizeof(int));
+
+ if (hdlc) {
+ switch (bc->capability) {
+ case INFO_CAPABILITY_DIGITAL_UNRESTRICTED:
+ case INFO_CAPABILITY_DIGITAL_RESTRICTED:
+ chan_misdn_log(1,bc->port," --> CONF HDLC\n");
+ bc->hdlc=1;
+ break;
+ }
+
+ }
/*Initialize new Jitterbuffer*/
{
misdn_cfg_get( port, MISDN_CFG_JITTERBUFFER, &ch->jb_len, sizeof(int));
@@ -1573,7 +1600,7 @@
/* update screening and presentation */
update_config(ch,ORG_AST);
-
+
/* fill in some ies from channel vary*/
import_ies(ast, newbc);
@@ -2053,7 +2080,7 @@
if ( !frame->subclass) {
- chan_misdn_log(0, ch->bc->port, "misdn_write: * prods us\n");
+ chan_misdn_log(2, ch->bc->port, "misdn_write: * prods us\n");
return 0;
}
@@ -2137,19 +2164,19 @@
int ecwb;
misdn_cfg_get( ch1->bc->port, MISDN_CFG_ECHOCANCELWHENBRIDGED, &ecwb, sizeof(int));
if ( !ecwb ) {
- chan_misdn_log(0, ch1->bc->port, "Disabling Echo Cancellor when Bridged\n");
+ chan_misdn_log(2, ch1->bc->port, "Disabling Echo Cancellor when Bridged\n");
ch1->bc->ec_enable=0;
manager_ec_disable(ch1->bc);
}
misdn_cfg_get( ch2->bc->port, MISDN_CFG_ECHOCANCELWHENBRIDGED, &ecwb, sizeof(int));
if ( !ecwb ) {
- chan_misdn_log(0, ch2->bc->port, "Disabling Echo Cancellor when Bridged\n");
+ chan_misdn_log(2, ch2->bc->port, "Disabling Echo Cancellor when Bridged\n");
ch2->bc->ec_enable=0;
manager_ec_disable(ch2->bc);
}
/* trying to make a mISDN_dsp conference */
- chan_misdn_log(0, ch1->bc->port, "I SEND: Making conference with Number:%d\n", (ch1->bc->pid<<1) +1);
+ chan_misdn_log(1, ch1->bc->port, "I SEND: Making conference with Number:%d\n", (ch1->bc->pid<<1) +1);
misdn_lib_bridge(ch1->bc,ch2->bc);
}
@@ -2201,7 +2228,7 @@
const struct tone_zone_sound *ts= NULL;
struct ast_channel *ast=cl->ast;
- chan_misdn_log(0,cl->bc->port,"Tone Indicate:\n");
+ chan_misdn_log(2,cl->bc->port,"Tone Indicate:\n");
if (!cl->ast) {
return 0;
@@ -2209,17 +2236,17 @@
switch (tone) {
case TONE_DIAL:
- chan_misdn_log(0,cl->bc->port," --> Dial\n");
+ chan_misdn_log(2,cl->bc->port," --> Dial\n");
ts=ast_get_indication_tone(ast->zone,"dial");
misdn_lib_tone_generator_start(cl->bc);
break;
case TONE_ALERTING:
- chan_misdn_log(0,cl->bc->port," --> Ring\n");
+ chan_misdn_log(2,cl->bc->port," --> Ring\n");
ts=ast_get_indication_tone(ast->zone,"ring");
misdn_lib_tone_generator_stop(cl->bc);
break;
case TONE_BUSY:
- chan_misdn_log(0,cl->bc->port," --> Busy\n");
+ chan_misdn_log(2,cl->bc->port," --> Busy\n");
ts=ast_get_indication_tone(ast->zone,"busy");
misdn_lib_tone_generator_stop(cl->bc);
break;
@@ -2227,7 +2254,7 @@
break;
case TONE_NONE:
- chan_misdn_log(0,cl->bc->port," --> None\n");
+ chan_misdn_log(2,cl->bc->port," --> None\n");
misdn_lib_tone_generator_stop(cl->bc);
ast_playtones_stop(ast);
break;
@@ -3298,7 +3325,7 @@
}
- chan_misdn_log(0,bc->port,"CONTEXT:%s\n",ch->context);
+ chan_misdn_log(5,bc->port,"CONTEXT:%s\n",ch->context);
if(!ast_canmatch_extension(ch->ast, ch->context, bc->dad, 1, bc->oad)) {
chan_misdn_log(-1, bc->port, "Extension can never match, so disconnecting\n");
Modified: team/oej/peermatch/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/channels/chan_sip.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/channels/chan_sip.c (original)
+++ team/oej/peermatch/channels/chan_sip.c Thu Mar 23 12:38:32 2006
@@ -396,7 +396,7 @@
static struct ast_codec_pref default_prefs; /*!< Default codec prefs */
/* Global settings only apply to the channel */
-static int global_rtautoclear = 120;
+static int global_rtautoclear;
static int global_notifyringing; /*!< Send notifications on ringing */
static int srvlookup; /*!< SRV Lookup on or off. Default is off, RFC behavior is on */
static int pedanticsipchecking; /*!< Extra checking ? Default off */
@@ -415,7 +415,7 @@
static int recordhistory; /*!< Record SIP history. Off by default */
static int dumphistory; /*!< Dump history to verbose before destroying SIP dialog */
static char global_realm[MAXHOSTNAMELEN]; /*!< Default realm */
-static char regcontext[AST_MAX_CONTEXT]; /*!< Context for auto-extensions */
+static char global_regcontext[AST_MAX_CONTEXT]; /*!< Context for auto-extensions */
static char global_useragent[AST_MAX_EXTENSION]; /*!< Useragent for the SIP channel */
static int allow_external_domains; /*!< Accept calls to external SIP domains? */
static int global_callevents; /*!< Whether we send manager events or not */
@@ -599,7 +599,7 @@
#define SIP_FLAGS_TO_COPY \
(SIP_PROMISCREDIR | SIP_TRUSTRPID | SIP_SENDRPID | SIP_DTMF | SIP_REINVITE | \
SIP_PROG_INBAND | SIP_OSPAUTH | SIP_USECLIENTCODE | SIP_NAT | \
- SIP_INSECURE_PORT | SIP_INSECURE_INVITE)
+ SIP_USEREQPHONE | SIP_INSECURE_PORT | SIP_INSECURE_INVITE)
/* a new page of flags for peers */
#define SIP_PAGE2_RTCACHEFRIENDS (1 << 0)
@@ -620,7 +620,6 @@
#define sipdebug ast_test_flag(&global_flags_page2, SIP_PAGE2_DEBUG)
#define sipdebug_config ast_test_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONFIG)
#define sipdebug_console ast_test_flag(&global_flags_page2, SIP_PAGE2_DEBUG_CONSOLE)
-
/*! \brief sip_pvt: PVT structures are used for each SIP dialog, ie. a call, a registration, a subscribe */
static struct sip_pvt {
@@ -1648,15 +1647,15 @@
{
char multi[256];
char *stringp, *ext;
- if (!ast_strlen_zero(regcontext)) {
+ if (!ast_strlen_zero(global_regcontext)) {
ast_copy_string(multi, ast_strlen_zero(peer->regexten) ? peer->name : peer->regexten, sizeof(multi));
stringp = multi;
while((ext = strsep(&stringp, "&"))) {
if (onoff)
- ast_add_extension(regcontext, 1, ext, 1, NULL, NULL, "Noop",
+ ast_add_extension(global_regcontext, 1, ext, 1, NULL, NULL, "Noop",
ast_strdup(peer->name), free, "SIP");
else
- ast_context_remove_extension(regcontext, ext, 1, NULL);
+ ast_context_remove_extension(global_regcontext, ext, 1, NULL);
}
}
}
@@ -1683,6 +1682,7 @@
if (device->type & SIP_PEER) {
register_peer_exten(device, FALSE);
clear_realm_authentication(device->auth);
+ device->auth = (struct sip_auth *) NULL;
if (ast_test_flag((&device->flags_page2), SIP_PAGE2_SELFDESTRUCT))
apeerobjs--;
else if (ast_test_flag(device, SIP_REALTIME))
@@ -1696,7 +1696,6 @@
else
suserobjs--;
}
- device->auth = (struct sip_auth *) NULL;
if (device->dnsmgr)
ast_dnsmgr_release(device->dnsmgr);
free(device);
@@ -5750,7 +5749,7 @@
destroy_association(peer);
manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "Peer: SIP/%s\r\nPeerStatus: Unregistered\r\nCause: Expired\r\n", peer->name);
- register_peer_exten(peer, 0);
+ register_peer_exten(peer, FALSE);
peer->expire = -1;
ast_device_state_changed("SIP/%s", peer->name);
if (ast_test_flag((&peer->flags_page2), SIP_PAGE2_SELFDESTRUCT) || ast_test_flag((&peer->flags_page2), SIP_PAGE2_RTAUTOCLEAR)) {
@@ -5829,7 +5828,7 @@
if (peer->expire > -1)
ast_sched_del(sched, peer->expire);
peer->expire = ast_sched_add(sched, (expiry + 10) * 1000, expire_register, peer);
- register_peer_exten(peer, 1);
+ register_peer_exten(peer, TRUE);
}
/*! \brief Parse contact header for 200 OK on INVITE */
@@ -7904,7 +7903,6 @@
static char mandescr_show_peer[] =
"Description: Show one SIP peer with details on current status.\n"
-" The XML format is under development, feedback welcome! /oej\n"
"Variables: \n"
" Peer: <name> The peer name you want to check.\n"
" ActionID: <id> Optional action ID for this AMI transaction.\n";
@@ -8018,6 +8016,8 @@
ast_cli(fd, " ToHost : %s\n", peer->tohost);
ast_cli(fd, " Addr->IP : %s Port %d\n", peer->addr.sin_addr.s_addr ? ast_inet_ntoa(iabuf, sizeof(iabuf), peer->addr.sin_addr) : "(Unspecified)", ntohs(peer->addr.sin_port));
ast_cli(fd, " Defaddr->IP : %s Port %d\n", ast_inet_ntoa(iabuf, sizeof(iabuf), peer->defaddr.sin_addr), ntohs(peer->defaddr.sin_port));
+ if (!ast_strlen_zero(global_regcontext))
+ ast_cli(fd, " Reg. exten : %s\n", peer->regexten);
ast_cli(fd, " Def. Username: %s\n", peer->username);
ast_cli(fd, " SIP Options : ");
if (peer->sipoptions) {
@@ -8093,6 +8093,8 @@
ast_cli(fd, "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));
ast_cli(fd, "Default-addr-IP: %s\r\nDefault-addr-port: %d\r\n", ast_inet_ntoa(iabuf, sizeof(iabuf), peer->defaddr.sin_addr), ntohs(peer->defaddr.sin_port));
ast_cli(fd, "Default-Username: %s\r\n", peer->username);
+ if (!ast_strlen_zero(global_regcontext))
+ ast_cli(fd, "RegExtension: %s\r\n", peer->regexten);
ast_cli(fd, "Codecs: ");
ast_getformatname_multiple(codec_buf, sizeof(codec_buf) -1, peer->capability);
ast_cli(fd, "%s\r\n", codec_buf);
@@ -8242,7 +8244,7 @@
ast_cli(fd, " Realm. auth: %s\n", authl ? "Yes": "No");
ast_cli(fd, " User Agent: %s\n", global_useragent);
ast_cli(fd, " MWI checking interval: %d secs\n", global_mwitime);
- ast_cli(fd, " Reg. context: %s\n", ast_strlen_zero(regcontext) ? "(not set)" : regcontext);
+ ast_cli(fd, " Reg. context: %s\n", ast_strlen_zero(global_regcontext) ? "(not set)" : global_regcontext);
ast_cli(fd, " Caller ID: %s\n", default_callerid);
ast_cli(fd, " From: Domain: %s\n", default_fromdomain);
ast_cli(fd, " Record SIP history: %s\n", recordhistory ? "On" : "Off");
@@ -10320,6 +10322,7 @@
if (required_profile) { /* They require something */
/* At this point we support no extensions, so fail */
transmit_response_with_unsupported(p, "420 Bad extension", req, required);
+ ast_log(LOG_WARNING,"Received SIP INVITE with unsupported required extension: %s\n", required);
if (!p->lastinvite)
ast_set_flag(p, SIP_NEEDDESTROY);
return -1;
@@ -12333,7 +12336,7 @@
/* Reset channel settings to default before re-configuring */
allow_external_domains = DEFAULT_ALLOW_EXT_DOM; /* Allow external invites */
- regcontext[0] = '\0';
+ global_regcontext[0] = '\0';
expiry = DEFAULT_EXPIRY;
global_notifyringing = DEFAULT_NOTIFYRINGING;
ast_copy_string(global_useragent, DEFAULT_USERAGENT, sizeof(global_useragent));
@@ -12351,6 +12354,7 @@
global_rtptimeout = 0;
global_rtpholdtimeout = 0;
global_rtpkeepalive = 0;
+ global_rtautoclear = 120;
ast_set_flag(&global_flags_page2, SIP_PAGE2_RTUPDATE);
/* Initialize some reasonable defaults at SIP reload (used both for channel and as default for peers and users */
@@ -12442,10 +12446,10 @@
} else if (!strcasecmp(v->name, "language")) {
ast_copy_string(default_language, v->value, sizeof(default_language));
} else if (!strcasecmp(v->name, "regcontext")) {
- ast_copy_string(regcontext, v->value, sizeof(regcontext));
+ ast_copy_string(global_regcontext, v->value, sizeof(global_regcontext));
/* Create context if it doesn't exist already */
- if (!ast_context_find(regcontext))
- ast_context_create(NULL, regcontext, "SIP");
+ if (!ast_context_find(global_regcontext))
+ ast_context_create(NULL, global_regcontext, "SIP");
} else if (!strcasecmp(v->name, "callerid")) {
ast_copy_string(default_callerid, v->value, sizeof(default_callerid));
} else if (!strcasecmp(v->name, "fromdomain")) {
Modified: team/oej/peermatch/channels/chan_skinny.c
URL: http://svn.digium.com/view/asterisk/team/oej/peermatch/channels/chan_skinny.c?rev=14418&r1=14417&r2=14418&view=diff
==============================================================================
--- team/oej/peermatch/channels/chan_skinny.c (original)
+++ team/oej/peermatch/channels/chan_skinny.c Thu Mar 23 12:38:32 2006
@@ -19,7 +19,7 @@
/*! \file
*
* \brief Implementation of the Skinny protocol
- *
+ *
* \author Jeremy McNamara & Florian Overkamp
* \ingroup channel_drivers
*/
@@ -70,9 +70,9 @@
#include "asterisk/dsp.h"
#include "asterisk/stringfields.h"
-/************************************************************************************/
-/* Skinny/Asterisk Protocol Settings */
-/************************************************************************************/
+/*************************************
+ * Skinny/Asterisk Protocol Settings *
+ *************************************/
static const char desc[] = "Skinny Client Control Protocol (Skinny)";
static const char tdesc[] = "Skinny Client Control Protocol (Skinny)";
static const char config[] = "skinny.conf";
@@ -81,17 +81,17 @@
static int capability = AST_FORMAT_ULAW;
#define DEFAULT_SKINNY_PORT 2000
-#define DEFAULT_SKINNY_BACKLOG 2
+#define DEFAULT_SKINNY_BACKLOG 2
#define SKINNY_MAX_PACKET 1000
-static int keep_alive = 120;
+static int keep_alive = 120;
static char date_format[6] = "D-M-Y";
static char version_id[16] = "P002F202";
/* these should be in an include file, but dunno what to include */
-typedef unsigned char UINT8;
-typedef unsigned short UINT16;
-typedef unsigned int UINT32;
+typedef unsigned char UINT8;
+typedef unsigned short UINT16;
+typedef unsigned int UINT32;
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define letohl(x) (x)
@@ -101,13 +101,13 @@
#else
#if defined(SOLARIS) || defined(__Darwin__) || defined(__NetBSD__)
#define __bswap_16(x) \
- ((((x) & 0xff00) >> 8) | \
- (((x) & 0x00ff) << 8))
+ ((((x) & 0xff00) >> 8) | \
+ (((x) & 0x00ff) << 8))
#define __bswap_32(x) \
- ((((x) & 0xff000000) >> 24) | \
- (((x) & 0x00ff0000) >> 8) | \
- (((x) & 0x0000ff00) << 8) | \
- (((x) & 0x000000ff) << 24))
+ ((((x) & 0xff000000) >> 24) | \
+ (((x) & 0x00ff0000) >> 8) | \
+ (((x) & 0x0000ff00) << 8) | \
+ (((x) & 0x000000ff) << 24))
#else
#include <bits/byteswap.h>
#endif
@@ -118,9 +118,9 @@
#endif
-/************************************************************************************/
-/* Protocol Messages */
-/************************************************************************************/
+/*********************
+ * Protocol Messages *
+ *********************/
/* message types */
#define KEEP_ALIVE_MESSAGE 0x0000
/* no additional struct */
@@ -147,18 +147,18 @@
int stimulus;
int stimulusInstance;
} stimulus_message;
-
+
#define OFFHOOK_MESSAGE 0x0006
#define ONHOOK_MESSAGE 0x0007
#define CAPABILITIES_RES_MESSAGE 0x0010
-typedef struct station_capabilities {
+typedef struct station_capabilities {
int codec;
int frames;
union {
char res[8];
long rate;
- } payloads;
+ } payloads;
} station_capabilities;
typedef struct capabilities_res_message {
@@ -182,7 +182,7 @@
#define SERVER_REQUEST_MESSAGE 0x0012
#define ALARM_MESSAGE 0x0020
-#define OPEN_RECIEVE_CHANNEL_ACK_MESSAGE 0x0022
+#define OPEN_RECIEVE_CHANNEL_ACK_MESSAGE 0x0022
typedef struct open_recieve_channel_ack_message {
int status;
char ipAddr[4];
@@ -222,7 +222,7 @@
int deviceStimulus;
} set_lamp_message;
-#define SET_SPEAKER_MESSAGE 0x0088
+#define SET_SPEAKER_MESSAGE 0x0088
typedef struct set_speaker_message {
int mode;
} set_speaker_message;
@@ -248,7 +248,7 @@
#define STOP_MEDIA_TRANSMISSION_MESSAGE 0x008B
typedef struct stop_media_transmission_message {
int conferenceId;
- int passThruPartyId;
+ int passThruPartyId;
} stop_media_transmission_message;
#define CALL_INFO_MESSAGE 0x008F
@@ -257,9 +257,9 @@
char callingParty[24];
char calledPartyName[40];
char calledParty[24];
- int instance;
- int reference;
- int type;
+ int instance;
+ int reference;
+ int type;
char originalCalledPartyName[40];
char originalCalledParty[24];
} call_info_message;
@@ -273,10 +273,10 @@
#define LINE_STAT_RES_MESSAGE 0x0092
typedef struct line_stat_res_message {
- int linenumber;
+ int linenumber;
char lineDirNumber[24];
char lineDisplayName[42];
- int space;
+ int space;
} line_stat_res_message;
#define DEFINETIMEDATE_MESSAGE 0x0094
@@ -291,7 +291,7 @@
int milliseconds;
int timestamp;
} definetimedate_message;
-
+
#define DISPLAYTEXT_MESSAGE 0x0099
typedef struct displaytext_message {
[... 3764 lines stripped ...]
More information about the svn-commits
mailing list