Introduction

The XML Minibrowser is a feature of the standard SIP software delivered with Snom phones. It allows processing Snom XML objects which is stored on standard web servers (http(s)).

The feature can be used for various applications, like creating custom user interfaces.


Available XML objects are following:

Main Tag NameBeschreibung
IPPhoneMenuShow a Menu calling other applications
IPPhoneDirectoryShows a phone book
IPPhoneTextPrint a text
IPPhoneImageShow a base64 encoded image
IPPhoneImageFileShow an image fetched via an URL
IPPhoneInputRequest for an input from the user
IPPhoneBatchCombine several main tags in one XML data


To understand how Snom Minibrowser works, the knowledge on following theme are required :

  • Snom telephone
  • Basic XML element (tag and attributes) and XML structure
  • URI (fragment and query) and URL-encoding


With the previous knowledge, programmer can start developing minibrowser program by doing the following simple task :

  • Learn minibrowser basic structure in given XML schema. (see here)
  • Understand minibrowser tag and attribute on this page
  • Create simple minibrowser application or test the sample program given in the example page
  • Learn about minibrowser callback and fragment function
  • You can see many ready-to-use examples

Common rule for writing XML for minibrowser

  • First and foremost, use XML Editor with capability of validating XML file with XSD (XML Schema Definition).
  • XML header is recommended to make XML parser not guessing which encoding will be used.
  • Minibrowser can only load one one object at a time. see IPPhoneBatch for instruction to write multiple object in one file.
  • Minibrowser can also load file with php and cgi extension, if they are generating the XML file. Don't forget to set the header of the file to XML type content.
  • To write XML file using character other than English alphabet, check if the editor encoded the file in utf-8 and PUI language supported the character. As example by arabic PUI language can't show Chinese and Japanese character or by English PUI language can't show Arabic character.
  • To enable validation in common XML editor you have to include the schema declaration in main object.
    • You don't have to include another schema declaration in main element when using IPPhoneBatch, except that you want to use different schema.

Example of how to include XML schema from upper directory.

<?xml version="1.0" encoding="UTF-8"?>
<SnomIPPhoneText xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../minibrowser_test.xsd">
    <Text>Hello world</Text>
</SnomIPPhoneText>


Some special instruction and hints (This may change by different firmware version or new XML parser behaviour)

  • Minibrowser XML parser is not case sensitive, so you can write the opening tag and closing tag with the different character case. In proper XML editor, it will check the character case.
  • Name convention of minibrowser tags and attributes are following :
    • All tag written in camel case and start with upper-case with exception of tag.
    • All Attribute is written and start in lower-case character and underscore is used to replace white space.
  • The link provided in example may be invalid, broken and unavailable.
  • Some example was provided with light content, to make it short and understandable in first glance.
  • Due to XSD limitation there is some behaviour that may not described here.



Einführung

Der XML-Minibrowser ist eine Funktion der standard SIP-Software die mit jedem Snom-Telefon ausgeliefert wird . Es ermöglicht die Verarbeitung von Snom XML-Objekten, die auf Standard Webservern (http(s)) gespeichert sind.

Die Funktion kann für verschiedene Anwendungen verwendet werden, wie z.B. die Erstellung von benutzerdefinierten Benutzeroberflächen.


Die verfügbaren XML-Objekte sind im Folgenden aufgeführt:

Main Tag NameDescription
IPPhoneMenuZeigt ein Menü an, das andere Anwendungen aufruft.
IPPhoneDirectoryZeigt ein Telefonbuch an.
IPPhoneTextEinen Text ausgeben
IPPhoneImageZeigt ein Base64-kodiertes Bild an.
IPPhoneImageFileZeigt ein Bild an, das über eine URL abgerufen wurde.
IPPhoneInputAnfrage nach einer Eingabe des Benutzers
IPPhoneBatchKombinieren Sie mehrere Haupt-Tags in einer XML-Datei.


