我有一个小型和基本的 PBX,并且有两个上下文,基本上是销售和主管,两者都有不同的角色和权限。我注意到可以从同一上下文转移呼叫,但不可能将任何内容转移到另一个上下文。
任何见解,我有点像星号上的菜鸟,但目前没有其他人负责......
谢谢
编辑
这是扩展名.conf
[supervisor]
include => from-internal
exten => _40XX,1,Answer
exten => _40XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _40XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _40XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _40XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _40XX,n,Hangup
[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup
Run Code Online (Sandbox Code Playgroud)
sip.conf 如下所示:
[supervisor]
username=sales
secret=ASUPERSECRETPASSWORD
type=peer
.....
context=supervisor
mailbox=supervisor
[sales]
username=sales
secret=ASUPERSECRETPASSWORD
type=peer
.....
context=sales
mailbox=sales
Run Code Online (Sandbox Code Playgroud)
为了让主管拥有他已经拥有的相同特权,并且销售人员能够将电话转接给他,你有什么建议
小智 5
当您转接电话时,asterisk 会在您当前的上下文中搜索分机,因此如果有人使用“销售”呼叫,他将只能转接到分机 41XX,如果您想让他转接到分机 40XX 那么您应该添加 40XX销售环境,例如:
[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup
exten => _40XX,1,Dial(SIP/${EXTEN},40,TtRr)
Run Code Online (Sandbox Code Playgroud)
(您还可以在销售上下文中包含主管上下文)
如果您想阻止销售用户呼叫主管用户,反之亦然,但仍允许他们相互转接呼叫,那么您可以通过以下方式解决:
创建一个仅指定用于呼叫转接的新上下文,您在其中提供转接呼叫时应可达的分机,例如:
[call-transfer]
exten => _40XX,1,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,1,Dial(SIP/${EXTEN},40,TtRr)
Run Code Online (Sandbox Code Playgroud)
然后设置 __TRANSFER_CONTEXT=call-transfer:
[supervisor]
include => from-internal
exten => _40XX,1,Answer
exten => _40XX,n,Set(__TRANSFER_CONTEXT=call-transfer)
exten => _40XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _40XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _40XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _40XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _40XX,n,Hangup
[sales]
include => out-trunksip
exten => _41XX,1,Answer
exten => _40XX,n,Set(__TRANSFER_CONTEXT=call-transfer)
exten => _41XX,n,Set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d.%H.%M.%S)})
exten => _41XX,n,Set(CALLEDNUMBER=${EXTEN})
exten => _41XX,n,MixMonitor(/tmp/Para_${CALLEDNUMBER}-${calltime}-De_${CALLERID(num)}.wav)
exten => _41XX,n,Dial(SIP/${EXTEN},40,TtRr)
exten => _41XX,n,Hangup
Run Code Online (Sandbox Code Playgroud)
我只是不确定 __TRANSFER_CONTEXT 是否仍然存在于新的星号版本中:)
归档时间: |
|
查看次数: |
20784 次 |
最近记录: |