Callmonitor 1.13 und höher: Ankündigungen und Bedienung

Hi princenewton007,

ja danke, die Lösung kenne ich, sie funktioniert. Allerdings erfordert sie einige Tastendrücke am MusicPal, bis die Anrufliste erscheint (und wenn diese lang ist, braucht das eine kleine Ewigkeit). Stattdessen suche ich eine Lösung, die Anrufer (und idealerweise AB-Nachrichten) ohne weiteres Zutun auf dem MusicPal-Display anzeigt, direkt und automatisch. Also "push" statt "pull", sozusagen.

Hi Andreas,
Besser wäre es natürlich, wir bekämen die Sache mit dem Timeout zum Laufen.

klar, absolut. Habe einige weitere Tests gemacht, siehe hier. Es scheint, /bin/ipc_send würde bei http-Aufrufen den timeout ignorieren und funktioniere nur bei Aufruf via script zuverlässig.
Code:
#!/bin/sh 
/bin/ipc_send show_msg_box Textzeile1§Textzeile2§#10
Da könnte man jetzt möglicherweise im MP einen Wrapper bauen, aber wir suchen ja eine plugin-Lösung als Benachrichtigungs-Aktion für callmonitor, die ohne MusicPal-Hack funktioniert.

Allerdings gibt es auch Anzeichen eines Codepage-Problems... kannst Du bei getmsg festlegen, dass der http-request als unicode gesendet wird? Dann könnte das u.U. doch noch klappen, möglicherweise.

Welche der folgenden URLs liefert richtige Umlaute?
Beide, sowohl latin1 als auch UTF-8.

eine der beiden Timeout-Test-URLs funktioniert also nicht
Beide funktionieren nicht. Die Version mit §#5 setzt zwar korrekterweise ein § vor das # (notwendig!) und verschwindet sogar nach unbestimmter Zeit, aber ein nachfolgender Aufruf mit anderem Text zeigt erneut den alten Text statt des neuen. Und das kann sich beim Anzeigen des Anrufers unschön auswirken: "hallo Schatz! :oops: hallo Chef..."

erkläre ich dir gerne, wie man getmsg benutzt.
Das ist nett. Ich glaube, im Wiki zu getmsg wären 2 einfache Beispiele sehr hilfreich: zB eine konkrete minimale Konfiguration; und ein komplexerer Aufruf mit mehreren Ereignis-Informationen/Umgebungsvariablen.

So weiss ich bis heute auch nach längerem Rumprobieren noch immer nicht, warum zB nur das erste Wort des Anrufernamens angezeigt wird (ja! in der Tat!) und nicht der gesamte Namensstring. Und ob man auch ohne diese +-Zeichen auskommt, ohne die ich's bisher nicht hinbekommen habe? (nach elenden Versuchen...)

Zumindest habe ich jetzt eine recht hübsche zweizeilige Darstellung mit Anrufer und Ziel-Nummer:
Code:
in:request ^ ^ getmsg admin:admin@musicpal /admin/cgi-bin/ipc_send?show_msg_box+Anruf+an+$DEST_DISP+§+von+$SOURCE_NAME+§#10
in:connect ^ ^ getmsg admin:admin@musicpal /admin/cgi-bin/ipc_send?menu_collapse
in:disconnect ^ ^ getmsg admin:admin@musicpal /admin/cgi-bin/ipc_send?menu_collapse
in:cancel ^ ^ getmsg admin:admin@musicpal /admin/cgi-bin/ipc_send?menu_collapse

Zu einem Indikator für neue Nachrichten auf dem Anrufbeantworter, à la "message waiting":
das hat auch wenig mit dem Callmonitor zu tun. Allerdings könnte man eine Funktion musicpalmessage, sobald sie denn fertig ist, auch dafür benutzen.

Na ja, ich dachte man könnte vielleicht ausnutzen, dass laut callmonitor-Doku bei in:connect die Umgebungsvariable $EXT auf den Anrufbeantworter zeigen sollte. Die Idee ist: man kommt nach Hause und sieht auf dem MP auf einen Blick, dass auf dem AB neue Nachrichten vorliegen.

