Snom is a well known Germany-based IP-phones manufacturer, their products work very well with Asterisk and also with proprietary IP-PBX systems. There are though, some things to be done in the Asterisk side to be able to get the most out of these devices.
Firmware
It’s recommended to update the firmware: Snom has three kind of firmwares 1) the SIP firmware, 2) Ramfs firmware 3) Linux OS firmware, there is a given order to follow to perform a software update:
1. snom320-3.25-l.bin: This linux is needed to make the ethernet switch properties control work. The link for this is: http://www.snom.com/download/snom320-3.25-l.bin.
2. snom320-5.5a-SIP-j.bin: Application part of release 5 which introduces the new image formats, everything except the ethernet switch properties control is working. Downgrading manually via TFTP is still possible. The link for this is: http://www.snom.com/download/snom320-5.5a-SIP-j.bin.
3. snom320-ramdiskToJffs2-3.36-br.bin: New bootloader and rootfs with new image format each, which can be updated by application part release 5 or above only. This saves 2MB of RAM and brings a TFTP update application which is able to update application images with version 5 or above only. The link for this file is: http://www.snom.com/download/snom320-ramdiskToJffs2-3.36-br.bin
4. snom320-6.2-SIP-j.bin: Application part of release 5 which introduces the new image formats, everything except the ethernet switch properties control is working. Downgrading manually via TFTP is still possible. The link for this is: http://www.snom.com/download/snom320-6.2-SIP-j.bin
Note: The phone is making sure, that you cannot destroy your phone by using a wrong order of those updates. If the order is wrong it will show Wrong Image at the display!
MWI
Notifications from Asterisk are sent to the device like this -> asterisk@yourdomain.com, yourdomain.com can be set in sip.conf under the variable name “fromdomain=”, this can also be an IP address. You will need an extension called ‘asterisk’ in your box which could be reached from the phone on the same context the corresponding SIP user is registered in.
exten => asterisk,1,VoiceMailMain(${CALLERIDNUM})
In case you don’t like to have an extension called ‘asterisk’ you can use vmexten=<voicemail extension> in sip.conf, and in extensions.conf something like this:
exten => <voicemail extension>,1,VoiceMailMain(${CALLERIDNUM})
You will also want to enable SIP SIMPLE to allow the MW key to work on the Snom phones, again in the beginning of sip.conf replace:
notifymimetype=text/plain
with
notifymimetype=application/simple-message-summary
Provisioning
You should have Apache installed with DocumentRoot pointing somewhere. For us it will be /var/www/localhost/htdocs/snom (hey you guessed! Gentoo
We need the phones to boot using DHCP, which is default on these (and most) phones, giving them a URL from where to download the settings file from. This could be a good example:
http://10.0.0.1/snom/snom_000413230000
For a large deployment, you can use the QUERY_STRING to pass the MAC as a variable, the URL will have to be setup individually for each device or using a wildcard.
http://10.0.0.1/snom/snom_provisioning.php?mac=000413230000
Then you’ll have to code the snom_provisioning.php, should not be hard, a tip: $_GET[’mac’] and some includes.
The content of the file is well documented on Snom’s Mass Deployment page. However I am going to give you an example of how the file should look like:
active_line&: 1
language&: Deutsch
setting_server&: http://10.0.0.5/snom/snom.php?mac={mac}
ntp_server&: 10.0.0.10
ring_sound&: Ringer1
timezone&: GER+1
contrast&: 22
user_phone!: on
active_line&: 1
outgoing_identity&: 1
sip_proxy&: 10.0.0.5
tone_scheme&: GER
vol_speaker&: 4
vol_ringer&: 5
vol_handset&: 11
vol_speaker_mic&: 3
vol_handset_mic&: 3
log_level&: 5
mwi_notification&: silent
user_host1&: 10.0.0.5
user_ringer1&: Ringer3
call_waiting&: on
user_active1&: on
user_realname1&: Empfang
user_name1&: 1013
user_pass1&: 1364092
user_idle_text1&: Empfang
phone_name&: SIP1013
user_pname1&: 1013
message_led_other&: off
# firmware stuff snom320
firmware_status: http://10.0.0.5/snom/firmware/snom360-firmware.html
This file can be either plain/text or HTML, since Snom uses an embedded version of Mozilla on it. It will make no difference.
BTW, if you ask me why is an ampersand before the colon on each variable, this my give you a idea:
! : writable by the user, but will not overwrite existing
$ : writable by the user, but will overwrite existing (available since version 4.2)
& (or no flag) : read only, but will overwrite existing
We strongly advice to use the ampersand or no-flag at all for an initial provisioning.
Note that the last line of the previous configuration file, has a URL pointing to a firmware settings file, if this option is setup, then the phone is going to ask for a firmware upgrade. The file looks like this, and has some options on it:
# the firmware file:
firmware_status: http://10.0.0.5/snom/firmware/snom360-firmware.html
# how to update
update_policy: auto_update
# update interval here, amount in minutes, default is 1440 = 1 day
firmware_interval: 2880
System and application firmware files for different phone versions of this manufacturer can be found here
Good luck with the setup (you’re gonna need it 