[Asterisk-Users] i4l - summary of patches?

Iain Stevenson iain at iainstevenson.com
Wed Jun 18 04:17:08 MST 2003


You probably want to remove the i4l handling of DTMF and silence 
suppression.  You can do this by commenting out the signal processing 
routines in the kernel i4l code.  This stops wasted work from being done. 
I posted the patch below a while back - not sure it it still works.

  Iain



--- /build/linux-2.4.20/drivers/isdn/isdn_tty.c Fri Dec 21 17:41:54 2001
+++ isdn_tty.c  Sat Feb  1 09:14:33 2003
@@ -133,9 +133,9 @@
                        if (info->online) {
                                r = 0;
 #ifdef CONFIG_ISDN_AUDIO
-                               isdn_audio_eval_dtmf(info);
-                               if ((info->vonline & 1) && 
(info->emu.vpar[1]))
-                                       isdn_audio_eval_silence(info);
+//                             isdn_audio_eval_dtmf(info);
+//                             if ((info->vonline & 1) && 
(info->emu.vpar[1]))
+//                                     isdn_audio_eval_silence(info);
 #endif
                                if ((tty = info->tty)) {
                                        if (info->mcr & UART_MCR_RTS) {
@@ -190,10 +190,10 @@
 #ifdef CONFIG_ISDN_AUDIO
        ifmt = 1;

-       if ((info->vonline) && (!info->emu.vpar[4]))
-               isdn_audio_calc_dtmf(info, skb->data, skb->len, ifmt);
-       if ((info->vonline & 1) && (info->emu.vpar[1]))
-               isdn_audio_calc_silence(info, skb->data, skb->len, ifmt);
+//     if ((info->vonline) && (!info->emu.vpar[4]))
+//             isdn_audio_calc_dtmf(info, skb->data, skb->len, ifmt);
+//     if ((info->vonline & 1) && (info->emu.vpar[1]))
+//             isdn_audio_calc_silence(info, skb->data, skb->len, ifmt);
 #endif
        if ((info->online < 2)
 #ifdef CONFIG_ISDN_AUDIO




--On Tuesday, June 17, 2003 11:36 pm +0200 The Traveller 
<traveler at xs4all.nl> wrote:

> Yo Iain,
>
> On Tue, Jun 17, 2003 at 21:48:34 +0100, Iain McWilliams wrote:
>
>> Hi,
>>
>> I'm trying to get asterisk running on kernel 2.4.20 however trawling
>> through the archives I've found a few references to patches to remove
>> i4l's dtmf detection, but have been unable to find the patch itself (I
>> think it is isdn_audio.c). Can anyone point me in the right direction?
>>
>> The problem I'm seeing is connecting a SIP softphone (tried a few) to an
>> external number via an Hisax type 35 isdn card causes 1-2 sec silences in
>> the audio on the SIP phone.
>>
>> Any pointers?
>
> I recently did this myself.  Here's my patch.  Works for me.  Your
> mileage may vary.  :-)
>
>
>
>    Grtz,
>
>      Oliver
>
>
> Index: channels/chan_modem_i4l.c
> ===================================================================
> RCS file: /usr/cvsroot/asterisk/channels/chan_modem_i4l.c,v
> retrieving revision 1.2
> diff -u -r1.2 chan_modem_i4l.c
> --- channels/chan_modem_i4l.c	27 Apr 2003 21:34:27 -0000	1.2
> +++ channels/chan_modem_i4l.c	17 Jun 2003 21:52:04 -0000
> @@ -265,7 +265,7 @@
>  		if (option_debug)
>  			ast_log(LOG_DEBUG, "Ignoring Escaped character '%c' (%d)\n", esc,
> esc);  		return &p->fr;
> -	case '0':
> +	/* case '0':
>  	case '1':
>  	case '2':
>  	case '3':
> @@ -280,7 +280,7 @@
>  		ast_log(LOG_DEBUG, "DTMF: '%c' (%d)\n", esc, esc);
>  		p->fr.frametype=AST_FRAME_DTMF;
>  		p->fr.subclass=esc;
> -		return &p->fr;
> +		return &p->fr; */
>  	case 0: /* Pseudo signal */
>  		return &p->fr;
>  	default:
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
>







More information about the asterisk-users mailing list