VoIP test environment
-
06-09-2019 - |
Question
I want to build a VoIP test environment for a student project. It should use SIP.
My first idea is to use Asterisk, OpenSIPS or FreeSWITCH for the server and SIP Communicator, Minisip or Linphone as softphone clients.
- Does anybody have experience with setting up such an environment?
- Which combination should I use?
- Are there any tutorials for setting up this infrastructure?
Solution
I had some experience with Asterisk
and SJPhone
.
If your network does not need complex dialing plans (like hotlines etc), and your PC
's are accessible from each other, then you don't need a server at all.
SJphone
can establish a peer-to-peer connection just by using an IP
address or a host name.
If your PC's cannot access each other, then you should setup Asterisk
and enable client registration on it.
On my Fedora 10
, Asterisk
worked out of box.
Client registration is like being online on ICQ
or MSN
: the server knows you're online and keeps your TCP
stream alive in case someone wants to call you.
It also can be used to show status of people: who's online, offline, busy etc.
There is a sample sip.conf
file included, it's really simple. For each client, you create an entry like this:
[john]
type=friend
secret=secretpassword
host=dynamic
There are plugins that can keep this data in the database, but I didn't look at them yet.
OTHER TIPS
Keep in mind that the purpose of OpenSIPS vs. Asterisk or FreeSWITCH is very different.
OpenSIPS is a SIP proxy, not a user agent of any kind. It cannot function as a call endpoint and it is used exclusively for call routing and low-level SIP mangling, as well as some other miscellaneous UAS-type features (i.e. registrar).
Asterisk and FreeSWITCH meanwhile can function as PBXs, IVR servers, media servers, etc.
So, it really depends on what the objective of the project is. If it is simply to make calls from one phone to another, you do not need anything in the middle at all. If it is to tinker with certain high-level telephony applications, use Asterisk or FreeSWITCH. If it's simple routing and signaling intermediation (no media involvement), use OpenSIPS and whatnot.
Please check out Mobicents. It's full Java, it's comprised of Mobicents Sip Servlets and JAIN SLEE to build powerful SIP, VoIP or converged applications and Media Server for all related media stuff such as conferencing IVR and so on,...
It depends on what you want to test. I recommend:
- sipp if you want to simulate protocol testing and mess around with SIP flows
- Mobicents if you want to write server software to test clients. If you work at it, you can also integrate your test suite into JUnit, etc.
I build a SIP system with miniSipServer and Xlite. Both these software are based on Windows. It is very easy to use.
And there is a simple step by step document to describe how to deploy a VOIP network, please refer to:
http://www.myvoipapp.com/docs/faq/setup_ippbx_for_small_business_step_by_step/index.html
I would say that the project to use depends on what is your primary focus. If it's SIP and you want to understand the protocol, I would use SIP Express Router or one of the project derived. If it's using voip in general, ASterisk is the right choice. Asterisk now is a good alternative
For the client, It depends on what you want to do too... I used to use Xlite sometimes, SJPhone, Linphone and KPhone...
I am building such a test server for myself, and you can find some ideas here: http://txlab.wordpress.com/tag/xlab1/