重定向呼叫时Dialplan代码错误

时间:2020-07-21 13:37:59

标签: asterisk dialplan

我已经生成了一个拨号计划,您可以在其中调用一个功能或另一个功能,具体取决于您调用的时间。

我的问题是从早班到下午班

就像我之前说的,我创建一个时隙。

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)

我的问题是我必须更改呼叫顺序才能使其正常工作。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

请记住,如果您的条件为假,gotoiftime将继续执行拨号计划。如果您的拨号计划完全如图所示,则在上午8点之前或下午5:30之后,您将没有周五至周日的服务人员。当两个gotoiftime条件都为false时,它将简单地继续执行下一步,这意味着它将转到下一步,即n(atencionPublicoAttTardes)

为了确定您对15:00-17:30,mon-thu,*,*,的条件是否正确,请尝试在条件和下午处理程序之间添加一个步骤,例如n,Hangup()(当然,请不要使用本直播,只是为了测试)。

如果您发现它挂断了而不是执行下午的拨号计划,则问题实际上出在gotoiftime中,而不是处理程序的顺序。

通常顺序无关紧要。这是我认为会影响结果的唯一原因。