Session Methods
=======================================

session.streamFile

Usage:

session.streamFile(file, timer, callback);

  file     = Path to the file to play (ie /tmp/file.wav)
  timer    = Timer to use for async mode. (optional)
  callback = Which function to fire when a dtmf digit is pressed. (optional)

Callback return values and meanings:

	 seek:ms - +1000 or -1000 will seek 1000ms forward or backwards, seek 0 will start the file over.
	 speed:  - +1,-1 or 0 for normal speed.  (valid ranges are +1,+2, 0 or -1,-2)
	 pause:  - toggles pause and play modes on the file.

	 You can also return arbitrary values and act on them as you
	 wish.  In our example we return "hangup" when the caller
	 press the * key on the keypad.
	 

Example:

function on_dtmf(digits)
{
	if (digits == "3") {
	   return "seek:+1000";
	}
	if (digits == "1") {
	   return "seek:-1000";
	}
	if (digits == "*") {
	   return "hangup";
	}
}

session.answer();

while(session.ready()) {
		    return_value = session.streamFile("/tmp/demo.wav", "", "on_dtmf");
		    if (return_value == "hangup") {
		       session.hangup(); // or break;
		    }	
}

To Document(these are in mod_spidermonkey already and just need
documentation and examples):

Methods:
session.recordFile
session.speak
session.getDigits
session.answer
session.ready
session.waitForAnswer
session.hangup
session.execute

Properties:
session.name
session.state
session.dialplan
session.caller_id_name
session.caller_id_num
session.network_addr
session.ani
session.ani2
session.destination

Methods:
DB.exec
DB.next
DB.fetch
DB.prepare

Properties
DB.path

Methods:
teletone.generate
teletone.onDTMF
teletone.addTone

Properties:
teletone.name

Other functions:
console_log
include
email
bridge
apiExecute

If you have CURL installed:
fetchURLHash
fetchURLFile