Revision
16982
Author
seven
Date
2010-03-13 21:57:41 -0600 (Sat, 13 Mar 2010)

Log Message

add dialer.lua and update README

Modified Paths

Added Paths

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
+