So, we won’t use any shortcuts in the installation. I strongly advise you to install OpenSIPS using Debian.
If you choose to install on another platform, you will have to deal with init scripts and fix the installation of the other packages.
There are no minimum hardware requirements for OpenSIPS. It will run on an ordinary PC. The best bets we have are from performance tests realized on the 1.2 version. A PC with the following specifications was capable of 28 million complete calls per hour. The testing server was an ordinary desktop—Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz, 1 GB of memory, and 100 MBps Ethernet card. Unfortunately, there are currently no formulas for OpenSIPS dimensioning. The correct hardware, CPU, and memory shall be obtained empirically.
The OpenSIPS software runs on a variety of platforms such as Linux, BSD, and Solaris. Some generic packages are available to certain versions of Linux and Solaris. These packages can be downloaded from www.opensips.org/Resources/Downloads. The following packages are required to compile OpenSIPS.
- gcc (or any other C compiler as suncc or icc)
- bison or yacc (Berkley yacc)
- GNU make
- GNU tar
- GNU install
- libxml2-dev (if you want to use the presence modules)
- libxml-rpc (for mi_xmlrpc)
Some modules such as MySQL, POSTGRES, RADIUS, and others will require additional packages for compilation.
Lab—installing Linux for OpenSIPS
All of these labs were prepared using a VMware virtual machine with Debian installed. You may download it from http://cdimage.debian.org/debian-cd/.
The instructions for this lab formats the computer. Back up all the data on your PC before proceeding or follow these instructions in a virtual environment such as VMware or XEN.
The steps for installing Linux are as follows:
Step 1: Insert the CD and boot the computer using Debian. Press Enter to start the installation.
Here, you can also select boot and installation options. Sometimes you may need to choose some hardware-specific parameters for your installation. Press F1 for help, if needed.
Step 2:Choose a language of your preference for use in the installation process.
Downloading and installing OpenSIPS v1.6.
Step 3: Choose the keyboard layout.
It is very common to have to choose a keyboard layout, especially in European and Asian countries.
Step 4: Choose the Hostname.
It is important to choose the name of the server because later you will use this name to access the server.
Step 5: Choose the Domain name.
The domain name is obvious but important because OpenSIPS use domains to distinguish users, so be sure to enter the domain name correctly.
Step 6: Choose a Partitioning method.
Linux geeks, certainly, will use the manual option. For the purpose of learning, you can simply use the entire disk. Consult a Linux specialist for the best partitioning scheme for your server.
Step 7: Select disk to partition.
Now select the disk being used to install Linux.
Step 8 : Select All files in one partition (recommended for new users).
Again, you can choose how to partition the system. Let’s stick with the default installation again. Some advanced users may want to change it.
Step 9: Now Finish the partitioning and write changes to disk.
Now finish the partitioning step and write changes to the disk. However, never do it if you want to preserve your disk. After the partitioning, all the pre-existing content of the disk will be erased. So think carefully before doing this. I use VMware to test OpenSIPS; it is free and creates a virtual machine where I can work safely
Step 10: Write changes to the disk.
Here comes the scary part. Confirm that you want to erase all the content of the disk. Well, think twice or even thrice before saying Yes.
All data on the disk will be destroyed!
Step 11: Now Configure time zone.
Select the time zone. It is important to have the correct time zone, mainly for reports. If you don’t see it correctly, you will end up with voicemail messages having the wrong time.
Step 12: Set the Root password to OpenSIPs.
Choose a password for your root user. This is the most important password on the system.