Asterisk 1.6 + mISDN V2 + chan_lcr

ObelX

Neuer User
Mitglied seit
1 Mai 2009
Beiträge
16
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

jaja, ich weiß, ich bin nicht der erste, aber ich versuche folgende Konfiguartion zum Laufen zu bekommen und bin im Augenblick ratlos:

System:
- Standard-x86-Maschine
- HFC-kompatible Karte mit 4xS0 (hfcmulti)
- Debian Lenny
- Linux 2.6.26.8custom
- gcc (Debian 4.3.2-1.1) 4.3.2
- mISDN und mISDNuser V2 via git
- lcr via git
- Asterisk 1.6 Trunk

Meine bisherige Vorgehensweise:

1. Kernel für System optimiert und ohne mISDN kompiliert, weil dies zuvor absolut nicht laufen wollte. Bin übrigens nicht auf diese Kernel-Version festgelegt, da ich auf dem System ohnehin experimentiere.

2. mISDN und mISDNuser:
a) Beides mit git clone geholt;
b) Socket-Branch ausgewählt;
c) kompiliert;
d) installiert.
3. Asterisk 1.6
a) inkl. Addons mit SVN geholt;
b) kompiliert;
c) installiert.

4. Zunächst habe ich einiges mit chan_misdn probiert. Ich habe Asterisk auch dazu bewegen können, dass er die NT-Ports anspricht (TE leider nicht), jedoch nur manchmal und häufig mit einer anschließenden Kernel-Panik.

5. Ich habe durch viel Lesen hier einige zufriedene User von chan_lcr gesehen. Also:
a) LCR mit git von call-linux-router.de geholt;
b) folgendes gemacht:
Code:
$ ./configure
(...)
checking asterisk/compiler.h usability... yes checking asterisk/compiler.h presence... yes checking for asterisk/compiler.h... yes checking openssl/rsa.h usability... yes checking openssl/rsa.h presence... yes
checking for openssl/rsa.h... yes	
(...)
checking mISDNuser/mbuffer.h usability... no checking mISDNuser/mbuffer.h presence... no checking for mISDNuser/mbuffer.h... no [...]
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

$ make
(...)
In file included from /usr/include/asterisk/astobj2.h:20,
                 from /usr/include/asterisk/lock.h:63,
                 from /usr/include/asterisk/utils.h:31,
                 from /usr/include/asterisk/module.h:31,
                 from chan_lcr.c:130:
/usr/include/asterisk/compat.h:105: error: conflicting types for ⤘strtoq⤙
/usr/include/stdlib.h:196: error: previous declaration of ⤘strtoq⤙ was here
chan_lcr.c: In function ⤘lcr_write⤙:
chan_lcr.c:1998: error: incompatible type for argument 2 of ⤘bchannel_transmit⤙
chan_lcr.c: In function ⤘lcr_read⤙:
chan_lcr.c:2038: error: incompatible types in assignment
chan_lcr.c: In function ⤘load_module⤙:
chan_lcr.c:2535: warning: passing argument 2 of ⤘ast_register_application2⤙ from incompatible pointer type
make[1]: *** [chan_lcr.po] Fehler 1
make: *** [all] Fehler 2

Es scheint mir so, als käme er mit einigen Files von Asterisk 1.6 grundlegend nicht zurecht. Ist diese Annahme zutreffend?

Ich habe in diesem Thread, der leider gestorben zu sein scheint, ein paar Tipps zum Patchen des Asterisks gesehen, allerdings scheinen diese mit der aktuellen Version nicht mehr überein zu stimmen, zumindest konnte ich nichts davon anwenden.

Also, zusammengefasst, wer hat obige Konstellation (Asterisk 1.6, mISDN V2, chan_lcr) bereits - wenn auch nur experimentell - zum Laufen gebracht und vor allem wie?

Ich würde ungern auf die 1.4 gehen, da das System wie gesagt experimentellen Charakter hat und ich eine 1.6 mit AVM B1 bereits betreibe und damit einigermaßen vertraut bin.

Danke und Gruß
 
