I was just going to respond to your previous mail: I have commented out the pause/resume statements and this solved my problem. I will try the latest git when I get back in office. Thank you. Cheers, -Slim -- Jeroen C. "Slim" van Gelderen -----Original Message----- From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: Tuesday, October 12, 2010 12:34 To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] tone_detect vs. ignore_early_mediaANDmod_fifo try latest GIT On Mon, Oct 11, 2010 at 4:00 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote:
This was done to stop recordings and other things on callers waiting in a queue. We may have to change it to be configurable.
On Mon, Oct 11, 2010 at 6:51 AM, Jeroen C. van Gelderen <slim@thegreek.com> wrote:
I have an inkling that the following commit made between 1.0.2 and 1.0.3 might have something to do with this:
* mod_fifo: pause media bugs while not in a bridge (r:11466,11490)
http://lists.freeswitch.org/pipermail/freeswitch-svn/2009-January/009566..ht ml
http://lists.freeswitch.org/pipermail/freeswitch-svn/2009-January/009589..ht ml
Can anyone comment on the how and why? Is there any way to reconcile this with use of tone_detect?
Cheers, -Slim -- Jeroen C. "Slim" van Gelderen Olympic Sports Data Services Email: slim@thegreek.com Phone: +1 876 953 6182 x128
________________________________
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of
Jeroen
C. van Gelderen Sent: Monday, October 11, 2010 05:31 To: 'FreeSWITCH Users Help' Subject: Re: [Freeswitch-users] tone_detect vs. ignore_early_media ANDmod_fifo
Hmm the plot thickens
When I bridge my FXO port to the SIP-GSM gateway directly (i.e. without using mod_fifo) I dont seem to need monitor_early_media_fail. Using tone_detect on the A leg works fine when ignore_early_media=true is used on the B leg:
The following dialplan excerpt WORKS (i.e. FXO hang-ups are detected at all stages by tone_detect):
<extension name="pan_125">
<condition field="${freetdm_span_name}" expression="^span_fxo_helpdesk$">
<!-- Detect busy tone from Panasonic -->
<action application="tone_detect" data="busy-pan 350,440 r 0 hangup undef 2"/>
<action application="answer"/>
<action application="set" data="continue_on_fail=true"/>
<action application="set" data="instant_ringback=true"/>
<action application="set" data="ringback=%(1000,1500,440.0,480.0)"/>
<action application="bridge"
data="{ignore_early_media=true}sofia/internal/1??????76??@192.168.3.11:5060" />
<action application="bridge"
data="{ignore_early_media=true}sofia/internal/1??????77??@192.168.3.11:5060" />
</condition>
</extension>
The problem seems to occur only when mod_fifo is added to the mix:
<extension name="test2">
<condition field="${freetdm_span_name}"
expression="^span_fxo_test$">
<!-- Detect busy tone from Panasonic -->
<action application="tone_detect" data="busy-pan 350,440 r 0
hangup
undef 2"/>
<action application="answer"/>
<action application="playback" data="thankyou.wav"/>
<action application="set" data="fifo_music=$${hold_music}"/>
<action application="fifo" data="fifo_helpdesk in"/>
</condition>
</extension>
In all cases:
- tone_detect works BEFORE the call is handed to mod_fifo (i.e. during playback)
- tone_detect works AFTER the call is established by mod_fifo and audio is being exchanged between A and B leg.
IF the A leg (with tone_detect enabled) is handed to mod_fifo AND there are no agents in the fifo THEN tone_detect does not work. Mod_fifo simply plays MOH to the A leg perpetually.
IF the A leg (with tone_detect enabled) is handed to mod_fifo AND mod_fifo places an outbound call with ignore_early_media=true THEN tone_detect does not work on the A leg during the early media phase on leg B.
IF the A leg (with tone_detect enabled) is handed to mod_fifo AND mod_fifo places an outbound call with ignore_early_media=false THEN tone_detect does work. I guess this is because audio is being exchanged between A and B legs.
Any idea what would cause the tone_detect to be suspended when mod_fifo is in the mix?
Cheers, -Slim -- Jeroen C. "Slim" van Gelderen
________________________________
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Jeroen C. van Gelderen Sent: Monday, October 11, 2010 03:13 To: 'FreeSWITCH Users Help' Subject: Re: [Freeswitch-users] tone_detect vs. ignore_early_media (per leg?)
Thank you for the quick response.
It looks like monitor_early_media_fail should do what I need (thanks for the suggestion!) but I cant seem to make it work. See below for my uneducated best guess why.
In my case the failure conditions from the GSM side are handled out-of-band by SIP. That leaves only one failure condition I need to listen for in early media (the Panasonic far-end hang up on FXO) which can successfully be detected with:
<action application="tone_detect" data="busy-pan 350,440 r 0 hangup>
This results in the following log entries:
[DEBUG] switch_ivr_async.c:2072 Adding tone spec 350,440 index 0 hits 1
[DEBUG] switch_core_media_bug.c:360 Attaching BUG to FreeTDM/4:1/
Translating tone_detect to monitor_early_media_fail I tried the following:
<action application="set" data="result=${fifo_member(add fifo_helpdesk
{fifo_member_wait=nowait,ignore_early_media=true,monitor_early_media_fail=bu sy-pan:1:350+440}sofia/internal/${caller_id_number}@192.168.3.11:5060)}"/>
This results in the following relevant log entries:
[DEBUG] switch_channel.c:2444
(sofia/internal/1876??????@192.168.3.11:5060)
Callstate Change RINGING -> EARLY
[DEBUG] switch_ivr_async.c:2072 Adding tone spec 350,440 index 0 hits 1
[DEBUG] switch_core_media_bug.c:360 Attaching BUG to sofia/internal/1??????7693@192.168.3.11:5060
So Freeswitch is listening for the right tones (tone_spec present and identical to the one used in tone_detect approach) but it isnt detecting them. The obvious difference is in the BUG attachment.
Is it possible that BUG isnt listening to the right (A) leg in the case of monitor_early_media_fail? Or is this too easy? J
Cheers, -Slim -- Jeroen C. "Slim" van Gelderen
________________________________
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Michael Collins Sent: Sunday, October 10, 2010 19:01 To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] tone_detect vs. ignore_early_media (per leg?)
Check out monitor_early_media_fail:
http://wiki.freeswitch.org/wiki/Channel_Variables#monitor_early_media_fail
It is a hybrid of ignoring early media and listening to early media for various conditions. In your case you'll need to play around with it. In
your
case you need to figure out which early media scenarios count as a "fail" and will cause processing to move on as if the call really did fail.
Roll up your sleeves, you have some work to do. :)
-MC
On Sat, Oct 9, 2010 at 9:24 PM, Jeroen C. van Gelderen <slim@thegreek.com> wrote:
Hi Guys,
I have a legacy Panasonic PBX which does not support CPC/Disconnect Supervision. Calls from this PBX are sent to Freeswitch by way of DAHDI/FreeTDM FXO ports (on a Xorcom Astribank). I use tone_detect to deal with far-end hang-ups. This works fine:
<!-- Detect busy tone from Panasonic --> <action application="tone_detect" data="busy 350,440 r 0 hangup 4"/>
Some calls from the Panasonic PBX are put in a FIFO and from there they are sent to a SIP-to-GSM bridge (GoIP) to be terminated on one of 3 GSM phones in a round-robin fashion.
The GSM bridge requires me to use "ignore_early_media=true" otherwise the caller will receive messages like "the number you are calling does not answer". When I set "ignore_early_media=true" the FIFO correctly keeps hunting for a GSM phone that is actually answered and will ignore phones that are busy, no-answer or turned off. This too works fine.
The problem occurs when the two are combined as follows:
Panasonic PBX --FXO--> Freeswitch --SIP--> GSM-bridge
If I enable ignore_early_media then tone_detect doesn't work UNTIL one of the GSMs is answered. This is a problem when none of the GSMs are answered and the Panasonic PBX hangs up. The FXO port will stay "up" and the FIFO will keep hunting until it times out.
If I don't use "ignore_early_media=true" then tone_detect works fine but then every telco message gets mistaken for an answered call and the hunting stops early.
I tried changing this example line from my fifo.conf:
<member timeout="30" simo="1" lag="5">
{member_wait=nowait,ignore_early_media=true}sofia/internal/1??????7701@192.1
68.3.11:5060 </member>
to
<member timeout="30" simo="1" lag="5">
{member_wait=nowait}[ignore_early_media=true]sofia/internal/1??????7701@192.
168.3.11:5060 </member>
in a vain attempt to ignore early media on the SIP leg only. This doesn't seem to do anything however.
Can anyone clue me in on what I'm missing? I've snipped the relevant configuration bits below. I have the feeling I'm missing something obvious.
Cheers, -Slim
----8<----8<----8<----8<----8<----
<configuration name="fifo.conf" description="FIFO Configuration"> <settings> <param name="delete-all-outbound-member-on-startup" value="false"/> </settings> <fifos> <fifo name="cool_fifo@$${domain}" importance="0">
<member timeout="30" simo="1" lag="5">
{member_wait=nowait,ignore_early_media=true}sofia/internal/1??????7701@192.1
68.3.11:5060</member>
<member timeout="30" simo="1" lag="5">
{member_wait=nowait,ignore_early_media=true}sofia/internal/1??????7693@192.1
68.3.11:5060</member>
<member timeout="30" simo="1" lag="5">
{member_wait=nowait,ignore_early_media=true}sofia/internal/1??????7698@192.1
68.3.11:5060</member>
</fifo> </fifos> </configuration>
----8<----8<----8<----8<----8<----
<include> <context name="pbx_test">
<extension name="test1"> <condition field="${freetdm_span_name}" expression="^span_fxo_test$"> <action application="answer"/>
<!-- Detect busy tone from Panasonic --> <action application="tone_detect" data="busy 350,440 r 0 hangup 4"/>
<action application="playback" data="ivr/ivr-hold_connect_call.wav"/>
<action application="fifo" data="cool_fifo@$${domain} in"/>
</condition> </extension> </context> </include>
----8<----8<----8<----8<----8<----
Cheers, -Slim -- Jeroen C. "Slim" van Gelderen
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900 _______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org