how to build a megaco-based distributed voip system with erlang?

Peter-Henry Mander <>
Mon Feb 10 09:06:39 CET 2003

Hi Farzin,

I haven't seen your previous posting, so I apologise if my suggestion of 
looking at the megaco examples in the OTP distribution has been made 
before. The documentation, although brief, is sufficient to get you 
going with a MG and MGC exchanging service change "out of the box" by 
using the example code. Have a look here:

I'm currently using the Megaco application as a testing platform for the 
product we're currently developing. The gateway controller runs a 
variety of "scripts" for positive and negative test cases. The gateway 
I've implemented is IP-to-IP, not POTS-to-POTS as you seem to intend. I 
have found that the whole Erlang-Megaco package is ideal for 
prototyping, and performance is very good on Linux (not quite so good on 
MS-Windows).From my personal experience with the Megaco stack I can say 
that it has consistently performed much better than any other similarly 
specified Megaco test equipment on the market today. It simply roars on 
a PC, so I imagine that on dedicated hardware it should be quite 
satisfactory. Furthermore, I have found that the concurrent nature of 
Erlang scales easily and effectively. The software I've written uses 
simple servers for a lot of tasks so if I need more power, I plug in 
another PC, and delegate tasks to that node.

As for reasons for deployment of carrier grade solutions, I think that 
the guys at Ericsson have plenty of examples of carrier grade equipment 
implemented in Erlang which has an enviable reputation for solidity.


Farzin_B23 SOORI wrote:
> Dear sir/mdm;
> Thank you for good answer to my last question.At now i can
> build a distributed sytem of erlang nodes.
> Can you tell me in a step-by-step way to deploy a distributed
> VoIP system based on megaco architecture.At the simplest state,
> i want to have one MGC-user running on machine1 and one
> MG-user running on machine2.How can i estabilish a connection
> between them and how to test to be sure that the connection has been 
> estabilished?How can i run some commands like ServiceChange and how to
> check the reply of each user?and some other information that can make
> it clear for me to build and evaluate my optional megaco-based VoIP
> system.
> suppose that we are in a real environment , how can i really
> make a connection through two analog phone or two class4/5 telecomm
> switch for example?(based on erlang system)
> Which factors are important to choose erlang platform to deploy
> a carrier grade voip architecture? do you really think that erlang
> is scalable enough to build such system? I want to know your personal 
> idea!!! Take this to account that we are in a selection phase of
> erlang platform to build our carrier grade voip system.
> can you introduce for me some useful informational resources relating
> to the above discussion?
> Sincerely
> Farzin Soori

More information about the erlang-questions mailing list