Wenn es möglich wäre, eingegangene AB-Nachrichten als RSS-Feed abzurufen, wäre das Problem sogar noch einfacher lösbar. Der MP kann im Standby RSS-Feeds unter der Uhr anzeigen, etwa klassisch vom SPIEGEL. Stattdessen müßte man nur auf http://fritz.box/messages.rss zeigen und hätte einen prima message-waiting-indicator, der sogar zwischenzeitliche Anrufer-Anzeigen von getmsg problemlos überleben würde.

Aber Du hast recht: so wäre das kein Thema für callmonitor... insofern hier OT, ich mache einen neuen Thread auf.

Wäre jedenfalls prima wenn wir die Anrufer-Anzeige auf dem MusicPal in callmonitor übernehmen könnten -- danke!

Ulf
 
Guten Morgen, Ulf,

Allerdings gibt es auch Anzeichen eines Codepage-Problems... kannst Du bei getmsg festlegen, dass der http-request als unicode gesendet wird?
Ich habe Kontrolle darüber, was ich sende. Das Problem, das du ansprichst, dürfte daher rühren, dass "§" in Latin-1 und UTF-8 eben nicht identisch kodiert ist; in UTF-8 besteht es aus zwei Bytes \xC2\xA7.
Beide, sowohl latin1 als auch UTF-8.
Das ist überraschend; nun gut, dann nehme ich erst einmal Latin-1, und wir schauen, ob es am Ende zuverlässig funktioniert.
"hallo Schatz! :oops: hallo Chef..."
:)
So weiss ich bis heute auch nach längerem Rumprobieren noch immer nicht, warum zB nur das erste Wort des Anrufernamens angezeigt wird
Du benutzt getmsg nicht ganz richtig; wichtig ist die Trennung in eine URL-Vorlage und in die eigentliche Nachricht, die dann von getmsg richtig kodiert in die Vorlage eingebaut und abgeschickt wird. Dass bei einem Leerzeichen die Ausgabe aufhört, liegt dann daran, dass du auf Shell-Ebene das Quoting vergessen hast, so dass diese deinen String auseinandernimmt und getmsg mehrere Strings zu sehen bekommt.

Nehmen wir mal dein Beispiel her:
Code:
getmsg admin:admin@musicpal /admin/cgi-bin/ipc_send?show_msg_box+Anruf+an+$DEST_DISP+§+von+$SOURCE_NAME+§#10
Das müsste so aussehen (es gibt mehrere Möglichkeiten, es zu formulieren, aber diese kommt deinem Beispiel am nächsten):
Code:
getmsg admin:admin@musicpal "/admin/cgi-bin/ipc_send?show_msg_box%%20%s" "Anruf an $DEST_DISP§von $SOURCE_NAME§#10"
Hier hat getmsg drei Argumente: Zielrechner (evtl. inklusive Authentifizierung, aber die könnte man auch über Optionen wie --user/--password machen), Muster für den GET-Aufruf ("%s" markiert die Stellen, wo nachfolgende Argumente eingesetzt werden; möchte man ein literales "%" in der URL haben, muss man es verdoppeln; vgl. im Beispiel: "%20" wird zu "%%20") und die Nachricht (so, wie sie ist; um die richtige Kodierung der Leerzeichen und Sonderzeichen kümmert sich getmsg).
Wenn es möglich wäre, eingegangene AB-Nachrichten als RSS-Feed abzurufen, wäre das Problem sogar noch einfacher lösbar.
Dafür könnte man eventuell eine neue Seite im Webinterface der Fritzbox anlegen; das System von AVM ist recht mächtig, was das Generieren von dynamischen Seiten angeht.

Aber zurück zur Sache: Ich habe eine erste Version der Funktion musicpalmessage geschrieben. Es wäre toll, wenn du sie intensiv testen könntest: Speichere die angehängte Datei in /tmp/flash/callmonitor/actions.local.d/musicpal.sh (Endung .txt entfernen!) und starte den Callmonitor neu. Nun solltest du in den Listeners folgendes tun können:
Code:
musicpalmessage admin:admin@musicpal
Das gibt die Standardnachricht aus; schau mal, ob die halbwegs brauchbar ist. Eine eigene Nachricht bekommst du so:
Code:
musicpalmessage admin:admin@musicpal "Hallo, Welt! ${SOURCE}"
Den Timeout habe ich testweise eingebaut und auf 10 Sekunden gesetzt. Falls der wider Erwarten funktionieren sollte, kannst du ihn so verändern:
Code:
MUSICPAL_TIMEOUT=20 musicpalmessage admin:admin@musicpal "Hallo, Welt! ${SOURCE}"
Mehrzeilige Nachrichten gehen so (wie gewohnt im Callmonitor):
Code:
musicpalmessage admin:admin@musicpal "Zeile 1${LF}Zeile 2"
"menu_collapse" habe ich vorerst in eine eigene Funktion gepackt:
Code:
musicpalclear admin:admin@musicpal
Anstatt immer bei Ende des Gesprächs menu_collapse aufzurufen oder nach einer gewissen Zeit, wäre es denkbar, den Aufruf immer direkt vor einer neuen Nachricht abzuschicken. Die Variante "musicpalmessage2" macht das; probier es einfach mal aus.

