[Patch] Echo Cancellation dauerhaft einschalten

sion

Neuer User
Mitglied seit
18 Sep 2004
Beiträge
129
Punkte für Reaktionen
0
Punkte
0
Hallo,

bekanntlich habe ich das Problem, daß sich die "Echo Cancellation" des zap-devices für ausgehende Anrufe (ISDN->Asterisk->SIP) nicht einschalten läßt, egal was in der zapata.conf steht. Bei Eingehenden Anrufen (POTS(SIP)->Asterisk->ISDN) war es jedoch immer aktiv!

Nachdem mir niemand weiterhelfen konnte, und ich auch nicht der einzige hier mit dem Problem bin, habe ich mich mal des Quelltextes angenommen, und eine zugegebenerweise unschöne Lösung erarbeitet: Jedes mal, wenn das ISDN-Telefon abgehoben wird, wird die Echounterdrückung aktiviert (bzw. nur beim 1. mal, weshalb auch immer...). Dies kann mit dem Befehl "zap show channel 1" kontrolliert werden.

Habe den Patch erst mit einem Anruf getestet, das Echo war deutlich leiser (wenn auch nicht vollständig verschwunden), Nachteile konnte ich noch keine feststellen. Wer also das Problem hat, kann das ja gerne mal ausprobieren... und mir die Ergebnisse schicken.

Die zu patchende Datei ist übrigens im Verzeichnis bri-stuff.0.1.0-RC4a/asterisk/channels/

Viel Spaß, Sion
 

Anhänge

  • echochancellation.diff.txt
    524 Bytes · Aufrufe: 76
Hallo,

erst mal vielen Dank fuer Deinen Patch, er hat mich dem Problem sehr viel naeher gebracht. Leider scheint es bei mir so zu sein, das EC immer auf dem 1 channel eingeschaltet wird, das Gespraech aber auf dem 2. channel laeuft - ohne ec... Vielleicht hast Du ja noch eine Idee.

Gruss,
Dirk
 
Dirk_ schrieb:
Hallo,

erst mal vielen Dank fuer Deinen Patch, er hat mich dem Problem sehr viel naeher gebracht. Leider scheint es bei mir so zu sein, das EC immer auf dem 1 channel eingeschaltet wird, das Gespraech aber auf dem 2. channel laeuft - ohne ec... Vielleicht hast Du ja noch eine Idee.

Gruss,
Dirk

Also bei mir läuft das Gespräch immer auf Kanal 1, und da ist auch sicher das EC an. Du benutzt schon den bristuff rc4, oder? Ließ sich der Patch fehlerfrei einpflegen?

Gruß
 
Also bei mir läuft das Gespräch immer auf Kanal 1, und da ist auch sicher das EC an. Du benutzt schon den bristuff rc4, oder? Ließ sich der Patch fehlerfrei einpflegen?

Ja, das Patchen war kein Problem. Wenn ich das richtig sehe, wird die Stelle an der Du die zt_enable_ec einspielst nur einmal durchlaufen, wenn das erste mal der D Kanal gebraucht wird. Ich hab mal noch ein bisschen weitergesucht und bei rc04 in der Funktion pri_find_empty_chan in Zeile 6490 zt_enable_ec(pri->pvts[x]) eingefuegt, was dafuer sorgt, das EC jedesmal angeschaltet wird, wenn ein freier B Kanal gebraucht wird. (Bei 0.2.0 rc1 Zeile 6840) Das behebt das Problem fuer mich zuverlaessig.
Was mich sehr wundert, ist das wir Beide scheinbar die einzigen sind die Probleme damit haben (hatten) :)
 
Dirk_ schrieb:
Was mich sehr wundert, ist das wir Beide scheinbar die einzigen sind die Probleme damit haben (hatten)
Nö, hier ist das auch so. Nur hab ich keine Probleme mit Echo. Mich würde auch mal interessieren, ob es Versionen gibt, wo das Problem nicht vorhanden ist. Ansonsten könnte man mal nachsehen, ob es diesbezüglich schon eine Bug-Meldung gibt. Vielleicht kann das jemand machen, der davon mehr Ahnung hat als ich. Siehe auch hier:
http://www.digium.com/bugtracker.html
 
so hab den patch auch mal drauf gemacht.

ich merk allerdings keine verbesserung.
mir kommt es vor als ob sich das echo problem sogar weiter verschlechtert hat.
naja vieleicht bild ichs mir auch nur ein.
 
