Hardware-Bridging bei Acer-HFCs

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,844
Punkte für Reaktionen
0
Punkte
36
Hallo Alle,

ich habe mich schon seit einiger Zeit gefragt ob ein Hardware-Bridging auch bei preiswerten HFC Karten empfehlenswert ist oder ob es besser die SW machen sollte.

Wie seht ihr das ? in der misdn-init.conf ist auch eine entsprechende option hinzugekommen.

@crich

Überschreibt ein setzen des Software-Bridging in der misdn-init.conf die Einstellungen der misdn.conf und dessen HW/SW Bridging ?

Beste Grüße,

Stefan
 
Ich mache aus der Anfrage nach "INFO" mal eine Anfrage wg. Problems zum selben Thema :

Leider kann ich das Problem weder reproduzieren noch nachvollziehen via verbose, trace o.ä.
Das ganze tritt seit dem Update auf den neuen Kernel 2.6.15 (Signatur!) und den Rücksprung auf mISDN RC27 auf.

Eingehende Anrufer klagen über schlechte Verbindung in Form von "fehlenden Gesprächsfetzen".

Nun habe ich jedes Bridging über die SW fahren lassen und habe gehofft damit sicherer zu gehen, schliesslich ist mein * sehr ausreichend dimensioniert (3Ghz,512MB) und sollte ein solches Bridging auch parallel schaffen.

Kann man eine der Varianten (SW/HW) empfehlen - und wenn ja - warum ?

Eingesetzte Karten : 2 x Acer Surf 128 PCI - keine Konflikte, keine irqs geteilt

Ich lege einfach mal meine misdn Karten offen um sicher zu gehen das ich bei der kürzlichen Masteränderung auf 0.3.0 keine Fehler gemacht habe - die ggf. jemand anderes sieht ! Reinschauen wäre nett ;)

misdn-init.conf
Code:
card=1,hfcpci
card=2,hfcpci
te_ptp=1,2
poll=128
#pcm=1,1
dsp_options=0
debug=0

Eingehende Anrufe werden ohne jedes EC geführt, wie empfohlen.

misdn.conf
Code:
; CHAN_MISDN Konfigurationsdatei

; Genereller Teil der Konfiguration

[general]
misdn_init=/etc/misdn-init.conf                         ; für den ptp Modus der Pfad zur init-Datei
debug=0                                                 ; Debug Modi : 0,1,2,3,4
tracefile=/var/log/asterisk/misdn/misdn.trace           ; Der zusammenfassende TRACE
bridging=no                                             ; yes/no für misdn_dsp Hardware-Bridging
stop_tone_after_first_digit=yes                         ;
append_digits2exten=yes                                 ; akzeptiere Überlange Nummern (MSNs) zur Base zB statt xx -> xxx

; Kryptografie-Teil

dynamic_crypt=no                                        ; yes/no für dynamische Kryptografie
; crypt_prefix=                                         ; der erwuenschte prefix fue das dyn.krypt (Standard = nix)
; crypt_keys=testpasswort                               ; der schluessel zum krypten im waehlplan

; DEFAULT-Teil, dies gilt fuer alle Waehlgruppen erst einmal sofern es nicht spaeter wieder ueberschrieben wird

[default]
context=isdn                                            ; der zugehoerende Kontext im Waehlplan
language=de                                             ; Die gewuenschte Verarbeitungssprache der indications.conf
musicclass=default                                      ; MOH Klasse
senddtmf=yes                                            ; DTMF Toene selber produzieren (Standard = yes)
nationalprefix=0                                        ; Die Prefixe werden in der OAD vergeben !
internationalprefix=00                                  ; s.o.
rxgain=-1                                               ; Die eingehende Lautstaerke von 8 bis -8
txgain=-1                                               ; Die ausgehende Lautstaerke von 8 bis -8
te_choose_channel=no                                    ; Zwangswahl des B-Kanals um ominoesen Fehlermeldungen zu begegnen (NL,CH)
pmp_l1_check=yes                                        ; Fuer PMP Kanaele und einen Gruppenruf dieses Anschlusstypes
need_more_infos=no                                      ; Sende Setup_Acknowledge anstatt PROCEEDING bei eingehenden Gespraechen (PTP)
method=standard                                         ; Waehle Standard=den ersten freien oder round_robin=einen zufallskanal
dialplan=0                                              ; ausgehende Nummer
localdialplan=0                                         ; caller-id
cpndialplan=0                                           ; CPN = Nummerbereich des verbundenen Teilnehmers
early_bconnect=yes                                      ; Bei Problemen im Verbindung-Fortschritt auf no setzen ?!
incoming_early_audio=no                                 ; Sende Toene bei Verbindungsauf- und Abbau bei seltsamen Telcos ?!
always_immediate=no                                     ; Springe IMMER zur S extension, egal wer anruft (eingehend)
immediate=no                                            ; Springe zur S extension wenn keine "MSN" gewaehlt wurde (eingehend)
hold_allowed=no                                         ; Aktiviere die ISDN "Tools" wie Hold and Retrieve (Std=no)
callgroup=2                                             ; ANrufergruppe
pickupgroup=2                                           ; Gruppe um das Abheben zu ermoeglichen
presentation=-1                                         ; Die CLID/CLIR Einstellungen
screen=-1                                               ; Schaue ins Default misdn.conf fuer eine genauere Erklaerung
echocancel=no                                           ; 0,32,64,128,256,yes(128),no(0) (nur fuer ausgehende anrufe!)
echocancelwhenbridged=no                                ; Bei einem Bridge zwischen misdn und misdn tritt dies hier in Kraft
echotraining=no                                         ; Trainiere Echos, 0(aus),yes(2000) oder eine Zahl mit 0.125ms
jitterbuffer=4000                                       ; MISDNs Jitterbuffer
; jitterbuffer_upper_threshold=                         ; Ergaenzen !
hdlc=no                                                 ; misdn und andere Anwendungen bridgen ?!

