Anderer Echo Canceller (OSLEC) im mISDN möglich?

Wie jetz 1.2 ? chan_misdn hat doch nix mit der misdn.conf von asterisk zu tun.
Oder muss das in die misdn.conf von misdn aufgenommen werden ?
Oder worauf bezieht sich deine Angabe der Versionsnummer ?

Gruss,

Jörg
 
Das habe ich mich auch gefragt, weil ich dieselbe Fehlermeldung hatte.
Auf misdn.org kannst du nachlesen, dass es diese Option erst in mISDN 1.2 gibt.

Gruss,
Sachmet.
 
wenn chan_misdn kompiliert, wird vorher geprüft ob mISDN in Version 1.2.X oder 1.1.X vorliegt, und dann entsprechend mit oder ohne der pipeline Option (und wahrscheinlich noch paar andern) kompiliert.

Also:

mISDN >= 1.2 (bisher nur aus git) pipeline=olsec

mISDN <= 1.1.X (aktuelle RC´s) echocancel=yes

@Sachmet
Asterisk 1.2 oder 1.4 ? (Obwohl es eigentlich kein Unterschied machen dürfte)
Und ist das Echo nach der ersten sek. dauerhaft weg? Oder kommt es teileweise wieder, wenn Du länger als 1-2min redest?
 
1.4.11, siehe meine Signatur.

Ob das Echo wiederkommt, muss ich mich mal achten. Ich telefoniere selten mehr als eine Minute am Stück :cool:

Gruss,
Sachmet.
 
Schlechtere oslec performance mit mISDN <-> zaphfc

Hallo zusammen!

David Rowe ist heute nach etwas Testen mit mISDN aufgefallen, daß die ALAW-Konversionsfunktionen von mISDN wohl einen Schuß haben müssen. (Nicht so besonders bijektiv... :) )

Ich habe mal die Asterisk-alaw / ulaw-Konverter in mISDN eingebaut. Klingt bei mir deutlich netter.

Patch hier (gegen mISDN 1.1.5 und enthält auch meinen Volume-Patch!):

http://peter.schlaile.de/mISDN/mISDN_alaw_patch

Feedback selbstverständlich erwünscht! (Ich habe eigentlich gar kein Analog-Equipment, mit dem man das realistisch testen könnte...)

Viele Grüße,
Peter

UPDATE: Rowe hat jetzt meinen Patch getestet. Es wird besser (=weniger Rauschen), aber was noch deutlicher wird: mISDN hat ein ernsthaftes Latenzproblem bei der Paketverarbeitung, was das (nach meinem Patch) verbleibende Restecho erklärt.

Jetzt muß nur noch jemand rausfinden, warum mISDN so lahm ist... :)

UPDATE 2:
Ansonsten finden sich noch ein paar nähere Infos auf http://peter.schlaile.de/mISDN zum Thema, warum OSLEC lange Latenzen nicht mag. Hilfe stets willkommen!
 
Zuletzt bearbeitet:
@Peter

Hat sich Andreas Eversberg eigentlich mal zu den Patches und zu dem Latenzproblem geäußert?

p.s.
Den poll/dsp_poll auf 64 zu stellen hat bei mir auf jedem Fall noch Verbesserung gebracht.
 
Latenzen

@wildzero: ja, das mit dem poll=64 und dsp_poll=64 hätte ich vielleicht auch noch erwähnen sollen. Das bringt in der Tat etwas. Allerdings ist und bleibt die Signalverarbeitung lahm.

Andreas kämpft sich gerade durch meinen ALAW-Patch. Wenn er das überlebt hat, nerve ich ihn nochmal wegen dem Latenzproblem. (David wollte sich das auch nochmal anschauen.)

Viele Grüße,
Peter
 
Ich habs jetzt bei mir auch installiert, ich muss noch ein bisschen durchtesten, aber bis jetzt sieht es wirklich sehr sehr gut aus!!
Wenn ihr irgendwie das Delay Problem in den Griff bekommen würdet, dann wäre das natürlich die Lösung.

