<br><br><div class="gmail_quote">On Thu, Mar 7, 2013 at 2:53 PM, Shaun Ruffell <span dir="ltr">&lt;<a href="mailto:sruffell@digium.com" target="_blank">sruffell@digium.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>On Thu, Mar 07, 2013 at 02:20:00PM -0500, Optical Phoenix wrote:<br>
&gt; On Wed, Mar 6, 2013 at 2:57 PM, Optical Phoenix &lt;<a href="mailto:opticalphoenix@gmail.com" target="_blank">opticalphoenix@gmail.com</a>&gt;wrote:<br>
</div><div>&gt;&gt; On Wed, Mar 6, 2013 at 1:21 PM, Shaun Ruffell &lt;<a href="mailto:sruffell@digium.com" target="_blank">sruffell@digium.com</a>&gt; wrote:<br>
</div><div>&gt;&gt;&gt; On Wed, Mar 06, 2013 at 11:42:54AM -0500, Optical Phoenix wrote:<br>
&gt;&gt;&gt;&gt;<br>
</div><div>&gt;&gt;&gt; &gt; When I go to change the rx, its a bit more complex. I have<br>
&gt;&gt;&gt; &gt; learned from this list that dahdi_rbsbits() handles the rx<br>
&gt;&gt;&gt; &gt; bits, but my changes seem to have no effect. Does anyone have<br>
&gt;&gt;&gt; &gt; a good understanding of this function? I would appreciate any<br>
&gt;&gt;&gt; &gt; help you can provide.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; case DAHDI_SIG_FXSLS:<br>
&gt;&gt;&gt; &gt; if (!(cursig &amp; DAHDI_BBIT)) {      /*Dennis RINGING  */  /*&lt;----- I think<br>
&gt;&gt;&gt; &gt; this is checking if the state is different from a set value? needs<br>
&gt;&gt;&gt; &gt; clarification*/<br>
&gt;&gt;&gt; &gt;  /* Check for ringing first */<br>
&gt;&gt;&gt; &gt; __dahdi_hooksig_pvt(chan, DAHDI_RXSIG_RING);<br>
&gt;&gt;&gt; &gt; break;<br>
&gt;&gt;&gt; &gt;  }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This is just checking if new BBIT is 0, which would indicate a<br>
&gt;&gt;&gt; ring.  At the top of dahdi_rbsbits there was already a check to<br>
&gt;&gt;&gt; see if cursig is different from the previously saved rxsig.<br>
&gt;<br>
</div><div>&gt; Above Shaun was kind enough to point out that  &quot;if (!(cursig &amp;<br>
&gt; DAHDI_BBIT))&quot; was checking if the BBit is zero.  (thanks again!)<br>
&gt; for what values is this statement not true? it seems that no<br>
&gt; matter what I put in, it comes out as true.<br>
<br>
</div>Just to be clear, If I&#39;m following I don&#39;t think this is a DAHDI<br>
question but a C programming question? That statement is not true if<br>
the B bit is set in cursig.<br>
<br>
For example if you run the following program:<br>
<br>
  #include &lt;stdio.h&gt;<br>
  #include &lt;stdbool.h&gt;<br>
<br>
  #define DAHDI_ABIT              (1 &lt;&lt; 3)<br>
  #define DAHDI_BBIT              (1 &lt;&lt; 2)<br>
  #define DAHDI_CBIT              (1 &lt;&lt; 1)<br>
  #define DAHDI_DBIT              (1 &lt;&lt; 0)<br>
<br>
  static inline bool b_is_not_set(int cursig)<br>
  {<br>
      return !(cursig &amp; DAHDI_BBIT);<br>
  }<br>
<br>
  static void print_set(int cursig)<br>
  {<br>
      if (b_is_not_set(cursig)) {<br>
          printf(&quot;B is not set\n&quot;);<br>
      } else {<br>
          printf(&quot;B is set\n&quot;);<br>
      }<br>
  }<br>
<br>
  int main(int argc, char *argv[])<br>
  {<br>
      print_set(DAHDI_ABIT);<br>
      print_set(DAHDI_ABIT | DAHDI_BBIT);<br>
      print_set(DAHDI_BBIT | DAHDI_CBIT);<br>
      print_set(DAHDI_ABIT | DAHDI_CBIT);<br>
  }<br>
<br>
The output is:<br>
<br>
  B is not set<br>
  B is set<br>
  B is set<br>
  B is not set<br>
<div><div><br>
<br>
--<br>
Shaun Ruffell<br>
Digium, Inc. | Linux Kernel Developer<br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>
Check us out at: <a href="http://www.digium.com" target="_blank">www.digium.com</a> &amp; <a href="http://www.asterisk.org" target="_blank">www.asterisk.org</a><br>
<br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" 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" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><div><br></div>Hello, and thank you. You are quite correct, it is a C programming question. Apologies if that is a faux pas. I guess the DAHDI question is &quot;How would I create a PLAR signalling type in DAHDI&quot; but I imagine that&#39;s asking a little much. I am going through the code trying to understand the structure, learning c along the way. I would eventually like to be able to add a signalling type. Is it alright to post programming questions that have to do with the Dahdi code base? <div>

<br></div><div>-Dennis</div>