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

chan_lcr + Kernel 2.6.27-rc8 + Asterisk 1.6

Dieses Thema im Forum "Asterisk ISDN mit mISDN" wurde erstellt von RcRaCk2k, 6 Okt. 2008.

  1. RcRaCk2k

    RcRaCk2k Mitglied

    Registriert seit:
    4 Aug. 2005
    Beiträge:
    230
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Leute Leute Leute,

    das Leben macht echt keinen Spaß mehr *gg* Ich kompiliere und kompiliere, was das Zeug hält, hab jetzt schon 5 Tage hinter mir und werde noch verrückt.

    Jetzt habe ich mISDN und mISDNuser endlich mit Socket-Unterstützung bezüglich der neuen API des mISDN-Drivers hinbekommen, jetzt streikt noch der chan_lcr um den mISDN in den Asterisk einzubinden.

    Hat schon irgendjemand mISDN 1.2.0 + chan_lcr mit Asterisk 1.6 zum Laufen gebracht?

    Ich verzweifle *gg* ... werde jetzt auf Asterisk 1.4 downgraden - das Leben ist hart und ungerecht :)

    Grüße,
    Michael.
     
  2. RcRaCk2k

    RcRaCk2k Mitglied

    Registriert seit:
    4 Aug. 2005
    Beiträge:
    230
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nun endlich... Asterisk 1.4.2 + chan_lcr + Linux Call Router + mISDN Core + Kernel 2.6.27-rc8 ist up and running.

    Leider gegen meine Vorstellung, dass ich die Software mit Asterisk 1.6 zum Laufen bekomme.

    Nunja, dann heißt es wohl, abwarten und Tee trinken, bis die Fehler gefixxed wurden.

    Grüße,
    Michael.
     
  3. cherzberg

    cherzberg Mitglied

    Registriert seit:
    21 Mai 2006
    Beiträge:
    239
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo RcRaCk2k,

    na Gratulation. Verrätst Du uns auch, was Du gemacht hast damit es nun funktioniert?

    Viele Grüsse
    Christian
     
  4. RcRaCk2k

    RcRaCk2k Mitglied

    Registriert seit:
    4 Aug. 2005
    Beiträge:
    230
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #4 RcRaCk2k, 8 Okt. 2008
    Zuletzt bearbeitet: 8 Okt. 2008
    Nunja, wie schon gesagt, durch das Downgrade von Asterisk 1.6 -> Asterisk 1.4.2.

    Ansonsten einfach nach Anleitung auf http://www.misdn.org/index.php/MISDN_v2_Download befolgen. Dort wird der GIT-Checkout gemacht und der Socket-Branch gezogen.

    ACHTUNG: Die Dokumentation verwendet den Befehl git-clone dieser hat sich bei der neueren GIT-Version jedoch geändert und heisst nun git clone - also ohne Bindestrich.

    Danach geht es auf folgender Seite weiter:
    http://www.misdn.org/index.php/MISDN_v2_Installation#Install_mISDN_from_snapshot

    Wenn man das hat, muss noch LCR drauf:
    http://www.linux-call-router.de/download/lcr-1.0/howto.html

    Scheint ja ein ganz neues Thema zu sein mit der SOCKET-Unterstützung... Habe ich anscheinen zum falschen Zeitpunkt damit angefangen, einen frischen ASTERISK aufzusetzen.

    Liebe Grüße,
    Michael Rack.
     
  5. amdunlock

    amdunlock Neuer User

    Registriert seit:
    2 Dez. 2005
    Beiträge:
    151
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @RcRaCk2k

    hast du vergleiche zu vorherigen misdn installationen bezüglich echo und anderen wichtigen elementen wie stabilität?
    wäre cool das zu erfahren.

    Olli
     
  6. RcRaCk2k

    RcRaCk2k Mitglied

    Registriert seit:
    4 Aug. 2005
    Beiträge:
    230
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Servus Olli,

    ich hatte bisher Jahre lang den BRISTUFF im Einsatz. Auf einigen Kisten ist BRISTUFF immer noch im Einsatz (bisher über 3 Jahre) ohne ein Problem.

    Zu mISDN bin ich vor 2 Jahren gewechselt, weil mir die gepatchte Version von Asterisk (BRISTUFF) aufgrund ethischer Entscheidungen nicht mehr zugesagt hatte. Bristuff hing hinter den Releases von Asterisk immer ziemlich hinterher, was das Testen neuer Versionen somit um einige Wochen, wenn nicht sogar Monate verschob.

    Mit mISDN gab es eigentlich bisher noch nie Probleme, er war immer recht stabil und Echos hatte ich auch nie. Das Selbe galt aber auch für BRISTUFF.

    mISDN ziehe ich desswegen vor, weil es sich per CHANNEL-DRIVER einbinden lässt und somit Asterisk fast immer in der neuesten Version eingesetzt werden kann.

    Leider kann mISDN zum aktuellen Zeitpunkt per ChannelDriver nicht in Asterisk 1.6 eingebunden werden, da die MAKEFILE keine Anpassungen für Asterisk 1.6 beinhalten.

    Ein weiterer von mir festgestellter Nachteil von mISDN ist, dass man immer eine leere exten rein setzen muss, damit man "Wählen bei abgehobenem Hörer" unterstützen kann, ansonsten fällt ASTERISK gleich in einen INVALID-EXTEN oder bekommt nur die ersten beiden Zahlen übermittelt. (Kennt jemand dafür eine saubere Lösung?)

    Meine Lösung sieht zur Zeit so aus:
    Code:
    exten => ,1,WaitExten(1)
    Liebe Grüße,
    Michael.
     
  7. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hi,

    - Echo ist wie vorher - also deutlich (und für den Anrufer irritierend) zu hören
    - Stabilität ist gering, LCR ist beta, bei mir stürzt es im Schnitt alle zwei Tage ab (2.6.27-RC8 mit * 1.4.21.2 und lcr 1.0 beta 1)
    - beim (Ent-)Laden des lcr bekomme ich hin und wieder ein Segfault
    - lcr kann kein sendtext - so mußte ich viele extensions umbauen, die den Anrufer per Text auf seinem Telefon darüber informierten, was der * gerade tut und über welchen Provider der Ruf rausgeht

    Insgesamt ist das also eigentlich noch nichts für den Produktiveinsatz.
    Und: Dadurch daß man nun den lcr noch "einschleifen" muß in die Kette ISDN - mISDN - LCR - Asterisk, holt man sich (man sieht's) eine weitere mögliche Fehlerquelle ins Haus.

    Ich wünsche mir einen schlanken, einfachen mISDN-Channel wünschen, der direkt auf die (im jetzt freigegebenen) 2.6.27er Kernel enthaltenen (und damit problemlos zu kompilierenden) mISDN-Treiber aufsetzt - ohne dieses lcr-Gedöns dazwischen.


    Grüße
    Fux
     
  8. RcRaCk2k

    RcRaCk2k Mitglied

    Registriert seit:
    4 Aug. 2005
    Beiträge:
    230
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Vielleicht liegt es auch an deiner Hardware / Software. Ich habe schon viele Linux Server aufgesetzt und bin immer wieder an einen Punkt gekommen, wo ich mich fragen musste, wer da eigentlich soviel Misst programmiert. Entweder waren arge Memory-Holes vorhanden oder es wurden auf Librarys zurückgegriffen, die schon alt bekannte Speicherprobleme hatten.

    Beim Entladen der Module (DSP) bekomme ich auch ein segfault. Aber solange das Modul verschwindet sehe ich kein Problem damit.

    Da musst du etwas übersehen haben. Es gibt show application lcr_config im lcr_config die Möglichkeit SEND_TEXT zu betreiben, jedoch nur über diese Funktion, und nicht über die Funktion von ASTERISK.

    Zitat: d - Send display text on called phone, text is the optarg.

    Da stimme ich dir zu. Deswegen wurde die Software ja auch noch nicht Released ;-)

    Da hast du Recht - jedoch finde ich solche Abstraktionen wie hier mit mISDN <> LCR nicht schlecht, denn du hast eine Schnittstelle (LCR) mit welcher man viele Programme verbinden kann. Zudem nimmt dir LCR einige Arbeit bereits schon vorher ab.

    Ich nutze z.B. eine P2P Verbindung mit meinem Festnetz-Anbieter, weil ich auf "CLIP no screening" zurückgreiffe. Und ohne LCR würde dieses Feature garnicht funktionieren, da man unbedingt mit den Optionen screen_in und screen_out arbeiten muss, damit man dem Provider übermitteln kann, ob es sich um eine internationale, nationale oder um eine Endgeräte-Nummer handelt.

    Sicherlich sollte eine weitere Entwicklung in den CHAN_MISDN gesteckt werden, welche die Integration des Treibers direkt in den Asterisk bringt. Nur werden so zwei Zweige gebaut, welche beide den selben Nutzen haben.

    Sicherlich werden sich Leute finden lassen, welche einen neuen CHAN_MISDN entwickeln werden - jedoch werden die Entwickler von mISDN sich diesem Thema nicht widmen.

    Liebe Grüße,
    Michael.
     
  9. JanG80

    JanG80 Mitglied

    Registriert seit:
    12 Juni 2008
    Beiträge:
    237
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe damit auch zu kämpfen gehabt. Meine Lösung sieht so aus:

    Code:
    /etc/asterisk/misdn.conf
    .
    .
    .
    [intern]
    ports=2
    context=default
    msns=*
    [B][U]overlapdial=2[/U][/B]
    .
    .
    .
     
  10. khalezari

    khalezari Neuer User

    Registriert seit:
    19 Nov. 2008
    Beiträge:
    20
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    chan_lcr

    Hallo,
    bei dem Befehl sudo ./configure --with-asterisk in LCR verzeichnis bekomme ich folgendes Problem:(
    configure: error: in `/usr/src/lcr':
    configure: error: --with-asterisk was given, but test for header-file asterisk/channel.h failed
    See `config.log' for more details.

    weißt vielleicht Jemand worum geht es?
     
  11. byxor

    byxor Neuer User

    Registriert seit:
    18 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wahrscheinlich benutzt Du Asterisk-1.6

    Das geigefügte Patch hilft beim Compilieren, leider ist der Asterisk danach nicht sonderlich stabil :-( . Einige weitere Headerdateien, z.B. frame.h haben sich beim Übergang von 1.4 -> 1.6 geändert.

    diff --git a/bchannel.c b/bchannel.c
    index c25d770..473de82 100644
    --- a/bchannel.c
    +++ b/bchannel.c
    @@ -29,6 +29,11 @@
    #define MISDN_OLD_AF_COMPATIBILITY 1
    #include <compat_af_isdn.h>

    +#define HAVE_ATTRIBUTE_always_inline 1
    +#define HAVE_ARPA_INET_H 1
    +#define HAVE_TIMERSUB 1
    +
    +#include <asterisk/compiler.h>
    #include <asterisk/frame.h>


    diff --git a/chan_lcr.c b/chan_lcr.c
    index acc485d..53a7fb6 100644
    --- a/chan_lcr.c
    +++ b/chan_lcr.c
    @@ -121,6 +121,12 @@ it is called from ast_channel process which has already locked ast_channel.

    #include <semaphore.h>

    +#define HAVE_ATTRIBUTE_always_inline 1
    +#define HAVE_ARPA_INET_H 1
    +#define HAVE_TIMERSUB 1
    +
    +#include <asterisk/compiler.h>
    +#include <asterisk/buildopts.h>
    #include <asterisk/module.h>
    #include <asterisk/channel.h>
    #include <asterisk/config.h>
    diff --git a/configure.ac b/configure.ac
    index ef76a4e..9012f57 100644
    --- a/configure.ac
    +++ b/configure.ac
    @@ -59,11 +59,11 @@ AC_ARG_WITH([asterisk],
    [with_asterisk="check"])

    AS_IF([test "x$with_asterisk" != xno],
    - [AC_CHECK_HEADERS([asterisk/channel.h],
    + [AC_CHECK_HEADERS([asterisk/compiler.h],
    [with_asterisk="yes"],
    [if test "x$with_asterisk" != xcheck ; then
    AC_MSG_FAILURE(
    - [--with-asterisk was given, but test for header-file asterisk/channel.h failed])
    + [--with-asterisk was given, but test for header-file asterisk/compiler.h failed])
    fi
    ])
    ])
     
  12. khalezari

    khalezari Neuer User

    Registriert seit:
    19 Nov. 2008
    Beiträge:
    20
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Lcr

    Hallo,
    danke für die Antwort:p
    Ich habe Kein ISDN-Leitung (AMT) und ich benutze eine HFC Karte , dass es simuliert, damit durch Asterisk mit Twinkle zu ISDN-Telefon telefoniere.
    Ich habe bei Start von LCR folgene Fehlermeldung:
    pse@asterisk:~$ lcr fork

    ** LCR Version 1.3

    pse@asterisk:~$
    LCR: Starting daemon.
    could not open /dev/mISDNtimer Permission denied
    It seems that you don't use udev filesystem. You may use this workarround:

    Do 'cat /proc/misc' and see the number in front of 'mISDNtimer'.
    Do 'mknod /dev/mISDNtimer c 10 xx', where xx is the number you saw.
    Note: This number changes if you load modules in different order, that use misc device.
    ERROR open_layer3() failed for port 0
    Warning: Not enough memory to lock paging, exitting...

    und wenn ich statt XX , 60 eingebe:
    pse@asterisk:~$ mknod /dev/mISDNtimer c 10 60

    bekomme ich dann:
    mknod: „/dev/mISDNtimer“: File exists

    bei Befehl :
    lcradmin state
    kommt nur diese Meldung
    Int (port 0: ) extension not loaded

    ich habe in mISDNuser bei Installieren kein
    libisdnnet.so gefunden, es sollte das NT-mode unterstützen.

    Ich habe auch in Interface.conf folgendes:
    [Int]
    extension
    msn 1234
    portnum 0
    nt
    ptp
    tones yes

    trotzdem bekomme ich beim Aufheben das Telefon kein Tonsignal und der schirm zeigt: Installationsfehler.:(((

    Übrigens, Ich habe auch cross over Ethernet Kabel benutzt.
    wer weiß wo liegt das Problem?:blonk::blonk::heul:
     
  13. khalezari

    khalezari Neuer User

    Registriert seit:
    19 Nov. 2008
    Beiträge:
    20
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    lcr

    hier ist im detail bei Auführen von
    lcradmin state

    Int (port 0: ) extension not loaded
    ────────────────────────────────────────────────────────────────────────────────
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ...
    18.12.08 12:44:16.842 CH: PORT (open) port 0 mode network channels 2
    18.12.08 12:44:16.842 --: LCR 1.3 started, waiting for calls...
    18.12.08 12:44:19.709 CH: PH_DEACTIVATE INDICATION N<-U port 0
    18.12.08 13:23:35.260 --: LCR terminated signal 15
    18.12.08 13:23:35.260 CH: PORT (close) port 0
    ────────────────────────────────────────────────────────────────────────────────
     
  14. byxor

    byxor Neuer User

    Registriert seit:
    18 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    und auch den misdn-socket-branch benutzt ???
    bash-3.2# pwd
    /usr/src/mISDN
    bash-3.2# ./checkout-branch.sh socket
    git checkout: branch socket already exists
    bash-3.2#
     
  15. khalezari

    khalezari Neuer User

    Registriert seit:
    19 Nov. 2008
    Beiträge:
    20
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Lcr

    Hallo,
    das it das Ergebnis :

    pse@asterisk:~/Desktop$ ./checkout-branch.sh socket
    ./checkout-branch.sh: line 11: git-checkout: command not found
    ./checkout-branch.sh: line 12: git-config: command not found
    ./checkout-branch.sh: line 13: git-config: command not found
    pse@asterisk:~/Desktop$

    was soll ich jetzt tun?;)
     
  16. byxor

    byxor Neuer User

    Registriert seit:
    18 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    git installieren ...

    -shady
     
  17. khalezari

    khalezari Neuer User

    Registriert seit:
    19 Nov. 2008
    Beiträge:
    20
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Lcr

    Hallo,
    mein Kernel ist 2.6.27 generic und hat mISDN dabei.
    trotzdem meinst du dass ich git zu installieren?
    muss ich auch den Kernel 2.6.28-rc9 installieren?
     
  18. byxor

    byxor Neuer User

    Registriert seit:
    18 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    LCR + Asterisk-1.6

    Du brauchst mISDNuser , wahrscheinlich hilft Dir auch diese Version
    http://www.linux-call-router.de/download/lcr-1.3/
    von Andreas Eversberg.

    Also, der Weg kann wie folgt gehen:

    alle (!) alten misdn-v1 Reste entfernen.
    mISDN laut Anleitung http://www.misdn.org installieren.
    mISDNuser laut Anleitung http://www.misdn.org installieren
    asterisk-1.6 (z.B. vom svn installieren), oder die aktuelle 1.6er
    svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk

    lcr (entweder per git oder http://www.linux-call-router.de/download/lcr-1.3/) auspacken.
    patchen mit lcr.patch
    (falls Du gegen den asterisk-1.6.0xxxx linken möchtest, bitte
    den Abschnitt
    .....
    + bchannel_transmit(call->bchannel, f->data.ptr, f->samples);
    ....
    + call->read_fr.data.ptr = call->read_buff;
    ....
    wieder entfernen.
    lcr compilieren
    lcr configurieren (laut Anleitung ganz einfach :)
    Asterisk starten
    freuen :)

    Weitere Probleme mit dem LCR:
    ich benutze den LCR am s0-Bus gemeinsam mit anderen Teilnehmern (alte Basisstation). Falls von dieser Basisstation telefoniert wird, findet LCR keinen ausgehenden Channel :-(
    und nie nie wieder :-(
     
  19. byxor

    byxor Neuer User

    Registriert seit:
    18 Dez. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    das Patch:
     
  20. khalezari

    khalezari Neuer User

    Registriert seit:
    19 Nov. 2008
    Beiträge:
    20
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,
    eine dumme Frage, reicht mir wenn ich nur das Ethernet kabel in die Mitte schneiden und Draht 3 3 mit 4 und 5 mit 6 verbinde und umgekehrt,ich meine was in Doku von http://www.linux-call-router.de/ als "The VERY SIMPLE way" geschrieben ist oder muss ich auch mit ohm-meter noch die schritte in "The COMFORTABLE way" machen um Stromvesorgung durch NTBA und Netzwerk terminatiion gewährleisten?:confused: