【发布时间】:2015-07-01 16:11:29
【问题描述】:
(我是 Asterisk 的新手。)为什么在您进行有人值守转移时,Asterisk 会在电话上显示 asterisk?
这是场景:
- 我已经在我的星号服务器上注册了 2 部 SNOM 300 电话和一个软件 Switchboard 应用程序
- 当我在电话 1 上拨打分机 1499 时,总机上响铃
- 我接听电话,并将其转接到电话 2。此时总机正在执行有人值守转接 (*2)
- 在 Asterisk 上,呼叫被放入队列,但当电话 2 响铃时,它只显示
asterisk而不是电话 1 的分机号码
这就是我所做的,看看发生了什么:
当调用进来时,它进入上下文并执行这个
exten => _1499,1,Set(CALLERID(name)=${CALLERID(num)})
exten => _1499,n,NoOp(#################### ${CALLERID(num)} ${CALLERID(name)})
exten => _1499,n,Queue(swb_q,tTkK)
在星号上显示 CallerID 为 1904,这是正确的。
当调用被转移时,它会进入 TRANSFER 上下文并执行此代码
exten => _19XX,1,Gosub(ENDRECORD,s,1)
exten => _19XX,n,NoOp(#################### ${CALLERID(num)} ${CALLERID(name)})
exten => _19XX,n,Set(_TransToExt=${EXTEN})
exten => _19XX,n,NoOp(IN TRANSFER ${TransToExt})
exten => _19XX,n,Gosub(RECORDING,s,1)
exten => _19XX,n,Dial(Sip/${EXTEN},40,tT,kK)
但不是CALLERID(num) 和(name) 变量是空白的。现在我确定这是因为我在不同的分机或频道或其他东西上。
如何保留来电的来电显示,并在总机转移呼叫时,将该 CID 传递给电话 2?
任何帮助将不胜感激。谷歌有很多关于转移的东西,但我很难找到接近这个的东西。
我看过这个 retain original caller id on Call transfer on asterisk 但我不确定它是否有帮助,因为答案中没有很多细节。
【问题讨论】: