[asterisk-commits] irroot: branch irroot/patches r336161 - /team/irroot/patches/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Sep 15 15:54:36 CDT 2011
Author: irroot
Date: Thu Sep 15 15:54:34 2011
New Revision: 336161
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=336161
Log:
Add t38 trunk patch
fix memory leak in WaitFax not freeing frames
Added:
team/irroot/patches/t38gateway-trunk.patch (with props)
Modified:
team/irroot/patches/distrotech-1.8.7.patch
team/irroot/patches/distrotech-1.8.patch
team/irroot/patches/distrotech-10.patch
team/irroot/patches/distrotech-trunk.patch
team/irroot/patches/t38gateway-1.8.patch
Modified: team/irroot/patches/distrotech-1.8.7.patch
URL: http://svnview.digium.com/svn/asterisk/team/irroot/patches/distrotech-1.8.7.patch?view=diff&rev=336161&r1=336160&r2=336161
==============================================================================
--- team/irroot/patches/distrotech-1.8.7.patch (original)
+++ team/irroot/patches/distrotech-1.8.7.patch Thu Sep 15 15:54:34 2011
@@ -3978,7 +3978,7 @@
ast_test_flag(&opts, OPT_ALLOWAUDIO)) {
details->option.allow_audio = AST_FAX_OPTFLAG_TRUE;
}
-@@ -2287,6 +2446,904 @@
+@@ -2287,6 +2446,908 @@
return (!channel_alive) ? -1 : 0;
}
@@ -4702,7 +4702,7 @@
+ int res = 0;
+ int dspnoise = 0;
+ struct ast_dsp *dsp = NULL;
-+ struct ast_frame *f;
++ struct ast_frame *f, *dup_f;
+ enum ast_t38_state t38state = T38_STATE_UNKNOWN;
+ unsigned int orig_read_format;
+ AST_LIST_HEAD_NOLOCK(, ast_frame) deferred_frames;
@@ -4718,13 +4718,13 @@
+ }
+ }
+
-+ if ((dsp = ast_dsp_new())) {
-+ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
-+ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
-+ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
-+ } else {
++ if (!(dsp = ast_dsp_new())) {
+ return -1;
+ }
++
++ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
++ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
++ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
+
+ AST_LIST_HEAD_INIT_NOLOCK(&deferred_frames);
+
@@ -4767,7 +4767,11 @@
+
+ ast_channel_lock(chan);
+ while ((f = AST_LIST_REMOVE_HEAD(&deferred_frames, frame_list))) {
-+ ast_queue_frame_head(chan, ast_frisolate(f));
++ dup_f = ast_frisolate(f);
++ ast_queue_frame_head(chan, dup_f);
++ if (dup_f != f) {
++ ast_frfree(f);
++ }
+ }
+ ast_channel_unlock(chan);
+
@@ -4883,7 +4887,7 @@
/*! \brief hash callback for ao2 */
static int session_hash_cb(const void *obj, const int flags)
{
-@@ -2558,19 +3615,15 @@
+@@ -2558,19 +3619,15 @@
while ((s = ao2_iterator_next(&i))) {
ao2_lock(s);
@@ -4908,7 +4912,7 @@
ast_free(filenames);
ao2_unlock(s);
-@@ -2689,6 +3742,9 @@
+@@ -2689,6 +3746,9 @@
}
if (!strcasecmp(data, "ecm")) {
ast_copy_string(buf, details->option.ecm ? "yes" : "no", len);
@@ -4918,7 +4922,7 @@
} else if (!strcasecmp(data, "error")) {
ast_copy_string(buf, details->error, len);
} else if (!strcasecmp(data, "filename")) {
-@@ -2763,6 +3819,43 @@
+@@ -2763,6 +3823,43 @@
} else {
ast_log(LOG_WARNING, "Unsupported value '%s' passed to FAXOPT(ecm).\n", value);
}
@@ -4962,7 +4966,7 @@
} else if (!strcasecmp(data, "headerinfo")) {
ast_string_field_set(details, headerinfo, value);
} else if (!strcasecmp(data, "localstationid")) {
-@@ -2813,6 +3906,10 @@
+@@ -2813,6 +3910,10 @@
ast_log(LOG_WARNING, "failed to unregister '%s'\n", app_receivefax);
}
@@ -4973,7 +4977,7 @@
if (fax_logger_level != -1) {
ast_logger_unregister_level("FAX");
}
-@@ -2852,8 +3949,13 @@
+@@ -2852,8 +3953,13 @@
ao2_ref(faxregistry.container, -1);
return AST_MODULE_LOAD_DECLINE;
}
Modified: team/irroot/patches/distrotech-1.8.patch
URL: http://svnview.digium.com/svn/asterisk/team/irroot/patches/distrotech-1.8.patch?view=diff&rev=336161&r1=336160&r2=336161
==============================================================================
--- team/irroot/patches/distrotech-1.8.patch (original)
+++ team/irroot/patches/distrotech-1.8.patch Thu Sep 15 15:54:34 2011
@@ -1,7 +1,7 @@
Index: channels/chan_sip.c
===================================================================
---- channels/chan_sip.c (.../branches/1.8) (revision 336096)
-+++ channels/chan_sip.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/chan_sip.c (.../branches/1.8) (revision 336160)
++++ channels/chan_sip.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -4316,6 +4316,9 @@
case T38_ENABLED:
state = T38_STATE_NEGOTIATED;
@@ -405,8 +405,8 @@
Index: channels/chan_misdn.c
===================================================================
---- channels/chan_misdn.c (.../branches/1.8) (revision 336096)
-+++ channels/chan_misdn.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/chan_misdn.c (.../branches/1.8) (revision 336160)
++++ channels/chan_misdn.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -7884,64 +7884,63 @@
}
@@ -520,8 +520,8 @@
port = misdn_cfg_get_next_port(port)) {
Index: channels/sip/include/sip.h
===================================================================
---- channels/sip/include/sip.h (.../branches/1.8) (revision 336096)
-+++ channels/sip/include/sip.h (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/sip/include/sip.h (.../branches/1.8) (revision 336160)
++++ channels/sip/include/sip.h (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -352,9 +352,11 @@
@@ -555,8 +555,8 @@
Index: channels/sip/include/sdp_crypto.h
===================================================================
---- channels/sip/include/sdp_crypto.h (.../branches/1.8) (revision 336096)
-+++ channels/sip/include/sdp_crypto.h (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/sip/include/sdp_crypto.h (.../branches/1.8) (revision 336160)
++++ channels/sip/include/sdp_crypto.h (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -31,6 +31,7 @@
#include <asterisk/rtp_engine.h>
@@ -590,8 +590,8 @@
/*! \brief Return the a_crypto value of the sdp_crypto struct
Index: channels/sip/include/srtp.h
===================================================================
---- channels/sip/include/srtp.h (.../branches/1.8) (revision 336096)
-+++ channels/sip/include/srtp.h (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/sip/include/srtp.h (.../branches/1.8) (revision 336160)
++++ channels/sip/include/srtp.h (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -34,6 +34,8 @@
#define SRTP_ENCR_OPTIONAL (1 << 1) /* SRTP encryption optional */
#define SRTP_CRYPTO_ENABLE (1 << 2)
@@ -603,8 +603,8 @@
struct sip_srtp {
Index: channels/sip/sdp_crypto.c
===================================================================
---- channels/sip/sdp_crypto.c (.../branches/1.8) (revision 336096)
-+++ channels/sip/sdp_crypto.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/sip/sdp_crypto.c (.../branches/1.8) (revision 336160)
++++ channels/sip/sdp_crypto.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -32,6 +32,7 @@
#include "asterisk/options.h"
#include "asterisk/utils.h"
@@ -655,8 +655,8 @@
Index: channels/chan_local.c
===================================================================
---- channels/chan_local.c (.../branches/1.8) (revision 336096)
-+++ channels/chan_local.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- channels/chan_local.c (.../branches/1.8) (revision 336160)
++++ channels/chan_local.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -588,6 +588,7 @@
static int local_write(struct ast_channel *ast, struct ast_frame *f)
{
@@ -688,8 +688,8 @@
if (!ast_test_flag(p, LOCAL_ALREADY_MASQED)) {
Index: configure.ac
===================================================================
---- configure.ac (.../branches/1.8) (revision 336096)
-+++ configure.ac (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- configure.ac (.../branches/1.8) (revision 336160)
++++ configure.ac (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -1698,7 +1698,7 @@
AST_EXT_LIB_CHECK([SUPPSERV], [suppserv], [encodeFac], [mISDNuser/suppserv.h])
AST_C_DEFINE_CHECK([MISDN_FAC_RESULT], [Fac_RESULT], [mISDNuser/suppserv.h])
@@ -701,8 +701,8 @@
Index: apps/app_queue.c
===================================================================
---- apps/app_queue.c (.../branches/1.8) (revision 336096)
-+++ apps/app_queue.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- apps/app_queue.c (.../branches/1.8) (revision 336160)
++++ apps/app_queue.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -522,11 +522,25 @@
<enum name="count">
<para>Returns the total number of members for the specified queue.</para>
@@ -1677,8 +1677,8 @@
.unload = unload_module,
Index: addons/chan_ooh323.c
===================================================================
---- addons/chan_ooh323.c (.../branches/1.8) (revision 336096)
-+++ addons/chan_ooh323.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- addons/chan_ooh323.c (.../branches/1.8) (revision 336160)
++++ addons/chan_ooh323.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -25,6 +25,42 @@
#include "chan_ooh323.h"
#include <math.h>
@@ -2802,8 +2802,8 @@
Index: Makefile
===================================================================
---- Makefile (.../branches/1.8) (revision 336096)
-+++ Makefile (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- Makefile (.../branches/1.8) (revision 336160)
++++ Makefile (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -127,7 +127,7 @@
# Asterisk.conf is located in ASTETCDIR or by using the -C flag
# when starting Asterisk
@@ -2815,8 +2815,8 @@
# If you use Apache, you may determine by a grep 'DocumentRoot' of your httpd.conf file
Index: funcs/func_channel.c
===================================================================
---- funcs/func_channel.c (.../branches/1.8) (revision 336096)
-+++ funcs/func_channel.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- funcs/func_channel.c (.../branches/1.8) (revision 336160)
++++ funcs/func_channel.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -89,6 +89,9 @@
<enum name="callgroup">
<para>R/W call groups for call pickup.</para>
@@ -2853,8 +2853,8 @@
} else if (!strcasecmp(data, "rxgain")) {
Index: include/asterisk/res_fax.h
===================================================================
---- include/asterisk/res_fax.h (.../branches/1.8) (revision 336096)
-+++ include/asterisk/res_fax.h (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- include/asterisk/res_fax.h (.../branches/1.8) (revision 336160)
++++ include/asterisk/res_fax.h (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -42,6 +42,8 @@
AST_FAX_TECH_T38 = (1 << 3),
/*! sending mulitple documents supported */
@@ -2887,8 +2887,8 @@
/*! the type of fax session supported with this ast_fax_tech structure */
Index: include/asterisk/dsp.h
===================================================================
---- include/asterisk/dsp.h (.../branches/1.8) (revision 336096)
-+++ include/asterisk/dsp.h (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- include/asterisk/dsp.h (.../branches/1.8) (revision 336160)
++++ include/asterisk/dsp.h (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -43,9 +43,11 @@
#define DSP_FEATURE_CALL_PROGRESS (DSP_PROGRESS_TALK | DSP_PROGRESS_RINGING | DSP_PROGRESS_BUSY | DSP_PROGRESS_CONGESTION)
#define DSP_FEATURE_WAITDIALTONE (1 << 20) /*!< Enable dial tone detection */
@@ -2906,8 +2906,8 @@
#define DSP_TONE_STATE_RINGING 1
Index: main/channel.c
===================================================================
---- main/channel.c (.../branches/1.8) (revision 336096)
-+++ main/channel.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- main/channel.c (.../branches/1.8) (revision 336160)
++++ main/channel.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -4891,6 +4891,10 @@
apply_plc(chan, fr);
}
@@ -2948,8 +2948,8 @@
int to;
Index: main/dsp.c
===================================================================
---- main/dsp.c (.../branches/1.8) (revision 336096)
-+++ main/dsp.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- main/dsp.c (.../branches/1.8) (revision 336160)
++++ main/dsp.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -254,6 +254,20 @@
typedef struct
@@ -3153,8 +3153,8 @@
Index: main/frame.c
===================================================================
---- main/frame.c (.../branches/1.8) (revision 336096)
-+++ main/frame.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- main/frame.c (.../branches/1.8) (revision 336160)
++++ main/frame.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -413,7 +413,7 @@
out->samples = fr->samples;
out->offset = fr->offset;
@@ -3175,8 +3175,8 @@
out->seqno = f->seqno;
Index: configs/chan_ooh323.conf.sample
===================================================================
---- configs/chan_ooh323.conf.sample (.../branches/1.8) (revision 336096)
-+++ configs/chan_ooh323.conf.sample (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- configs/chan_ooh323.conf.sample (.../branches/1.8) (revision 336160)
++++ configs/chan_ooh323.conf.sample (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -122,6 +122,18 @@
;
;roundtrip=x,y
@@ -3198,8 +3198,8 @@
; ------------------ -------------------
Index: configs/queues.conf.sample
===================================================================
---- configs/queues.conf.sample (.../branches/1.8) (revision 336096)
-+++ configs/queues.conf.sample (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- configs/queues.conf.sample (.../branches/1.8) (revision 336160)
++++ configs/queues.conf.sample (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -61,6 +61,16 @@
;
;shared_lastcall=no
@@ -3240,8 +3240,8 @@
; If you wish to have a delay before the member is connected to the caller (or
Index: res/res_fax.c
===================================================================
---- res/res_fax.c (.../branches/1.8) (revision 336096)
-+++ res/res_fax.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- res/res_fax.c (.../branches/1.8) (revision 336160)
++++ res/res_fax.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -5,7 +5,24 @@
*
* Dwayne M. Hubbard <dhubbard at digium.com>
@@ -3719,7 +3719,7 @@
ast_test_flag(&opts, OPT_ALLOWAUDIO)) {
details->option.allow_audio = AST_FAX_OPTFLAG_TRUE;
}
-@@ -2287,6 +2446,904 @@
+@@ -2287,6 +2446,908 @@
return (!channel_alive) ? -1 : 0;
}
@@ -4443,7 +4443,7 @@
+ int res = 0;
+ int dspnoise = 0;
+ struct ast_dsp *dsp = NULL;
-+ struct ast_frame *f;
++ struct ast_frame *f, *dup_f;
+ enum ast_t38_state t38state = T38_STATE_UNKNOWN;
+ unsigned int orig_read_format;
+ AST_LIST_HEAD_NOLOCK(, ast_frame) deferred_frames;
@@ -4459,13 +4459,13 @@
+ }
+ }
+
-+ if ((dsp = ast_dsp_new())) {
-+ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
-+ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
-+ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
-+ } else {
++ if (!(dsp = ast_dsp_new())) {
+ return -1;
+ }
++
++ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
++ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
++ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
+
+ AST_LIST_HEAD_INIT_NOLOCK(&deferred_frames);
+
@@ -4508,7 +4508,11 @@
+
+ ast_channel_lock(chan);
+ while ((f = AST_LIST_REMOVE_HEAD(&deferred_frames, frame_list))) {
-+ ast_queue_frame_head(chan, ast_frisolate(f));
++ dup_f = ast_frisolate(f);
++ ast_queue_frame_head(chan, dup_f);
++ if (dup_f != f) {
++ ast_frfree(f);
++ }
+ }
+ ast_channel_unlock(chan);
+
@@ -4624,7 +4628,7 @@
/*! \brief hash callback for ao2 */
static int session_hash_cb(const void *obj, const int flags)
{
-@@ -2558,19 +3615,15 @@
+@@ -2558,19 +3619,15 @@
while ((s = ao2_iterator_next(&i))) {
ao2_lock(s);
@@ -4649,7 +4653,7 @@
ast_free(filenames);
ao2_unlock(s);
-@@ -2689,6 +3742,9 @@
+@@ -2689,6 +3746,9 @@
}
if (!strcasecmp(data, "ecm")) {
ast_copy_string(buf, details->option.ecm ? "yes" : "no", len);
@@ -4659,7 +4663,7 @@
} else if (!strcasecmp(data, "error")) {
ast_copy_string(buf, details->error, len);
} else if (!strcasecmp(data, "filename")) {
-@@ -2763,6 +3819,43 @@
+@@ -2763,6 +3823,43 @@
} else {
ast_log(LOG_WARNING, "Unsupported value '%s' passed to FAXOPT(ecm).\n", value);
}
@@ -4703,7 +4707,7 @@
} else if (!strcasecmp(data, "headerinfo")) {
ast_string_field_set(details, headerinfo, value);
} else if (!strcasecmp(data, "localstationid")) {
-@@ -2813,6 +3906,10 @@
+@@ -2813,6 +3910,10 @@
ast_log(LOG_WARNING, "failed to unregister '%s'\n", app_receivefax);
}
@@ -4714,7 +4718,7 @@
if (fax_logger_level != -1) {
ast_logger_unregister_level("FAX");
}
-@@ -2852,8 +3949,13 @@
+@@ -2852,8 +3953,13 @@
ao2_ref(faxregistry.container, -1);
return AST_MODULE_LOAD_DECLINE;
}
@@ -4731,8 +4735,8 @@
return res;
Index: res/res_fax_spandsp.c
===================================================================
---- res/res_fax_spandsp.c (.../branches/1.8) (revision 336096)
-+++ res/res_fax_spandsp.c (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- res/res_fax_spandsp.c (.../branches/1.8) (revision 336160)
++++ res/res_fax_spandsp.c (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -5,6 +5,22 @@
*
* Matthew Nicholson <mnicholson at digium.com>
@@ -5200,8 +5204,8 @@
ast_cli(fd, "\n\n");
Index: contrib/scripts/safe_asterisk
===================================================================
---- contrib/scripts/safe_asterisk (.../branches/1.8) (revision 336096)
-+++ contrib/scripts/safe_asterisk (.../team/irroot/distrotech-customers-1.8) (revision 336096)
+--- contrib/scripts/safe_asterisk (.../branches/1.8) (revision 336160)
++++ contrib/scripts/safe_asterisk (.../team/irroot/distrotech-customers-1.8) (revision 336160)
@@ -2,14 +2,14 @@
# vim:textwidth=80:tabstop=4:shiftwidth=4:smartindent:autoindent
Modified: team/irroot/patches/distrotech-10.patch
URL: http://svnview.digium.com/svn/asterisk/team/irroot/patches/distrotech-10.patch?view=diff&rev=336161&r1=336160&r2=336161
==============================================================================
--- team/irroot/patches/distrotech-10.patch (original)
+++ team/irroot/patches/distrotech-10.patch Thu Sep 15 15:54:34 2011
@@ -1,7 +1,7 @@
Index: channels/chan_sip.c
===================================================================
---- channels/chan_sip.c (.../branches/10) (revision 336097)
-+++ channels/chan_sip.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/chan_sip.c (.../branches/10) (revision 336160)
++++ channels/chan_sip.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -5489,17 +5489,23 @@
if (p->rtp && !p->srtp && setup_srtp(&p->srtp) < 0) {
@@ -193,8 +193,8 @@
Index: channels/chan_misdn.c
===================================================================
---- channels/chan_misdn.c (.../branches/10) (revision 336097)
-+++ channels/chan_misdn.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/chan_misdn.c (.../branches/10) (revision 336160)
++++ channels/chan_misdn.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -7886,64 +7886,63 @@
}
@@ -308,8 +308,8 @@
port = misdn_cfg_get_next_port(port)) {
Index: channels/sip/include/sip.h
===================================================================
---- channels/sip/include/sip.h (.../branches/10) (revision 336097)
-+++ channels/sip/include/sip.h (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/sip/include/sip.h (.../branches/10) (revision 336160)
++++ channels/sip/include/sip.h (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -353,9 +353,11 @@
@@ -325,8 +325,8 @@
Index: channels/sip/include/sdp_crypto.h
===================================================================
---- channels/sip/include/sdp_crypto.h (.../branches/10) (revision 336097)
-+++ channels/sip/include/sdp_crypto.h (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/sip/include/sdp_crypto.h (.../branches/10) (revision 336160)
++++ channels/sip/include/sdp_crypto.h (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -31,6 +31,7 @@
#include <asterisk/rtp_engine.h>
@@ -360,8 +360,8 @@
/*! \brief Return the a_crypto value of the sdp_crypto struct
Index: channels/sip/include/srtp.h
===================================================================
---- channels/sip/include/srtp.h (.../branches/10) (revision 336097)
-+++ channels/sip/include/srtp.h (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/sip/include/srtp.h (.../branches/10) (revision 336160)
++++ channels/sip/include/srtp.h (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -34,6 +34,8 @@
#define SRTP_ENCR_OPTIONAL (1 << 1) /* SRTP encryption optional */
#define SRTP_CRYPTO_ENABLE (1 << 2)
@@ -373,8 +373,8 @@
struct sip_srtp {
Index: channels/sip/sdp_crypto.c
===================================================================
---- channels/sip/sdp_crypto.c (.../branches/10) (revision 336097)
-+++ channels/sip/sdp_crypto.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/sip/sdp_crypto.c (.../branches/10) (revision 336160)
++++ channels/sip/sdp_crypto.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -32,6 +32,7 @@
#include "asterisk/options.h"
#include "asterisk/utils.h"
@@ -425,8 +425,8 @@
Index: channels/chan_local.c
===================================================================
---- channels/chan_local.c (.../branches/10) (revision 336097)
-+++ channels/chan_local.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- channels/chan_local.c (.../branches/10) (revision 336160)
++++ channels/chan_local.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -587,6 +587,7 @@
static int local_write(struct ast_channel *ast, struct ast_frame *f)
{
@@ -458,8 +458,8 @@
if (!ast_test_flag(p, LOCAL_ALREADY_MASQED)) {
Index: configure.ac
===================================================================
---- configure.ac (.../branches/10) (revision 336097)
-+++ configure.ac (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- configure.ac (.../branches/10) (revision 336160)
++++ configure.ac (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -1717,7 +1717,7 @@
AST_EXT_LIB_CHECK([SUPPSERV], [suppserv], [encodeFac], [mISDNuser/suppserv.h])
AST_C_DEFINE_CHECK([MISDN_FAC_RESULT], [Fac_RESULT], [mISDNuser/suppserv.h])
@@ -471,8 +471,8 @@
Index: apps/app_queue.c
===================================================================
---- apps/app_queue.c (.../branches/10) (revision 336097)
-+++ apps/app_queue.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- apps/app_queue.c (.../branches/10) (revision 336160)
++++ apps/app_queue.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -952,6 +952,9 @@
/*! \brief queues.conf [general] option */
static int negative_penalty_invalid = 0;
@@ -799,8 +799,8 @@
.unload = unload_module,
Index: CHANGES
===================================================================
---- CHANGES (.../branches/10) (revision 336097)
-+++ CHANGES (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- CHANGES (.../branches/10) (revision 336160)
++++ CHANGES (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -184,6 +184,8 @@
SIP Changes
-----------
@@ -812,8 +812,8 @@
-------------
Index: Makefile
===================================================================
---- Makefile (.../branches/10) (revision 336097)
-+++ Makefile (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- Makefile (.../branches/10) (revision 336160)
++++ Makefile (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -127,7 +127,7 @@
# Asterisk.conf is located in ASTETCDIR or by using the -C flag
# when starting Asterisk
@@ -825,8 +825,8 @@
# If you use Apache, you may determine by a grep 'DocumentRoot' of your httpd.conf file
Index: main/channel.c
===================================================================
---- main/channel.c (.../branches/10) (revision 336097)
-+++ main/channel.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- main/channel.c (.../branches/10) (revision 336160)
++++ main/channel.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -4966,6 +4966,11 @@
apply_plc(chan, fr);
}
@@ -868,8 +868,8 @@
int to;
Index: configs/sip.conf.sample
===================================================================
---- configs/sip.conf.sample (.../branches/10) (revision 336097)
-+++ configs/sip.conf.sample (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- configs/sip.conf.sample (.../branches/10) (revision 336160)
++++ configs/sip.conf.sample (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -901,6 +901,9 @@
;encryption=no ; Whether to offer SRTP encrypted media (and only SRTP encrypted media)
; on outgoing calls to a peer. Calls will fail with HANGUPCAUSE=58 if
@@ -882,8 +882,8 @@
; For additional information on ARA, the Asterisk Realtime Architecture,
Index: configs/queues.conf.sample
===================================================================
---- configs/queues.conf.sample (.../branches/10) (revision 336097)
-+++ configs/queues.conf.sample (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- configs/queues.conf.sample (.../branches/10) (revision 336160)
++++ configs/queues.conf.sample (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -65,6 +65,12 @@
;
;negative_penalty_invalid = no
@@ -899,8 +899,8 @@
; A sample call queue
Index: res/res_fax.c
===================================================================
---- res/res_fax.c (.../branches/10) (revision 336097)
-+++ res/res_fax.c (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- res/res_fax.c (.../branches/10) (revision 336160)
++++ res/res_fax.c (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -225,10 +225,33 @@
<ref type="application">SendFax</ref>
</see-also>
@@ -935,7 +935,7 @@
struct debug_info_history {
unsigned int consec_frames;
-@@ -3068,6 +3091,197 @@
+@@ -3068,6 +3091,201 @@
return gateway->framehook;
}
@@ -950,7 +950,7 @@
+ int res = 0;
+ int dspnoise = 0;
+ struct ast_dsp *dsp = NULL;
-+ struct ast_frame *f;
++ struct ast_frame *f, *dup_f;
+ enum ast_t38_state t38state = T38_STATE_UNKNOWN;
+ struct ast_format orig_read_format;
+ AST_LIST_HEAD_NOLOCK(, ast_frame) deferred_frames;
@@ -968,13 +968,13 @@
+ }
+ }
+
-+ if ((dsp = ast_dsp_new())) {
-+ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
-+ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
-+ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
-+ } else {
++ if (!(dsp = ast_dsp_new())) {
+ return -1;
+ }
++
++ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
++ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
++ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
+
+ AST_LIST_HEAD_INIT_NOLOCK(&deferred_frames);
+
@@ -1017,7 +1017,11 @@
+
+ ast_channel_lock(chan);
+ while ((f = AST_LIST_REMOVE_HEAD(&deferred_frames, frame_list))) {
-+ ast_queue_frame_head(chan, ast_frisolate(f));
++ dup_f = ast_frisolate(f);
++ ast_queue_frame_head(chan, dup_f);
++ if (dup_f != f) {
++ ast_frfree(f);
++ }
+ }
+ ast_channel_unlock(chan);
+
@@ -1133,7 +1137,7 @@
/*! \brief hash callback for ao2 */
static int session_hash_cb(const void *obj, const int flags)
{
-@@ -3630,6 +3844,10 @@
+@@ -3630,6 +3848,10 @@
ast_log(LOG_WARNING, "failed to unregister '%s'\n", app_receivefax);
}
@@ -1144,7 +1148,7 @@
if (fax_logger_level != -1) {
ast_logger_unregister_level("FAX");
}
-@@ -3670,8 +3888,12 @@
+@@ -3670,8 +3892,12 @@
return AST_MODULE_LOAD_DECLINE;
}
@@ -1160,8 +1164,8 @@
return res;
Index: contrib/scripts/safe_asterisk
===================================================================
---- contrib/scripts/safe_asterisk (.../branches/10) (revision 336097)
-+++ contrib/scripts/safe_asterisk (.../team/irroot/distrotech-customers-10) (revision 336097)
+--- contrib/scripts/safe_asterisk (.../branches/10) (revision 336160)
++++ contrib/scripts/safe_asterisk (.../team/irroot/distrotech-customers-10) (revision 336160)
@@ -6,14 +6,14 @@
ASTVARLOGDIR=__ASTERISK_LOG_DIR__
Modified: team/irroot/patches/distrotech-trunk.patch
URL: http://svnview.digium.com/svn/asterisk/team/irroot/patches/distrotech-trunk.patch?view=diff&rev=336161&r1=336160&r2=336161
==============================================================================
--- team/irroot/patches/distrotech-trunk.patch (original)
+++ team/irroot/patches/distrotech-trunk.patch Thu Sep 15 15:54:34 2011
@@ -1,7 +1,7 @@
Index: channels/chan_sip.c
===================================================================
---- channels/chan_sip.c (.../trunk) (revision 336098)
-+++ channels/chan_sip.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/chan_sip.c (.../trunk) (revision 336160)
++++ channels/chan_sip.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -5493,17 +5493,23 @@
if (p->rtp && !p->srtp && setup_srtp(&p->srtp) < 0) {
@@ -193,8 +193,8 @@
Index: channels/chan_misdn.c
===================================================================
---- channels/chan_misdn.c (.../trunk) (revision 336098)
-+++ channels/chan_misdn.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/chan_misdn.c (.../trunk) (revision 336160)
++++ channels/chan_misdn.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -7886,64 +7886,63 @@
}
@@ -308,8 +308,8 @@
port = misdn_cfg_get_next_port(port)) {
Index: channels/sip/include/sip.h
===================================================================
---- channels/sip/include/sip.h (.../trunk) (revision 336098)
-+++ channels/sip/include/sip.h (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/sip/include/sip.h (.../trunk) (revision 336160)
++++ channels/sip/include/sip.h (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -354,9 +354,11 @@
@@ -325,8 +325,8 @@
Index: channels/sip/include/sdp_crypto.h
===================================================================
---- channels/sip/include/sdp_crypto.h (.../trunk) (revision 336098)
-+++ channels/sip/include/sdp_crypto.h (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/sip/include/sdp_crypto.h (.../trunk) (revision 336160)
++++ channels/sip/include/sdp_crypto.h (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -31,6 +31,7 @@
#include <asterisk/rtp_engine.h>
@@ -360,8 +360,8 @@
/*! \brief Return the a_crypto value of the sdp_crypto struct
Index: channels/sip/include/srtp.h
===================================================================
---- channels/sip/include/srtp.h (.../trunk) (revision 336098)
-+++ channels/sip/include/srtp.h (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/sip/include/srtp.h (.../trunk) (revision 336160)
++++ channels/sip/include/srtp.h (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -34,6 +34,8 @@
#define SRTP_ENCR_OPTIONAL (1 << 1) /* SRTP encryption optional */
#define SRTP_CRYPTO_ENABLE (1 << 2)
@@ -373,8 +373,8 @@
struct sip_srtp {
Index: channels/sip/sdp_crypto.c
===================================================================
---- channels/sip/sdp_crypto.c (.../trunk) (revision 336098)
-+++ channels/sip/sdp_crypto.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/sip/sdp_crypto.c (.../trunk) (revision 336160)
++++ channels/sip/sdp_crypto.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -32,6 +32,7 @@
#include "asterisk/options.h"
#include "asterisk/utils.h"
@@ -425,8 +425,8 @@
Index: channels/chan_local.c
===================================================================
---- channels/chan_local.c (.../trunk) (revision 336098)
-+++ channels/chan_local.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- channels/chan_local.c (.../trunk) (revision 336160)
++++ channels/chan_local.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -588,6 +588,7 @@
static int local_write(struct ast_channel *ast, struct ast_frame *f)
{
@@ -458,8 +458,8 @@
if (!ast_test_flag(p, LOCAL_ALREADY_MASQED)) {
Index: configure.ac
===================================================================
---- configure.ac (.../trunk) (revision 336098)
-+++ configure.ac (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- configure.ac (.../trunk) (revision 336160)
++++ configure.ac (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -1717,7 +1717,7 @@
AST_EXT_LIB_CHECK([SUPPSERV], [suppserv], [encodeFac], [mISDNuser/suppserv.h])
AST_C_DEFINE_CHECK([MISDN_FAC_RESULT], [Fac_RESULT], [mISDNuser/suppserv.h])
@@ -471,8 +471,8 @@
Index: apps/app_queue.c
===================================================================
---- apps/app_queue.c (.../trunk) (revision 336098)
-+++ apps/app_queue.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- apps/app_queue.c (.../trunk) (revision 336160)
++++ apps/app_queue.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -5075,8 +5075,26 @@
qe->handled++;
ast_queue_log(queuename, qe->chan->uniqueid, member->membername, "CONNECT", "%ld|%s|%ld", (long) time(NULL) - qe->start, peer->uniqueid,
@@ -504,8 +504,8 @@
"Queue: %s\r\n"
Index: CHANGES
===================================================================
---- CHANGES (.../trunk) (revision 336098)
-+++ CHANGES (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- CHANGES (.../trunk) (revision 336160)
++++ CHANGES (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -213,6 +213,8 @@
SIP Changes
-----------
@@ -517,8 +517,8 @@
-------------
Index: Makefile
===================================================================
---- Makefile (.../trunk) (revision 336098)
-+++ Makefile (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- Makefile (.../trunk) (revision 336160)
++++ Makefile (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -127,7 +127,7 @@
# Asterisk.conf is located in ASTETCDIR or by using the -C flag
# when starting Asterisk
@@ -530,8 +530,8 @@
# If you use Apache, you may determine by a grep 'DocumentRoot' of your httpd.conf file
Index: main/channel.c
===================================================================
---- main/channel.c (.../trunk) (revision 336098)
-+++ main/channel.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- main/channel.c (.../trunk) (revision 336160)
++++ main/channel.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -4966,6 +4966,11 @@
apply_plc(chan, fr);
}
@@ -573,8 +573,8 @@
int to;
Index: configs/sip.conf.sample
===================================================================
---- configs/sip.conf.sample (.../trunk) (revision 336098)
-+++ configs/sip.conf.sample (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- configs/sip.conf.sample (.../trunk) (revision 336160)
++++ configs/sip.conf.sample (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -904,6 +904,9 @@
;encryption=no ; Whether to offer SRTP encrypted media (and only SRTP encrypted media)
; on outgoing calls to a peer. Calls will fail with HANGUPCAUSE=58 if
@@ -587,8 +587,8 @@
; For additional information on ARA, the Asterisk Realtime Architecture,
Index: res/res_fax.c
===================================================================
---- res/res_fax.c (.../trunk) (revision 336098)
-+++ res/res_fax.c (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- res/res_fax.c (.../trunk) (revision 336160)
++++ res/res_fax.c (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -225,10 +225,33 @@
<ref type="application">SendFax</ref>
</see-also>
@@ -623,7 +623,7 @@
struct debug_info_history {
unsigned int consec_frames;
-@@ -3068,6 +3091,197 @@
+@@ -3068,6 +3091,201 @@
return gateway->framehook;
}
@@ -638,7 +638,7 @@
+ int res = 0;
+ int dspnoise = 0;
+ struct ast_dsp *dsp = NULL;
-+ struct ast_frame *f;
++ struct ast_frame *f, *dup_f;
+ enum ast_t38_state t38state = T38_STATE_UNKNOWN;
+ struct ast_format orig_read_format;
+ AST_LIST_HEAD_NOLOCK(, ast_frame) deferred_frames;
@@ -656,13 +656,13 @@
+ }
+ }
+
-+ if ((dsp = ast_dsp_new())) {
-+ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
-+ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
-+ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
-+ } else {
++ if (!(dsp = ast_dsp_new())) {
+ return -1;
+ }
++
++ ast_dsp_set_features(dsp, DSP_FEATURE_FAX_DETECT);
++ ast_dsp_set_faxmode(dsp, DSP_FAXMODE_DETECT_CNG | DSP_FAXMODE_DETECT_SQUELCH);
++ ast_dsp_set_threshold(dsp, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE));
+
+ AST_LIST_HEAD_INIT_NOLOCK(&deferred_frames);
+
@@ -705,7 +705,11 @@
+
+ ast_channel_lock(chan);
+ while ((f = AST_LIST_REMOVE_HEAD(&deferred_frames, frame_list))) {
-+ ast_queue_frame_head(chan, ast_frisolate(f));
++ dup_f = ast_frisolate(f);
++ ast_queue_frame_head(chan, dup_f);
++ if (dup_f != f) {
++ ast_frfree(f);
++ }
+ }
+ ast_channel_unlock(chan);
+
@@ -821,7 +825,7 @@
/*! \brief hash callback for ao2 */
static int session_hash_cb(const void *obj, const int flags)
{
-@@ -3630,6 +3844,10 @@
+@@ -3630,6 +3848,10 @@
ast_log(LOG_WARNING, "failed to unregister '%s'\n", app_receivefax);
}
@@ -832,7 +836,7 @@
if (fax_logger_level != -1) {
ast_logger_unregister_level("FAX");
}
-@@ -3670,8 +3888,12 @@
+@@ -3670,8 +3892,12 @@
return AST_MODULE_LOAD_DECLINE;
}
@@ -848,8 +852,8 @@
return res;
Index: contrib/scripts/safe_asterisk
===================================================================
---- contrib/scripts/safe_asterisk (.../trunk) (revision 336098)
-+++ contrib/scripts/safe_asterisk (.../team/irroot/distrotech-customers-trunk) (revision 336098)
+--- contrib/scripts/safe_asterisk (.../trunk) (revision 336160)
++++ contrib/scripts/safe_asterisk (.../team/irroot/distrotech-customers-trunk) (revision 336160)
@@ -6,14 +6,14 @@
ASTVARLOGDIR=__ASTERISK_LOG_DIR__
Modified: team/irroot/patches/t38gateway-1.8.patch
URL: http://svnview.digium.com/svn/asterisk/team/irroot/patches/t38gateway-1.8.patch?view=diff&rev=336161&r1=336160&r2=336161
[... 834 lines stripped ...]
More information about the asterisk-commits
mailing list