Viele Grüße

Andreas
 

Anhänge

  • musicpal.sh.txt
    594 Bytes · Aufrufe: 14
Wow, Andreas, Du hast ja schnelle Antwortzeiten!

in UTF-8 besteht "§" aus zwei Bytes \xC2\xA7.
Aha, das wird eine gute Erklärung für die Codepage-Probleme sein.

Du benutzt getmsg nicht ganz richtig; wichtig ist die Trennung in eine URL-Vorlage und in die eigentliche Nachricht.
Danke für die Erklärung, jetzt verstehe ich's besser. Die Erklärung ist super, sie sollte wirklich ins Wiki. Kann ich bei Gelegenheit gerne machen.

Um eingegangene AB-Nachrichten als RSS-Feed abzurufen, könnte man eventuell eine neue Seite im Webinterface der Fritzbox anlegen
Am einfachsten erscheint mir, dafür den httpd der busybox zu nehmen.
Edit: Hat der callmonitor eine Action, mit der man $SOURCE_NAME etc in eine Datei schreiben kann? (mit etwas XML für RSS drumherum)

Ich habe eine erste Version der Funktion musicpalmessage geschrieben. Es wäre toll, wenn du sie intensiv testen könntest

Toll, großartig.

Code:
musicpalmessage admin:admin@musicpal
musicpalmessage admin:admin@musicpal "Hallo, Welt! ${SOURCE}"
musicpalmessage admin:admin@musicpal "Zeile 1${LF}Zeile 2"
musicpalclear admin:admin@musicpal

funktioniert alles prima!

Die Standardnachricht ist OK; die Adresse des Anrufers mit auszugeben wäre eine super Idee, wenn das Display breiter als ca 20 Zeichen wäre... so scrollt es langsam durch, und wenn man Pech hat, muß man einige Zeit warten, bis nach der vollen Adresse endlich wieder der Name angezeigt wird. Ich habe die Listener jetzt daher so gemacht:

Code:
in:request ^ ^ musicpalmessage admin:admin@musicpal "Anruf an ${DEST_DISP}${LF}von ${SOURCE_NAME}"
in:connect ^ ^ musicpalclear admin:admin@musicpal 
in:disconnect ^ ^ musicpalclear admin:admin@musicpal 
in:cancel ^ ^ musicpalclear admin:admin@musicpal

So ist der Name des Anrufenden länger im Display, und auf die an sich auch interessante Adresse muß ich dafür eben verzichten.

Code:
MUSICPAL_TIMEOUT=20 musicpalmessage admin:admin@musicpal "Hallo, Welt! ${SOURCE}"
gibt beim Speichern eine Fehlermeldung; ohne MUSICPAL_TIMEOUT=20 geht's.
Code:
Saving listeners...done.
1: Invalid event specification
      event:   MUSICPAL_TIMEOUT=20
      source:  in:request
      dest:    ^
      action:  ^ musicpalmessage admin:admin@musicpal "Hallo, Welt! Erst dies ${SOURCE_NAME} ${LF} dann das ${DEST_DISP}"
Please correct the errors.

Der timeout funktioniert generell nicht. Dies hatte bei meinen Tests mit http-Requests nur so ausgesehen, weil ich eine Option aktiviert hatte, die nach einer Weile das Display auf Uhrzeit umschaltet :eek:... Schaltet man das ab, verschwindet die msg nicht, sondern wird durch nachfolgende Aufrufe nur wiederholt. Die einzige Lösung wäre wohl ein wrapper im MP der ein script ausführt, aber das würde im Zweifel einen Eingriff im MP erfordern, oder?

