12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- local count = 0;
- local tddstring = {};
- function my_cb(s, type, obj, arg)
- if (arg) then
- freeswitch.console_log("info", "\ntype: " .. type .. "\n" .. "arg: " .. arg .. "\n");
- else
- freeswitch.console_log("info", "\ntype: " .. type .. "\n");
- end
- tdddata = obj:getHeader("TDD-Data");
- count = 0;
- table.insert(tddstring, tdddata);
-
-
- freeswitch.console_log("info", obj:serialize("xml"));
- end
- function all_done(s, how)
- freeswitch.console_log("info", "done: " .. how .. "\n");
- end
- function tablelength(T)
- local count = 0
- for _ in pairs(T) do count = count + 1 end
- return count
- end
- blah = "args";
- session:setHangupHook("all_done");
- session:setInputCallback("my_cb", "blah");
- session:answer();
- session:execute("playback", "silence_stream://2000");
- session:execute("spandsp_detect_tdd");
- session:execute("spandsp_send_tdd", "Welcome to FreeSWITCH");
- while session:ready() do
- session:streamFile("silence_stream://10000");
- if (count > 0) then
- count = 0;
- if (tablelength(tddstring) > 0) then
- session:execute("spandsp_send_tdd", "You said: " .. table.concat(tddstring));
- tddstring = {};
- end
- end
- count = count + 1;
- end
|