Hi ObelX,

ich habe deine Konfiguration bei mir am laufen.

Kernel 2.6..27-11-server

LCR 1.3

Asterisk 1.6.0.9

1xS0 hfc Karte

Ich habe nichts vom git genommen. Alles die ganz normalen Versionen von dem Websiten. Das System läuft seit 4 Wochen stabil bei mir.
 
Hallo,

danke für die Info, das ist ja schonmal relativ ermutigend.

Kernel 2.6..27-11-server

LCR 1.3

Asterisk 1.6.0.9

1xS0 hfc Karte

Kannst Du mir noch sagen, welche mISDN- und mISDNuser-Version Du genommen und woher Du diese bezogen hast(cket-Branch)

Dann könnte ich das Ganze mit einem frischen System nochmal nachspielen.



Danke, ObelX
 
Hi,

ich habe die Versionen einfach von der mISDN Seite geholt.
Dort kannst diese ja runterladen.

mISDN braucht Du ja nur die User Sachen. Der Rest ist schon im Kernel. Da habe ich nichts eigenes gebaut.

version 1-1-2

Christian
 
Juten tach,

falls jemand auf diesen Thread stößt und mit ähnlichem kämpft:

Die Asterisk-Version war schuld an meinem Problem.
Mit der 1.6.0.9 lief es einwandfrei, während die aktuellen SVN-Revisionen offenbar für chan_lcr inakzeptable Änderungen enthielten, so dass sich dieser nicht kompilieren ließ (Stand Ende Mai '09).

Insgesamt hat mich das Zusammenspiel der 4S0-Karte mit dem Stern zwar nicht überzeugt, aber gelaufen hat es durchaus.

Sofern Bedarf besteht kann ich meine Vorgehensweise gern nochmal dokumentieren, wenn's jemand gebrauchen kann...

Vielen Dank und Gruß
 
JSofern Bedarf besteht kann ich meine Vorgehensweise gern nochmal dokumentieren, wenn's jemand gebrauchen kann...

O ja, zu gerne, wenn Du den Aufwand nicht scheust. Ganz herzlichen Dank im voraus, denn die offizielle mISDN-Seite ist mE total überholt und lückenhaft. "Das Asterisk-Buch" streigt mISDN nur vom Namen her, gibt aber ansonsten hier gar keine Hilfe (auch nicht die aktuelle Online-Version) und die Infos, die ich bislang im Netz gefunden habe bezogen sich immer wieder auf ältere Versionen (die dann wieder andere Probleme mit sich brachten).

Daher: Jedes noch so kleine bisschen an Dokumentation wird hilfreich für die Akzeptanz von Asterisk im ISDN-getriebenen Markt ein. Bitte!
 
O ja, zu gerne, wenn Du den Aufwand nicht scheust.

Ich bin gerade auf dem Sprung, evtl. komme ich unterwegs dazu (WLAN oder UMTS vorausgesetzt) oder spätestens in 8-10 Tagen.
Habe auch ein paar URL gesammelt, die ich dann zum Besten geben kann. Sollte ich es vergessen bitte PM zwecks Erinnerung.

Gruß
 
Hallo,

an meine erfolgreichen vorredner!
wäre super wenn jemand mir helfen könnte bekomme misdn nicht zum laufen und die verbinudng zu astersik ist mir auch nicht ganz klar!

gern auch per pm!

gruß wuptal
 
Mit weiterer Hilfe entstand der Artikel auf der folgenden Seite: http://www.gsurf.de/index.php?id=56

Schau Dir eventuell auch noch Gemeinschaft (http://www.amooma.de/gemeinschaft) an. Dort findest Du, zuminmdest was alles außerhalb von mISDN betrifft, eine sehr gute Unterstützung durch entsprechende Mailinglisten. Mit mISDN will man dort leider nichts zu tun haben (aber versuchs trotzdem gerne mal!).

Vorgehen: Erst Gemeinschaft (am besten von der ISO) installieren. Dann nachträglich LCR und mISDN installieren (wie bei http://www.gsurf.de/index.php?id=56 beschrieben). Dann noch die Verbindung zwischen chan-lcr und Gemeinschaft herstellen (dies geht NICHT über irgendwelche WEB-Menüs, sondern nur "von Hand"). Leider bin ich noch nicht dazu gekommen genau dies endlich einmal zu dokumentieren. Aber es funktioniert definitiv!!

Viel Erfolg und BITTE BERICHTE!
 
Ersetz die ISDN-Karte durch ein Mediengateway, und gut ist. Gemeinschaft ist übrigens ein sehr guter Ansatz.
 
Ersetz die ISDN-Karte durch ein Mediengateway, und gut ist. Gemeinschaft ist übrigens ein sehr guter Ansatz.

Auch dir als Moderator sollte aufgefallen sein, dass hier der misdn-Bereich ist und sich hier eben nicht über Mediengateways ausgetauscht wird.

:groesste:
 
die Kombination Debian + Asterisk 1.6.2.7 + HFC-S mit DAHDI laeuft auf den HFC-S Karten bekanntlich noch nicht im NT Mode.

Ist ja nicht verwunderlich. Digium hat kein Interesse diese Billigkarten zu unterstuetzen.
Entsprechend duerftig ist seit jeher der Support der HFC-S Karten im Upstream von Asterisk.

Deswegen habe ich jetzt als Alternativloesung zu chan_dahdi mal das recht aktuelle chan_lcr getestet.

Was soll ich sagen - ich bin begeistert!

HFC-S PCI laeuft hier mit chan_lcr seit 2 Tagen ohne Probleme sowohl im NT- als auch TE - Mode.

Folgende Eckdaten (siehe auch Signatur):

Hardware:
- Intel D945GSEJT
- HFC-S PCI

Software:
- debian squeeze
- kernel 2.6.30
- asterisk-1.6.2.6
- lcr-1.7/mISDN-20100525
- lcr-1.7/mISDNuser-20100525
- lcr-1.7/lcr-20100601

ein herzliches Dankeschoen an die Entwickler von mISDN und LCR fuer dieses tolle Stueck Software!

- sparkie
 
Zuletzt bearbeitet:
Nun wurde Debian 6.0 veröffentlicht. So viel ich weiß, enthält die Debian 6.0 Destribution den mISDN bereits im Kernel.
Muss mISDN dennoch installiert werden? Oder reicht es wenn ich mISDNuser installiere? Und anschließend die neueste Lcr implementierung nehme?

Vielen Dank

Alex
 
misdn2 ist im aktuellen kernel implementirt. du mußt lcr zusätzlich zum asterisk installieren. über chan_lcr nimmt LCR das gespräch an und gibt es dann an den asterisk weiter. denn LCR ist auch ein SIP server wie Asterisk. wenn ich das richtig verstanden habe.
 
das reicht, zum Kompilieren von lcr brauchst du halt noch die Quellen, also asterisk-dev usw.

Läuft hier mit einer HFC-S USB "Karte" ganz gut - aber nicht so stabil wie asterisk 1.4 und mISDN 1.x

Problem ist einmal, dass der Kanal offenbar nach Auflegen nicht freigegeben wird, und bei zwei gleichzeitigen Anrufen stürzt das Modul hfcsusb nachvollziehbar ab, wenn der erste der beiden Anrufe beendet wird. "rmmod -f" und anschließendes Neuladen hilft - ist aber auf dauer keine Lösung.

vg, detejo
 
Gibt es schon eine Anleitung wie man chan_lcr an Gemeinschaft 3.0 koppeln kann?
Ich habe LCR und mISDN so weit intalliert. Auch ein testcall auf Basis von LCR funktioniert soweit.
Nun weiß ich nicht wie man chan_lcr an Gemischaft 3.0 anbinden kann...
Kann einer kurz beschreiben wie man es machen kann?

Danke
 
Hallo nachdem ich nur ewig versucht habe mit asterisk dahdi und hfcpci herumzuhantieren und keinen Erfolg hatte, bin ich nun zu lcr gekommen durch einen Tipp von Sparkie..

Leider gestaltet sich dies auch nicht soo einfach.

ich habe
asterisk 1.6.2.16.1
mISDN im Kernel von squeeze
mISDNUser von der Website (http://www.misdn.org/index.php/MISDN_v2_Download)
lcr 1.7

Wenn ich nun aber lcr nach allem kompiliere kommt bei make folgender Fehler
Code:
chan_lcr.c: In function ‘lcr_indicate’:
chan_lcr.c:2274: warning: assignment from incompatible pointer type
chan_lcr.c:2289: warning: assignment from incompatible pointer type
chan_lcr.c:2316: warning: assignment from incompatible pointer type
chan_lcr.c:2381: error: dereferencing pointer to incomplete type
chan_lcr.c:2382: error: dereferencing pointer to incomplete type
chan_lcr.c: In function ‘load_module’:
chan_lcr.c:2818: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type
/usr/include/asterisk/module.h:427: note: expected ‘int (*)(struct ast_channel *, void *)’ but argument is of type ‘int (*)(struct ast_channel *, void *)’
make[1]: *** [chan_lcr.po] Fehler 1
make[1]: Leaving directory `/usr/src/lcr'
make: *** [all] Fehler 2

Hat jemand einen Patch oder ähnliches. Ich denke es hängt mit der asterisk Version zusammen.
 
Hat jemand einen Patch oder ähnliches.

ich habe in meiner Patchkiste gekramt. Diesen Patch brauchte ich bei meinem letzten Build nicht mehr. Irgendwo ist wohl ein Unterschied zwischen deinem und meinem System.
der Patch:

Code:
--- chan_lcr.c  2010-05-31 18:27:26.000000000 +0200
+++ chan_lcr.c    2010-06-13 13:46:13.000000000 +0200
@@ -2247,7 +2247,7 @@
        union parameter newparam;
         int res = 0;
         struct chan_call *call;
-       const struct tone_zone_sound *ts = NULL;
+       const struct ast_tone_zone_sound *ts = NULL;
 
        ast_mutex_lock(&chan_lock);
         call = ast->tech_pvt;

ach weil ich's gerade sehe. Ich wuerde grundsaetzlich alles aus dem git nehmen. ich weiss nicht wie alt das andere Zeug das du genannt hast schon ist.

also
Code:
git-clone git://git.misdn.org/mISDN.git/
git-clone git://git.misdn.org/mISDNuser.git/
git-clone git://git.misdn.org/lcr.git/

wichtig ist auch die isdn Treiber des Originalkernels vor dem Install der neuen (aus dem mISDN.git) komplett zu entfernen:

Code:
rm -rfv /lib/modules/`uname -r`/kernel/drivers/isdn


- sparkie
 
Zuletzt bearbeitet:
Hi Sparkie,
danke für deine schnelle Antwort und Hilfe.
Habe es jetzt nochmals mit dem squeeze mISDN versucht. Bei patch von lcr kommt

Code:
/usr/src/lcr# patch -p0 < lcr.patch 
patching file chan_lcr.c
Hunk #1 FAILED at 2247.
1 out of 1 hunk FAILED -- saving rejects to file chan_lcr.c.rej

Hm. Ich versuch es jetzt nochmal mit allen git versionen.
 
So beim make von mISDN habe ich schon den ersten Fehler :(

Code:
/usr/src/mISDN/standalone/drivers/isdn/mISDN/hwchannel.c: In function ‘mISDN_freedchannel’:
/usr/src/mISDN/standalone/drivers/isdn/mISDN/hwchannel.c:113: error: implicit declaration of function ‘flush_work_sync’
make[6]: *** [/usr/src/mISDN/standalone/drivers/isdn/mISDN/hwchannel.o] Fehler 1
make[5]: *** [_module_/usr/src/mISDN/standalone/drivers/isdn/mISDN] Fehler 2
make[4]: *** [sub-make] Fehler 2
make[3]: *** [all] Fehler 2
make[3]: Leaving directory `/usr/src/linux-headers-2.6.32-5-686'
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
 
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.