SIPWISE CE - NEWS

back to all Sipwise CE - News

Build your own VoIP System – Part 1: The Basics

This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various VoIP business models.

  • Part 1, which is provided in this post, gives you an introduction in how VoIP works.
  • Part 2 shows how you can set up a secure and self-hosted Skype-like VoIP system for free using the sip:provider Platform within 30 minutes.
  • Part 3 is dedicated to the sip:provider Platform acting as an SBC in front of existing VoIP systems.
  • Part 4 describes how you can operate a whole-sale business with the sip:provider Platform.
  • Part 5 shows how to enable Over-The-Top (OTT) services using Apple and Google Push Notification Services.

Introduction

VoIP Systems are seen as complex communication infrastructures even from a high level perspective, but they’re not. Well, VoIP is in fact complex in its details, but it has been abstracted by various projects in order to make it really straight-forward to use it, so it’s easy to start a compelling voice/video communication system or service (which I’ll name “VoIP system” or “VoIP service” throughout the document) from scratch, but it’s important to learn a few facts about it in order to choose the right base system for successfully running a VoIP service.

The Basics

VoIP just means “Voice over IP”, which is a generic term for transporting real-time voice sessions over the Internet. However, it doesn’t define HOW this is done, and even the term “Voice” is a bit misleading, because with the very same concept, you can transport also Video and Fax over an IP connection.

There are a couple of elements involved when you’re talking about a VoIP system:

SPCE environment

To sum it up, there are SIP Endpoints, which are the client instances of your customers. These could be software installed on your customer’s computers (popular software is Jitsi, an open source and cross-platform communications client, or Bria, a commercial multi-platform client for Windows, iOS and Android). Other possibilities are SIP phones like SNOM phones or Polycom Phones.

Beside the customer facing end points, there are SIP gateways which translate VoIP into traditional fixed-net and mobile networks. They pretty much act like customer facing clients, but usually are able to handle multiples of parallel calls. They are usually connected via multiple ISDN E1 or T1 lines, and sometimes an SS7 control layer is used on top.

How does SIP work?

In order to establish a communication session, you need a signaling protocol, which tells the involved parties who wants to communicate with whom, and which media capabilities might be used (e.g. plain voice, voice/video, fax etc.). There are several protocols out there, like Skype (a proprietary protocol) and H.323 (more or less obsolete since 2004) and the most important and nowadays most wide-spread one and the one we’re concentrating here: SIP, the Session Initiation Protocol.

SIP Registrations

A very important part of VoIP is the registration of customer endpoints. It means if a customer starts its SIP client, the client tells the SIP server at which IP and port it is reachable in case there’s a call towards this customer. The call flow looks like this:

A SIP registration call flow

The important part, beside the authentication scenario which is a http digest authentication, is the Contact header, which indicates at which IP:port the customer is reachable.

SIP Register Contact

So during start-up, the client tells the server the contact address it’s reachable for subsequent calls.

But what about real Phone Numbers?

Ok, so we learned that alice@example.com can contact bob@example.com if bob@example.com registered up-front (telling the SIP service provider at which IP:port he’s reachable), and vice versa. But what about real phone numbers?

In order to receive calls from the PSTN (public switched telephony network), your SIP service provider needs to map a PSTN number to your SIP URI, e.g. he needs to know that alice@example.com is an equivalent to for example +43 1 1001. If somebody calls 4311001 in the PSTN, it’s routed through the telephony network down to your service provider, which holds ownership of that number. The service provider is now responsible to translate the number to a corresponding SIP-URI, and then route the call to the IP:port where this user is registered.

How about a Video Stream?

The important thing here is that any media stream in SIP signalling is negotiated end-to-end. This means that if alice@example.com calls bob@example.com, alice proposes a list of media sessions (e.g. audio with a specific list of codecs, and video with a specific list of other codecs), and bob compares this list with its own capabilities and then replies with a (potential) sub-set of the offer from alice. So if alice proposes an audio and video call, but bob doesn’t have a web-cam, he’ll reply with a sub-set of alice’s offer, which only contains the audio-part. However, if bob has a web-cam, we’ll reply with an according answer telling alice that both audio and video streams are available.

Conclusion

If you want to work with “VoIP”, you most likely will work with the SIP Protocol. SIP will allow you to do two-way, end-to-end communication, but you’ll need SIP clients to attach to a system like this. Do you need do pay for an external service in order to start a VoIP system? No!

What’s next?

The next post will describe how you can use the open source Sipwise sip:provider CE to build a VoIP system from scratch within an hour. It’ll show how you can create a Skype-like service within your network using IPv4, IPv6, TLS and SRTP.

Follow us at Twitter and Facebook for updates and new posts.

