[Freeswitch-users] Faxing with FreeSWITCH

Tim St. Pierre fs-list at communicatefreely.net
Tue Mar 25 03:31:50 MSK 2014


Switch the fax detect and silence_stream so that fax detect happens
first.  You want Freeswitch to be listening during the silence stream.
What's probably happening right now is that the fax isn't detected until
you are in the 15s sleep.



On 14-03-24 05:19 PM, bruce at sqls.net wrote:
> 
> Ah, thanks for the info on fax detect..  With that and reading some more 
> examples/docs I tried this..
> 
> session:answer()
> session:execute("playback", "silence_stream://2000")
> session:execute("spandsp_start_fax_detect", "rxfax '/tmp/FAX-" .. uuid 
> .. ".tif'")
> session:sleep(15000);
> session:hangup()
> 
> 
> Which seems to work.  Once it detects a fax it fire's off the rxfax app. 
>   I'm not sure if maybe there's a better method to do this or not.  This 
> doesn't really leave me a variable saying that no fax was detected 
> outside the lack of result variables from rxfax but maybe that's good 
> enough.  Any ideas on a better solution, anyone? :)
> 
> On a side note.  Does anyone know -why- the playback silence_stream is 
> needed? Or is it not needed at all? I see that in almost every example 
> on using FreeSWITCH faxing but I'm not sure what it's purpose is.  
> Thanks.
> 
> 
> ------ Original Message ------
> From: "Tim St. Pierre" <fs-list at communicatefreely.net>
> To: freeswitch-users at lists.freeswitch.org
> Sent: 3/24/2014 3:15:08 PM
> Subject: Re: [Freeswitch-users] Faxing with FreeSWITCH
> 
>> The fax detect function starts listening for fax tones while the call
>> continues. You are right, in that it is a non-blocking function.
>>
>> What you probably need to do, after making sure that media is
>> established, is call fax detect, then give the caller something to do
>> while you wait for a possible fax tone. You could just play silence to
>> the caller for a few seconds, unless there was something more relevant
>> to do. I believe that the original intent of fax detect was to be
>> invoked just before an IVR was run, so that a voice caller would just
>> listen to the menu, but a fax would start making tones that could then
>> be detected, transferring the call to the named extension where it 
>> would
>> be answered as a fax.
>>
>> Hope that helps!
>>
>> On 14-03-24 01:49 PM, bruce at sqls.net wrote:
>>>
>>>  Hello! I'm working on setting up a FreeSWITCH/Flowroute fax server. 
>>> The
>>>  server is connected without any nat on a 20MB fiber internet 
>>> connection.
>>>  I've built some lua scripts that allow me to receive and send faxes 
>>> and
>>>  log all the faxes to a sqlite database. I even have a management 
>>> script
>>>  that can be called from the fs_cli to add fax2email routes and adjust
>>>  settings. It's still a pretty rough implementation but overall it's
>>>  working fairly well but I have two main questions that I hope someone
>>>  could help me with.
>>>
>>>  1) I would like to detect "voice calls" or maybe I want to detect fax
>>>  calls? There's a dialplan function to listen for and detect a fax 
>>> caller
>>>  but I'm having trouble implementing it in my lua script. It seems 
>>> it's a
>>>  non-blocking function, maybe? Because it just walks right over that 
>>> line
>>>  instead of waiting and listening for any fax tones. I thought it 
>>> would
>>>  block the script for x seconds and listen for a fax tone and return a
>>>  result based on what it found. Can someone help me accomplish 
>>> something
>>>  similar to that?
>>>
>>>  2) So far, by far... my most common error is "The call dropped
>>>  prematurely". I'm not sure how to start debugging the error to figure
>>>  out what's causing it and how (if I can) solve it. I do have pcap's 
>>> of
>>>  the calls from pcapsipdump and I also have the freeswitch log of each
>>>  call (my lua script pulls and saves that for each fax call). I've 
>>> opened
>>>  the pcap files up in wireshark but I don't know what I'm looking for 
>>> and
>>>  I think that might be over my head at the moment. Can anyone give me 
>>> any
>>>  help on what this error is normally caused by or what I could look 
>>> for
>>>  and/or test?
>>>
>>>  Here are a couple of example logs that ended with "The call dropped
>>>  prematurely".
>>>  http://bmts.us/faxlogs/FAX-2e913a50-3a4f-4abc-9882-a323a97e5138.log
>>>  http://bmts.us/faxlogs/_FAX-59d02d9d-c4ba-44c2-8edd-a1c9142c7c1c.log_
>>>  <http://bmts.us/faxlogs/FAX-59d02d9d-c4ba-44c2-8edd-a1c9142c7c1c.log>
>>>  __
>>>  __
>>>
>>>
>>>
>>>
>>>  
>>> _________________________________________________________________________
>>>  Professional FreeSWITCH Consulting Services:
>>>  consulting at freeswitch.org
>>>  http://www.freeswitchsolutions.com
>>>
>>>  
>>>  
>>>
>>>  Official FreeSWITCH Sites
>>>  http://www.freeswitch.org
>>>  http://wiki.freeswitch.org
>>>  http://www.cluecon.com
>>>
>>>  FreeSWITCH-users mailing list
>>>  FreeSWITCH-users at lists.freeswitch.org
>>>  http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>  
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>  http://www.freeswitch.org
>>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> 
>> 
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
> 
> 
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
> 
> 
> 
> 
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
> 



Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users mailing list