[asterisk-ss7] Fwd: dahdi chunk_size chan_ss7

Amish amish at 3g.co.za
Tue Apr 13 07:02:51 CDT 2010


Hi,

I am using 1.6.0.26, with chan_ss7 and chunk size 80 as I found the 
1.6.1 and 1.6.2 branches unstable. I have a A108 with HWEC.

The patch chan_ss7-1.3-160.patch will allow you to patch chan_ss7-1.3 so 
that it will compile with asterisk-1.6.0.26

First install the vanilla dahdi-linux-complete-2.2.1+2.2.1
Then install wanpipe 3.5.10 or 3.4.8 and specify chunk size 80. I am 
using 3.4.8.
(Install asterisk if it is not already installed).
patch chan_ss7 with chan_ss7-1.3-160.patch so that it will work 1.6.0.26
Then patch with chan_ss7-1.3-160-chunk80.patch so that chunk size 80 
works with chan_ss7.

Cheers,
Amish



On 04/13/2010 02:42 AM, Goke M Aruna wrote:
>
> hi all,
>
> Can you please help me out? I tried setting up asterisk-1.6.2.6 + 
> wanpipe-3.5.10 dahdi-2.2.1.1 and chan_ss7-1.3.
>
> i got the signalling up but its lost the signalling to t7 timeout 
> after a while and i have to restart wanrouter and asterisk to get the 
> signaling INSERVICE again.
>
> i have done my little effort without luck,  I have tried disabling the 
> sltm but i keep getting unknown config option in ss7.
>
> kindly help.
>
> goksie
> ---------- Forwarded message ----------
> From: *Ngo-Vi Hoai-Anh* <hoaianh at gmx.de <mailto:hoaianh at gmx.de>>
> Date: Mon, Mar 15, 2010 at 2:25 PM
> Subject: Re: [asterisk-ss7] dahdi chunk_size chan_ss7
> To: asterisk-ss7 at lists.digium.com <mailto:asterisk-ss7 at lists.digium.com>
>
>
> 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 <mailto: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/20100413/c2107e15/attachment-0001.htm 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: chan_ss7-1.3-160.patch
Url: http://lists.digium.com/pipermail/asterisk-ss7/attachments/20100413/c2107e15/attachment-0002.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: chan_ss7-1.3-160-chunk80.patch
Url: http://lists.digium.com/pipermail/asterisk-ss7/attachments/20100413/c2107e15/attachment-0003.txt 


More information about the asterisk-ss7 mailing list