我的centos 6系统中有2张DAHDI卡和2张pri。
我无法在 .call 文件中为第二个pri设置callerid。连接到上层卡的pri的手段我能够在转发时设置其来电显示,但不能显示上层卡pri飞行员DID号码的下方(它应该显示较低的pri号码,因为我在呼叫文件中设置了CallerId变量如果我翻转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}是动态变量。
任何帮助将不胜感激。
由于
答案 0 :(得分:0)
好的,让我们从第一件事开始 - 你的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用于“Channel”参数。一旦呼叫在Asterisk服务器内,Number_B将接收频道中的号码作为呼叫者ID,这是完全合理的。如果要设置不同的数字,则需要使用以下内容:
exten => _X.,n,Set(CALLERID(num)=some_callerid)
为了更改Number_B分支上的来电显示。
***新增加:
从dahdi.conf中删除以下行:
useincomingcalleridondahditransfer=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
重新加载Asterisk并重试。