Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-07-04 Thread Moises Silva
The tone on/off conditions should be, minimum on 40ms and 50ms off.

I recommend you to record a call with those double digit detections. If you
can reproduce them yourself by dialing quickly it'd be even better. Once you
have the recording you can run libteletone on the recorded audio (see
libs/freetdm/src/detect_dtmf.c) and may be start tweaking it. You could also
run spandsp dtmf detector over the recorded audio to see if does a better
job (I'd think so).

Another way to test if spandsp does better is to disable dtmf detection
completely from freetdm (the disable_dtmf dial plan app does that) and then
use spandsp_start_dtmf application on the dialplan (see mod_spandsp).

I'd be interested in looking at the recording too, you can send it to my
email if you want me to take a look. You can record all the read/write audio
using:

ftmod trace /path/prefix span [chan]

That starts recording all incoming and outgoing data on the channel (if no
channel is specified all channels on the span are recorded), the specified
prefix will be used for each of the files. The recording starts immediately
(although if there is no call then most likely no one is reading/writing to
the channel), you must stop the recording when done with:

ftmod notrace span [chan]

Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com


On Sat, Jul 3, 2010 at 4:22 AM, Jeroen C. van Gelderen jero...@thegreek.com
 wrote:


  If however you have this issue even with HW EC,
 call Sangoma tech support and we will be happy to look at the issue.

 I wish this was Sangoma hardware esp. with hardware ec :)

 My DTMF bouncing issues were indeed caused by echo but now that I've got
 OSLEC running (thanks for patching that) calls are echo-free and crystal
 clear.

 The issue now is that my users dial their transfers (-say- #44) reasonably
 fast and that often causes two successive DTMF digits to be detected as one
 (#4).

 In order to reliably reach the extension the clerk cannot dial more than
 one
 digit per second. That seems excessively slow. I suspect there must be a
 knob somewhere to tune that (in libteletone)? Other causes to look for?

 Cheers,
 -Slim


 ___
 FreeSWITCH-dev mailing list
 FreeSWITCH-dev@lists.freeswitch.org
 http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
 UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
 http://www.freeswitch.org

___
FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org


Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-07-03 Thread Jeroen C. van Gelderen

 If however you have this issue even with HW EC, 
call Sangoma tech support and we will be happy to look at the issue.

I wish this was Sangoma hardware esp. with hardware ec :)

My DTMF bouncing issues were indeed caused by echo but now that I've got
OSLEC running (thanks for patching that) calls are echo-free and crystal
clear.

The issue now is that my users dial their transfers (-say- #44) reasonably
fast and that often causes two successive DTMF digits to be detected as one
(#4).

In order to reliably reach the extension the clerk cannot dial more than one
digit per second. That seems excessively slow. I suspect there must be a
knob somewhere to tune that (in libteletone)? Other causes to look for?

Cheers,
-Slim


___
FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org


Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-07-01 Thread François Legal


Yes, CID works back again with HWEC disabled. However, I get echo
without HWEC ;-) 

François 

On Wed, 30 Jun 2010 18:48:40 -0400, Moises
Silva  wrote:  

Just fyi, you can disable hw ec from the CLI so you don't
have to start/stop the port for your tests. Start the card with HWEC
enabled, then you can use wan_ec_client.  # wan_ec_client wanpipe1 disable 
Then enable again:  # wan_ec_client wanpipe1 enable  You can verify it's
enabled/disabled with   # wan_ec_client wanpipe stats 

Moises Silva
Senior
Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120,
Markham ON L3R 9T3 Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com
[1]

 On Wed, Jun 30, 2010 at 6:29 PM,  wrote:

I'll give a try tomorrow
with HWEC disabled. 

DE : freeswitch-dev-boun...@lists.freeswitch.org [3]
[mailto:freeswitch-dev-boun...@lists.freeswitch.org [4]] DE LA PART DE
Moises Silva
ENVOYÉ : mercredi 30 juin 2010 23:15
À :
freeswitch-dev@lists.freeswitch.org [5]
OBJET : Re: [Freeswitch-dev] FXS
bridged on FXO ports and DTMF - Deja Vu

Can you try 3.5.12 with and
without hw ec enabled and check if cid is there?  

 Moises Silva
 Senior
Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite
120, Markham ON L3R 9T3 Canada
 t. 1 905 474 1990 x 128 | e.
m...@sangoma.com [6]

On Wed, Jun 30, 2010 at 2:58 PM, François Legal 
wrote: 

Hello, 

did try to upgrade to wanpipe 3.5.12 (from 3.5.11) and
thought the DTMF problem seems to be fixed (did not had the opportunity to
really test it thourougthly), I seem to have lost the CID feature in the
upgrade. 

Roll back to 3.5.11 and CID is back there. 

François  

On Mon,
28 Jun 2010 18:54:19 -0400, Moises Silva wrote:

Hello,

 I spent a few
hours playing with DTMF stuff and analog cards and it seems there is 2
issues at hand.

 1. Bleeding DTMF.
 2. Echo DTMF.

 The first issue, for
software DTMF, can be solved with Anthony's pre buffer size feature.
However that introduces delay by design, and it will not work for large
DTMFs (if the dtmf is larger than the buffer).

 For hardware DTMF a new
driver was just released that includes a configuration to allow the EC chip
to perform the dtmf tone removal which cuts down the bleeding to only 20ms
(in my testing) there is no way a DTMF detector will consider that a valid
DTMF and therefore the bleeding should be solved with no delay introduced.
The option is HWEC_DTMF_REMOVAL = YES, must be added along with the usual
TDMV_HW_DTMF = YES in wanpipex.conf

 Ideally the software DTMF detector
(in this case teletone) should cut it at the same time that it detects it.
I thought may be spandsp would help, but it seems spandsp does not have an
option to squelch the dtmf tone. May be Steve can help with that. I pinged
him on IRC and he said he may get some code working, but there is no date
for that and also that would involve integrating spandsp into FreeTDM, any
reason to not do this now that spandsp is LGPL?

 As for the echo dtmf. It
seems sometimes an outgoing DTMF may be detected as incoming DTMF due to
echo. There is not much we can do there if you don't have echo
cancellation. If however you have this issue even with HW EC, call Sangoma
tech support and we will be happy to look at the issue.

 In another note,
I added a variable and application to disable DTMF. 

That will disable
DTMF (either software or hardware) in the leg executing that app. If you
want to disable in the outgoing leg (before a bridge), you must export a
special variable:

The DTMF is enabled automatically on each call, so there
is no need to enable it for each call. But in case you need to enable
it:

Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50
McIntosh Drive, Suite 120, Markham ON L3R 9T3 Canada
 t. 1 905 474 1990 x
128 | e. m...@sangoma.com [8]

On Wed, Jun 16, 2010 at 12:09 PM, Anthony
Minessale  wrote: 

openzap_pre_buffer_size is a variable you can set to
specific number of MS 60 for example.  

it will pre_buffer the audio on
the channel so when you detect dtmf it will completely drop the buffer so
all of the original   

dtmf should be dropped as well. probably if the
dtmf is too long then it will cause problems anyway.   

if that pre buffer
does not fix anything it would point to echo or bleeding.   

We could make
a variable to disable dtmf detection completely on a per-call basis
possibly but you will still probably hear it bleeding.   

This type of
problem was reported fixed with sangoma because of the echo canceler.   

I
don't use dahdi or digium stuff much so I can't comment on what happens
when you use it.   

On Wed, Jun 16, 2010 at 3:41 AM, François Legal 
wrote: 

Does this really fix it ?
 I wonder because the problem I see here
is also that the FXS side detects
 the DTMF and then queues it on the FXO
side for generation. That leads to
 the called party receiving twice the
DTMF, the first one is the inband
 DTMF, the second is the one
queued/generated by the FXO channel.

 For a clean

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-07-01 Thread Moises Silva
Hi,

You can try the EC in speech recognition mode.

By default, the ec is in normal mode. But you can set it to speech
recognition mode with this:

# wan_ec_client wanpipe1 msr channel

msr = mode speech recognition

Then verify the channel has the required mode:

# wan_ec_client wanpipe1 stats channel

You can take it back to normal mode (IIRC) with:

# wan_ec_client wanpipe1 mn channel

In any case I am interested in your problem with the ec in normal mode. I
need to check with the driver developer to see if something changed in the
ec settings.

Please let me know if speech recognition mode helps.

Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com


On Thu, Jul 1, 2010 at 1:46 PM, François Legal de...@thom.fr.eu.org wrote:

 Yes, CID works back again with HWEC disabled. However, I get echo  without
 HWEC ;-)



 François



 On Wed, 30 Jun 2010 18:48:40 -0400, Moises Silva moises.si...@gmail.com
 wrote:

 Just fyi, you can disable hw ec from the CLI so you don't have to
 start/stop the port for your tests. Start the card with HWEC enabled, then
 you can use wan_ec_client.
  # wan_ec_client wanpipe1 disable
  Then enable again:
  # wan_ec_client wanpipe1 enable
  You can verify it's enabled/disabled with
  # wan_ec_client wanpipe stats

 Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R
 9T3 Canada
 t. 1 905 474 1990 x 128 | e. m...@sangoma.com


 On Wed, Jun 30, 2010 at 6:29 PM, de...@thom.fr.eu.org wrote:

  I’ll give a try tomorrow with HWEC disabled.



 *De :* freeswitch-dev-boun...@lists.freeswitch.org [mailto:
 freeswitch-dev-boun...@lists.freeswitch.org] *De la part de* Moises Silva
 *Envoyé :* mercredi 30 juin 2010 23:15
 *À :* freeswitch-dev@lists.freeswitch.org
 *Objet :* Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja
 Vu



 Can you try 3.5.12 with and without hw ec enabled and check if cid is
 there?


 Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R
 9T3 Canada
 t. 1 905 474 1990 x 128 | e. m...@sangoma.com

  On Wed, Jun 30, 2010 at 2:58 PM, François Legal de...@thom.fr.eu.org
 wrote:

 Hello,



 did try to upgrade to wanpipe 3.5.12 (from 3.5.11) and thought the DTMF
 problem seems to be fixed (did not had the opportunity to really test it
 thourougthly), I seem to have lost the CID feature in the upgrade.

 Roll back to 3.5.11 and CID is back there.



 François





 On Mon, 28 Jun 2010 18:54:19 -0400, Moises Silva wrote:

  Hello,

 I spent a few hours playing with DTMF stuff and analog cards and it seems
 there is 2 issues at hand.

 1. Bleeding DTMF.
 2. Echo DTMF.

 The first issue, for software DTMF, can be solved with Anthony's pre
 buffer size feature. However that introduces delay by design, and it will
 not work for large DTMFs (if the dtmf is larger than the buffer).

 For hardware DTMF a new driver was just released that includes a
 configuration to allow the EC chip to perform the dtmf tone removal which
 cuts down the bleeding to only 20ms (in my testing) there is no way a DTMF
 detector will consider that a valid DTMF and therefore the bleeding should
 be solved with no delay introduced. The option is HWEC_DTMF_REMOVAL = YES,
 must be added along with the usual TDMV_HW_DTMF = YES in wanpipex.conf

 Ideally the software DTMF detector (in this case teletone) should cut it
 at the same time that it detects it. I thought may be spandsp would help,
 but it seems spandsp does not have an option to squelch the dtmf tone. May
 be Steve can help with that. I pinged him on IRC and he said he may get some
 code working, but there is no date for that and also that would involve
 integrating spandsp into FreeTDM, any reason to not do this now that spandsp
 is LGPL?

 As for the echo dtmf. It seems sometimes an outgoing DTMF may be detected
 as incoming DTMF due to echo. There is not much we can do there if you don't
 have echo cancellation. If however you have this issue even with HW EC, call
 Sangoma tech support and we will be happy to look at the issue.

 In another note, I added a variable and application to disable DTMF.


  That will disable DTMF (either software or hardware) in the leg
 executing that app. If you want to disable in the outgoing leg (before a
 bridge), you must export a special variable:


  The DTMF is enabled automatically on each call, so there is no need to
 enable it for each call. But in case you need to enable it:


   Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R
 9T3 Canada
 t. 1 905 474 1990 x 128 | e. m...@sangoma.com

On Wed, Jun 16, 2010 at 12:09 PM, Anthony Minessale 
 anthony.miness...@gmail.com wrote:

 openzap_pre_buffer_size is a variable you can set to specific number of MS
 60 for example.

 it will pre_buffer

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-30 Thread François Legal


Hello, 

did try to upgrade to wanpipe 3.5.12 (from 3.5.11) and thought
the DTMF problem seems to be fixed (did not had the opportunity to really
test it thourougthly), I seem to have lost the CID feature in the upgrade.


Roll back to 3.5.11 and CID is back there. 

François 

On Mon, 28 Jun
2010 18:54:19 -0400, Moises Silva wrote:  

Hello,

I spent a few hours
playing with DTMF stuff and analog cards and it seems there is 2 issues at
hand.

1. Bleeding DTMF.
2. Echo DTMF.

The first issue, for software DTMF,
can be solved with Anthony's pre buffer size feature. However that
introduces delay by design, and it will not work for large DTMFs (if the
dtmf is larger than the buffer).

For hardware DTMF a new driver was just
released that includes a configuration to allow the EC chip to perform the
dtmf tone removal which cuts down the bleeding to only 20ms (in my testing)
there is no way a DTMF detector will consider that a valid DTMF and
therefore the bleeding should be solved with no delay introduced. The
option is HWEC_DTMF_REMOVAL = YES, must be added along with the usual
TDMV_HW_DTMF = YES in wanpipex.conf

Ideally the software DTMF detector (in
this case teletone) should cut it at the same time that it detects it. I
thought may be spandsp would help, but it seems spandsp does not have an
option to squelch the dtmf tone. May be Steve can help with that. I pinged
him on IRC and he said he may get some code working, but there is no date
for that and also that would involve integrating spandsp into FreeTDM, any
reason to not do this now that spandsp is LGPL?

As for the echo dtmf. It
seems sometimes an outgoing DTMF may be detected as incoming DTMF due to
echo. There is not much we can do there if you don't have echo
cancellation. If however you have this issue even with HW EC, call Sangoma
tech support and we will be happy to look at the issue.

In another note, I
added a variable and application to disable DTMF. 

That will disable DTMF
(either software or hardware) in the leg executing that app. If you want to
disable in the outgoing leg (before a bridge), you must export a special
variable:

The DTMF is enabled automatically on each call, so there is no
need to enable it for each call. But in case you need to enable it:

Moises
Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh
Drive, Suite 120, Markham ON L3R 9T3 Canada
t. 1 905 474 1990 x 128 | e.
m...@sangoma.com [1]

 On Wed, Jun 16, 2010 at 12:09 PM, Anthony Minessale 
wrote:
 openzap_pre_buffer_size is a variable you can set to specific
number of MS 60 for example. it will pre_buffer the audio on the channel so
when you detect dtmf it will completely drop the buffer so all of the
original dtmf should be dropped as well. probably if the dtmf is too long
then it will cause problems anyway. if that pre buffer does not fix
anything it would point to echo or bleeding. We could make a variable to
disable dtmf detection completely on a per-call basis possibly but you will
still probably hear it bleeding. This type of problem was reported fixed
with sangoma because of the echo canceler. I don't use dahdi or digium
stuff much so I can't comment on what happens when you use it.  

 On
Wed, Jun 16, 2010 at 3:41 AM, François Legal  wrote:
 Does this really fix
it ?
 I wonder because the problem I see here is also that the FXS side
detects
 the DTMF and then queues it on the FXO side for generation. That
leads to
 the called party receiving twice the DTMF, the first one is the
inband
 DTMF, the second is the one queued/generated by the FXO channel.


For a clean fix, I guess some kind of application should be created, that

would prevent DTMF to be queued on the other channel. Such application

would then be called before the bridge. Maybe there is a cleaner way to do

this.

 François

 On Tue, 15 Jun 2010 18:23:13 -0500, Jeroen C. van
Gelderen
  wrote:
  Hi everybody,
 
  I have a problem that is very
similar to a problem
  reported by François [1] except for the fact that

 my FXS and FXO ports are on a Xorcom Astribank
  device instead of a
Sangoma.
 
  To quote François: The problem is that each leg of
  the
bridge is detecting the inband DTMF, and so
  [F]reeswitch sends each
detected DTMF from one leg
  to the other, and so on and so forth (as each
leg
  detects the DTMF again and again)
 
  HIS words but evidenced by
the MY log :)
 
  The snippet below has DTMF coming in on the FXS port
 
