[asterisk-commits] file: trunk r50698 - in /trunk: ./ channels/ configs/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Fri Jan 12 21:04:05 MST 2007


Author: file
Date: Fri Jan 12 22:04:04 2007
New Revision: 50698

URL: http://svn.digium.com/view/asterisk?view=rev&rev=50698
Log:
Drop trunkrealloc option and just have the maximum size be a configurable option. This is per Kevin's comments on -dev and my own thoughts after I put the previous option in.

Modified:
    trunk/CHANGES
    trunk/channels/chan_iax2.c
    trunk/configs/iax.conf.sample

Modified: trunk/CHANGES
URL: http://svn.digium.com/view/asterisk/trunk/CHANGES?view=diff&rev=50698&r1=50697&r2=50698
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Fri Jan 12 22:04:04 2007
@@ -60,7 +60,7 @@
      what Asterisk should set as the maximum number of open files when it loads.
   * Added the jittertargetextra configuration option.
   * Added the URI redirect option for the built-in HTTP server
-  * Added the trunkrealloc configuration option to chan_iax2.
+  * Added the trunkmaxsize configuration option to chan_iax2.
 
 SIP changes
 -----------

Modified: trunk/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_iax2.c?view=diff&rev=50698&r1=50697&r2=50698
==============================================================================
--- trunk/channels/chan_iax2.c (original)
+++ trunk/channels/chan_iax2.c Fri Jan 12 22:04:04 2007
@@ -164,8 +164,12 @@
 static int resyncthreshold=1000;
 static int maxjitterinterps=10;
 static int jittertargetextra = 40; /* number of milliseconds the new jitter buffer adds on to its size */
+
+#define MAX_TRUNKDATA           640 * 200       /*!< 40ms, uncompressed linear * 200 channels */
+
 static int trunkfreq = 20;
-static int trunkrealloc = 0;
+static int trunkmaxsize = MAX_TRUNKDATA;
+
 static int authdebug = 1;
 static int autokill = 0;
 static int iaxcompat = 0;
@@ -449,7 +453,6 @@
 #define MIN_JITTER_BUFFER 	10
 
 #define DEFAULT_TRUNKDATA	640 * 10	/*!< 40ms, uncompressed linear * 10 channels */
-#define MAX_TRUNKDATA		640 * 200	/*!< 40ms, uncompressed linear * 200 channels */
 
 #define MAX_TIMESTAMP_SKEW	160		/*!< maximum difference between actual and predicted ts for sending */
 
@@ -3650,7 +3653,7 @@
 	if (tpeer) {
 		if (tpeer->trunkdatalen + f->datalen + 4 >= tpeer->trunkdataalloc) {
 			/* Need to reallocate space */
-			if (tpeer->trunkdataalloc < MAX_TRUNKDATA || trunkrealloc) {
+			if (tpeer->trunkdataalloc < trunkmaxsize) {
 				if (!(tmp = ast_realloc(tpeer->trunkdata, tpeer->trunkdataalloc + DEFAULT_TRUNKDATA + IAX2_TRUNK_PREFACE))) {
 					ast_mutex_unlock(&tpeer->lock);
 					return -1;
@@ -6020,7 +6023,7 @@
 #endif
 	struct timeval now;
 	if (iaxtrunkdebug)
-		ast_verbose("Beginning trunk processing. Trunk queue ceiling is %d bytes per host\n", MAX_TRUNKDATA);
+		ast_verbose("Beginning trunk processing. Trunk queue ceiling is %d bytes per host\n", trunkmaxsize);
 	gettimeofday(&now, NULL);
 	if (events & AST_IO_PRI) {
 #ifdef ZT_TIMERACK
@@ -8910,8 +8913,6 @@
 
 	maxauthreq = 3;
 
-	trunkrealloc = 0;
-
 	v = ast_variable_browse(cfg, "general");
 
 	/* Seed initial tos value */
@@ -9054,8 +9055,10 @@
 			else 
 				ast_log(LOG_NOTICE, "trunkmtu value out of bounds (%d) at line %d\n",
 					mtuv, v->lineno);
-		} else if (!strcasecmp(v->name, "trunkrealloc")) {
-			trunkrealloc = ast_true(v->value);
+		} else if (!strcasecmp(v->name, "trunkmaxsize")) {
+			trunkmaxsize = atoi(v->value);
+			if (trunkmaxsize == 0)
+				trunkmaxsize = MAX_TRUNKDATA;
 		} else if (!strcasecmp(v->name, "autokill")) {
 			if (sscanf(v->value, "%d", &x) == 1) {
 				if (x >= 0)
@@ -9239,6 +9242,7 @@
 	strcpy(mohinterpret, "default");
 	strcpy(mohsuggest, "");
 	global_max_trunk_mtu = MAX_TRUNK_MTU;
+	trunkmaxsize = MAX_TRUNKDATA;
 	amaflags = 0;
 	delayreject = 0;
 	ast_clear_flag((&globalflags), IAX_NOTRANSFER);	

Modified: trunk/configs/iax.conf.sample
URL: http://svn.digium.com/view/asterisk/trunk/configs/iax.conf.sample?view=diff&rev=50698&r1=50697&r2=50698
==============================================================================
--- trunk/configs/iax.conf.sample (original)
+++ trunk/configs/iax.conf.sample Fri Jan 12 22:04:04 2007
@@ -173,8 +173,10 @@
 ; trunkmtu = 0
 ;
 
-; Set the below option to yes to have the trunking size grow beyond the normal limit.
-; trunkrealloc=yes
+; This option defines the maximum size an IAX2 trunk can grow to. The default value is 128000 which
+; represents 40ms uncompressed linear with 200 channels. Depending on different things though
+; (codec in use and channels) you may need to make this value larger.
+; trunkmaxsize = 128000
 
 ; IAX helper threads
 



More information about the asterisk-commits mailing list