FreeSWITCH及VOIP,Openser,电话机器人等产品中文技术资讯、交流、沟通、培训、咨询、服务一体化网络。QQ群:293697898
首先看看有哪几个timeout?
call_timeout
originate_timeout
leg_timeout
作用则分别是:
call_timeout 在进行bridge等时,b leg响铃时长,但在具体应用中,对于内线还可以用,而外线,由于国内运营商的原因,会有挂断语音,所以使用它会存在一些问题,同时它是设置在a leg之上的。代码调用在
originate_timeout 用于定义originate/bridge过程中的呼叫时长,定义了这个时长如果没有answer就会timeout了,它生效范围是在
leg_timeout 它类同于originate_timeout,但是它的可自定义面应算是更广,比如顺振时
<action application="bridge" data="[leg_timeout=15]user/hastoanswerquickly/some.domain.com,[leg_timeout=60]user/hasaminutetoanswer@some.domain.com"></action>
一般来说,如果是一个主动外呼动作,要定义超时,那么应是:
originate {originate_time=30}sofia/gateway/xx/018621575908 &echo
如果是呼入时转到其它外线上,在dialplan中配为 :
<action application="bridge" data="[originate_timeout]sofia/gateway/xx/018621575908"/>
除了以上三个呼叫时的timeout还有个限定最长通话时长的需求,对吧!
execute_on_answer='sched_hangup +300'