57 responses to “Build your own VoIP System – Part 1: The Basics”

  1. Thanks for this article, I can’t wait for the complete series.

    Keep on the nice job

  2. Thanks for this article, I can’t wait for the complete series.

    Keep on the nice job

  3. Hello says:

    Thanks a Lot for giving us great prodct
    is there anybody one problem can help me to solve.. i cant login the provission

  4. als7ly says:

    hi ,
    is this mean that i can develop a desk top software that works and present exactly the features of messengers like yahoo msn beylexe

  5. Craig says:

    This is great!!!!!

  6. Craig says:

    This is great!!!!!

  7. Craig says:

    This is great!!!!!

  8. Excellent! really!! but…where is the other part? hehehe

  9. Alexey Rybalko says:

    Any plans to continue this line of posts?

  10. james says:

    Hi, great post. I like it because it is informative

  11. Mich says:

    Hello Andreas,

    Thank you so much for this guide. I’m new to VoIP technology and I’m just trying VoIP programming. Can you recommend me a VoIP toolset? I’ve just downloaded Ozeki VoIP SIP SDK (http://www.voip-sip-sdk.com). It seems to good at first sight.

  12. Santa Claus says:

    Thank you for the nice article. This is where I started leaning about VoIP. πŸ™‚

    • swetha sathish k says:

      I downloaded a sip server package, made changes as specified in the text file. I compiled and installed the sip. I am not getting how to run the sip server… Anybody tried like this? Can you help me….

  13. help us making our project using VOIP tnx.

  14. j says:

    this is interesting

  15. ali says:

    @sipwise can we make final yera project on voip system??

  16. Ronald Blair says:

    I am researching ways to provide emergency interconnecting phone service between a small group of houses in a remote area of Wyoming.

  17. Henry Okumu says:

    Require a step by step instructions on setting up VOIP

  18. aslamkhan says:

    i want own voip brand

  19. atlas says:

    thanks for your explanation.
    i will be please to donate for this article to continue;
    but always put a direct link where people that are studing this program can continue and there you all find sponsor to finance you teaching.

  20. Roberto says:

    Andreas,
    What are the plans to post Parts 4 and 5 of this series?

  21. 1st Article very good. First time I have found something that starts at the beginning for the beginner. I hope I dont get too lost in future articles

  22. Cynail says:

    Thanks so much for this! I hope to see more, and also so all of us can start making similar things like skype of our own.

  23. Jay says:

    Great article !!! if I have any questions can I email you directly ?

  24. Yeoh, Seng Soon says:

    This article is a God-find.

  25. Jonesmler says:

    Nice explanation. how about if we have account with some host like www-bluehost.co and try this service? Feasible?

  26. […] Build your own VoIP System – Part 1: … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various … […]

  27. […] Build your own VoIP System – Part 1: The … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various … […]

  28. […] Build your own VoIP System – Part 1: The … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various… […]

  29. […] Build your own VoIP System – Part 1: The … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various… […]

  30. […] Build your own VoIP System – Part 1: … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various… […]

  31. Jo says:

    Thanks for the information. Keep up the good work

  32. […] Build your own VoIP System – Part 1: … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various … […]

  33. […] Build your own VoIP System – Part 1: … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various… […]

  34. […] Build your own VoIP System – Part 1: … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various… […]

  35. […] Build your own VoIP System – Part 1: The … – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various… […]

  36. […] Build your own VoIP System – Part 1: The … – … provider Platform enables you to start various VoIP business models. … The Basics. VoIP just means β€œVoice over IP”, … […]

  37. rashidbhati says:

    i want to start voip bussnies plz help me how to start

  38. chandan singj says:

    I want to VoIP Start

  39. […] Build your own VoIP System – Part 1: The Basics – This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various VoIP … […]

  40. I don’t have to or knowledge to build, I would like my own system, where I can sell voip numbers, please contact me.

  41. Trevor says:

    I am new to voip. Need to know how to get toolset and all I would need to setup a working system. This sounds great and I am very interested.

    Thanks

  42. waiting for next post..

  43. Folagbade Alamudun says:

    Please send me the full documentation including parts 4&5.
    Best regards.

  44. Trevor Wood says:

    I would like to join your training. Thanks…

  45. Wow awesome series.
    You are great. You’re genius.

  46. David Mayers says:

    Thank you

  47. Mautassim Khan says:

    I’m interested in availing your services if you can provide.

  48. Paul Weicker says:

    The Canadian carriers block voip. Is there a way to make voip bullet proof. I have a feeling it will take a modified system to work. Waiting to hear back from you. PJ

  49. I am extremely interested in starting a VOIP service as part of our offerings. Excellent article by the way! Where do we go from now though?

  50. Jason says:

    URGENT, need voip line ASAP
    Please call me 6012-5016139 Jason IT Department

  51. […] to each events, utilizing the present name ID. It additionally disables the gateway connection, Build your own VoIP System – Part 1: The Basics turns of any particular QOS therapy for the RTP packets or closes the firewall for that stream. […]

  52. […] in the house, reminiscent of Vonage, MagicJack and Ooma. Vonage, one of many costlier choices right now, is common because of its limitless worldwide calling characteristic. Evaluating Vonage rivals can […]

  53. […] you are you looking for more info regarding Build your own VoIP System – Part 1: The Basics look at the […]

Leave a Reply

Your email address will not be published. Required fields are marked *