下面是在lua中爲自由切換編寫的IVR。我沒有複製整個IVR,只是從文件開始的一部分。星號vs自由切換配置
session:set_tts_parms("flite", "kar");
session:speak("Welcome to the VoIP World!");
while(session:ready() == true) do
session:speak("to go to the next level, press 1");
session:speak("to hear my voice some more, press 2");
session:speak("to go to the default IVR demo, press 5");
session:speak("to exit, press 9");
digits = session:getDigits(1, "", 3000);
freeswitch.consoleLog("info", "Got dtmf: ".. digits .."\n");
if (digits == "1") then
--next level stuff
session:speak("you selected 1");
while(session:ready() == true) do
session:speak("to hear me speak, press 1");
session:speak("to go back to the previous menu, press 2");
session:speak("to exit, press 9");
digits = session:getDigits(1, "", 3000);
freeswitch.consoleLog("info", "Got dtmf, level2: ".. digits .."\n");
if (digits == "1") then
session:speak("Some people will tell you that life is good");
elseif (digits == "2") then
break;
elseif (digits == "9") then
session:hangup();
end
end
elseif (digits == "2") then
session:speak("What a Ride!");
我也寫一個IVR(只是舉個例子不一定是相同的),使用撥號計劃的Asterisk服務器,這在下面給出。
[incoming]
exten => 123,1,Answer()
same => n(menuprompt),Background(main-menu)
exten => 1,1,Playback(digits/1)
same => n,Goto(menuprompt)
exten => 2,1,Playback(digits/2)
same => n,Goto(menuprompt)
exten => 9,1,Hangup()
[main-menu]
exten => n(menuprompt),Background(main-menu)
exten => 3,1,Playback(digits/3)
same => n,Goto(menuprompt)
exten => 4,1,Playback(digits/4)
same => n,Goto(menuprompt)
exten => 9,1,Hangup()
現在我的問題效仿Lua代碼上面的功能,我需要一些膠水代碼或高於enough.If的IVR我在編程一個SIP服務器的IVR和SIP電話撥號到SIP服務器它會播放菜單嗎?我想了解這個架構,似乎缺少一些部分。任何幫助表示讚賞。
我不是想有兩個servers.I已經FreeSWITCH的server.I要遷移到asterisk.I我努力學習星號和實施的Asterisk服務器上相同的功能。 – liv2hak