[asterisk-ss7] dahdi chunk_size chan_ss7
Domjan Attila
adomjan at tvnet.hu
Sat Mar 27 14:14:23 CDT 2010
zaptel won't come up anymore, just dahdi :)
A108 + HWEC
dahdi-linux-2.2.1
wanpipe 3.4.8
mtp2 channel mode, libss7
On Sat, 2010-03-27 at 17:23 +0100, Goke M Aruna wrote:
> Can you tell me what version of wanpipe do you use?
>
> Am having error Zaptel device failed to come up.
>
> Possible cause Udev not installed.
>
> Can someone help. I have confimed I have udev
>
> On 3/15/10, 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
> >
>
> --
> Sent from my mobile device
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://lists.digium.com/pipermail/asterisk-ss7/attachments/20100327/34162629/attachment.pgp
More information about the asterisk-ss7
mailing list