.titleBar { margin-bottom: 5px!important; }

Echo bei ankommenden SIP-Anrufen mit chan_lcr

Dieses Thema im Forum "Asterisk ISDN mit mISDN" wurde erstellt von gerda1980, 27 Okt. 2011.

  1. gerda1980

    gerda1980 Neuer User

    Registriert seit:
    26 Mai 2009
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 gerda1980, 27 Okt. 2011
    Zuletzt bearbeitet: 27 Okt. 2011
    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?
     
  2. sparkie

    sparkie Aktives Mitglied

    Registriert seit:
    13 Nov. 2005
    Beiträge:
    1,524
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Beruf:
    Rentner
    #2 sparkie, 27 Okt. 2011
    Zuletzt bearbeitet: 27 Okt. 2011
    welcome!:D

    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
     
  3. gerda1980

    gerda1980 Neuer User

    Registriert seit:
    26 Mai 2009
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #3 gerda1980, 27 Okt. 2011
    Zuletzt bearbeitet: 27 Okt. 2011
    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.
     
  4. sparkie

    sparkie Aktives Mitglied

    Registriert seit:
    13 Nov. 2005
    Beiträge:
    1,524
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Beruf:
    Rentner
    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
     
  5. gerda1980

    gerda1980 Neuer User

    Registriert seit:
    26 Mai 2009
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  6. sparkie

    sparkie Aktives Mitglied

    Registriert seit:
    13 Nov. 2005
    Beiträge:
    1,524
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Beruf:
    Rentner
    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.
     
  7. gerda1980

    gerda1980 Neuer User

    Registriert seit:
    26 Mai 2009
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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 ;)
     
  8. sparkie

    sparkie Aktives Mitglied

    Registriert seit:
    13 Nov. 2005
    Beiträge:
    1,524
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Beruf:
    Rentner
    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....
     
  9. gerda1980

    gerda1980 Neuer User

    Registriert seit:
    26 Mai 2009
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    um es kurz zu machen ... DANKE FÜR DEINE HILFE !!!

    habe den Standard Kernel von Squeeze genommen + alles vom GIT + den Patch von http://permalink.gmane.org/gmane.linux.isdn.i4l.user/5551 und raus kam ein mISDN_dsp_oslec.

    Wichtig ist noch das die neuen Module in /lib/modules/2.6.32-5-686/extra/ liegen.
     
  10. sparkie

    sparkie Aktives Mitglied

    Registriert seit:
    13 Nov. 2005
    Beiträge:
    1,524
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Beruf:
    Rentner
    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
     
  11. gerda1980

    gerda1980 Neuer User

    Registriert seit:
    26 Mai 2009
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #11 gerda1980, 2 Nov. 2011
    Zuletzt bearbeitet: 1 Dez. 2011
    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:

  12. sparkie

    sparkie Aktives Mitglied

    Registriert seit:
    13 Nov. 2005
    Beiträge:
    1,524
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Beruf:
    Rentner
    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