; Der AUSgehende Ruf

[isdn_raus]                                             ; AUSGEHEND
echocancel=64
echocancelwhenbridged=64
echotraining=no
language=de
context=isdn_ausgehend
senddtmf=yes
; msns=
ports=1,2

[fax]
echocancel=no
echocancelwhenbridged=no
echotraining=no
language=de
context=faxgeraet
senddtmf=no
jitterbuffer=4000
msns=24
ports=1,2

[isdn]                                                  ; EINGEHEND
echocancel=no
echocancelwhenbridged=no
echotraining=no
language=de
senddtmf=yes
context=isdn
msns=*
ports=1,2
Beste Grüße,

Stefan
 
Bei den Single Karten kannst du eh kein HW Bridging machen.. die haben zwar chip mässig support dafür, aber die Karten haben keinen Stecker um sie miteinander zu koppeln, und der Treiber unterstützt das auch nicht.

Also musst du mit den Karten Software Bridging machen. Wenn du mit den Single Karten bridging=yes in misdn.conf verwendest, dann wird versucht das Software Bridging in den Kernel zu verlagern, was das Delay etwas mindern sollte und damit zu etwas bessderer Qualität führen sollte... allerdings habe ich das Kernel Software Bridging nie intensiv getestet.

In deiner Konfig sieht es ja so aus als ob du kein Bridging verwendest.. vielleicht solltest du das mal ausprobieren.
 
Ich habe das angesprochene HW Bridging (was ja eigentlich ein SW bridge ist ;-) ) mal aktiviert , ich halt Dich auf dem laufenden.

Was ist eigentlich mit dem Jittberbuffer, ich hab´ gestern abend die Asterisk Sources durchstöbert und herausgefunden das * mit nem Wert von 500 arbeitet - mISDN mit 4000 - ich frag mal ganz doof : Warum ?

Soweit ich das mitbekommen habe (korrigiere mich bitte!) ist ein höherer Jitter = höheres Delay..

Beste Grüße,

Stefan

EDIT : Die Option : jitterbuffer_uppertreshold (o.ä.) ist nicht in den Docs verzeichnet - wenigstens nicht definiert, was steuert sie ?

Danke für Deinen Support !
 
Die Option jitterbuffer sorgt für kein Delay (eher gesagt für nicht spürbares delay), sie definiert nur wieviele Daten in einem grossen Chunk maximal gesichter werden, d.h. es ist safe diese option gross zu definieren.

Die option jitterbuffer_upperthreshold hingegen definiert wieviele Daten zwischengespeichert werden bevor sie gesendet werden. D.h. diese Option eignet sich um das Delay zu erhöhen. Das kann man leicht ausprobieren indem man diese Option mal auf 8000 = 1 Sekunde setzt (jitterbuffer muss grösser sein als upper_threshold) und ein Telefonat führt, dann hört man das delay sehr gut... wenn also probleme mit Packet - Loss z.b. bei schlechten Internetverbindungen auftreten, dann kann man diese Option setzen, ich schlage vor hier etwas zwischen 0 und 1000 zu setzen.

Im Normalfall ist der upperthreshold aber auf 0 zu setzen.
 
Danke, herumspielen möchte ich damit nur ungerne ;)

