dtmfbox (AB/CB/CT VoIP/ISDN/Analog)

hihoooo...tolle arbeit...
muss ich gleich mal flashen...
aber zuerst eine frage...wieso kann die addonversion nicht reden??
auf der box iss doch noch soviel platz...bzw, könnte mna die application dann nicht einfach auf nen stick auslagern...damit sie auch reden kann??
ich will reden hören ;-)
aber im ds mod ;-)
würd mich freuen wenn du mir das erklären könntest...
 
Hallo Darkyputz,

schau mal hier und hier (Punkt 1).
Wenn man jetzt noch irgendwie die anderen Sprachen aus dem espeak-data rauskriegen könnte (also nur deutsch), dann wäre es um einiges kleiner.
 
sooo...gefläscht und begeistert...
lässt sich die triggernummer noch dynamisch halten?
so nach dem motto schau ob du meine anrufernummer erkennen kannst?
sonst müsste man ja immer vorher wissen von wo man den service nutzen will...
aber das nur am rande...danke für die tolle arbeit...
 
bodega schrieb:
Das mit den Plugins (Benutzerdefiniertes Skript) funktioniert auch bei Standalone und USB-Version. Wenn die Datei /var/tmp/flash/dtmfbox_userscript.sh existiert, wird diese vorher ausgeführt.

Beispiel, um die MP3-Funktionalität als Plugin einzubinden:
...
Habe obiges jetzt nicht getestet, aber so könnte man es als Plugin einbinden und würde bei jeder neuen Version erhalten bleiben... Wenn du bereits was hast, würde ich es gerne übernehmen..

Hallo bodega,

ich habe das schnell mal probiert und es klappt prima. Ich habe die ganze Soundfile Konvertierung in dtmfbox_userscript.sh gepackt und entsprechend mail auf mail_custom in dtmfbox_main.sh geändert.

Noch zwei Anmerkungen. Es wäre prima, das userscript alternativ im USB- Speicher abzulegen. Ich benutze zwar ds-mod aber auch einen USB-Speicher. Die aktuelle Stelle im /var/tmp/flash erhöht des Speicherbedarf im FB Flash ziemlich.

Siehst du noch eine Chance, in deiner dtmfbox_main.sh Routine automatisch meinen Mailer in dtmfbox_userscript.sh zu erkennen? Dann müsste ich nicht immer die Änderung bei einem Update nachziehen.


Noch eine neue Frage: Seit dtmfbox springt mein callmonitor immer zweimal an. Gibt es da Konflikte mit folgender Regel: 'in:request ^0 ^ mailmessage -t [email protected] -s "CM: $SOURCE_DISP an $DEST_NAME ($DEST_DISP) um $TIMESTAMP"' ?

Vielen Dank,
dksoft
 
@Darkyputz:
Ich denke, da wären Regular Expressions ganz schick, bzw. ich könnte es so machen, das mehrere Triggernummern (getrennt durch Semikolon) eingetragen werden können. Wenn du eine Idee hast (oder noch besser: schon was vorbereitet), immer her damit :p

@dksoft2:
Ich werde sehr wahscheinlich die Option "Aufnahmequalität" einbauen. Also Hoch (16Bit/8000hz=z.B. 100 KB), Mittel (8Bit/8000Hz=z.B. 50 KB), Niedrig (8Bit/4000Hz=z.B. 25 KB). Es wäre eine ähnliche Ersparnis wie beim ADPCM.

Das mit dem /var/tmp/flash/dtmfbox_userscript.sh war ursprünglich für den dsmod gedacht. Da müsste ich mir noch einen adäquaten Weg für USB überlegen.

Bzgl. des Callmonitors kann ich momentan nichts sagen... es kommt ein Anruf rein und die dtmfbox nimmt nach eingestellter Zeit ab - müsste ich mir anschauen, was der telefond da so treibt.

@all:
mal so am Rande, ein paar DTMF-Commands:

Ei Pi-Adresse vorlesen, wenn dyndns streikt ;):
Code:
IP_ADDR=`/sbin/showdsldstat | grep "0: ip" | cut -d\/ -f1 | cut -d " " -f3 | sed "s/\./\,  /g"`; cd $DTMFBOX_PATH/espeak; ./speak -v de -w $DTMFBOX_PATH/tmp/$SRC_CON.wav "Ihre Ei Pi Adresse lautet: $IP_ADDR"; $DTMFBOX $SRC_CON -play $DTMFBOX_PATH/tmp/$SRC_CON.wav; rm $DTMFBOX_PATH/tmp/$SRC_CON.wav

