Quick'n'Dirty: SMS-Benachrichtigung bei eingehenden Anrufen

MSN's sollten MSN's bleiben, somit sollte das Script auch so durchlaufen.
Kann das mangels VoIP aber nicht testen.

Mach Dir doch mal eine Art Testscript, was Du in /var/flash/calllog ablegst und Dir die Übergabeparameter 1-7 in eine Datei spreicherst. Dann machst Du mal nen echten Anruf und guckst, was in der Datei noch davon ankommt. Damit kann man dann arbeiten.

Wenn sh-x durchläuft, dann kann das nur daran liegen, dass die Parameter bei einem echten Anruf nicht so übergeben werden, wie das Script das erwartet.

Grüße
Lemur
 
Die MSN, welche Du in dem Calllog-Script auszuwerten beabsichtigst muss dem Eintrag in der Fritzbox unter
Erweiterte Einstellungen
Telefonie
Internettelefonie
Reiter Internetrufnummern

1:1 entsprechen

Andernfalls tut es nicht.
 
*schnarch*
gnar.. :-Ö

Also meine Auswertung der Parameter hat folgendes ergeben:

CID VorwahlRufnummer SIP1#VorwahlRufnummer

Dazu habe ich das Script ein wenig Modifiziert:
- Benutze einen TempOrdner für die Dateien, die nach dem Ausführen wieder gelöscht werden, Pfade angepasst.
- Du hattest z.B. bei den SMS einen festen Pfad eingegeben.
- Ich bekam Fehlermeldung als bestimmte Dateien nicht vorhanden waren, deshalb lege ich diese Dateien vorher an

ggf. bastel ich das sed Script auch noch mit rein, dann hat man alles in einer Datei und braucht das VZDIR nur noch für die black&white liste.

Da bleibt mir nur zu sagen - Danke für das Script und für die Hilfe :groesste:
 
Hallo Lemur,

danke für Dein vollständiges Skript. Ich hab es ohne allzugrosse Mühen grundsätzlich ans Laufen bekommen, stelle aber fest, dass die Rückwärtssuche nichts auswirft, auch wenn der Teilnehmer bei klicktel und t-com eingetragen steht... die Whitelist funktioniert jedoch.
Ich vermute also, dass sich in den letzten Tagen irgendwas im Seitenaufbau der Anbieter geändert hat, was im Skript nicht abgebildet ist. Hast Du eventuell schon eine angepasste Version?
Danke und viele Grüsse,
St.

EDIT: merkwürdig, mit eingeschaltetem DEBUG funktioniert es korrekt ... (dann lass ich das halt auf ON) - Gruss, St.
 
Zuletzt bearbeitet:
@Sprickmann
Das das Debug an bleibt, sollte nicht so schlimm sein - dann landet eben ein bischen (mehr) Müll auf der Console ;)
Ich hab noch keine angepasste Version, da bei mir die Rückwärtssuche einwandfrei arbeitet ?!

Sollte sich beim Seitencode mal was ändern, greift (hoffentlich) der 2. Anbieter, da ja nicht beide Anbieter gleichzeitig die Seiten umstellen.
Sofern ich dann das Script noch aktiv nutze (Programmiere gerade was ähnliches in PHP) werde ich die Zeilen selbstverständlich gerne hier veröffentlichen damit alle was davon haben.

@iphone
ggf. bastel ich das sed Script auch noch mit rein, dann hat man alles in einer Datei und braucht das VZDIR nur noch für die black&white liste.
Gute Idee. Hätte ich auch gemacht, wenn es für mehrere, verschiedene, fremde Boxen vorgesehen worden wäre.

Im Prinzip ist das nur eine 1:1 Kopie von meinem Calllog-Script, was ich ursprünglich aus diesem Thread genommen und nach meinen Bedürfnissen erweitert hatte. Da meine Boxen mittlerweile alle permanente Speicher haben, arbeite ich mit festen Pfaden und sowas fällt hier garnicht auf.
 
Zuletzt bearbeitet:
Hallo Lemur,

ich versteh's nicht ... mal gehts, dann wieder nicht. Hat mit dem Debug-Mode offensichtlich nichts zu tun. Aber immer wieder mal werden Teilnehmer nicht gefunden, die definitiv in den Online-Verzeichnissen eingetragen sind.