den Aufruf immer direkt vor einer neuen Nachricht abzuschicken. Die Variante "musicpalmessage2" macht das
ist an sich eine clevere Idee; allerdings könnte man auch argumentieren, es sei datenschutztechnisch "fair", wenn die Rufnummernanzeige verschwindet, sobald der Hörer abgenommen ist. Sonst liest in einer WG die ganze Küchenbelegschaft dauernd mit, wem die Franzi wieder 2 Stunden telefoniert...

Wahrscheinlich wäre es nicht schlecht, beide Optionen zu haben. Vielleicht kann man "clear before display" als Schalter in den Befehl mit aufnehmen?

Also -- super Sache, danke :D! Dann mache ich mich demnächst an ein Webinterface für die Nachrichten im Anrufbeantworter...

Viele Grüße
Ulf
 
Zuletzt bearbeitet:
Morgen,

es wäre toll, wenn du die Erklärung zu getmsg, ergänzt um deine eigenen Kommentare, ins Wiki übernehmen würdest.
Am einfachsten erscheint mir, dafür den httpd der busybox zu nehmen.
Hat auch seine Vorteile. Allerdings kommst du über AVMs CGI-Framework (webcm) mit seiner Anfragesprache direkt an die internen Listen heran. So beziehe ich mit einer eigens gestalteten Seite z.B. einfach das Telefonbuch.
Hat der callmonitor eine Action, mit der man $SOURCE_NAME etc in eine Datei schreiben kann?
echo, printf, cat, sed, tee ... ;-) Im Ernst: Als Aktion kommt beliebiger Shell-Code infrage (der beliebigen anderen Code aufrufen kann); am übersichtlichsten wird es, wenn du ein eigenes Skript anlegst und das aufrufst (SOURCE_NAME etc. stehen als Umgebungsvariablen zur Verfügung). Oder du legst ein Skript mit der Endung .sh im oben erwähnten actions.local.d-Verzeichnis an, in dem du Shell-Funktionen definierst.

1: Invalid event specification
event: MUSICPAL_TIMEOUT=20
MUSICPAL_TIMEOUT=20 gehört an den Anfang der Aktion, nicht an den Anfang der Zeile. Aber wenn der Timeout generell nicht funktioniert, nehme ich ihn raus.
allerdings könnte man auch argumentieren, es sei datenschutztechnisch "fair", wenn die Rufnummernanzeige verschwindet, sobald der Hörer abgenommen ist.
Das kann sich ja jeder über die entsprechenden Events selbst so einrichten. Am besten lasse ich die beiden Funktionen komplett getrennt; so ist man flexibel.

Andreas
 
Hallo Andreas,

ins Wiki übernehmen

Gerne, mache ich.

über AVMs CGI-Framework (webcm) direkt an die internen Listen

Ah, das wäre ja cool. Wie geht das denn mit AVMs neuer Sitzungsverwaltung seit der 76er-FW auf der 7270? Du hast ja mit Version 1.14 den callmonitor auf die neue Sitzungsverwaltung vorbereitet, kannst Du mir einen Tipp geben wie man das für http-Abfragen im LAN nutzen kann? Habe hier im Forum dazu noch keine Erklärung gesehen.

echo, printf, cat, sed, tee ... ;-) Im Ernst: Als Aktion kommt beliebiger Shell-Code infrage

Oops, stand ja sogar schon in der Doku: *:dis ^ ^ echo "Anruf beendet: ${DURATION} Sekunden" >> log :oops:

Was ich aber auch nach *:* ^ ^ echo...>>log nicht verstehe: Welches Event löst callmonitor aus, wenn der Anrufbeantworter der FBF den Anruf übernommen hat? Oder muß ich $EXT im Action-Script auswerten, um angenommene Anrufe von AB-Nachrichten unterscheiden zu können?

am übersichtlichsten wird es, wenn du ein eigenes Skript anlegst und das aufrufst
Wie kann man sicherstellen, dass solche eigenen Skripte auch von Freetz aus mit der Freetz-Konfiguration gesichert und wiederhergestellt werden?

MUSICPAL_TIMEOUT=20 gehört an den Anfang der Aktion
Oops, hätte ich mir ebenfalls denken können... funktioniert aber leider trotzdem nicht, auch nicht mit der neuen FW des MusicPal, die ich mittlerweile getestet habe. Aber lass den Parameter und das abschließende §#10 mal drin, vielleicht ist es ja doch ein CodePage-Problem (immerhin geht es ja, wenn man die Funktion im MP von der shell aufruft!) das sich mit einem zukünftigen FW-Update des MP von selbst erledigt...