EDIT: Leider ist mir aufgefallen, dass das Echo nach 1-2 min wieder kommt! Aber ich bin mir sicher, dass ihr das noch in den Griff bekommt :)
 
Zuletzt bearbeitet:
@Peter

Andreas hat ja bereits deinen alaw-Patch im mISDN aufgenommen. Habt Ihr eventuell in der Zwischenzeit eine Idee wegen der Delaysache?

Ich habe durch Zufall nämlich gesehen das die BSD/m0n0wall basierte askozia-pbx auch OLSEC nutzt.
Aber ich bin mir nicht ganz sicher, ob OSLEC hier nur für Analog/Zaptel oder auch im isdn4bsd genutzt wird. Naja, zumindest funktioniert hier den ISDN-EC wunderbar, ob jetzt OSLEC oder i4b_echo_cancel.

Eventuell lohnt hier auch mal ein Blick in den dsp von isdn4bsd.

ISDN4BSD: http://www.turbocat.net/~hselasky/isdn4bsd/
askozia-pbx: http://askozia.com/pbx
 
schlaile schrieb:
habe mal einen Patch gegen den aktuellen GIT-Baum vom mISDN geschrieben.
Compiliert und ist ansonsten völlig ungetestet :)
http://peter.schlaile.de/mISDN/mISDN_oslec_patch
Wer es ausprobiert, möge Ergebnisse bitte posten.

Rückmeldung:
Aufgrund von manchen, dann aber massiven Echos (und teilweise heftigen Delays) bei einem Kunden (hfc-pci/te+hfc-pci/nt und Hicom dahinter), die nicht in den Griff zu bekommen waren, habe ich mal den Patch für den GIT-Baum gestetet.

Ergebnis:
Nahezu perfekt! Der Patch läuft jetzt seit Montag die ganze Woche hindurch, der Kunde ist wieder glücklich und sagt, dass "keine Echos mehr aufgetreten" wären, ebenso "keine Delays mehr". Bei meinen Zwischenfragen beim Kunden fiel mir ein ganz leichtes (nahezu unmerkliches) "Rauschen" auf, wie bei einer aktiven Rauschunterdrückung. Die CPU-Auslastung ist messbar, aber verschwindend gering (bei P4-3.2 GHz mit cpufreqd "ondemand" = 400MHz ohne Last)

Seit Dienstag habe ich den Patch auf meinem Epia 1GHz implementiert (hfc-usb/te) und dutzende Anrufe geführt (kommend und gehend)...keinerlei Auffälligkeiten.
Selbst meine Frau bemerkte, dass "die kleinen, ganz leisen Echos (bei gehenden Rufen) jetzt weg sind". Also ein hoher WAF-Faktor ;) für den OSLEC-Patch.

An dieser Stelle einen herzlichen Dank und fettes Lob an schlaile und natürlich David für Ihre Arbeiten!

Stehe gerne für weitere Tests zur Verfügung!
 
Wie geht das jetzt?

Hallo zusammen,

ich benutze einen Asterisk v1.2.24 mit mISDN 1.1.6 von der Beronet Seite (chan_misdn-0.3.1-rc35):
asterisk:~# dmesg | grep "ISDN Stack core"
Modular ISDN Stack core version (1_1_6) revision ($Revision: 1.40 $)
Ich habe 3 HFC-PCI Karten im System und habe auch die Echos, da ich aber noch sehr neu auf dem Gebiet Linux/Asterisk bin, würde ich gerne den hier erläuterten Echocanceler einsetzen. Jedoch kann ich nichts mit "gegen mISDN Baum kompilieren" anfangen. Meine Frage ist nun, ob hier jemand mir eine Kurzanleitung für einen Newbie kurz in Stichworten niederschreiben könnte.
Hat jemand den Patch schon mit mISDN1.1.6 getestet, geht es überhaupt?
Wenn nicht, wie kann ich dann mISDN1.1.5 stattdessen installieren, muss mISDN1.1.6 deinstalliert werden?
Ihr seht, dass ich sehr unwissend bin, sorry, aber ich bin gewillt es zu lernen, da mich dieses Thema sehr stark interessiert.

