On Mon, Oct 12, 2009 at 4:01 AM, homqua
<ngay01042005@gmail.com> wrote:
Hi,
I have implemented the solution for tone detection in wiki, and also answer
the channel before detecting the tone:
<condition field="destination_number" expression="^(055138419992)$">
<action application="answer"/>
<action application="tone_detect" data="fax 1100 r +15000 transfer fax
XML default"/>
<extension name="fax">
<condition field="destination_number" expression="^fax$">
<action application="answer" />
<action application="sleep" data="1000"/>
<action application="rxfax"
data="/usr/local/freeswitch/storage/fax/${caller_id_number}-${strftime(%Y-%m-%d-%H-%M-%S)}.tiff"/>
<action application="set" data="fax_mode=recv"/>
<action application="hangup"/>
</condition>
</extension>
But FS cannot recognize the tone, and therefore cannot move to fax
extension. Below are the error in FS:
2009-10-12 10:57:16.702287 [NOTICE] switch_channel.c:602 New Channel
sofia/external/anonymous@anonymous.invalid
[c431f0a3-9231-4724-ba39-9e4ef7edfca2]
2009-10-12 10:57:16.703413 [INFO] mod_dialplan_xml.c:315 Processing
Anonymous->055138419992 in context public
2009-10-12 10:57:16.719288 [NOTICE] switch_ivr.c:1349 Transfer
sofia/external/anonymous@anonymous.invalid to XML[055138419992@default]
2009-10-12 10:57:16.719288 [INFO] mod_dialplan_xml.c:315 Processing
Anonymous->055138419992 in context default
2009-10-12 10:57:16.722289 [NOTICE] mod_dptools.c:649 Channel
[sofia/external/anonymous@anonymous.invalid] has been answered
2009-10-12 10:57:16.722289 [NOTICE] mod_dptools.c:1324 Enabling tone
detection 'fax' '1100'
2009-10-12 10:57:16.723302 [NOTICE] switch_core_state_machine.c:179 Hangup
sofia/external/anonymous@anonymous.invalid [CS_EXECUTE] [NORMAL_CLEARING]
2009-10-12 10:57:16.740285 [NOTICE] switch_core_session.c:1086 Session 1
(sofia/external/anonymous@anonymous.invalid) Ended
2009-10-12 10:57:16.740285 [NOTICE] switch_core_session.c:1088 Close Channel
sofia/external/anonymous@anonymous.invalid [CS_DESTROY]
And the trace for SIP messages: http://pastebin.com/m4e47e7d9
If anyone has any idea, tell me please.
Thanks.
I think the trouble here is that you don't have anything else in the dialplan after the tone_detect. The tone_detect app is non-block, which means that it doesn't sit there and wait for a tone. If you want the dialplan to sit and wait then do a sleep app after your tone_detect. The other question I would have is this: what happens if the incoming call is not a fax? What do you want to do then?
-MC