Okay, turn off the sip trace and turn on debug level logging:
:) Nice joke
Ok. Pastebin: http://pastebin.freeswitch.org/16818
The extension is:
<extension name="ext_office_disa2">
<condition field="destination_number" expression="^(73435230022)$">
<action application="set" data="disa_msg_enterpin=$${base_dir}/sound
s/ru/RU/elena/ivr/8000/ivr-please_enter_pin_followed_by_pound.wav"/>
<action application="set" data="disa_msg_wrongpin=$${base_dir}/sound
s/ru/RU/elena/ivr/8000/ivr-pin_or_extension_is-invalid.wav"/>
<action application="set" data="disa_msg_enterext=$${base_dir}/sound
s/ru/RU/elena/ivr/8000/ivr-enter_ext.wav"/>
<action application="lua" data="common/disa.lua"/>
<!-- <action application="javascript" data="common/disa2.js"/> -->
</condition>
</extension>
LUA script:
--[[
]]
-- if you choose not to require a pin then then you may want to add a dialplan c
ondition for a specific caller id
local pin = "111111"; -- make sure to change the PIN number.
local digitmaxlength = 0;
local initialTimeout = 7500;
local interdigitTimeout = 5000;
local absoluteTimeout = 30000;
local msg_enterpin;
local msg_wrongPin;
local msg_enterext;
function disa()
if( not session:ready() ) then
return
end
msg_enterpin = session:getVariable("disa_msg_enterpin");
msg_wrongpin = session:getVariable("disa_msg_wrongpin");
msg_enterext = session:getVariable("disa_msg_enterext");
if( msg_enterpin == nil or msg_wrongpin == nil or msg_enterext == nil ) then
freeswitch.consoleLog("ALERT", "DISA: Please set necessary variables");
return false;
end
session:answer();
session:sleep( 500 );
-- session:execute("start_dtmf", "");
if( string.len( pin ) > 0 ) then
digitmaxlength = 6;
session:flushDigits();
digits = session:playAndGetDigits(digitmaxlength, digitmaxlength, 1, int
erdigitTimeout, "#", msg_enterpin, msg_wrongpin, "\\d+", absoluteTimeout);
freeswitch.consoleLog( "info", "DISA.lua pin: " .. digits .. "\n" );
end
if( digits == pin or string.len( pin ) == 0 ) then
local ru_ring = session:getVariable("ru-ring");
local originate_string;
originate_session = nil;
session:setVariable("ringback", ru_ring); -- set to ringto
ne
session:setVariable("transfer_ringback", ru_ring); -- set to ringto
ne
session:setVariable("hangup_after_bridge", "true");
session:setVariable("v_numbering_plan", "RU");
digits = ""; -- clear dtmf digits to prepare for next dtmf request
digitmaxlength = 20;
session:flushDigits();
digits = session:playAndGetDigits(6, digitmaxlength, 1, interdigitTimeou
t, "#", msg_enterext, "", "\\d+", absoluteTimeout);
if( string.len( digits ) == 0 ) then
return false;
end
freeswitch.consoleLog( "info", "DISA.lua Collected: " .. digits .. "\n"
);
originate_string =
"{ignore_early_media=true" ..
",origination_caller_id_number=" .. session:getVariable("caller_id_n
umber") ..
",originate_timeout=90" ..
-- ",uuid=" .. session:get_uuid() ..
"}" ..
"sofia/ipbx/" .. session:getVariable("v_ats_srcport") .. "#" ..
digits .. "@192.168.1.1:5060";
originate_session = freeswitch.Session( originate_string, session );
session:setAutoHangup( false );
originate_session:setAutoHangup( false );
if( originate_session:ready() ) then
freeswitch.bridge(session, originate_session);
-- originate_session:hangup();
end
end
end
local digits = "";
disa();
if( session:ready() ) then
session:hangup();
end
The extension where originate is placed:
<extension name="ext_domestic_e164">
<condition field="destination_number" expression="^(7[0-9]{10})$">
<action application="log" data="NOTICE [top.ctx] - ext_domestic"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="set" data="continue_on_fail=false"/>
<action application="set" data="failure_causes=USER_BUSY,NO_ANSWER"/>
<action application="set" data="fail_on_single_reject=true"/>
<!-- Least Cost Routing scheme -->
<action application="lcr" data="$1 lcr_tagnet"/>
<action application="set" data="call_timeout=60"/>
<action application="set" data="bridge_answer_timeout=60"/>
<action application="bridge" data="${lcr_auto_route}"/>
<action application="hangup"/>
</condition>
</extension>
Try harder..
On Jul 15, 2011 4:43 AM, "Boris Kovalenko" <boris@tagnet.ru> wrote:
> Hello!
>
> I tried, no success.
>
>> after you create it
>>
>> session:setAutoHangup(0)
>>
>> or it will hangup when the script exits
>>
>> On Thu, Jul 14, 2011 at 1:11 PM, Boris Kovalenko<boris@tagnet.ru> wrote:
>>> Hello!
>>>
>>> Here it is http://pastebin.freeswitch.org/16809
>>> Hope somebody help
>>>
>>> get a console log w/ siptrace of that scenario and put it on pastebin. the
>>> gang here will take a look.
>>> -MC
>>>
>>> On Thu, Jul 14, 2011 at 10:39 AM, Boris Kovalenko<boris@tagnet.ru> wrote:
>>>> And another problem found. If the remote party answers immediately all
>>>> is ok. But if remote waits more then 8-10 seconds before answer - the
>>>> call is dropped when answered. Can't understand where to look for a
>>>> problem.
>>>>> Hello!
>>>>>
>>>>> I found a problem. originate_session must not to be local.
>>>>>> Hello!
>>>>>>
>>>>>> I'm trying to migrate DISA from Javascript to LUA. This peace of
>>>>>> code works fine in Javascript:
>>>>>>
>>>>>> ostr = "{ignore_early_media=true" +
>>>>>> ",origination_caller_id_number=" +
>>>>>> session.getVariable("caller_id_number") +
>>>>>> "}sofia/ipbx/50004#" + digits +
>>>>>> "@192.168.1.1:5060";
>>>>>> osession = new Session( ostr );
>>>>>> bridge(session, osession);
>>>>>> osession.hangup();
>>>>>>
>>>>>> With LUA not:
>>>>>> originate_string =
>>>>>> "{ignore_early_media=true" ..
>>>>>> ",origination_caller_id_number=" ..
>>>>>> session:getVariable("caller_id_number") ..
>>>>>> "}" ..
>>>>>> "sofia/ipbx/50004#" ..
>>>>>> digits .. "@192.168.1.1:5060";
>>>>>> originate_session = freeswitch.Session( originate_string );
>>>>>> freeswitch.bridge(session, originate_session);
>>>>>> originate_session:hangup();
>>>>>>
>>>>>> The call is droped when remote answers. There is an error in log:
>>>>>> bridge: session not ready. I tried to use
>>>>>> if( originate_session:ready() ) then
>>>>>> freeswitch.bridge(session, originate_session);
>>>>>> originate_session:hangup();
>>>>>> end
>>>>>>
>>>>>> with no luck :(. Please, help me. What am I doing wrong?
>>>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Boris
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Join us at ClueCon 2011, Aug 9-11, Chicago
>>>> http://www.cluecon.com 877-7-4ACLUE
>>>>
>>>> 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
>>>
>>>
>>> _______________________________________________
>>> Join us at ClueCon 2011, Aug 9-11, Chicago
>>> http://www.cluecon.com 877-7-4ACLUE
>>>
>>> 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
>>>
>>>
>>> --
>>> Regards,
>>> Boris
>>>
>>>
>>> _______________________________________________
>>> Join us at ClueCon 2011, Aug 9-11, Chicago
>>> http://www.cluecon.com 877-7-4ACLUE
>>>
>>> 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
>>>
>>>
>>
>>
>
>
> --
> Regards,
> Boris
>
>
>
> _______________________________________________
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
>
> 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
_______________________________________________ Join us at ClueCon 2011, Aug 9-11, Chicago http://www.cluecon.com 877-7-4ACLUE 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
-- Regards, Boris
_______________________________________________
Join us at ClueCon 2011, Aug 9-11, Chicago
http://www.cluecon.com 877-7-4ACLUE
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