Hat irgendjemand eine Idee, woran sowas liegen könnte? (Ich betreibe eine der ersten 7270, mit HBeckers LCR-Routing und Softwarestand .80)

Danke und Grüsse,

St.
 
Findest Du den Eintrag denn, wenn Du das Script mit dieser Nr manuell aufrufst?, wenn nein, ruf doch mal die URL's aus dem Script in deinem Browser auf und ersetze $CID durch den Anrufer.
 
Also, wenn ich mittels telnet auf die Box gehe ...
... cd var
... cd flash
... sh calllog "0911NummerDesAnrufers" "0911meineMSN" "ISDN"

dann schreibt er nach ein oder zwei Sekunden wunderschön die korrekten Werte (für "NummerDesAnrufers" aus dem klicktel- oder t-com-Online-Verzeichnis) auf die Konsole und sendet auch die Mailnachricht. Lasse ich "ISDN" im Aufruf weg, so erscheint auch hinter "Status" in der Mail keine Angabe (logisch, oder?).

Kommt aber der echte Anruf, so werden zwar Einträge aus Whitelist und FBF-Telefonbuch gefunden, nicht aber solche aus klicktel oder t-com .... "Der Anschlussinhaber konnte nicht ermittelt werden". Grrr. Dafür heisst es bei Status z.B. "ISDN". Die Nummer erscheint dann mit zwei Einträgen in der Blacklist.

Es scheint grundsätzlich so zu sein, dass "echte Anrufe" im Online-Verzeichnis nicht gefunden werden (wohl aber in Whitelist und FBF-Telefonbuch), ein Testaufruf von Hand funktioniert jedoch.

Verdammich. Was kann das sein?

Die einzigen von mir vorgenommenen Änderungen im Skript sind...
- Anpassung des USB-Speicherpfades
- Anpassung der MSNs
- Anpassung der Adressierung / des Mailers
- Entfall des Textes "Auf Leitung: VORWAHL$2" (weil ich mit dem Text "Vorwahl" nichts anfangen kann), stattdessen heisst es "Auf Leitung: $2"

Danke für jede gute Idee!

Viele Grüsse,
St.

Ach, übrigens: auch auf einer 7170 (anderer Ort, andere MSNs, ...) ist das Verhalten dasselbe ...


NACHTRAG: gerade eben finde ich einen Hinweis. Ein soeben eingegangener Anruf wirft aufs Terminal:
# Script start mit CID=0911ANRUFER , MSN=0911MSN , LINE=ISDN , FBTB=
Whitelist ergab: Output=Inhaber: <b> <br /></b> , Daten=0
wget: can't open 'tmp.htm': Read-only file system
cat: can't open 'tmp.htm': No such file or directory
cat: can't open 'tmp.htm': No such file or directory
cat: can't open 'tmp.htm': No such file or directory
KlickTel ergab: OUTPUT=Der Anschlussinhaber konnte nicht ermittelt werden. , daten=0
wget: can't open 'tmp.htm': Read-only file system
cat: can't open 'tmp.htm': No such file or directory
T-Com ergab: OUTPUT=Der Anschlussinhaber konnte nicht ermittelt werden. , daten=0
E-Mail f?r vorbereitet.
Mail verarbeitet, l?schen unterbrochen.

Oops. Das wird es sein. tmp.htm wird nicht mit dem Arbeitsverzeichnis gekoppelt, das kann nicht gehen. Wie müsste es korrekt lauten?
 
Zuletzt bearbeitet:
Kannst du die beiden jeweils aufrufen mit CID statt $1

http://www.klicktel.de/inverssuche/index/search?method=searchSimple&_dvform_posted=1&phoneNumber=$1
http://www2.dastelefonbuch.de/?la=de&bi=15&kw=$1&cmd=search

Steht deine Telefonnummer (vom Absender) in der whitelist drin?
 
Zuletzt bearbeitet:
Hallo "iphone10",

