2015-07-02 9 views
10

में accoding pri बंदरगाह के लिए समूह का नाम हो रही है मैं sagoma 8 बंदरगाह कार्ड मेरे chan_dahdi.conf उपयोग कर रहा हूँ कॉन्फ़िगर करने के लिए बंदरगाहोंतारांकन

;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 

हैं मेरे समस्या कैसे मैं वर्तमान बुला बंदरगाह के समूह नंबर डायनामिक प्राप्त कर सकते है मेरे डायलप्लान में

उदाहरण के लिए यदि pri जो बंदरगाह 1 में है करने के लिए उपयोगकर्ता कॉल फिर मेरी डायल बयान

exten => _X.,n,dial(DAHDI/g1/${NUMBER}) 

है और दूसरा pri बंदरगाह पर कॉल 2

exten => _X.,n,dial(DAHDI/g2/${NUMBER}) 

G3, जी -4, G5 के लिए आदि कि अन्य बंदरगाहों के लिए उस विशेष डीआईडी ​​

कॉल करने पर मैं जो कर रहा हूं, मैं वर्तमान में एक ग्रुप वेरिएबल बनाता हूं जो डीआईडी ​​रेंज

012 की जांच करके समूह को स्टोर करता है
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})}) 

और अन्य समूहों के लिए आदि, डायलिंग के लिए मैं

exten => _X.,n,dial(DAHDI/${GROUP}/${NUMBER}) 

करते लेकिन मैं इसके बारे में सोच एक अच्छा विचार है क्योंकि मैं 8 पोर्ट तो मैं 8 लाइनों लिखने के लिए समूह का निर्धारण और से डायल करने के लिए है न डीआईडी ​​से मेल खाते हैं। तो क्या मेरे डायलप्लान में समूह को गतिशील रूप से प्राप्त करने का कोई तरीका है, यदि कोई चैनल वैरिएबल है जिससे मैं वर्तमान इनकमिंग पोर्ट कॉल का समूह प्राप्त कर सकता हूं?

उत्तर

6

जैसा कि मुझे पता है कि उस डीएएचडीआई समूहों के लिए ऐसे कोई चर नहीं हैं।

अपने chan_dahdi.conf में आप एक ही विकल्प "संदर्भ = से-पीएसटीएन" का उपयोग करते हैं, ताकि आप आसानी से समूह 1 ("संदर्भ = pri-g2" समूह 2 के लिए "संदर्भ = pri-g1" सेट कर सकें।) और फिर उस तरह dialplan कुछ में परिभाषित:

[pri-main] 
exten => s,1,NoOp(Main routine) 

[pri-g1] 
exten => s,1,Set(PRI_GROUP=1) 
exten => s,n,GoTo(pri-main,s,1) 

[pri-g2] 
exten => s,1,Set(PRI_GROUP=2) 
exten => s,n,GoTo(pri-main,s,1) 

... 

[pri-g8] 
exten => s,1,Set(PRI_GROUP=8) 
exten => s,n,GoTo(pri-main,s,1) 

यह अगर वहाँ चैनल चर थे, लेकिन तेजी से तारा की के रूप में स्थापित करने के लिए के रूप में सुविधाजनक नहीं है।

बस ध्यान दें कि [pri-g #] exten "s" नहीं हो सकता है, लेकिन डीआईडी ​​संख्या या अन्यथा smth - लेकिन आप इसे जल्द ही सीएलआई त्रुटियों में देखेंगे।

0

अवसर करके पाया तुम सिर्फ क्या चाहते हैं - आप ऐसा chan_dahdi.conf में चर सेट कर सकते हैं: इस के बाद

[channels] 
... 
group=1 
setvar=__GROUP=1 
... 

group=2 
setvar=__GROUP=2 
... 

(and so on) 

आप प्रश्न से अपने dialplan उपयोग कर सकते हैं।

संबंधित मुद्दे