[Freeswitch-users] OpenZap and tones.conf - FXO hangup problem

Col Ferguson asterisk at coltect.no-ip.com
Mon Jul 21 08:44:47 EDT 2008


Hello all,
I have installed freeswitch and had a bit of a play over the last few days
and have a question about the format of the tones.conf file for OpenZap.

I have a Xorcom Astribank to play with at the moment and have it working
mostly. I haven't done anything with the SIP part at all yet.

My basic hurdle at the moment is detecting a hangup on an FXO port before
any bridged FXS extensions answer.
If I hangup the line I am ringing into, the FXS extension keeps on ringing,
then when the FXS extension is answered it is bridged to the FXO port and I
get a dialtone and access to the FXO PSTN line directly.

I read a post that alluded to the possibility that having the wrong info in
tones.conf may result in strange behaviour as openzap doesn't recognise
tones correctly. I could be completely wrong, and often am, but thats always
been a good way to learn stuff.


I haven't been able to find any good info on the format of tones.conf, but
have managed to work out a few things so far.

I have this is tones.conf for au, and its loading properly, but I don't know
what its doing exactly.

[au]
generate-dial => v=-7;%(1000,0,413,438)
detect-dial => 413,438
generate-ring => v=-7;%(400,200,413,438);%(400,2000,413,438)
detect-ring => 413,438
generate-busy => v=-7;%(375,375,425)
detect-busy => 425
generate-attn => v=0;%(100,100,1400,2060,2450,2600)
detect-attn => 1400,2060,2450,2600
generate-callwaiting-sas => v=0;%(300,0,440)
detect-callwaiting-sas => 440
generate-callwaiting-cas => v=0;%(80,0,2750,2130)
detect-callwaiting-cas => 2750,2130
detect-fail1 => 913.8
detect-fail2 => 1370.6
detect-fail3 => 776.7

Using the generate-ring line as an example

generate-ring => v=-7;%(400,200,413,438);%(400,2000,413,438)

I think that
generate-ring is for generating the ring tone used internally by ring_ready
(and probably other areas I haven't found/noticed yet)
; is a separator
v=-7 probably sets a volume level ?
%(400,200,413,438) 400 is the time for the tone to be on, 200 is the time
for the tone to be off, 413 is the first tone played, 438 is the second tone
played ?
%(400,2000,413,438) 400 is the time for the tone to be on, 2000 is the time
for the tone to be off, 413 is the first tone played, 438 is the second tone
played ?

(I found some code in switch.conf.xml that sets up ring tones that showed
using the two lots of settings, and this sounds right for me in Australia. I
got the freqs from a Sipura, asterisk source and a web site
www.3amsystems.com)

detect-ring is used to look for a specific tone ?

So what then is the information in generate-attn =>
v=0;%(100,100,1400,2060,2450,2600) doing ?
Also what are detect-fail1,2,3 for ?

Is there anywhere to set a disconnect tone ?
As far as I can tell, Australia uses the busy tone to indicate a hangup,
which sometimes comes after a period of silence.


In case I am completely off track my dialplan is below. All Zap channels are
corresponding numbers, ie channel 1 is number 1 etc. Channel 1-8 are FXS,
9-14 ate FXS but input/outputs, 15-22 are FXS and 23-30 are FXO.

This is from /usr/local/freeswitch/conf/dialplan/extensions/home.xml

Please point out anything silly in here.

<extension name="out-zap-channel-7">
  <condition field="destination_number" expression="^(7)$">
    <action application="ring_ready"/>
    <action application="bridge" data="openzap/7/1"/>
  </condition>
</extension>

<extension name="out-zap-channel-8">
  <condition field="destination_number" expression="^(8)$">
    <action application="ring_ready"/>
    <action application="bridge" data="openzap/8/1"/>
  </condition>
</extension>


<extension name="in-zap-channel-27">
  <condition field="destination_number" expression="^(27)$">
    <!--<action application="set" data="hangup_after_bridge=true"/>-->
<!--Couldn't see a difference-->
    <!--<action application="set" data="effective_caller_id_name=6055
Line"/>-->                    <!--fiddling-->
    <!--<action application="set"
data="effective_caller_id_number=6055"/>-->
<!--fiddling-->
    <!--<action application="tone_detect" data="busy 425 r +5 hangup
normal_clearing"/>-->   <!--Really thought this might work-->
    <!--<action application="answer"/>-->
<!--Tried a simple ivr and symptoms same. ivr bridges call-->
    <!--<action application="sleep" data="2000"/>-->
<!--hangup incoming call before answering with FXS-->
    <!--<action application="ivr" data="coltect_ivr"/>-->
<!--and FXS still rings-->
    <action application="bridge" data="openzap/8/1"/>
    <!--<action application="transfer" data="8"/>
  </condition>
</extension>

Thanks,
Col




More information about the Freeswitch-users mailing list