Uhrzeit ansagen:
Code:
THETIME=`date +"%H Uhr %M."`; cd $DTMFBOX_PATH/espeak; ./speak -s 130 -v de -w $DTMFBOX_PATH/tmp/$SRC_CON.wav "Es ist $THETIME"; $DTMFBOX $SRC_CON -play $DTMFBOX_PATH/tmp/$SRC_CON.wav; rm $DTMFBOX_PATH/tmp/$SRC_CON.wav

Noch was: man sollte bei den DTMF-Commands keine Hochkommas (') verwenden - :mad: - wer es dennoch macht, muss die dtmfbox.save editieren, bzw. /var/tmp/flash/dtmfbox.diff (kleines Injection-Problem).
 
dksoft2 schrieb:
Noch zwei Anmerkungen. Es wäre prima, das userscript alternativ im USB- Speicher abzulegen. Ich benutze zwar ds-mod aber auch einen USB-Speicher. Die aktuelle Stelle im /var/tmp/flash erhöht des Speicherbedarf im FB Flash ziemlich.
dann schreib doch zur Not erstmal in das standard-userscript in /var/tmp/flash ein
/pfad/zum/USB/dtmfbox_userscript.sh $1 $2 ........
und leg es dann dahin. Nachteil ist, dass du es dann nicht mehr im dsMod-WebIf ändern kannst, sondern es über Samba/FTP/telnet auf dem Stick ändern musst. Müsste man evtl die .cgi anpassen - davon habe ich aber nicht ganz so viel Ahnung, bzw. müsst mich auch erstma reinarbeiten. Halt nur übergangsweise, damit dein Flash nich so voll wird.
Gruß
Arne
 
Habe gerade versuch über und auf 1und1 einen Testanruf zu tätigen aber leider ohne Erfolg...

Der erste Anruf:
/var/media/ftp/USBDISK2-0-Partition-0-1/dtmfbox-0.3.8-usb $ ./dtmfbox -call 496xxxxxxxx7 8xxxx7

Der zweite Anruf:
/var/media/ftp/USBDISK2-0-Partition-0-1/dtmfbox-0.3.8-usb $ ./dtmfbox -call 8xxxx7 [email protected]

Hier mal der LOG
17:29:13.575 dtmfbox.c PJSIP 0.7.0-trunk
17:29:13.605 pjlib select() I/O Queue created (0x4f8654)
17:29:13.606 sip_endpoint.c Module "mod-msg-print" registered
17:29:13.607 capi_ctrl.c Init CAPI...
17:29:13.616 capi_ctrl.c CAPI initialized!
17:29:13.617 voip_ctrl.c Init VOIP...
17:29:13.618 voip_ctrl.c Resolve IP from stun.1und1.de:3478 ...
17:29:13.759 voip_ctrl.c Use IP: 87.169.31.169
17:29:13.761 udp0x51ba0c SIP UDP transport started, published address is 87.169.31.169:5061
17:29:13.762 voip_ctrl.c UDP server listening on port 5061
17:29:13.767 sip_endpoint.c Module "mod-tsx-layer" registered
17:29:13.768 sip_endpoint.c Module "mod-stateful-util" registered
17:29:13.773 sip_endpoint.c Module "mod-ua" registered
17:29:13.774 voip_ctrl.c VOIP callbacks initialized
17:29:13.775 sip_endpoint.c Module "mod-invite" registered
17:29:13.776 sip_endpoint.c Module "dtmfbox" registered
17:29:13.794 pjlib select() I/O Queue created (0x541d54)
17:29:13.949 voip_ctrl.c RTP/RTCP: 87.169.31.169:61262-61263
17:29:14.095 voip_ctrl.c RTP/RTCP: 87.169.31.169:61264-61265
17:29:14.240 voip_ctrl.c RTP/RTCP: 87.169.31.169:61266-61267
17:29:14.386 voip_ctrl.c RTP/RTCP: 87.169.31.169:61268-61269
17:29:14.534 voip_ctrl.c RTP/RTCP: 87.169.31.169:61270-61271
17:29:14.679 voip_ctrl.c RTP/RTCP: 87.169.31.169:61272-61273
17:29:14.823 voip_ctrl.c RTP/RTCP: 87.169.31.169:61274-61275
17:29:14.968 voip_ctrl.c RTP/RTCP: 87.169.31.169:61276-61277
17:29:14.969 voip_ctrl.c RTP/RTCP transport running from port 4000 to 4015
17:29:16.590 voip_ctrl.c VOIP initialized!
17:29:16.598 voip_auth.c SIP (TX-REGISTER):

REGISTER sip:212.227.15.197 SIP/2.0
Via: SIP/2.0/UDP 87.169.31.169:5061;rport;branch=z9hG4bKPj0a410000000375cb6c55
Max-Forwards: 70
From: <sip:[email protected]>;tag=0a410000000275cb6c55
To: <sip:[email protected]>
Call-ID: 0a410000000175cb6c55
CSeq: 36773 REGISTER
User-Agent: dtmfbox v0.3.8
Contact: <sip:[email protected]>;expires=3600
Expires: 3600
Content-Length: 0


17:29:16.600 capi_ctrl.c Listen to CAPI incoming controller 1...
17:29:16.602 capi_ctrl.c Listen to CAPI internal controller 3...
17:29:16.605 capi_ctrl.c (CNF, CTRL 1, PLCI: 0) - CAPI_LISTEN
17:29:16.606 capi_ctrl.c (CNF, CTRL 3, PLCI: 0) - CAPI_LISTEN
17:29:16.607 voip_ctrl.c Start VOIP listen loop...
17:29:16.718 voip_auth.c SIP (RX-REGISTER):

SIP/2.0 200 OK
Via: SIP/2.0/UDP 87.169.31.169:5061;rport=5061;branch=z9hG4bKPj0a410000000475cb6c55
From: <sip:[email protected]>;tag=0a410000000275cb6c55
To: <sip:[email protected]>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-9149
Call-ID: 0a410000000175cb6c55
CSeq: 36774 REGISTER
Contact: <sip:[email protected];uniq=CAB8543514A0F46EAE7B3F0EC2C75>;expires=28761, <sip:[email protected]>;expires=28593
Server: UI OpenSer
Content-Length: 0


17:29:16.719 voip_auth.c SIP registration successful (212.227.15.197), status=14
17:29:16.720 voip_auth.c Next registration in 28593 sec


17:29:24.204 voip_funcs.c Call: sip:[email protected] -> sip:8xxxx7
17:29:24.205 voip_funcs.c Create UAC dialog
17:29:24.206 voip_funcs.c Create SDP
17:29:24.208 voip_funcs.c Create INVITE
17:29:24.505 sip_resolve.c Failed to resolve '8xxxxx7'. Err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
17:29:24.506 tsx0x574064 Failed to send Request msg INVITE/cseq=1250654575 (tdta0x57305c)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
17:29:24.507 voip_events.c Call DISCONNECTED [port=0, reason=503 (Service Unavailable)]
17:29:24.508 voip_events.c Hangup [0]
17:29:24.557 script_funcs.c Run script: /var/media/ftp/USBDISK2-0-Partition-0-1/dtmfbox-0.3.8-usb/script/script_main.sh DISCONNECT VOIP OUTGOING 0 -1 "496xxxxxxxx7" "8xxxx7" &
17:29:24.773 voip_funcs.c ERR: (70018) Unable to send invite request!
17:29:24.774 script_funcs.c VoIP call ( -> )
17:30:34.403 capi_funcs.c (CTRL 1, MSN: 8xxxx7 - No: [email protected]) - CONNECT_REQ
17:30:34.405 script_funcs.c CAPI call (812847 -> [email protected])
17:30:34.407 capi_ctrl.c (CNF, CTRL 1, PLCI: 4353) - CAPI_CONNECT
17:30:34.611 capi_ctrl.c (IND, CTRL 1, PLCI: 4353) - CAPI_INFO
17:30:34.613 capi_ctrl.c (IND, CTRL 1, PLCI: 4353) - CAPI_DISCONNECT
17:30:34.701 script_funcs.c Run script: /var/media/ftp/USBDISK2-0-Partition-0-1/dtmfbox-0.3.8-usb/script/script_main.sh DISCONNECT ISDN OUTGOING 0 -1 "8xxxx7" "[email protected]" &
</pre>

Betrifft Callback
Wäre es möglich einen Callback auf eine andere Nummer als die Triggernummer zu führen ohne das bei der Triggernummer abgenommen wird??
Das wäre dann für O2 BWHZ Nutzer genial.
Würde bedeuten das man eine MSN (egal ob ISDN oder VOIP) über die Handynummer anruft ohne das abgehoben wird und die dtmfbox kurze Zeit später auf die Genion Ortsgesprächnummer kostenlos über VOIP zurückruft und man nun nach z.B. einer Pineingabe mit VOIP ins Festnetz telefonieren kann.
Man könnte diese Option im der dtmfbox BWHZ Option nennen und man bräuchte eventuell folgende Einträge im Menü:

1. MSN (ISDN oder VOIP MSN) auf die angerufen wird
2. Trigger-Nummer auf die reagiert werden soll (z.B. Handynummer 0176xxxxxx)
3. Nummer auf die zurückgerufen werden soll (in diesem Fall nicht die Trigger-Nummer!)
4. Pineingabe
 
Zuletzt bearbeitet:
Hallo,

nach langem rumprobieren haben wir es nun endlich geschafft daß der AB abhebt und auch die selbsterstelle Ansage im wav Format ertönt. Allerdings gibts da noch ein Problem:

Nach jedem Neustart der FritzBox (führt sie auch selbstständig ca. 1mal pro Monat durch) ist die wav Datei wieder weg und muß neu eingespielt werden.

Bei genauerer Betrachtung ist uns aufgefallen daß auch die mitgelieferte beep.wav jedesmal gelöscht wird wenn statt der Ansage diese verwendet wird. Allerdings wird diese dann irgendwie nachgeladen denn sie ist mit aktualisiertem File-Date dann immer wieder da.

Wie können wir es erreichen daß entweder die personalisierte Ansage nicht mehr gelöscht wird oder diese nach dem Neustart wieder hergestellt wird? Es ist nervig wenn man diese immer wieder einspielen muß.

(Zum besseren Verständnis: Wieso werden die anderen Dateien nicht gelöscht, aber die Ansage wav schon?)

Besten Dank und viele Grüße,

Andreas
 
Hey foxm2k !
Deiner Signatur entnehme ich, dass du die standalone benutzt (ich hoffe, ich sehe das richtig).
Dabei werden ja die "standard-daten" runtergeladen und dann installiert/ausgeführt.
Für deine selbsterstellte .wav müsstest du diese irgendwo hochladen, und dann genauso nachladen.
Bsp.weise irgendwo kostenlosen Webspace besorgen, oder vllt haste ja auch welchen bei T-Online.
Dann könnteste das auch per wget nachladen:
Code:
wget -P /var/dtmfbox/play/ http://deinserver.domain/pfad-zum-file/ansage.wav
Gruß
Arne
 
Grüß dich Arne,

genau diesen Befehl (ohne das -p) machen wir von Hand jedes Mal wenn die FritzBox resettet hat um die Datei wieder reinzukopieren. Aber wo müssen wir das eintragen damit das automatisch geschieht?

Was bewirkt der Parameter -p ?

Danke für deine schnelle Antwort!

Andreas
 
@HansDampf:
Hatte ich hier mal erwähnt mit der Nummer (der Hostanteil bei VoIP fehlt!). In deinem Beispiel mischt du anscheinend ISDN mit VoIP. Das geht nicht (das geht schon! nur anders -> 2 Verbindungen aufbauen & zusammenschalten).
Bzgl. des Callbacks kommt bestimmt noch mehr. Hatte das CBCT-Webinterface nur auf die Schnelle gemacht.

@foxm2k:
Das wget müsstest du in die /var/flash/debug.cfg schreiben, damit es bei einem reboot ausgeführt wird.

--help:
Code:
-P      Set directory prefix to DIR

(großes P)
 
Zuletzt bearbeitet:
hallo Andreas.
also, das -P bewirkt, dass die Datei in das angegebene Verzeichnis geladen wird, egal aus welchem Verzeichnis sie aufgerufen wird. Hatte ich nur zur Sicherheit mit reingeschrieben.
du kannst das alles über die Datei "debug.cfg" machen, die wird bei jedem Start der Box aufgerufen. dazu findest du sicher hier im forum was, oder als tipp kann ich das tutorial hier empfehlen, da kriegt man schon einige gute "tricks" raus, muss man halt auf diese anwendung anpassen.
Hoffe, dir weitergeholfen zu haben.
Gruß
Arne
 
Hallo,

ich danke euch beiden.
Das ist interessant. Wie man die Datei bearbeitet weiß ich nun. Jetzt frage ich mich nur noch wo der Aufruf innerhalb des Scripts hin muß.

Der Inhalt sieht so aus:

Code:
#Jede Menge Exporte#
...

END_DTMFBOX
chmod +x /var/tmp/dtmfbox.save

. /var/tmp/dtmfbox.save

if [ "$DTMFBOX_PATH" = "" ]; then DTMFBOX_PATH="/var/dtmfbox"; fi
export PATH=$DTMFBOX_PATH:$PATH
if [ "$DTMFBOX_PATH" != "/var/dtmfbox" ]; then mkdir -p $DTMFBOX_PATH; ln -s $DTMFBOX_PATH /var/dtmfbox; else mkdir /var/dtmfbox; fi
cd $DTMFBOX_PATH

if [ ! -f $DTMFBOX_PATH/rc.dtmfbox-setup ]; then
  count=0
  while !(ping -c 1 fritz.v3v.de) && [ "$count" -lt "5" ]; do
   sleep 5
   let count=count+1
  done
  wget http://fritz.v3v.de/dtmfbox/dtmfbox-0.3.8-standalone/rc.dtmfbox-setup
fi

chmod +x rc.dtmfbox-setup
mv /var/tmp/dtmfbox.save $DTMFBOX_PATH

./rc.dtmfbox-setup install         # install dtmfbox
./rc.dtmfbox-setup start_httpd     # start webserver (port 6767)
if [ "$DTMFBOX_ENABLED" = "yes" ]; then
  ./rc.dtmfbox start               # start dtmfbox
fi
# ---------------------------------------------
# dtmfbox - end - DO NOT REMOVE!

Egal wohin? Wirklich nur die wget -P /var/dtmfbox/play/ http://deinserver.domain/pfad-zum-file/ansage.wav Zeile?

Tut mir leid für die vielen vermeintlich dummen Fragen... Nach den vielen Stunden des Probierens wär es echt klasse wenns endlich klappt.

Vielen Dank,

Andreas
 
bodega schrieb:
fopen64 gab's hier schon dreimal. Hab leider keine Busybox mit LFS. Hört sich so an, als ob die neue FW mit LFS kompiliert wurde.

Wahrscheinlich müsste ich die uclibc neu aufsetzen und mit LFS kompilieren (einer ne Idee/Hinweis bevor ich damit anfange?).
Genau anders herum: busybox (für busybox-httpd) muss ohne lfs kompiliert werden, da die *.33 firmware auf der 7170 (gilt nicht für *.33 auf der 7050) ohne lfs in der uClibc kompiliert ist, wie auch schon die Laborfirmware-Versionen davor.

Kurzer Test, ob lfs vorhanden: cat /lib/libuClibc-0.9.28.so |grep fstat64. Wird fstat64 gefunden, dann hat die firmware lfs. - Die sichere Methode in der selbstkompilierten Software kein lfs zu haben, ist die uClibc in der Toolchain ohne lfs support zu kompilieren. Für die busybox sollte aber völlig ausreichen per make menuconfig den lfs support zu deaktivieren.

Gruss, spblinux

PS: dtmfbox ist ein prima Projekt!
 
@Andreas: nach meinem verständnis kannst du es ans Ende hängen.

Gruß
 
@spblinux:
Stimmt. Genau andersrum - hab das etwas durcheinander gebracht.
Danke auch für die Tipps - ich werde dann eine busybox ohne lfs bauen...

EDIT:
Habe die busybox der USB-/Standalone-Version ausgetauscht. Diese ist nun ohne LFS.
 
Zuletzt bearbeitet:
Ich danke euch beiden! Nun funktionierts perfekt!

Extrem cooles Projekt! Weiter so!

Gruß,

Andreas
 
hmm also ... ich habe jetzt meine 7170 wieder, und das hat mich auf die idee gebracht, einfach auf der dtmfbox laufen zu lassen. Die Box steht im Wohnzimmer (weil da auch der Drucker ist -> USB Host) und hat dort LAN und ISDN zur Telefonanlage, die an der 7050 hängt (beides im anderen Raum). So kann ich also auf der 7170 den callback starten, der läuft dann über die Telefonanlage und die 7050.
Vorteil: Alle Anrufe werden über den TSB geroutet, solange ich über CAPI wähle.
Nachteil: Ich habe nur 2 ISDN-Leitungen, die dann beide belegt sind.

Leider funktioniert das Anrufen per 1&1 VoIP immer noch nicht - die Box kann nur angerufen werden. Das Anrufen würde mir also immer dann eine zusätzliche Leitung bringen, wenn zumindest eine Leitung der Callbackanrufe ins Festnetz gehen soll. Das lässt sich ja anhand der Nummer mit irgendwelchen Shellbefehlen, die ich mir dann zusammenwürfeln würde, bestimmt rausfinden ;)

