Asterisk 星号PBX-PRI呼叫分组

Asterisk 星号PBX-PRI呼叫分组,asterisk,Asterisk,我用星号创建了一个自定义IVR。IVR是根据用户输入的个人id从数据库中获取个人医疗信息,并告知他们的病史 我有6个学生,比如(学校和大学)。我计划购买一条有24个频道的PRI线路,并为每个客户分配4个频道。4个客户可以同时拨打一个DID号码。如果第五位客户打电话,则应发出忙音 每个客户都应该有一个唯一的号码,所以我计划从我的电信服务提供商那里购买6个DID号码 如何使用星号pbx实现这一点,或为我提供任何输入以继续进行此操作 谢谢 Magesh实现了什么 我建议你先读一本像《星号电话的未来》这

我用星号创建了一个自定义IVR。IVR是根据用户输入的个人id从数据库中获取个人医疗信息,并告知他们的病史

我有6个学生,比如(学校和大学)。我计划购买一条有24个频道的PRI线路,并为每个客户分配4个频道。4个客户可以同时拨打一个DID号码。如果第五位客户打电话,则应发出忙音

每个客户都应该有一个唯一的号码,所以我计划从我的电信服务提供商那里购买6个DID号码

如何使用星号pbx实现这一点,或为我提供任何输入以继续进行此操作

谢谢 Magesh实现了什么

我建议你先读一本像《星号电话的未来》这样的书

在那之后读这个 对于可能的分组/通道选项,请执行以下操作:
用于与第三方CRM/系统集成。

使用dnis的Group命令将调用分组

计算具有该DNI的呼叫数

应用你的极限

像这样的

; 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})