ich glaube, ich habe den Fehler gefunden (auch wenn ich nicht verstehe, warum das beim händischen Aufruf nicht schiefgeht) - es liegt tatsächlich daran, dass "tmp.htm" und "tmp1.htm" in einem nicht beschreibbaren Verzeichnis angelegt werden sollen - das geht schief, und die gefundenen daten werden dann nicht weiter verarbeitet.
Ich habe da also überall ein "${VZDIR}/" davorgesetzt, und jetzt funktioniert das Skript offensichtlich genauso wie es soll.
Es lag also nicht am Aufruf der Such-URLs - danke Dir trotzdem fürs Mit-Denken!

@Lemur: wenn Du nähere Infos brauchst, sende ich Dir gerne das überarbeitete Skript separat zu (ich glaube aber, Du verstehst, wo ich ansetzen musste). Vielleicht sollten wir den aktuellsten Stand nochmals irgendwo ablegen, so dass ihn jeder findet?

@ALLE: ich finde es toll, solche "Mehrwert-Software" hier im Forum zu finden. Danke an alle!
 
@Sprickmann
Danke für die Info, ich weiß jetzt woran es bei Dir lag. Da wäre ich so aber nie drauf gekommen, da die Verzeichnisse bei mir alle statisch sind und das schon sooo lange her ist, das ich da was gefrickelt hab. ;)

Wäre bestimmt gut, die überarbeitete Version hier nochmals zu posten, darfst Du gerne für mich übernehmen. ;)

@iphone
Steht deine Telefonnummer (vom Absender) in der whitelist drin?
Auch wenn das Ding etwas missverständlich "whitelist" heißt, ist die dafür gedacht dort Teilnehmerdaten (auch über mehrere Zeilen, z.b. für Adressen mit ";" getrennt) einzugeben, die nicht in den Onlineverzeichnissen verzeichnet sind. Bei mir stehen da Adressen und alle Rufnummern von dem Kontakt drinn, um ggf. auf einer anderen Nr. zurück rufen zu können.


@ALLE: ich finde es toll, solche "Mehrwert-Software" hier im Forum zu finden. Danke an alle!
Freut mich, das ich auch mal was nützliches mit "Mehrwert" beitragen konnte. ;)
<OT>
Ich hätte da noch was, was bei ner Unwetterwarnung ne Mail schickt, falls interesse besteht:-Ö
<OT off>
 
Meine aktuelle Version, die mit SED Datei kommt ggf. heute Abend. Wenn ich 6h im ICE langeweile hab :p

Code:
#!/bin/sh
# Meldung eingehender Anrufe der FB via Mail
# Rev. 04.2010 by Lemur
# Ergänzt von iPhone10 04.08.2010
# Folgende Sachen ergänzt: Tmpdir und Tmpdateien erstellt. Es fehlt noch: .sed Integration
#############################################
# Einstellungen
VZDIR="/var/media/ftp/SanDisk-U3CruzerMicro-01/monitor"        # Arbeitsverzeichniss
TMPDIR="/var/tmp/calllog"        # Tempdir
BLLOG="${VZDIR}/logs/black-log.txt"                # Logfile nicht gefundener Einträge
DEBUG="ON"                                        # Konsolen Debug ausgabe zum testen
SMSGW="ON"                                        # SMS zustellung
#############################################
# Script Variabeln
CID=$1                                            # CID die ruft
MSN=$2                                            # MSN die gerufen wird
LINE=$3                                            # Leitung die gerufen wird
FBTB=$5                                            # Name des internen Telefonbuchs, falls vorhanden
#############################################
# Script Initialisierung
if [ "$DEBUG" = "ON" ] ; then echo "touch tmp.htm + touch tmp1.htm + smstext.txt" ; fi
if [ -d ${TMPDIR} ] ; then if [ "$DEBUG" = "ON" ] ; then echo "Verzeichnis /var/tmp/calllog schon vorhanden" ; fi ; else mkdir ${TMPDIR}; fi
touch ${TMPDIR}/tmp.htm 
touch ${TMPDIR}/tmp1.htm 
touch ${TMPDIR}/smstext.txt 
touch ${TMPDIR}/result.htm

if [ "$DEBUG" = "ON" ] ; then echo "Script start mit CID=$1 , MSN=$2 , LINE=$3 , FBTB=$5" ; fi