Ist übrigens der gleiche Fehler, den auch HansDampf in #367 hat: Failed to send Request msg INVITE/cseq=1250654575 (tdta0x57305c)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE)) und Call DISCONNECTED [port=0, reason=503 (Service Unavailable)].
Ich habe es aber auch nicht geschafft, eine Internetrufnummer anzurufen. Aber sollte nicht auch ein VoIP-Anruf ins Festnetz möglich sein? Ohne eine Domain anzugeben?
 
Hi Leute,

also dtmfbox is nun auf usb drauf und "läuft" kann aber per telnet irgendwie die accounts nicht mehr abfragen und wenn ich die config speichern will bringt er die meldung:

Code:
/var/media/ftp/MassStorageDevice-Partition-0-1/dtmfbox-0.3.8-usb/httpd/cgi-bin/dtmfbox_save.cgi: /var/media/ftp/MassStorageDevice-Partition-0-1/dtmfbox-0.3.8-usb/httpd/cgi-bin/dtmfbox_save.cgi: 371: cannot create /var/meida/ftp/MassStorageDevice-Partition-0-1/dtmfbox-0.3.8-usb/default.dtmfbox/boot.cfg: Directory nonexistent

Was mach ich nun wieder falsch? lol

MfG Tomekk
 
@wurstfabrik:
port=0, reason=503 (Service Unavailable)] hört sich für mich so an, als ob der Hostname nicht aufgelöst werden kann. Den Hostanteil muss man leider mitgeben, da man eine SIP anruft. Generell wird dann der Host des Providers angehangen (sip.1und1.de / 1und1.de :noidea: - korrigiert mich, wenn ich falsch liege) - Enum Abfragen sind leider nicht möglich.
Den Host anzuhängen, könnte ich bei der nächsten Version automatisieren (also Registrar als Host verwenden).
Bzgl. Service Unavailable kannst du mal probieren, ob es mit der IP Adresse @212.227.15.197 besser funktioniert. Den Fehler hatte ich auch manchmal beim Registrieren (deswegen die IP).
btw: das Callback Skript hängt anscheinend keinen Hostanteil an, deswegen funktioniert VoIP dort nur eingehend - das müsste man auch noch ändern.

EDIT:
Da die Doku noch etwas unvollständig ist, hier ein Beispiel, wie ein Callback funktionieren könnte:

ISDN MSN: 3333
VoIP MSN: 4444
Handy Nr.: 5555

Externer Callback auf MSN und mit VoIP verbinden:
Code:
con=`dtmfbox -call 3333 5555`
# Connection-ID steht nun in $con. 
# Diese nun mit der VoIP Verbindung zusammenschalten (anstelle von sip.1und1.de auch IP probieren):
dtmfbox $con -call 4444 [email protected]

Interner Callback auf MSN und mit VoIP verbinden (interner S0 - Ctrl 3 / MSN egal):
Code:
con=`dtmfbox -call 3333 5555 3`
dtmfbox $con -call 4444 [email protected]

@Tomekk1985m:
Was ist /var/meida ??? Fehlermeldung gelesen?
Deinstallieren + reboot + Neuinstallieren (nicht verschreiben)
 
Zuletzt bearbeitet:
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.