(1:1) and bouncing between it and the FXO port (3:1).
  The ports are
simply bridged together with
 
  bridge(OpenZap/3/1/F) or
bridge(OpenZap/3/1/w)
 
  I'm running:
 
  FreeSWITCH version:
1.0.head (git-01c0c69 2010-06-08 16-22-21 -0500)
  dahdi: Version:
SVN-trunk-r8762
 
  Output of lsdahdi at end of message.
 
  8
2010-06-13 04:18:39.439252 [DEBUG] zap_io.c:2062 1:1 GENERATE DTMF [4]
 
2010-06-13 04:18:39.637249 [DEBUG] mod_openzap.c:721 queue DTMF [4]
 
2010-06-13 04:18:39.676248 [DEBUG] zap_io.c:2062 3:1 GENERATE DTMF [4]
 

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-30 Thread Moises Silva
Can you try 3.5.12 with and without hw ec enabled and check if cid is there?

Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com


On Wed, Jun 30, 2010 at 2:58 PM, François Legal de...@thom.fr.eu.orgwrote:

 Hello,



 did try to upgrade to wanpipe 3.5.12 (from 3.5.11) and thought the DTMF
 problem seems to be fixed (did not had the opportunity to really test it
 thourougthly), I seem to have lost the CID feature in the upgrade.

 Roll back to 3.5.11 and CID is back there.



 François





 On Mon, 28 Jun 2010 18:54:19 -0400, Moises Silva wrote:

 Hello,

 I spent a few hours playing with DTMF stuff and analog cards and it seems
 there is 2 issues at hand.

 1. Bleeding DTMF.
 2. Echo DTMF.

 The first issue, for software DTMF, can be solved with Anthony's pre buffer
 size feature. However that introduces delay by design, and it will not work
 for large DTMFs (if the dtmf is larger than the buffer).

 For hardware DTMF a new driver was just released that includes a
 configuration to allow the EC chip to perform the dtmf tone removal which
 cuts down the bleeding to only 20ms (in my testing) there is no way a DTMF
 detector will consider that a valid DTMF and therefore the bleeding should
 be solved with no delay introduced. The option is HWEC_DTMF_REMOVAL = YES,
 must be added along with the usual TDMV_HW_DTMF = YES in wanpipex.conf

 Ideally the software DTMF detector (in this case teletone) should cut it at
 the same time that it detects it. I thought may be spandsp would help, but
 it seems spandsp does not have an option to squelch the dtmf tone. May be
 Steve can help with that. I pinged him on IRC and he said he may get some
 code working, but there is no date for that and also that would involve
 integrating spandsp into FreeTDM, any reason to not do this now that spandsp
 is LGPL?

 As for the echo dtmf. It seems sometimes an outgoing DTMF may be detected
 as incoming DTMF due to echo. There is not much we can do there if you don't
 have echo cancellation. If however you have this issue even with HW EC, call
 Sangoma tech support and we will be happy to look at the issue.

 In another note, I added a variable and application to disable DTMF.



 That will disable DTMF (either software or hardware) in the leg executing
 that app. If you want to disable in the outgoing leg (before a bridge), you
 must export a special variable:



 The DTMF is enabled automatically on each call, so there is no need to
 enable it for each call. But in case you need to enable it:



 Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R
 9T3 Canada
 t. 1 905 474 1990 x 128 | e. m...@sangoma.com


 On Wed, Jun 16, 2010 at 12:09 PM, Anthony Minessale 
 anthony.miness...@gmail.com wrote:

 openzap_pre_buffer_size is a variable you can set to specific number of MS
 60 for example.
 it will pre_buffer the audio on the channel so when you detect dtmf it
 will completely drop the buffer so all of the original
 dtmf should be dropped as well.  probably if the dtmf is too long then it
 will cause problems anyway.
 if that pre buffer does not fix anything it would point to echo or
 bleeding.
 We could make a variable to disable dtmf detection completely on a
 per-call basis possibly but you will still probably hear it bleeding.
 This type of problem was reported fixed with sangoma because of the
 echo canceler.
 I don't use dahdi or digium stuff much so I can't comment on what happens
 when you use it.



 On Wed, Jun 16, 2010 at 3:41 AM, François Legal de...@thom.fr.eu.orgwrote:

 Does this really fix it ?
 I wonder because the problem I see here is also that the FXS side detects
 the DTMF and then queues it on the FXO side for generation. That leads to
 the called party receiving twice the DTMF, the first one is the inband
 DTMF, the second is the one queued/generated by the FXO channel.

 For a clean fix, I guess some kind of application should be created, that
 would prevent DTMF to be queued on the other channel. Such application
 would then be called before the bridge. Maybe there is a cleaner way to
 do
 this.

 François

 On Tue, 15 Jun 2010 18:23:13 -0500, Jeroen C. van Gelderen
 jero...@thegreek.com wrote:
  Hi everybody,
 
  I have a problem that is very similar to a problem
  reported by François [1] except for the fact that
  my FXS and FXO ports are on a Xorcom Astribank
  device instead of a Sangoma.
 
  To quote François: The problem is that each leg of
  the bridge is detecting the inband DTMF, and so
  [F]reeswitch sends each detected DTMF from one leg
  to the other, and so on and so forth (as each leg
  detects the DTMF again and again)
 
  HIS words but evidenced by the MY log :)
 
  The snippet below has DTMF coming in on the FXS port
  (1:1) and bouncing between it and the FXO port (3:1).
  The ports are simply bridged together 

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-30 Thread devel
I’ll give a try tomorrow with HWEC disabled.

 

