您可以在拨号计划中完成此操作...
[menu-main]
exten => s,1,Noop()
exten => s,n(msg),Background(ForTodayPress1TomorrPress2)
exten => s,1,Goto(menu-today)
exten => s,2,Goto(menu-tomorrow)
exten => i,1,Playback(invalid)
exten => i,n,Goto(msg)
exten => t,1,Goto(msg)
[menu-today]
etc...
[menu-tomorrow]
etc...
或者,正如其他人建议的那样,您可以使用任何能够写入stdin并从stdout读取的语言来完成。phpagi实现是我特别喜欢的一种。它可能适用于此示例,例如PHP在单独的框中运行,因此不会对PBX产生任何负载影响。
[menu-main]
exten => s,1,Noop()
exten => s,n(msg),Background(ForTodayPress1TomorrPress2)
exten => s,1,Goto(menu-today,s,1)
exten => s,2,Goto(menu-tomorrow,s,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(msg)
exten => t,1,Goto(msg)
[menu-today]
exten => s,1,Noop()
exten => s,n,agi(http://myapache/agi/readschedule.php)
exten => s,n,Hangup()