kann sich jeder über die entsprechenden Events selbst so einrichten. Am besten lasse ich die beiden Funktionen komplett getrennt
Ja, hatte ich mir zwischenzeitlich auch überlegt. Vielleicht nennt man die Funktion mit vorangehendem menu_collapse musicpal_clearedmessage und macht sie in der Doku sogar zum Standard, denn sie ist narrensicher.

Gruß
Ulf
 
Wie geht das denn mit AVMs neuer Sitzungsverwaltung seit der 76er-FW auf der 7270?
http://www.avm.de/de/Extern/Technical_Note_Session_ID.pdf
Welches Event löst callmonitor aus, wenn der Anrufbeantworter der FBF den Anruf übernommen hat?
Weiß ich nicht; ruf einfach deinen AB an und schau ins System-Log. (Oder lass eine Regel "* ^ ^ echo ..." mitlaufen, die auf alles passt.)

Eigene Skripte speicherst du unterhalb von /tmp/flash und rufst dann "modsave flash" auf.

Andreas
 
danke für den link zu AVMs neuer Sitzungsverwaltung. Oho! Nur um den Nachrichtenstand des Anrufbeantworters abzufragen, sieht mir das etwas zu kompliziert aus. Zumal die 7270 ja m.W. für den AB-Status nicht einmal ein Web-UI hat. Ich überlege mir etwas anderes dafür.

Schade, dass callmonitor weder registrieren kann, ob jmd auf den AB gesprochen hat, noch ob jmd den AB abgehört hat. Es wäre halt nett, "3 Nachrichten seit 23.08." anzeigen und beim Abrufen des ABs wieder löschen zu können. Ich überlege mir auch hierzu etwas anderes und mache dazu wie gesagt bei Gelegenheit einen neuen thread auf.

Herzlichen Dank bis hierhin erstmal für Deine Hilfe, Andreas! Immerhin haben wir es geschafft, allein mit dem callmonitor Anrufer am MusicPal anzuzeigen, ohne am MusicPal selbst Änderungen vorzunehmen :cool:. Machst Du Deine neue Funktion musicpalmessage jetzt im offiziellen Freetz für alle zugänglich?

Gruß
Ulf
 
Das ist ja prima, danke. Mir sind noch zwei Dinge aufgefallen, vielleicht magst Du sie noch mit reinnehmen:
  • die Werte admin:admin@musicpal sollte bei den meisten MusicPals out-of-the-box funktionieren. Wäre klasse, wenn das der default wäre, den man dann beim Listener-Eintrag ggf weglassen kann
  • die Darstellung bei musicpalclear auf dem MP ist besser, wenn wir nach /admin/cgi-bin/ipc_send?menu_collapse noch ein zweites getmsg (http response wegwerfen!) machen auf /admin/cgi-bin/admin.cgi?f=show_clock&apply=Verwenden
Danke & Gruß
Ulf
 
prima. Überschreibbarkeit ist natürlich wichtig.

show_clock stellt das display auf "Uhrzeit" um, das ist die reguläre anzeige im standby.

wenn man menu_collapse aufruft, bleibt die Anzeige oft lange bei voller Helligkeit in dem Menu stehen, dass zuletzt einmal aufgerufen war (nachts u.U. lästig).

mit nachfolgendem show_clock kehrt die Uhr nach einem menu_collapse zum abgedunkelten Standby-Display zurück, und refresht dabei sogar noch den RSS-feed unter der Uhr (als Statusanzeige, sofern aktiviert).

Macht wohl Sinn, musicpal_clock als separate Funktion zu implementieren. Dann kann das jeder nach Bedarf in seinen Listener mitaufnehmen, à la: * ^ ^ musicpal_clear musicpal; musicpal_clock musicpal;

Das ganze wäre natürlich viel einfacher, wenn diese Timeoutfunktion mit §#20 auch von http-requests aus über das Netzwerk funktionieren würde und nicht nur per shellscript.

