jmgsim – a Java implementation of H.248 media gateway simulator

‘jmgsim’ is a Java implementation of H.248 Media Gateway (MG) simulator and Media Gateway Controller (MGC) simulator used for testing real MG/MGC. It is coded within NetBeans 7.1 and has been published as a public project at ‘’, as ‘kenai’ is no long accepting new project and ‘’ is taking the place of ‘kenai’. I am not sure if this post would be an ‘official’ design document for ‘jmgsim’ – I will have a try as I do not think I will write such a doc:) BTW, special thanks to David Lin, who shared his IUA_simulator project for my reference.

Project Name: jmgsim
Destination: A Java implementation of H.248 Media Gateway Simulator
Language: Java
IDE: NetBeans 7.1
Project Web:
SVN address:
Source Code:

Design description:
A. Thread:
1. main - taking responsibility of all objects creation and Cli mode
2. CommonWorker - msg recv, decode, process and send
3. MgReg - focusing on sending registration to MGC
4. MgHb - focusing on sending HB to MGC
5. MgcHb - focusing on sending HB to MG

B. Class:
1. Transport - UDP socket, recv and send
2. GlobalConfig - global config data from ''
3. MyLogger - logging
4. GwInfo - abstraction for gateway
5. GwInfoDB - management for all GwInfos
6. Cli - command line interface
7. MsgToken - H.248 tokens
8. MsgProc - H.248 msg parsing
9. MsgBuild - H.248 msg construction
10. H248Msg - abstraction for H.248 msg
11. H248MsgDecoded - abstraction for decoding H.248 msg
12. H248Transaction - abstraction of H.248 Transaction
13. H248Action - abstraction of H.248 Action
14. H248Command - abstraction of H.248 Command

Below is a not-so-clear arch pic of 'jmgsim'...

About daveti

Interested in kernel hacking, compilers, machine learning and guitars.
This entry was posted in Dave's Tools, H.248/MEGACO/EGCP, Programming and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.