无法将DongleStatus与不同的拨号计划结合使用

时间:2014-02-15 15:07:33

标签: asterisk

我们国家有两个主要的移动运营商 - (1)从818927,818937,818929开始,(2)从818917,818919,818987,818989开始。

我有4个usb调制解调器(huawei),我希望每个移动运营商使用2条不同的线路。

我正在使用DongleStatus,因为必须在同一个前缀上同时允许2个呼叫(例如,当有两个相同的SIP代理正在呼叫相同的方向时,例如,他们两个都试图同时从818927 *范围呼叫两个不同的号码)

这里我提到扩展配置不起作用!

但是如果您将删除所有扩展行并且只剩下其中一个,那么下面提到的整个DongleStatus脚本完美地工作(它允许随后由4个SIP代理同时使用4行)

我需要你的帮助才能找到上述提到的配置中的错误,或者你有关实现相同目标的其他方法的建议。我对星号比较陌生,我希望不要过于复杂的答案。

; buklau
exten => _818927XXXXXXX,1,DongleStatus(GSM-001,Dongle0_Status)
exten => _818937XXXXXXX,1,DongleStatus(GSM-001,Dongle0_Status)
exten => _818929XXXXXXX,1,DongleStatus(GSM-001,Dongle0_Status)
exten => _818917XXXXXXX,1,DongleStatus(GSM-003,Dongle2_Status)
exten => _818919XXXXXXX,1,DongleStatus(GSM-003,Dongle2_Status)
exten => _818987XXXXXXX,1,DongleStatus(GSM-003,Dongle2_Status)
exten => _818989XXXXXXX,1,DongleStatus(GSM-003,Dongle2_Status)
same => n,DongleStatus(GSM-002,Dongle1_Status)
same => n,DongleStatus(GSM-003,Dongle2_Status)
same => n,DongleStatus(GSM-004,Dongle3_Status)
same => n,GotoIf($[${Dongle0_Status} = 2]?dongle0dial:dongle1check)
same => n(dongle0dial),Dial(Dongle/GSM-001/${EXTEN:2},60,tT)
same => n,Hangup
same => n(dongle1check),GotoIf($[${Dongle1_Status} = 2]?dongle1dial:dongle2check)
same => n(dongle1dial),Dial(Dongle/GSM-002/${EXTEN:2},60,tT)
same => n,Hangup
same => n(dongle2check),GotoIf($[${Dongle2_Status} = 2]?dongle2dial:dongle3check)
same => n(dongle2dial),Dial(Dongle/GSM-003/${EXTEN:2},60,tT)
same => n,Hangup
same => n(dongle3check),GotoIf($[${Dongle3_Status} = 2]?dongle3dial:utel)
same => n(dongle3dial),Dial(Dongle/GSM-004/${EXTEN:2},60,tT)
same => n,Hangup

1 个答案:

答案 0 :(得分:0)

这部分:

exten => _818989XXXXXXX,1,DongleStatus(GSM-003,Dongle2_Status)
same => n,DongleStatus(GSM-002,Dongle1_Status)

等于

exten => _818989XXXXXXX,1,DongleStatus(GSM-003,Dongle2_Status)
exten => _818989XXXXXXX,2,DongleStatus(GSM-002,Dongle1_Status)

因此它不适用于上面使用的任何其他模式。如果您需要完全支持上述所有内容,请使用类似

的内容
exten => _8189XXXXXXXXX,2,DongleStatus(GSM-002,Dongle1_Status)

提示:您总是可以要求星号显示它如何理解拨号方案,为此

asterisk -rx "dialplan show number@context"