hello Marek, after applying the patch to dahdi-linux-2.2.1.1 when i run make i got this error. usr/src/dahdi-linux-2.2.1.1/drivers/dahdi/wcb4xxp/base.c:60:2: error: #error Sorry, wcb4xxp does not support chunksize != 8 make[3]: *** [/usr/src/dahdi-linux-2.2.1.1/drivers/dahdi/wcb4xxp/base.o] Error 1 make[2]: *** [/usr/src/dahdi-linux-2.2.1.1/drivers/dahdi/wcb4xxp] Error 2 make[1]: *** [_module_/usr/src/dahdi-linux-2.2.1.1/drivers/dahdi] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.30.10-105.2.23.fc11.i686.PAE' make: *** [modules] Error 2 Thanks On Mon, Mar 15, 2010 at 2:25 PM, Ngo-Vi Hoai-Anh <hoaianh at gmx.de> wrote: > We have managed to make it work with DAHDI_CHUNKSIZE 40. > > We use: > - Sangoma A 108 > - Chan_ss7 1.3 > - Dahdi-linux-2.2.1 > > It works but we don't know for sure how stable it is. I would be very > thankful if someone tries and give us some feedback. > > Patch on chan_ss7 > > diff -ur chan_ss7-1.3/mtp.c chan_ss7-chunk40-1.3/mtp.c > --- chan_ss7-1.3/mtp.c 2009-12-06 10:34:42.000000000 +0100 > +++ chan_ss7-chunk40-1.3/mtp.c 2010-03-15 11:09:07.000000000 +0100 > @@ -1829,7 +1829,8 @@ > gettimeofday(&now, NULL); > tdiff = timediff_usec(now, last); > #ifndef MTP_OVER_UDP > - if (tdiff > 5000) > + //if (tdiff > 5000) > + if (tdiff > 25000) > if (n_mtp2_state) > fifo_log(m, LOG_NOTICE, "Excessive poll delay %d!\n", tdiff);//xxxx > #endif > diff -ur chan_ss7-1.3/transport.h chan_ss7-chunk40-1.3/transport.h > --- chan_ss7-1.3/transport.h 2009-12-06 10:34:42.000000000 +0100 > +++ chan_ss7-chunk40-1.3/transport.h 2010-03-15 10:49:10.000000000 +0100 > @@ -37,7 +37,8 @@ > #ifdef MTP_OVER_UDP > ZAP_BUF_SIZE = 64, > #else > - ZAP_BUF_SIZE = 16, > + //ZAP_BUF_SIZE = 16, > + ZAP_BUF_SIZE = 80, > #endif > }; > > > > > Patch on dahdi > > diff -ur dahdi-linux-2.2.1/drivers/dahdi/dahdi-base.c > /var/tmp/dahdi-linux-2.2.1/drivers/dahdi/dahdi-base.c > --- dahdi-linux-2.2.1/drivers/dahdi/dahdi-base.c 2009-12-28 > 20:16:37.000000000 +0100 > +++ /var/tmp/dahdi-linux-2.2.1/drivers/dahdi/dahdi-base.c 2010-03-15 > 13:20:23.000000000 +0100 > @@ -3047,7 +3047,8 @@ > case DAHDI_TONE_MFR1_ST2P: > case DAHDI_TONE_MFR1_ST3P: > /* signaling control tones are always 100ms */ > - t->tonesamples = 100 * DAHDI_CHUNKSIZE; > + /* t->tonesamples = 100 * DAHDI_CHUNKSIZE; */ > + t->tonesamples = 100 * DAHDI_DEFAULT_CHUNKSIZE; > break; > default: > t->tonesamples = global_dialparams.mfv1_tonelen; > @@ -4249,27 +4250,37 @@ > continue; > > for (i = 0; i < ARRAY_SIZE(z->dtmf); i++) { > - z->dtmf[i].tonesamples = global_dialparams.dtmf_tonelen > * DAHDI_CHUNKSIZE; > + // z->dtmf[i].tonesamples = > global_dialparams.dtmf_tonelen * DAHDI_CHUNKSIZE; > + z->dtmf[i].tonesamples = global_dialparams.dtmf_tonelen > * DAHDI_DEFAULT_CHUNKSIZE; > } > > /* for MFR1, we only adjust the length of the digits */ > for (i = DAHDI_TONE_MFR1_0; i <= DAHDI_TONE_MFR1_9; i++) { > - z->mfr1[i - DAHDI_TONE_MFR1_BASE].tonesamples = > global_dialparams.mfv1_tonelen * DAHDI_CHUNKSIZE; > + //z->mfr1[i - DAHDI_TONE_MFR1_BASE].tonesamples = > global_dialparams.mfv1_tonelen * DAHDI_CHUNKSIZE; > + z->mfr1[i - DAHDI_TONE_MFR1_BASE].tonesamples = > global_dialparams.mfv1_tonelen * DAHDI_DEFAULT_CHUNKSIZE; > } > > for (i = 0; i < ARRAY_SIZE(z->mfr2_fwd); i++) { > - z->mfr2_fwd[i].tonesamples = > global_dialparams.mfr2_tonelen * DAHDI_CHUNKSIZE; > + //z->mfr2_fwd[i].tonesamples = > global_dialparams.mfr2_tonelen * DAHDI_CHUNKSIZE; > + z->mfr2_fwd[i].tonesamples = > global_dialparams.mfr2_tonelen * DAHDI_DEFAULT_CHUNKSIZE; > } > > for (i = 0; i < ARRAY_SIZE(z->mfr2_rev); i++) { > - z->mfr2_rev[i].tonesamples = > global_dialparams.mfr2_tonelen * DAHDI_CHUNKSIZE; > + //z->mfr2_rev[i].tonesamples = > global_dialparams.mfr2_tonelen * DAHDI_CHUNKSIZE; > + z->mfr2_rev[i].tonesamples = > global_dialparams.mfr2_tonelen * DAHDI_DEFAULT_CHUNKSIZE; > } > } > write_unlock(&zone_lock); > - > + > + /** > dtmf_silence.tonesamples = global_dialparams.dtmf_tonelen * > DAHDI_CHUNKSIZE; > mfr1_silence.tonesamples = global_dialparams.mfv1_tonelen * > DAHDI_CHUNKSIZE; > mfr2_silence.tonesamples = global_dialparams.mfr2_tonelen * > DAHDI_CHUNKSIZE; > + */ > + > + dtmf_silence.tonesamples = global_dialparams.dtmf_tonelen * > DAHDI_DEFAULT_CHUNKSIZE; > + mfr1_silence.tonesamples = global_dialparams.mfv1_tonelen * > DAHDI_DEFAULT_CHUNKSIZE; > + mfr2_silence.tonesamples = global_dialparams.mfr2_tonelen * > DAHDI_DEFAULT_CHUNKSIZE; > > break; > } > diff -ur dahdi-linux-2.2.1/drivers/dahdi/digits.h > /var/tmp/dahdi-linux-2.2.1/drivers/dahdi/digits.h > --- dahdi-linux-2.2.1/drivers/dahdi/digits.h 2008-08-06 > 01:56:00.000000000 +0200 > +++ /var/tmp/dahdi-linux-2.2.1/drivers/dahdi/digits.h 2010-03-15 > 13:23:02.000000000 +0100 > @@ -19,10 +19,14 @@ > #ifndef _DIGITS_H > #define _DIGITS_H > > -#define DEFAULT_DTMF_LENGTH 100 * DAHDI_CHUNKSIZE > -#define DEFAULT_MFR1_LENGTH 68 * DAHDI_CHUNKSIZE > -#define DEFAULT_MFR2_LENGTH 100 * DAHDI_CHUNKSIZE > -#define PAUSE_LENGTH 500 * DAHDI_CHUNKSIZE > +//#define DEFAULT_DTMF_LENGTH 100 * DAHDI_CHUNKSIZE > +#define DEFAULT_DTMF_LENGTH 100 * DAHDI_DEFAULT_CHUNKSIZE > +//#define DEFAULT_MFR1_LENGTH 68 * DAHDI_CHUNKSIZE > +#define DEFAULT_MFR1_LENGTH 68 * DAHDI_DEFAULT_CHUNKSIZE > +//#define DEFAULT_MFR2_LENGTH 100 * DAHDI_CHUNKSIZE > +#define DEFAULT_MFR2_LENGTH 100 * DAHDI_DEFAULT_CHUNKSIZE > +//#define PAUSE_LENGTH 500 * DAHDI_CHUNKSIZE > +#define PAUSE_LENGTH 500 * DAHDI_DEFAULT_CHUNKSIZE > > /* At the end of silence, the tone stops */ > static struct dahdi_tone dtmf_silence = { > diff -ur dahdi-linux-2.2.1/include/dahdi/kernel.h > /var/tmp/dahdi-linux-2.2.1/include/dahdi/kernel.h > --- dahdi-linux-2.2.1/include/dahdi/kernel.h 2009-11-12 > 21:02:24.000000000 +0100 > +++ /var/tmp/dahdi-linux-2.2.1/include/dahdi/kernel.h 2010-03-15 > 13:13:00.000000000 +0100 > @@ -94,9 +94,11 @@ > /*! Default chunk size for conferences and such -- static right now, > might make > variable sometime. 8 samples = 1 ms = most frequent service > interval possible > for a USB device */ > -#define DAHDI_CHUNKSIZE 8 > +/*! oroginal #define DAHDI_CHUNKSIZE 8 */ > +#define DAHDI_CHUNKSIZE 40 > #define DAHDI_MIN_CHUNKSIZE DAHDI_CHUNKSIZE > -#define DAHDI_DEFAULT_CHUNKSIZE DAHDI_CHUNKSIZE > +/*! original #define DAHDI_DEFAULT_CHUNKSIZE DAHDI_CHUNKSIZE */ > +#define DAHDI_DEFAULT_CHUNKSIZE 8 > #define DAHDI_MAX_CHUNKSIZE DAHDI_CHUNKSIZE > #define DAHDI_CB_SIZE 2 > > > > > > marek cervenka schrieb: > >> Dear folk, > >> > >> I've found this interesting document > >> > http://www.sangoma.com/assets/docs/misc/2009_10_09_How_to_Reduce_Asterisk_System_Loads.pdf > . > >> > >> After having read it I've tried to set chunk size to 40 for using > >> sangoma + chan_ss7. But it doesn't work. Chan_ss7 seems not to be able > >> able to setup link on mtp level. I got this permanently: > >> ... > >> > >> Has someone already struggled with the same problem? Is there any patch > >> for this? > >> > > > > i have the same problem. no solution > > > > --------------------------------------- > > jabber - cervajs at njs.netlab.cz > > Marek Cervenka > > ======================================= > > > > > > > > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-ss7 mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-ss7 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-ss7/attachments/20100327/59588f66/attachment.htm