Vielen Dank im voraus.
Alex
 
Zuletzt bearbeitet:
above2m schrieb:
Ihr seht, dass ich sehr unwissend bin, sorry, aber ich bin gewillt es zu lernen, da mich dieses Thema sehr stark interessiert.
Tach,

dann lass es uns doch mal angehen...

für OSLEC/mISDN-1.2 (GIT) ("git" wird benötigt!):
Code:
# mkdir /tmp/oslec
# cd /tmp/oslec
# wget [url]http://peter.schlaile.de/mISDN/mISDN_oslec_patch[/url]
# git-clone git://git.misdn.org/git/mISDN.git/
# git-clone git://git.misdn.org/git/mISDNuser.git/
# ln -s mISDN mISDN.current-git # [b]war bei mir notwendig[/b]
# cd mISDN
# patch -p0 < ../mISDN_oslec_patch
# make install
# cd ../mISDNuser
# make install
- mISDN-Kernel-Module entladen
- pipeline=oslec in die [default]-section oder eine Port-Section der misdn.conf eintragen
- mISDN-1.2 verwendet /etc/init.d/mISDN als Skript! Also vorher noch mISDN scan und mISDN config ausführen und Ergebnis prüfen
- <module>mISDN_dsp_oslec</module> in /etc/mISDN.conf eintragen, falls fehlt
- ggf. asterisk/chan-misdn neu kompilieren (Frage: Ist das überhaupt notwendig?)
- mISDN start (oder /etc/init.d/mISDN start) ausführen, asterisk ankurbeln und Echo-frei telefonieren und genießen :)


für OSLEC/mISDN-1.1.5 (von mir nicht eingesetzt/getestet):
Code:
# mkdir /tmp/oslec
# cd /tmp/oslec
# wget [url]http://www.misdn.org/downloads/releases/mISDN-1_1_5.tar.gz[/url] [url]http://www.misdn.org/downloads/releases/mISDNuser-1_1_5.tar.gz[/url] [url]http://peter.schlaile.de/mISDN/mISDN_oslec_patch_v1.1.5[/url]
# tar xfz mISDN-1_1_5.tar.gz
# tar xfz mISDNuser-1_1_5.tar.gz
# cd mISDN-1_1_5
# patch -p0 < ../mISDN_oslec_patch_v1.1.5
# make install
# cd ../mISDNuser-1_1_5
# make install
# [b]# needs to be edited/completed if necessary[/b]


Und generell: Learning by doing und probieren, probieren, probieren!
Aber natürlich auch: Fragen, fragen, fragen ;)

-
Larry
 
Also scheint sehr gut zu laufen, allerdings habe ich sehr viele meldungen in syslog a lá:

ECHOCAN: TXBUF Underrun:4096 txbuflen:92 rxcancellen:128
ECHOCAN: TXBUF Underrun:4127 txbuflen:115 rxcancellen:128

kann man das irgendwie beeinflüssen?
 
für OSLEC/mISDN-1.2 (GIT) ("git" wird benötigt!):
Code:
...
# cd ../mISDNuser
# make install

Das scheitert bei mir leider:
Code:
gcc -g -Wall -I /usr/src/oslec/mISDNuser/include -I /usr/src/mISDN/include -D CLOSE_REPORT=1 -o device.o -c device.c
In file included from /usr/src/oslec/mISDNuser/include/mISDNlib.h:21,
                 from device.c:1:
/usr/include/linux/mISDNif.h:616: error: expected specifier-qualifier-list before ‘u8’
make[2]: *** [device.o] Fehler 1
Was ist denn da schiefgelaufen? Das maken von mISDN vorher hat übrigens einwandfrei geklappt.
 
Das scheitert bei mir leider:
Code:
gcc -g -Wall -I /usr/src/oslec/mISDNuser/include -I /usr/src/mISDN/include -D CLOSE_REPORT=1 -o device.o -c device.c
In file included from /usr/src/oslec/mISDNuser/include/mISDNlib.h:21,
                 from device.c:1:
/usr/include/linux/mISDNif.h:616: error: expected specifier-qualifier-list before ‘u8’
make[2]: *** [device.o] Fehler 1
Was ist denn da schiefgelaufen? Das maken von mISDN vorher hat übrigens einwandfrei geklappt.

Ja, doof das. Scheinbar wird aktuell am GIT-Baum gewerkelt; ich kann in der aktuellen Fassung auch nicht mISDNuser maken :confused:
Lad' Dir doch mal angehängtes Archiv 'runter. Das ist die GIT-Version (also mISDN 1.2) vom 01.10.07, fertig gepatched mit OSLEC; sie tut seit meinem Post hervorragend seinen Dienst.
Also nur noch
Code:
cd mISDN/mISDN && make install && cd ../mISDNuser && make install
und gut ist... ;)

-
Larry
 

Anhänge

  • mISDN.tar.bz2
    3.8 MB · Aufrufe: 43
Ja, das hat wunderbar geklappt. Danke sehr!
Zumindest das kompilieren und installieren.
Beim Entladen der Module gibts noch einen leichten Oops-Crash, "muss" das so sein oder sollte mich das beunruhigen?
Kann man auf der Asterisk-Console eigentlich prüfen, ob das oslec benutzt wird?
 
git version scheint ziemlich durcheinander zu sein, wer ausprobieren möchte, der kann in mISDNif.h den Variablentyp von ptp_tei in u16 abändern, danach läuft zumindest das Kompilieren ohne Fehler durch, aber das * bei mir nicht mehr.

...
u16 ptp_tei; // use fixed TEI in PTP Mode
} mISDN_pid_t;
...

Nactrag: * läuft doch! musste nicht nur chan_misdn neu builden, sondern den Rest auch.
 
Zuletzt bearbeitet:
Beim Entladen der Module gibts noch einen leichten Oops-Crash, "muss" das so sein oder sollte mich das beunruhigen?
Ach...interessant. Bei einem Kollegen mit zwei Billig-HFC-PCI-Karten taucht das Oops beim entladen von mISDN (GIT) auch auf. Dort hilft dann nur Neustart der ganzen Kiste. Bei meinem HFC-USB (Hersteller Acceex...nie zuvor gehört) passiert das nicht.
Jedenfalls sollte das Oops ganz bestimmt nicht sein; ist halt mISDN-1.2 WIP (work in progress) ;)

Kann man auf der Asterisk-Console eigentlich prüfen, ob das oslec benutzt wird?
Gute Frage, das würde mich auch mal am Rande interessieren. Du kannst aber sicher sein, dass wenn Du die "pipeline"-Zeile in misdn.conf eingebaut hast, OSLEC auch benutzt wird (im Zweifelsfall noch mal RTFM und meine Kurzanleitung durchgehen ;) )

-
Larry
 
Gute Frage, das würde mich auch mal am Rande interessieren. Du kannst aber sicher sein, dass wenn Du die "pipeline"-Zeile in misdn.conf eingebaut hast, OSLEC auch benutzt wird
Larry

Sobald ein Anruf zustande kommt, steht im syslog:

Nov 14 14:35:28 asterisk kernel: [162024.773456] new: creating OSLEC with deftaps=128 and training=0
 
Das Modul mISDN_dsp_oslec ist geladen. Die pipline-Zeile habe ich auch in der misdn.conf (/etc/asterisk/misdn.conf) drin. Nur im Syslog oder dmesg erscheint nichts.

Nachtrag, endlich habe ich ein paar Einträge:
Code:
 new: creating OSLEC with deftaps=128 and training=0

Testweise habe ich mehrmals 10-20 Seiten FAX per IAXModem empfangen lassen. Bis auf einen Abbruch kam alles sehr sauber durch. Da am anderen Ende ein XP mit WinModem gesendet hat ist das auch eher da begründet.
 
Zuletzt bearbeitet:
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.