Echo bei ankommenden SIP-Anrufen mit chan_lcr

gerda1980

Neuer User
Mitglied seit
26 Mai 2009
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich versuche seit ein paar Tagen eine HFC-PCI Karte im NT-Mode zum laufen zu bringen.
Versuche mit DAHDI schlugen fehl, mit mISDN und LCR lief das schon besser.

Mein Aufbau sieht nun so aus:

IP-Anschluss von der Telekom -> Astrisk 1.8.7.1 -> LCR -> NTBA + ISDN-Telefon

Abgehend sind alle Verbindungen in Ordnung ... kein Echo auf beiden Seiten.

Ankommend sieht die Lage leider schlecht aus. Der Anrufende hört sich selbst. Auf meiner Seite hört man aber nichts davon.
Um den Fehler weiter einzugrenzen habe ich das ISDN-telefon getauscht -> Fehler bleibt.
Mit einem Telekom Speedport tritt der Fehler nicht auf. Wenn das interne Telefon ein SIP-Gerät ist, dann ist das Echo nur minimal bis nicht zu hören.
Interne Telefonate sind auch in Ordnung (von ISDN zu ISDN bzw. von ISDN zu SIP)

Versionen:
Debian Squeeze
Kernel 2.6.39.4
Astrisk 1.8.7.1
LRC 1.10
mISDN kernel version 1.01.21 (beim 2.6.39.4 dabei)
mISDN user version 1.01.24

Im Kernel ist das Modul echo.ko mit dabei, laut Hilfetext soll es als echocanceller taugen:

Code:
CONFIG_ECHO: 
  │ This driver provides line echo cancelling support for mISDN and 
  │ Zaptel drivers.

Kann man dieses Modul einbinden bzw. nutzen? Habt ihr Tipps oder Lösungsvorschläge für mein Problem?
 
Zuletzt bearbeitet:
welcome!:D

Kann man dieses Modul einbinden bzw. nutzen? Habt ihr Tipps oder Lösungsvorschläge für mein Problem?

du musst den 'oslec' als echo-canceler laden:
Code:
modprobe mISDN_dsp_oslec

angesprochen wird er im Dialplan typisch so:

Code:
[s0-internal] 
exten => s,1,lcr_config(eoslec)
[...]

oder beim Rauswaehlen:

Code:
[...]
exten => _[0-9].,n,Dial(LCR/s0-internal1/${EXTEN}/eoslec,15)

Ausgabe der Optionen:
Code:
asterisk -rx 'core show application lcr_config'

- sparkie
 
Zuletzt bearbeitet:
Danke für deine Antwort! Genau da liegt mein Problem.

Das Modul mISDN_dsp_oslec ist im 2.6.39.4 nicht da. Es gibt "nur" das Modul echo.ko.

Code:
ls /lib/modules/2.6.39.4/kernel/drivers/isdn/mISDN/
l1oip.ko  mISDN_core.ko  mISDN_dsp.ko

