[Freeswitch-dev] Need some info about FreeSWITCH

Евгений Золотов zolotov at altron.ua
Fri Aug 29 06:38:28 EDT 2008


We try to write some script extensions for application  LUA & JS & Perl.
There are some questions :

1. Seems, that for use LUA there is no necessity to install lua-5.1.3.tar.gz from
http://www.lua.org/ftp/, also that LUA environment is built in a kernel of FreeSWITCH. Is it correct?

2. In the catalogue scripts it is placed test files:

- 2004.pl
#!/usr/bin/perl
freeswitch::console_log('info', "******Perl*********\n");
my $res = `uname -a`;
freeswitch::console_log('notice', "OS Info: $res\n");
1;

- 2005.lua
freeswitch.consoleLog( "info", "*************LUA************\n" );

- 2006.js
console_log( "*************JavaScript************\n" );
session.answer();
exit();

also we make in addition:
$ luac 2005.lua -o 2005.luac

and add extensions into dialplan:
 
<extension name="2004">
  <condition field="destination_number" expression="^2004$" >
    <action application="perl" data="2004.pl" />
    <action application="answer" />
    <action application="sleep" data="1000" />
  </condition>
</extension>
                              
<extension name="2005">
  <condition field="destination_number" expression="^2005$" >
    <action application="lua" data="2005.lua" />
    <action application="answer" />
    <action application="sleep" data="1000" />
  </condition>
</extension>
                                                                  
<extension name="20051">
  <condition field="destination_number" expression="^20051$" >
    <action application="lua" data="2005.luac" />
    <action application="answer" />
    <action application="sleep" data="1000" />
  </condition>
</extension>
                                                                                                      
extension name="2006">
  <condition field="destination_number" expression="^2006$" >
    <action application="jsrun" data="2006.js" />
    <action application="sleep" data="1000" />
  </condition>
</extension>
                                                                                                                                          
We fulfil inquiries SIPp to the corresponding extension:
$ ./sipp -sn uac -s 2004 -m 1 opos8:5070
And we takes on FreeSWITCH's console:


2008-08-29 12:28:07 [NOTICE] switch_channel.c:538 switch_channel_set_name() New Channel sofia/nat/sipp at 192.168.2.108:5061 [7ac768e8-2673-465b-98a4-bba7f1f42f80]
2008-08-29 12:28:07 [INFO] mod_dialplan_xml.c:228 dialplan_hunt() Processing sipp->2004 in context public
2008-08-29 12:28:07 [INFO] switch_cpp.cpp:1050 console_log() ******Perl*********
2008-08-29 12:28:07 [NOTICE] switch_cpp.cpp:1050 console_log() OS Info: Linux opos8.altron.lan 2.6.18-53.1.19.el5 #1 SMP Wed May 7 08:20:19 EDT 2008 i686 i686 i386 GNU/Linux
 
2008-08-29 12:35:32 [NOTICE] switch_channel.c:538 switch_channel_set_name() New Channel sofia/nat/sipp at 192.168.2.108:5061 [bc778692-309e-43a7-be3d-e4fa8465fc14]
2008-08-29 12:35:32 [INFO] mod_dialplan_xml.c:228 dialplan_hunt() Processing sipp->2005 in context public
2008-08-29 12:35:32 [INFO] switch_cpp.cpp:1050 console_log() 
*************LUA************

2008-08-29 12:40:10 [NOTICE] switch_channel.c:538 switch_channel_set_name() New Channel sofia/nat/sipp at 192.168.2.108:5061 [335f6192-fb5a-43ed-91ce-c8c40f3973b7]
2008-08-29 12:40:10 [INFO] mod_dialplan_xml.c:228 dialplan_hunt() Processing sipp->20051 in context public
2008-08-29 12:40:10 [INFO] switch_cpp.cpp:1050 console_log() 
*************LUA************

LUA script is fulfilled both in initial and in compiled sort...

2008-08-29 12:41:38 [NOTICE] switch_channel.c:538 switch_channel_set_name() New Channel sofia/nat/sipp at 192.168.2.108:5061 [2feb67bb-d54b-49ba-a9f2-0d10c0fd5044]
2008-08-29 12:41:38 [INFO] mod_dialplan_xml.c:228 dialplan_hunt() Processing sipp->2006 in context public
2008-08-29 12:41:38 [ERR] switch_core_session.c:1034 switch_core_session_execute_application() Invalid Application jsrun
  
- and that is a strange error, при чём, if to change in extension
<action application="jsrun" data="2006.js" />
for:
<action application="javascript" data="2006.js" />
that:

2008-08-29 12:48:16 [NOTICE] switch_channel.c:538 switch_channel_set_name() New Channel sofia/nat/sipp at 192.168.2.108:5061 [1cc1f4d6-2986-4733-a2bf-84806ff0b681]
2008-08-29 12:48:16 [INFO] mod_dialplan_xml.c:228 dialplan_hunt() Processing sipp->2006 in context public
2008-08-29 12:48:16 [NOTICE] mod_spidermonkey.c:2034 session_answer() Channel [sofia/nat/sipp at 192.168.2.108:5061] has been answered

- then error do not arise: 

2008-08-29 12:50:12 [DEBUG] switch_core_state_machine.c:140 switch_core_standard_on_execute() sofia/nat/sipp at 192.168.2.108:5061 Execute javascript(2006.js)
2008-08-29 12:50:12 [DEBUG] 2006.js:1 console_log() 
*************JavaScript***********

But FreeSWITCH tells:
> help
....
jsrun,jsrun <script> [additional_vars [...]],run a script
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20080829/8eef6c8d/attachment.html 


More information about the Freeswitch-dev mailing list