[asterisk-commits] murf: branch murf/bug8221-1.4 r59287 - in
/team/murf/bug8221-1.4: ./ apps/ ch...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Mar 27 20:03:20 MST 2007
Author: murf
Date: Tue Mar 27 22:03:20 2007
New Revision: 59287
URL: http://svn.digium.com/view/asterisk?view=rev&rev=59287
Log:
Merged revisions 59180,59182,59188-59189,59195,59200,59202,59206-59207,59209,59213,59215,59217,59223,59225,59227-59228,59230,59254,59256,59259,59261-59262,59273,59275,59278,59281,59284 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r59180 | kpfleming | 2007-03-22 17:34:22 -0600 (Thu, 22 Mar 2007) | 2 lines
remove variables that are no longer used (--enable-dev-mode is good, developers should be using it)
................
r59182 | kpfleming | 2007-03-22 17:40:01 -0600 (Thu, 22 Mar 2007) | 2 lines
don't allow string input to overrun the buffer to hold it
................
r59188 | murf | 2007-03-23 10:09:01 -0600 (Fri, 23 Mar 2007) | 9 lines
Merged revisions 59186 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59186 | murf | 2007-03-23 09:57:26 -0600 (Fri, 23 Mar 2007) | 1 line
Added a few words in the Macro doc strings about the behavior of macros with hangups (et al.), as per 9337
........
................
r59189 | murf | 2007-03-23 10:11:15 -0600 (Fri, 23 Mar 2007) | 1 line
blocking out the fix in 59187... already incorporated here
................
r59195 | file | 2007-03-23 19:39:44 -0600 (Fri, 23 Mar 2007) | 10 lines
Merged revisions 59194 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59194 | file | 2007-03-23 21:35:49 -0400 (Fri, 23 Mar 2007) | 2 lines
Only try to handle a response if it has a response code.
........
................
r59200 | file | 2007-03-26 09:16:29 -0600 (Mon, 26 Mar 2007) | 2 lines
Have ast_copy_string magically appear in the aelparse binary! DONT_OPTIMIZE should now work once again.
................
r59202 | nadi | 2007-03-26 09:25:53 -0600 (Mon, 26 Mar 2007) | 4 lines
* mISDN >= 1.2 provides a dsp pipeline for i.e. echo cancellation modules, make chan_misdn use it.
* add a check for linux/mISDNdsp.h to configure.ac and update the autogenerated files: 'configure', 'autoconfig.h.in'
(the 'configure' script was not in sync with the latest configure.ac, so the diff is a bit bigger than expected).
................
r59206 | murf | 2007-03-26 11:38:29 -0600 (Mon, 26 Mar 2007) | 1 line
A fix for the flex input files, DONT_COMPILE, and STANDALONE_AEL
................
r59207 | russell | 2007-03-26 11:45:55 -0600 (Mon, 26 Mar 2007) | 7 lines
The AUDIORTPQOS and VIDEORTPQOS variables are not fully functional in some
because they get set in sip_hangup. So, there are common situations where
the variables will not be available in the dialplan at all. So, this patch
provides an alternate method for getting to this information by introducing
AUDIORTPQOS and VIDEORTPQOS dialplan functions.
(issue #9370, patch by Corydon76, with some testing by blitzrage)
................
r59209 | russell | 2007-03-26 11:53:07 -0600 (Mon, 26 Mar 2007) | 1 line
Rename the new dialplan functions to match the variable name
................
r59213 | file | 2007-03-26 12:13:06 -0600 (Mon, 26 Mar 2007) | 2 lines
Make SpeechBackground obey the digit timeout value.
................
r59215 | russell | 2007-03-26 12:28:29 -0600 (Mon, 26 Mar 2007) | 3 lines
Fix some codec negotiation problems when CallerID support is not enabled in SLA.
(issue #9308, reported by twilson)
................
r59217 | russell | 2007-03-26 12:33:50 -0600 (Mon, 26 Mar 2007) | 4 lines
Somehow the code for building the email for voicemail got out of sync. This
change makes a few tweaks to get 1.4 in sync with trunk.
(issue #9301)
................
r59223 | file | 2007-03-26 13:34:14 -0600 (Mon, 26 Mar 2007) | 2 lines
Add ability to specify no timeout. This means as soon as the prompt is done playing it moves on to the next priority.
................
r59225 | murf | 2007-03-26 14:06:12 -0600 (Mon, 26 Mar 2007) | 1 line
Fix for 9257; by eliminating the globals in main/config.c, we make it thread-safe, which is a minimum requirement.
................
r59227 | tilghman | 2007-03-26 15:37:41 -0600 (Mon, 26 Mar 2007) | 2 lines
Change this to a single dp function to make oej happy.
................
r59228 | murf | 2007-03-26 15:41:32 -0600 (Mon, 26 Mar 2007) | 1 line
fix for 9373 (duplicate context in AEL crashes asterisk). I turned a duplicate context from a WARNING to an ERROR. Now you get a module load failure, and asterisk just exits. That's better than a crash, right\?
................
r59230 | tilghman | 2007-03-26 15:45:44 -0600 (Mon, 26 Mar 2007) | 2 lines
Oops, this should be case insensitive
................
r59254 | crichter | 2007-03-27 09:00:10 -0600 (Tue, 27 Mar 2007) | 9 lines
Merged revisions 59252 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59252 | crichter | 2007-03-27 15:56:15 +0200 (Di, 27 Mär 2007) | 1 line
fixed #9355
........
................
r59256 | russell | 2007-03-27 10:20:53 -0600 (Tue, 27 Mar 2007) | 4 lines
Convert the RTPQOS function to just be additional parameter of the CHANNEL
function. This way, it will be possible for other RTP based channel drivers
to expose this information in the future.
................
r59259 | russell | 2007-03-27 12:05:46 -0600 (Tue, 27 Mar 2007) | 12 lines
Merged revisions 59258 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59258 | russell | 2007-03-27 13:04:02 -0500 (Tue, 27 Mar 2007) | 4 lines
Fix the use of the "sourceaddress" option when "bindaddr" is set to 0.0.0.0
instead of having each interface explicitly listed.
(issue #7874, patch by stevens)
........
................
r59261 | murf | 2007-03-27 12:16:32 -0600 (Tue, 27 Mar 2007) | 1 line
via 9373 (duplicate context in AEL crashes asterisk), kpfleming pointed on asterisk-dev, that DECLINE in this case the proper thing to do. This change now has it doing the proper thing.
................
r59262 | russell | 2007-03-27 12:17:47 -0600 (Tue, 27 Mar 2007) | 3 lines
Fix the check that ensures that the CHANNEL function's first argument is "rtpqos".
Thanks, Corydon. :)
................
r59273 | russell | 2007-03-27 17:02:12 -0600 (Tue, 27 Mar 2007) | 4 lines
Fix app_directory when ODBC_STORAGE is being used. The Makefile did not
properly ensure that this information got copied from what was selected
for app_voicemail. (issue #9224)
................
r59275 | russell | 2007-03-27 17:16:27 -0600 (Tue, 27 Mar 2007) | 3 lines
Fix app_directory to actually compile with ODBC_STORAGE, and update the code to
the latest res_odbc API.
................
r59278 | russell | 2007-03-27 17:20:22 -0600 (Tue, 27 Mar 2007) | 11 lines
Merged revisions 59277 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59277 | russell | 2007-03-27 18:19:41 -0500 (Tue, 27 Mar 2007) | 3 lines
Fix the check of the return value from mmap(). Thanks to Corydon for catching
this one.
........
................
r59281 | tilghman | 2007-03-27 17:32:46 -0600 (Tue, 27 Mar 2007) | 10 lines
Merged revisions 59280 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59280 | tilghman | 2007-03-27 18:31:20 -0500 (Tue, 27 Mar 2007) | 2 lines
Fix a few remaining bad mmap(2) return values
........
................
r59284 | tilghman | 2007-03-27 17:37:31 -0600 (Tue, 27 Mar 2007) | 10 lines
Merged revisions 59283 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59283 | tilghman | 2007-03-27 18:36:49 -0500 (Tue, 27 Mar 2007) | 2 lines
Oops
........
................
Modified:
team/murf/bug8221-1.4/ (props changed)
team/murf/bug8221-1.4/apps/Makefile
team/murf/bug8221-1.4/apps/app_directory.c
team/murf/bug8221-1.4/apps/app_macro.c
team/murf/bug8221-1.4/apps/app_meetme.c
team/murf/bug8221-1.4/apps/app_speech_utils.c
team/murf/bug8221-1.4/apps/app_voicemail.c
team/murf/bug8221-1.4/channels/chan_iax2.c
team/murf/bug8221-1.4/channels/chan_misdn.c
team/murf/bug8221-1.4/channels/chan_sip.c
team/murf/bug8221-1.4/channels/misdn/Makefile
team/murf/bug8221-1.4/channels/misdn/chan_misdn_config.h
team/murf/bug8221-1.4/channels/misdn/isdn_lib.c
team/murf/bug8221-1.4/channels/misdn/isdn_lib.h
team/murf/bug8221-1.4/channels/misdn_config.c
team/murf/bug8221-1.4/configure
team/murf/bug8221-1.4/configure.ac
team/murf/bug8221-1.4/funcs/func_channel.c
team/murf/bug8221-1.4/include/asterisk/autoconfig.h.in
team/murf/bug8221-1.4/include/asterisk/rtp.h
team/murf/bug8221-1.4/main/ast_expr2.fl
team/murf/bug8221-1.4/main/ast_expr2f.c
team/murf/bug8221-1.4/main/config.c
team/murf/bug8221-1.4/main/rtp.c
team/murf/bug8221-1.4/pbx/ael/ael.flex
team/murf/bug8221-1.4/pbx/ael/ael_lex.c
team/murf/bug8221-1.4/pbx/pbx_ael.c
Propchange: team/murf/bug8221-1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.
Propchange: team/murf/bug8221-1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/murf/bug8221-1.4/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Mar 27 22:03:20 2007
@@ -1,1 +1,1 @@
-/branches/1.4:1-59157
+/branches/1.4:1-59286
Modified: team/murf/bug8221-1.4/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/apps/Makefile?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/apps/Makefile (original)
+++ team/murf/bug8221-1.4/apps/Makefile Tue Mar 27 22:03:20 2007
@@ -21,11 +21,14 @@
LOADABLE_MODS:=
endif
+MENUSELECT_OPTS_app_directory:=$(MENUSELECT_OPTS_app_voicemail)
ifneq ($(findstring ODBC_STORAGE,$(MENUSELECT_OPTS_app_voicemail)),)
MENUSELECT_DEPENDS_app_voicemail+=$(MENUSELECT_DEPENDS_ODBC_STORAGE)
+MENUSELECT_DEPENDS_app_directory+=$(MENUSELECT_DEPENDS_ODBC_STORAGE)
endif
ifneq ($(findstring IMAP_STORAGE,$(MENUSELECT_OPTS_app_voicemail)),)
MENUSELECT_DEPENDS_app_voicemail+=$(MENUSELECT_DEPENDS_IMAP_STORAGE)
+MENUSELECT_DEPENDS_app_directory+=$(MENUSELECT_DEPENDS_IMAP_STORAGE)
endif
ifeq (SunOS,$(shell uname))
Modified: team/murf/bug8221-1.4/apps/app_directory.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/apps/app_directory.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/apps/app_directory.c (original)
+++ team/murf/bug8221-1.4/apps/app_directory.c Tue Mar 27 22:03:20 2007
@@ -45,7 +45,7 @@
#include "asterisk/utils.h"
#include "asterisk/app.h"
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
#include <errno.h>
#include <sys/mman.h>
#include "asterisk/res_odbc.h"
@@ -88,23 +88,23 @@
#define NUMDIGITS 3
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
static void retrieve_file(char *dir)
{
int x = 0;
int res;
int fd=-1;
size_t fdlen = 0;
- void *fdm=NULL;
+ void *fdm = MAP_FAILED;
SQLHSTMT stmt;
char sql[256];
char fmt[80]="";
char *c;
SQLLEN colsize;
char full_fn[256];
-
- odbc_obj *obj;
- obj = fetch_odbc_obj(odbc_database, 0);
+ struct odbc_obj *obj;
+
+ obj = ast_odbc_request_obj(odbc_database, 1);
if (obj) {
do {
ast_copy_string(fmt, vmfmts, sizeof(fmt));
@@ -127,7 +127,7 @@
break;
}
SQLBindParameter(stmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, strlen(dir), 0, (void *)dir, 0, NULL);
- res = odbc_smart_execute(obj, stmt);
+ res = ast_odbc_smart_execute(obj, stmt);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
ast_log(LOG_WARNING, "SQL Execute error!\n[%s]\n\n", sql);
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
@@ -162,7 +162,7 @@
if (fd > -1)
fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
}
- if (fdm) {
+ if (fdm != MAP_FAILED) {
memset(fdm, 0, fdlen);
res = SQLGetData(stmt, x + 1, SQL_BINARY, fdm, fdlen, &colsize);
if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
@@ -173,9 +173,10 @@
}
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
} while (0);
+ ast_odbc_release_obj(obj);
} else
ast_log(LOG_WARNING, "Failed to obtain database object for '%s'!\n", odbc_database);
- if (fdm)
+ if (fdm != MAP_FAILED)
munmap(fdm, fdlen);
if (fd > -1)
close(fd);
@@ -264,11 +265,14 @@
int res = 0;
int loop;
char fn[256];
+#ifdef ODBC_STORAGE
+ char fn2[256];
+#endif
/* Check for the VoiceMail2 greeting first */
snprintf(fn, sizeof(fn), "%s/voicemail/%s/%s/greet",
ast_config_AST_SPOOL_DIR, context, ext);
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
retrieve_file(fn);
#endif
@@ -277,7 +281,7 @@
snprintf(fn, sizeof(fn), "%s/vm/%s/greet",
ast_config_AST_SPOOL_DIR, ext);
}
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
retrieve_file(fn2);
#endif
@@ -296,7 +300,7 @@
res = ast_say_character_str(chan, ext, AST_DIGIT_ANY, chan->language);
}
}
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
ast_filedelete(fn, NULL);
ast_filedelete(fn2, NULL);
#endif
@@ -653,9 +657,9 @@
static int load_module(void)
{
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
struct ast_config *cfg = ast_config_load(VOICEMAIL_CONFIG);
- char *tmp;
+ const char *tmp;
if (cfg) {
if ((tmp = ast_variable_retrieve(cfg, "general", "odbcstorage"))) {
Modified: team/murf/bug8221-1.4/apps/app_macro.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/apps/app_macro.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/apps/app_macro.c (original)
+++ team/murf/bug8221-1.4/apps/app_macro.c Tue Mar 27 22:03:20 2007
@@ -61,6 +61,11 @@
"will be returned at the location of the Goto.\n"
"If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue\n"
"at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n"
+"Extensions: While a macro is being executed, it becomes the current context.\n"
+" This means that if a hangup occurs, for instance, that the macro\n"
+" will be searched for an 'h' extension, NOT the context from which\n"
+" the macro was called. So, make sure to define all appropriate\n"
+" extensions in your macro! (you can use 'catch' in AEL) \n"
"WARNING: Because of the way Macro is implemented (it executes the priorities\n"
" contained within it via sub-engine), and a fixed per-thread\n"
" memory stack allowance, macros are limited to 7 levels\n"
Modified: team/murf/bug8221-1.4/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/apps/app_meetme.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/apps/app_meetme.c (original)
+++ team/murf/bug8221-1.4/apps/app_meetme.c Tue Mar 27 22:03:20 2007
@@ -3476,6 +3476,8 @@
char *tech, *tech_data;
struct ast_dial *dial;
struct sla_ringing_station *ringing_station;
+ const char *cid_name = NULL, *cid_num = NULL;
+ enum ast_dial_result res;
if (!(dial = ast_dial_create()))
return -1;
@@ -3489,8 +3491,25 @@
return -1;
}
- if (ast_dial_run(dial, sla.attempt_callerid ? ringing_trunk->trunk->chan : NULL, 1)
- != AST_DIAL_RESULT_TRYING) {
+ if (!sla.attempt_callerid && !ast_strlen_zero(ringing_trunk->trunk->chan->cid.cid_name)) {
+ cid_name = ast_strdupa(ringing_trunk->trunk->chan->cid.cid_name);
+ free(ringing_trunk->trunk->chan->cid.cid_name);
+ ringing_trunk->trunk->chan->cid.cid_name = NULL;
+ }
+ if (!sla.attempt_callerid && !ast_strlen_zero(ringing_trunk->trunk->chan->cid.cid_num)) {
+ cid_num = ast_strdupa(ringing_trunk->trunk->chan->cid.cid_num);
+ free(ringing_trunk->trunk->chan->cid.cid_num);
+ ringing_trunk->trunk->chan->cid.cid_num = NULL;
+ }
+
+ res = ast_dial_run(dial, ringing_trunk->trunk->chan, 1);
+
+ if (cid_name)
+ ringing_trunk->trunk->chan->cid.cid_name = ast_strdup(cid_name);
+ if (cid_num)
+ ringing_trunk->trunk->chan->cid.cid_num = ast_strdup(cid_num);
+
+ if (res != AST_DIAL_RESULT_TRYING) {
struct sla_failed_station *failed_station;
ast_dial_destroy(dial);
if (!(failed_station = ast_calloc(1, sizeof(*failed_station))))
@@ -3932,6 +3951,7 @@
struct ast_conference *conf;
struct ast_flags conf_flags = { 0 };
struct sla_trunk_ref *trunk_ref = args->trunk_ref;
+ const char *cid_name = NULL, *cid_num = NULL;
if (!(dial = ast_dial_create())) {
ast_mutex_lock(args->cond_lock);
@@ -3950,7 +3970,24 @@
return NULL;
}
- dial_res = ast_dial_run(dial, sla.attempt_callerid ? trunk_ref->chan : NULL, 1);
+ if (!sla.attempt_callerid && !ast_strlen_zero(trunk_ref->chan->cid.cid_name)) {
+ cid_name = ast_strdupa(trunk_ref->chan->cid.cid_name);
+ free(trunk_ref->chan->cid.cid_name);
+ trunk_ref->chan->cid.cid_name = NULL;
+ }
+ if (!sla.attempt_callerid && !ast_strlen_zero(trunk_ref->chan->cid.cid_num)) {
+ cid_num = ast_strdupa(trunk_ref->chan->cid.cid_num);
+ free(trunk_ref->chan->cid.cid_num);
+ trunk_ref->chan->cid.cid_num = NULL;
+ }
+
+ dial_res = ast_dial_run(dial, trunk_ref->chan, 1);
+
+ if (cid_name)
+ trunk_ref->chan->cid.cid_name = ast_strdup(cid_name);
+ if (cid_num)
+ trunk_ref->chan->cid.cid_num = ast_strdup(cid_num);
+
if (dial_res != AST_DIAL_RESULT_TRYING) {
ast_mutex_lock(args->cond_lock);
ast_cond_signal(args->cond);
Modified: team/murf/bug8221-1.4/apps/app_speech_utils.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/apps/app_speech_utils.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/apps/app_speech_utils.c (original)
+++ team/murf/bug8221-1.4/apps/app_speech_utils.c Tue Mar 27 22:03:20 2007
@@ -544,8 +544,11 @@
if (argc > 0) {
/* Yay sound file */
filename_tmp = ast_strdupa(argv[0]);
- if (argv[1] != NULL)
- timeout = atoi(argv[1]);
+ if (!ast_strlen_zero(argv[1])) {
+ if ((timeout = atoi(argv[1])) == 0)
+ timeout = -1;
+ } else
+ timeout = 0;
}
/* Before we go into waiting for stuff... make sure the structure is ready, if not - start it again */
@@ -611,7 +614,13 @@
/* If audio playback has stopped do a check for timeout purposes */
if (chan->streamid == -1 && chan->timingfunc == NULL)
ast_stopstream(chan);
- if (!quieted && chan->stream == NULL && timeout > 0 && started == 0 && !filename_tmp) {
+ if (!quieted && chan->stream == NULL && timeout && started == 0 && !filename_tmp) {
+ if (timeout == -1) {
+ done = 1;
+ if (f)
+ ast_frfree(f);
+ break;
+ }
time(&start);
started = 1;
}
@@ -669,7 +678,7 @@
if (chan->stream != NULL) {
ast_stopstream(chan);
/* Change timeout to be 5 seconds for DTMF input */
- timeout = 5;
+ timeout = (chan->pbx && chan->pbx->dtimeout) ? chan->pbx->dtimeout : 5;
time(&start);
started = 1;
}
Modified: team/murf/bug8221-1.4/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/apps/app_voicemail.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/apps/app_voicemail.c (original)
+++ team/murf/bug8221-1.4/apps/app_voicemail.c Tue Mar 27 22:03:20 2007
@@ -949,7 +949,7 @@
int res;
int fd=-1;
size_t fdlen = 0;
- void *fdm=NULL;
+ void *fdm = MAP_FAILED;
SQLSMALLINT colcount=0;
SQLHSTMT stmt;
char sql[PATH_MAX];
@@ -1066,7 +1066,7 @@
}
/* Read out in small chunks */
for (offset = 0; offset < colsize2; offset += CHUNKSIZE) {
- if ((fdm = mmap(NULL, CHUNKSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, offset)) == (void *)-1) {
+ if ((fdm = mmap(NULL, CHUNKSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, offset)) == MAP_FAILED) {
ast_log(LOG_WARNING, "Could not mmap the output file: %s (%d)\n", strerror(errno), errno);
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
@@ -1344,7 +1344,7 @@
int x = 0;
int res;
int fd = -1;
- void *fdm=NULL;
+ void *fdm = MAP_FAILED;
size_t fdlen = -1;
SQLHSTMT stmt;
SQLINTEGER len;
@@ -1400,7 +1400,7 @@
lseek(fd, 0, SEEK_SET);
printf("Length is %zd\n", fdlen);
fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED,fd, 0);
- if (!fdm) {
+ if (fdm == MAP_FAILED) {
ast_log(LOG_WARNING, "Memory map failed!\n");
ast_odbc_release_obj(obj);
goto yuck;
@@ -1449,7 +1449,7 @@
yuck:
if (cfg)
ast_config_destroy(cfg);
- if (fdm)
+ if (fdm != MAP_FAILED)
munmap(fdm, fdlen);
if (fd > -1)
close(fd);
@@ -1905,7 +1905,7 @@
fprintf(p, "Subject: New message %d in mailbox %s" ENDL, msgnum + 1, mailbox);
else
fprintf(p, "Subject: [PBX]: New message %d in mailbox %s" ENDL, msgnum + 1, mailbox);
- fprintf(p, "Message-ID: <Asterisk-%d-%d-%s-%d@%s>" ENDL, msgnum, (unsigned int)ast_random(), mailbox, getpid(), host);
+ fprintf(p, "Message-ID: <Asterisk-%d-%d-%s-%d@%s>" ENDL, msgnum + 1, (unsigned int)ast_random(), mailbox, getpid(), host);
if(imap) {
/* additional information needed for IMAP searching */
fprintf(p, "X-Asterisk-VM-Message-Num: %d" ENDL, msgnum + 1);
@@ -1930,7 +1930,7 @@
fprintf(p, "MIME-Version: 1.0" ENDL);
if (attach_user_voicemail) {
/* Something unique. */
- snprintf(bound, sizeof(bound), "voicemail_%d%s%d%d", msgnum, mailbox, getpid(), (unsigned int)ast_random());
+ snprintf(bound, sizeof(bound), "voicemail_%d%s%d%d", msgnum + 1, mailbox, getpid(), (unsigned int)ast_random());
fprintf(p, "Content-Type: multipart/mixed; boundary=\"%s\"" ENDL ENDL ENDL, bound);
@@ -1946,7 +1946,7 @@
memset(passdata, 0, vmlen);
prep_email_sub_vars(ast, vmu, msgnum + 1, context, mailbox, cidnum, cidname, dur, date, passdata, vmlen, category);
pbx_substitute_variables_helper(ast, emailbody, passdata, vmlen);
- fprintf(p, "%s\r\n", passdata);
+ fprintf(p, "%s" ENDL, passdata);
} else
ast_log(LOG_WARNING, "Cannot allocate workspace for variable substitution\n");
ast_channel_free(ast);
@@ -1978,19 +1978,19 @@
ast_log(LOG_DEBUG, "VOLGAIN: Stored at: %s.%s - Level: %.4f - Mailbox: %s\n", attach, format, vmu->volgain, mailbox);
}
fprintf(p, "--%s" ENDL, bound);
- fprintf(p, "Content-Type: %s%s; name=\"msg%04d.%s\"" ENDL, ctype, format, msgnum, format);
+ fprintf(p, "Content-Type: %s%s; name=\"msg%04d.%s\"" ENDL, ctype, format, msgnum + 1, format);
fprintf(p, "Content-Transfer-Encoding: base64" ENDL);
fprintf(p, "Content-Description: Voicemail sound attachment." ENDL);
- fprintf(p, "Content-Disposition: attachment; filename=\"msg%04d.%s\"" ENDL ENDL, msgnum, format);
+ fprintf(p, "Content-Disposition: attachment; filename=\"msg%04d.%s\"" ENDL ENDL, msgnum + 1, format);
snprintf(fname, sizeof(fname), "%s.%s", attach, format);
base_encode(fname, p);
/* only attach if necessary */
if (imap && !strcmp(format, "gsm")) {
fprintf(p, "--%s" ENDL, bound);
- fprintf(p, "Content-Type: audio/x-gsm; name=\"msg%04d.%s\"" ENDL, msgnum, format);
+ fprintf(p, "Content-Type: audio/x-gsm; name=\"msg%04d.%s\"" ENDL, msgnum + 1, format);
fprintf(p, "Content-Transfer-Encoding: base64" ENDL);
fprintf(p, "Content-Description: Voicemail sound attachment." ENDL);
- fprintf(p, "Content-Disposition: attachment; filename=\"msg%04d.gsm\"" ENDL ENDL, msgnum);
+ fprintf(p, "Content-Disposition: attachment; filename=\"msg%04d.gsm\"" ENDL ENDL, msgnum + 1);
snprintf(fname, sizeof(fname), "%s.gsm", attach);
base_encode(fname, p);
}
Modified: team/murf/bug8221-1.4/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/channels/chan_iax2.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/channels/chan_iax2.c (original)
+++ team/murf/bug8221-1.4/channels/chan_iax2.c Tue Mar 27 22:03:20 2007
@@ -171,6 +171,7 @@
static int timingfd = -1; /* Timing file descriptor */
static struct ast_netsock_list *netsock;
+static struct ast_netsock_list *outsock; /*!< used if sourceaddress specified and bindaddr == INADDR_ANY */
static int defaultsockfd = -1;
int (*iax2_regfunk)(const char *username, int onoff) = NULL;
@@ -8242,20 +8243,40 @@
if (res == 0) {
/* ip address valid. */
sin.sin_port = htons(port);
- sock = ast_netsock_find(netsock, &sin);
+ if (!(sock = ast_netsock_find(netsock, &sin)))
+ sock = ast_netsock_find(outsock, &sin);
if (sock) {
sockfd = ast_netsock_sockfd(sock);
nonlocal = 0;
+ } else {
+ unsigned int orig_saddr = sin.sin_addr.s_addr;
+ /* INADDR_ANY matches anyway! */
+ sin.sin_addr.s_addr = INADDR_ANY;
+ if (ast_netsock_find(netsock, &sin)) {
+ sin.sin_addr.s_addr = orig_saddr;
+ sock = ast_netsock_bind(outsock, io, srcaddr, port, tos, socket_read, NULL);
+ if (sock) {
+ sockfd = ast_netsock_sockfd(sock);
+ ast_netsock_unref(sock);
+ nonlocal = 0;
+ } else {
+ nonlocal = 2;
+ }
+ }
}
}
}
peer->sockfd = sockfd;
- if (nonlocal) {
+ if (nonlocal == 1) {
ast_log(LOG_WARNING, "Non-local or unbound address specified (%s) in sourceaddress for '%s', reverting to default\n",
srcaddr, peer->name);
return -1;
+ } else if (nonlocal == 2) {
+ ast_log(LOG_WARNING, "Unable to bind to sourceaddress '%s' for '%s', reverting to default\n",
+ srcaddr, peer->name);
+ return -1;
} else {
ast_log(LOG_DEBUG, "Using sourceaddress %s for '%s'\n", srcaddr, peer->name);
return 0;
@@ -9051,7 +9072,16 @@
ast_netsock_unref(ns);
}
}
-
+ if (reload) {
+ ast_netsock_release(outsock);
+ outsock = ast_netsock_list_alloc();
+ if (!outsock) {
+ ast_log(LOG_ERROR, "Could not allocate outsock list.\n");
+ return -1;
+ }
+ ast_netsock_init(outsock);
+ }
+
if (min_reg_expire > max_reg_expire) {
ast_log(LOG_WARNING, "Minimum registration interval of %d is more than maximum of %d, resetting minimum to %d\n",
min_reg_expire, max_reg_expire, max_reg_expire);
@@ -9948,6 +9978,7 @@
usleep(10000);
ast_netsock_release(netsock);
+ ast_netsock_release(outsock);
for (x=0;x<IAX_MAX_CALLS;x++)
if (iaxs[x])
iax2_destroy(x);
@@ -10023,6 +10054,13 @@
}
ast_netsock_init(netsock);
+ outsock = ast_netsock_list_alloc();
+ if (!outsock) {
+ ast_log(LOG_ERROR, "Could not allocate outsock list.\n");
+ return -1;
+ }
+ ast_netsock_init(outsock);
+
ast_mutex_init(&waresl.lock);
AST_LIST_HEAD_INIT(&iaxq.queue);
@@ -10053,6 +10091,7 @@
} else {
ast_log(LOG_ERROR, "Unable to start network thread\n");
ast_netsock_release(netsock);
+ ast_netsock_release(outsock);
}
AST_LIST_LOCK(®istrations);
Modified: team/murf/bug8221-1.4/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/channels/chan_misdn.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/channels/chan_misdn.c (original)
+++ team/murf/bug8221-1.4/channels/chan_misdn.c Tue Mar 27 22:03:20 2007
@@ -302,9 +302,6 @@
static int tracing = 0 ;
-static char **misdn_key_vector=NULL;
-static int misdn_key_vector_size=0;
-
/* Only alaw and mulaw is allowed for now */
static int prefformat = AST_FORMAT_ALAW ; /* AST_FORMAT_SLINEAR ; AST_FORMAT_ULAW | */
@@ -354,7 +351,11 @@
int add_in_calls(int port);
+#ifdef MISDN_1_2
+static int update_pipeline_config(struct misdn_bchannel *bc);
+#else
static int update_ec_config(struct misdn_bchannel *bc);
+#endif
@@ -1037,7 +1038,11 @@
" --> activated: %d\n"
" --> state: %s\n"
" --> capability: %s\n"
+#ifdef MISDN_1_2
+ " --> pipeline: %s\n"
+#else
" --> echo_cancel: %d\n"
+#endif
" --> notone : rx %d tx:%d\n"
" --> bc_hold: %d\n",
help->ast->name,
@@ -1050,7 +1055,11 @@
bc->active,
bc_state2str(bc->bc_state),
bearer2str(bc->capability),
- bc->ec_enable,
+#ifdef MISDN_1_2
+ bc->pipeline,
+#else
+ bc->ec_enable,
+#endif
help->norxtone,help->notxtone,
bc->holded
@@ -1278,7 +1287,11 @@
tmp->toggle_ec=tmp->toggle_ec?0:1;
if (tmp->toggle_ec) {
+#ifdef MISDN_1_2
+ update_pipeline_config(tmp->bc);
+#else
update_ec_config(tmp->bc);
+#endif
manager_ec_enable(tmp->bc);
} else {
manager_ec_disable(tmp->bc);
@@ -1619,6 +1632,25 @@
+#ifdef MISDN_1_2
+static int update_pipeline_config(struct misdn_bchannel *bc)
+{
+ int ec;
+
+ misdn_cfg_get(bc->port, MISDN_CFG_PIPELINE, bc->pipeline, sizeof(bc->pipeline));
+
+ if (*bc->pipeline)
+ return 0;
+
+ misdn_cfg_get(bc->port, MISDN_CFG_ECHOCANCEL, &ec, sizeof(int));
+ if (ec == 1)
+ snprintf(bc->pipeline, sizeof(bc->pipeline) - 1, "mg2ec");
+ else if (ec > 1)
+ snprintf(bc->pipeline, sizeof(bc->pipeline) - 1, "mg2ec(deftaps=%d)", ec);
+
+ return 0;
+}
+#else
static int update_ec_config(struct misdn_bchannel *bc)
{
int ec;
@@ -1632,17 +1664,10 @@
bc->ec_enable=1;
bc->ec_deftaps=ec;
}
-#ifdef WITH_ECHOTRAINING
- int ectr;
- misdn_cfg_get( port, MISDN_CFG_ECHOTRAINING, &ectr, sizeof(int));
-
- if ( ectr >= 0 ) {
- bc->ec_training=ectr;
- }
+
+ return 0;
+}
#endif
-
- return 0;
-}
static int read_config(struct chan_list *ch, int orig) {
@@ -1717,7 +1742,11 @@
ast_copy_string (ast->context,ch->context,sizeof(ast->context));
+#ifdef MISDN_1_2
+ update_pipeline_config(bc);
+#else
update_ec_config(bc);
+#endif
{
int eb3;
@@ -1990,9 +2019,15 @@
int bridging;
misdn_cfg_get( 0, MISDN_GEN_BRIDGING, &bridging, sizeof(int));
if (bridging && ch->other_ch) {
- chan_misdn_log(0, port, "Disabling EC on both Sides\n");
+#ifdef MISDN_1_2
+ chan_misdn_log(0, port, "Disabling EC (aka Pipeline) on both Sides\n");
+ *ch->bc->pipeline=0;
+ *ch->other_ch->bc->pipeline=0;
+#else
+ chan_misdn_log(0, port, "Disabling EC on both Sides\n");
ch->bc->ec_enable=0;
ch->other_ch->bc->ec_enable=0;
+#endif
}
r=misdn_lib_send_event( newbc, EVENT_SETUP );
@@ -2485,7 +2520,11 @@
isdn_lib_update_rxgain(tmp->bc);
tmp->bc->txgain = 0;
isdn_lib_update_txgain(tmp->bc);
+#ifdef MISDN_1_2
+ *tmp->bc->pipeline = 0;
+#else
tmp->bc->ec_enable = 0;
+#endif
isdn_lib_update_ec(tmp->bc);
isdn_lib_stop_dtmf(tmp->bc);
switch (tmp->faxdetect) {
@@ -4310,7 +4349,8 @@
if (ch->ast) {
ch->ast->hangupcause=bc->cause;
- ast_queue_control(ch->ast, AST_CONTROL_BUSY);
+ if (bc->cause == 17)
+ ast_queue_control(ch->ast, AST_CONTROL_BUSY);
}
ch->need_busy=0;
break;
@@ -4988,14 +5028,22 @@
if (neglect) {
chan_misdn_log(1, ch->bc->port, " --> disabled\n");
+#ifdef MISDN_1_2
+ *ch->bc->pipeline=0;
+#else
ch->bc->ec_enable=0;
+#endif
} else {
+#ifdef MISDN_1_2
+ update_pipeline_config(ch->bc);
+#else
ch->bc->ec_enable=1;
ch->bc->orig=ch->orginator;
tok++;
- if (tok) {
+ if (*tok) {
ch->bc->ec_deftaps=atoi(tok);
}
+#endif
}
break;
Modified: team/murf/bug8221-1.4/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/channels/chan_sip.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/channels/chan_sip.c (original)
+++ team/murf/bug8221-1.4/channels/chan_sip.c Tue Mar 27 22:03:20 2007
@@ -1384,6 +1384,7 @@
static int sip_addheader(struct ast_channel *chan, void *data);
static int sip_do_reload(enum channelreloadreason reason);
static int sip_reload(int fd, int argc, char *argv[]);
+static int acf_channel_read(struct ast_channel *chan, char *funcname, char *preparse, char *buf, size_t buflen);
/*--- Debugging
Functions for enabling debug per IP or fully, or enabling history logging for
@@ -1548,6 +1549,7 @@
.send_digit_end = sip_senddigit_end,
.bridge = ast_rtp_bridge,
.send_text = sip_sendtext,
+ .func_channel_read = acf_channel_read,
};
/*! \brief This version of the sip channel tech has no send_digit_begin
@@ -3392,9 +3394,9 @@
char *audioqos = "";
char *videoqos = "";
if (p->rtp)
- audioqos = ast_rtp_get_quality(p->rtp);
+ audioqos = ast_rtp_get_quality(p->rtp, NULL);
if (p->vrtp)
- videoqos = ast_rtp_get_quality(p->vrtp);
+ videoqos = ast_rtp_get_quality(p->vrtp, NULL);
/* Send a hangup */
transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1);
@@ -5091,15 +5093,15 @@
ast_log(LOG_DEBUG, "Transcoding JBIG: %d\n",x);
if (x == 1)
peert38capability |= T38FAX_TRANSCODING_JBIG;
- } else if ((sscanf(a, "T38FaxRateManagement:%s", s) == 1)) {
+ } else if ((sscanf(a, "T38FaxRateManagement:%255s", s) == 1)) {
found = 1;
if (option_debug > 2)
- ast_log(LOG_DEBUG, "RateMangement: %s\n", s);
+ ast_log(LOG_DEBUG, "RateManagement: %s\n", s);
if (!strcasecmp(s, "localTCF"))
peert38capability |= T38FAX_RATE_MANAGEMENT_LOCAL_TCF;
else if (!strcasecmp(s, "transferredTCF"))
peert38capability |= T38FAX_RATE_MANAGEMENT_TRANSFERED_TCF;
- } else if ((sscanf(a, "T38FaxUdpEC:%s", s) == 1)) {
+ } else if ((sscanf(a, "T38FaxUdpEC:%255s", s) == 1)) {
found = 1;
if (option_debug > 2)
ast_log(LOG_DEBUG, "UDP EC: %s\n", s);
@@ -14127,6 +14129,63 @@
}
}
+static int acf_channel_read(struct ast_channel *chan, char *funcname, char *preparse, char *buf, size_t buflen)
+{
+ struct ast_rtp_quality qos;
+ struct sip_pvt *p = chan->tech_pvt;
+ char *all = "", *parse = ast_strdupa(preparse);
+ AST_DECLARE_APP_ARGS(args,
+ AST_APP_ARG(param);
+ AST_APP_ARG(type);
+ AST_APP_ARG(field);
+ );
+ AST_STANDARD_APP_ARGS(args, parse);
+
+ /* Sanity check */
+ if (chan->tech != &sip_tech && chan->tech != &sip_tech_info) {
+ ast_log(LOG_ERROR, "Cannot call %s on a non-SIP channel\n", funcname);
+ return 0;
+ }
+
+ if (strcasecmp(args.param, "rtpqos"))
+ return 0;
+
+ memset(buf, 0, buflen);
+ memset(&qos, 0, sizeof(qos));
+
+ if (strcasecmp(args.type, "AUDIO") == 0) {
+ all = ast_rtp_get_quality(p->rtp, &qos);
+ } else if (strcasecmp(args.type, "VIDEO") == 0) {
+ all = ast_rtp_get_quality(p->vrtp, &qos);
+ }
+
+ if (strcasecmp(args.field, "local_ssrc") == 0)
+ snprintf(buf, buflen, "%u", qos.local_ssrc);
+ else if (strcasecmp(args.field, "local_lostpackets") == 0)
+ snprintf(buf, buflen, "%u", qos.local_lostpackets);
+ else if (strcasecmp(args.field, "local_jitter") == 0)
+ snprintf(buf, buflen, "%.0lf", qos.local_jitter * 1000.0);
+ else if (strcasecmp(args.field, "local_count") == 0)
+ snprintf(buf, buflen, "%u", qos.local_count);
+ else if (strcasecmp(args.field, "remote_ssrc") == 0)
+ snprintf(buf, buflen, "%u", qos.remote_ssrc);
+ else if (strcasecmp(args.field, "remote_lostpackets") == 0)
+ snprintf(buf, buflen, "%u", qos.remote_lostpackets);
+ else if (strcasecmp(args.field, "remote_jitter") == 0)
+ snprintf(buf, buflen, "%.0lf", qos.remote_jitter * 1000.0);
+ else if (strcasecmp(args.field, "remote_count") == 0)
+ snprintf(buf, buflen, "%u", qos.remote_count);
+ else if (strcasecmp(args.field, "rtt") == 0)
+ snprintf(buf, buflen, "%.0lf", qos.rtt * 1000.0);
+ else if (strcasecmp(args.field, "all") == 0)
+ ast_copy_string(buf, all, buflen);
+ else {
+ ast_log(LOG_WARNING, "Unrecognized argument '%s' to %s\n", preparse, funcname);
+ return -1;
+ }
+ return 0;
+}
+
/*! \brief Handle incoming BYE request */
static int handle_request_bye(struct sip_pvt *p, struct sip_request *req)
{
@@ -14148,14 +14207,14 @@
if (!ast_test_flag(&p->flags[0], SIP_NO_HISTORY) || p->owner) {
char *audioqos, *videoqos;
if (p->rtp) {
- audioqos = ast_rtp_get_quality(p->rtp);
+ audioqos = ast_rtp_get_quality(p->rtp, NULL);
if (!ast_test_flag(&p->flags[0], SIP_NO_HISTORY))
append_history(p, "RTCPaudio", "Quality:%s", audioqos);
if (p->owner)
pbx_builtin_setvar_helper(p->owner, "RTPAUDIOQOS", audioqos);
}
if (p->vrtp) {
- videoqos = ast_rtp_get_quality(p->vrtp);
+ videoqos = ast_rtp_get_quality(p->vrtp, NULL);
if (!ast_test_flag(&p->flags[0], SIP_NO_HISTORY))
append_history(p, "RTCPvideo", "Quality:%s", videoqos);
if (p->owner)
@@ -14609,20 +14668,20 @@
ast_set_flag(req, SIP_PKT_IGNORE);
ast_set_flag(req, SIP_PKT_IGNORE_RESP);
append_history(p, "Ignore", "Ignoring this retransmit\n");
- }
-
- e = ast_skip_blanks(e);
- if (sscanf(e, "%d %n", &respid, &len) != 1) {
- ast_log(LOG_WARNING, "Invalid response: '%s'\n", e);
- } else {
- if (respid <= 0) {
- ast_log(LOG_WARNING, "Invalid SIP response code: '%d'\n", respid);
- return 0;
+ } else if (e) {
+ e = ast_skip_blanks(e);
+ if (sscanf(e, "%d %n", &respid, &len) != 1) {
+ ast_log(LOG_WARNING, "Invalid response: '%s'\n", e);
+ } else {
+ if (respid <= 0) {
+ ast_log(LOG_WARNING, "Invalid SIP response code: '%d'\n", respid);
+ return 0;
+ }
+ /* More SIP ridiculousness, we have to ignore bogus contacts in 100 etc responses */
+ if ((respid == 200) || ((respid >= 300) && (respid <= 399)))
+ extract_uri(p, req);
+ handle_response(p, respid, e + len, req, ignore, seqno);
}
- /* More SIP ridiculousness, we have to ignore bogus contacts in 100 etc responses */
- if ((respid == 200) || ((respid >= 300) && (respid <= 399)))
- extract_uri(p, req);
- handle_response(p, respid, e + len, req, ignore, seqno);
}
return 0;
}
Modified: team/murf/bug8221-1.4/channels/misdn/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/channels/misdn/Makefile?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/channels/misdn/Makefile (original)
+++ team/murf/bug8221-1.4/channels/misdn/Makefile Tue Mar 27 22:03:20 2007
@@ -1,6 +1,10 @@
#
# Makefile for chan_misdn support
#
+ifneq ($(wildcard /usr/include/linux/mISDNdsp.h),)
+CFLAGS+=-DMISDN_1_2
+endif
+
all:
%.o: %.c
Modified: team/murf/bug8221-1.4/channels/misdn/chan_misdn_config.h
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/channels/misdn/chan_misdn_config.h?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/channels/misdn/chan_misdn_config.h (original)
+++ team/murf/bug8221-1.4/channels/misdn/chan_misdn_config.h Tue Mar 27 22:03:20 2007
@@ -52,9 +52,8 @@
MISDN_CFG_EARLY_BCONNECT, /* int (bool) */
MISDN_CFG_INCOMING_EARLY_AUDIO, /* int (bool) */
MISDN_CFG_ECHOCANCEL, /* int */
- MISDN_CFG_ECHOCANCELWHENBRIDGED, /* int (bool) */
-#ifdef WITH_ECHOTRAINGING
- MISDN_CFG_ECHOTRAINING, /* int (bool) */
+#ifdef MISDN_1_2
+ MISDN_CFG_PIPELINE, /* char[] */
#endif
#ifdef WITH_BEROEC
Modified: team/murf/bug8221-1.4/channels/misdn/isdn_lib.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug8221-1.4/channels/misdn/isdn_lib.c?view=diff&rev=59287&r1=59286&r2=59287
==============================================================================
--- team/murf/bug8221-1.4/channels/misdn/isdn_lib.c (original)
+++ team/murf/bug8221-1.4/channels/misdn/isdn_lib.c Tue Mar 27 22:03:20 2007
@@ -590,14 +590,13 @@
bc->early_bconnect = 1;
+#ifdef MISDN_1_2
+ *bc->pipeline = 0;
+#else
bc->ec_enable = 0;
bc->ec_deftaps = 128;
[... 957 lines stripped ...]
More information about the asterisk-commits
mailing list