Diff
Modified: freeswitch/trunk/contrib/seven/README (16981 => 16982)
--- freeswitch/trunk/contrib/seven/README 2010-03-13 22:23:54 UTC (rev 16981)
+++ freeswitch/trunk/contrib/seven/README 2010-03-14 03:57:41 UTC (rev 16982)
@@ -1 +1,3 @@
-fsair - FreeSWITCH Air http://wiki.freeswitch.org/wiki/FsAir
+Author: Seven Du (seven .. at .. idapted.com )
+License: MIT
+WWW: www.idapted.com
Added: freeswitch/trunk/contrib/seven/fsair/README (0 => 16982)
--- freeswitch/trunk/contrib/seven/fsair/README (rev 0)
+++ freeswitch/trunk/contrib/seven/fsair/README 2010-03-14 03:57:41 UTC (rev 16982)
@@ -0,0 +1,6 @@
+Author: Seven Du (seven .. at .. idapted.com )
+License: MIT
+WWW: www.idapted.com
+
+
+fsair - FreeSWITCH Air http://wiki.freeswitch.org/wiki/FsAir
Added: freeswitch/trunk/contrib/seven/lua/dialer.lua (0 => 16982)
--- freeswitch/trunk/contrib/seven/lua/dialer.lua (rev 0)
+++ freeswitch/trunk/contrib/seven/lua/dialer.lua 2010-03-14 03:57:41 UTC (rev 16982)
@@ -0,0 +1,55 @@
+--[[
+ Author: Seven du (seven .. at .. idapted.com)
+ Licence: MIT
+ WWW: http://www.idapted.com
+
+ FreeSWITCH dialer
+ Dial numbers in <number_file_name> and playback a sound once a time
+
+ Usage: luarun dialer.lua
+]]
+
+prefix = "{ignore_early_media=true}sofia/gateway/cnc/"
+prefix = "{ignore_early_media=true}user/"
+number_file_name = "/usr/local/freeswitch/scripts/number.txt"
+file_to_play = "/usr/local/freeswitch/sounds/custom/8000/sound.wav"
+log_file_name = "/usr/local/freeswitch/log/dialer_log.txt"
+
+
+function debug(s)
+ freeswitch.consoleLog("notice", s .. "\n")
+end
+
+function call_number(number)
+ dial_string = prefix .. tostring(number);
+
+ debug("calling " .. dial_string);
+ session = freeswitch.Session(dial_string);
+
+ if session:ready() then
+ session:sleep(1000)
+ session:streamFile(file_to_play)
+ session:hangup()
+ end
+ -- waiting for hangup
+ while session:ready() do
+ debug("waiting for hangup " .. number)
+ session:sleep(1000)
+ end
+
+ return session:hangupCause()
+end
+
+
+number_file = io.open(number_file_name, "r")
+log_file = io.open(log_file_name, "a+")
+
+while true do
+
+ line = number_file:read("*line")
+ if line == "" or line == nil then break end
+
+ hangup_cause = call_number(line)
+ log_file:write(os.date("%H:%M:%S ") .. line .. " " .. hangup_cause .. "\n")
+end
+