<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/1116/">https://reviewboard.asterisk.org/r/1116/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Using a slightly hacked chan_local [removed queryoption] so disabling T.38 i called from a HP 4in1 via a linksys 2102 into recievefax [T.30]

the faxdetect application bellow is a simple faxdetect/T.38 negotiate app i knocked together to set chan variables and report T.38 switch over.
i have moved this functionality into chan_sip and will test it more extensively [T38switchover] option.

using FAXOPT i enabled T.38 gateway so ill be in the middle on answer when a T.38 request is sent and managed via the core asterisk bridge by
res_fax see the &quot;Running Gateway&quot; message bellow.

at this point 2 frame hooks are attached to the channels one each for read packets with the channel fax datastore as data and a T.30 generator is attached to the T.30 channel to keep timing and sync.

control is handled by the asterisk core bridge and frame hook API.

all packets from the channels are processed in the fax driver [res_fax_spandsp] ignoring any further T.38 negotiations and returning null packets

there is no longer a &quot;T38Gateway&quot; app and there is no longer any hi-jacking of the core bridge loop.

There should be no difference on who is the initiator or who is caller/callee all cases are handled the same.


    -- Executing [0803@faxtest:1] FaxDetect(&quot;SIP/0819-00000002&quot;, &quot;5&quot;) in new stack
    -- Executing [0803@faxtest:2] Set(&quot;SIP/0819-00000002&quot;, &quot;FAXOPT(t38gateway)=yes&quot;) in new stack
    -- Executing [0803@faxtest:3] NoOp(&quot;SIP/0819-00000002&quot;, &quot;FAXTONE NONE&quot;) in new stack
    -- Executing [0803@faxtest:4] NoOp(&quot;SIP/0819-00000002&quot;, &quot;T38STATUS 1&quot;) in new stack
    -- Executing [0803@faxtest:5] Dial(&quot;SIP/0819-00000002&quot;, &quot;Local/0803@fax&quot;) in new stack
    -- Executing [0803@fax:1] Answer(&quot;Local/0803@fax-1bbb;2&quot;, &quot;&quot;) in new stack
    -- Called 0803@fax
    -- Local/0803@fax-1bbb;1 answered SIP/0819-00000002
    -- Running Gateway activestate=4 (SIP/0819-00000002) and inactivestate=0 (Local/0803@fax-1bbb;1)
    -- Executing [0803@fax:2] StopPlayTones(&quot;Local/0803@fax-1bbb;2&quot;, &quot;&quot;) in new stack

.......
.......

    -- Executing [0803@faxmail:1] Macro(&quot;Local/0803@fax-1bbb;2&quot;, &quot;faxreceive,0803&quot;) in new stack

.......
.......

    -- Executing [s@macro-faxreceive:13] ReceiveFAX(&quot;Local/0803@fax-1bbb;2&quot;, &quot;/var/spool/asterisk/fax/0803-1299683991.8.tif,debug&quot;) in new stack
    -- Channel &#39;Local/0803@fax-1bbb;2&#39; receiving FAX &#39;/var/spool/asterisk/fax/0803-1299683991.8.tif&#39;
    -- Connection Statistics
        Bit Rate :14400
        ECM : No
        Pages : 18</pre>
 <br />







<p>- irroot</p>


<br />
<p>On March 5th, 2011, 9:14 a.m., irroot wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers, Russell Bryant, dimas, Leif Madsen, and dafe_von_cetin.</div>
<div>By irroot.</div>


<p style="color: grey;"><i>Updated 2011-03-05 09:14:13</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hi there the patch that was going around circa 2008 to implement this in 1.4/1.6 app_fax has been moved to trunk [1.10]
ive made some cleanups and moved it into res_fax res_fax_spandsp this is the framework and not production code
unfortunately i have no means of testing it at the moment and require help.

i have cleaned the code up substantially it is related to R459

hope this is found useful and aids in the goal to get it in 1.10.

Adds application FaxGateway / FaxDetect
Adds alternate bridge to Dial with new option.</pre>
  </td>
 </tr>
</table>




<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/view.php?id=13405">13405</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/channels/chan_sip.c <span style="color: grey">(309340)</span></li>

 <li>/trunk/channels/sip/include/sip.h <span style="color: grey">(309340)</span></li>

 <li>/trunk/configs/sip.conf.sample <span style="color: grey">(309340)</span></li>

 <li>/trunk/include/asterisk/channel.h <span style="color: grey">(309340)</span></li>

 <li>/trunk/include/asterisk/res_fax.h <span style="color: grey">(309340)</span></li>

 <li>/trunk/main/channel.c <span style="color: grey">(309340)</span></li>

 <li>/trunk/res/res_fax.c <span style="color: grey">(309340)</span></li>

 <li>/trunk/res/res_fax_spandsp.c <span style="color: grey">(309340)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1116/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>