Dirk_ schrieb:
[..]Wenn ich das richtig sehe, wird die Stelle an der Du die zt_enable_ec einspielst nur einmal durchlaufen, wenn das erste mal der D Kanal gebraucht wird. Ich hab mal noch ein bisschen weitergesucht und bei rc04 in der Funktion pri_find_empty_chan in Zeile 6490 zt_enable_ec(pri->pvts[x]) eingefuegt, was dafuer sorgt, das EC jedesmal angeschaltet wird, wenn ein freier B Kanal gebraucht wird. (Bei 0.2.0 rc1 Zeile 6840) Das behebt das Problem fuer mich zuverlaessig.
Was mich sehr wundert, ist das wir Beide scheinbar die einzigen sind die Probleme damit haben (hatten) :)

Du hast vollkommen recht, der Patch schaltet nur 1x beim 1. Abheben des ISDN-Telefons EC ein - bei mir bleibt es jedoch danach über Tage eingeschaltet! (Dann muß ich auch diversen Gründen Asterisk, die Treiber oder das ganze System neu starten)
Mir scheint es auch so, als ob viele Leute dieses Problem überhaupt nicht kennen, was mir ein noch größeres Rätsel ist, da meines Erachtens ohne Patch EC garnicht eingeschaltet werden kann...Wenn mit deinem Patch es also besser läuft, kann ich nur sagen: Laß' es so! ;-)

Hat eigentlich schonmal jemand die 0.2.0rc1 ausprobiert; braucht man da auch noch den Patch, bzw. läßt er sich überhaupt anwenden?

Sion
 
Patches für 0.2.0-rc2

Ich habe die beiden Vorschläge von oben mal zusammen gefasst und mit bristuff-0.2.0-rc2 getestet, funktioniert.

