sip.conf
-Datei von
Asterisk:[general] port = 5060 bindaddr = 0.0.0.0 context = sonstige [2000] type=friend context=meine-telefone secret=1234 host=dynamic mailbox=2000 [2001] type=friend context=meine-telefone secret=1234 host=dynamic mailbox=2001
mailbox=...
sorgt dafür, dass die
"Message"-Anzeige des snom-Endgeräts angesprochen wird. Sobald eine
Nachricht auf der entsprechenden Mailbox des Teilnehmers eingegangen ist,
wird dies standardmäßig durch ein blinkendes "Message"-Lämpchen angezeigt.
Dieser Mechanismus wird MWI genannt, "Message Waiting Indicator". Je nach
Einstellung des Telefons kann ein Nachrichteneingang zusätzlich auch
akustisch signalisiert werden. Stellen Sie bitte vorher sicher, dass eine
passende Mailbox innerhalb der voicemail.conf
-Datei
angelegt wurde:[general] format = wav [default] 2000 => 4711,Hans Mustermann,hansi@company.de 2001 => 0815,Ute Beispiel,ute.beispiel@company.de
asterisk
an. Der Dialplan muss entsprechend um eine
solche Extension erweitert werden:[sonstige] [meine-telefone] exten => _2XXX,1,Dial(SIP/${EXTEN},20,j) exten => _2XXX,n,VoiceMail(u${EXTEN}) exten => 2999,1,VoiceMailMain(s${CALLERID(num)}) exten => asterisk,1,VoicemailMain(s${CALLERID(num)})
sip.conf
der Parameter
vmexten=...
hinzufügen.[2001] type=friend context=meine-telefone secret=1234 host=dynamic mailbox=2001 vmexten=obelisk
2999
). Diese
kann man dann entweder manuell anwählen, oder man kann eine der
Funktionstasten des Telefons belegen oder bei den snom 360-Modellen über
die XML-Steuerung einen Menüpunkt zur Verfügung stellen./etc/dhcp.conf
festgelegt werden:option tftp-server-name "http://pbx.apfelmus-gmbh.de/snom/settings/snom.php?mac={mac}";
{mac}
automatisch mit der MAC-Adresse des Telefons belegt. Man sollte sich
nicht verwirren lassen, dass ein HTTP- statt eines TFTP-Servers über
diesen Parameter konfiguriert wird. Die Telefone erkennen automatisch,
dass sie einen HTTP-Request durchführen müssen. Es muss kein
zusätzlicher TFTP-Server konfiguriert werden. Hier sehen Sie ein
Beispiel für ein PHP-Skript, das als Rückgabe die Settings für ein
bestimmtes Telefon liefert:<html> <pre> <?php // Die MAC-Adresse aus der URL (GET) lesen und in $mac abspeichern. $mac = $_GET['mac']; // Allgemeine Konfiguration readfile("snom-base.htm"); // Spezielle Konfiguration für diese MAC-Adresse readfile("snom-".$mac.".htm"); ?> </pre> </html>
snom-base.htm
befinden sich die
Settings, die für alle Telefone identisch sein sollen. In der Regel kann
man hier Sprach- und Datumseinstellungen, feste Tastaturbelegungen etc.
konfigurieren.# After each setting (before the colon) you can set a flag, which means respectively: # ! means writeable by the user, but will not overwrite existing # $ means writeable by the user, but will overwrite existing (available since version 4.2) # & (or no flag) means read only, but will overwrite existing # more settings can be found at the settings (dump) page of the phone's build in webinterface # Language and Time settings language$: Deutsch web_language$: Deutsch timezone$: GER+1 date_us_format&: off time_24_format&: on tone_scheme&: GER # define the firmware update policy here # valid values are <auto_update>, <ask_for_update>, <never_update_firm>, # <never_update_boot>, <settings_only> update_policy: auto_update #define the firmware update interval here, amount in minutes, default is 1440 = 1 day firmware_interval: 2880 setting_server!: http://pbx.apfelmus-gmbh.de/snom/settings/snom.php?mac={mac} subscribe_config!: off update_server!: http://pbx.apfelmus-gmbh.de/snom/settings/snom.php?mac={mac} contrast!: 14 dtmf_speaker_phone!: on dkey_snom&: url http://pbx.apfelmus-gmbh.de/snom/webapps/mainmenu.xml admin_mode: off admin_mode_password$: 4321 admin_mode_password_confirm$: 4321 alert_internal_ring_text: alert-internal alert_external_ring_text: alert-external alert_group_ring_text: alert-group
dkey_snom
, alert_internal_ring_text
,
alert_external_ring_text
und
alert_group_ring_text
. Deren Bedeutung wird später noch
genauer erläutert.snom-{mac}.htm
abgespeichert,
also bei einem Telefon mit MAC-Adresse
00:04:13:23:8B:60
in der Datei
snom-000413238B60.htm
. Der Aufbau des Dateinamens
ist prinzipiell beliebig, wichtig dabei ist, dass Sie die gedachte Kette
zwischen den Einstellungen innerhalb der DHCP-Konfiguration, der
dazugehörigen Skriptdatei und letztendlich der Settings-Datei des
Telefons einhalten. Hier sehen Sie die spezielle Konfiguration eines
solchen Telefons:# After each setting (before the colon) you can set a flag, which means respectively: # ! means writeable by the user, but will not overwrite existing # $ means writeable by the user, but will overwrite existing (available since version 4.2) # & (or no flag) means read only, but will overwrite existing # First account user_active1!: on user_realname1$: Hans Mustermann <2000> user_name1$: 2000 user_host1&: pbx.apfelmus-gmbh.de user_pass1$: 1234 # You may add up to 12 accounts # set second account to active outgoing identity active_line$: 1 # in order to perform automated updates, define the firmware setting file URL # where you specify the final firmware image URL firmware_status: http://pbx.apfelmus-gmbh.de/snom/firmware360.htm
! | Der Parameter kann vom Anwender über das Telefon geändert werden. Bestehende Einstellungen werden beim Laden des Settings-Files nicht geändert. |
$ | Der Parameter kann vom Anwender über das Telefon geändert werden. Bestehende Einstellungen werden beim Laden des Settings-Files überschrieben. |
& oder kein Flag | Der Parameter kann vom Anwender nicht über das Telefon geändert werden. Bestehende Einstellungen werden beim Laden des Settings-Files überschrieben. |
/var/log/messages
, um herauszufinden, welche
DHCP-Anfragen gestellt wurden, sowie ein Blick in das Access-Log des
Webservers, um zu überprüfen, ob überhaupt die richtigen Dateien
angefordert wurden. Bei einem Apache 2.0 auf einem Debian Linux wäre
dies z. B. die Datei /var/log/apache2/access_log
.
Mittels dieser beiden Logs lassen sich die Fehler bei der
Konfiguration in der Regel sehr schnell finden und beheben. Zur
Fehlersuche kann man zunächst auch mit statischen
Konfigurationsdateien statt mit einem PHP-Skript arbeiten. So wird die
Komplexität verringert, und es können Fehler in der Skriptdatei
ausgeschlossen werden.alert_internal_ring_text
,
alert_external_ring_text
und
alert_group_ring_text
eine Rolle. Über den SIP-Header ist es
möglich, eine Signalisierungsinformation mit zu übergeben,die auch
Alert-Info genannt wird. Die Telefone erkennen dann über diese Info, ob
sie gegebenenfalls eine andere Ruf-Signalisierung nutzen sollen, soweit
dies vom Anwender konfiguriert wurde. Dazu muss vor der eigentlichen
Anwahl über das Dial()
-Kommando der
SIPAddHeader()
-Befehl abgesetzt werden. Anbei sehen Sie
einen entsprechenden Auszug aus der
extensions.conf
-Datei.exten => _2XXX,1,SIPAddHeader("Alert-Info: <http://pbx.apfelmus-gmbh.de>\;info=alert-internal\;x-line-id=0") exten => _2XXX,2,Dial(SIP/${EXTEN})
info=alert-internal
. Hier muss einer der drei konfigurierten Texte stehen, an denen das
Telefon die Art des Rufes erkennen soll. Welcher Text dort steht, ist
eigentlich egal, aber er muss jeweils mit den Werten übereinstimmen, die
bei den Telefon-Parametern alert_internal_ring_text
,
alert_external_ring_text
oder
alert_group_ring_text
übergeben wurden. Es empfiehlt sich,
die jeweiligen Default-Werte zu übernehmen.exten => _2XXX,1,SIPAddHeader(Alert-Info: <http://pbx.apfelmus-gmbh.de/snom/sounds/snom_trumpet.wav>) exten => _2XXX,n,Dial(SIP/${EXTEN})
/etc/asterisk/sip_notify.conf
ein:[reboot-snom] Event=>reboot Content-Length=>0
sip notify
reboot-snom extension
neu starten,
also zum Beispiel:*CLI> sip notify reboot-snom 2001
Sending NOTIFY of type 'reboot-snom' to '2001'
-- Unregistered SIP '2001'
*CLI>
#!/bin/bash ASTERISK=/usr/sbin/asterisk $ASTERISK -rx "sip notify reboot-snom 1000 2000 2001"
[globals] ; Kommando zum Zurücksetzen der snom-Telefone CMD_RESET_SNOM=/usr/local/sbin/resetAllSnoms.sh [admin] exten => 666,1,NoOp(Bastard Operator from Hell Snom Reset) exten => 666,n,System(${CMD_RESET_SNOM}) ; externes Kommando ausfuehren
challenge_reboot: on
".[115] Bei älterer Firmware könnte man auch sagen: Die Zeile
<?xml version ..?>
kann man auch weglassen; der
eingebaute Browser ist auch mit diesem Header sowieso nicht in der
Lage, XML korrekt zu interpretieren, insbesondere wenn es um die
Kodierung und um XML-Entities geht. ;-)