danisahne-mod ..::Usersupport::..

Status
Für weitere Antworten geschlossen.
Fehler beim Kompilieren ds-mod 0.2.5 unter ubuntu breezy

Hallo zusammen,

ich würde auch gerne den ds-mod 0.2.5 (heute runtergeladen) benutzen, weil
ich diese Funktinen jetzt schon lange gesucht habe.
Allerdings habe ich noch nie crosscompiled - vielleicht mache ich deswegen schon prinzipiell was falsch?

Ich habe eine 7050 von 1und1 mit aktueller FW 14.04.01.
Ich will unter Ubuntu Breezy (5.10) ds-mod kompilieren.
Mein Problem fängt allerdings schon beim Kompilieren an: ich wähle in menuconfig abweichend von der Standardvorgabe folgendes aus:
Entferne Remove Help und Assistent
Package: dnsmasq 2.26, dropbear 0.48.1
Extensions: firewall, syslogd und wol-cgi

dann mache ich make und bekomme folgende ausgabe:

Code:
tommy@obelix:~/ds/ds-0.2.5$ make
tar -C source  -xjf tools/source/find-squashfs.tar.bz2
touch source/find-squashfs/.unpacked
make CC="gcc" LD="ld -static" \
        -C source/find-squashfs
make[1]: Entering directory `/home/tommy/ds/ds-0.2.5/source/find-squashfs'
gcc -W -Wall -O2   -c -o find-squashfs.o find-squashfs.c
find-squashfs.c:27:19: warning: multi-character character constant
gcc -o find-squashfs find-squashfs.o
make[1]: Leaving directory `/home/tommy/ds/ds-0.2.5/source/find-squashfs'
cp source/find-squashfs/find-squashfs tools/find-squashfs
wget -P dl [url]http://www.7-zip.org/dl/lzma406.zip[/url]
--21:32:49--  [url]http://www.7-zip.org/dl/lzma406.zip[/url]
           => `dl/lzma406.zip'
Resolving [url]www.7-zip.org[/url]... 69.73.175.23
Connecting to www.7-zip.org|69.73.175.23|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 185,934 (182K) [application/zip]

100%[============================================================================>] 185,934      136.91K/s

21:32:51 (136.55 KB/s) - `dl/lzma406.zip' saved [185934/185934]

