Title: TOIMIALAVERKOT (TOVE) Communications Platform
1TOIMIALAVERKOT (TOVE)Communications Platform
- Project Group
- Vesa-Matti Puro
2TOVE Project Group
- Professor Olli Martikainen
- Vesa-Matti Puro, project management
- Jari Katajavuori PF and UNI, 1997-1998
- Timo Kokkonen, CODERS and DEBUG, 1998
- Petteri Koponen VE, 1996
- Pasi Nummisalo CC, DCF, INGW, Java SCP, and PF,
1996-1998 - Timo Pärnänen GUI, ILMI, MTP3, PF, SCCP, SWITCH
and TCAP, 1996-1998
- Sami Raatikainen BISUP and PF, 1998
- Pasi Rautiainen
- Juhana Räsänen SSCOP, SF and NNI-SSCF, 1996
- Harri Sunila GSMP and TRS, 1997-1998
- Jussi Turunen, SSCOP and testing, 1998
- Samu Uimonen CODERS
- Saku Vaittinen CODERS
3TOIMIALAVERKOT (TOVE)Communications Platform
- Introduction
- Vesa-Matti Puro
4TOVE Project
- Helsinki University of Technology,
Telecommunications Software and Multimedia
Laboratory (TML) - Professor Olli Martikainen, Network Architectures
- A three years long research project
(communications platform part of the project) to
develop open and standard based infrastructure
for future broadband networks - Create a platform for developing and testing
distributed call and connection control model in
B-ISDN networks - VTT provides FSR switching hardware to the
project - Funded by TEKES and industry partners HPY, Nixu,
Nokia, OES, Sonera, Tecnomen, Telia and X-Net.
5Goal 1996
- The aim for 1996 is to build a working ITU-T
BISDN signalling stack on top of VTTs FSR switch
Call Control
BISUP
Q.2931
MTP-3
Switch control
UNI side of the protocols is for
User-to-Network Interface NNI side is the
interface between network elements Call Control
manages all active connections in the switch
UNI SSCF
NNI SSCF
SSCOP
CPCS / SAR
API
Switching hardware
6ATM Switch Control
7Control Abstractions
Service Control
(INAP, CORBA, IDL, Java)
Call Control
Connection Control
(switch/port config., port mgmt, conn. mgmt,
statistics, event messages)
Node Control
Switch Control
FSR
8Results 1996
- Results were distributed march 97 (release 97/1)
- ATM virtual switch software consisting
- call control (CC)
- Q.2931
- SSCOP
- UNI-SSCF
- NNI-SSCF
- FSR Virtual Exchange (VE)
- BISUP is missing from 97/1 release
9Demonstration 1996
Switch Controller
VAT (in Linux PC) with TOVE Linux Q.2931
VAT (in PC)
FSR Switching Fabric controlled using FSR API
VAT Audio Conferencing tool (www-nrg.ee.lbl.gov
/vat)
10Goal 1997
- Major goals are IN-Gateway and UNI Framework
- IN-Gateway includes IN triggers, modifications
of Call Control, INAP translations, TCAP, SCCP
and MTP3 - UNI Framework consists of UNI 3.1 and Q.2931
- Other goals further development of OVOPS,
integration of CORBA OmniBroker ORB to OVOPS - GSMP (General Switch Management Protocol)
11TOVE IN Interface
12Demonstration 1997
SCP
Switch Controller
VIC (in PC) with Linux ATM 0.34
VIC (in PC)
FSR Switching Fabric controlled using open GSMP
13Goal 1998
- New features to old modules switch framework and
error handling - Finishing, reviews, commenting
- Testing interfaces and corrections
- New modules INGW, routing and management
- Pilot applications and services
14TOVE Switch Architecture
- MAIN CAC MIB CC protocols
- GUI configuration
- LOG OMG log not implemented
- RT routing
- IN INGW
- ILMI/SNMP management
- FCF fabric control
- NS/ES CORBA Services
15Modules Implemented
- PF, framework for network programming
- GUI, graphical user interface for switch
configuration - SWITCH, implements the structure of the switch
(ports / links) and encapsulates the switching
fabric details (NB / BB) - TRS, hierarchical routing following PNNI model
- ILMI, management interface, address registration
- CC, call control containing triggers and IN
interface - DCF SCP INGW, hierarchical component based
user interface, excecution environment for IN
services and CORBA-to-INAP -gateway
16TOVE Protocols
TOVE Call Control
INGW
FCF
UNI 3.1 (Q.2931/ UNI 4.0)
BISUP
TCAP
SCCP
MTP-3
GSMP
UNI-SSCF
NNI-SSCF
SSCOP
OVOPS with CORBA
Linux ATM API ATM Card (CPCS / SAR)
17Protocols Implemented
- SSCOP, ITU-T Q.2110, full, working, tested
- UNI-SSCF, ITU-T Q.2130, full, working, tested
- UNI 3.1, ATM Forum UNI 3.1, partial, working with
Linux and ForeRunnerLE 100 -switch - MTP3, partial
- NNI-SSCF, full
- BISUP, partial
- SCCP/TCAP, partial
- GSMP, partial
18TOVE Project 1997-1999
- First year
- Q.2931 signaling, CC, FSR API fabric control
- works with projects own Linux signalling
- Second year
- UNI 3.1 signaling, GSMP fabric control, Java SCP
- works with Linux atm 0.31 UNI 3.1 signaling
- Third year
- UNI 3.1 p-mp, BISUP prototype, Switch FW,
Interworking CC prototype, ILMI, routing, GUI,
DCF, INGW, Java SCP - works with Linux atm 0.47 UNI 3.1 signaling and
Fore
19Summary
- Gained considerable experience of O-O,
Frameworks, network programming and B-ISDN - TOVE switch provides a prototype of standard
based ATM signalling software with open switching
fabric (GSMP) and service control (INAP) - The IN Gateway is one of the first
implementations of CORBA to IN adapters using
generic ROSE translation
20TOIMIALAVERKOT (TOVE)Communications Platform
- Methods, tools and environment
- Vesa-Matti Puro
21Methods
- Object-oriented Modeling
- Design Patterns
- Technical Reviews
- C Programming Language
- Java Programming Language
- CORBA Object Request Broker
22Tools
- OVOPS pf/sf Frameworks (Protocol
Framework/Scheduling Framework) - ORBacus 3.0.1 C and Java ORBs (www.ooc.com) and
JTC-1.0.3 - egcs 1.0.2 C Compiler
- STL (Standard Template Library) part of egcs
- SUN JDK 1.1.6 (Java Development Kit)
- Borland JBuilder 2
- SUN Swing 1.0.3
- ObjectStore PSE Pro 2.0 (www.odi.com)
23Methods and Tools in Concert
- C
- RTTI, Exceptions, ...
- STL
- Data structures
- Algorithms
- Design Patterns
- Reusable designs
- CORBA integration
- CORBA Services
Protocol e.g. DSS2, UNI 3.1, UNI 4.0
Switch Framework
UNI Framework PF SF
Design Patterns
STL
ORB
Services
Drivers
24OVOPS
- OVOPS (Object Virtual OPerating System )
frameworks - consists of pf (Protocol Framework) and sf
(Scheduling Framework) - based on Conduits by University of Illinois
- Conduits was used by ASCOM Tech AG
- contains general reusable protocol components
25OVOPS Main Components
- Adapter Connects OVOPS world to the outer
world - Protocol Context of the protocol (state
variables, parameters etc.) - State Functionality of the protocol
- Mux Multiplexes connections by session keys
extracted from the message - Factory Creates new Conduit instances
- Transporters Travels through conduit graph
- Messengers Carries data
- Timers Provides timeouts
- Scheduler Gives runtime
A
M
T
P
M
F
P
P
M
P
S
A
26Development of OVOPS
DUITS
Design Patterns
Conduits
Conduits
OVOPS
JVOPS
OVOPS
CVOPS
27Environment
- HP PCs w/75Mhz Pentium to 450Mhz PII
- Linux RedHat 5.2 and kernel 2.1.117 (for SSP /
C) - ATM on Linux 0.47
- NT Server/Workstation 4.0 (for SCP / Java)
- VTT FST 4 x 155 Mbit/s STM-1 MMF
- ForeRunnerLE 155 155 4 x MMF 8 x UTP
28TOIMIALAVERKOT (TOVE)Communications Platform
- Software and protocol architecture
- Timo Pärnänen
- Harri Sunila
29TOVE architecture
LOG
RT
IN
SNMP
ILMI
NS
ES
FCF
SW
GUI
30Protocols
TOVE Call Control
INGW
UNI 3.1 (Q.2931/ UNI 4.0)
BISUP
FCF
TCAP
SCCP
MTP-3
GSMP
UNI-SSCF
NNI-SSCF
SSCOP
CPCS adapter
Linux ATM API ATM Card (CPCS / SAR)
31SWITCH
32GUI
33FCF
- The Fabric Control Functions (FCF) is used to
hide switching functions (fabric) from call
procedures - ATM FCF uses GSMP to control fabric
Call Control
GSMP
ATM FCF
Connect
VPI/VCI
SWITCH
API
NB FCF
TimeSlot E1
34ILMI / SNMP
- Integrated (Interim) Local Management Interface
(ILMI) - Provides status and configuration information
using the Simple Network Management Protocol
(SNMP) and an ATM Interface Management
Information Base (MIB) - Virtual Path/Channel Connections
- Address registration
NMS
SNMP
SNMP
ILMI
ILMI
35ILMI / SNMP
36TOVE Route Service
TOVE 3.2.1999
HUT/TML
- Based on
- ATM Forum PNNI 1.0 Specification
- Management of routing information
37Services Provided
TOVE 3.2.1999
HUT/TML
- Routing information management
- Hierarchical routing
- Route information for Call control
- Routing information exchanging (not implemented)
38Services Used
TOVE 3.2.1999
HUT/TML
- Distribution of routing databases with CORBA
- PSE Pro object database for network topology
information
39Implementation Structure
TOVE 3.2.1999
HUT/TML
Call control
swSwitch
Management client
Routing client
TOVE Route Server
40Implemented features
TOVE 3.2.1999
HUT/TML
- Hierarchical routing
- Peer groups
- Distribution of routing servers
- Static routing information
41GSMP Overview
TOVE 3.2.1999
HUT/TML
- Based on
- RFC 1987
- Controlling of the switching fabric
- connection establishment and teardown
- configuration management
- statistics information
42Services Provided for FCF
TOVE 3.2.1999
HUT/TML
- Connection establishment, teardown and modifying
- Switching fabric configuration information
- Switching fabric configuration setup
- Switching fabric statistics information
- Notifications of asynchronous events
43Services Used
TOVE 3.2.1999
HUT/TML
- Provided by CPCS
- DATA request/indication
44Implementation Structure
TOVE 3.2.1999
HUT/TML
45Implemented features
TOVE 3.2.1999
HUT/TML
- Adjacency protocol
- RFC 1987
- Synchronization error in specification fixed
- GSMP
- RFC 1987
- Connection management
- Configuration management
- Events
46TOIMIALAVERKOT (TOVE)Communications Platform
- Protocol implementations
- Sami Raatikainen
- Project Group
47Protocol Presentations
UNI 3.1
BISUP
48Protocol Stack
Protocols - Interfaces
CALL CONTROL
- downPrimitives (request/response)
SIGIF
UNI 3.1
- upPrimitives (indication/confirm)
UAALIF
UNI-SSCF
PROTOCOL (n)
AAIF
SSCOP
IFACE (n-1)
PROTOCOL (n-1)
CPCSIF
CPCS
49SAAL
- SAAL (Signalling ATM Adaptation Layer, specified
in Q.2100) - used by signalling applications
- USSCF/NSSCF, SSCOP, CPCS, AAL5
- Service Specific Part and Common Part
- The purpose of SAAL is to convey information
across UNI and NNI
50SAAL
SSCS
CPCS
51CPCS
- Common Part Convergence Sub-layer (specified in
I.363) - Doesnt vary with the type of traffic being sent
- Uses AAL5 service provided by Linux ATM
- Uses Linux ATM API to access NIC
52SSCOP
- Service Specific Connection-Oriented Protocol
(specified in Q.2110) - Data-link layer protocol
- Offers both assured and unassured data transfer
service for upper layer - Can be used with different SSCFs
53SSCOP Service
- Provides
- Sequence Integrity
- Error Correction
- Flow Control
- Keep Alive
- Local Data Retrieval
- Connection Control
- Status Reporting
54UNI-SSCF
- Service Specific Coordination Function at UNI
(specified in Q.2130) - Performs a coordination function between the
service required by Layer 3 signalling function
and the service provided by SSCOP - Used by UNI and Q.2931
55UNI-SSCF Service
- Unacknowledged transfer of data
- Assured transfer of data
- Transparency of transferred information
- Establishment and release of SAAL Connections
56NNI-SSCF
- Service Specific Coordination Function at NNI
(specified in Q.2140) - Performs a coordination function between the
service required by Layer 3 signalling function
and the service provided by SSCOP - Used by MTP-3
57NNI-SSCF Service
- Assured transfer of data
- Transparency of transferred information
- Establishment and release of SAAL Connections
- SDU retrieval
- Signalling link error monitoring
- Flow control
58UNI Overview
- Based on
- The ATM-Forum UNI 3.1 Specification
- ITU-T Q.2931 Recommendation
- OSI layer 3 Functionality
59Services Provided for CC
- Point-to-point Call Setup / Clearing
- Point-to-multipoint Call Setup / Clearing / Party
control - SAAL connection control
- Error control
- Reset (not implemented)
60Services Used
- Provided by SAAL UNI-SSCF
- DATA request/indication
- ESTABLISH request/indication/confirm
- RELEASE request/indication/confirm
61Implementation Structure
Call Control
UNI
UNI
MUX
RSN
COORD
RRN
SAAL USSCF
62Setup Sequence
Calling
UNI
CC
UNI
Called
SETUPpdu
SETUPind
SETUPreq
SETUPpdu
PROCEEDINGreq
CALL PROC.pdu
CALL PROC.pdu
PROCEEDINGind
CONNECTpdu
SETUPconf
SETUPresp
CONNECTpdu
CONNECT ACKpdu
CONNECT ACKpdu
63BISUP
- Broadband ISDN User Part
- ITU-T Q.2761 Functional Description
- ITU-T Q.2762 General functions of messages and
signals - ITU-T Q.2763 Formats and codes
- ITU-T Q.2764 Basic call procedures
64BISUP
- SS7 User Part for B-ISDN call control and bearer
service control - Uses services from MTP-3
- Provides services for Application Part (Call
Control)
Application
TCAP
BISUP
SCCP
MTP-3
SAAL
ATM Layer
Physical Layer
SS7 Stack
65BISUP
66BISUP
Call setup example
Exchange A
Exchange B
BISUP
BISUP
CC
CC
SETUPreq
IAM
SETUPind
PROCEEDINGreq
IAA
PROCEEDINGind
ALERTINGreq
ACM
ALERTINGind
SETUPresp
ANM
SETUPconf
RELEASEreq
REL
RELEASEind
RELEASEresp
RLC
RELEASEconf
67BISUP
- ATM Forums solutions for NNI
- IISP (Interim Interswitch Signaling Protocol)
- Version 1.0, af-pnni-0026.000, Dec 1994
- Provides minimum level of interoperability for
multivendor private ATM networks - B-ICI (Broadband Intercarrier Interface)
- B-ICI 2.1, af-bici-0068.000, Nov 1996
- Defines the protocol used between carrier
networks - PNNI (Private Network-to-Network Interface)
- P-NNI V1.0, af-pnni-0055.000, Mar 1996
- Signaling and routing
68SS7
Signaling System Number 7
69MTP3
- ITU-T Recommendation Q.704, Signaling System
No.7 - Signaling network functions and messages - ITU-T Recommendation Q.2210, Message transfer
part level 3 functions and messages using the
services of ITU-T Recommendation Q.2140 (SSCF at
NNI)
- Signaling message handling
- Message discrimination
- Message distribution
- Message routing
- User parts (SCCP and BISUP) and AAL connections
70MTP3
71MTP3
BISUP
SCCP
User Parts
User
Mux
MTP3
AAL
Mux
AAL Connections
NNI-SSCF
NNI-SSCF
NNI-SSCF
72SCCP
- ITU-T Recommendations Q.711-Q.714, Signaling
System No.7 - Signaling Connection Control Part - Connectionless control (Basic connectionless
service) - Segmenting and reassembling not supported
- Message discarded when error occurs
- Routing control
- Address translation
73SCCP
74TCAP
- ITU-T Recommendations Q.771-774, Signaling
System No.7 - Transaction Capabilities
Application Part - Connectionless remote procedure call
- Operation class 1, structured dialogue and
normal end - Interworking between CORBA and TC systems
(TcSignaling)
75TCAP
76TCAP
77TOIMIALAVERKOT (TOVE)Communications Platform
- Testing
- Jussi Turunen
- Jari Katajavuori
78Protocol conformance testing
- The purpose of testing is to find bugs
- Communication software needs to be tested for
interoperability with other vendors software - Conformance testing is the process of verifying
that an implementation performs in accordance
with a particular standard.
79Protocol conformance testing
- Conformance testing is a formal method of testing
- Specified in ISO IS 9646
- The testing is done according to particular
protocol conformance test suites - Test suites are provided by standardization
bodies or manufacturers
80SSCOP testing environment
Impl.send
UNI-SSCF
Tester
Operatios
SSCOP
N-1 stack
N-1 stack
155 Mbit/s
81Testing SSCOP
- Test suite from ATM-Forum
- 317 test cases
- Testing software by OES and TOVE
- Components
- tester provided by OES, executes the test suite
- IUT implementation under test, TOVE SSCOP
protocol
82Testing SSCOP
- N-1 stack encodes data from tester to a form
understood by IUT and vice versa - operation server executes the test suite defined
operations for which a separate server was written
83Test runs
- Tests were run one state at a time
- The execution of the whole suite lasted hours ?
faster this way - One-state-at-a-time -testing allowed also fast
debugging and concentration on state-specific
bugs - Only some test cases were run separately
84Testing SSCOP - experiences
- The distribution of binaries was a working
solution - Testing, finding and fixing errors separate tasks
with some conflicts - Original SSCOP was working with Linux and Fore,
still errors were found - END PDU retransmission, size constraints
- Also the test suite contained errors
85UNI Testing
- Test Adapter
- Java Tester Plug
- The ATM Forum Abstract Test Suite for UNI 3.1 ATM
Signaling for Network Side - 661 test cases
- 160 test runs so far
- Components
- 2 x N-1 stack
- IUT
86UNI testing environment
CC
CC
Tester
UNI 3.1
UNI 3.1
N-1 stack
N-1 stack
N-1 stack
N-1 stack
155 Mbit/s
87TOIMIALAVERKOT (TOVE)Communications Platform
- Intelligent Network
- Pasi Nummisalo
88IN architecture
89Interaction
SCF
CCF
SSF
FEAM
FEAM
SCME
SSME
SLEE
SLPL
CCF
CCAF
90Messages
CC
Service
Null
Origination Attempt
Send Call
Active
91TOVE IN
92DCF
93IN implementation
94GUI
95Hierarchy
96INGW
Traditional SS7 Domain
CORBA Domain
TC-CORBA Gateway
TC-user Object
Proxy Object
e.g SSP (initiator)
ORB
Traditional TC-User
TC PDU Interfaces
e.g SCP (responder)
(Optional)
TC/SS7 Stack
TC/SS7 Stack
97Interaction
Gateway
CORBA-domain
IN Domain
TcPduUser, SSP Proxy
Legacy SSP
TCFactory Finder
TCUserFactory
98IDL interfaces
IDL interface ltnamegtInitiatorTcSignalingTcUser
void connect() void releaseCall()
interface ltnamegtResponderTcSignalingTcUser
void initialDP() void eventReportBCSM()
interface TcUserFactoryTcSignalingTcUserGeneric
Factory void ltnamegtInitiator
createltnamegtInitiator() void ltnamegtResponder
createltnamegtResponder(ltnamegtInitiator, ) //
e.g. name CoreINAP_CS1_SSF_to_SCF_AC
99INAP-IDL