2006-03-06 13:55:28 -05:00
|
|
|
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();
|
|
|
|
|
2006-03-06 18:37:32 -05:00
|
|
|
while(session.ready()) {
|
2006-03-06 13:55:28 -05:00
|
|
|
return_value = session.streamFile("/tmp/demo.wav", "", "on_dtmf");
|
|
|
|
if (return_value == "hangup") {
|
|
|
|
session.hangup(); // or break;
|
|
|
|
}
|
|
|
|
}
|