unzip -q dl/lzma406.zip -d source/lzma406
chmod -R +w source/lzma406
dos2unix source/lzma406/SRC/7zip/Compress/LZMA/LZMADecoder.*
for i in tools/make/patches/*.lzma.patch; do \
        patch -d source/lzma406 -p0 < $i; \
done
patching file SRC/7zip/Compress/LZMA/LZMADecoder.cpp
patching file SRC/7zip/Compress/LZMA/LZMADecoder.h
patching file SRC/7zip/Compress/LZMA_Lib/makefile
patching file SRC/7zip/Compress/LZMA_Lib/ZLib.cpp
touch source/lzma406/.unpacked
make CXX="g++ -O3 -Wall" AR="ar" \
        -C source/lzma406/SRC/7zip/Compress/LZMA_Lib
make[1]: Entering directory `/home/tommy/ds/ds-0.2.5/source/lzma406/SRC/7zip/Compress/LZMA_Lib'
g++ -O3 -Wall -c ZLib.cpp
ZLib.cpp:28:18: error: zlib.h: No such file or directory
../../../Common/MyWindows.h:120: warning: 'struct IUnknown' has virtual functions but non-virtual destructor
../LZMA/../../IStream.h:14: warning: 'struct ISequentialInStream' has virtual functions but non-virtual destructor
../LZMA/../../IStream.h:32: warning: 'struct ISequentialOutStream' has virtual functions but non-virtual destructor
../LZMA/../../IStream.h:43: warning: 'struct IInStream' has virtual functions but non-virtual destructor
../LZMA/../../IStream.h:53: warning: 'struct IOutStream' has virtual functions but non-virtual destructor
../LZMA/../../IStream.h:64: warning: 'struct IStreamGetSize' has virtual functions but non-virtual destructor
../LZMA/../../IStream.h:74: warning: 'struct IOutStreamFlush' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:13: warning: 'struct ICompressProgressInfo' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:22: warning: 'struct ICompressCoder' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:35: warning: 'struct ICompressCoder2' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:69: warning: 'struct ICompressSetCoderProperties' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:79: warning: 'struct ICompressSetDecoderProperties' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:88: warning: 'struct ICompressWriteCoderProperties' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:97: warning: 'struct ICompressGetInStreamProcessedSize' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:106: warning: 'struct ICompressGetSubStreamSize' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:115: warning: 'struct ICompressSetInStream' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:124: warning: 'struct ICompressSetOutStream' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:133: warning: 'struct ICompressSetInStreamSize' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:142: warning: 'struct ICompressSetOutStreamSize' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:151: warning: 'struct ICompressFilter' has virtual functions but non-virtual destructor
../LZMA/../../ICoder.h:166: warning: 'struct ICryptoProperties' has virtual functions but non-virtual destructor
../LZMA/../LZ/IMatchFinder.h:11: warning: 'struct IInWindowStream' has virtual functions but non-virtual destructor
../LZMA/../LZ/IMatchFinder.h:26: warning: 'struct IMatchFinder' has virtual functions but non-virtual destructor
../LZMA/../LZ/IMatchFinder.h:38: warning: 'struct IMatchFinderCallback' has virtual functions but non-virtual destructor
../LZMA/../LZ/IMatchFinder.h:48: warning: 'struct IMatchFinderSetCallback' has virtual functions but non-virtual destructor
ZLib.cpp:53: error: expected ',' or '...' before '*' token
ZLib.cpp:53: error: ISO C++ forbids declaration of 'Bytef' with no type
ZLib.cpp:108: error: ISO C++ forbids declaration of 'Bytef' with no type
ZLib.cpp:108: error: expected ';' before '*' token
ZLib.cpp: In constructor 'CInMemoryStream::CInMemoryStream(int)':
ZLib.cpp:54: error: class 'CInMemoryStream' does not have any field named 'm_data'
ZLib.cpp:54: error: 'data' was not declared in this scope
ZLib.cpp:54: error: 'size' was not declared in this scope
ZLib.cpp: In member function 'virtual LONG CInMemoryStream::Read(void*, UInt32, UInt32*)':
ZLib.cpp:66: error: 'm_data' was not declared in this scope
ZLib.cpp: At global scope:
ZLib.cpp:118: error: expected `)' before '*' token
ZLib.cpp:177: error: ISO C++ forbids declaration of 'Bytef' with no type
ZLib.cpp:177: error: expected ';' before '*' token
ZLib.cpp: In member function 'virtual LONG COutMemoryStream::Write(const void*, UInt32, UInt32*)':
ZLib.cpp:130: error: 'm_data' was not declared in this scope
ZLib.cpp: At global scope:
ZLib.cpp:183: error: expected constructor, destructor, or type conversion before 'int'
ZLib.cpp:246: error: expected constructor, destructor, or type conversion before 'int'
make[1]: *** [ZLib.o] Error 1
make[1]: Leaving directory `/home/tommy/ds/ds-0.2.5/source/lzma406/SRC/7zip/Compress/LZMA_Lib'
make: *** [source/lzma406/SRC/7zip/Compress/LZMA_Lib/liblzma.a] Error 2
t


Da scheint entweder was beim DL oder patchen falsch zu laufen oder es passt
nicht zueinander.
Oder suche ich an der völlig falschen Stelle?

Ich wäre sehr dankbar, wenn mir jemand helfen könnte. :noidea:

Viele Grüße

Thomas
 
Hi.
Ich kompiliere auch unter Ubuntu. Ich kann mich jetzt nicht mehr dran erinnern was ich genau gemacht habe.
block-qcow.c:26:18: zlib.h: No such file or directory

block-qcow.c: In function `decompress_buffer':
block-qcow.c:407: error: `z_stream' undeclared (first use in this function)


Hmm, it says it did not find zlib. So what do we do? We go back to Synaptic, search for "zlib" and install the development package called zlib1g-dev:

zlib1g-dev - compression library - development
zlib is a library implementing the deflate compression method found in gzip
and PKZIP. This package includes the development support files.
MfG Oliver
 
bz2

Hallo

das geht mit ds-mod

tar cvf - /use/mww/cgi-bin | gzip > foobar.tar.gz


aber ich brauche bz2

tar cvf - /use/mww/cgi-bin | bzip2 > foobar.tar.bz2



habe ich was vergessen zu installieren??? oder mache ich was falsch??

Mit freundlichen Grüßen

Thomas
 
Tron schrieb:
aber ich brauche bz2 [...] habe ich was vergessen zu installieren??? oder mache ich was falsch??
Hallo Thomas, du machst nichts falsch. bzip2 gibt es im ds-mod nicht. (Was hast du denn spezielles vor, dass dir gzip nicht ausreicht?)

Gruß,
Andreas
 
bz2 hab ich rausgenommen, um die busybox kleiner zu machen
 
Keine Bildschirmausgabe bei make menuconfig

Hallo,

bei mir funktioniert alles fast perfekt, bis auf:
unter cygwin erhalte ich keine Bildschirmausgabe des Konfigurationsbildschirms, wenn ich make menuconfig aufrufe. Es erscheint lediglich folgendes:


Code:
Volker@VOLKER /home/volker/ds-0.2.5
$ make menuconfig
#
# using defaults found in .config
#

Bis auf einen schwarzen Bildschirm mit weißem blinkenden Cursor sehe ich dann nichts!

Was mache ich falsch?
 
bitte bitte erschlagt mich nicht...
vergesst was bisher hier stand...danke und nicht zu doll auf klein darky einschlagen bitte
 
Zuletzt bearbeitet:
Erfahrungen mit ds-0.2.5

Hallo,

ich habe gestern von 0.2rc6 auf ds-0.2.5 upgedatet - vor allem, um das integrierte openvpn zu verwenden. Bisher habe ich das Binary von http://www.the-construct.com/?p=&l= verwendet und über die debug.cfg gestartet. Hat gut geklappt.

Folgende Probleme/Frage habe ich mit der neuen Version:

  • Der telefon-Dämon läuft fast immer mit 100% CPU-Last - ich habe noch nicht rausgefunden, wann nicht. Evtl. hat es was mit dem Callmonitor zu tun, bin mir aber nicht sicher. Ich experimentiere und beobachte noch.
  • openvpn: Bleibt beim Verbindungaufbau (als Client) nach 3x "VERIFY OK" mit 100% CPU hängen. Einfaches kill reicht dann auch nicht mehr, kill -9 beendet ihn. Das alte Binary von "The-Construct" geht noch.
  • iptables 1. Frage: Nach Laden diverser Kernel-Module konnte ich es benutzen. Das Einbinden der firewall in make menuconfig hat mich dabei unterstützt, auch wenn ich es dann nicht verwende sondern alle iptables selber baue. Wo kann ich nachlesen, welche Modules ich 1. Einkompilieren und 2. Laden muss? Da hat mir auch die netfilter-Homepage nicht geholfen.
  • iptables 2. Frage: "iptables -p icmp --icmp-type echo-request" bringt "Unknown arg `--icmp-type'" - dafür habe ich nichts gefunden. Auf der netfilter-Homepage stand nur in etwa "bei -p icmp" wird die icmp-Erweiterung automatisch geladen.
  • iptables 3. Frage: Nach Laden des Conntack-Moduls weist der Kernel immer wieder Pakete mit "...ip_conntrack_tcp: INVALID: invalid TCP flag combinat" o.ä. ab. Das ist ja gut so. Aber warum kommen die nicht an den iptables-Chains vorbei? Das scheint vorher zu passieren.

Ich habe im Wiki angefangen meine Erfahrungen einzutragen - vielleicht inspieriert das auch andere, da weiter zu machen.

Vielen Dank,


Dirk
 
dsteinkopf schrieb:
auf ds-0.2.5 upgedatet [...] Der telefon-Dämon läuft fast immer mit 100% CPU-Last
Hallo Dirk, benutzt du zusätzlich noch den LCR Updater? Bei dem gab es in früheren Versionen mal Probleme, die sich genau so geäußert haben wie bei dir. Such einfach mal im LCR-Thread.

Gruß,
Andreas
 
buehmann schrieb:
Hallo Dirk, benutzt du zusätzlich noch den LCR Updater? Bei dem gab es in früheren Versionen mal Probleme, die sich genau so geäußert haben wie bei dir. Such einfach mal im LCR-Thread.

Danke. Das war es zwar nicht, aber das Studium dieses Threads hat mich auf die Idee gebraucht, den callmonitor mal im make menuconfig zu deaktivieren. Das scheint geholfen zu haben. Die CPU-Last war auch hoch, wenn ich den Callmonitor in der Weboberfläche nicht aktiviert hatte.

Ich hatte im make menuconfig callmonitor an aber telefon aus. Ist das eine Kombination, die sich nicht verträgt?


Dirk
 
Hallo Dirk,

dann interessiert mich das Problem verständlicherweise sehr.
dsteinkopf schrieb:
den callmonitor mal im make menuconfig zu deaktivieren. Das scheint geholfen zu haben. Die CPU-Last war auch hoch, wenn ich den Callmonitor in der Weboberfläche nicht aktiviert hatte.
Wenn der Callmonitor nicht läuft, dürfte es eigentlich keinen Unterschied machen, ob er installiert ist oder nicht. Seltsam... Hast du zufällig noch etwas beobachten können? Sind vielleicht doch irgendwelche Prozesse vom Callmonitor gelaufen? Und es war eindeutig der telefon-Prozess, der die CPU zu 100% belastet hat? Das macht für mich überhaupt keinen Sinn. :confused:

Ich hatte im make menuconfig callmonitor an aber telefon aus. Ist das eine Kombination, die sich nicht verträgt?
Nein, das ist völlig in Ordnung. Seit Version 1.0 benutzt der Callmonitor das telefon-Paket nicht mehr.

Andreas
 
dsteinkopf schrieb:
iptables 2. Frage: "iptables -p icmp --icmp-type echo-request" bringt "Unknown arg `--icmp-type'" - dafür habe ich nichts gefunden. Auf der netfilter-Homepage stand nur in etwa "bei -p icmp" wird die icmp-Erweiterung automatisch geladen.

Das habe ich inzwischen durch eincompilieren der shared libraray libipt_icmp gelöst. Trotzdem wäre da eine gewisse Übersicht/Doku schön, damit man nicht so suchen und raten. Wo finde ich sowas?

Dirk
 
buehmann schrieb:
Wenn der Callmonitor nicht läuft, dürfte es eigentlich keinen Unterschied machen, ob er installiert ist oder nicht. Seltsam... Hast du zufällig noch etwas beobachten können? Sind vielleicht doch irgendwelche Prozesse vom Callmonitor gelaufen?
Ich habe da nicht explizit drauf geachtet, doch ich denke, es wäre mir im top aufgefallen.
Und es war eindeutig der telefon-Prozess, der die CPU zu 100% belastet hat? Das macht für mich überhaupt keinen Sinn. :confused:
Da bin ich mir ganz sicher, ich habe ihn auch ein paar Mal gekillt und per Hand gestartet und habe rebootet, callmanitor gestartet und gestoppt etc. Mein Verdacht war der callmonitor - auch wenn ich keinen eindeutigen Zusammenhang "nachweisen" konnte.
Nein, das ist völlig in Ordnung. Seit Version 1.0 benutzt der Callmonitor das telefon-Paket nicht mehr.
Komisch. Komisch. Mir scheint es aber so... Keine Ahnung...


Dirk
 
buehmann schrieb:
Nein, das ist völlig in Ordnung. Seit Version 1.0 benutzt der Callmonitor das telefon-Paket nicht mehr.
Das war vielleicht etwas missverständlich. Nur um das klarzustellen: Der Callmonitor benutzt nicht mehr das telefon-Paket, also den Wrapper, der parallelen Zugriff auf die Ausgabe des telefon-Dämons erlaubt. Natürlich kommuniziert der Callmonitor immer noch mit dem telefon-Dämon, nun aber direkt über die JFritz-Schnittstelle auf Port 1012.

Andreas
 
dsteinkopf schrieb:
  • iptables 1. Frage: Nach Laden diverser Kernel-Module konnte ich es benutzen. Das Einbinden der firewall in make menuconfig hat mich dabei unterstützt, auch wenn ich es dann nicht verwende sondern alle iptables selber baue. Wo kann ich nachlesen, welche Modules ich 1. Einkompilieren und 2. Laden muss? Da hat mir auch die netfilter-Homepage nicht geholfen.
Es kommt halt immer darauf an, was du machen willst. Niemand kann dir eine generelle Antwort geben, was du brauchst. Ich würde einfach mal eine Firewall drauflos schreiben und wenn er meckert die entsprechende Lib nach /mod/lib/ kopieren und die Kernel Module mit insmod nachladen. klappt dann alles, erstellst du die Firmware nochmal mit allen Libs und Modulen, die du explizit nachladen mußtest. iptables läd automatisch Kernel Module nach, wenn sie vorhanden und benötigt werden.
dsteinkopf schrieb:
  • iptables 3. Frage: Nach Laden des Conntack-Moduls weist der Kernel immer wieder Pakete mit "...ip_conntrack_tcp: INVALID: invalid TCP flag combinat" o.ä. ab. Das ist ja gut so. Aber warum kommen die nicht an den iptables-Chains vorbei? Das scheint vorher zu passieren.
Das ist schon mehreren aufgefallen. Ich habe keine Ahnung (hab mich noch nicht genauer damit beschäftigt, warum diese Pakete als INVALID erkannt werden. Tatsache ist, dass deswegen das forewall-cgi Paket nicht zusammen mit der Telefonie funktioniert. Ist quasi noch ein offener Bug.

Mfg,
danisahne
 
buehmann schrieb:
Das war vielleicht etwas missverständlich. Nur um das klarzustellen: Der Callmonitor benutzt nicht mehr das telefon-Paket, also den Wrapper, der parallelen Zugriff auf die Ausgabe des telefon-Dämons erlaubt. Natürlich kommuniziert der Callmonitor immer noch mit dem telefon-Dämon, nun aber direkt über die JFritz-Schnittstelle auf Port 1012.

Ja, das hatte ich schon so verstanden. Trotzdem danke.
Aber umso seltsamer ist das Verhalten...

Dirk
 
danisahne schrieb:
Es kommt halt immer darauf an, was du machen willst. Niemand kann dir eine generelle Antwort geben, was du brauchst. Ich würde einfach mal eine Firewall drauflos schreiben und wenn er meckert die entsprechende Lib nach /mod/lib/ kopieren und die Kernel Module mit insmod nachladen. klappt dann alles, erstellst du die Firmware nochmal mit allen Libs und Modulen, die du explizit nachladen mußtest. iptables läd automatisch Kernel Module nach, wenn sie vorhanden und benötigt werden.

Danke, das scheint ein guter, praktikabler Tipp zu sein. Ich habs gleich mal ins Wiki kopiert: http://wiki.ip-phone-forum.de/software:ds-mod:pakete:iptables

Um die Module nach /mod/lib laden zu können muss man sie aber erstmal haben. Gibt es eine schlauere Methode, als sie aus ...ds-0.2.5/kernel/modules-4mb/lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/
(z.B. per scp) in die Box nach /mod/lib zu kopieren? N.B. bei insmod ist das Verzeichnis ja egal.

Kann ich das gleiche Prinzip auch für die .so-Libs verwenden? Kann ich die Dateien aus .../ds-0.2.5/kernel/root/usr/lib/iptables verwenden?

Dirk
 
Nochmal zur Problematik der 100%-CPU-Last durch den telefon-Dämon: Es hat wohl doch nichts mit dem callmonitor direkt zu tun. Jetzt läuft die Box seit ein paar stunden ganz ohne callmonitor. telefon-Dämon normal. Und jetzt plötzlich braucht er wieder 100%! Es ist nicht passiert: kein Anruf, keine Änderung an der Box - ich habe lediglich ein bischen in der Web-Oberfläche rumgeklickt - aber ohne was zu verändern (glaube ich).

Beim Neustart meldet der telefon-Dämon:

Code:
telefon: use clock_gettime(CLOCK_MONOTONIC)!
telefon: set initial telefon time from linux time to 14:05 23.04 2006!
mknod: /var/flash/fx_def: File exists
telefon: WARNING No config file '/var/flash/fx_def' !


Danach ist er wieder ruhig (=wenig CPU-Last).

Ich habe nun noch etwas experimentiert. Und es scheint als würde die Last ab dem Zeitpunkt hoch sein, wo ich in der Web-Oberfläche auf "Telefonie" klicke und er mir die Anrufliste anzeigt. Die Last bleibt dann aber dauerhaft hoch.

Irgendwelche Ideen dazu???


Dirk
 
hm hab wieder nen kleines prob bei compiliren von ds-0.2.5 auf Ubuntu Drapper er bricht bei make toolchain immer ab.

Code:
/home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build/kernel/linux-2.4.17_mvl21/scripts/mkdep -I /home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build/kernel/linux-2.4.17_mvl21/include/asm/gcc -D__KERNEL__ -I/home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build/kernel/linux-2.4.17_mvl21/include -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -fomit-frame-pointer  -G 0 -mno-abicalls -fno-pic -march=4kc -Wa,--trap -nostdinc -pipe  -- csum_partial_copy.c csum_partial.S dump_tlb.c floppy-no.c floppy-std.c ide-no.c ide-std.c kbd-no.c kbd-std.c memcpy.S memset.S r3k_dump_tlb.c rtc-no.c rtc-std.c strlen_user.S strncpy_user.S strnlen_user.S tinycon.c watch.S > .depend
make[4]: Leaving directory `/home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build/kernel/linux-2.4.17_mvl21/arch/mips/lib'
make[3]: Leaving directory `/home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build/kernel/linux-2.4.17_mvl21'
make[2]: Leaving directory `/home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build/kernel/linux-2.4.17_mvl21'
make[1]: Leaving directory `/home/theborg/Desktop/ds-0.2.5/source/ref-4mb/kernel/kernel_ohio-8mb_build'
touch source/ref-4mb/kernel/.configured
tar -C /home/theborg/Desktop/ds-0.2.5/source/toolchain  -xzf source/avm-gpl/GPL/base-src-55.tar.gz \
                'base_ohio-8mb_build/uClibc-0.9.26/*'
mv /home/theborg/Desktop/ds-0.2.5/source/toolchain/base_ohio-8mb_build/uClibc-0.9.26 /home/theborg/Desktop/ds-0.2.5/source/toolchain/uClibc-0.9.26
rm -rf /home/theborg/Desktop/ds-0.2.5/source/toolchain/base_ohio-8mb_build
#for i in toolchain/make/target/uclibc/patches/*.patch; do \
                patch -d /home/theborg/Desktop/ds-0.2.5/source/toolchain/uClibc-0.9.26 -p1 < $i; \
        done
/bin/sh: -c: line 2: syntax error near unexpected token `done'
/bin/sh: -c: line 2: `done'
make: *** [/home/theborg/Desktop/ds-0.2.5/source/toolchain/uClibc-0.9.26/.unpacked] Error 2
 
Status
Für weitere Antworten geschlossen.

Statistik des Forums

Themen
246,146
Beiträge
2,246,880
Mitglieder
373,655
Neuestes Mitglied
ralf-ddd
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.