High Level Design
For OpenMGCP Stack
Name Designation Signature
Prepared by:
Frank ZHANG
Reviewed by:
Approved by:
Revision:
1.0
Date of Issue:
COPYRIGHT NOTICE
Copyright ©2005 Frank ZHANG.
All rights reserved. No part of this publication may be reproduced, transmitted, stored in
a retrieval system, or translated into any language without the written permission.
For more information, Please see http://www.openmgcp.org
REVISION HISTORY
Version Date Author Comments Reason for change
1.0
Contents
1. INTRODUCTION .................................................................................................................... 2
1.1 PURPOSE AND SCOPE........................................................................................................... 2
1.2 GLOSSARY ........................................................................................................................... 2
1.3 REFERENCES........................................................................................................................ 2
2. DESIGN ASSUMPTIONS & RULES ...................................................................................... 3
2.1 NOTATIONS REPRESENTATION............................................................................................... 3
3. HIGH LEVEL DESIGN............................................................................................................ 5
3.1 LEVEL 0 DESIGN DESCRIPTION.............................................................................................. 5
3.1.1 Software system context............................................................................................ 5
3.2 LEVEL 1 DESIGN DESCRIPTION.............................................................................................. 6
3.2.1 Process Architecture.................................................................................................. 6
3.2.2 Decomposition Description........................................................................................ 7
3.2.3 Interface Description................................................................................................ 10
3.2.3.1 External Interface Description.......................................................................................10
3.2.3.2 Internal Interface Description........................................................................................14
3.2.4 Global Definition and Data Structures ..................................................................... 15
3.2.4.1 Stack Control Block ......................................................................................................16
3.2.4.2 EndpointCtrl Control Block............................................................................................18
3.2.4.3 Endpoint Control Block .................................................................................................22
3.2.4.4 Transaction Manager Control Block..............................................................................34
3.2.4.5 Messages Definition .....................................................................................................38
3.3 LEVEL 2 DESIGN DESCRIPTION............................................................................................ 49
3.3.1 Stack Manager......................................................................................................... 49
3.3.1.1 Process Description......................................................................................................49
3.3.1.2 Decomposition Description ...........................................................................................50
3.3.1.3 Implementation Description ..........................................................................................50
3.3.1.4 Dependency Description...............................................................................................50
3.3.1.5 Interface Description.....................................................................................................50
3.3.2 EndpointCtrl ............................................................................................................. 50
3.3.2.1 Process Description......................................................................................................50
3.3.2.2 Decomposition Description ...........................................................................................51
3.3.2.3 Implementation Description ..........................................................................................51
3.3.2.4 Dependency Description...............................................................................................56
3.3.2.5 Interface Description.....................................................................................................56
3.3.3 Transaction Manager............................................................................................... 56
3.3.3.1 Process Description......................................................................................................56
3.3.3.2 Decomposition Description ...........................................................................................58
3.3.3.3 Implementation Description ..........................................................................................58
3.3.3.4 Dependency Description...............................................................................................59
3.3.3.5 Interface Description.....................................................................................................59
High Level Design For OpenMGCP Stack Page 1
1. Introduction
1.1 Purpose and Scope
This document is the High Level Design (HLD) of the OpenMGCP stack software,
which implements the System Requirement Specification (SRS) by providing
decomposition and software architecture design of the stack software. Please
refer to the doc “System Requirements Specification for OpenMGCP Stack
Software” for the detailed system requirement description.
This HLD is the input for the product development team (PDT) to complete the
low-level design, coordinate commitments, make good estimates of the required
effort, and start test planning. The audience includes the team members to
develop the stack software, the validation team members to test the stack
software.
1.2 Glossary
Acronym Definition
VoIP Voice over IP
MGCP
Media Gateway Control Protocol
MG
Media Gateway
MGC
Media Gateway Controller
NE
Notified Entity
CA Call Agent
SDP Session Description Protocol
PDU Package Data Unit
1.3 References
Ref Name Date Ver
1 RFC3435 - Media Gateway Control Protocol (MGCP) 2003 1.0
2 IEEE P1003.1, Draft 6, April 2001 / Open Group
Technical Standard, Issue 6
April 2003 Draft 6
3 System Requirements Specification for OpenMGCP
stack Software
May 2003 1.0
High Level Design For OpenMGCP Stack Page 2
2. Design Assumptions & Rules
The design methodology is function oriented; the programming language to be
used is the standard C, all the library functions used will use the POSIX standard
prototype.
2.1 Notations Representation
Message
Rx
Thread or task (such as vxwork task)
Timer
ISR
ISR (interrupt service routine)
Socket
A software module that is not thread(task) such as
library functions
A
1
B
Link between two threads(tasks); It means that
thread(tasks) B sends messages to thread(tasks) A
A
2
B
Link that carries no information (used for interrupt
signals)
A
12
B
Link between thread(task) and software module that
carries data flow
Figure 1: Thread (Task) Model Representation
A data object that is input or output from a process on a
“continuous” basis
A data object; the arrowhead indicates the direction of
data flow
process
A transformer of information that resides within the
bounds of the system to modeled
A control item or event; takes on a Boolean or discrete
value; the arrowhead indicates the direction of data
flow
High Level Design For OpenMGCP Stack Page 3