我已经生成了一个拨号计划,您可以在其中调用一个功能或另一个功能,具体取决于您调用的时间。
我的问题是从早班到下午班
就像我之前说的,我创建一个时隙。
n,gotoiftime(8:00-15:00,mon-thu,*,*,?atencionPublico)
n,gotoiftime(15:00-17:30,mon-thu,*,*,?atencionPublicoAttTardes)
n(atencionPublicoAttTardes),BackGround(/var/lib/asterisk/sounds/ocm/NavarraHorario)
n,waitexten(5)
n,Set(ACTION=FUNC_SKILL NA_IncidenciasTardes)
n,AGI(agi:async)
exten => 1,1,Set(ACTION=FUNC_DIALPLAN NavarraPulsa1)
n,AGI(agi:async)
;*******************************************************
n(atencionPublico),BackGround(/var/lib/asterisk/sounds/ocm/Navarra)
n,waitexten(5)
n,Set(ACTION=FUNC_SKILL NA_Incidencias)
n,AGI(agi:async)
exten => 1,1,Set(ACTION=FUNC_DIALPLAN NavarraPulsa1)
n,AGI(agi:async)
我的问题是我必须更改呼叫顺序才能使其正常工作。
有人可以帮我吗?
答案 0 :(得分:1)
请记住,如果您的条件为假,gotoiftime
将继续执行拨号计划。如果您的拨号计划完全如图所示,则在上午8点之前或下午5:30之后,您将没有周五至周日的服务人员。当两个gotoiftime
条件都为false时,它将简单地继续执行下一步,这意味着它将转到下一步,即n(atencionPublicoAttTardes)
。
为了确定您对15:00-17:30,mon-thu,*,*,
的条件是否正确,请尝试在条件和下午处理程序之间添加一个步骤,例如n,Hangup()
(当然,请不要使用本直播,只是为了测试)。
如果您发现它挂断了而不是执行下午的拨号计划,则问题实际上出在gotoiftime
中,而不是处理程序的顺序。
通常顺序无关紧要。这是我认为会影响结果的唯一原因。