[Freeswitch-users] Faxing with FreeSWITCH

bruce at sqls.net bruce at sqls.net
Tue Mar 25 00:19:43 MSK 2014


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




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