Ah- Idee: man könnte doch den Befehl show_msg_box mit einem geeigneten telnet-Kommando im MusicPal von der dortigen shell aus absetzen! :p Dann könnte man sich das Gefummel mit menu_collapse sparen. Ich könnte die Syntax jetzt nicht aus dem Kopf hinschreiben, aber das müßte gehen. Was meinst Du?

Gruß
Ulf
 
Das ganze wäre natürlich viel einfacher, wenn diese Timeoutfunktion mit §#20 auch von http-requests aus über das Netzwerk funktionieren würde und nicht nur per shellscript.
Schreib einen Bug-Report an den Hersteller. :)

Telnet-Zugriff aus einem Programm heraus ist eklig; SSH wäre ein Klacks.

Andreas
 
Ähm, sorry, dass ich hier evtl. Mist schreibe... :rolleyes: Aber mir fällt (aus welchen Gründen auch immer) hierzu netcat ein.
 
gelöst: einwandfreie Text-Anzeige auf MusicPal

ja, telnet zu skripten ist etwas unschön... aber dieses Skript hier funktioniert! :-D

Es stellt den Text auf dem MusicPal dar UND nimmt ihn nach 10sec SAUBER wieder weg, OHNE abschließendes ipc_send?menu_collapse, und OHNE jede Modifikation am MusicPal!

Code:
(sleep 1; echo "root";
 sleep 2; echo "";
 sleep 2; echo 'ipc_send show_msg_box "Honky§Dory§#10"';
 sleep 2; echo "exit"; ) | telnet musicpal

Muß ich gleich morgen mal in callmessage einbauen... oder weißt Du einen Weg, das skript noch etwas schlanker zu formulieren?

@ao: danke, genau, netcat wäre eleganter... aber so geht es ohne ein zusätzliches Paket zu benötigen. Hat auch 'was für sich.

Gruß
Ulf
 
netcat wäre eleganter... aber so geht es ohne ein zusätzliches Paket zu benötigen.
netcat existiert auf der Box (unter dem Namen "nc") und wird intensiv auch im Callmonitor benutzt. Dass ein Telnet-Client in der Firmware ist, ist mir demgegenüber die ganzen Jahre nie aufgefallen (ok, hab ihn auch nie gebraucht).

Andreas
 
gelöst mit netcat: saubere Textanzeige auf MusicPal

netcat existiert auf der Box (unter dem Namen "nc") und wird intensiv auch im Callmonitor benutzt

Danke, super. Dann ist das hier wohl eine brauchbare Lösung:
Code:
(sleep 1; echo "admin";
 sleep 1; echo "admin";
 sleep 1; echo 'ipc_send show_msg_box "netcat§rulez!§#3"';
 sleep 1; echo "exit"; ) | nc musicpal 23

Funktioniert prima!

Gruß
Ulf
 
Aber nur so lange, wie es nicht einmal ungünstigerweise zu einer kleinen Netzwerk-Verzögerung zwischen den ersten beiden Zeilen kommt. Dann hast Du nämlich u.U. "adminadmin" als login, "ipc_send..." als passwort - und wech. Zugegeben, im lokalen Netz sollte sowas selten passieren - es reicht aber schon, wenn der MusicPal gerade stärker unter Last steht und daher etwas träger reagiert.

Außerdem ist eine Verzögerung von 4s (durch die 4 sleeps) auch etwas unschön.

Insgesamt muss ich also Andreas gleich doppelt Recht geben: SSH wäre ein Klacks, sofern der MusicPal das versteht - und zwar ein einzeiliger Klacks, ohne jedwedes Sleep und somit natürlich ohne die gerade beschriebenen Probleme.
 
freetz-3606 / callmonitor 1.15: fehlerhafte Darstellung der Landes- und Ortsvorwahl

Hallo,

unter freetz-devel-3606 wird im WebGUI des Callmonitor 1.15 die Landesvorwahl fehlerhaft dargestellt (2. Screenshot).
In den erweiterten Einstellungen der Internettelefonie des AVM-WebGUIs erscheint die Landesvorwahl korrekt (1. Screenshot).
Hat jemand eine Idee, an was das liegen könnte? Oder ist das mal wieder nur bei mir so? :rolleyes:
.
 

Anhänge

  • avm.png
    avm.png
    3.6 KB · Aufrufe: 21
  • freetz.png
    freetz.png
    2.8 KB · Aufrufe: 26
Zuletzt bearbeitet:
Nee, das hast nur du :) Hier ist alles auber.
 
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.