Sto usando sagoma 8 carta di porto mio chan_dahdi.conf
per configurare le porte sonoottenere il nome del gruppo al porto pri accoding a asterisco
;autogenerated by /usr/sbin/wancfg_dahdi do not hand edit
;autogenrated on 2015-06-12
;Dahdi Channels Configurations
;For detailed Dahdi options, view /etc/asterisk/chan_dahdi.conf.bak
[trunkgroups]
[channels]
context=default
usecallerid=yes
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
;Sangoma A108 port 1 [slot:4 bus:2 span:1] <wanpipe1>
switchtype=euroisdn
context=from-pstn
group=1
echocancel=yes
signalling=pri_cpe
channel =>1-15,17-31
;Sangoma A108 port 2 [slot:4 bus:2 span:2] <wanpipe2>
switchtype=euroisdn
context=from-pstn
group=2
echocancel=yes
signalling=pri_cpe
channel =>32-46,48-62
;Sangoma A108 port 3 [slot:4 bus:2 span:3] <wanpipe3>
switchtype=euroisdn
context=from-pstn
group=3
echocancel=yes
signalling=pri_cpe
channel =>63-77,79-93
;Sangoma A108 port 4 [slot:4 bus:2 span:4] <wanpipe4>
switchtype=euroisdn
context=from-pstn
group=4
echocancel=yes
signalling=pri_cpe
channel =>94-108,110-124
;Sangoma A108 port 5 [slot:4 bus:2 span:5] <wanpipe5>
switchtype=euroisdn
context=from-pstn
group=5
echocancel=yes
signalling=pri_cpe
channel =>125-139,141-155
;Sangoma A108 port 6 [slot:4 bus:2 span:6] <wanpipe6>
switchtype=euroisdn
context=from-pstn
group=6
echocancel=yes
signalling=pri_cpe
channel =>156-170,172-186
;Sangoma A108 port 7 [slot:4 bus:2 span:7] <wanpipe7>
switchtype=euroisdn
context=from-pstn
group=7
echocancel=yes
signalling=pri_cpe
channel =>187-201,203-217
;Sangoma A108 port 8 [slot:4 bus:2 span:8] <wanpipe8>
switchtype=euroisdn
context=from-pstn
group=8
echocancel=yes
signalling=pri_cpe
channel =>218-232,234-248
Il mio problema è come posso ottenere il numero del gruppo di porta chiamando corrente in modo dinamico nel mio dialplan.
Per esempio, se chiamata dell'utente al PRI, che si trova a Port 1, quindi la mia affermazione quadrante è
exten => _X.,n,dial(DAHDI/g1/${NUMBER})
E per la chiamata in seconda porta PRI 2
exten => _X.,n,dial(DAHDI/g2/${NUMBER})
G3, G4, G5 ecc. per altre porte al fine di impostare quel particolare DID
Correntemente quello che sto facendo quando arriva la chiamata creo una variabile GROUP che memorizza il gruppo controllando l'intervallo DID
same => n,Set(__GROUP=${IF($[ ${EXTEN} >= ${DIDMINPORT1}]? ${IF($[ ${EXTEN} <= ${DIDMAXPORT1}]?g1:g1)} :g1)})
same => n,Set(__GROUP=${IF($[ ${EXTEN} >= ${DIDMINPORT2}]? ${IF($[ ${EXTEN} <= ${DIDMINPORT2}]?g2: ${GROUP})} : ${GROUP})})
e ecc per altri gruppi, per la composizione che faccio
exten => _X.,n,dial(DAHDI/${GROUP}/${NUMBER})
Ma non penso proprio una buona idea, perché ho a 8 porte così devo scrivere 8 linee per determinare il gruppo e comporre facendo corrispondere il DID.So c'è un modo per ottenere dinamicamente un gruppo nel mio dialplan significa se esiste una variabile di canale da cui posso ottenere il gruppo di chiamate in entrata attuali?