De : freeswitch-dev-boun...@lists.freeswitch.org 
[mailto:freeswitch-dev-boun...@lists.freeswitch.org] De la part de Moises Silva
Envoyé : mercredi 30 juin 2010 23:15
À : freeswitch-dev@lists.freeswitch.org
Objet : Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

 

Can you try 3.5.12 with and without hw ec enabled and check if cid is there?


Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3 
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com



On Wed, Jun 30, 2010 at 2:58 PM, François Legal de...@thom.fr.eu.org wrote:

Hello,

 

did try to upgrade to wanpipe 3.5.12 (from 3.5.11) and thought the DTMF problem 
seems to be fixed (did not had the opportunity to really test it thourougthly), 
I seem to have lost the CID feature in the upgrade.

Roll back to 3.5.11 and CID is back there.

 

François

 

 

On Mon, 28 Jun 2010 18:54:19 -0400, Moises Silva wrote:

Hello,

I spent a few hours playing with DTMF stuff and analog cards and it seems there 
is 2 issues at hand.

1. Bleeding DTMF.
2. Echo DTMF.

The first issue, for software DTMF, can be solved with Anthony's pre buffer 
size feature. However that introduces delay by design, and it will not work for 
large DTMFs (if the dtmf is larger than the buffer).

For hardware DTMF a new driver was just released that includes a configuration 
to allow the EC chip to perform the dtmf tone removal which cuts down the 
bleeding to only 20ms (in my testing) there is no way a DTMF detector will 
consider that a valid DTMF and therefore the bleeding should be solved with no 
delay introduced. The option is HWEC_DTMF_REMOVAL = YES, must be added along 
with the usual TDMV_HW_DTMF = YES in wanpipex.conf

