Asterisk PBX - PRI呼叫分组

时间:2013-01-31 06:29:15

标签: asterisk

我使用星号创建了一个自定义IVR。 IVR是基于用户输入的人ID来从DB获取人医疗信息并告知他们的病史。

我有6个csutomers,如(学校和学院)。我计划购买一条24个频道的PRI线路,并为每个客户分配4个频道.4个客户可以同时拨打一个DID号码。如果第五个客户打电话,它应该给忙音。

每个客户都应该有一个唯一的号码,所以我打算从我的电信服务提供商处购买6个DID号码。

如何使用asterisk pbx实现此目的,或者为我提供任何输入以继续

由于 Magesh

2 个答案:

答案 0 :(得分:0)

Achive是什么?

我建议你首先阅读“Asterisk the telephoph”这样的书。

之后阅读本文 http://www.voip-info.org/wiki/view/chan_dahdi.conf 对于可行的分组/频道选项,这个:  http://www.voip-info.org/wiki/view/Asterisk+AGI  与第三方crms / systems集成。

答案 1 :(得分:0)

使用dnis

的GROUP命令对调用进行分组

计算具有该dnis的调用

应用你的限制

像这样......

; this is your dialplan
[yourdialplan]
exten => 7314451234,n,Macro(limit-by-did,${EXTEN})
exten => 7314451235,n,Macro(limit-by-did,${EXTEN})
exten => 7314451236,n,Macro(limit-by-did,${EXTEN})
exten => 7314451237,n,Macro(limit-by-did,${EXTEN})
exten => 7314451238,n,Macro(limit-by-did,${EXTEN})


; this does the check
[macro-limit-by-did]
exten => s,1,Verbose(2,"checking limits")

; group by dnis
exten => s,n,Set(GROUP(CLIENT)=${ARG1})

; count number of calls in this dnis that are active
exten => s,n,Set(CLIENT_COUNT=${GROUP_COUNT(${ARG1}@CLIENT)})

; apply the limits jumping to block or pass
exten => s,n,GotoIf($[${CLIENT_COUNT} > 4]?block:pass)

; sorry you were 5th caller
exten => s,n(block),Verbose(2,too many callers to ${ARG1})
exten => s,n,Hangup()

; you were less than 5th caller continue on
exten => s,n(pass),Verbose(2,less than 4 callers on ${ARG1})