<div class="gmail_quote">On Mon, Aug 10, 2009 at 10:26 PM, Alex Green <span dir="ltr">&lt;<a href="mailto:alexg@etherstack.com">alexg@etherstack.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
For FXO I switch back to the dialtone state and collect the digits via<br>
the ZAP_SIGEVENT_COLLECTED_DIGIT call back (which is a little bit ugly<br>
and does not allow dial ahead, but it works). </blockquote><div><br></div><div>Sounds way too ugly, I don&#39;t think you should be doing that.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

DIALTONE&#39; is printed if you try). Openzap must be able to detect digits<br>
during a call, but I am having trouble figuring out how.<br>
<br>
ie. How do you use Openzap to detect in-band DTMF digits during a call?<br></blockquote></div><div><br></div><div>Take a look at mod_openzap/mod_openzap.c, on_clear_channel_signal()</div><div><br></div><div>It seem to me you should do the same.</div>
<div><br></div><div>zap_channel_command(sigmsg-&gt;channel, ZAP_COMMAND_ENABLE_DTMF_DETECT, &amp;tt); where tt = ZAP_TONE_DTMF and sigmsg-&gt;channel is the zap_channel_t</div><div><br></div><div>That will enable the DTMF detection feature in the channel (either in software or hardware if its available).</div>
<div><br></div><div>After enabling that feature, you can use zap_channel_dequeue_dtmf(zchan, dtmf, sizeof(dtmf)); to dequeue DTMF after calling zap_channel_read(), since there is where dtmf (if any) is enqueued. Check zap_channel_read so you can see how the DTMF is detected and enqueued.</div>
<div><br></div><div>If you don&#39;t want to call zap_channel_dequeue_dtmf on each read (or you can&#39;t), then register an event callback for the span with zap_span_set_event_callback(), then your code will be called with ZAP_EVENT_DTMF when dtmf is received in any channel on that span.</div>
<div><br></div><div>Hope that helps,</div><div><br></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>