[asterisk-dev] [Code Review] Fax Gateway Implementation T30<->T38

irroot reviewboard at asterisk.org
Tue Mar 8 04:11:01 CST 2011



> On 2011-03-04 09:51:54, Russell Bryant wrote:
> > It's very nice to see some additional work on this functionality.  I like the direction this patch is going right now.  Specifically, I like that it no longer requires a specific endpoint application to run anymore.  That was one of the key things that I wanted to see different.
> > 
> > There are still some things that I would like to see a bit different from how it works right now.  Even though it doesn't require running a T38Gateway() application directly, it still completely hijacks the core channel bridging loop and runs its own bridging loop.  I would like to see this implemented in such a way that it still uses the core channel bridging loop.  We started making some notes about this on this wiki page a while back:
> > 
> > https://wiki.asterisk.org/wiki/display/AST/T.38+Gateway 
> > 
> > In general, what I would like to see is a way to enable this functionality from the dialplan on any channel type.
> > 
> > ; not necessarily exactly this, but you get the idea ...
> > exten => foo,1,Set(T38_GATEWAY()=on)
> > 
> > The dialplan function should create a T.38 gateway object and store it on a channel datastore.  This gateway object should take advantage of the frame hook API to intercept all audio, udptl, and control frames (see include/asterisk/framehook.h).  ast_queue_frame() and ast_write() can be used to write back out what comes out of the gateway.
> > 
> > This code is a great start toward getting to where we need to go with this.

Update

The pesky hijacking of the bridge loop is busy been eradicated.

FAXOPT has now got a new option t38gateway that enables or disables the negotiation of gateway mode FAXOPT(t38gateway)=yes/no
this option can be set in res_fax.conf.

im using a ast_generator to write T30 frames to the channel this will allow using frame hooks properly at the moment
it reads a packet on c0 and writes it to c0 the bridge loop actually does not do what is expected and passes traffic
from c0 -> c1.

frame hooks should not call a ast_write(chan...) from within __ast_read(chan...) use of a generator is more correct for this.

the faxopt function already stores a object on the channel that is been used.


- irroot


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1116/#review3227
-----------------------------------------------------------


On 2011-03-05 09:14:13, irroot wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1116/
> -----------------------------------------------------------
> 
> (Updated 2011-03-05 09:14:13)
> 
> 
> Review request for Asterisk Developers, Russell Bryant, dimas, Leif Madsen, and dafe_von_cetin.
> 
> 
> Summary
> -------
> 
> 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.
> 
> 
> This addresses bug 13405.
>     https://issues.asterisk.org/view.php?id=13405
> 
> 
> Diffs
> -----
> 
>   /trunk/channels/chan_sip.c 309340 
>   /trunk/channels/sip/include/sip.h 309340 
>   /trunk/configs/sip.conf.sample 309340 
>   /trunk/include/asterisk/channel.h 309340 
>   /trunk/include/asterisk/res_fax.h 309340 
>   /trunk/main/channel.c 309340 
>   /trunk/res/res_fax.c 309340 
>   /trunk/res/res_fax_spandsp.c 309340 
> 
> Diff: https://reviewboard.asterisk.org/r/1116/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> irroot
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110308/642b02b3/attachment.htm>


More information about the asterisk-dev mailing list