8
IMS Application Developer's Handbook Creating and Deploying Innovative 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

IMS - Application Developer Handbook Content List

Embed Size (px)

DESCRIPTION

Content List

Citation preview

Page 1: IMS - Application Developer Handbook Content List

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

Page 2: IMS - Application Developer Handbook Content List

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

Page 3: IMS - Application Developer Handbook Content List

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

Page 4: IMS - Application Developer Handbook Content List

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

Page 5: IMS - Application Developer Handbook Content List

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

Page 6: IMS - Application Developer Handbook Content List

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

Page 7: IMS - Application Developer Handbook Content List

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

Page 8: IMS - Application Developer Handbook Content List

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