Um zu verstehen, wie Snom Minibrowser funktioniert, sind Kenntnisse zu folgendem Thema erforderlich:

  • Snom Telefon
  • Basis-XML-Element (Tag und Attribute) und XML-Struktur
  • URI (Fragment und Abfrage) und URL-Kodierung


Mit den Vorkenntnissen kann der Programmierer mit der Entwicklung eines Minibrowser-Programms beginnen, indem er die folgende einfache Aufgabe erfüllt:

  • Lernen Sie die Grundstruktur des Minibrowsers in einem vorgegebenen XML-Schema. (siehe hier)
  • Minibrowser-Tag und -Attribut auf dieser Seite verstehen
  • Erstellen Sie eine einfache Minibrowser-Anwendung oder testen Sie das auf der Beispielseite angegebene Beispielprogramm.
  • Erfahren Sie mehr über die Callback- und Fragmentfunktion des Minibrowsers.
  • Sie können viele gebrauchsfertige Beispiele sehen.

Allgemeine Regel zum Schreiben von XML für den Minibrowser

  • Verwenden Sie in erster Linie den XML Editor mit der Möglichkeit, XML-Dateien mit XSD (XML Schema Definition) zu validieren.
  • XML-Header wird empfohlen, damit der XML-Parser nicht erraten muss, welche Kodierung verwendet wird.
  • Der Minibrowser kann immer nur ein Objekt auf einmal laden. Siehe IPPhoneBatch für die Anweisung, mehrere Objekte in eine Datei zu schreiben.
  • Der Minibrowser kann auch Dateien mit php und cgi-Erweiterung laden, wenn diese die XML-Datei erzeugen. Vergessen Sie nicht, den Header der Datei auf XML-artigen Inhalt zu setzen.
  • Um eine XML-Datei mit einem anderen Zeichen als dem englischen Alphabet zu schreiben, überprüfen Sie, ob der Editor die Datei in utf-8 kodiert hat und die PUI-Sprache das Zeichen unterstützt. Als Beispiel kann die arabische PUI-Sprache kein chinesisches und japanisches Zeichen anzeigen oder die englische PUI-Sprache kann kein arabisches Zeichen anzeigen.
  • Um die Validierung in einem gängigen XML-Editor zu ermöglichen, müssen Sie die Schema-Deklaration in das Hauptobjekt aufnehmen.
    • Bei der Verwendung von IPPhoneBatch müssen Sie keine weitere Schema-Deklaration in das Hauptelement aufnehmen, außer dass Sie ein anderes Schema verwenden möchten.

Beispiel für die Einbindung von XML-Schemata aus dem übergeordneten Adressbuch.

<?xml version="1.0" encoding="UTF-8"?>
<SnomIPPhoneText xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../minibrowser_test.xsd">
    <Text>Hello world</Text>
</SnomIPPhoneText>


Einige spezielle Anweisungen und Tipps

(Dies kann sich durch unterschiedliche Firmware-Versionen oder neues XML-Parserverhalten ändern).

  • Der Minibrowser XML-Parser unterscheidet nicht zwischen Groß- und Kleinschreibung, so dass Sie das öffnende und schließende Tag mit den  Groß- oder Kleinschreiben können. In einem geeigneten XML-Editor wird die Zeichengröße überprüft.
  • Die Namenskonvention der Minibrowser-Tags und -Attribute ist wie folgt:
    • All tag written in camel case and start with upper-case with exception of tag.
    • Alle Attribute werden geschrieben und beginnen in Kleinbuchstaben und Unterstrich wird verwendet, um Leerzeichen zu ersetzen.
  • Der im Beispiel angegebene Link kann ungültig, beschädigt und nicht verfügbar sein.
  • Einige Beispiele wurden mit einfachen Inhalten versehen, um sie auf den ersten Blick kurz und verständlich zu machen.
  • Aufgrund der XSD-Beschränkung gibt es einige Verhaltensweisen, die hier nicht beschrieben werden können.