diff --git a/docs/JavaScript.txt b/docs/JavaScript.txt new file mode 100644 index 0000000000..ac5a3e4085 --- /dev/null +++ b/docs/JavaScript.txt @@ -0,0 +1,48 @@ +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.state == "CS_EXECUTE") { + allDigits = ""; + return_value = session.streamFile("/tmp/demo.wav", "", "on_dtmf"); + if (return_value == "hangup") { + session.hangup(); // or break; + } +}