我生成了一个拨号计划,根据调用的时间来调用一个或另一个函数。
我的问题出现在从早班到下午班的
就像我之前说的,我创建了一个时间段。
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)
我的问题是,我必须更改呼叫的顺序才能使其工作。
有人能帮我吗?
请记住,如果条件为false,gotoiftime
将继续执行拨号计划。如果您的拨号计划完全如图所示,那么您在周五至周日上午8点之前或下午5点30分之后都没有处理程序。当两个gotoiftime
条件都为假时,它将继续执行下一步,这意味着它将进入下一步n(atencionPublicoAttTardes)
。
为了确保15:00-17:30,mon-thu,*,*,
的条件是正确的,请尝试在条件和下午处理程序之间添加一个步骤,例如n,Hangup()
(当然不要使用此live,仅用于测试(。
如果你发现它挂断了,而不是执行下午的拨号计划,那么问题实际上是gotoiftime
中的条件,而不是处理程序的顺序。
通常情况下,订单应该无关紧要。这是我认为这会影响结果的唯一原因。