Packt Publishing Community Experience, Distilled

Comparing Asterisk and OpenSER

HomeBooksSupportFreeAuthorsAward
WELCOME YOUR ACCOUNT NEWSLETTERS ARTICLES ABOUT US

 
SEARCH

Search our Site

Article Network


Packt Article Network

Visit Packt's Article Network, for all the latest quality, relevant and free content.
See More


Using Asterisk as a PSTN Gateway for OpenSER
PSTN or Public Switched Telephone Network is the collection of all the telephone networks, which are interconnected in the world. If we want to be able to route calls from and to the PSTN using OpenSER, we need to be connected to a PSTN. To send calls to the PSTN, we need a device called PSTN gateway. There are several manufacturers such as Cisco, Nortel, and others who manufacture this kind of equipment. You can also use an Asterisk PBX box for this task. Asterisk makes an affordable PSTN gateway that is very competitive with the big players mentioned above. In this article by Flavio E. Goncalves, we will see how to use asterisk as a PSTN gateway for OpenSER.
See More

 
Comparing Asterisk and OpenSER
Voice Internet Protocol (VoIP) Telephony refers to the technology used for making telephone calls over the Internet. The two major technologies used to implement VoIP telephony are Asterisk and OpenSER. This article by Flavio E. Goncalves compares Asterisk and OpenSER topic by topic and shows the differences between them.

Introduction

If you work with IP telephony, it's quite possible that you have not heard about OpenSER, but certainly you must have heard about Asterisk. Well, I love a polemic headline and I have seen this question asked in the forums many times.  So, I will dare to compare these two very popular softwares dedicated to the VoIP market.  The idea here is not to show you which one is the best, but mainly how they are different from each other. Below is a comparison topic by topic.

Architecture

Asterisk is a Back to Back User Agent (B2BUA), while OpenSER is a Session Initiation Protocol (SIP) Proxy.  This makes all the difference between them. The SIP proxy architecture is faster than a B2BUA because it deals only with signaling. On the other hand, the B2BUA architecture, even being slower, handles the media and it is capable of several services not available in a SIP proxy such as Codec Translation (that is G729<->G.711), Protocol Translation (SIP<->H323), and services related to media such as IVR, Queuing, Text to Speech, and Voice Recognition.

Nat Traversal

OpenSER deals a lot better with NAT traversal then Asterisk. You can send the media from your customer directly to the provider using OpenSER in most cases (non-symmetric NAT). Manipulating directly the SIP protocol allows you to handle special cases, such as, when you have two customers behind the same NAT device and want to send the media directly between them.

Load Balancing

OpenSER has specific load balancing algorithms with hash. So it can load balance by the "ruri", "username", "call-id", and some other properties. It can use redirected messages consuming very few resources from the load balancer machine. Failover is part of the solution, things you won't find on Asterisk, but are complementary.

Low Level Access to SIP Header and Transactions

OpenSER gives you low level access to the protocol. You can handle all the requests and responses. So it is possible, most times, to translate between two incompatible versions of SIP, handling directly the SIP headers, requests, and responses. This is an important feature when you have SIP implementations from different manufacturers, which can be incompatible between each other.

Integration with Radius, Diameter, and LDAP

OpenSER has built-in integration with LDAP, Radius, and Diameter. While this is also possible with Asterisk, the implementation on OpenSER is developed in C, integrated as a module, and is part of the OpenSER distribution (no perl, no python, no third-party modules).

Carrier Class Routing

The module CARRIERROUTE implements sophisticated algorithms to route calls to the PSTN. Some times VoIP providers have tables with more then 40.000 routes. In this case, you will absolutely need a specific routing module capable of failback, blacklists, and some other features specific to VoIP providers.

Media Services

OpenSER is a SIP Proxy and is not capable of any media related services. So it is not possible to create, using OpenSER, systems such as VoiceMail, IVR, TTS, and Voice Recognition. However, it is possible to integrate any of these services to the platform using a separate Media Server such as Asterisk, Yate, and FreeSwitch.  This is by design, and it is the way the SIP protocol is defined in the standards (RFC3261).

