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