<div dir="ltr">Hi Tzafrir, <div><br></div><div>I found the function <i>void dahdi_qevent_lock(struct dahdi_chan *chan, int event) </i>where we send directly the tones detected and examples of how to use it in <i>linux/drivers/dahdi/wct4xxp/base.c:874</i> and <i>linux/drivers/dahdi/xpp/card_fxs.c:1573</i>.</div><div><br></div><div>Thanks very much for your help.</div><div><br></div><div>-Fabio Urquiza<br><div> </div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 3, 2016 at 6:28 AM, Tzafrir Cohen <span dir="ltr"><<a href="mailto:tzafrir.cohen@xorcom.com" target="_blank">tzafrir.cohen@xorcom.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, Jan 20, 2016 at 05:19:59PM -0300, Fábio Urquiza wrote:<br>
> Hi All,<br>
><br>
> I'm still developing a DAHDI driver to a specific PABX hardware that is<br>
> composed by a Digital Matrix controlled by a DSP. I already have sent a<br>
> message to the list with some questions about DAHDI developing and received<br>
> some very good advices. Now I'm facing a new problem.<br>
><br>
> In this particular hardware the DSP is responsible for receiving all events<br>
> that happen in all cards. So, for instance, if a ramal connected to a FXS<br>
> card have its phone off hook, the DSP send us a message like the one below:<br>
><br>
> Mbx: [a] Ev: [17],0,1 => Ramal 0 offhook<br>
><br>
> I understand that my driver need to call something like this when that<br>
> event is generated:<br>
><br>
> dahdi_hooksig(chan, DAHDI_RXSIG_OFFHOOK);<br>
><br>
> After that, when digit in the ramal are been pressed, the DSP already does<br>
> the DTMF detection and send us messages like that:<br>
><br>
> Mbx: [ff] Ev: [dc],0,30 => Digit 0x30 '0' detected<br>
><br>
> Mbx: [ff] Ev: [dc],0,31 => Digit 0x31 '1' detected<br>
><br>
><br>
> Now my driver need to call a function to directly send the detected digits<br>
</span>> to DAHDI. But I looked all *kernel.h* and *dahdi-base.c* and didn't found a<br>
> function to do that.<br>
<br>
Interfaces to userspace are in user.h .<br>
<span class=""><br>
><br>
> I imagine that in the normal operation Asterisk will be waiting for the<br>
> tones to do the DTMF itself. There is a way that I can send the digits<br>
> directly using DAHDI API and skip the Asterisk DTMF detection ?<br>
<br>
</span>$ grep -A2 PULSEDIGIT include/dahdi/user.h<br>
#define DAHDI_EVENT_PULSEDIGIT          (1 << 16)       /* This is OR'd with the digit received */<br>
#define DAHDI_EVENT_DTMFDOWN            (1 << 17)       /* Ditto for DTMF key down event */<br>
#define DAHDI_EVENT_DTMFUP              (1 << 18)       /* Ditto for DTMF key up event */<br>
<br>
Pulse digit detection is handled by DAHDI. You may have encountered the<br>
funny message "Got pulse digit NNN" for values of NNN way larger than 10<br>
if you have a misconfigured phone/line (or badly-written driver).<br>
<br>
Reporting DTMF up and DTMF down is left for various drivers to<br>
implement, if they choose to. As you can see, there are currently two<br>
drivers that may send those events.<br>
<br>
See also DAHDI_TONEDETECT .<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
               Tzafrir Cohen<br>
icq#16849755              <a href="mailto:jabber%3Atzafrir.cohen@xorcom.com">jabber:tzafrir.cohen@xorcom.com</a><br>
+972-50-7952406           mailto:<a href="mailto:tzafrir.cohen@xorcom.com">tzafrir.cohen@xorcom.com</a><br>
<a href="http://www.xorcom.com" rel="noreferrer" target="_blank">http://www.xorcom.com</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><br></div>