if [ "$CID" = "" ] ; then 
    CID="Unbekannt"
    output="<b>Der Anrufer hat seine Telefonnummer nicht &uuml;bermittelt</b>."
    if [ "$DEBUG" = "ON" ] ; then echo "Die Rufnummer wurde nicht übergeben - Suche übersprungen." ; fi
    else
    # Prüfe in Whitelist & internem Telefonbuch
    daten=$(cat ${VZDIR}/whitelist.txt | grep -c $1);
    if [ "$daten" != "0" ] ; then output=$(cat ${VZDIR}/whitelist.txt | grep $CID | sed 's/;/+/g;s/[^+]*+//;s/^/Inhaber: <br><b>/;s!+!</b>+!;s!+!<br />!g'); fi
    if [ "$daten" = "0" ] ; then output="Inhaber: <b> <br />$5</b>" ; fi
    if [ "$5" != "" ] ; then daten="1" ; fi
    if [ "$DEBUG" = "ON" ] ; then echo "Whitelist ergab: Output=$output , Daten=$daten" ; fi
    # Falls notwendig, prüfe in online Vereichnis KLICKTEL
    if [ "$daten" = "0" ] ; then url="http://www.klicktel.de/inverssuche/index/search?method=searchSimple&_dvform_posted=1&phoneNumber=$1" ; wget -q -O ${TMPDIR}/tmp.htm "$url" 
            sleep 5 ; daten="5" ;
            tbname=$(cat ${TMPDIR}/tmp.htm | grep "namelink" | sed 's/<[^<]*>/\ /g;s/  //;s/ /, /');
            adress=$(cat ${TMPDIR}/tmp.htm | sed 's!/!!g' | sed -n '/p class="data track"/,/p>/p' | sed '/p class="data track"/d;$d' | sed 's!<br >! <br />!g');
            tbnum=$( cat ${TMPDIR}/tmp.htm | grep "phoneNumber" | sed 's/"phoneNumber" value="/ #/;s/.*\#//;s/"/ # /;/^#/d;s/#.*$//g;s/ //g');
            output="Inhaber: <b> <br />$tbname </b> <br />$adress <br />Tel.:$tbnum"
            if [ -z "$tbname" ] ; then daten="0" ; output="Der Anschlussinhaber konnte nicht ermittelt werden." ; echo -e "`date +\"%y.%m.%d-%H:%M\"` - auf MSN: $MSN - no result in KlickTel Database - CID: $CID" >> ${BLLOG} ; fi
    if [ "$DEBUG" = "ON" ] ; then echo "KlickTel ergab: OUTPUT=$output , daten=$daten" ; fi
    fi
    # Falls notwendig, prüfe in online Vereichnis DAS TELEFONBUCH
    if [ "$daten" = "0" ] ; then url="http://www2.dastelefonbuch.de/?la=de&bi=15&kw=$1&cmd=search" ; wget -q -O ${TMPDIR}/tmp.htm "$url" 
            sleep 5 ; daten="5" ; daten=$(cat ${TMPDIR}/tmp.htm | grep -c "long hide");
                if [ "$daten" != "0" ] ; then 
                echo "<b>Inhaber: </b><br />" > ${TMPDIR}/tmp1.htm
                cat ${TMPDIR}/tmp.htm | sed -n -e '/class="long hide"/,/div/p' >> ${TMPDIR}/tmp1.htm
                cat ${TMPDIR}/tmp.htm | sed -n -e '/class="no-icon"/,/div/p' >> ${TMPDIR}/tmp1.htm
                output=$(cat ${TMPDIR}/tmp1.htm);
                else output="Der Anschlussinhaber konnte nicht ermittelt werden." ; echo -e "`date +\"%y.%m.%d-%H:%M\"` - auf MSN: $MSN - no result in T - Com Database  - CID: $CID" >> ${BLLOG} ;
                fi
            if [ "$DEBUG" = "ON" ] ; then echo "T-Com ergab: OUTPUT=$output , daten=$daten" ; fi
    fi
fi

