0
我正在写一个Asterisk
的拨号方案,我需要实现书签功能。如果用户呼入并且呼叫被断开,则在重拨时必须将用户带到与呼叫最后被丢弃或断开的完全相同的剪辑。拨号方案(带书签功能)目前看起来像这样:拨号方案中的书签功能
[some-context]
exten => 0,n,System(progressmarker.sh ${CALLERID(num)} ${CONTEXT})
exten => 0,1,Background(wav1)
exten => 0,n,Background(wav2)
有数百个这样的命令。 progressmarker
接收上下文并将其放入文件中。当用户想要继续旧会话时,它从用户所处的上一个上下文开始。如果呼叫在wav1
或wav2
之后下降,则用户应从wav1
或wav2
开始,而不是从上一个上下文开始。
有这样的一种方法:
exten => 0,n(wav1),Background(wav1)&System(progressmarker.sh ${CALLERID(num)} ${CONTEXT} wav1)
但是你可以看到这样不雅和繁琐特别是因为有好几百个这样的命令。有没有更好的方法来实现书签功能?