我在我的CentOS 6系统中有2张Dahdi卡和2个PRI。
我无法在 .call 文件中设置CallerId的第二个PRI。我可以将呼叫者ID设置在转发上的pri的含义,而不是在转发上设置其呼叫者ID,而不是显示上卡pri飞行员的较低级别(当我将其设置为callerID上的callerId darbible时,它应该显示较低的pri号码)。如果我翻转pri,则在上pri上执行相同的呼叫者ID,因此似乎有某种配置。
我似乎无法弄清楚我在做什么配置错误。
system.conf
# Span 1: WCT1/0 "Wildcard TE121 Card 0" (MASTER) CCS/HDB3/CRC4 ClockSource
span=1,1,0,ccs,hdb3,crc4
# termtype: te
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31
# Span 2: WCT1/1 "Wildcard TE121 Card 1"
span=2,2,0,ccs,hdb3,crc4
# termtype: te
bchan=32-46,48-62
dchan=47
echocanceller=mg2,32-46,48-62
# Global data
loadzone = us
defaultzone = us
chan_dahdi.conf
[channels]
context=from-pstn-old
usecallerid=yes
callwaiting=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
pridialplan=unknown
prilocaldialplan=unknown
switchtype=euroisdn
language = yes
relaxdtmf = yes
dtmfmode=auto
transfer=yes
;Span 1:
context=from-pstn
group=0
callgroup=1
pickupgroup=1
echocancel=yes
signalling=pri_cpe
channel => 1-15,17-31,32-46,48-62
context=default
usecallerid=yes
callerid=asreceived
hanguponpolarityswitch=yes
answeronpolarityswitch=yes
cidstart=polarity_IN
cidsignalling=dtmf
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no
useincomingcalleridondahditransfer=yes
busydetect=yes
busycount=2
我的电话文件
Channel: DAHDI/g0/09*********
MaxRetries: 0
WaitTime: 30
Context: outgoing
Extension: ******* //my did
Callerid: 0********** //my did with area code
我的extensions.conf
太长了,所以我发布了相关部分
same => n,Set(CALLERID(all)=0**0${DID})
same => n,dial(DAHDI/g0/0${NUMBER},20,mtM(ANSWEREDED))
其中 ${DID}
和$ {number}是动态变量。任何帮助将不胜感激。
谢谢
好吧,让我们从第一件事开始 - 您在chan_dahdi.conf文件中有多个错误。例如:
hanguponpolarityswitch=yes
answeronpolarityswitch=yes
cidstart=polarity_IN
cidsignalling=dtmf
使用PRI电路时不需要。PRI电路是完全数字的,极性变化用于FXO/FXS信号传导。
现在,关于您的问题,我认为您的呼叫文件看起来像这样:
Channel: SIP/g1/some_number
Extension: Number_B
Priority: Your Priority
Conext: Some_Context
CallerID: Some_CallerID
现在,这里的诀窍是通过拨号程序设置number_b的呼叫者ID,因为呼叫文件中的callerID用于"频道"参数。一旦呼叫在星号服务器内部,number_b将作为呼叫者ID接收到频道中的数字,这是完全合理的。如果要设置其他数字,则需要使用以下内容:
exten => _X.,n,Set(CALLERID(num)=some_callerid)
为了更改number_b腿上的呼叫者ID。
***新加法:
从dahdi.conf删除以下行:
useincomingcalleridondahditransfer=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
重新加载星号,然后重试。