BODYHEAD="<html><body><b> <font face="arial" size="2"> Telefonsystem | Anrufinformation:</b><br /><br /> $output  <br /><br /> <font color="#666666"> Status: $3 $4 <br/> Von Nummer: $CID <br /> Auf Leitung:   $2 <br/>  Um: `date -R` CET <br /><br /> <br /> <br />" 
BODYFOOT="Ein Service von Jonas :P </html>"
echo -e $BODYHEAD > ${TMPDIR}/result.htm
echo -e $BODYFOOT >> ${TMPDIR}/result.htm
#############################################
# Adressierungseinstellung
# Muster:
#                MSN3 | MSN4 | MSN5 )
#                [email protected]
#                [email protected]
# Statt TOSMS: SMSGW="OFF"
#                ;;
case "$2" in
                3xxxxx )
                [email protected]
                SMSGW="OFF"
                ;;
                3xxxxx )
                [email protected]
                [email protected]
                SMSGW="ON"
                ;;
                esac ; 
                if [ "$DEBUG" = "ON" ] ; then echo "E-Mail für $TOADRESS vorbereitet." ; fi
                if [ -z "$TOADDRESS" ] ; then exit ; fi
#############################################
# Mailer
/sbin/mailer \
      -s "Von $CID auf $MSN um `date +\"%H:%M am %d.%m.%y\"`"\
        -f 'Abesndername <[email protected]>' \
        -t "$TOADDRESS" \
        -m smtp.hoster.de \
        -a login \
        -w passwort \
      -l 465 \
        -i ${TMPDIR}/result.htm
#############################################
# SMS Service
if [ "$SMSGW" = "ON" ] ; then
sed -n -f ${VZDIR}/html2sms.sed ${TMPDIR}/result.htm > ${TMPDIR}/smstext.txt
/sbin/mailer \
      -s "benutzername|passwort|gateway=2"\
        -f 'Abesndername <[email protected]>' \
        -t "$TOSMS" \
        -m smtp.hoster.de \
        -a login \
        -w passwort \
      -l 465 \
        -i ${TMPDIR}/result.htm