Ideally the software DTMF detector (in this case teletone) should cut it at the 
same time that it detects it. I thought may be spandsp would help, but it seems 
spandsp does not have an option to squelch the dtmf tone. May be Steve can help 
with that. I pinged him on IRC and he said he may get some code working, but 
there is no date for that and also that would involve integrating spandsp into 
FreeTDM, any reason to not do this now that spandsp is LGPL?

As for the echo dtmf. It seems sometimes an outgoing DTMF may be detected as 
incoming DTMF due to echo. There is not much we can do there if you don't have 
echo cancellation. If however you have this issue even with HW EC, call Sangoma 
tech support and we will be happy to look at the issue.

In another note, I added a variable and application to disable DTMF. 




That will disable DTMF (either software or hardware) in the leg executing that 
app. If you want to disable in the outgoing leg (before a bridge), you must 
export a special variable:




The DTMF is enabled automatically on each call, so there is no need to enable 
it for each call. But in case you need to enable it:




Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3 
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com



On Wed, Jun 16, 2010 at 12:09 PM, Anthony Minessale 
anthony.miness...@gmail.com wrote:

openzap_pre_buffer_size is a variable you can set to specific number of MS 60 
for example. 

it will pre_buffer the audio on the channel so when you detect dtmf it will 
completely drop the buffer so all of the original

