<div class="gmail_quote">On Wed, Aug 12, 2009 at 3:26 AM, Alex Green <span dir="ltr"><<a href="mailto:alexg@etherstack.com">alexg@etherstack.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2.:<br>
Setting an event callback and waiting for ZAP_EVENT_DTMF works for<br>
in-band digits on a PRI channel.<br>
</blockquote><div><br></div><div>Are you just pointing out that it works for PRI or implying that does not work for analog? for hardware DTMF I am sure this will NOT work, either for PRI or Analog.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
3.: Potential bug:<br>
As suggested by Moises, adding extra logging in libteletone_detect.c<br>
shows that digits were detected, but the ZAP_EVENT_DTMF events were<br>
*not* sent back for an analog channel (I am using an Openvox A800p, but<br>
it looks to be the same for all analog cards).<br>
</blockquote><div><br></div><div>you mean libteletone detects it but ZAP_EVENT_DTMF is not launched? the next test should be in zap_channel_read, which uses teletone_dtmf_detect and teletone_dtmf_get to retrieve DTMF and queue the DTMF, there you will be able to find out what is going on.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
4.: Potential bug:<br>
DTMF digit detection *eats some audio* each time a digit is detected. If<br>
the device is connected directly to free switch this is not a problem.<br>
If a device makes a call through freeswitch (to let's say phone banking)<br>
a digit that is held down may be detected as 3 digits (sometimes more)<br>
due to the consumed audio. This can be heard on the other side of<br>
freeswitch as a start-stop at the start of the DTMF.<br>
</blockquote><div><br></div><div>Indeed ZAP_CHANNEL_SUPRESS_DTMF causes zap_channel_read to memset the read data each time a digit hit is found. The problem is that there is no DTMF_START and DTMF_END events and the DTMF length is lost, we just have a plain DTMF event for the start. Not sure about how to use libteletone to detect the DTMF end though.</div>
<div><br></div><div>Anthony, Mike? care to comment about this one?</div><div> </div></div>-- <br>Moises Silva<br>Software Developer<br>Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3 Canada<br>
t. 1 905 474 1990 x 128 | e. <a href="mailto:moy@sangoma.com">moy@sangoma.com</a><br>