On Mon, Dec 29, 2008 at 10:45 PM, Baskar <yudha2008@gmail.com> wrote:
Hi Michael Jerris,
I will explain what i am currently doing : I don't understand
Step 1: From the xlite phone I have dialed a number and we were on the conversation with one extension (1007 is my extension and my mobile No 9841799874)
Step 2: From the freeswitch console I am executing a javascript file with tone detect like the one below,
My JavaScript :
session1 = new Session();
session1.originate(session1,"{ignore_early_media=false}sofia/internal/ 1003@172.20.201.67");
session1.execute("tone_detect","busy 480,620 r +30 transfer '1000' 3");
I think the above line is part of the problem. The "+30" literally means 'watch for these tones for 30 milliseconds, and then don't watch any more.' I think what you want here is +30000. Can you try that and see if there's a difference?
session1.execute("bridge", "sofia/default/9841799874@172.20.191.228");
session1.execute("transfer", "9841799874");
session1.hangup; In the above script and in step1 the telephone numbers are same; since the script is not detecting that the phone number is busy.
Hi Michael S Collins,
Please let me know the script, so that it would be helpful for me.
Here's a simple extension that I use for recording. It uses the uuid of the call for the file name. I don't know if the "pre_answer" application is absolutely necessary or not, but I do it just to be certain that I get the early media. <extension name="record early media"> <condition field="destination_number" expression="^82(\d+)$"> <!-- 82 + phone number --> <action application="bridge" data="sofia/default/$1@172.20.191.228"/> <!-- we can skip all this early media stuff if the far end answers --> <action application="set" data="execute_on_answer=transfer ANSWERCALL XML default"/> <action application="sleep" data="100"/> <action application="pre_answer"/> <action application="record_session" data="/tmp/${uuid}__1.wav"/> <action application="sleep" data="500"/> <!-- If call gets here then probably we're in progress media; get ready to handle various tones --> <!-- Look for busy and SIT tones right away, then wait a bit before looking for a ring signal --> <action application="tone_detect" data="BUSY 480,620 r +25000 set BUSY=true"/> <!-- detect busy --> <action application="tone_detect" data="SIT1LO 913.8 r +25000 set SIT1LO=true"/> <!--1st segment low --> <!-- ... look for other SIT tones if you need to; snipped from this example --> <!-- Now sleep while other end is ringing --> <action application="sleep" data="25010"/> <!-- if far end answers then we never get here...--> <!-- Use Lua script to check value of BUSY, SIT1LO, etc. --> <!-- If !BUSY and !SIT1LO, etc. then call is a no answer --> <!-- I use extensions for each scenario, e.g. <condition field="destination_number" expression="ANSWERCALL"> OR <condition field="destination_number" expression="BUSYCALL"> etc. --> </condition> </extension> In any case, if you call a busy number it should record the early media. You can change the sleep time from 25010 to a shorter duration, like maybe 10000. You could also insert an info app to dump the channel variables and see if tone_detect set your channel variable(s). Hope this helps! -MC
Thanks for the Reply,
Warm Regards, N.Baskar
_______________________________________________ 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