dtmf should be dropped as well.  probably if the dtmf is too long then it will 
cause problems anyway.

if that pre buffer does not fix anything it would point to echo or bleeding.

We could make a variable to disable dtmf detection completely on a per-call 
basis possibly but you will still probably hear it bleeding.

This type of problem was reported fixed with sangoma because of the echo 
canceler.

I don't use dahdi or digium stuff much so I can't comment on what happens when 
you use it.

 

 

On Wed, Jun 16, 2010 at 3:41 AM, François Legal de...@thom.fr.eu.org wrote:

Does this really fix it ?
I wonder because the problem I see here is also that the FXS side detects
the DTMF and then queues it on the FXO side for generation. That leads to
the called party receiving twice the DTMF, the first one is the inband
DTMF, the second is the one queued/generated by the FXO channel.

For a clean fix, I guess some kind of application should be created, that
would prevent DTMF to be queued on the other channel. Such application
would then be called before the bridge. Maybe there is a cleaner way to do
this.

François


On Tue, 15 Jun 2010 18:23:13 -0500, Jeroen C. van Gelderen
jero...@thegreek.com wrote:
 Hi everybody,

 I have a problem that is very similar to a problem
 reported by François [1] except for the fact that
 my FXS and FXO ports are on a Xorcom Astribank
 device instead of a Sangoma.

 To quote François: The problem is that each leg of
 the bridge is detecting the inband DTMF, and so
 [F]reeswitch sends each detected

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-30 Thread Moises Silva
Just fyi, you can disable hw ec from the CLI so you don't have to start/stop
the port for your tests. Start the card with HWEC enabled, then you can use
wan_ec_client.

# wan_ec_client wanpipe1 disable chan

Then enable again:

# wan_ec_client wanpipe1 enable chan

You can verify it's enabled/disabled with

# wan_ec_client wanpipe stats chan


Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com


On Wed, Jun 30, 2010 at 6:29 PM, de...@thom.fr.eu.org wrote:

  I’ll give a try tomorrow with HWEC disabled.



 *De :* freeswitch-dev-boun...@lists.freeswitch.org [mailto:
 freeswitch-dev-boun...@lists.freeswitch.org] *De la part de* Moises Silva
 *Envoyé :* mercredi 30 juin 2010 23:15
 *À :* freeswitch-dev@lists.freeswitch.org
 *Objet :* Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu



 Can you try 3.5.12 with and without hw ec enabled and check if cid is
 there?


 Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R
 9T3 Canada
 t. 1 905 474 1990 x 128 | e. m...@sangoma.com

  On Wed, Jun 30, 2010 at 2:58 PM, François Legal de...@thom.fr.eu.org
 wrote:

 Hello,



 did try to upgrade to wanpipe 3.5.12 (from 3.5.11) and thought the DTMF
 problem seems to be fixed (did not had the opportunity to really test it
 thourougthly), I seem to have lost the CID feature in the upgrade.

 Roll back to 3.5.11 and CID is back there.



 François





 On Mon, 28 Jun 2010 18:54:19 -0400, Moises Silva wrote:

  Hello,

 I spent a few hours playing with DTMF stuff and analog cards and it seems
 there is 2 issues at hand.

 1. Bleeding DTMF.
 2. Echo DTMF.

 The first issue, for software DTMF, can be solved with Anthony's pre buffer
 size feature. However that introduces delay by design, and it will not work
 for large DTMFs (if the dtmf is larger than the buffer).

 For hardware DTMF a new driver was just released that includes a
 configuration to allow the EC chip to perform the dtmf tone removal which
 cuts down the bleeding to only 20ms (in my testing) there is no way a DTMF
 detector will consider that a valid DTMF and therefore the bleeding should
 be solved with no delay introduced. The option is HWEC_DTMF_REMOVAL = YES,
 must be added along with the usual TDMV_HW_DTMF = YES in wanpipex.conf

 Ideally the software DTMF detector (in this case teletone) should cut it at
 the same time that it detects it. I thought may be spandsp would help, but
 it seems spandsp does not have an option to squelch the dtmf tone. May be
 Steve can help with that. I pinged him on IRC and he said he may get some
 code working, but there is no date for that and also that would involve
 integrating spandsp into FreeTDM, any reason to not do this now that spandsp
 is LGPL?

 As for the echo dtmf. It seems sometimes an outgoing DTMF may be detected
 as incoming DTMF due to echo. There is not much we can do there if you don't
 have echo cancellation. If however you have this issue even with HW EC, call
 Sangoma tech support and we will be happy to look at the issue.

 In another note, I added a variable and application to disable DTMF.


   That will disable DTMF (either software or hardware) in the leg
 executing that app. If you want to disable in the outgoing leg (before a
 bridge), you must export a special variable:


   The DTMF is enabled automatically on each call, so there is no need to
 enable it for each call. But in case you need to enable it:


   Moises Silva
 Senior Software Engineer
 Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R
 9T3 Canada
 t. 1 905 474 1990 x 128 | e. m...@sangoma.com

