Hallo @all,
Ich habe mich die letzten paar Stunden mit dem neuen Feature "Idle Screen XML Download" beschäftigt und ein bischen herumgebastelt und herumprobiert. Fazit: Trotz der extrem knappen Dokumentation im Handbuch vom GXP ist es mir gelungen meinen Idle-Screen mit einem schönen (?) Sipgate-Logo zu versehen.
Zunächst einiges Grundsäzliches:
Der Grundaufbau einer "gs_screen.xml"
Das Bild:
Das Bild welches man einbinden möchte, muss eine 1-Bit-Farbpalette haben, d.h. ein Schwarz-Weiß-Bild sein. Dieses Bild darf nicht größer als 130x64 Pixel sein, wenn die Status-Leiste am oberen Rand nicht angezeigt werden soll, bzw 130x54 Pixel, wenn die Status-Leiste angezeigt werden soll. Dieses Bild speichern wir unter einem beliebigen Namen als 1-Bit-Bitmap.
Als nächstes müssen wir das Bild in base64 umwandeln. Unter Linux erledigen wir das mit folgendem Befehl:
Nach der Ausführung des Befehl befindet sich eine neue Datei "bild.base64", in welcher sich das encodete Bild befindet.
Die eigene "gs_screen.xml":
Wir nehmen einen beliebigen Text-Editor und kopieren obiges Grundgerüst in eine neue Datei oder tippen das Grundgerüst aus dem Handbuch ab. Diese Datei speichern wir unter dem Namen "gs_screen.xml", am einfachsten in dem Ordner, den wir in der Web-Konfiguration als Pfad angegeben haben. Falls wir ein Bild auf dem Display haben möchten, öffnen wir jetzt ebenfalls mit einem Text-Editor die Datei "bild.base64" und kopieren den gesamten Inhalt in unsere "gs_screen.xml" zwischen <Bitmap> und </Bitmap>. Danach entfernen wir zwischen <Bitmap> und </Bitmap> alle Zeilenumbrüche, sodass <Bitmap> und </BItmap> in einer Zeile stehen. Zwischen diesen beiden Tags steht nun ebenfalls in der gleichen Zeile unser Base64-Bild. Möchten wir kein Bild auf dem Display anzeigen, löschen wir alles von <DisplayBitmap> bis </DisplayBitmap>.
Als nächstes widmen wir uns der Anzeige von Texten. Texte die angeziegt werden, müssen zwischen <DisplayStr> und </DisplayStr> stehen. Diese Tags wiederum zwischen <DisplayString> und </DisplayString>. Der Text kann auch Variablen enthalten. Folgende Variablen habe ich bereits aufgespürt:
$D - Tag
$H - Stunde
$I - IP-Adresse
$M - Monat (ausgeschrieben)
$m - Minute
$N - Account Name (1. Account)
$W - Wochentag (lang)
$V - SIP Server (1. Account)
$X - SIP User ID (1. Account)
$Y - Jahreszahl (vierstellig)
Mittels X- und Y-Tag können wir den Text auf dem Display positionieren.
über das font-Attribut legen wir eine Schrift fest und über die Attribute "halign" und "valign" die Ausrichtung.
"Installtion" des Idle-Screens
Haben wir die "gs_screen.xml" nach unseren Wünschen ausgestaltet und am entsprechenden Ort gespeichert, so können wir am GXP im Menü Preferences den Punkt "Download SCR XML" auswählen. Hat alles geklappt, entspricht das Display nun unseren Wünschen. Stimmt etwas mit der XML-Datei nicht, dann bekommen wir entweder weiterhin das Standard-Display zu Gesicht, oder das GXP Stürzt ab (eher selten). Im Falle eines Absturzes einfach kurz die Stromversorgung kappen und neustarten. mein GXP hat das ganze jetzt schon mehrfach überstanden, ohne Schaden zu nehmen.
wichtiger Hinweis:
Ich übernehme keine Verantwortung, falls irgend ein GXP aufgrund meiner Anleitung den Dienst quittieren sollte. Für Hinweise auf Fehler in meiner "Dokumentation" bin ich trotzdem dankbar und werde sie schnellstmöglich korrigieren.
meine "gs_screen.xml":
Hier hänge ich noch meine "gs_screen.xml" an, wie sie zur Zeit auf meinem GXP ihren Dienst tut. Die Statusleiste ist eingeblendet. Darunter befindet sich ein Sipgate-Logo. Unter dem Logo steht der Name und darunter die SIP-Adresse.
Ich Hoffe mit dieser Anleitung die doch etwas mageren Anweisungen von Grandstream etwas ergänz zu haben und wünsche allen viel Spaß beim "Display-Skinning".
Gute Nacht
hotroot
Ich habe mich die letzten paar Stunden mit dem neuen Feature "Idle Screen XML Download" beschäftigt und ein bischen herumgebastelt und herumprobiert. Fazit: Trotz der extrem knappen Dokumentation im Handbuch vom GXP ist es mir gelungen meinen Idle-Screen mit einem schönen (?) Sipgate-Logo zu versehen.
Zunächst einiges Grundsäzliches:
- Damit das GXP überhaupt einen eigenen Idle-Screen empfangen kann, muss der Abschnitt "Idle Screen XML Download" in der Web-Konfiguration korrekt ausgefüllt sein (nicht NO und gültiger Server-Pfad; Ich habe nur TFTP getestet; siehe auch Dokumentation Seite 39).
- Wie der Titel schon sagt, handelt es sich bei der Datei um eine XML-Datei, welche den Namen "gs_screen.xml" tragen muss.
- Ein Bild muss ein 1-bit-Bitmap sein, welches base64-encoded ist, damit es vom GXP akzeptiert wird.
Der Grundaufbau einer "gs_screen.xml"
Code:
<?xml version="1.0"?>
<Screen>
<IdleScreen>
<ShowStatusLine>{true|false}</ShowStatusLine>
<DisplayBitmap>
<Bitmap>{Base64-encoded Bitmap}</Bitmap>
<X>{X-Position}</X>
<Y>{Y-Position}</Y>
</DisplayBitmap>
<DisplayString font="{f8|f10 (andere Angaben nicht getestet)}" halign="{Left|Center|Right}" valign={Top|Middle|Bottom (ungetestet)}>
<DisplayStr>{Zu schreibender Text}</DisplayStr>
<X>{X-Position}</X>
<Y>{Y-Position}</Y>
</DisplayString>
</IdleScreen>
</Screen>
Das Bild:
Das Bild welches man einbinden möchte, muss eine 1-Bit-Farbpalette haben, d.h. ein Schwarz-Weiß-Bild sein. Dieses Bild darf nicht größer als 130x64 Pixel sein, wenn die Status-Leiste am oberen Rand nicht angezeigt werden soll, bzw 130x54 Pixel, wenn die Status-Leiste angezeigt werden soll. Dieses Bild speichern wir unter einem beliebigen Namen als 1-Bit-Bitmap.
Als nächstes müssen wir das Bild in base64 umwandeln. Unter Linux erledigen wir das mit folgendem Befehl:
Code:
$> base64 -e bild.bmp > bild.base64
Die eigene "gs_screen.xml":
Wir nehmen einen beliebigen Text-Editor und kopieren obiges Grundgerüst in eine neue Datei oder tippen das Grundgerüst aus dem Handbuch ab. Diese Datei speichern wir unter dem Namen "gs_screen.xml", am einfachsten in dem Ordner, den wir in der Web-Konfiguration als Pfad angegeben haben. Falls wir ein Bild auf dem Display haben möchten, öffnen wir jetzt ebenfalls mit einem Text-Editor die Datei "bild.base64" und kopieren den gesamten Inhalt in unsere "gs_screen.xml" zwischen <Bitmap> und </Bitmap>. Danach entfernen wir zwischen <Bitmap> und </Bitmap> alle Zeilenumbrüche, sodass <Bitmap> und </BItmap> in einer Zeile stehen. Zwischen diesen beiden Tags steht nun ebenfalls in der gleichen Zeile unser Base64-Bild. Möchten wir kein Bild auf dem Display anzeigen, löschen wir alles von <DisplayBitmap> bis </DisplayBitmap>.
Als nächstes widmen wir uns der Anzeige von Texten. Texte die angeziegt werden, müssen zwischen <DisplayStr> und </DisplayStr> stehen. Diese Tags wiederum zwischen <DisplayString> und </DisplayString>. Der Text kann auch Variablen enthalten. Folgende Variablen habe ich bereits aufgespürt:
$D - Tag
$H - Stunde
$I - IP-Adresse
$M - Monat (ausgeschrieben)
$m - Minute
$N - Account Name (1. Account)
$W - Wochentag (lang)
$V - SIP Server (1. Account)
$X - SIP User ID (1. Account)
$Y - Jahreszahl (vierstellig)
Mittels X- und Y-Tag können wir den Text auf dem Display positionieren.
über das font-Attribut legen wir eine Schrift fest und über die Attribute "halign" und "valign" die Ausrichtung.
"Installtion" des Idle-Screens
Haben wir die "gs_screen.xml" nach unseren Wünschen ausgestaltet und am entsprechenden Ort gespeichert, so können wir am GXP im Menü Preferences den Punkt "Download SCR XML" auswählen. Hat alles geklappt, entspricht das Display nun unseren Wünschen. Stimmt etwas mit der XML-Datei nicht, dann bekommen wir entweder weiterhin das Standard-Display zu Gesicht, oder das GXP Stürzt ab (eher selten). Im Falle eines Absturzes einfach kurz die Stromversorgung kappen und neustarten. mein GXP hat das ganze jetzt schon mehrfach überstanden, ohne Schaden zu nehmen.
wichtiger Hinweis:
Ich übernehme keine Verantwortung, falls irgend ein GXP aufgrund meiner Anleitung den Dienst quittieren sollte. Für Hinweise auf Fehler in meiner "Dokumentation" bin ich trotzdem dankbar und werde sie schnellstmöglich korrigieren.
meine "gs_screen.xml":
Hier hänge ich noch meine "gs_screen.xml" an, wie sie zur Zeit auf meinem GXP ihren Dienst tut. Die Statusleiste ist eingeblendet. Darunter befindet sich ein Sipgate-Logo. Unter dem Logo steht der Name und darunter die SIP-Adresse.
Code:
<?xml version="1.0"?>
<Screen>
<IdleScreen>
<ShowStatusLine>true</ShowStatusLine>
<DisplayBitmap>
<Bitmap>Qk2+AgAAAAAAAD4AAAAoAAAAggAAACAAAAABAAEAAAAAAIACAAARCwAAEQsAAAIAAAACAAAAAAAAAP///wD/////////////////////wAAAAP/////////////////////AAAAA///+ED///////////////8AAAAD//CAIH////4//g///////wAAAAP/gQAgf////j/4A///////AAAAA/4B/+A////+P/gD//////8AAAAD/h8APz////4/+eP//////wAAAAP+cQAR/////j//8f//////AAAAA/+CABA/+D+eAf/x4Y+Hwf8AAAAD/gYAED/gDx4AfAHADwOAfwAAAAP+BAAQP+EPHgB4AYAeAwB/AAAAA/4EAAgf548eHDgBhx4fH/8AAAAD/gQACB//jx48MOGHHh4f/wAAAAP+BAf///4PHj4x8YcePh//AAAAA/4ED///+A8ePjHxwB4+AD8AAAAD/wQIAB/wPx4+MfHgHj4APwAAAAP/BAgAH/H/Hj4x8f8ePhw/AAAAA/8ED4Af8/8ePjDx/x4/HH8AAAAD/wQPwB/xzx4YMOHOHj8cfwAAAAP/BAngH/AMHAB4AMAYA4B/AAAAA/8ECfAf+BwcYPwY4DgDgP8AAAAD/wYJ8B///////////j///wAAAAP/AgnwH//////////+P///AAAAA//CCfAf//////////4///8AAAAD/z4J8B///x///////j///wAAAAP/A/nwH///H///////////AAAAA/+BCfAf//8f//////////8AAAAD/4CI8B///////////////wAAAAP/gIj4H///////////////AAAAA//AT/////////////////8AAAAD/////////////////////wAAAAP/////////////////////AAAAA</Bitmap>
<X>0</X>
<Y>10</Y>
</DisplayBitmap>
<DisplayString font="f10" halign="Center">
<DisplayStr>$N</DisplayStr>
<X>64</X>
<Y>26</Y>
</DisplayString>
<DisplayString font="f10" halign="Center">
<DisplayStr>$X@$V</DisplayStr>
<X>64</X>
<Y>38</Y>
</DisplayString>
</IdleScreen>
</Screen>
Ich Hoffe mit dieser Anleitung die doch etwas mageren Anweisungen von Grandstream etwas ergänz zu haben und wünsche allen viel Spaß beim "Display-Skinning".
Gute Nacht
hotroot