fi
#############################################
# System bereinigen
if [ "$DEBUG" = "ON" ] ; then 
    echo "Mail verarbeitet, löschen unterbrochen."
   else
    rm ${TMPDIR}/*.htm
    rm ${TMPDIR}/*.txt

fi
exit 0
 
Ich bitte euch um Mithilfe.
Es besteht ja keine Möglichkeit, dass das Skript nur die verpassten Anrufe anzeigt und angenommene Anrufe ignoriert.
Gibt es aber eine Möglichkeit, dass das Skript erst auslöst, wenn der Anrufer mindestens 15 Sekunden klingelt? In der Regel haben wir bis dahin das Gespräch angenommen, sollte es länger dauern dann kommt eben doch mal ne Mail.

Kann man so etwas ins Skript einbauen, dass man bei Anrufen die man innerhalb von 15 Sekunden annimmt, keine E-Mail erhält?

Code:
export REQUEST_METHOD="POST"
export REMOTE_ADDR="192.168.178.1"
export CONTENT_TYPE="application/x-www-form-urlencoded"
POST_DATA="login:command/password=PASSWORT"
export CONTENT_LENGTH=${#POST_DATA}
echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null#!/bin/sh

callerid=$1
name=$5
if [ -z "$callerid" ]
  then
    callerid="Nr. unterdrueckt bzw. nicht uebertragen";
    name="Unterdrueckte Nummer"
fi
if [ -z "$name" ]
  then
    name="Unbekannt ($callerid)"
fi

         output="Neuer Anruf von $name `date +\"am %d.%m.%y um %H:%M Uhr ($callerid). \"`"\


         echo -e $output >/var/tmp/calllog.txt



.
.
.
.

/sbin/mailer \
          -s "Anruf: $name"\
          -f 'Fritz!Box Anrufliste <[email protected]>' \
          -t [email protected] \
          -m mail.c.de \
          -a Nutzername \
          -w Passwort \
          -i '/var/tmp/calllog.txt'
        2> /dev/null

Danke schonmal vorab :)
 
Die Fritzbox ruft das Script sofort auf, sobald der Anruf rein kommt. Dabei werden auch alle Parameter übergeben. Der Aufruf lässt sich insoweit nicht so einfach beeinflussen.

Du müsstest dann das Script nach 15 Sek. prüfen lassen, ob dieser Anruf angenommen wurde, das geht z.B. wenn das Script den Callmonitor Status (Port 1012) prüfen würde. Wenn das Script aber sowieso den Status prüfen würde, spielen die 15 Sek. keine direkte Rolle mehr. Dann geht es nur noch darum, ob der Anruf als angenommen, abgewiesen, oder verpasst gilt.

Die Frage gabs schön öfters, vielleicht bemühst Du dazu mal die Forensuche ;)

Grüße

PS:

Deine ersten Zeilen von "export" bis "echo" sind überflüssig.
Die stammen noch aus der Urversion und dienten zum login, um die Telefonbuchdaten auszulesen. Heute funktioniert der Login anders und die Daten werden einfach mit $5 und 6 direkt an das Script übergeben. Das kannst du also rausnehmen.
 
your-sms.com

Danke für die "Erwähnung" von your-sms.com ... :)
Kannte ich noch gar nicht. Schön, dass man darüber per Mail eine SMS versenden kann.

@ iphone10:
Statt "Absender" steht ab und zu "Abesnder" in "deinem" Script.
 
@ u. g.
Die Seite hab ich mal bei Teltarif verglichen. Waren damals die günstigsten, die auch Service anbieten. Man kann entsprechend den Codes von der Seite, im Betreff definieren, ob man z.B. den Sendebericht braucht, oder ne eindeutige Absenderkennung, oder ob die SMS relativ schnell ankommen muss, etc.

Wie gesagt, ist schon etwas länger her - mag heute vielleicht günstigere Anbieter geben, ich bin mit denen jedoch mehr als zufrieden.

Grüße
 
Die Fritzbox ruft das Script sofort auf, sobald der Anruf rein kommt.
Dazu folgende Beobachtung:

Calllog funktioniert auch dann,
wenn Busy on Busy aktiviert ist und der Anrufende dann Besetztton hört.
Das finde ich etwas lästig, denn wenn telefoniert wird, dann benötige ich keine zusätzliche Anruf-Benachrichtigung.
 
Und warum sagst Du dem Script dann nicht, dass Du dann keine Benachrichtigung möchtest?

Edit
Bevor die nächste Frage kommt:
Code:
if [ "$4" = "BUSY" ] ; then exit; fi
 
Zuletzt bearbeitet:
Vollzitat entfernt.

...nicht persönlich nehmen, aber das finde ich von der Idee her 'etwas ungeschickt'.
Gerade wenn mich jemand nicht erreichen konnte möchte ich das doch wissen!

James


Edit: Wer das auch so sieht und die Extra-info möchte:
Code:
...
if [ "$4" = "BUSY"]
  then
  busy="BUSY on BUSY: "  
fi

/sbin/mailer \
  -s "[B][SIZE="4"]$busy [/SIZE][/B]Anruf von $name $1 auf $2 - `date +"%d.%m.-%H:%M\"`" \
...

Beitrag 2:
Vollzitat entfernt.

Lemur, (ab) wann genau oder wie habe ich denn dieses $4 zur Verfügung? Wenn ich einfach nur
Code:
/sbin/mailer \
  -s "Anruf von $name $1 auf $2 - [B]$4[/B] - `date +"%d.%m.-%H:%M\"`" \

einsetze, ist das Feld leer.




Danke, James

Edit: Sehe grade: Bei Busy on Busy steht doch BUSY da. Welche Werte (bei welchen Ereignissen) kann $4 denn noch annehmen?
 
Zuletzt bearbeitet:
Die $4 hast Du ab Scriptstart zur Verfügung, die Box übergibt dann an 4. Stelle das "BUSY", daher erschließt sich mir dein Code

Code:
if [ "$4" = "BUSY"]
  then
  busy="BUSY on BUSY: "  
fi
auch nicht.

Das Busy kommt z.B. auch, wenn die Anrufsperre für eingehende Nummern greift.

Wer eben dann keine Benachrichtung möchte, nimmt meine Zeile aus #438 und setzt diese, so wie sie da steht, an den Anfang des Scripts. Dann läuft das Script ab dieser Stelle nicht mehr weiter und wird beendet.

Edit:
Ich nutzte diese Selektion nicht, da ich eh immer eine Benachrichtigung möchte, daher weis ich auch nicht, was noch als $4 übergeben werden könnte.
In den letzten Jahren ist mir aber nur das "BUSY" aufgefallen, wie bereits schon beschrieben.
 

Statistik des Forums

Themen
246,085
Beiträge
2,245,799
Mitglieder
373,539
Neuestes Mitglied
Horst Fürst
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.