On Wed, Jun 16, 2010 at 12:09 PM, Anthony Minessale 
 anthony.miness...@gmail.com wrote:

 openzap_pre_buffer_size is a variable you can set to specific number of MS
 60 for example.

 it will pre_buffer the audio on the channel so when you detect dtmf it will
 completely drop the buffer so all of the original

 dtmf should be dropped as well.  probably if the dtmf is too long then it
 will cause problems anyway.

 if that pre buffer does not fix anything it would point to echo or
 bleeding.

 We could make a variable to disable dtmf detection completely on a per-call
 basis possibly but you will still probably hear it bleeding.

 This type of problem was reported fixed with sangoma because of the
 echo canceler.

 I don't use dahdi or digium stuff much so I can't comment on what happens
 when you use it.





 On Wed, Jun 16, 2010 at 3:41 AM, François Legal de...@thom.fr.eu.org
 wrote:

 Does this really fix it ?
 I wonder because the problem I see here is also that the FXS side detects
 the DTMF and then queues it on the FXO side for generation. That leads to
 the called party receiving twice the DTMF, the first one is the inband
 DTMF, the second is the one queued/generated by the FXO channel.

 For a clean fix, I guess

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-28 Thread Moises Silva
Hello,

I spent a few hours playing with DTMF stuff and analog cards and it seems
there is 2 issues at hand.

1. Bleeding DTMF.
2. Echo DTMF.

The first issue, for software DTMF, can be solved with Anthony's pre buffer
size feature. However that introduces delay by design, and it will not work
for large DTMFs (if the dtmf is larger than the buffer).

For hardware DTMF a new driver was just released that includes a
configuration to allow the EC chip to perform the dtmf tone removal which
cuts down the bleeding to only 20ms (in my testing) there is no way a DTMF
detector will consider that a valid DTMF and therefore the bleeding should
be solved with no delay introduced. The option is HWEC_DTMF_REMOVAL = YES,
must be added along with the usual TDMV_HW_DTMF = YES in wanpipex.conf

Ideally the software DTMF detector (in this case teletone) should cut it at
the same time that it detects it. I thought may be spandsp would help, but
it seems spandsp does not have an option to squelch the dtmf tone. May be
Steve can help with that. I pinged him on IRC and he said he may get some
code working, but there is no date for that and also that would involve
integrating spandsp into FreeTDM, any reason to not do this now that spandsp
is LGPL?

As for the echo dtmf. It seems sometimes an outgoing DTMF may be detected as
incoming DTMF due to echo. There is not much we can do there if you don't
have echo cancellation. If however you have this issue even with HW EC, call
Sangoma tech support and we will be happy to look at the issue.

In another note, I added a variable and application to disable DTMF.

action application=disable_dtmf/

That will disable DTMF (either software or hardware) in the leg executing
that app. If you want to disable in the outgoing leg (before a bridge), you
must export a special variable:

action application=export data=freetdm_disable_dtmf=yes/

The DTMF is enabled automatically on each call, so there is no need to
enable it for each call. But in case you need to enable it:

action application=enable_dtmf/

Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
Canada
t. 1 905 474 1990 x 128 | e. m...@sangoma.com


On Wed, Jun 16, 2010 at 12:09 PM, Anthony Minessale 
anthony.miness...@gmail.com wrote:

 openzap_pre_buffer_size is a variable you can set to specific number of MS
 60 for example.
 it will pre_buffer the audio on the channel so when you detect dtmf it will
 completely drop the buffer so all of the original
 dtmf should be dropped as well.  probably if the dtmf is too long then it
 will cause problems anyway.

 if that pre buffer does not fix anything it would point to echo or
 bleeding.

 We could make a variable to disable dtmf detection completely on a per-call
 basis possibly but you will still probably hear it bleeding.

 This type of problem was reported fixed with sangoma because of the
 echo canceler.
 I don't use dahdi or digium stuff much so I can't comment on what happens
 when you use it.



 On Wed, Jun 16, 2010 at 3:41 AM, François Legal de...@thom.fr.eu.orgwrote:

 Does this really fix it ?
 I wonder because the problem I see here is also that the FXS side detects
 the DTMF and then queues it on the FXO side for generation. That leads to
 the called party receiving twice the DTMF, the first one is the inband
 DTMF, the second is the one queued/generated by the FXO channel.

 For a clean fix, I guess some kind of application should be created, that
 would prevent DTMF to be queued on the other channel. Such application
 would then be called before the bridge. Maybe there is a cleaner way to do
 this.

 François

 On Tue, 15 Jun 2010 18:23:13 -0500, Jeroen C. van Gelderen
 jero...@thegreek.com wrote:
  Hi everybody,
 
  I have a problem that is very similar to a problem
  reported by François [1] except for the fact that
  my FXS and FXO ports are on a Xorcom Astribank
  device instead of a Sangoma.
 
  To quote François: The problem is that each leg of
  the bridge is detecting the inband DTMF, and so
  [F]reeswitch sends each detected DTMF from one leg
  to the other, and so on and so forth (as each leg
  detects the DTMF again and again)
 
  HIS words but evidenced by the MY log :)
 
  The snippet below has DTMF coming in on the FXS port
  (1:1) and bouncing between it and the FXO port (3:1).
  The ports are simply bridged together with
 