Aber nochmals zurück zum Thema :

in der misdn-init.conf findet man "dsp_options=x" - in der misdn.conf (general)bridging=x und (default)hdlc=x

Welcher Parameter der beiden ersten Bridg"er" ist ausschlaggebend(er) ?

Und wofür ist hdlc ? Ich konnte hier nur "mISDN und andere Anwdg. bridgen" in den Dokus finden..

Mal offtopic -> kann man eigentlich bei den Dokus zu mISDN mit Deiner Absprache mithelfen, ich würde gerne mithelfen es etwas ausführlicher zu dokumentieren, gefragt habe ich ja nun schon viel - besser wäre es das mal - mit deinem segen - alles zusammenzufassen..

So, Gut´ Nacht!
 
der Parameter in der misdn.conf ist allgemeiner. D.h. dort kann man das ganze disablen und enablen.

der dsp_options parameter wird nur dann berücksichtigt wenn chan_misdn ein bridging anfordert. es macht auch nur bei den multi karten sinn den dsp_options parameter zu nutzen.

die hdlc option besagt ob im falle eines daten anrufes, also z.b. einwahl per ppp der hdlc controller angeschaltet werden soll. damit kann man z.b. mit app_pipe einen pppd starten und sich in seinen asterisk von draussen per isdn einwählen, oder man kann datenrufe zwischen mISDN und zaptel Karten bridgen.

Es wäre wirklich nett wenn ich support bei der dokumentation bekäme. Ich habe die domain www.misdn.org gebunkert, wenn ich mal etwas zeit hab werd ich dort ein wiki aufsetzen. derweil kannst du mir gerne updates für das README oder dergleichen senden.
 
Siehe PM.

Ich habe , wie gesagt das bridging nun mal an, ich muss erst schauen wie es im wahren Leben läuft ;-)

--offtopic--
Eine Frage noch - senddtmf ist default = no ?

So steht es in der misdn_config.c des chan_misdn, obwohl die doku = yes sagt.

Was genau meint senddtmf - die doku lässt sich mit "mISDN produziert selber dtmf töne" dazu aus..
Und noch eines - wenn es das überhaupt gibt (diese möglichkeit) : Welchen DTMF Mode nutzt mISDN - rfc2833 ?

Beste Grüße,

Stefan
 
crich schrieb:
...
die hdlc option besagt ob im falle eines daten anrufes, also z.b. einwahl per ppp der hdlc controller angeschaltet werden soll. damit kann man z.b. mit app_pipe einen pppd starten und sich in seinen asterisk von draussen per isdn einwählen, oder man kann datenrufe zwischen mISDN und zaptel Karten bridgen.
...

Macht der hdlc bei FAX -Empfang, -Versand sinn?
 
senddtmf meint genau das, also wenn ein Info DTMF von z.b .einem Sip Fon kommt, dann wird ein echter DTMF Ton von chan_misdn produziert. Leider wird bei asterisk nicht zwischen signalisiertem und wirklich versendetem DTMF ton unterschieden.

Ich werde den default auf yes setzen, denn selbst wenn ein dtmf ton tatsächlich als ton kommt, schadet es nicht diesen zu generieren und einfach drüber zu spielen.

hdlc macht bei Faxen keinen sinn!
 
Ich frag nur so doof (senddtmf) da ich hier starke signale hatte die sich selbst generierten (talkback)...anderer Thread.

Danke!
 
@crich

crich schrieb:
Bei den Single Karten kannst du eh kein HW Bridging machen.. die haben zwar chip mässig support dafür, aber die Karten haben keinen Stecker um sie miteinander zu koppeln...

Dein Beitrag liegt zwar schon ein paar Tage zurück, aber es gab sie schon damals. Ich habe 2 Single-Chip Karten (Digi DataFire Micro V), welche einen "Stecker" für den PCM-Bus haben. Ich würde hier natürlich auch gern ein HW-Bridging realisieren.

crich schrieb:
...und der Treiber unterstützt das auch nicht.

...iss wohl so. Ich war, nach einem Blick in die Sourcen von mISDN, bei der Konfiguration der Karten anscheinend auch schon auf dem richtigen Weg (protocol=0x2,0x52), jedoch wollte der hfcpci-Treiber den Parameter "pcm=1" nicht kennen.
Schade!
Da ich an einem Analog-Port meiner Gigaset-Basis ein Fax brauche, muss ich mich zur Zeit wohl mit dem IRQ-pollenden Zaptel zufrieden geben. Mit dem Florz-Patch und meinen Karten, ist dort zumindest eine synchrone Taktung der Karten möglich.

ciao
ZicZac
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.