Also habe ich versucht mISDN vom git selbst zu bauen ... leider ohne Erfolg :(

Code:
/usr/src/mISDN/standalone/drivers/isdn/mISDN/octvqe/octvqe_linux.c:1114: error: unknown field ‘ioctl’ specified in initializer
/usr/src/mISDN/standalone/drivers/isdn/mISDN/octvqe/octvqe_linux.c:1114: warning: initialization from incompatible pointer type
make[5]: *** [/usr/src/mISDN/standalone/drivers/isdn/mISDN/octvqe/octvqe_linux.o] Fehler 1
make[4]: *** [/usr/src/mISDN/standalone/drivers/isdn/mISDN/octvqe] Fehler 2
make[3]: *** [_module_/usr/src/mISDN/standalone/drivers/isdn/mISDN] Fehler 2
make[3]: Leaving directory `/usr/src/linux-2.6.39.4'
make[2]: *** [modules_] Fehler 2
make[2]: Leaving directory `/usr/src/mISDN/standalone'
make[1]: *** [modules] Fehler 2
make[1]: Leaving directory `/usr/src/mISDN/standalone'
make: *** [modules] Fehler 2

Bin nicht fest an den 2.6.39.4 gebunden solang das Echo weg geht.
 
Zuletzt bearbeitet:
leider bin ich voellig out-of-date was den aktuellen Treiberstand angeht. Kann es sein, dass es das gar nicht mehr als separates Modul gibt?

Hast du mal versucht die lcr_config Optionen wie angegeben ausgeben zu lassen (natuerlich von einer funktionierenden Konfiguration - also der bei der alles ausser dem Echo funktioniert)

- sparkie
 
ja hab ich

Code:
asterisk -rx 'core show application lcr_config'

  -= Info about application 'lcr_config' =- 

[Synopsis]
lcr_config

[Description]
lcr_config(<opt><optarg>:<opt>:...)
Sets LCR opts. and optargs

The available options are:
    d - Send display text on called phone, text is the optarg.
    n - Don't detect dtmf tones on called channel.
    h - Force data call (HDLC).
    t - Disable mISDN_dsp features (required for fax application).
    q - Add queue to make fax stream seamless (required for fax app).
        Use queue size in miliseconds for optarg. (try 250)
    f - Adding fax detection. It it timeouts, mISDN_dsp is used.
        Use time to detect for optarg.
    c - Make crypted outgoing call, optarg is keyindex.
    e - Perform echo cancelation on this channel.
        Takes mISDN pipeline option as optarg.
    s - Send Non Inband DTMF as inband.
    r - re-buffer packets (160 bytes). Required for some SIP-phones and fax applications.
   vr - rxgain control
   vt - txgain control
        Volume changes at factor 2 ^ optarg.
    k - use keypad to dial this call.

set LCR_TRANSFERCAPABILITY to the numerical bearer capabilty in order to alter caller's capability
 -> use 16 for fax (3.1k audio)

To send a fax, you need to set LCR_TRANSFERCAPABILITY environment to 16, also you need to set
options: "n:t:q250" for seamless audio transmission.


[Syntax]
Not available

[Arguments]
Not available

[See Also]
Not available

wenn ich die Option in den Dialplan einbaue geht es natürlich nicht weil das Modul fehlt ...

Code:
dmesg
dsp_pipeline_build: element not found, skipping: oslec
 
ich schaetze du musst deinen Kernel mit 'make menuconfig' erst mal so konfigurieren, dass er das 'oslec' Modul auch baut. Da ich keinen so neuen Kernel verwende kann ich da keine weiteren Tipps geben.
 
recht haste, leider gibt es die Option in einem aktuellen nicht ... es wird "nur" echo.ko im Bereich Staging angeboten. Welchen verwendest du ... den nehme ich auch ;)
 
Welchen verwendest du ... den nehme ich auch ;)

ich verwende den Standard Kernel von Squeeze. Und habe deswegen alle mISDN Treiber aus dem GIT vor einiger Zeit dazugebaut. Ich kenne leider das aktuelle GIT nicht. Falls es da Probleme geben sollte....
 
super wenn es klappt. Ich habe ja hier:

#31

auch schon mal ein paar Dinge dazu gepostet. Eigentlich wollte mal jemand nen HowTo "chan_lcr" schreiben, aber von solchen Ankuendigungen braucht man nicht allzuviel erwarten.

- sparkie
 
Nach ein paar Tagen ohne das Thema habe ich mal meine Schritte aufgeschrieben. Anbei sind auch die 2 diff für den 2.6.32 von Squeeze.
Seit 28.10. läuft das bei mir ohne Echo ;)


Code:
cd /tmp
git clone git://git.misdn.org/mISDN.git/
cd mISDN
patch -p1 < ../patch1.diff
patch -p1 < ../patch2.diff
./configure
cp mISDN.cfg.default standalone/mISDN.cfg
make modules
make modules-install
rm -rfv /lib/modules/`uname -r`/kernel/drivers/isdn
depmod -a

cd /tmp
git clone git://git.misdn.org/mISDNuser.git/
cd mISDNuser
./configure --with-AF_ISDN=34
make 
make install

cd /tmp
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.7.1.tar.gz
tar xfvz asterisk*.gz
cd asterisk*
./configure --disable-xmldoc
make
make install

cd /tmp
git clone git://git.misdn.org/lcr.git/
cd lcr
sh autogen.sh
./configure --with-asterisk
make -j2 modules
make install


Patch 1 ist von http://permalink.gmane.org/gmane.linux.isdn.i4l.user/5551 -> DANKE !!!
Patch 2 ist von http://www.isdn4linux.de/pipermail/isdn4linux/2011-September/005500.html -> DANKE !!!
Der Rest ;) kommt aus den Beiträgen von sparkie und aus dem mISDN-Wiki -> DANKE !!!
 

Anhänge

  • patch.zip
    1.9 KB · Aufrufe: 6
Zuletzt bearbeitet:
Hi gerda1980,

super! So wie es aussieht kann ich ja problemlos auf asterisk-1.8 und aktuelles mISDN-GIT upgraden. Ich wusste gar nicht, dass es jetzt sogar einen zusaetzlichen Echocanceler gibt. Danke fuer die Zusammenfassung.

- sparkie
 
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.