bridge(OpenZap/3/1/F) or bridge(OpenZap/3/1/w)
 
  I'm running:
 
  FreeSWITCH version: 1.0.head (git-01c0c69 2010-06-08 16-22-21 -0500)
  dahdi: Version: SVN-trunk-r8762
 
  Output of lsdahdi at end of message.
 
  8888888
  [...]
  2010-06-13 04:18:39.217256 [DEBUG] mod_openzap.c:721 queue DTMF [4]
  2010-06-13 04:18:39.256255 [DEBUG] zap_io.c:2062 3:1 GENERATE DTMF [4]
  2010-06-13 04:18:39.397253 [DEBUG] mod_openzap.c:721 queue DTMF [4]
  2010-06-13 04:18:39.439252 [DEBUG] mod_openzap.c:780 Dropping frame!
 (write
  not ready)
  

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-16 Thread François Legal
Does this really fix it ?
I wonder because the problem I see here is also that the FXS side detects
the DTMF and then queues it on the FXO side for generation. That leads to
the called party receiving twice the DTMF, the first one is the inband
DTMF, the second is the one queued/generated by the FXO channel.

For a clean fix, I guess some kind of application should be created, that
would prevent DTMF to be queued on the other channel. Such application
would then be called before the bridge. Maybe there is a cleaner way to do
this.

François

On Tue, 15 Jun 2010 18:23:13 -0500, Jeroen C. van Gelderen
jero...@thegreek.com wrote:
 Hi everybody,
 
 I have a problem that is very similar to a problem 
 reported by François [1] except for the fact that 
 my FXS and FXO ports are on a Xorcom Astribank 
 device instead of a Sangoma.
 
 To quote François: The problem is that each leg of 
 the bridge is detecting the inband DTMF, and so 
 [F]reeswitch sends each detected DTMF from one leg 
 to the other, and so on and so forth (as each leg 
 detects the DTMF again and again)
 
 HIS words but evidenced by the MY log :)
 
 The snippet below has DTMF coming in on the FXS port 
 (1:1) and bouncing between it and the FXO port (3:1). 
 The ports are simply bridged together with
 
   bridge(OpenZap/3/1/F) or bridge(OpenZap/3/1/w)
 
 I'm running:
 
 FreeSWITCH version: 1.0.head (git-01c0c69 2010-06-08 16-22-21 -0500)
 dahdi: Version: SVN-trunk-r8762
 
 Output of lsdahdi at end of message.
 
 8888888
 [...]
 2010-06-13 04:18:39.217256 [DEBUG] mod_openzap.c:721 queue DTMF [4]
 2010-06-13 04:18:39.256255 [DEBUG] zap_io.c:2062 3:1 GENERATE DTMF [4]
 2010-06-13 04:18:39.397253 [DEBUG] mod_openzap.c:721 queue DTMF [4]
 2010-06-13 04:18:39.439252 [DEBUG] mod_openzap.c:780 Dropping frame!
(write
 not ready)
 2010-06-13 04:18:39.439252 [DEBUG] zap_io.c:2062 1:1 GENERATE DTMF [4]
 2010-06-13 04:18:39.637249 [DEBUG] mod_openzap.c:721 queue DTMF [4]
 2010-06-13 04:18:39.676248 [DEBUG] zap_io.c:2062 3:1 GENERATE DTMF [4]
 2010-06-13 04:18:39.859244 [DEBUG] mod_openzap.c:780 Dropping frame!
(write
 not ready)
 [...ad infinitum...]
 8888888
 
 Because I needed DTMF pass-through working now 
 I applied an ugly HACK. This drops DTMF tones 
 detected on spans 3 and 4 (which are my FXO 
 spans). This is very WRONG but it does solve 
 my immediate problem:
 
 8888888
 diff --git a/libs/openzap/mod_openzap/mod_openzap.c
 b/libs/openzap/mod_openzap/mod_openzap.c
 index 5aebfea..ff3b081 100644
 --- a/libs/openzap/mod_openzap/mod_openzap.c
 +++ b/libs/openzap/mod_openzap/mod_openzap.c
 @@ -718,8 +718,12 @@ static switch_status_t
 channel_read_frame(switch_core_session_t *session, switch
 for (p = dtmf; p  *p; p++) {
 if (is_dtmf(*p)) {
 _dtmf.digit = *p;
 -   zap_log(ZAP_LOG_DEBUG, queue DTMF
[%c]\n,
 *p);
 -   switch_channel_queue_dtmf(channel,
_dtmf);
 +   if (tech_pvt-zchan-span_id == 3 ||
 tech_pvt-zchan-span_id == 4) {
 +   zap_log(ZAP_LOG_DEBUG, Ignoring
 DTMF [%c] on FXO port %d:%d\n, *p, tech_pvt-zchan-span_id,
 tech_pvt-zchan-chan_id)
 ;
 +   } else {
 +   zap_log(ZAP_LOG_DEBUG, queue
DTMF
 [%c]\n, *p);
 +  
switch_channel_queue_dtmf(channel,
 _dtmf);
 +   }
 }
 }
 }
 8888888
 
 Can someone point me in the right direction 
 instead? Do I need to do this at the OpenZAP/DAHDI 
 level by disabling some kind of DTMF detection 
 like was done for the Sangoma driver?
 
 Any and all pointers appreciated.
 
 Cheers,
 -Slim
 
 [1] [Freeswitch-dev] FXS bridged on FXO ports and DTMF

http://www.mail-archive.com/freeswitch-dev@lists.freeswitch.org/msg02830.htm
 l
 
 [Freeswitch-dev] Problem with sending 
 DTMF on FXS port bridged to   an FXO port

http://lists.freeswitch.org/pipermail/freeswitch-dev/2010-April/003607.html
 
 
 8888888
 [r...@localhost freeswitch]# lsdahdi
 ### Span  1: XBUS-00/XPD-00 Xorcom XPD #00/00: FXS (MASTER)
   1 FXSFXOKS
   2 FXSFXOKS
   3 FXSFXOKS
   4 FXSFXOKS
   5 FXSFXOKS
   6 FXSFXOKS
   7 FXSFXOKS
   8 FXSFXOKS
   9 Output FXOKS
  10 Output FXOKS
  11 Input  FXOKS
  12 Input  FXOKS
  13 Input  FXOKS
  14 Input  FXOKS
 ### Span  2: XBUS-00/XPD-10 Xorcom XPD #00/10: FXS
  15 FXSFXOKS
  16 FXSFXOKS
  17 FXSFXOKS
  18 FXSFXOKS
  19 FXSFXOKS
  20 FXSFXOKS
  21 FXSFXOKS
  22 FXSFXOKS
 ### Span  3: XBUS-00/XPD-20 Xorcom XPD #00/20: FXO
  23 FXOFXSKS

