Coverbild des Asterisk Buches von Stefan Wintermeyer

Letzte Woche => Endspurt!

Montag den 29.01.07 geht das Buch in die Produktion. Bis dahin laeuft der Beta-Test noch in vollem Umfang. Bitte melden Sie Fehler! Siehe Beta-Test FAQ.

Erscheinungstermin: 03.03.07. Das Buch wird auf dem Asterisk-Tag.org in Chemnitz vorgestellt und kann dort auch erworben werden. 10 Tage spaeter wird es im Buchhandel sein. Wer nicht in Chemnitz sein kann, sollte das Buch vorbestellen: Amazon oder direkt beim Verlag

Asterisk-Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de. Naechste Asterisk-Schulung: 12.02. - 13.02.07 (noch 2 Plaetze frei) - Ach ja, ... wir suchen auch noch Asterisk Entwickler! => http://www.amooma.de/jobs/


5.2. Allgemeines

Variablennamen müssen nicht wie in unseren Beispielen großgeschrieben werden und sind auch nicht an Groß- und Kleinschreibung gebunden. Die Großschreibung von Variablen führt aber meistens zu besser lesbarem Code, da Sie bereits an der Schreibweise erkennen können, dass es sich um eine Variable handelt. Umgekehrt bedeutet das aber auch, dass Groß- und Kleinschreibung nicht für die Unterscheidung von Variablen verwendet werden kann (so referenzieren z.B. EXTEN, Exten, ExTen alle nur eine Variable).

5.2.1. Strings

Strings (als Variablen, die keine Zahlen, sondern Text enthalten) sollten immer in Anführungszeichen gesetzt werden. Asterisk akzeptiert sie aber auch ohne diese Markierung. So sind die folgenden zwei Zeilen im Ergebnis gleich:

exten => 1234,1,Set(OBST=Apfel)
exten => 1234,2,Set(OBST="Apfel")

Sollte der String ein Komma oder ein Leerzeichen enthalten, dann müssen Sie Anführungszeichen verwenden, da diese sonst als Kommandos und nicht als Strings interpretiert werden:

exten => 1234,1,Set(OBSTSORTEN="Apfel, Birne, usw.")

5.2.2. Quoting

Bei einer Variablen, die Zeichen oder Zeichenfolgen (Wörter, Text) als Werte enthält, kann es vorkommen, dass man bestimmte Zeichen verwenden möchte, die bereits für andere Funktionen reserviert sind. Wollen Sie zum Beispiel ein Underscore-Zeichen als Bestandteil des Variablenwertes verwenden, müssen Sie es besonders kennzeichnen, bzw. maskieren. Diese Kennzeichnung nennt man beim Programmieren escapen. Folgende Zeichen müssen auf jeden Fall maskiert („escaped“) werden:

[ ] $ " \

Das Quoting in der extensions.conf erfolgt mit einem vorangestellten \ (Backslash).

Beispiel:

exten => 1234,1,Set(BETRAG="10,00 US \$")

5.2.3. Integer

Bestehen Variablen aus einer Ganzzahl (Integer), so kann diese maximal 18 Stellen betragen. Bei Zahlen, die größer sind, tritt ein Fehler auf, der im Logfile protokolliert wird.

Tipp

Wer mit größeren oder Kommazahlen (Real) arbeiten will, kann dies mit einem AGI-Skript realisieren (siehe Kapitel 15, Asterisk Gateway Interface (AGI)).