Cover image for Programming converged networks :  call control in Java, XML, and Parlay/OSA
Title:
Programming converged networks : call control in Java, XML, and Parlay/OSA
Personal Author:
Publication Information:
Hoboken, NJ : Wiley-Interscience, 2005
ISBN:
9780471268017

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010102270 TK6397 J34 2005 Open Access Book Book
Searching...

On Order

Summary

Summary

Examines next generation APIs in detail Provides broad coverage of several different call models and APIs, including JAIN, JTAPI, JCC, and Parlay Discusses technical trade-offs involved in call control modeling and services Sample call flows are shown to aid programmers using UML or Java


Author Notes

Farooq Anjum is a Research Scientist at Telcordia, and an adjunct professor at University of Pennsylvania, Philadelphia, and at Stevens Institute of Technology, Hoboken.


Table of Contents

List of Figuresp. xv
Prefacep. xix
Acknowledgmentsp. xxiii
1 Introductionp. 1
1.1 Sessions and Call Controlp. 3
1.2 Programmability and APIsp. 5
1.3 How This Book Is Organizedp. 6
1.4 Relevant Industry Forap. 7
1.5 Concluding Remarksp. 8
1.6 To Explore Furtherp. 9
2 The Telephone Network, Converged Networks, and Programmabilityp. 11
2.1 Evolution of the PSTNp. 11
2.1.1 Circuit and Packet Switchingp. 11
2.1.2 Switches and Signalingp. 12
2.1.3 Switch-Based Servicesp. 14
2.1.4 The (Advanced) Intelligent Networkp. 15
2.1.5 Converged Networksp. 16
2.1.6 A Glance at Signaling Protocols: ISUP and SIPp. 19
2.2 Programmability in AIN and Converged Networksp. 23
2.2.1 Limitations of AINp. 23
2.2.2 Programmability in Converged Networksp. 23
2.3 APIs Versus Protocolsp. 24
2.3.1 The Difference Between APIs and Protocolsp. 24
2.3.2 APIs Versus Protocols for Programmabilityp. 26
2.4 Motivating Services for API Definitionsp. 27
2.4.1 Voice Virtual Private Networkp. 28
2.4.2 Voice-Activated Dialingp. 29
2.4.3 Click-To-Dialp. 30
2.5 Running Examples Used in This Bookp. 32
2.5.1 Toll-Free Callingp. 32
2.5.2 Internet Call Waitingp. 33
2.6 Concluding Remarksp. 33
2.7 To Explore Furtherp. 34
3 Basic Concepts and Design Issuesp. 35
3.1 Introductionp. 35
3.2 Basic Terminologyp. 35
3.2.1 Applications and Servicesp. 35
3.2.2 Service and Network Providersp. 36
3.2.3 Users and Subscribersp. 37
3.2.4 Switches and Switching Centersp. 37
3.3 A Simple Model of Call Processingp. 39
3.4 Basic Model of Programmabilityp. 43
3.5 First- and Third-Party Call Controlp. 44
3.6 Call Models and APIsp. 45
3.7 Specification Languagep. 47
3.7.1 Specification Languagesp. 47
3.7.2 Choosing a Languagep. 48
3.8 Full and Half-Call Modelsp. 51
3.9 Symmetric and Asymmetric Call Modelsp. 52
3.10 Network and Application Views of Call Processingp. 53
3.11 Network-Edge and Network-Core APIsp. 54
3.12 API Extensibilityp. 55
3.13 Feature Interactionp. 56
3.14 Concluding Remarksp. 58
3.15 To Explore Furtherp. 58
4 The Advanced Intelligent Networkp. 59
4.1 Introductionp. 59
4.1.1 Historyp. 59
4.1.2 Architecturep. 60
4.2 SS7p. 61
4.2.1 SS7 Elementsp. 61
4.2.2 SS7 Protocolsp. 63
4.3 Core AIN and IN Aspectsp. 64
4.3.1 AIN/IN Principlesp. 64
4.3.2 IN Processing Modelp. 66
4.3.3 Basic Call State Modelsp. 67
4.4 ITU-T IN Aspectsp. 71
4.4.1 ITU-T IN Architecture and Capability Setsp. 71
4.4.2 Service-Independent Building Blocks, Services, and Service Featuresp. 73
4.5 Wireless Intelligent Networks (WIN)p. 74
4.5.1 Historyp. 74
4.5.2 WIN Architecturep. 75
4.6 Customized Applications for Mobile Enhanced Logic (CAMEL)p. 77
4.7 AIN Examplesp. 78
4.7.1 Toll-Free Callingp. 78
4.7.2 Internet Call Waitingp. 79
4.7.3 900 Call Restriction with PIN Overridep. 80
4.8 Concluding Remarksp. 81
4.9 To Explore Furtherp. 82
5 The Java Telephony APIp. 83
5.1 Introductionp. 83
5.1.1 What Is Computer Telephony Integration (CTI)?p. 83
5.1.2 Why JTAPI?p. 84
5.1.3 History of JTAPIp. 85
5.2 JTAPI Basicsp. 85
5.3 Basic Call Scenariosp. 88
5.3.1 Two-Party Callp. 88
5.3.2 Two-Party Call with Multiple Terminalsp. 89
5.3.3 Three-Party Callp. 90
5.4 The JTAPI Peer and JTAPI Packagesp. 90
5.4.1 Corep. 92
5.4.2 Call Controlp. 94
5.4.3 Call Centerp. 97
5.4.4 Mobilep. 98
5.4.5 Phonep. 98
5.4.6 Mediap. 98
5.4.7 Private Datap. 98
5.5 JTAPI Examplesp. 98
5.5.1 Provisioned Call Forwarding Applicationp. 99
5.5.2 Dynamic Call Forwarding Applicationp. 101
5.6 Distributed JTAPIp. 103
5.6.1 Full Call Modelp. 104
5.6.2 Half Call Modelp. 105
5.7 Concluding Remarksp. 106
5.8 To Explore Furtherp. 106
6 JAIN Call Control: JCC and JCATp. 107
6.1 Introductionp. 107
6.2 Backgroundp. 107
6.3 JCC and Signaling Protocolsp. 110
6.4 JCC and Application-Level Facilitiesp. 110
6.5 Call Control in JAINp. 111
6.6 JCC and JCAT Service Driversp. 113
6.6.1 JCC Service Driversp. 113
6.6.2 JCAT Service Driversp. 114
6.7 Components of the JCC/JCAT APIp. 115
6.7.1 Basic Componentsp. 115
6.7.2 Advanced Call Control Objectsp. 116
6.7.3 Basic API Patterns: Listeners and Factoriesp. 116
6.7.4 Event and Listener Inheritance Diagramsp. 117
6.8 More About Java Call Controlp. 118
6.8.1 JccProviderp. 118
6.8.2 JccCallp. 119
6.8.3 JccConnectionp. 121
6.8.4 JccAddressp. 124
6.8.5 Event Filtersp. 125
6.9 Java Call Control EXTensionsp. 125
6.9.1 JcatProviderp. 125
6.9.2 JcatCallp. 126
6.9.3 JcatConnectionp. 126
6.9.4 JcatAddressp. 127
6.9.5 JcatTerminalp. 127
6.9.6 JcatTerminalConnectionp. 127
6.10 JCC Call Flowsp. 128
6.10.1 First-Party Callp. 131
6.10.2 A Call Logging Applicationp. 133
6.11 Running Examples Using JCC and JCATp. 138
6.11.1 Toll-Free Call Applicationp. 138
6.11.2 Internet Call Waiting Applicationp. 142
6.12 API and Protocolsp. 145
6.12.1 JCAT Merge Call Mapping to SIPp. 146
6.13 Relationship of JCC/JCAT to JTAPI and Parlay APIsp. 147
6.14 Concluding Remarksp. 148
6.15 To Explore Furtherp. 148
7 The Parlay/OSA APIp. 151
7.1 Introductionp. 151
7.2 History and Backgroundp. 151
7.2.1 The JWG Process and Technology Mappingsp. 154
7.2.2 The Influence of TINA-Cp. 155
7.2.3 The TINA Business Modelp. 156
7.3 Parlay Architecturep. 157
7.3.1 Registering and Using Parlay Servicesp. 158
7.4 Overview of Parlay APIsp. 160
7.4.1 Frameworkp. 160
7.4.2 Call Control APIsp. 163
7.4.3 User Interactionp. 163
7.4.4 Mobilityp. 164
7.4.5 Terminal Capabilitiesp. 164
7.4.6 Data Session Controlp. 164
7.4.7 Generic Messaging Servicep. 165
7.4.8 Connectivity Managerp. 165
7.4.9 Account Managementp. 165
7.4.10 Charging APIp. 166
7.4.11 Policy Management Servicep. 166
7.4.12 Presence and Availability Management APIp. 167
7.5 Design Patterns and Naming Conventionsp. 167
7.5.1 Design Patterns and Conventionsp. 167
7.5.2 Naming Conventionsp. 169
7.6 Call Control APIsp. 171
7.6.1 Generic Call Control APIp. 171
7.6.2 Multiparty Call Controlp. 174
7.6.3 Multimedia Call Controlp. 178
7.6.4 Conference Call Controlp. 179
7.7 Steps in the Early Life of a Parlay Applicationp. 181
7.7.1 How the Application Accesses the Initial Interfacep. 182
7.7.2 Authenticating the Framework and Applicationp. 183
7.7.3 Requesting Access to the Service Discovery Interfacep. 185
7.7.4 Discovering Parlay Servicesp. 186
7.7.5 Signing the Service Agreementp. 187
7.8 Steps in the Early Life of a Parlay Servicep. 189
7.8.1 How the Service Accesses the Initial Interfacep. 191
7.8.2 Authenticating the Framework and Servicep. 191
7.8.3 Requesting Access to the Service Registration Interfacep. 192
7.8.4 Registering a Parlay Servicep. 192
7.9 The Usage Session: Multimedia Call Controlp. 193
7.10 Running Examples in Parlayp. 196
7.10.1 Toll-Free Applicationp. 196
7.10.2 Internet Call Waiting Applicationp. 202
7.11 Concluding Remarksp. 205
7.12 To Explore Furtherp. 205
8 Detailed API Design Issuesp. 207
8.1 Introductionp. 207
8.2 Synchronous Versus Asynchronous Callsp. 207
8.3 FSM Inheritance Considerationsp. 208
8.4 Object Mutabilityp. 210
8.4.1 Multiple Sessions per Objectp. 211
8.5 Callbacks and Event Listenersp. 212
8.6 Handling Eventsp. 212
8.7 Event and Listener Hierarchyp. 213
8.8 Using Interfaces Versus Using Classesp. 214
8.9 Bootstrapping, Factories, and Peersp. 216
8.10 To Explore Furtherp. 217
9 XML Programmability: PINT, SPIRITS, JAIN SCML, and Parlay Xp. 219
9.1 Introductionp. 219
9.2 PINT and SPIRITSp. 221
9.2.1 PSTN/Internet Interworking Protocol (PINT)p. 222
9.2.2 Service in the PSTN/IN Requesting InTernet Services (SPIRITS)p. 223
9.2.3 Authorization, Authentication, and Brokeringp. 225
9.3 Service Creation Markup Languagep. 227
9.3.1 Developing and Deploying an SCML Scriptp. 228
9.3.2 An Example Using SCMLp. 230
9.3.3 Using XSL to Generate Scriptsp. 231
9.4 Parlay X Web Servicesp. 231
9.5 Concluding Remarksp. 234
9.6 To Explore Furtherp. 234
10 Concluding Remarks and a Look at the Futurep. 235
10.1 Problems with Existing APIsp. 236
10.1.1 Network Intelligence Modelp. 236
10.1.2 API Complexity and Overheadp. 236
10.1.3 Specification Rigorp. 237
10.1.4 Securityp. 238
10.1.5 Support for Mobile Wireless Networksp. 239
10.1.6 Support for Alternative Charging and Billing Modelsp. 240
10.1.7 The Bottom Line: The Elusive "Killer App"p. 241
10.2 A Speculative Look at the Futurep. 242
10.2.1 Scenario 1: APIs Everywherep. 242
10.2.2 Scenario 2: No APIs and No Call Modelsp. 242
10.2.3 Scenario 3: APIs and Call Models, but No Standardp. 243
10.2.4 Scenario 4: Other Approaches to Programmabilityp. 243
10.3 Concluding Remarksp. 244
Acronymsp. 247
Referencesp. 253
Indexp. 261