SPLiT is a tool specially developed for a VoIP test environment that can simulate a variety of server services:
- SIP-Proxy / Registrar
- TFTP Server
- HTTP Server
- DHCP Server
- PnP Server
SPLiT is not an official Snom product. Snom Technology GmbH does not provide support for this tool and assumes no responsibility or liability for any damages resulting from the use of SPLIT, directly or indirectly. Use it at your own discretion and risk. (SPLiT should NEVER be used in productive environments).
Download & Installation
SPLiT was developed in Python, a modern scripting language. To avoid installing the Python interpreter, SPLiT is provided as a precompiled executable file for Windows and Mac.
Binary files for Windows and Mac OS 10.6+:
For installation on Linux please use the file "makedist-linux" from the SPLiT directory of the binary files: split_binaries.zip
You can easily start SPLiT from a user with administrative rights (on OSX or GNU/Linux you should use sudo or run it from root).
If the binary package does not work for your operating system, you can run it from the required Python source code (Python 2.X environment).
For smooth operation, you need to prepare your PC running SPLiT, which in this context acts as a server providing various services for your Snom phones.
Firstly, you must configure a fixed IP address and secondly, you must correctly set up SPLiT for operation as a DHCP, HTTP or TFTP server. This is done either manually or by means of code string.
- Configure your computer with a static IP address and gateway to match your test network, e. g. 192.168.100.1.
This IP address is also used in the following configuration.
Start precompiled SPLiT Version:
- Create a "split" folder to which you copy the Windows file.
- In the folder "split" create the folders http and/or tftp depending on the task. These serve as root directories for retrieving firmware and provisioning files.
- Please temporarily disable the firewall before running the SPLiT tool.
Run the SPLiT executable file (SPLiT-1.1.3_w32.exe) as administrator (right mouse click, "Run as administrator").
Attention: Only deactivate the firewall as long as you do not have a connection to the Internet, and then activate it again immediately.
- This is what it looks like when SPLiT is running:
Example for starting SPLiT from the Windows command line with admin right.
- Start the command line as administrator from the Windows key press and type "cmd.exe", then right click, and select "Run as administrator".
- Change to the directory C:/split with cd/ and cd split.
Execute the following command string.
SPLiT-1.1.3_w32.exe /-d -i 192.168.100.1 --dhcp-begin=192.168.100.100 --dhcp-end=192.168.100.200 --dhcp-subnetmask=255.255.255.0 --dhcp-gateway=192.168.100.254 --dhcp-dns=184.108.40.206 --dhcp-bcast=192.168.100.255 --dhcp-fileserver=http://192.168.100.1
Under Windows please deactivate the firewall before using the SPLiT tool, otherwise the connected phones cannot get an IP address via DHCP, nor can they receive provisioning files.
For Mac OS
If you are using a Mac:
- Create a directory "http" and a directory "tftp" on the same level as the "split" directory to a location of your choice.
This is how it should look like at the end:
- Copy SPLiT_OSX-1.1.3_OSX into the split folder.
- From the split folder, execute the precompiled file "split_osx" in a terminal window with sudo (sudo ./SPLiT_OSX)
Alternatively, you can start SPLiT directly from the command line with all necessary configuration parameter:
sudo python ./split/SPLiT.py -d -i 192.168.100.1 --dhcp-begin=192.168.100.100 --dhcp-end=192.168.100.200 --dhcp-subnetmask=255.255.255.0 --dhcp-gateway=192.168.100.254 --dhcp-dns=220.127.116.11 --dhcp-bcast=192.168.100.255 --dhcp-fileserver=http://192.168.100.1
This is what it looks like when SPLiT is running on a Mac:
If you started python without parameters, at least configure the IP address field with the static IP address of your computer.
Extract the split_binaries.zip into a split folder at a location of your choice.
The folder structure should look like this:
To run SPLiT on Linux, you first need to install python 2.7 and for graphical display you need another package, python_tk.
Run SPLIT with superuser rights: sudo python split/SPLiT.py
Alternatively, you can call SPLiT with parameters.
sudo python split/SPLiT.py /-d -i 192.168.100.1 --dhcp-begin=192.168.100.100 --dhcp-end=192.168.100.200 --dhcp-subnetmask=255.255.255.0 --dhcp-gateway=192.168.100.254 --dhcp-dns=18.104.22.168 --dhcp-bcast=192.168.100.255 --dhcp-fileserver=http://192.168.100.1
Configuring SPLiT manually
Once you have manually started SPLiT perform the following steps:
- Enter the IP address of your computer in the IP address field.
- If necessary, configure the DHCP and TFTP server
- Click the "Start HTTP Server" - or "Start TFTP Server" button.
- If you want to register a phone with SPLiT, click on "Start SIP Proxy".
- If you want to use provisioning via Plug and Play, click on "Start PnP Server".
Configure DHCP Server
Starting a DHCP server in a network where another DHCP is already running can cause serious problems. Please be careful and make sure that no other DHCP services use the same network. SPLiT provides a DHCP server (deactivated by default).
- Configure the DHCP-Server providing the following information:
- DHCP Pool start: the first dynamically assigned IP address
- DHCP Pool end: the last IP address from the pool
- DHCP Subnet mask: the subnet mask
- DHCP Gateway: the standard route of the network
- DHCP Broadcast: the broadcast address
- DHCP DNS: the DNS transferred to the clients
- Click on the button Start DHCP Server.
Create a directory named "tftp" (for Mac OSX and Linux the name should be lowercase) in the same location as the SPLiT binary. This is the document root of the TFTP server.
Make sure that the TFTP port is configured with the value 69 and the TFTP directory with "tftp".
Click the Start TFTP Server button.
Check the DHCP and TFTP services by looking at the Log tab:
If something is not working right, you will see the error message on the Log tab. You can tick the Debug check box to receive debug messages.
SPLiT - Most common problems
- Problem: One or more services cannot be started
Solution: If you try to start a service running on a privileged TCP/UDP port (<1024, e.g. HTTP with port 80), you must run SPLiT as administrator or with root privileges. Another common problem is that the port is already occupied by various system services (PBX, HTTP server, etc...).
- Problem: You have changed the DHCP network addresses, but the phone still gets an address from the old network.
Solution: You must remove the DHCP leases file (default: dhcp_leases.dat).
- Problem: The SPLiT services are running, but do not receive requests
Solution: You must temporarily disable the firewall on the Windows system.
Attention: Only deactivate the firewall as long as you do not have a connection to the Internet and then activate it again immediately.
Documentation on Github
An even more detailed documentation can be found on Github.