DAHDI und HFC4S/8S-Karten
Gute Nachrichten, Freunde!
Für ein neues Kunden-Projekt soll ich eine BeroNet BN8S0 von mISDN weg "auf irgendetwas anderes, besseres" bringen (Analog- und ISDN-Datencalls wurden wohl nie sauber übertragen).
Nun gut, da ich mittlerweile äusserst glücklich mit meiner gepatchten HFC-S Lösung bin, dachte ich mir, ich könnte es ja mal mit angehen, wie es denn mittlerweile mit DAHDI und HFCxS-Karten ausschaut.
Stable/Offiziell gibt es noch nix, aber - oh Wunder - im SVN-Trunk von DAHDI tauchen die Karten bereits auf. Flux meine BeroNet BN4S0 rausgekramt. getestet, geht! Und nach ein bisschen Recherche und übersetzen klappte dann auch der NT-PTMP Modus! :ziggi:
An dieser Stelle ein dickes Dankeschön an die spanischen Kollegen für die Hinweise und Anregungen!
(siehe hierzu
http://odicha.wordpress.com/2009/03/12/dahdi-para-hfc-4s-y-hfc-8s-mision-cumplida/ und
http://groups.google.com/group/asterisk-es/browse_thread/thread/102ed8847ef49e6b )
Lange Rede, kurzer Sinn, hier das HowTo, welches ich Euch nicht vorenthalten will:
Erst einmal den Trunk von
dahdi-linux holen
Code:
svn co http://svn.digium.com/svn/dahdi/linux/trunk/
und wie gehabt kompilieren (zur Vorsicht habe ich die stable
dahdi-tools (hier v2.2.0) auch nochmal neu gebaut).
Dann noch den Patch für
chan_dahdi.c anbringen (hier asterisk-1.6.0.15)
Code:
--- channels/chan_dahdi.c 2009-09-29 09:53:36.000000000 +0200
+++ channels/chan_dahdi.patched 2009-09-29 09:43:07.000000000 +0200
@@ -14364,7 +14364,8 @@
confp->chan.sig = SIG_BRI_PTMP;
confp->pri.nodetype = PRI_CPE;
} else if (!strcasecmp(v->value, "bri_net_ptmp")) {
- ast_log(LOG_WARNING, "How cool would it be if someone implemented this mode! For now, sucks for you. (line %d)\n", v->lineno);
+ confp->chan.sig = SIG_BRI_PTMP;
+ confp->pri.nodetype = PRI_NETWORK;
} else if (!strcasecmp(v->value, "gr303fxoks_net")) {
confp->chan.sig = SIG_GR303FXOKS;
confp->pri.nodetype = PRI_NETWORK;
und * neu kompilieren (auch hier habe ich zur Vorsicht die stable
asterisk-addons neu gebaut (hier v1.6.0.3)).
Das wars dann eigentlich schon.
Der Vollständigkeit halber hier aber noch die entspr. configs...
/etc/dahdi/modules :
Code:
dahdi
wcb4xxp
dahdi_dummy
dahdi_transcode
# wenn mit oslec integriert:
# dahdi_echocan_oslec
/etc/dahdi/system.conf :
Code:
span=1,1,0,ccs,ami
bchan=1-2
hardhdlc=3
span=2,1,0,ccs,ami
bchan=4,5
hardhdlc=6
span=3,1,0,ccs,ami
bchan=7,8
hardhdlc=9
span=4,1,0,ccs,ami
bchan=10,11
hardhdlc=12
loadzone = de
defaultzone=de
; wenn mit oslec integriert:
; echocanceller=oslec,1-2,4-5,7-8,10-11
/etc/asterisk/chan_dahdi.conf :
Code:
[trunkgroups]
[channels]
language=de
switchtype=euroisdn
facilityenable = yes
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=yes
;rxgain=2.0
;txgain=3.0
callgroup=1
pickupgroup=1
immediate=no
mohinterpret=default
mohsuggest=default
callerid=asreceived
internationalprefix = 00
nationalprefix = 0
localprefix = VORWAHL_MIT_NULL (z.B. 030)
privateprefix = KOMPLETTE_NUMMER (z.B. 030123456)
unknownprefix =
; --------------------------------------
; p2p TE mode => bri_cpe
; p2mp TE mode => bri_cpe_ptmp
; p2p NT mode => bri_net
; p2mp NT mode => bri_net_ptmp
pridialplan = local
prilocaldialplan = dynamic
overlapdial=yes
group = 1
context=TE1
signalling = bri_cpe_ptmp
channel => 1-2
group = 2
context=TE2
signalling = bri_cpe_ptmp
channel => 4-5
group = 3
context=NT1
signalling = bri_net_ptmp
channel => 7-8
group = 4
context=NT2
signalling = bri_net_ptmp
channel => 10-11
Der Wählplan ist dann DAHDI-üblich, daher lasse ich Beispiele an dieser Stelle unter den Tisch fallen
Viel Spaß!
PS: Habe natürlich auch versucht, den NT-PTMP Patch am
zaphfc-Patch anzuwenden, was aber nicht zu funktionieren scheint. Die Meldung, dass NT-PTMP derzeit nicht implementiert wäre, ist natürlich durch den o.g. Patch fott, aber scheinbar fehlt noch entspr. Code in der
zaphfc-Geschichte... Aber da simwa ja guter Dinge, woll?