Upload
sandeep755
View
91
Download
1
Embed Size (px)
DESCRIPTION
Content List
Citation preview
IMS ApplicationDeveloper's Handbook
Creating and DeployingInnovative IMS Applications
Rogier Noldus
Ulf Olsson
Catherine Mulligan
loannis Fikouras
Anders Ryde
Mats Stifle
AMSTERDAM • BOSTON • HEIDELBERG • LONDON • NEW YORK • OXFORD
PARIS • SAN DIEGO • SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO
Academic Press is an imprint of Elsevier
Contents
Foreword X1
Preface xiii
Acknowledgements xyi
About the Authors xvii
CHAPTER 1 Introduction 1
1.1 Why Was IMS Developed? 1
1.2 Observations 2
1.3 Network Vision: Enable and Simplify 2
1.3.1 Billions of Mobile Handsets 4
1.3.2 The Multi-Talented Mobile Handset 5
1.3.3 Extending Existing Behavior 6
1.3.4 Voice-Over IP Over Broadband 6
1.3.5 The Mobile Phone, Boosted 8
1.4 IMS Architecture for Those That Don't Need to Know 9
1.4.1 Services 12
1.4.2 The Home Network Concept 12
1.4.3 The Residential Opportunity 13
1.4.4 The Enterprise Opportunity 13
1.5 Setting the Scene: The Story So Far 14
1.5.1 IMS VoIP on Existing IP Networks 14
1.5.2 Rich Communication Suite (RCS) 14
1.5.3 Push-to-Talk 15
1.6 Doing Useful Work: The Service Story 15
1.6.1 The Communication Service Layer 17
1.6.2 IMS and Web 2.0 20
1.7 The Concept Applied 21
1.8 Multimedia Telephony 21
1.8.1 Multimedia Telephony. What Is It? 22
1.8.2 Why MMTel - What are the Driving Requirements? 23
1.8.3 Multimedia Telephony: The Origins 25
1.9 Summary 26
CHAPTER 2 Business Modeling for a Digital Planet 27
2.1 Introduction 27
2.2 Basic Economic Concepts for Developers 27
2.2.1 Economies of Scale 27
2.2.2 Transaction Costs 28
2.2.3 Open APIs and Transaction Costs 28
2.2.4 Factors of Production 32
iii
iv Contents
2.2.5 Capital Goods Software 32
2.2.6 Consumer Goods Software 33
2.3 Value Creation and Capture in Modem Communications Industries 33
2.3.1 The Role of the Individual in a Digital World 35
2.3.2 The Mobile Broadband Platform 37
2.4 The Business Case for IMS 38
2.4.1 Global Interoperable Standards - a Developer's View 39
2.4.2 Regulation and the Right to Private Communications 41
2.5 Business Models for a Digital Planet 42
2.6 Toward a Diagramming Technique 44
2.7 Practical Examples - Application to IMS 47
2.8 Conclusions 48
CHAPTER 3 Service Deployment Patterns 49
3.1 Introduction 49
3.2 Back to Basics 50
3.3 Client-Side Application 51
3.4 Server-Side End-Point Application 51
3.5 Web Server-Side End-Point Application 52
3.6 Web Client-Side End-Point Application 53
3.7 Mid-Point Application 55
3.8 Client-Side Application, Building on a Standardized Service 56
3.9 To-DoList 57
3.10 Summary 58
CHAPTER 4 Applications in the IP Multimedia Subsystem 59
4.1 Introduction 59
4.2 IMS Service Creation 60
4.2.1 Service Composition 60
4.2.2 Composition Through Chaining 61
4.2.3 IMS Service Chaining Architecture 62
4.3 IMS Service Composition 64
4.3.1 Initial Filter Criteria 64
4.3.2 Two-Tier Composition and the Service Capability Interaction Manager 65
4.3.3 Unified Web Services and IMS Composition 67
4.3.4 Next-Generation Intelligent Networks and Migration to IMS 68
4.4 IMS Application Servers 69
4.4.1 The Converged SIP Servlet Container 69
4.4.2 SIP Application Types 75
4.4.3 SIP Application Composition in JSR116 77
4.5 Conclusions 80
Contents v
CHAPTER 5 Service Development 81
5.1 Virtual Call Center Use-Case 82
5.1.1 Use-Case Architecture 83
5.1.2 Use-Case Business Logic 83
5.1.3 Constituent SIP Applications 87
5.2 Web-Based Do-Not-Disturb Use-Case 93
5.2.1 Use-Case Architecture 93
5.2.2 Constituent Components 95
5.2.3 Use-Case Business Logic 98
5.2.4 AJAX/S1P Interaction 102
5.3 Conclusions 104
CHAPTER 6 Introduction to IP-Based Real-Time Communications 1056.1 Introduction 105
6.2 Basics of Voice Over IP 105
6.2.1 Digital Speech Transmission 105
6.2.2 OSI Reference Model 109
6.2.3 Data Transmission Using the Real-time Transport Protocol Ill
6.2.4 Real-time Transport Control Protocol 118
6.2.5 Control Plane Versus User Plane 118
6.2.6 Multi-Party Communication Session 129
6.3 Registration 130
6.3.1 Initial Registration and Call Establishment 133
6.3.2 De-registration 136
6.3.3 Re-registration 136
6.3.4 Mobility Versus Nomadicity 137
6.4 Locating the Registrar 137
6.5 Registration Relationships 141
6.5.1 SubscriberAdministered in VoIP Network, but Currently not Registered 141
6.5.2 Subscriber Administered in VoIP Network and Currently Registered 142
6.6 Network Domains 142
CHAPTER 7 Introduction to Session Initiation Protocol 145
7.1 Introduction 145
7.2 The SIP Standard 145
7.3 SIP Session Versus Media Session 145
7.4 SIP Transaction Model 147
7.4.1 Command Sequence 152
7.5 SIP Transaction State Models 154
7.6 Proxy Roles 157
7.6.1 Stateless Proxy 158
vi Contents
7.6.2 Stateful Proxy 158
7.6.3 Back-to-Back User Agent 160
7.7 SIP Session Establishment 161
7.7.1 Request Message 162
7.7.2 Response Message 163
7.7.3 Initial Request Message Routing 163
7.7.4 Response Message Routing 168
7.7.5 Building an SIP Routing Path for Subsequent SIP Requests 173
7.7.6 Exchanging Contact Addresses for Subsequent SIP Requests 179
7.7.7 Subsequent Request Message Routing 181
7.8 SIP Transport Considerations 183
7.8.1 Internal DNS Versus External DNS 185
7.8.2 Reliability of SIP Requests and SIP Responses 185
7.9 Canceling a SIP Transaction Request 194
7.10 SIP Dialogs 197
7.10.1 Multiple Early Dialogs 201
7.10.2 Target Set 205
7.10.3 Early Media 206
7.11 Media Transmission: Offer-Answer Model 209
7.1 L .1 A Closer Look at the SDP Structure 215
7.11.2 Some SDP Examples 219
CHAPTER 8 Introduction to the IMS Network 223
8.1 Introduction 223
8.2 Overview of IMS Standards and Releases 223
8.3 IMS Network Architecture - A Global View 224
8.3.1 IMS Core Network 227
8.3.2 IMS Access Network 229
8.4 IMS Network Architecture - A Closer Look 232
8.4.1 Core Network Entities 232
8.4.2 Network Border Gateway Nodes 242
8.5 Registration 249
8.5.1 Registration Relationships 259
8.5.2 Periodic Re-Registration and De-Registration 260
8.5.3 Implicit Registration Set 262
8.5.4 Third-party Registration 266
8.5.5 Application-initiated Registration 268
8.6 Session Establishment 270
8.6.1 Media Gating 284
8.7 Using Phone Numbers 285
8.7.1 Number Normalization 286
8.7.2 ENUM Query 288
Contents vii
8.7.3 Public ENUM versus Carrier ENUM 290
8.7.4 Phone Number Representation Through SIP URI 291
8.8 Application Servers in IMS 292
8.8.1 Introduction and Concept 292
8.8.2 The ISC Reference Point 294
8.8.3 Service Chaining 298
8.8.4 SIP-AS as Proxy, B2BUA, UAC, or UAS 300
8.8.5 Public Services 304
8.8.6 Service-initiated Session Establishment 312
8.8.7 User Interaction 316
8.8.8 Unregistered Service Invocation 320
8.9 Messaging in IMS 324
8.9.1 Instant Message 325
8.9.2 Messaging Session 328
CHAPTER 9 MMTel and Other IMS Enablers 329
9.1 Introduction 329
9.2 A More In-Depth Look into MMTel 329
9.3 Basic MMTel Architecture 330
9.4 Going Deeper and Wider 331
9.5 Adding to MMTel 334
9.5.1 ISC Chaining 334
9.5.2 Northbound Interface 335
9.5.3 Forwarding to Extension Logic 335
9.5.4 Web Interfaces on the Client Side 336
9.6 Use-Case: Calendar-Based Routing 336
9.7 IMS Presence 337
9.7.1 Presence as Defined by OMA 338
9.7.2 Interacting with the Presence System 340
9.7.3 The Presentity Data Model 343
9.7.4 XDM Data Management 345
9.8 Finding the right devices 346
9.9 Conclusion 349
CHAPTER 10 Charging 351
10.1 Introduction 351
10.2 Obvious and Not So Obvious Ways of Getting Paid 352
10.3 Money Makes the App Go Around 352
10.3.1 Selling to the End-user Through a Store 352
10.3.2 Selling Over and Over Again 353
10.3.3 Pay-per-use 354
10.3.4 Advertising 354
viii Contents
10.3.5 Letting Someone Else do the Heavy Lifting 355
10.3.6 Sell Something Else 356
10.3.7 Count on your Fellow Man 356
10.3.8 Benefit in an Entirely Different Dimension 356
10.4 The Mechanics of Charging 357
10.4.1 Offline Charging 358
10.4.2 Online Charging 359
10.5 Summary 362
CHAPTER 11 Interworking with Legacy Networks 363
11.1 Introduction 363
11.2 The Bigger Picture - Connecting IMS to the Outside World 363
11.3 Interworking Through MGCF and IM-MGW 365
11.3.1 General 365
11.3.2 Protocol Mapping 367
11.3.3 MGCF SIP Signaling Capability 371
11.3.4 User-plane Interworking 376
11.4 Video Interworking 378
11.5 Supplementary Service Interworking 380
11.5.1 Calling Line Presentation and Calling Line Presentation Restriction 382
11.5.2 Connected Line Presentation and Connected Line Presentation
Restriction 383
11.5.3 Call Hold and Resume 386
11.5.4 Call Forwarding 388
11.6 Applying Legacy VAS in the IMS Network 389
11.6.1 The Starting Point: VAS in the CS Network and VAS in the
IMS Network 389
11.6.2 The Challenge: Safeguarding Legacy VAS Investment 393
11.6.3 Service Capability Interaction Manager 399
CHAPTER 12 Rich Communication Suite 40112.1 Introduction 401
12.2 The Basics of RCS 402
12.2.1 What is RCS? 402
12.2.2 Why RCS? 402
12.3 Overview of RCS Release Functionality 404
12.4 RCS Release 1 405
12.4.1 Enriched Call 406
12.4.2 Enhanced Messaging 41412.4.3 Enriched Phone Book 417
12.5 RCS Release 2 418
12.5.1 Broadband Access 418
12.5.2 Multi-Device Environment 419
Contents ix
12.5.3 Enriched Call - Multi-Device 419
12.5.4 Network Address Book 420
12.5.5 RCS Provisioning 420
12.6 RCS Release 3 421
12.7 RCS Release 4 422
12.8 RCS-e 423
12.8.1 Capability Discovery in RCS-e 424
12.9 Using RCS Applications to Capture Value 425
12.10 Conclusions 4?0
CHAPTER 13 Evolved IP Multimedia Architecture and Services 431
13.1 Introduction 43'
13.2 Overview of the Evolved IMS Architecture 431
13.3 GSMA VoLTE - IMS Profile for Voice and SMS 432
13.4 VoLTE Considerations for Service Designers 436
13.5 Single Radio Voice Call Continuity (SRVCC) 436
13.5.1 SRVCC Architecture in 3GPP Release 9 437
13.5.2 SRVCC High-Level Use-case Explained 438
13.5.3 SRVCC Architecture in 3GPP Release 10 440
13.6 IMS Centralized Services (ICS) 441
13.6.1 ICS Solution with Evolved MSC 443
13.6.2 ICS Solution Using Existing ISUP/Mg and CAMEL 444
13.6.3 Terminating Access Domain Selection (T-ADS) 445
13.7 SRVCC and ICS Considerations for Service Designers 445
CHAPTER 14 Future Outlook: Market and Technology 449
14.1 What is Next in Store for IMS? 449
14.2 TV 449
14.3 Smart Pipes 449
14.4 Home Networks 450
14.5 Web Clients 450
14.6 Machine to Machine (M2M) 450
14.7 Vehicle Automation 450
14.8 WAC and Other App Stores 450
14.9 Secure, Non-Anonymous Coinms: The Alternative Network 451
14.10 Conclusion 451
References 453
Abbreviations 455
Index 463