Nebenbei noch ein Patch, damit man Asterisk nicht als root laufen lassen muss , enthält Modifikationen für den Makefile und safe_asterisk
:arrow: diese Änderung im Makefile steht schon in einem Wiki, die Rechte für die Konfigurations-Dateien müssen entsprechend noch angepasst werden, steht aber im Wiki (Edit: http://www.voip-info.org/wiki-Asterisk+non-root )

Und zu guter letzt für alle, denen das zap-Module auch beim entladen den Rechner parkt, noch ein patch dass ich aus einer Mailing-liste gezogen hab'. Bei der 0.1.0-RC4a war's noch notwendig, bei der 0.2.0-rc2 läuft es auch ohne Warnungen, allerdings ist es evtl. nicht mehr nötig.
 

Anhänge

  • chan_zap.echocancel.v2.patch.txt
    985 Bytes · Aufrufe: 37
  • asterisk.non-root.patch.txt
    1.4 KB · Aufrufe: 11
  • zaphfc.cleanexit.patch.txt
    2 KB · Aufrufe: 28
Re: Patches für 0.2.0-rc2

ecco schrieb:
Ich habe die beiden Vorschläge von oben mal zusammen gefasst und mit bristuff-0.2.0-rc2 getestet, funktioniert.

Nebenbei noch ein Patch, damit man Asterisk nicht als root laufen lassen muss , enthält Modifikationen für den Makefile und safe_asterisk
:arrow: diese Änderung im Makefile steht schon in einem Wiki, die Rechte für die Konfigurations-Dateien müssen entsprechend noch angepasst werden, steht aber im Wiki.

Und zu guter letzt für alle, denen das zap-Module auch beim entladen den Rechner parkt, noch ein patch dass ich aus einer Mailing-liste gezogen hab'. Bei der 0.1.0-RC4a war's noch notwendig, bei der 0.2.0-rc2 läuft es auch ohne Warnungen, allerdings ist es evtl. nicht mehr nötig.

Danke für diese nette Zusammenstellung von Patches. Leider bin ich bisher nicht dazu gekommen, den bristuff-0.2 zu testen, aber jetzt freue ich mich darauf. Besonders gefällt mir die Vorstellung, Asterisk als "normalen" Nutzer starten zu können! In welchem Wiki kann man das denn nachlesen?
Danke & Gruß,
Sion
 
lo4dro schrieb:
diese Änderung im Makefile steht schon in einem Wiki, die Rechte für die Konfigurations-Dateien müssen entsprechend noch angepasst werden, steht aber im Wiki (Edit: http://www.voip-info.org/wiki-Asterisk+non-root )

Danke, das Wiki habe ich bereits gefunden. Allerdings muß man nach wie vor Asterisk "global" installieren, und kann es nicht in ein selbstgewähltes Verzeichnis im Home-Dir installieren. Das erschwert es unnötig, gefahrlos ein 2. Asterisk in einem neuen Verzeichnis zu testen, ohne das alte zu überschreiben. Natürlich kann man Sicherheitskopien machen oder im Verzeichnis der alten Version das install.sh neu aufrufen; aber es sollte ja eigentlich reichen, Asterisk aus einem anderen Verzeichnis heraus aufzurufen...
 
Hallo,
super der echo-patch!!!! Endlich funktioniert das bei mir auch. Ich habe es immer bemerkt, aber nie einstellen können. Mit zap show channel konnte ich das erstmals nachweisen, dass die EC nicht funktioniert, und schnell Deinen Patch eingepflegt, und jetzt geht alles.... Danke, danke, danke!!!!

Aber eine Frage habe ich noch: ich fahre den neuen 0.2.0rc3. Geht ganz gut. Konnte Deinen Patch auch von Hand einpflegen... Aber: Die Version macht nach jedem Auflegen einen EC-Off. Ist ja nicht so schlimm, denn Dein Patch macht bei jedem Start einen EC-On, also funktionieren tut es. Aber bei mir steht jetzt channel 1 ständig auf on, was laut sion zu abstürtzen führt. Deswegen wollte ich Dich bitten für die 0.2.0rc3 den Patch so zu verändern, dass es nur bei Bedarf eingeschaltet wird.... Wenn das möglich ist.

Danke.
(Wahrscheinlich müsste ich nur eine der beiden Patch-Zeilen löschen, aber ich weiss leider nicht welche... *schaem*)
 
@smartbyte
ist es schwer den patch anzupassen?
 
@lo4dro

Noe, eigentlich nicht. Musste auch leider feststellen, dass mein Wunsch die echo cancelation nur im Betrieb anzuschalten nicht funktioniert hat. Habe mal testweise eine der beiden Patch-Zeilen aus meiner Datei auskommentiert, danach ging zuerst alles, wie gewünscht, doch nach einiger Zeit war die EC dann doch wieder aus. Ich kann ja mal einen Patch bereitstellen.

Der Patch ist aber nur für die bristuff-0.2.0-rc3, und ich übernehme keine Garantie. Der Source-Code ist der von oben, eben nur mit anderen Zeilen, so dass er in die neuste bristuff passt.
(Zur Beruhigung: Bei mir läuft er.)

Ciao, Jörn.
 

Anhänge

  • chan_zap.patch.txt
    1,009 Bytes · Aufrufe: 575
Hier der Patch für die RC3a.

*Sion: Kannst Du bitte nocheinmal im Sourcecode nachgucken, ob man das nicht an anderer Stelle einsetzen kann. Vielleicht könnte man dann ja auch das echotraining aktivieren?

... Ach ja, und weiss jemand wo man im Zaptel-Treiber die Wartezeit einstellt, bevor er versucht die erste am Telefon eingegebene Nummer zu erkennen?

Ciao.
 

Anhänge

  • chan_zap.patch_150.txt
    1 KB · Aufrufe: 30
oben stand was von anpassen makefiles und rechten.
wenn ich * als root laufen habe brauch ich das beides nicht zu machen und kann den patch ohne sonst was zu tun einspielen?
 
Den echo-cancel-patch auf jeden fall, nur für asterisk ohne root-rechte, müssen der makefile und die rechte verändert werden.
 
stefanmoench schrieb:
oben stand was von anpassen makefiles und rechten.
wenn ich * als root laufen habe brauch ich das beides nicht zu machen und kann den patch ohne sonst was zu tun einspielen?
Nein, brauchst Du nicht. Der Patch ist für die "Normalversion". Die non-root-Variante, hat Asterisk, soviel wie ich weiss mitlerweile schon integriert, so dass Du dafür nichts mehr patchen musst. Das größere Problem ist die Echo-Cancellation, die ist nämlich, trotz dass der Fehler schon bei der bristuff 0.1.0 bekannt war, immer noch nicht integriert. :-(
-> Kann irgendwer den BriStuff-Programmierer erreichen, oder kennt ihn persönlich, ich nämlich leider nicht.
 
Der neuste bristuff-0.2.0-RC5 - Patch

Hallo, und hier wieder einmal der neuste EC-Patch zur neusten bristuff.
Wieder ins bristuff-0.2.0-RC5/asterisk/channels - Verzeichnis kopieren und dann mit "patch < ec-patch.txt" patchen.
Viel Spass damit. 8)
 

Anhänge

  • ec-patch.txt
    1 KB · Aufrufe: 45
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.