Re: [Freeswitch-dev] FXS bridged on FXO ports and DTMF - Deja Vu

2010-06-16 Thread Anthony Minessale
openzap_pre_buffer_size is a variable you can set to specific number of MS
60 for example.
it will pre_buffer the audio on the channel so when you detect dtmf it will
completely drop the buffer so all of the original
dtmf should be dropped as well.  probably if the dtmf is too long then it
will cause problems anyway.

if that pre buffer does not fix anything it would point to echo or bleeding.

We could make a variable to disable dtmf detection completely on a per-call
basis possibly but you will still probably hear it bleeding.

This type of problem was reported fixed with sangoma because of the
echo canceler.
I don't use dahdi or digium stuff much so I can't comment on what happens
when you use it.



On Wed, Jun 16, 2010 at 3:41 AM, François Legal de...@thom.fr.eu.orgwrote:

 Does this really fix it ?
 I wonder because the problem I see here is also that the FXS side detects
 the DTMF and then queues it on the FXO side for generation. That leads to
 the called party receiving twice the DTMF, the first one is the inband
 DTMF, the second is the one queued/generated by the FXO channel.

 For a clean fix, I guess some kind of application should be created, that
 would prevent DTMF to be queued on the other channel. Such application
 would then be called before the bridge. Maybe there is a cleaner way to do
 this.

 François

 On Tue, 15 Jun 2010 18:23:13 -0500, Jeroen C. van Gelderen
 jero...@thegreek.com wrote:
  Hi everybody,
 
  I have a problem that is very similar to a problem
  reported by François [1] except for the fact that
  my FXS and FXO ports are on a Xorcom Astribank
  device instead of a Sangoma.
 
  To quote François: The problem is that each leg of
  the bridge is detecting the inband DTMF, and so
  [F]reeswitch sends each detected DTMF from one leg
  to the other, and so on and so forth (as each leg
  detects the DTMF again and again)
 
  HIS words but evidenced by the MY log :)
 
  The snippet below has DTMF coming in on the FXS port
  (1:1) and bouncing between it and the FXO port (3:1).
  The ports are simply bridged together with
 
bridge(OpenZap/3/1/F) or bridge(OpenZap/3/1/w)
 
  I'm running:
 
  FreeSWITCH version: 1.0.head (git-01c0c69 2010-06-08 16-22-21 -0500)
  dahdi: Version: SVN-trunk-r8762
 
  Output of lsdahdi at end of message.
 
  8888888
  [...]
  2010-06-13 04:18:39.217256 [DEBUG] mod_openzap.c:721 queue DTMF [4]
  2010-06-13 04:18:39.256255 [DEBUG] zap_io.c:2062 3:1 GENERATE DTMF [4]
  2010-06-13 04:18:39.397253 [DEBUG] mod_openzap.c:721 queue DTMF [4]
  2010-06-13 04:18:39.439252 [DEBUG] mod_openzap.c:780 Dropping frame!
 (write
  not ready)
  2010-06-13 04:18:39.439252 [DEBUG] zap_io.c:2062 1:1 GENERATE DTMF [4]
  2010-06-13 04:18:39.637249 [DEBUG] mod_openzap.c:721 queue DTMF [4]
  2010-06-13 04:18:39.676248 [DEBUG] zap_io.c:2062 3:1 GENERATE DTMF [4]
  2010-06-13 04:18:39.859244 [DEBUG] mod_openzap.c:780 Dropping frame!
 (write
  not ready)
  [...ad infinitum...]
  8888888
 
  Because I needed DTMF pass-through working now
  I applied an ugly HACK. This drops DTMF tones
  detected on spans 3 and 4 (which are my FXO
  spans). This is very WRONG but it does solve
  my immediate problem:
 
  8888888
  diff --git a/libs/openzap/mod_openzap/mod_openzap.c
  b/libs/openzap/mod_openzap/mod_openzap.c
  index 5aebfea..ff3b081 100644
  --- a/libs/openzap/mod_openzap/mod_openzap.c
  +++ b/libs/openzap/mod_openzap/mod_openzap.c
  @@ -718,8 +718,12 @@ static switch_status_t
  channel_read_frame(switch_core_session_t *session, switch
  for (p = dtmf; p  *p; p++) {
  if (is_dtmf(*p)) {
  _dtmf.digit = *p;
  -   zap_log(ZAP_LOG_DEBUG, queue DTMF
 [%c]\n,
  *p);
  -   switch_channel_queue_dtmf(channel,
 _dtmf);
  +   if (tech_pvt-zchan-span_id == 3 ||
  tech_pvt-zchan-span_id == 4) {
  +   zap_log(ZAP_LOG_DEBUG, Ignoring
  DTMF [%c] on FXO port %d:%d\n, *p, tech_pvt-zchan-span_id,
  tech_pvt-zchan-chan_id)
  ;
  +   } else {
  +   zap_log(ZAP_LOG_DEBUG, queue
 DTMF
  [%c]\n, *p);
  +
 switch_channel_queue_dtmf(channel,
  _dtmf);
  +   }
  }
  }
  }
  8888888
 
  Can someone point me in the right direction
  instead? Do I need to do this at the OpenZAP/DAHDI
  level by disabling some kind of DTMF detection
  like was done for the Sangoma driver?
 
  Any and all pointers appreciated.
 
  Cheers,
  -Slim
 
  [1] [Freeswitch-dev] FXS bridged on FXO ports and DTMF
 

 http://www.mail-archive.com/freeswitch-dev@lists.freeswitch.org/msg02830.htm
  l
 
  [Freeswitch-dev] Problem with sending
  DTMF on FXS port bridged to   an FXO port