在Asterisk中,可以使用Set(TIMEOUT(absolute))
来设置超时延迟。以下是一个示例代码:
exten => 100,1,Answer()
same => n,Set(TIMEOUT(absolute)=10) ; 设置超时延迟为10秒
same => n,Dial(SIP/101) ; 进行呼叫
same => n,Hangup()
上述代码中,当呼叫到达扩展号码100时,会先使用Answer()
接听呼叫,然后使用Set(TIMEOUT(absolute)=10)
设置超时延迟为10秒。接着使用Dial(SIP/101)
进行呼叫,当超过10秒没有接通时,会自动挂断呼叫。
注意,这里的超时延迟是绝对时间,即从呼叫开始算起的时间。如果要设置相对时间,可以使用TIMEOUT(absolute)
来设置绝对时间,或者使用TIMEOUT(absolute,limit)
来设置相对时间。
希望这个解决方法对你有帮助!