Connectivity to the PSTN

OpenSER always need a SIP gateway to connect to the PSTN. There is no possibility to install telephony cards in the server.  In several cases, Asterisk is used as the PSTN gateway for OpenSER.

Conclusion

I love this discussion, because Asterisk and OpenSER completes one another. OpenSER provides rock solid SIP services to VoIP providers, it is capable to handle large volumes of calls, to load balance SIP, to solve advanced NAT scenarios, and to deal with SIP signaling as no other. Asterisk is a B2BUA, very strong in the PBX market. It is simpler to configure and can handle low to medium volumes. Asterisk can be used as a "single box does it all", while OpenSER requires all the architectural components of SIP to work. OpenSER is a "hit" in the VoIP provider market and in Universities. Asterisk PBX is a success in the IP PBX market, and it is getting a piece of the small to medium VoIP providers. Usually you start using OpenSER when you have some special need, such as load balancing or when you have large volumes such as more than a thousand registered users. Choose wisely!


If you have read this article you may be interested to view :


A Book by this Author : Building Telephony Systems with OpenSER

Building Telephony Systems with OpenSERA step-by-step guide to building a high performance Telephony System
  • Install, configure, and troubleshoot OpenSER
  • Use OpenSER to build next generation VOIP networks from scratch
  • Learn and understand SIP Protocol and its functionality
  • Integrate MySQL with OpenSER
  • Integrate OpenSER & Asterisk

For more information, please visit:
http://www.packtpub.com/building-telephony-systems-with-openser/book

About the Author

Flavio E. Goncalves was born in 1966 in Minas Gerais, Brazil. Having always had a strong interest in computers, he got his first personal computer in 1983 and since then it has been almost an addiction. He received his degree in Engineering in 1989 with focus in computer aided design and computer aided manufacturing. He is also CEO of V.Office Networks in Brazil, a consulting company dedicated to the areas of Networks, Security, Telecom, and Operating Systems and a training center since its foundation in 1996. Since 1993, he has participated in a series of certification programs having being certificated as Novell MCNE/MCNI, Microsoft MCSE/MCT, Cisco CCSP/CCNP/CCDP, Asterisk dCAP, and some other.

He started writing about open-source software because he thinks the way certification programs were organized in the past was very good to help learners. Some books today are written by strictly technical people, who, sometimes, do not have a clear idea on how people learn. He tried to use his 15-year experience as instructor to help people learn open-source telephony software. His experience with networks, protocol analyzers, and IP telephony, combined with his teaching skills, gave him an edge to write this book. This is the second book he has written; the first one was The Configuration Guide for Asterisk PBX. As the CEO of V.Office, Flavio E. Goncalves balances his time between family, work, and fun. He is the father of two children and lives in Florianopolis, Brazil, in his opinion one of the most beautiful places in the world. He dedicates his free time to water sports such as surfing and sailing.

You can contact him at flavio@asteriskguide.com, or visit his website
www.asteriskguide.com.


Books from Packt

trixbox CE 2.6
trixbox CE 2.6

Lighttpd
AsteriskNOW

Learning jQuery 1.3
Learning jQuery 1.3

Learning Nagios 3.0
Learning Nagios 3.0

Learning FreeNAS
Learning FreeNAS

Spring 2.5 Aspect Oriented Programming
Spring 2.5 Aspect Oriented Programming

Linux Thin Client Networks Design and Deployment
Linux Thin Client Networks Design and Deployment

Asterisk Gateway Interface 1.4 and 1.6 Programming
Asterisk Gateway Interface 1.4 and 1.6 Programming






 
EXISTING CUSTOMERS
Email
Pass
Forgotten?

Article Network FAQ

Want to know more about Packt's Article Network? Interested in contributing your article ideas?

Please visit our FAQ for more information.


See More

SUGGEST A TITLE
What would you like Packt to publish?


NEWSLETTER

Sign up for updates, offers, free downloads and you could win an iPod Shuffle.
Subscription center
 




© Packt Publishing Ltd 2010

RSS