Download - VoIP-20100826
IK2554 Practical Voice Over IP (VoIP): SIP and related protocols
Fall 2010, Period 1
Maguire Cover.fm Total pages: [email protected] 2010.08.26
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
Lecture notes of G. Q. Maguire Jr.
For use in conjunction with :
Henry Sinnreich and Alan B. Johnston, Internet Communications Using SIP: Delivering VoIP and Multimedia Services with Session Initiation Protocol, 2nd Edition, Wiley, August 2006, ISBN: 0-471-77657-2.
2 of 27Practical Voice Over IP (VoIP): SIP and related protocols
............................ 28
............................ 29
............................ 30 - - - - - - - - - - - - - - - - - - - - - 30
............................ 31 - - - - - - - - - - - - - - - - - - - - - 31 - - - - - - - - - - - - - - - - - - - - - 31
............................ 32
............................ 34
............................ 35
............................ 36
............................ 37
............................ 38
............................ 40
............................ 41
............................ 43r sources! .......... 44
............................ 45
[email protected] 2010.08.26
Module 1: Introduction ...............................................Welcome to the course! ..............................................Staff Associated with the Course................................Instructor (Kursansvarig) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Goals, Scope and Method...........................................Goals of the Course - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Scope and Method - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Learning Outcomes.....................................................Prerequisites................................................................Contents ......................................................................Topics .........................................................................Examination requirements ..........................................Grades: A..F (ECTS grades).......................................Project .........................................................................Assignment Registration and Report ..........................Literature.....................................................................Observe proper academic ethics and properly cite youEthics, Rights, and Responsibilities ...........................
3 of 27Practical Voice Over IP (VoIP): SIP and related protocols
............................ 46
............................ 47
............................ 48
............................ 49
............................ 50
............................ 51
............................ 52
............................ 53
............................ 54
............................ 55
............................ 56
............................ 57
............................ 58
............................ 59
............................ 60
............................ 61 - - - - - - - - - - - - - - - - - - - - - 61 - - - - - - - - - - - - - - - - - - - - - 62
[email protected] 2010.08.26
Lecture Plan ................................................................Voice over IP (VoIP) ..................................................Potential Networks .....................................................Internetworking...........................................................VoIP a major market...................................................Handsets......................................................................VoIP Chipsets .............................................................Deregulation ⇒ New operators ................................Deregulation ⇒ New Suppliers................................Let them fail fast!........................................................Latency .......................................................................VoIP Modes of Operation...........................................IP based data+voice infrastructure .............................Voice Gateway............................................................Home Telephony Voice Gateway...............................Voice over IP (VoIP) Gateways .................................Voice representation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Signaling - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4 of 27Practical Voice Over IP (VoIP): SIP and related protocols
- - - - - - - - - - - - - - - - - - - - - 62 - - - - - - - - - - - - - - - - - - - - - 62 - - - - - - - - - - - - - - - - - - - - - 63
............................ 64
............................ 67
............................ 68
............................ 69
............................ 70
............................ 71
............................ 72
............................ 73
............................ 75
............................ 76
............................ 77 - - - - - - - - - - - - - - - - - - - - - 77 - - - - - - - - - - - - - - - - - - - - - 77
............................ 78
............................ 79
............................ 80
[email protected] 2010.08.26
Fax Support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Management - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compatibility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cisco’s Voice Over IP ................................................Intranet Telephone System .........................................Wireless LANs............................................................Femto cell and UMA ..................................................VoIP vs. traditional telephony ....................................Economics ..................................................................VoIP vs. traditional telephony ....................................Patents.........................................................................Deregulation ⇒ Trends ............................................Carriers offering VoIP ................................................MCI Connection .........................................................Previously - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -After convergence - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Level 3 Communications Inc......................................TeliaSonera Bredbandstelefoni...................................Emulating the PSTN...................................................
5 of 27Practical Voice Over IP (VoIP): SIP and related protocols
............................ 82
............................ 83
............................ 84
............................ 85
............................ 86
............................ 87
............................ 88
............................ 89
............................ 90
............................ 91
............................ 92
............................ 93
............................ 94
............................ 99
.......................... 100
.......................... 101
.......................... 102
[email protected] 2010.08.26
Calling and Called Features........................................Beyond the PSTN: Presence & Instant Messaging.....Presence-Enabled Services .........................................Three major alternatives for VoIP ..............................Negatives ....................................................................Deregulation ⇒ New Regulations............................Regulations in Sweden ...............................................Programmable “phone” ..............................................Conferences ................................................................Not with out problems ................................................Seven Myths About Voice over IP[18] ......................S adoption curve + shut-down ....................................References and Further Reading.................................Acknowledgements.....................................................Module 2: VoIP details...............................................Traditional Telecom vs. Datacom...............................VoIP details: Protocols and Packets ...........................
6 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 103
.......................... 104
.......................... 105
.......................... 106
.......................... 107
.......................... 108
.......................... 109
.......................... 110
.......................... 111
.......................... 112
.......................... 113
.......................... 114
.......................... 115
.......................... 116
.......................... 117
.......................... 118
.......................... 119
[email protected] 2010.08.26
RTP and H.323 for IP Telephony ..............................RTP, RTCP, and RTSP...............................................Real-Time Delivery ....................................................Packet delay ................................................................Dealing with Delay jitter ............................................Delay and delay variance (jitter).................................Perceived voice quality...............................................Playout delay ..............................................................When to play...............................................................Retransmission, Loss, and Recovery ..........................Patterns of Loss ..........................................................Loss concealment........................................................VoIP need not be “toll quality” ..................................RTP: Real-Time Transport Protocol...........................Payload types ..............................................................Audio Encodings ........................................................Other important types of data .....................................
7 of 27Practical Voice Over IP (VoIP): SIP and related protocols
- - - - - - - - - - - - - - - - - - - - - 119 - - - - - - - - - - - - - - - - - - - - - 119
.......................... 120
.......................... 121
.......................... 122
.......................... 123
.......................... 124
.......................... 127
.......................... 128
.......................... 129........................ 130
.......................... 131
.......................... 132
.......................... 133
.......................... 134 - - - - - - - - - - - - - - - - - - - - - 136 - - - - - - - - - - - - - - - - - - - - - 140
.......................... 141
.......................... 142
[email protected] 2010.08.26
Dual Tone Multifrequency (DTMF) digits and telephony tones & signals- - - - - - - - - - - - -FAX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Timestamps.................................................................Stream translation and mixing ....................................RTP Control Protocol (RTCP) .................................Compound Reports .....................................................Proposed RTCP Reporting Extensions.......................RTP translators/mixers ...............................................Synchronizing Multiple Streams ................................RTP Transport and Many-to-many Transmission ......Sessions, Streams, Protocol Port, and DemultiplexingFurther details of RTP and RTCP...............................Real Time Streaming Protocol (RTSP) ......................RTSP session description ...........................................References and Further Reading.................................RTP and RTCP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -RTSP- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 3: SIP .............................................................Session Initiation Protocol (SIP) ................................
8 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 143
.......................... 145 - - - - - - - - - - - - - - - - - - - - - 146
.......................... 147
.......................... 148
.......................... 149
.......................... 150
.......................... 151
.......................... 152 - - - - - - - - - - - - - - - - - - - - - 152
.......................... 153
.......................... 154
.......................... 155
.......................... 156
.......................... 157
.......................... 158
.......................... 159
.......................... 160
[email protected] 2010.08.26
SIP WG’s deliverables................................................Related IETF Working groups....................................Historic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Related working groups..............................................Session Initiation Protocol (SIP) ................................Is SIP simple? .............................................................SIP, RTP, and RTSP...................................................SIP actors ....................................................................SIP Methods and Status Codes ...................................SIP Status codes - patterned on and simular to HTTP’s status codes: - - - - - - - - - - - - - - - -
SIP Uniform Resource Indicators (URIs)...................Issues to be considered ...............................................Address Resolution.....................................................SIP timeline ................................................................SIP Invite ....................................................................Bob’s response to Alice’s INVITE.............................ACK............................................................................SIP Invite (method/URI/version)................................
9 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 161
.......................... 162
.......................... 163
.......................... 164
.......................... 165
.......................... 166
.......................... 167
.......................... 168
.......................... 169
.......................... 170
.......................... 171
.......................... 172
.......................... 173
.......................... 174
.......................... 175
.......................... 176
.......................... 177
[email protected] 2010.08.26
SIP Via........................................................................Dialog (Call leg) Information .....................................SIP CSeq.....................................................................SIP Contact .................................................................SIP Content Type and Length ....................................SIP Max-Forwards......................................................Other header fields......................................................Several types of SIP Servers.......................................SIP Trapezoid ............................................................SIP Call Setup.............................................................SIP Call Setup Attempt...............................................SIP Call Setup Attempt...............................................SIP Presence ...............................................................SIP B not Present ........................................................SIP Registration Example...........................................Purpose of registration................................................REGISTERing ............................................................
10 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 178
.......................... 179
.......................... 180......... 181 - - - - - - - - - 181 - - - - - - - - - 181
.......................... 182
.......................... 183
.......................... 184
.......................... 185
.......................... 186......... 187
.......................... 188
.......................... 189
.......................... 190
.......................... 191
.......................... 192......... 193
[email protected] 2010.08.26
SIP Call Setup Attempt...............................................SIP Session Termination using BYE..........................SIP Session Termination using CANCEL..................CANCEL and OPTIONS ...................CANCEL- - - - - - - - - - - - - - - - - - - - - - - - - - - -OPTIONS - - - - - - - - - - - - - - - - - - - - - - - - - - -
Unsuccessful final responses are hop-by-hop.............Authentication ............................................................SIP Method Extensions in other RFCs .......................SIP Extensions and Features.......................................SIP Presence - Signed In.............................................SUBSCRIBE and NOTIFY .................SIP Instant Messaging Example .................................SIP Instant Messaging Example (continued)..............Message example........................................................Midcall signaling ........................................................Call Control ................................................................Example of using REFER ..................
11 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 194
.......................... 196
.......................... 197
.......................... 198
.......................... 199
.......................... 200
.......................... 201
.......................... 202
.......................... 203
.......................... 209
.......................... 210
.......................... 211
.......................... 212
.......................... 213 - - - - - - - - - - - - - - - - - - - - - 213 - - - - - - - - - - - - - - - - - - - - - 218
.......................... 220
.......................... 221
[email protected] 2010.08.26
QoS and Call Setup.....................................................SIP Message retransmission .......................................RFC 3261 - Routing Changes.....................................RFC 3261 - New Services ..........................................Compression of SIP ....................................................Intelligent Network service using SIP ........................Capability Set 1: Services...........................................Capability Set 2 ..........................................................Features.......................................................................SIP development, evolution, …..................................Gateways.....................................................................Significance ................................................................P2P SIP .......................................................................References and Further Reading.................................SIP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ITU Services CS-1 and CS-2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 4: Session Announcement Protocol (SAP) ...Session Announcement Protocol (SAP) .....................
12 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 222 - - - - - - - - - - - - - - - - - - - - - 222
.......................... 223
.......................... 224
.......................... 225
.......................... 228
.......................... 229
.......................... 230
.......................... 231
.......................... 232
.......................... 233
.......................... 234Protocol (SDP)[90] 235.......................... 236.......................... 237.......................... 238.......................... 239
[email protected] 2010.08.26
References and Further Reading.................................SAP- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 5: Session Description Protocol (SDP) .........Session Description Protocol (SDP)...........................Session Description Protocol (SDP)...........................SDP Message Details..................................................Session description .....................................................SDP Offer/Response Example....................................SDP Response Example .............................................Session Modification ..................................................Session modification (continued) ...............................Start and Stop Times...................................................Grouping of Media Lines in the Session Description Lip Synchronization ...................................................Next generation of SDP (SDPng) ...............................SDPng structure ..........................................................Why XML?.................................................................
13 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 240
.......................... 241
.......................... 242
.......................... 243 - - - - - - - - - - - - - - - - - - - - - 243
.......................... 251
.......................... 252
.......................... 253
.......................... 254
.......................... 255
.......................... 258
.......................... 259
.......................... 260
.......................... 261
.......................... 262
.......................... 264
.......................... 265
[email protected] 2010.08.26
SDP today ...................................................................QoS and SDP ..............................................................Writing code to deal with SDP ...................................References and Further Reading.................................SDP- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 6: DNS and ENUM .......................................Telephony URL and Phone-Context ..........................ITU-T E.164 ...............................................................SIP URL .....................................................................ENUM ........................................................................DNS ............................................................................NAPTR - Naming Authority Pointer [119] ................To find the DNS names for a specific E.164 number.ENUM Services ..........................................................ENUM Timeline .........................................................Sweden’s ENUM Mapping.........................................ENUM in Sweden.......................................................
14 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 266
.......................... 267
.......................... 268
.......................... 269
.......................... 270
.......................... 271 - - - - - - - - - - - - - - - - - - - - - 271 - - - - - - - - - - - - - - - - - - - - - 271 - - - - - - - - - - - - - - - - - - - - - 273
.......................... 280
.......................... 281
.......................... 282
.......................... 283 - - - - - - - - - - - - - - - - - - - - - 283 - - - - - - - - - - - - - - - - - - - - - 283 - - - - - - - - - - - - - - - - - - - - - 284
.......................... 285
.......................... 286
[email protected] 2010.08.26
Declining interest in “geographic” numbers...............VISIONng Association...............................................Carrier and user use of ENUM and DNS ...................Mapping and numbering.............................................SIP goes beyond ENUM.............................................References and Further Reading.................................E.164- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -DNS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ENUM- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 7: SIP Mobility ..............................................SIP Mobility ...............................................................Local Number Portability ...........................................References and Further Reading.................................SIP Mobility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Service Mobility - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Number portability - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 8: SIP (Telia) Example..................................Example of IP Telephony (Telia’s Broadband Telephony)..................................
15 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 287 - - - - - - - - - - - - - - - - - - - - - 287
.......................... 321
.......................... 322
.......................... 323
.......................... 324
.......................... 325
.......................... 326
.......................... 327
.......................... 328
.......................... 329SIP and Jain ..... 332.......................... 333.......................... 334.......................... 335......................... 336
.......................... 337
[email protected] 2010.08.26
References and Further Reading.................................SIP Example- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 9: SIP Service Creation .................................SIP Service Creation...................................................Services implemented by x.........................................Services implemented by Extensions .........................SIP Service Logic ......................................................Call Processing Language (CPL)................................SIP Common Gateway Interface (CGI)......................SIP Java Servlets ........................................................JAIN APIs...................................................................US National Institute of Standards and Technology - Parlay ..........................................................................SIP Request-URIs for Service Control .......................Reason Header .........................................................Voice eXtensible Markup Language (VoiceXML³™)CallControl XML (CCXML)......................................
16 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 338
.......................... 339
.......................... 340 - - - - - - - - - - - - - - - - - - - - - 340 - - - - - - - - - - - - - - - - - - - - - 341 - - - - - - - - - - - - - - - - - - - - - 341 - - - - - - - - - - - - - - - - - - - - - 341 - - - - - - - - - - - - - - - - - - - - - 342 - - - - - - - - - - - - - - - - - - - - - 342 - - - - - - - - - - - - - - - - - - - - - 342 - - - - - - - - - - - - - - - - - - - - - 343
.......................... 345
.......................... 346
.......................... 347
.......................... 348
.......................... 349
.......................... 350
.......................... 351
.......................... 352
.......................... 353
[email protected] 2010.08.26
CCXML implementations ..........................................Projects: GlassFish and SailFin ..................................References and Further Reading.................................SIP Service Creation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -JAIN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Parley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SIP Request URI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Reason Header - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -VoiceXML - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -CCXML- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SailFin- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 10: User Preferences......................................User Preferences .........................................................Contact parameters .....................................................Contact header example..............................................Accept/Reject-Contact header(s) ................................Callee (i.e., called party) Parameter processing .........Request-Disposition....................................................SIP Service Examples.................................................Privacy-Conscious Personalization ............................
17 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 354 - - - - - - - - - - - - - - - - - - - - - 354
.......................... 355
.......................... 356
.......................... 357
.......................... 358
.......................... 359 - - - - - - - - - - - - - - - - - - - - - 365
LA) .................. 366.......................... 367.......................... 368.......................... 370.......................... 371.......................... 372twork Address Translation))
.......................... 375
.......................... 376
[email protected] 2010.08.26
References and Further Reading.................................User Preferences - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 11: SIP Security, NATs, and Firewalls .........SIP Security ................................................................SIP Digest Authentication ..........................................SIP and S/MIME ........................................................SDP & RTP security...................................................Secure Call Setup [201] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Efficient Stream Loss-tolerant Authentication (TESElisabetta Carrara........................................................NATs and Firewalls....................................................Types of NAT.............................................................Cone vs. Symmetric NAT ..........................................NAT traversal methods...............................................STUN (Simple Traversal of UDP through NATs (Ne374STUN steps.................................................................UDP and TCP Firewall Traversal problems...............
18 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 377
.......................... 378 - - - - - - - - - - - - - - - - - - - - - 378 - - - - - - - - - - - - - - - - - - - - - 378 - - - - - - - - - - - - - - - - - - - - - 378
raversal ........... 379.......................... 380.......................... 381
.1) ................... 382.......................... 384.......................... 385.......................... 386.......................... 387.......................... 388.......................... 389.......................... 390.......................... 391.......................... 392
[email protected] 2010.08.26
UDP and TCP NAT Traversal problems....................Other NAT traversal protocols ...................................Traversal Using Relay Nat (TURN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ICE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -HIP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SIP Application Level Gateway (ALG) for Firewall TMiddlebox communications (MIDCOM) ..................Application aware Middlebox ....................................Security flaws in Abstract Syntax Notation One (ASNSwedish Electronic Communications Act ..................Recording of Call Contents ........................................Privacy & Lawful Intercept (LI)................................Reasonably Available Information .............................EU privacy and Lawful Intercept (LI) ........................Intercept architecture ..................................................Lawful Intercept - some additional problems.............Data Retention Directive ............................................Article 5: Categories of data to be retained ................
19 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 396
.......................... 398
.......................... 399
.......................... 400
.......................... 401
.......................... 402
.......................... 403 - - - - - - - - - - - - - - - - - - - - - 403 - - - - - - - - - - - - - - - - - - - - - 405 - - - - - - - - - - - - - - - - - - - - - 408 - - - - - - - - - - - - - - - - - - - - - 412 - - - - - - - - - - - - - - - - - - - - - 418 - - - - - - - - - - - - - - - - - - - - - 419
.......................... 420
.......................... 421
.......................... 422
.......................... 423
.......................... 424
.......................... 425
[email protected] 2010.08.26
SIP Recording.............................................................SIP Recording Architecture........................................SIP extentions for SIP recording ................................Voice over IP Security Alliance .................................Spam over Internet Telephony (SPIT)........................VoIP Security: Attacks and Countermeasures............References and Further Reading.................................SIP Security - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -RTP encryption - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -NATs and Firewalls - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Privacy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -VoIP Security - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SIP recording - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 12: SIP Telephony.........................................SIP Telephony ............................................................Telephony Routing over IP (TRIP) ............................Call Control Services..................................................Call Center Redesign using SIP..................................Additional SIP Telephony services ............................
20 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 426
.......................... 428
.......................... 429
.......................... 430
.......................... 431RIV)................ 432
.......................... 433 - - - - - - - - - - - - - - - - - - - - - 433 - - - - - - - - - - - - - - - - - - - - - 434 - - - - - - - - - - - - - - - - - - - - - 435 - - - - - - - - - - - - - - - - - - - - - 436
.......................... 439
.......................... 440
.......................... 441
.......................... 442
.......................... 443
.......................... 444
.......................... 445
.......................... 446
[email protected] 2010.08.26
Emergency Telecommunication Service (ETS)[278].Emergency Services (E911) .......................................Public Safety Answering Point (PSAP)......................Vonage 911 service.....................................................Vonage equips PSAPs with VoIP...............................Geographic Location/Privacy Working Group (GEOPReferences and Further Reading.................................Emergency services - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SIP Telephony - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -TRIP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Geopriv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 13: SIP Conferencing ....................................Conferencing...............................................................Conferencing Models [285]........................................SIP Conferencing........................................................Realizing conferences.................................................Centralized Conferencing Framework........................Distributed Conferencing (DCON).................................................................................................................
21 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 447
.......................... 448
.......................... 449
.......................... 450 - - - - - - - - - - - - - - - - - - - - - 450 - - - - - - - - - - - - - - - - - - - - - 455 - - - - - - - - - - - - - - - - - - - - - 455 - - - - - - - - - - - - - - - - - - - - - 455
.......................... 456
.......................... 457
.......................... 458ervers (SPIRITS) 459.......................... 460.......................... 461.......................... 462 - - - - - - - - - - - - - - - - - - - - - 462 - - - - - - - - - - - - - - - - - - - - - 462 - - - - - - - - - - - - - - - - - - - - - 464 - - - - - - - - - - - - - - - - - - - - - 465 - - - - - - - - - - - - - - - - - - - - - 465
.......................... 467
[email protected] 2010.08.26
Conference and IVR server control ............................Media types.................................................................Speaker recognition in a conference...........................References and Further Reading.................................SIP Conferencing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Session Annoucement Protocol - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SMIL- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Speaker recognition in a conference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 14: Mixed Internet-PSTN Services ...............Mixed Internet-PSTN Services...................................PSTN and Internetworking (PINT) ............................Servers in the PSTN Initiating Requests to Internet STelephony Routing over IP (TRIP) ............................Opticall AB’s Dial over Data solution........................References and Further Reading.................................PINT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SPIRITS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -TRIP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ISUP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Dial over Data- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 15: AAA and QoS for SIP.............................
22 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 468
.......................... 469
.......................... 470
.......................... 471
.......................... 472
.......................... 473
.......................... 474
.......................... 476
.......................... 477 - - - - - - - - - - - - - - - - - - - - - 477 - - - - - - - - - - - - - - - - - - - - - 477
.......................... 478
.......................... 479
.......................... 480
.......................... 481
.......................... 482
.......................... 483FWC)................ 484
[email protected] 2010.08.26
Authentication, Authorization, Accounting (AAA) ...SIP Accounting...........................................................Open Settlement Protocol (OSP) ................................Achieving QoS ...........................................................Some measured delays................................................Underlying Quality .....................................................Voice Quality..............................................................Rating voice quality in practice ..................................QoS Proprietary vs. Standards based..........................Past - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2002 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QoS for SIP.................................................................VoIP traffic and Congestion Control..........................Delay and Packet Loss effects ....................................When to continue (try again) ......................................More about congestion ...............................................RTP (over UDP) playing fair with TCP .....................TCP-Friendly Window-based Congestion Control (T
23 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 485
.......................... 486
.......................... 487
.......................... 488
.......................... 496PING) ............. 497
.......................... 499
.......................... 500
.......................... 501 - - - - - - - - - - - - - - - - - - - - - 502 - - - - - - - - - - - - - - - - - - - - - 503
e (IVR) ............ 504.......................... 505.......................... 506.......................... 507.......................... 508.......................... 509.......................... 510
[email protected] 2010.08.26
VoIP quality over IEEE 802.11b ................................Measurements of VoIP QoS .......................................Application Policy Server (APS)................................References and Further Reading.................................Module 16: SIP Applications .....................................Session Initiation Protocol Project INvestiGation (SIPApplication Service Components ...............................Advantages .................................................................Collecting DTMF digits for use within a service .......Reponse “3. 200 OK” looks like: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Controller issues a “re-Invite” at 11 which looks like: - - - - - - - - - - - - - - - - - - - - - - - - - -
Voice Portal Service using Interactive Voice ResponsManaging Services......................................................Context aware SIP services ........................................Unified communications.............................................SIP Web APIs .............................................................Simpler approach to SIP applications.........................Lots more services ......................................................
24 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 511
.......................... 512 - - - - - - - - - - - - - - - - - - - - - 512 - - - - - - - - - - - - - - - - - - - - - 514
.......................... 515
.......................... 516
.......................... 517
.......................... 518
.......................... 519
.......................... 520
.......................... 521
.......................... 522
.......................... 523
.......................... 524
.......................... 526
.......................... 529 - - - - - - - - - - - - - - - - - - - - - 529 - - - - - - - - - - - - - - - - - - - - - 529
.......................... 530
[email protected] 2010.08.26
Avoiding declarative service IDs................................References and Further Reading.................................SIPPING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SIP Web API - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 17: More than Voice......................................Non-voice Services and IP Phones .............................XML ...........................................................................Invoking RTP streams ................................................More details ................................................................Services for sale - building a market ..........................Network Appliances ...................................................Proposed Extension of SIP .........................................Service Location Protocol (SLP) URL.......................Example service..........................................................Example of service portability....................................Text .............................................................................Interleaved text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Timed Text- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SOS and other URNs..................................................
25 of 27Practical Voice Over IP (VoIP): SIP and related protocols
nor should they all be voice .......................... 531.......................... 532.......................... 533 - - - - - - - - - - - - - - - - - - - - - 533 - - - - - - - - - - - - - - - - - - - - - 533 - - - - - - - - - - - - - - - - - - - - - 534 - - - - - - - - - - - - - - - - - - - - - 536
.......................... 537
.......................... 538
.......................... 539
.......................... 540
.......................... 541
.......................... 542
.......................... 543
.......................... 544
.......................... 545
.......................... 546
.......................... 547
[email protected] 2010.08.26
Not all emergencies should go to the local authorities sessions .......................................................................Meta data ....................................................................References and Further Reading.................................Phone Services - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Network Appliances- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Text- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Log file format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Module 18: VOCAL...................................................VOCAL System Overview.........................................VOCAL Servers..........................................................Scaling of a VOCAL system ......................................For comparison with a PBX .......................................Marshal server (MS) ...................................................Redirect Server (RS)...................................................Feature Server (FS).....................................................Residential Gateway (RG)..........................................Residential Gateways..................................................References and Further Reading.................................
26 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 548
.......................... 549
.......................... 550
.......................... 551
.......................... 552
.......................... 553
.......................... 554
.......................... 555
.......................... 556
.......................... 557
.......................... 558
.......................... 559
.......................... 560
.......................... 561
.......................... 562
.......................... 563
.......................... 564
[email protected] 2010.08.26
Module 19: SIP Express Router and other Software ..SIP Express Router (SER) ..........................................Many SIP Express Routers .........................................SipFoundry .................................................................Other SIP Proxies .......................................................SIP Tools ....................................................................SIP Clients ..................................................................CPL and Ontology extentions to SER ........................References and Further Reading.................................Module 20: Non-SIP applications ..............................Skype ..........................................................................Cisco’s Skinny............................................................H.323 and MGCP .......................................................Asterisk .......................................................................References and Further Reading.................................Module 21: Conclusions and your projects ................Conclusions ................................................................
27 of 27Practical Voice Over IP (VoIP): SIP and related protocols
.......................... 565
.......................... 566
[email protected] 2010.08.26
Seven Myths About VoIP...........................................Your projects ..............................................................
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
Introductionf G. Q. Maguire Jr.
. Johnston, Internet Delivering VoIP and Multimedia on Protocol, 2nd Edition, Wiley, 7657-2.
Practical Voice Over related protoc
Fall 2010, Peri
Introduction.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 1: Lecture notes o
For use in conjunction with :
Henry Sinnreich and Alan BCommunications Using SIP: Services with Session InitiatiAugust 2006, ISBN: 0-471-7
Module 1: 29 of 99Practical Voice Over IP (VoIP): SIP and related protocols
rse!
n SIP and related protocols, ich are used.
urse web page
Maguire Welcome to the [email protected] 2010.08.26
Welcome to the couThe course should be fun.
We will dig deeper into Voice over IP - with a focus oand will also examine some of the other protocols wh
Information about the course is available from the co http://www.ict.kth.se/courses/IK2554/
Module 1: 30 of 99Practical Voice Over IP (VoIP): SIP and related protocols
e Course
Maguire Staff Associated with the [email protected] 2010.08.26
Staff Associated with thInstructor (Kursansvarig)
prof. Gerald Q. Maguire Jr. <[email protected]>
Module 1: 31 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ethod
ms are, their basic
re.development in this area.
s Router1, Minisip2,
nd examine some places where it can explore).
g a written report and ject.
Maguire Goals, Scope and [email protected] 2010.08.26
Goals, Scope and MGoals of the Course
• To understand what Voice over IP (VoIP) systearchitectures, and the underlying protocols
• To be able to read and understand the literatu• To provide a basis for your own research and Scope and Method
• You are encouraged to examine: SIP Expres Open SIP Server (OpenSIPS)3, …4
• to understand both the details of the system(s) and• to abstract from these details some architectural features a
can be extended (thus using it as a platform on which you
• You will demonstrate your knowledge by writingiving an oral presentation describing your pro
1. The source code is available from http://www.iptel.org/ser/
2. The source code is avialable from http://www.minisip.org/
3. The source code is avialable from http://www.opensips.org/
4. See http://www.voip-info.org/wiki/view/Open+Source+VOIP+Software
Module 1: 32 of 99Practical Voice Over IP (VoIP): SIP and related protocols
es
, and SRTP): what they are, how
nications.
ong with other forms of mobility.
access for users with disabilities -text) and to know what the basic
cy services and to know what the
iffer, how they might scale, what
otocols and of the requirements
urity
Maguire Learning [email protected] 2010.08.26
Learning OutcomFollowing this course a student should be able to:• Understand the relevant protocols (particularily SIP, SDP, RTP
they can be used, and how they can be extended.
• Enable you to utilize SIP in Presence and event-based commu
• Understand how SIP can provide application-level mobility al
• Understand how SIP can be used to facilitate communications(for example using real-time text, text-to-speech, and speech-torequirements are to provide such services.
• Understand SIP can be used as part of Internet-based emergenbasic requirements are to provide such services.
• Contrast "peer-to-peer" voice over IP systems (i.e., how they dare the peers, ...)
• Know the relevant standards and specifications - both of the pr(for example, concerning legal intecept).
• Understand the key issues regarding quality-of-service and sec
Module 1: 33 of 99Practical Voice Over IP (VoIP): SIP and related protocols
uding presence, mobile presence,
this area.
rnals, magazines, and conferences in have good comprehension. In this journals, trade papers, etc. In , new products/services, and
riting.
ournals in the area.
roject in this area (for rtation (for graduate
Maguire Learning [email protected] 2010.08.26
• Evaluate existing voice over IP and other related services (incllocation-aware, context-aware, and other services)
• Design and evaluate new SIP based services
• Read the current literature at the level of conference papers in
♦ While you may not be able to understand all of the papers in jouthis area - you should be able to read 90% or more of them andarea it is especially important that develop a habit of reading theaddition, you should also be aware of standardization activitiespublic policy in the area.
• Demonstrate knowledge of this area both orally and in your w
♦ By writing a paper suitable for submission to conferences and j
This course should prepare you for starting a thesis pundergraduate students) or beginning a thesis or dissestudents).
Module 1: 34 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ations (this requires
Maguire [email protected] 2010.08.26
Prerequisites• Internetwork (IK1550) or• Equivalent knowledge in Computer Communic
permission of the instructor)
Module 1: 35 of 99Practical Voice Over IP (VoIP): SIP and related protocols
IP) systems are, their basic rimarily focus on the
s.
ject of ~50 (or more) hours.
Maguire [email protected] 2010.08.26
ContentsThe focus of the course is on what Voice over IP (Voarchitectures, and the underlying protocols. We will pSession Initiation Protocol (SIP) and related protocol
The course consists of ~10 hours of lectures and a pro
Module 1: 36 of 99Practical Voice Over IP (VoIP): SIP and related protocols
erver, Registrar Server,
Maguire [email protected] 2010.08.26
Topics• Session Initiation Protocol (SIP) • Real-time Transport Protocol (RTP) • Real-time Streaming Protocol (RTSP) • SIP User Agents • Location Server, Redirect Server, SIP Proxy S
... , Provisioning Server, Feature Server • Call Processing Language (CPL)• SIP SIMPLE
Module 1: 37 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ments
Maguire Examination [email protected] 2010.08.26
Examination require• Written and Oral project reports
Module 1: 38 of 99Practical Voice Over IP (VoIP): SIP and related protocols
rades) or excellent paper and
tion. (Note that at least
per, i.e., it should be a; and you have to give a
hows that you ver IP and that you t the level of an average to present the results of
al manner - and answer ternational conference in
Maguire Grades: A..F (ECTS grades)[email protected] 2010.08.26
Grades: A..F (ECTS g• To get an "A" you need to write an outstanding
give an outstanding or excellent oral presentaone of these needs to be excellent.)
• To get a "B" you need to write a very good paeither a very good review or present a new idevery good oral presentation.
• To get a "C" you need to write a paper which sunderstand the basic ideas underlying voice ounderstand one (or more) particular aspects amasters student. In addition, you must be ableyour paper in a clear, concise, and professionquestions (as would be expected at a typical inthis area.)
Module 1: 39 of 99Practical Voice Over IP (VoIP): SIP and related protocols
understand the basic depth of knowledge is depth questions on the
plete references) or you llowing your oral
able to answer basic grade will be an "F".
but not at the passing level, tering", i.e., students whose ion of their paper (or a ilarly students whose oral pportunity to give their oral ion, they must submit a new tion on this new topic.
Maguire Grades: A..F (ECTS grades)[email protected] 2010.08.26
• To get a "D" you need to demonstrate that youideas underlying voice over IP, however, your shallow and you are unable to orally answer intopic of your paper.
• If your paper has some errors (including incomare unable to answer any indepth questions fopresentation the grade will be an "E".
• If your paper has serious errors or you are unquestions following your oral presentation the
If your paper or oral presentation are close to passing,then you will be offered the opportunity for "kompletwritten paper does not pass can submit a revised verscompletely new paper) - which will be evaluated; simpresentation is unacceptable may be offered a second opresentation. If a student fails the second oral presentatpaper on a new topic in order to give an oral presenta
Module 1: 40 of 99Practical Voice Over IP (VoIP): SIP and related protocols
o show that you have ge you to find a topic which derstand the material)
med by yourself). Each oral reports.ctor before starting.
Maguire [email protected] 2010.08.26
ProjectGoals: to gain analytical or practical experience and tmastered some knowledge in this area and to encourainterests you (since this will motivate you to really un
• Can be done in a group of 1 to 3 students (forstudent must contribute to the final written and
• Discuss your ideas about topics with the instru
Module 1: 41 of 99Practical Voice Over IP (VoIP): SIP and related protocols
and Report23:59, to
5,000 words) for each student; it ers which are longer than 12
ith each paper suitable for
(the role of each member of the
; 2) who did what; if you have d describe the methods and tools ur analysis.
10 at 23:59 and oral
ber 2010 (from 08:00-18:00)1 at a
Maguire Assignment Registration and [email protected] 2010.08.26
Assignment Registration • Registration: Monday 20 September 2010 at
<[email protected]>, subject=IK2554 topic
• Group members, leader; Topic selected
• Written report: a technical paper• The length of the final report should be 10 pages (roughly
should not be longer than 12 pages for each student - pappages per student will be graded as "F".
• The report may be in the form of a collections of papers, wsubmission to a conference or journal
• Contribution by each member of the group - must be cleargroup must be explained in the overall introduction).
• The report should clearly describe: 1) what you have donedone some implementation and measurements you shoulused, along with the test or implementation results, and yo
Final Report: written report due Friday 15 October 20
presentations individually scheduled 21 and 22 Octolocation to be annouced.
1. Alternative dates can be scheduled with the instructor’s permission.
Module 1: 42 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ript file to <[email protected]>
ded before the end of the
the deadlines!
Maguire Assignment Registration and [email protected] 2010.08.26
• Send email with URL link for a PDF or PostSc• Late assignments will not be accepted
(i.e., there is no guarantee that they will be graterm)
Note that it is OK to start working well in advance of
Module 1: 43 of 99Practical Voice Over IP (VoIP): SIP and related protocols
t Communications Using with Session Initiation N: 0-471-77657-2
cessary. A list of interesting in the references and further
Maguire [email protected] 2010.08.26
LiteratureThe course will mainly be based on the book[3]:
• Henry Sinnreich and Alan B. Johnston, InterneSIP: Delivering VoIP and Multimedia ServicesProtocol, 2nd Edition, Wiley, August 2006, ISB
We will refer to other books, articles, and RFCs as neliterature will be available on the course web page and reading section of each lecture module.
our sources! Module 1: 44 of 99Practical Voice Over IP (VoIP): SIP and related protocols
cs and properly s!unction with your projects. rces in your report - keep in
e clearly indicated as a
copyrights, so it you are er source, you need to
ner’s permission to use it.
Maguire Observe proper academic ethics and properly cite [email protected] 2010.08.26
Observe proper academic ethicite your source
You will be searching & reading the literature in conjPlease make sure that you properly reference your soumind the KTH Ethics policies.
In particular:
• If you use someone else’s words - they must bquotation (with a proper citation).
• Note also that individual figures have their owngoing to use a figure/picture/… from some othboth cite this source & have the copyright ow
Module 1: 45 of 99Practical Voice Over IP (VoIP): SIP and related protocols
nsibilitiesiarism, etc. - for details see
bout plagiarism at
Maguire Ethics, Rights, and [email protected] 2010.08.26
Ethics, Rights, and RespoThere is a policy of zero tolerance for cheating, plaghttp://www.kth.se/dokument/student/student_rights.pdf
See also the KTH Ethics Policies at: http://www.kth.se/info/kth-handboken/I/7/1.html
Before starting to work on your paper read the page ahttp://www.kth.se/student/studentratt/plagiering-1.38496?l=en_UK
Module 1: 46 of 99Practical Voice Over IP (VoIP): SIP and related protocols
Maguire Lecture [email protected] 2010.08.26
Lecture Plan• Introduction
• Course arrangement• Set the context of VoIP, both technically and economically
• VoIP details• Session Initiation Protocol (SIP)• Session Description Protocol (SDP)• DNS and ENUM
• Mobility• Service Creation• User preferences• Security, NATs, and Firewalls• SIP Telephony• Conferencing• Mixed Internet - PSTN services• AAA and QoS• More than just voice!
Module 1: 47 of 99Practical Voice Over IP (VoIP): SIP and related protocols
IP)s processing in the end
ork - where processing is
(Now) we think about a converged network which is a global network
t
terminal
Maguire Voice over IP (VoIP)[email protected] 2010.08.26
Voice over IP (VoVoIP is an end-to-end architecture[20] which exploitpoints.
Unlike the traditional Public Switch Telephony Netwdone inside the network.
Network Convergence: In the past, many different networks - each optimized for a specific use: POTS, data networks (such as X.25), broadcast radio and television, … and each of these in turn often had specific national, regional, or proprietary implementations)
⇒
CODEC
IP stack
radio
CODEC
IP stack
etherne
Cellular IP terminal Fixed IP
VoIP server
call/session routing transcoding
IP cloud
IP end-to-end
Module 1: 48 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ks
nderlying network, i.e.,
ing
MH
Ad hoc
AN
UPSTN
Maguire Potential [email protected] 2010.08.26
Potential Networ
We will focus on VoIP, largely independently of the uLAN, Cellular, WLAN, PAN, ad hoc, … .
Figure 1: Internet and PSTN
WANswitch
switch switch
switchR
R
R
R
R
R
FDDI
Token RH
H
MSCHLR/VLR
BSCBTS
IWU
Cellular networks
WLAN
P
Ethernet LANs
AP
… …
…
…
IW
MH
MH
MH
MH
Module 1: 49 of 99Practical Voice Over IP (VoIP): SIP and related protocols
of multiple networksechnologies by providing and makes them
ed sampling rate, typically ice coding; however, VoIP
her or lower data rates width between the end
is quality which is:
still acceptable)
stems.
Maguire [email protected] 2010.08.26
InternetworkingInternetworking is
• based on the interconnection (concatenation)• accommodates multiple underlying hardware t
a way to interconnect heterogeneous networksinter-operate.
Public Switched Telephony System (PSTN) uses a fix8 kHz and encoded to 8 bits, this results in 64 kbps vois not limited to using this coding and could have higdepending on the CODEC(s) used, the available bandpoints, and the user’s preference(s).
One of the interesting possibilities which VoIP offers
• better that “toll grade” telephony or• worse than “toll grade” telephony (but perhaps
This is unlike the fixed quality of traditional phone sy
Module 1: 50 of 99Practical Voice Over IP (VoIP): SIP and related protocols
keth began with H.323 and has sers and a large variety of
easing numbers of vendors, t?
tions around 1997, but s that it took more than s, but the next 1 million
er Cisco losing momentum?”, tember 17, 2003, 4:00 AM PT
nth IP phone[10] and 10 ified communications sales IP phones and associated US$825M in 2008[16].
Maguire VoIP a major [email protected] 2010.08.26
VoIP a major marVoice over IP has developed as a major market - whicnow moved to SIP. There are increasing numbers of uVoIP hardware and software on the market. With incrthe competition is heating up - is it a maturing marke
“Cisco began selling its VoIP gear to corporauntil the past year, sales were slow. Cisco notethree years to sell its first 1 million VoIP phonetook only 12 months.”
Ben Charny , “Is VoIP pioneCNET News.com, Sep
As of July 30, 2005, Cisco had shipped their 6 millioMillion by November 2006[17]. As of 2007, their unhad increased US$350M (since 2005) due to sales of software (page 34 of [15]) with a further increase by
Module 1: 51 of 99Practical Voice Over IP (VoIP): SIP and related protocols
® Data Phone m/
rverndset and their server, but I this mis-feature.
search engine!
N) with wide area cellular
Maguire [email protected] 2010.08.26
HandsetsThere are now lots of USB attached VoIP handsets
WLAN Handsets
• starting with Symbol Technologies’s NetVision• Vocera Communications Badge http://www.vocera.co
• runs speech recognition software in a network attached se• unfortunately it uses a proprietary protocol between the ha
expect others will make similar devices which will not have
• for more type “SIP handsets” into your favorite
VoIP cellular handsets combining IEEE 802.11 (WLAconnectivity.
Module 1: 52 of 99Practical Voice Over IP (VoIP): SIP and related protocols
e-On-A-Chip - target is e developed two ICs:
, IrDA, SPI, 16 programmable I/O , …lumn inputs/outputs to control up …
or core running at 80 MIPS compression/decompression
og-to-digital converters (A/D), t and output)
ble high quality neon, TI, Fujitsu, Conexant
Maguire VoIP [email protected] 2010.08.26
VoIP ChipsetsLSI Corporation (former Agere Systems) VoIP Phonbusiness telephone handsets and speakerphones. Th
• T8302 IPT_ARM (Advanced RISC Machine)• Up to 57.6 MHz general-purpose processor• controls the system I/O: two 10/100Base-T Ethernets, USB
pins (some could be used to interface to an LCD module)• general telephone control features: 7 row outputs and 8 co
to 56 LEDs and scan up to 56 keys, 6 different flash rates,
• T8301 IPT_DSP (digital signal processor)• Based on Agere Systems DSP1627 digital signal process• single-cycle multiply accumulate instruction supports voice
and echo cancellation algorithms• Includes two 16-bit digital-to-analog (D/A), one 16-bit anal
low-pass filters, audio amplifier, lots of buffers (for for inpu
A special feature is acoustic echo cancellation to enaspeakerphone. See also [4]. Note also chips from: InfiSystems, DSP Group, … .
Module 1: 53 of 99Practical Voice Over IP (VoIP): SIP and related protocols
perators
on.com/
ch technology
Maguire Deregulation ⇒ New [email protected] 2010.08.26
Deregulation ⇒ New oLots of new actors appeared as operators:
• Verizon/MCI (formerly Worldcom) -http://www.veriz• Qwest - http://www.qwest.com/ • Level3 http://www.level3.com/
• (3)Voice, an IP based long distance service using Softswit
• Vonage - http://www.vonage.com • 2.5 million subscriber lines as of June 30, 2009 [19]
• TringMe - http://tringme.com/ • Web based VoIP (using Adobe’s Flash)• VoicePHP ( http://voicephp.com/ )
• …
Module 1: 54 of 99Practical Voice Over IP (VoIP): SIP and related protocols
uppliers
m vendors.
dors.
erators) were reorganizing, he Telecom meltdown!
sip/
Maguire Deregulation ⇒ New [email protected] 2010.08.26
Deregulation ⇒ New SLots of new actors as equipment suppliers:
• Cisco , 3Com, Nortel Networks, …
Traditional telecom equipment vendors buying dataco
Lots of mergers and acquisitions among datacom ven
As of Fall 2002, many of these vendors (similar to opselling off divisions, reducing staffing, … -- due to tHowever, some have survived (or been reborn).
For a list of SIP products see: http://www.pulver.com/products/
Module 1: 55 of 99Practical Voice Over IP (VoIP): SIP and related protocols
t!lecom troubles is that
as subsumed (and will embodied in other
ausing the immediate ircuit-based telephony
atson, Robert J. Berger, et al., tp://pulver.com/press/powell.html
recommends that the FCC:ts. The policy should be one of
t, while not yet extinct, is artificially prolong its use.
to thwart municipal, on’t fit the telephone company
d aggressively expand unlicensed
Maguire Let them fail [email protected] 2010.08.26
Let them fail fas“We hold that the primary cause of current teInternet-based end-to-end data networking hsubsume) the value that was formerly communications networks. This, in turn, is cobsolescence of the vertically integrated, cindustry of 127 years vintage.”
Izumi Aizu, Jay BLetter to FCC Chairman Michael Powell, October 21, 2002 ht
The extent of this transformation is well described in their complete letter which• ‘‘Resist at all costs the telephone industry’s calls for bailou
"fast failure."• Acknowledge that non-Internet communications equipmen
economically obsolete and forbear from actions that would• Discourage attempts by incumbent telephone companies
publicly-owned and other communications initiatives that dbusiness model.
• Accelerate FCC exploration of innovative spectrum use anspectrum allocation.’’
Module 1: 56 of 99Practical Voice Over IP (VoIP): SIP and related protocols
(adapted from a drawing by Ciscoa)
avg (ms) max (ms) hops
0.437 0.506 313.251 13.308 8
117.391 118.248 19201.517 201.768 21339.790 339.854 22
0 900 ms
lephony
Maguire [email protected] 2010.08.26
Latency
For example:
Figure 2: Usability of a voice circuit as a function of end-to-end delaya. This was at http://www.packeteer.com/solutions/voip/sld006.htm
Round-trip times from 130.237.15.xxx (as of 2009.08.14) for 10 pings (with DNS to IP cached)
min (ms)
Local LANs (www.wireless.kth.se) 0.389to northern Sweden (cdt-lisa.cdt.luth.se) 13.190To my machine in eastern US (via an ADSL link) 116.904To US west coast (www.stanford.edu) 201.257To Australia (www.uow.edu.au) {via the US west coast} 339.729
Usability
1
0100 200 300 400 500 600 700 80
Toll quality Satellite CB Radio
FAX relay/broadcast
Internet te(past)(now!)
Module 1: 57 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ation
an operator
al/national network to the same
Maguire VoIP Modes of [email protected] 2010.08.26
VoIP Modes of Oper• PC to PC• PC-to-Telephone calls• Telephone-to-PC calls• Telephone-to-Telephone calls via the Internet• Premises to Premises
• use IP to tunnel from one PBX/Exchange to another• see Time Warner’s “Telecom One Solution”
• Premises to Network• use IP to tunnel from one PBX/Exchange to a gateway of
• Network to Network• from one operator to another or from one operator’s region
operator in another region or nation
Module 1: 58 of 99Practical Voice Over IP (VoIP): SIP and related protocols
astructure
AP Mobile
In-building WLAN system
Handset
Maguire IP based data+voice [email protected] 2010.08.26
IP based data+voice infr
exchange
Workstation
E-1 to PSTN AP
GatewayWorkstation
Router
Internet
Gateway
Voice
Handset
Handset
Public cells
Home
Office
FW/Switch
IP Phone
Module 1: 59 of 99Practical Voice Over IP (VoIP): SIP and related protocols
tly (formerly?) used for rpose gateways such as that ateway that looked like part istributed PBX were
102, Linksys SPA3000 or SPA3102 (FXS
LAN
LANadaptor
Maguire Voice [email protected] 2010.08.26
Voice Gateway
Use access servers filled with digital modems (currenanalog modem pools) as voice gateways or special puof Li Wei [5]. (Li Wei created the first E1 to Ethernet gof a Ericsson PBX - hence all of the services of this davailable.)
Many Analog Telephony Adapters (ATAs) exist: Cisco ATA 186, Linksys SPA2+ FXO port for gatewaying to/from PSTN), … .
CPU
Modem chip
2B+D or 30B+D or …
digital pathISDN interface
A/D converterD/A converter
Digitized voice or data
Module 1: 60 of 99Practical Voice Over IP (VoIP): SIP and related protocols
Gateway
way based upon a Tiger560B chip, C5621A LITELINK III Phone Line (DAA).
ne Line
EC
DAA
Powerse
AnalogVoice
AnalogTelephony
Maguire Home Telephony Voice [email protected] 2010.08.26
Home Telephony Voice
Figure 3: www.BitCall.com USB-PPG V1.1 - a personal phone gateWinbond 681511 Single-channel Voiceband CODEC, and a Clare CP
Interface IC - Data Access Arrangement
USB Pho
Tiger560B
COD
In U
Digital
Module 1: 61 of 99Practical Voice Over IP (VoIP): SIP and related protocols
tewayservices, but can also enable ted messaging, least-cost
apsulate it into packets, and send it as uffered, and then sent out as
nd the E.164 telephone numbering
g/decoding or G.729
Maguire Voice over IP (VoIP) [email protected] 2010.08.26
Voice over IP (VoIP) GaGateways not only provide basic telephony and fax slots of value-added services, e.g., call-centers, integrarouting, … .
Such gateways provide three basic functions:• Interface between the PSTN network and the Internet
Terminate incoming synchronous voice calls, compress the voice, encIP packets. Incoming IP voice packets are unpacked, decompressed, bsynchronous voice to the PSTN connection.
• Global directory mappingTranslate between the names and IP addresses of the Internet world ascheme of the PSTN network.
• Authentication and billingVoice representation
Commonly: ITU G.723.1 algorithm for voice encodin(CS-ACELP voice compression).
Module 1: 62 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ional signaling will be used
ly happens at the beginning hat can be enabled via SIP
ntire FAX before
agement Information Base)
yropped calls, lost/resent
Maguire Voice over IP (VoIP) [email protected] 2010.08.26
Signaling
Based on the H.323 or SIP (on the LAN) and conventon telephone networks.
NB: In conventional telephony networks signalling onand end of a call. See Theo Kanter’s dissertation for wso that you can react to other events.Fax Support
Both store-and-forward and real-time fax modes.
• In store-and-forward the system records the etransmission.
Management
Full SNMP management capabilities via MIBs (Man
• provided to control all functions of the Gatewa• Extensive statistical data will be collected on d
packets, and network delays.
Module 1: 63 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ality VoIP for Flash
simpler than H.323
Maguire Voice over IP (VoIP) [email protected] 2010.08.26
Compatibility
De jure standards: • ITU G 723.1/G.729 and H.323• VoIP Forum IA 1.0
De facto standards:• Netscape’s Cooltalk• Microsoft’s NetMeeting (formerly H.323, now SIP)• Adobe Pacifica ( http://pac.ifica.net/ ) - SIP based high qu
Session Initiation Protocol (SIP) [RFC 2543] is much
Module 1: 64 of 99Practical Voice Over IP (VoIP): SIP and related protocols
r IPe.g., telephone calls and co routers to support VoIP.)
g packetized audio and
sentes ancient history, but illustrates the many issues
Maguire Cisco’s Voice Over [email protected] 2010.08.26
Cisco’s Voice OveCisco 3600 series routers1 to carry live voice traffic (faxes) over an IP network. (This was the first of the Cis
They state that this could be used for:
• Toll bypass• Remote PBX presence over WANs• Unified voice/data trunking• POTS-Internet telephony gateways
Uses Real-Time Transport Protocol (RTP) for carryinvideo traffic over an IP network.
1. The Cisco 3600 series was introduced in 1996 and their end of life was 31 December 2003. So this reprethat have to be addressed by a gateway in order to support existing users and devices.
Module 1: 65 of 99Practical Voice Over IP (VoIP): SIP and related protocols
need to send traffic if there is because it enables even
ear absolute silence, so to hen there is nothing useful generate background noise
Maguire Cisco’s Voice Over [email protected] 2010.08.26
Cisco 3600 supports a selection of CODECs:
• G.711 A-Law 64,000 bits per second (bps)• G.711 u-Law 64,000 bps• G.729 8000 bps
Cisco 3800 supports even more CODECs:• ITU G.726 standard, 32k rate• ITU G.726 standard, 24k rate • ITU G.726 standard, 16k rate• ITU G.728 standard, 16k rate (default) • ITU G.729 standard, 8k rate
By using Voice Activity Detection (VAD) - you onlyis something to send {Note: telecom operators like thhigher levels of statistical multiplexing}.
An interesting aspect is that users worry when they hhelp make them comfortable it is useful to play noise wto output. Cisco provide a “comfort-noise command toto fill silent gaps during calls if VAD is activated”.
Module 1: 66 of 99Practical Voice Over IP (VoIP): SIP and related protocols
way with software such as
either current voice rate or
113t_1/voip/config.htm
Maguire Cisco’s Voice Over [email protected] 2010.08.26
Cisco 3600 series router can be used as the voice gateMicrosoft NetMeeting.
Cisco 3800 also supports “fax-relay” - at various rates2,400/4,800/7,200/9,600/14,400 bps fax rates.
For futher information see http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/113t/
Module 1: 67 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ystem rt of Motorola, Inc.) and Symbol Technologies’
provide a complete wireless Over-IP technology.
structure and a voice em conforms to H.323.
rea network telephone
algorithm with load
, full-duplex phone calls.
bSwitch2000.
Maguire Intranet Telephone [email protected] 2010.08.26
Intranet Telephone SOn January 19, 1998, Symbol Technologies (now paCisco Systems announced that they had combined theNetVision™ wireless LAN handset and Cisco 3600 tolocal area network telephone system based on Voice-
The handset uses a wireless LAN (IEEE 802.11) infragateway via Cisco 3600 voice/ fax modules. The syst
"I believe that this is the first wireless local abased on this technology" -- Jeff Pulver
Seamless roaming via Symbol’s pre-emptive roamingbalancing.
Claims each cell can accommodate ~25 simultaneous
Ericsson partnered with Symbol, using Ericsson’s We
Module 1: 68 of 99Practical Voice Over IP (VoIP): SIP and related protocols
sed data solutions through the will primarily enhance Telia t will lead to the introduction of data connections are currently introduced.
ources it needs to maintain its of radio-based LAN solutions. m-sized companies as well as by .
cts that do not require frequency lace cabled data networks in,
phasis added by Maguire]
Maguire Wireless [email protected] 2010.08.26
Wireless LANs“The wireless workplace will soon be upon us1
Telia has strengthened its position within the area of radio-baacquisition of Global Cast Internetworking. The companyMobile’s offering in wireless LANs and develop solutions thathe wireless office. A number of different alternatives to fixed under development and, later wireless IP telephony will also be
…
The acquisition means that Telia Mobile has secured the rescontinued expansion and product development within the fieldRadio LANs are particularly suitable for use by small and mediuoperators of public buildings such as airports and railway stations
Today’s radio-LAN technology is based on inexpensive producertification. They are easy to install and are often used to repfor example, large buildings.
…” [em
1. Telia press annoucement: 1999-01-25
Module 1: 69 of 99Practical Voice Over IP (VoIP): SIP and related protocols
Alephone access via ology.
tors: British Telecom, Netcom, and others.
Maguire Femto cell and [email protected] 2010.08.26
Femto cell and UMUnlicensed Mobile Access (UMA) providing local teWii-Fi/Bluetooth/other unlicensed wireless link techn
Being embraced by a number of major telecom operaTeliaSonera, Orange/France Telecom, T-Mobile US,
See http://www.umatoday.com/
Module 1: 70 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ephonym the US is via VoIP, based STN [11] (the article cites /Primetrica Inc.) For further
unlimited North American
eir exchanges with IP elia ersätter all AXE med , page 4..
Maguire VoIP vs. traditional [email protected] 2010.08.26
VoIP vs. traditional telAs of 2003 approx. 14% of International traffic to/froon 24 billions minutes vs. 170.7 billion minutes via Pthe source of data as TeleGeography Research Groupstatistics see: http://www.telegeography.com/products/tg/index.php
As of March 2007, commercial VoIP calling plans fortraffic cost ~US$24.99/month.
There is a move for traditional operators to replace thtelephony, see Niels Herbert and Göte Andersson, “TIP-telefoni”, Elektronik Tidningen, #3, 4 March 2005
For information about the development of the AXE switches see [12]
Module 1: 71 of 99Practical Voice Over IP (VoIP): SIP and related protocols
art Stuck and Michael me 28, Number 8,August
ephony, and what is hype?
at in 1998, access arbitrage is ticipate that switched-access isappears and/or access rates
data via packetized networks costs. As a result, VOIP will d voice. Indeed, as voice/data
voice becoming economically
eans that ISPs do not pay P just receives calls from
Maguire [email protected] 2010.08.26
Economics“Can Carriers Make Money On IP Telephony?” by BWeingarten, Business Communication Review, Volu1998, pp. 39-44.
"What is the reality in the battle over packet-versus-circuit tel
Looking at the potential savings by cost element, it is clear ththe major economic driver behind VOIP. By 2003, we anarbitrage will diminish in importance, as the ESP exemption ddrop to true underlying cost.
However, we believe that the convergence between voice andwill offset the disappearance of a gap in switched accesscontinue to enjoy a substantial advantage over circuit-switcheconvergence occurs, we see standalone circuit-switched nonviable."
Note: Enhanced Service Provider (ESP) exemption maccess charges to local phone companies {since the ISusers}
Module 1: 72 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ephonycarriers worry?”1 nicely
re ⇒ Content-neutral he large margins which
d landline): $1.70/MB”
can offer phone services traffic
s2
can create a service
tional telephony services.
rse "Internet Multimedia", University of Oulu, 3-6
Maguire VoIP vs. traditional [email protected] 2010.08.26
VoIP vs. traditional telHenning Schulzrinne in a slide entitled “Why should states the threats to traditional operators:
• Evolution from application-specific infrastructubandwidth delivery mechanism - takes away tthe operators are used to (and want!):
– “GPRS: $4-10/MB, SMS: >$62.50/MB, voice (mobile an
• Only operators can offer services ⇒ Anybody• SIP only needs to handle signaling, not media
• High barriers to entry ⇒ No regulatory hurdle
In addition to this we can add:
• Only vendors can create services ⇒ anybody
NB. These new services can be far broader than tradi
1. Henning Schulzrinne, “When will the telephone network disappear?”, as part of Intensive Graduate CouJune 2002.
2. see “Regulations in Sweden” on page 88
Module 1: 73 of 99Practical Voice Over IP (VoIP): SIP and related protocols
st this patent:
formation among a plurality of rotocol contemplate first and s are coupled to both the first path and writes another signal hich electrically precedes the nsmitted in a regular, cyclic cycle code for enabling each ket to transmit, it can read the a logical interpretation may be
nd data transmission
Maguire [email protected] 2010.08.26
PatentsMixing voice and data in the LAN goes back to at lea
ABSTRACT: In order to control the transfer of packets of instations, the instant communications system, station and psecond oppositely directed signal paths. At least two stationand the second signal paths. A station reads one signal from aon the path. The one signal is read by an arrangement warrangement for writing the other signal. Packets are trasequence. A head station on a forward path writes a start station to transmit one or more packets. If a station has a pacbus field of a packet on the forward path. Responsive thereto,
US 4581735 : Local area network packet protocol for combined voice a
INVENTORS: Lois E. Flamm and John O. Limb
ASSIGNEES: AT&T Bell Laboratories, Murray Hill, NJ
ISSUED: Apr. 8 , 1986
FILED: May 31, 1983
Module 1: 74 of 99Practical Voice Over IP (VoIP): SIP and related protocols
he path is not busy, the packet including the busy field. If the detected as not busy. In order may write different start cycle ns to transmit voice packets; a ets, etc. for the different types gular, e.g., periodic, fashion to urther, the last station on the verse path for communicating control information, the head
to, for example, transmit more e slots, which are allocated to
Maguire [email protected] 2010.08.26
made as to whether the forward path is busy or is not busy. If tmay be written on the path by overwriting any signal thereonpath is busy, the station may defer the writing until the path isto accommodate different types of traffic, the head station codes. For example, a start-of-voice code may enable statiostart-of-data code may enable stations to transmit data packof traffic. Further, the start cycle codes may be written in a remitigate deleterious effects, such as speech clipping. Still fforward path may write end cycle codes in packets on a recontrol information to the head station. Responsive to the station may modify the cycle to permit the respective stationsthan one packet per cycle or to vary the number of packet timeach of the different types of traffic.
Module 1: 75 of 99Practical Voice Over IP (VoIP): SIP and related protocols
nds << 1/10 circuit switched
atacom interfaces
& data communications vendors
idging, Text-to-speech conversion
rks BEyond the thiRd Generation
oject report:
Maguire Deregulation ⇒ [email protected] 2010.08.26
Deregulation ⇒ Tre• replacing multiplexors with Routers/Switches/…
costs• Standard telco interfaces being replaced by d• New Alliances:
• telecom operators & vendors working with traditional data
• future developments building on VoIP♦ Fax broadcast, Improved quality of service, Multipoint audio br
and Speech-to-Text conversion, Voice response systems, …
♦ Replacing the wireless voice network’s infrastructure with IP: U. C. Berkeley’s ICEBERG: Internet-based core for CEllular netwo
See the Univ. of California at Berkeley ICEBERG prhttp://iceberg.cs.berkeley.edu/release/
⇒Telecom (only) operators have no future ⇒Telecom (only) companies have no future
Module 1: 76 of 99Practical Voice Over IP (VoIP): SIP and related protocols
oIPing voice-over-frame relay service in 40 ending voice traffic over its frame relay
Huntley, executive VP of marketing for c over data networks. Most of the major
US$3-4/month US$50-60/month for unlimited s not include equipment at tion} The Service Level 5ms round trip latency, and
e US for US$34.95/monthe future will be about the here these two worlds meet is
onth for 8 simultaneous
/98.
Maguire Carriers offering [email protected] 2010.08.26
Carriers offering V“Equant, a network services provider, will announce tomorrow that it is introduccountries, ... The company says customers can save 20% to 40% or more by snetwork. "This is the nearest you’re going to get to free voice," says LaurenceEquant Network Service. … Equant isn’t alone in its pursuit to send voice traffi
carriers are testing services that would send voice over data networks. ... .”1
• October 2002:• Verizon offering managed IP telephony via IPT Watch for • WorldCom offering SIP based VoIP for DSL customers for
local, domestic long distance, and data support {price doeUS$200-300 per phone and DSL/Frame relay/ATM connecAgreement (SLA) specifies >99.9% network availability, <5>99.5% packet delivery.
• December 2004:• Verizon offering VoiceWing - with unlimited calling within th• “As we see the industry fundamentals continue to shift, th
convergence of computing and telecommunications. And wwhere MCI will be.” -- Michael D. Capellas, MCI CEO 2
• August 2009: Verizon, TeliaSonera (529 SEK/mcalls), ... offering SIP trunks
1. Mary E. Thyfault, Equant To Roll Out Voice-Over-Frame Relay Service, InformationWeek Daily, 10/21
2. Formerly available from: http://global.mci.com/about/publicpolicy/voip/
Module 1: 77 of 99Practical Voice Over IP (VoIP): SIP and related protocols
n
!)
erson/year)
N to the WAN browser to control and manage
ing customer’s risk and capital
E)
Maguire MCI [email protected] 2010.08.26
MCI1 ConnectioPreviously
• 3 or more separate networks (often each had its own staff• Duration/geography-based pricing• Expensive moves, adds, and changes (typically 1+ move/p• Standalone applications - generally expensive• Closed PBX architecture
After convergence• via gateway to the PSTN, service expands beyond the LA• centralized intelligence is offered; customers utilize a Web
their network• MCI incurs the costs of buying major equipment, thus limit
investment• One source for all services• Easy mobility• Choice of vendors for Customer Premises Equipment (CP
1. Formerly WorldCom, now part of Verizon
Module 1: 78 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ns Inc.ng service across the United over Internet protocol
Offerings, Internetweek.com, January 13, 2004,
ticle.jhtml?articleID=17300739
and data services to their
ice signals from the PSTN signals when a call is routed
calls per month of managed
es of calls per month for
Maguire Level 3 Communications [email protected] 2010.08.26
Level 3 CommunicatioIntroduced (3)VoIP Toll Free service: “a toll-free calliStates, rounding out its local and long distance voice offerings.”
Antone Gonsalves, E-BUSINESS: Level 3 Rounds Out VoIP
http://www.internetweek.com/e-business/showAr
Level 3 sells services to carriers, who then offer VoIPcustomers.
Uses softswitch networking technology to convert voto IP packets and conversely converts packets to voice
to the public switched network. (>14 x 109 minutes of
modem service & dial-up service and 30 x 109 minutEnterprise IP trunking).
Module 1: 79 of 99Practical Voice Over IP (VoIP): SIP and related protocols
telefonintial broadband telephony B (www.hotsip.com) {Now part
includes: video calls,
onthly cost 80 kr1. price as if you called ork.area/city” code 075 (i.e.,
00-numbers)
s network with ≥128kbps, to having the phone number sed upon where you “live”.
Maguire TeliaSonera [email protected] 2010.08.26
TeliaSonera BredbandsFebruary 5th, 2004 TeliaSonera annouces their resideservice using server and client products from Hotsip Aof Oracle, Inc.}. In addition to telephony, the service presence, and instant messaging.[7]
• The startup cost (2004) was 250 kr and the m• Calls to the fixed PSTN network are the same
from a fixed telephone in their traditional netw• Customers get a telephone number from the “
+46 75-15xxxxxxx)• They do not support calls to “betalsamtal” (09
Today: broadband telephony from any internet acceswith a +46 y xxxxxxx number; no longer a limitation in a specific area/city code, but the default value is ba
1. Montly cost in August 2009 was from 59 SEK/month.
Module 1: 80 of 99Practical Voice Over IP (VoIP): SIP and related protocols
TN when it can really emulate
:
strings}
Maguire Emulating the [email protected] 2010.08.26
Emulating the PSMany people feel that VoIP will really only “take off”all the functions which users are used to in the PSTN
• Integration with the web via: Click-to-connect• “Dialing” an e-mail address or URL {digits vs. • Intelligent network (IN) services:
• Call forward, busy• Call forward, no ans.• Call forward, uncond.• Call hold• Call park• Call pick-up• Call waiting• Consultation hold• Do not disturb• Find-me• Incoming call screen/Outgoing call screen• Secondary number in/Secondary number out• Three-way conference• Unattended transfer
Module 1: 81 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ans providing functions til 31 August 2010”)ng Desktop call es, etc.asing use of Power over the wall outlet does not
c location of the station?}
Maguire Emulating the [email protected] 2010.08.26
• additional PBX features (which in Sweden mesuch as “I’m on vacation and will not return un
• Computer-Telephony Integration (CTI), includimanagement, integration with various databas
• PSTN availability and reliability (thus the increEthernet for ethernet attached IP phones - sohave to provide power for the phone to work)
• Roaming - both personal and device mobility• Phone number portability• E911 service {How do you handle geographi
Module 1: 82 of 99Practical Voice Over IP (VoIP): SIP and related protocols
aturesl
ld be the target of a call
Maguire Calling and Called [email protected] 2010.08.26
Calling and Called Fe• Calling feature - activated when placing a cal
• e.g., Call Blocking and Call Return
• Called feature - activated when this entity wou• Call Screening and Call Forward
aging Module 1: 83 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ce & Instant
traveling, …
ce, video, …
d Instant Communications).
Maguire Beyond the PSTN: Presence & Instant [email protected] 2010.08.26
Beyond the PSTN: PresenMessaging
• Presence, i.e., Who is available?• Location, i.e., Where are they?: office, home,• Call state: Are they busy (in a call) or not?• Willingness: Are they available or not?• Preferred medium: text message, e-mail, voi• Preferences (caller and callee preferences)
See Sinnreich and Johnston’s Chapter 11 (Presence an
Module 1: 84 of 99Practical Voice Over IP (VoIP): SIP and related protocols
rvices
onal time”
roup chat sessions, …f people are all available
ensions (SIMPLE)
Maguire Presence-Enabled [email protected] 2010.08.26
Presence-Enabled Se• Complex call screening
• Location-based: home vs. work• Caller-based: personal friend or business colleague• Time-based: during my “working hours” or during my “pers
• Join an existing call ⇒ Instant Conferencing, g• Creating a conference when a specific group o
and willing to be called• New services that have yet to be invented!• SIP Messaging and Presence Leveraging Ext
Working Group was formed in March 2001 http://www.ietf.org/html.charters/simple-charter.html
Module 1: 85 of 99Practical Voice Over IP (VoIP): SIP and related protocols
for VoIP
ndsets controlled by the es on any platform edia content in digital form
s
mplementation
.323
oftswitches
ession Initiation Protocol (SIP)
Maguire Three major alternatives for [email protected] 2010.08.26
Three major alternatives
SIP ⇒ a change from telephony’s “calls” between hanetwork to “sessions” which can be between processanywhere in the Internet and with both control and mand hence can be easily manipulated.
• thus a separate voice network is not necessary• open and distributed nature enables lots of innovation
– since both control and media can be manipulated and– “events” are no longer restricted to start and end of call
Concept I
Use signalling concepts from the traditional telephony industry H
Use control concepts from the traditional telephony industry S
Use an internet-centric protocol S
Module 1: 86 of 99Practical Voice Over IP (VoIP): SIP and related protocols
frequent (this takes time
anges ~30yrs; while t with a ~3 year
Maguire [email protected] 2010.08.26
NegativesAlthough VoIP equipment costs less than PBXs:
• the technology is new and thus upgrades are and effort)
• PBXs generally last ~10 years and public exchVoIP equipment is mostly computer equipmenammortization
Module 1: 87 of 99Practical Voice Over IP (VoIP): SIP and related protocols
gulationstory framework that has mers,” Sununu, Republican viders should be free from lations, free to develop new onsumers.”
eadies, "Hands-Off VoIP" Bill, tweek.com, January 12, 2004
ticle.jhtml?articleID=17300570
Maguire Deregulation ⇒ New [email protected] 2010.08.26
Deregulation ⇒ New Re“I am preparing legislation to preserve the free regulaallowed VoIP applications to reach mainstream consufrom New Hampshire, said in a statement. “VoIP prostate regulation, free from the complexity of FCC regusolutions to address social needs, and free to amaze c
E-BUSINESS: New Hampshire Senator RInterne
http://www.internetweek.com/e-business/showAr
Module 1: 88 of 99Practical Voice Over IP (VoIP): SIP and related protocols
deny issues, M.Sc. Thesis, June
Maguire Regulations in [email protected] 2010.08.26
Regulations in SweMagnus Sjöstedt and Oskar Bergquist, VoIP regulator2003 [8]
Module 1: 89 of 99Practical Voice Over IP (VoIP): SIP and related protocols
one”ndoid, Microsoft Wndows
ment vendors
o ’Smart’ Cellphones”, Wall Street
ance Project
Maguire Programmable “phone”[email protected] 2010.08.26
Programmable “phProgramming environments: Symbian, Java, Linux, AMobile, …
Avoids lock-in driven by operators and telecom equip
Greatly increases numbers of developers
⇒ more (new) services
⇒ more security problems• see for example: David Nasaw, “Viruses Lurk as a Threat t
Journal, 18 March 2004, p. B4. [9]
• See Google’s Android - an Open Handset Alli(http://www.openhandsetalliance.com/)• http://code.google.com/android/
Module 1: 90 of 99Practical Voice Over IP (VoIP): SIP and related protocols
testing event is called t (SIPit) http://www.sipit.net/ 1. nd press, and no
fail to comply with the
ut risk of public embarrasment.
spects of wide ]. by some to be the most
, Sweden, September 2005, SIPit 26 was in Kista in
Maguire [email protected] 2010.08.26
ConferencesInteroperability testing:
• SIP development community’s interoperabilitySession Initiation Protocol Interoperability TesNote: The SIPit event is closed to the public ainformation is released about which products standard.• Why have it closed? So that the testing can be done wtho
• Interoperability is one of the most important adeployment using multiple vendors products[6
• Proper handing of server failover is consideredcritical interoperability issue at present[6].
1. The 12th SIPit event in Stockholm, Sweden occurred February 24-28, 2003. SIPIT 17 was in Stockholm17-21 May 2010!
Module 1: 91 of 99Practical Voice Over IP (VoIP): SIP and related protocols
msrous organizations have e further work is needed.
enial of Service, …
Maguire Not with out [email protected] 2010.08.26
Not with out probleIt is not necessary a smooth transition to VoIP. Numefaced problems [14] and there remain vast areas wher
Potential for Spam over Internet Telephony (SPIT), D
Module 1: 92 of 99Practical Voice Over IP (VoIP): SIP and related protocols
over IP[18]
gular telephony is the
because there’s plenty
because it still can’t
P is turning telephony into just ion - and a cheap one at that”, .42 #3, March 2005, pp. 52-57
Maguire Seven Myths About Voice over IP[18][email protected] 2010.08.26
Seven Myths About Voice“1. VoIP is free
2. The only difference between VoIP and reprice
3. Quality of service isn’t an issue nonadways,of bandwidth in the network
4. VoIP can’t replace regular telephony, guarantee quality of service
5. VoIP is just another data application
6. VoIP isn’t secure
7. A Phone is a Phone is a Phone”Steven Cherry, “Seven Myths About Voice over IP: VoI
another Internet applicatIEEE Spectrum, V
Module 1: 93 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ut-down
Termination of service
Maguire S adoption curve + [email protected] 2010.08.26
S adoption curve + sh
Early adoptors
Wide-spread adoption
nu
mb
er o
f u
sers
Time
Module 1: 94 of 99Practical Voice Over IP (VoIP): SIP and related protocols
Reading
ractical VoIP: Using
ommunications Using SIP: ession Initiation Protocol,
ommunications Using SIP: ession Initiation Protocol, 77657-2
Maguire References and Further [email protected] 2010.08.26
References and Further• SIP Forum http://www.sipforum.org • SIP Center http://www.sipcenter.com/ • VoIP-Info.org
[1] Luan Dang, Cullen Jennings, and David Kelly, PVOCAL, O’Reilly, 2002, ISBN 0-596-00078-2.
[2] Henry Sinnreich and Alan B. Johnston, Internet CDelivering VoIP and Multimedia Services with SWiley, 2001, ISBN: 0-471-41399-2.
[3] Henry Sinnreich and Alan B. Johnston, Internet CDelivering VoIP and Multimedia Services with S2nd Edition, Wiley, August 2006, ISBN: 0-471-
Module 1: 95 of 99Practical Voice Over IP (VoIP): SIP and related protocols
d Implementation Issues", a struments Company, July /our_products/golden_gateway/pdf/IP_Telephone.pdf
Networks for Speech matics, September 1994.
outs hit variety of snags”, 2004/0202sip.html
elease - 880445927,
latory issues, M.Sc. Thesis,
nd-Oskar_Bergquist-Report.pdf
rt’ Cellphones”, Wall Street
Maguire References and Further [email protected] 2010.08.26
[4] William E. Witowsky, "IP Telephone Design anwhite paper, Telogy Networks, Inc. A Texas In1998, Version 2.2, SPEY004. was at http://www.telogy.com
[5] Li Wei, “Gateway between Packet and SwitchedCommunication”, M.Sc. Thesis, KTH/Teleinfor
[6] Carolyn Duffy Marsan, “Convergence / SIP rollNetwork World, 02/02/04 http://www.nwfusion.com/news/
[7] Telia, “Telia lanserar bredbandstelefoni”, Pressr5 Feb. 2004 14:02:01 +0100.
[8] Magnus Sjöstedt and Oskar Bergquist, VoIP reguKTH, June 2003 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/030627-Magnus_Sjostedt-a
[9] David Nasaw, “Viruses Lurk as a Threat to ’SmaJournal, 18 March 2004, p. B4.
Module 1: 96 of 99Practical Voice Over IP (VoIP): SIP and related protocols
Annual Report 2005, ar2005/pdf/ar_2005_complete.pdf
rules”, Metro, New York,
rnment Development onic Telephone Switching Integration (ISE), Report of conomic Research (TSER) under the Fourth ontract no. by Professor Charles rogram (SIRP) at Linköping ment Technology 1997.
Maguire References and Further [email protected] 2010.08.26
[10] John T. Chambers, "to our shareholders", Ciscohttp://www.cisco.com/web/about/ac49/ac20/downloads/annualreport/
[11] “FCC boosts Web phones, frees them from state10 November, 2004, pg. 9
[12] Mats Fridlund, “Switching Relations: The GoveProcurement of a Swedish Computerized ElectrTechnology”, Innovation Systems and Europeanresearch project funded by the Targeted Socio-Eprogram of the European Commission (DG XII)Framework Program, European Commission (CSOE1-CT95-1004, DG XII SOLS), coordinatedEdquist of the Systems of Innovation Research PUniversity (Sweden). Sub-Project 3.2.2: GovernProcurement as a Policy Instrument, December,http://www.tema.liu.se/tema-t/sirp/PDF/322_6.pdf
Module 1: 97 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ate/aboutus_fastfacts.php, Last 2006.03.12
Week, November 14, 2005 123&articleId=173602687
CISCO_AR2007_COMPLETE.PDF
ar2008/pdf/cisco_ar2008_complete.pdf
es Operational Efficiencies ployed by EDS”, Press dlls/2006/prod_112006.html
IP: VoIP is turning - and a cheap one at that”, 2005, pp. 52-57
Maguire References and Further [email protected] 2010.08.26
[13] Vonage, “About Vonage”, http://www.vonage.com/corpormodified March 12, 2006 13:53:55, accessed on
[14] J. Nicholas Hoover, VoIP Gotchas, Informationhttp://www.internetweek.cmp.com/showArticle.jhtml?sssdmh=dm4.158
[15] Cisco Systems Inc. Annual Report 2007, HTTP://WWW.CISCO.COM/WEB/ABOUT/AC49/AC20/DOWNLOADS/ANNUALREPORT/AR2007/PDF/
[16] Cisco Systems Inc. Annual Report 2008, http://www.cisco.com/web/about/ac49/ac20/downloads/annualreport/
[17] Cisco Systems, Inc. “Bank of America Experiencwith Cisco Unified Communications System Derelease, November 20, 2006 http://newsroom.cisco.com/
[18] Steven Cherry, “Seven Myths About Voice overtelephony into just another Internet application IEEE Spectrum, Volume 42, Number 3, March
Module 1: 98 of 99Practical Voice Over IP (VoIP): SIP and related protocols
ugust 2009
s of the Internet”, IAB, , Updated by
tural Guidelines and FC 3439, December 2002, 439/
Maguire References and Further [email protected] 2010.08.26
[19] Vonage Holdings Corp., Company Fact Sheet, Ahttp://ir.vonage.com/factsheet.cfm
[20] B. Carpenter (Editor), “Architectural PrincipleNetwork Working Group, RFC 1958, June 1996RFC 3439 [21], http://datatracker.ietf.org/doc/rfc1958/
[21] R. Bush and D. Meyer, “Some Internet ArchitecPhilosophy”, IETF, Network Working Group, RUpdates RFC 1958, https://datatracker.ietf.org/doc/rfc3
Module 1: 99 of 99Practical Voice Over IP (VoIP): SIP and related protocols
tszations for their permission
co 7960 picture on 2002.10.30t the time), for the wonderful SIP
Maguire [email protected] 2010.08.26
AcknowledgemenI would like to thank the following people and organito use pictures, icons, …
• Ulf Strömgren <[email protected]> for sending the Cis• Henry Sinnreich and Alan Johnston, both of WorldCom (a
tutorial which Henry sent on 2002.10.30
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
VoIP detailsf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
VoIP-details.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 2: Lecture notes o
Module 2: 101 of 140Practical Voice Over IP (VoIP): SIP and related protocols
Datacom
cols and packet formatsal state are soft-state and dynamically built based on traffic
network
ent ⇒ integrity of communications is f the end node, not the network [20][21]
ded by anyoneided by any node attached to the network
ice of services
⇒ no one can easily turn it off
lass”, business, & consumer equip. availability >99.99% (50 min./year unavailability)
bility >99% (several days/year of unavailability)
extremely high availability because most of the independent
ery fast changegs at 18 or 9 months!
le of operators is operator)
Maguire Traditional Telecom vs. [email protected] 2010.08.26
Traditional Telecom vs. Circuit-switched Packet-switched
standardized interfaces standardized protolots of internal state (i.e., each switch & other network nodes)
very limited intern• caches and other state
• no session state in the
long setup times - since the route (with QoS) has to be set up from end-to-end before there is any further traffic
End-to-End Argumthe reponsibility o
services: built into the network ⇒ hard to add new services• operators decide what services users can have
• all elements of the net have to support the service before it can be introduced
• Application programming interfaces (APIs) are often vendor specific or even proprietary
Services can be ad• since they can be prov
• users control their cho
centralized control no central control
“carrier class” equipment and specifications• target: very high availability 99.999% (5 min./year of unavailability)
• all equipment, links, etc. must operate with very high availability
a mix of “carrier c• backbone target: high
• local networks: availa
• In aggregate - there isnetwork elements are
long tradition of slow changes• PBXs > ~10 years; public exchanges ~30yrs
short tradition of v• Moore’s Law doublin
clear operator role (well enshrined in public law) unclear what the ro(or even who is an
Module 2: 102 of 140Practical Voice Over IP (VoIP): SIP and related protocols
d Packets
e.
speech phenomena:(localization),
ski’s slide titled ‘What is a “short”
o
Maguire VoIP details: Protocols and [email protected] 2010.08.26
VoIP details: Protocols anCarry the speech frame inside an RTP packet
Typical packetization time of 10-20ms per audio fram
See http://www.ietf.org/html.charters/avt-charter.html
This should be compared to the durations relevant to • “10 μs: smallest difference detectable by auditory system • 3 ms: shortest phoneme (plosive burst),• 10 ms: glottal pulse period,• 100 ms: average phoneme duration,• 4 s: exhale period during speech.” (from Mark D. Skowron
window of time?’[39])
IPv4/6 UDP RTP CODEC inf20/40 octets
~33 octets
8 octets 12 octets
40/60 octets
Module 2: 103 of 140Practical Voice Over IP (VoIP): SIP and related protocols
lephony
xamine RTP and RTCP.
data applications
H.245
Control
T.120
TCP
Maguire RTP and H.323 for IP [email protected] 2010.08.26
RTP and H.323 for IP Te
We will not examine H.323 in much detail, but will e
audio/video applications signaling and control
video
code
audio codec
RTCP H.225
registration
H.225
Signaling
RTP
UDP
IP
H.323 framework of a group protocols for IP telephony (from ITU)
H.225 Signaling used to establish a call
H.245 Control and feedback during the call
T.120 Exchange of data associated with a call
RTP Real-time data transfer
RTCP Real-time Control Protocol
Module 2: 104 of 140Practical Voice Over IP (VoIP): SIP and related protocols
SP
streamingapplications
CODECs
RTSP
UDP
Maguire RTP, RTCP, and [email protected] 2010.08.26
RTP, RTCP, and RT
audio/video applications
signaling and control
video, audio, … CODECs RTCP
SDP
RTP SIP
UDP TCP
IP
Module 2: 105 of 140Practical Voice Over IP (VoIP): SIP and related protocols
ryith the same time
for order and a time stamp
ing datagrams every 20ms, of only silence. Thus the re than the usual 20ms, but ce number. Therefore we lence.
roduce the same signal as was input
Maguire Real-Time [email protected] 2010.08.26
Real-Time DeliveIn a real-time application ⇒ data must be delivered wrelationship as it was created (but with some delay)
Two aspects of real-time delivery (for protocols):
We keep these separate by using a sequence numberfor timing.
Consider an application which transmits audio by sendbut does silence detection and avoids sending packetsreceiver may see that the time stamp advances by mothe sequence number will be the expected next sequencan tell the difference between missing packets and si
Order data should be played in the same order as it was created
Time the receiver must know when to play the packets, in order to rep
Module 2: 106 of 140Practical Voice Over IP (VoIP): SIP and related protocols
m the source (sn), received t experiences a delay before
have started to play at p3), cket’s audio).
s5
r5r4
p5p4
sn
rn
…
…
pn…
Maguire Packet [email protected] 2010.08.26
Packet delayA stream of sampled audio packets are transmitted froat the destination (rn), and played (pn), thus each packeplayout (dn)
If a packet arrives too late (r3 arrives after we should
then there is a problem (for some or all of the third pa
Source
Play
Destination
δs1 s2
r1 r2
s3
r3
s4
p1 p2 p3
dn
Module 2: 107 of 140Practical Voice Over IP (VoIP): SIP and related protocols
jitterill come, but then the total e speech! (~180ms)
or playout delayA
playout delayB
Maguire Dealing with Delay [email protected] 2010.08.26
Dealing with Delay Unless packets are lost, if we wait long enough they wdelay may exceed the threshold required for interactiv
PacketSequenceNumber
Source
s1 s2 r1 r2
too late - f
playout delayA
Destination
1
2
3
4
Module 2: 108 of 140Practical Voice Over IP (VoIP): SIP and related protocols
e (jitter), includes:g, receiving,)+ dejittering, decoding,
y in the final receiver.
rder to hide the delay ck delay > delay variance
Maguire Delay and delay variance (jitter)[email protected] 2010.08.26
Delay and delay variancThe end-to-end delay (from mouth to ear - for audio)
encoding, packetization, (transmission, propagation, switching/routinplaying
To hide the jitter we generally use playout buffer onl
Note: This playout buffer adds additional delay in ovariations (this is called: delayed playback), playba
Module 2: 109 of 140Practical Voice Over IP (VoIP): SIP and related protocols
alitypeceived voice quality, see ormance Monitoring”[23].
aviors, thus for delays less this it become more strained
0
5
10
15
20
25
30
35
40
45
50
0 100 200 300 400 500 600
Series1
d in ms
Maguire Perceived voice [email protected] 2010.08.26
Perceived voice quThere are very nice studies of the effects of delay on R. G. Cole and J. H. Rosenbluth, “Voice over IP Perf
The delay impairment (Id) has roughly two linear behthan 177ms conversation is very natural, while above (eventually breaking down ⇒ simplex)
Id 0.024d 0.11 d 177.3–( )H d 177.3–( )+=
d one-way delay in ms=
H x( ) 0= if x 0<( ) else H x( ) 1= when x 0≥
Idin ms
Module 2: 110 of 140Practical Voice Over IP (VoIP): SIP and related protocols
s it varies during a
ed on observed average this computation is CPining the timestamps is being done at the
chance to catch-uphe receiver’s clock the queue
pling in PC’s CODECs is rarely ates2).
m speech activity factor of 27.6% [327].
r up sample) digitally in software, thus you can take o do clever things to time expand or compress the g from) your audio interface you can mix audio from ll). For examples of this see [24]
Maguire Playout [email protected] 2010.08.26
Playout delay• Playout delay should track the network delay a
session [29][30]• This delay is computed for each talk spurt bas
delay and deviation from this average delay --similar to estimates of RTT and deviation in T
• Beginning of a talk spurt is identified by examand/or sequence numbers (if silence detectionsource)
• The intervals between talk spurts1 give you a • without this, if the sender’s clock were slightly faster than t
would build without limit! This is important as the 8kHz samexactly 8kHz (similar problems happen at other sampling r
1. Average silence duration (~596 ms) combine with the average talk-spurt duration (227ms) ⇒ a long-ter
2. A common approach is to sample at a high frequency, such as 48 K samples/second, then down sample (oadvantage of the fact that you have multiple subsamples for in the incoming speech (or outgoing speech) taudio. Additionally by using a single high frequency for all of the audio that you are sending to (or receivindifferent sources (for example, plaing high quality music in the background while you listen to a G.711 ca
Module 2: 111 of 140Practical Voice Over IP (VoIP): SIP and related protocols
time, only of the end-to-end
Performance of Multimedia Delivery on ms Multimedia, Dept. of CS, Univ. of 78/jeffay/Lecture9.pdf [31]
networkdelay
jitter-bufferdelay+ +
latency
RTPMessage
Maguire When to [email protected] 2010.08.26
When to playThe actual playout time is not a function of the arrival delay which can be calculated as shown below:
Figure adapted from slide 11 on page 6 of Kevin Jeffay, “Lecture 9: Networkingthe Internet Today”, Lecture notes for COMP 249: Advanced Distributed SysteNorth Carolina at Chapel Hill, November 9, 1999. http://www.cs.odu.edu/~cs7
samplegeneration
time+
local clocksynchronization
correction
senderpackaging
delay
playout time =
+
end-to-end
NTP Clock
RTP Clock
Playout
RTCPMessage
Receive
Module 2: 112 of 140Practical Voice Over IP (VoIP): SIP and related protocols
d Recoverye time to request the source live without it or recover it ficient redundant data to
smission at the cost of a
samples to play:
st samples {as humans get ction is broken!} [25]will produce very noticable errors
e user will not notice! [26]
5].
Maguire Retransmission, Loss, and [email protected] 2010.08.26
Retransmission, Loss, anFor interactive real-time media we generally don’t havto retransmit a packet and to receive the new copy ⇒ using Forward Error Correction (FEC), i.e., send sufenable recovery.
However, for non-interactive media we can use retranlonger delay before starting playout
If you do have to generate output, but don’t have any
• audio• Comfort noise: play white nosie or play noise like in the la
uncomfortable with complete silence, they think the conne• if you are using highly encoded audio even a BER of 10-5
• video• show the same (complete) video frame again• you can drop every 100th frame (for a BER of 10-2), but th
There may also be compression applied to RTP see [4
Module 2: 113 of 140Practical Voice Over IP (VoIP): SIP and related protocols
snd still not be missing ontent.
odels have been developed,
Maguire Patterns of [email protected] 2010.08.26
Patterns of LosWith simple FEC you could lose every other packet acontent, but if pairs of packets are lost then you lose c
To understand temporal patterns of speech, various msee for example [42].
Module 2: 114 of 140Practical Voice Over IP (VoIP): SIP and related protocols
nt., hiding losses), such as
a Watson, and Mark net”, in Proceedings or
ouvelas, Successful net”, Communications of
cs.ucl.ac.uk/research/avats/)
Maguire Loss [email protected] 2010.08.26
Loss concealmeThere are various techniques for loss concealment (i.ethose used in the Robust Audio Tool (RAT):
• Vicky J. Hardman, Martina Angela Sasse, AnnHandley, “Reliable Audio for use over the InterINET95, Honolulu, Hawaii, Sept. 1995. [27] http://info.isoc.org/HMP/PAPER/070/html/paper.html
• Mark Handley, Martina Angela Sasse, and I. KMultiparty Audio Communication over the Interthe ACM, Vol. 41, No. 5, May 1998.[28]
• UCL’s Robust Audio Tool (RAT) page: http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/
See also [345] and [346].
For additional work see the AVATS project (http://www.
Module 2: 115 of 140Practical Voice Over IP (VoIP): SIP and related protocols
quality”ed sampling rate, typically e coding
could have higher or lower able bandwidth between the
is quality which is:
still acceptable)
stems.
TU-T’s Methods for ecommendation P.80 [41].
Maguire VoIP need not be “toll quality”[email protected] 2010.08.26
VoIP need not be “toll Public Switched Telephony System (PSTN) uses a fix8kHz and coding to 8 bits, this results in 64 kbps voic
However, VoIP is not limited to using this coding anddata rates depending on the CODEC(s) used, the availend points, and the user’s preference(s).
One of the interesting possibilities which VoIP offers
• better that “toll grade” telephony or• worse than “toll grade” telephony (but perhaps
This is unlike the fixed quality of traditional phone sy
To assess the quality of a call, see standards such as ISubjective Determination of Transmission Quality, R
Module 2: 116 of 140Practical Voice Over IP (VoIP): SIP and related protocols
t ProtocolC 3550 [33]udio and video.
n randomly)
ng silence detection) 1890 now defined in RFC 3551
ence number
Maguire RTP: Real-Time Transport [email protected] 2010.08.26
RTP: Real-Time Transpor• First defined by RFC 1889, now defined by RF• Designed to carry a variety of real-time data: a• Provides two key facilities:
• Sequence number for order of delivery (initial value chose• Timestamp (of first sample) - used for control of playback
Provides no mechanisms to ensure timely delivery.
• VER - version number (currently 2)• P - whether zero padding follows the payload• X - whether extension or not• M - marker for beginning of each frame (or talk spurt if doi• PTYPE - Type of payload - first defined as Profiles in RFC
We will address the other fields later.
0 1 2 3 4 8 9 16VER P X CC M PTYPE Sequ
TimestampSynchronization source identifier
Contributing source ID …
Module 2: 117 of 140Practical Voice Over IP (VoIP): SIP and related protocols
and 5 of RFC3551 [34])eo (V) clock
rate (Hz)
90,00090,000
90,000
90,00090,00090,000
A N/A (N/A = Not Applicable)
nt of mapping between a payload type defined by SDP or H.323/H.245 start with 96 - but can use lower numbers, odings are needed - see RFC3551 [34].
ew static assignments are to be made.
Maguire Payload [email protected] 2010.08.26
Payload typesPayload types (PT) for standard audio and video encodings (Adapted from Tables 4
PT encoding name
audio (A)
clock rate (Hz)
channels (audio)
PT encoding name vid
0 PCMU A 8,000 1 24 unassigned V1 reserved A 8,000 1 25 CelB V2 reserved A 8,000 1 26 JPEG V3 GSM A 8,000 1 27 unassigned V4 G723 A 8,000 1 28 nv V5 DVI4 A 8,000 1 29 unassigned V6 DVI4 A 16,000 1 30 unassigned V7 LPC A 8,000 1 31 H.261 V8 PCMA A 8,000 1 32 MPV V9 G722 A 8,000 1 33 MP2T AV
10 L16 A 44,100 2 34..71 unassigned11 L16 A 44,100 1 72..76 reserved N/12 QCELP A 8,000 1 77..95 unassigned13 CN A 8,000 1 96..127 dynamic14 MPA A 90,000 see RFC15 G728 A 8,000 1 Dynamic assignme
and an encoding ismechanisms; theseif more than 32 enc
RFC3551 says no n
16 DVI4 A 11,025 117 DVI4 A 22,050 118 G729 A 8,00019 reserved A
20..23 unassigned A
Module 2: 118 of 140Practical Voice Over IP (VoIP): SIP and related protocols
s
lbcfreeware.org/ [43]. There is ended Adaptive Multi-Rate ]
by RFC3551 [34])
le/frame bits/sample ms/framele 4le 8
N/A 30.0
N/AN/A 2.5N/A 10.0
N/A 20.0
le 8le 16
N/A 20.0N/A
le 8le 8
variable 20.0le variable
Maguire Audio [email protected] 2010.08.26
Audio Encoding
See also internet Low Bitrate Codec (iLBC) http://www.ialso a lot of work in wideband CODECs, such as ExtWideband (AMR-WB+) Audio Codec [46], [47], [48
Properties of Audio Encodings (adapted from Table 1 of RFC1990 and updated
encoding encoding sampDVI4 Interactive Multimedia Assoc.’s DVI ADPCM Wave Type sampG722 ITU’s G.722: 7 kHz audio-coding within 64 kbit/s sampG723 ITU’s G.723: Dual-rate speech coder for multimedia
communications transmitting at 5.3 and 6.3 kbit/sframe
G726 ITU’s G.726 frameG728 ITU’s G.728: 16 kbit/s using low-delay CELP frameG729 ITU’s G.729: 8 kbit/s using conjugate structure-algebraic code
excited linear prediction (CS-ACELP)frame
GSM GSM 06.10: RPE/LTP (residual pulse excitation/long term prediction) coding at a rate of 13 kb/s
frame
L8 8 bit linear sampL16 16 bit linear sampLPC Linear Predictive Coding frameMPA MPEG-I or MPEG-II audio encapsulated as elementary streams,
from ISO standards ISO/IEC 11172-3 & 13818-3frame
PCMA G.711 A-law sampPCMU G.711 mu−law sampQCLEP frameVDVI variable-rate version of DVI4 samp
Module 2: 119 of 140Practical Voice Over IP (VoIP): SIP and related protocols
of datas & signals
l channel dual tone
Maguire Other important types of [email protected] 2010.08.26
Other important typesDual Tone Multifrequency (DTMF) digits and telephony tone
To convey signaling information in the audio channemultifrequency signaling is often used.FAX
Another use of telephony connections is for FAX.
See RFC 4733[36] and RFC 4734[37].
Why is FAX still important?
Module 2: 120 of 140Practical Voice Over IP (VoIP): SIP and related protocols
the initial sequence number
ruder does not have tion)
ined by the payload type
Maguire [email protected] 2010.08.26
TimestampsThe initial timestamp is to be chosen randomly (just asis selected randomly):
• to avoid replays• to increase security (this assumes that the int
access to all the packets flowing to the destina
The timestamp granularity (i.e., the units) are determ{often based on the sampling rate}
Module 2: 121 of 140Practical Voice Over IP (VoIP): SIP and related protocols
mixing
urce Identifier.
its own unique e contributing sources are which is indicated in the
ream
as transcoding)
Maguire Stream translation and [email protected] 2010.08.26
Stream translation and
Each source has a unique 32 bit Synchronization So
When several sources are mixed the new stream gets Synchronization Source Identifier and the IDs of thincluded as Contributing Source IDs, the number of4-bit CC field of the header.
mixing combining several RTP streams to produce a single st
translation converting from one encoding to another (also know
Module 2: 122 of 140Practical Voice Over IP (VoIP): SIP and related protocols
(RTCP)
tes how much was added) packet1
ce - this enables the sources to be ve coding algorithm the source can he endpoint.
session
Length
nization source and a count of data octets
ormation for timing and round-trip
e
Maguire RTP Control Protocol (RTCP)[email protected] 2010.08.26
RTP Control Protocol
• VER - version number (currently 2)• P - whether padding follows the payload (last octet indica• RC - Report Count - specifies the number of reports in this• PTYPE - Type of payload
[upward] enables endpoints to provide meta-information to the souradaptive to the endpoints. For example, by using an adaptiaccommodate the actually data rate of packets arriving at t
[downward] enables sources to send the endpoints information about a
0 1 2 3 8 16VER P RC PTYPE
Data area …
1. RTCP uses compound packets with multiple RTCP messages in a single packet.
Name Type MeaningSender Report SR 200 Time information for each synchro
sentReceiver Report RR 201 Report of packet loss and jitter, inf
estimationSource Description SDES 202 Description of who owns the sourcGoodbye BYE 203 Receiver leaving the sessionApplication APP 204 Application-specific report
Module 2: 123 of 140Practical Voice Over IP (VoIP): SIP and related protocols
rtsrypted: it is prefixed by a acket transmitted.
always be a report packet by upto 30 more report
cket containing a CNAME ONE, LOC {geographic n to SDES} are optional).
C/CSRC.
Maguire Compound [email protected] 2010.08.26
Compound RepoIf and only if (IFF) the compound packet is to be encrandom 32-bit quantity selected for each compound p
The first RTCP packet in the compound packet must (either Receiver Report or Sender Report). Followed packets (as Report Count is only 5 bits).
This is followed by an Source Description (SDES) paitem (other information such as NAME, EMAIL, PHlocation},TOOL, NOTE, and PRIV {private extensio
BYE should be the last packet sent with a given SSR
Module 2: 124 of 140Practical Voice Over IP (VoIP): SIP and related protocols
Extensionsrts (RTCP XR)[44]
nitoring VoIP calls.
24
length=7
burst duration
gap density
d system delay
Gmin
MOS-CQ
JB Abs Max
Maguire Proposed RTCP Reporting [email protected] 2010.08.26
Proposed RTCP ReportingSee RFC 3611 RTP Control Protocol Extended Repo
VoIP Metrics Report Block - provides metrics for mo
0 8 16
BT=64 reserved
loss rate discard rate
burst density gap duration
round trip delay en
signal power doubletalk noise level
R factor ext. R factor MOS-LQ
RX Config JB Nominal JB Maximum
Module 2: 125 of 140Practical Voice Over IP (VoIP): SIP and related protocols
efined.s one, including the header; constant 6.
st since the beginning of reception, as a left edge of the fielda
at have been discarded since the val, under-run or overflow at the
condsals since the beginning of reception that inte gap intervals that have occurredgaps since the beginning of reception d pointn RTP interfaces, in millisecondsilliseconds of the signal level to overflow signal in two’s complement formls during which speech energy was
sund noise level to overflow signal
r in two’s complement form
Maguire Proposed RTCP Reporting [email protected] 2010.08.26
block type (BT) the constant 64 = 0x40reserved 8 bits - MUST be set to zero unless otherwise dlength length of this report block in 32-bit words minuloss rate fraction of RTP data packets from the source lo
fixed point number with the binary point at thediscard rate fraction of RTP data packets from the source th
beginning of reception, due to late or early arrireceiving jitter buffer, in binary fixed point
burst duration mean duration of the burstb intervals, in milliseburst density fraction of RTP data packets within burst interv
were either lost or discarded, in binary fixed pogap duration mean duration, expressed in milliseconds, of thgap density fraction of RTP data packets within inter-burst
that were either lost or discarded, in binary fixeround trip delay most recently calculated round trip time betweeend system delay most recently estimated end system delay, in msignal level voice signal relative level is defined as the ratio
level, expressed in decibels as a signed integer doubletalk level defined as the proportion of voice frame interva
present in both sending and receiving directionnoise level defined as the ratio of the silent period back gro
power, expressed in decibels as a signed intege
Module 2: 126 of 140Practical Voice Over IP (VoIP): SIP and related protocols
f the call that is carried over this RTP o 100, with a value of 94 corresponding ed as unusable; consistent with ITU-T
f the call that is carried over an external rkity (MOS-LQ) is a voice quality metric cellent and 1 represents unacceptableal quality (MOS-CQ) defined as that would affect conversational qualityck to determine if a gap existsenhanced(10)/disabled (01)/
daptive (11) / non-adaptive (10) / aptive then its size is being dynamically Rate - Jitter Buffer Rate (0-15)
straint that within a burst the number of successive
Maguire Proposed RTCP Reporting [email protected] 2010.08.26
R factor a voice quality metric describing the segment osession, expressed as an integer in the range 0 tto "toll quality" and values of 50 or less regardG.107 and ETSI TS 101 329-5
ext. R factor a voice quality metric describing the segment onetwork segment, for example a cellular netwo
MOS-LQ estimated mean opinion score for listening qualon a scale from 1 to 5, in which 5 represents ex
MOS-CQ estimated mean opinion score for conversationincluding the effects of delay and other effects
Gmin gap threshold, the value used for this report bloRX Config PLC - packet loss concealment: Standard (11)/
unspecified(00); JBA - Jitter Buffer Adaptive: Areserved (01)/ unknown (00). Jitter Buffer is adadjusted to deal with varying levels of jitter;JB
Jitter Buffer nominal size in frames (8 bit)Jitter Buffer Maximum size in frames (8 bit)Jitter Buffer Absolute Maximum
size in frames
a. Here after simply referred to as a binary fixed point number.
b. A burst is defined as a longest sequence of packets bounded by lost or discarded packets with the conpackets that were received, and not discarded due to delay variation, is less than some value Gmin.
Module 2: 127 of 140Practical Voice Over IP (VoIP): SIP and related protocols
xers
oud is defined by a common st address or pair of unicast
observed:
nd mixers participating all the others in at least
ort), or must be isolated
ot be multiple translators e arrangement they
neral Description of RFC 1889
(i.e., transcoding)
Maguire RTP translators/[email protected] 2010.08.26
RTP translators/mi
Connect two or more transport-level “clouds”, each clnetwork and transport protocol (e.g., IP/UDP), multicaaddresses, and transport level destination port.
To avoid creating a loop the following rules must be
• “Each of the clouds connected by translators ain one RTP session either must be distinct fromone of these parameters (protocol, address, pat the network level from the others.
• A derivative of the first rule is that there must nor mixers connected in parallel unless by sompartition the set of sources to be forwarded.”
From §7.1 Ge
Translator changes transport (e.g., IPv4 to IPv6) or changes media coding
Mixer combines multiple streams to form a combined stream
Module 2: 128 of 140Practical Voice Over IP (VoIP): SIP and related protocols
Streams streams (e.g., audio with a video stream)
d at a random number we need
s ⇒ an absolute timestampelate these to absolute time (and
Length
ts)ts)
ost
Maguire Synchronizing Multiple [email protected] 2010.08.26
Synchronizing MultipleOne of the interesting things which RTP supports is synchronization of multiple
• Unfortunately since the time stamps of each stream startesome other method to synchronize them!
• Thus use Network Time Protocol (NTP) based time stamp• Since we now include the stream timestamps we can corr
hence from one stream to another)
0 1 2 3 8 16VER P RC PTYPE
Sender’s Synchronization Source IDNTP Time Stamp (most significant 32 biNTP Time Stamp (least significant 32 bi
RTP TimestampSender’s Packet CountSender’s Octet Count
First Synchronization SourceFraction Lost Total Packets L
Extended Highest Sequence ReceivedInter-arrival Jitter
Last Sender ReportDelay Since Last Sender Report
…
sion Module 2: 129 of 140Practical Voice Over IP (VoIP): SIP and related protocols
-to-many
uld be too late)ng we don’t need this
are many endpoints that
Maguire RTP Transport and Many-to-many [email protected] 2010.08.26
RTP Transport and ManyTransmission
RTP uses a connectionless transport (usually UDP):
• Retransmission is undesirable (generally it wo• Since RTP handles flow control and sequenci
from the transport protocol• RTP is packet oriented• Enables us to easily use multicast (when there
want the same source stream)• multicast identifed a group• these multicast groups can be dynamic
iplexing Module 2: 130 of 140Practical Voice Over IP (VoIP): SIP and related protocols
ol Port, and
hronization source
r
based on the synchronication source are used to order the packet at a
Maguire Sessions, Streams, Protocol Port, and [email protected] 2010.08.26
Sessions, Streams, ProtocDemultiplexing
Demultiplexing:
Session All traffic that is sent to a given IP address, port
Stream a sequence of RTP packets that are from a single sync
session demultiplexing
occurs at the transport layer based on the port numbe
stream demultiplexing
occurs once the packet is passed to the RTP software,identifier - then the sequence number and timestamp suitable time for playback
Module 2: 131 of 140Practical Voice Over IP (VoIP): SIP and related protocols
nd RTCPvid L. Stevens, rver Programming and 8].
ending reports.
session bandwidth
CP bandwidth be so that in sessions with
er of senders, newly e CNAME for the
e RECOMMENDED be 1.25% [active
4]f ~3.75% of the session traffic any reports
Maguire Further details of RTP and [email protected] 2010.08.26
Further details of RTP aSee: Chapters 28 and 29 of Douglas E. Comer and Da“Internetworking with TCP/IP, Volume III: Client SeApplications, Linux/POSIX Version”, pp. 467-513 [3
Note that an important aspect of RTCP is the rate of s
• “It is RECOMMENDED that the fraction of theadded for RTCP be fixed at 5%.” [33]
• “It is also RECOMMENDED that 1/4 of the RTdedicated to participants that are sending dataa large number of receivers but a small numbjoining participants will more quickly receive thsending sites.” [33]
• Senders can be divided into two groups “… thdefault values for these two parameters wouldsenders] and 3.75% [in-active senders] …”.[3• ⇒ in-active sender ≅ receivers should generate at a rate o• of course: receivers on receive only links can not generate
Module 2: 132 of 140Practical Voice Over IP (VoIP): SIP and related protocols
col (RTSP)
of controlling a remote
aming server, Helix DNA er, Gstreamer, … .
Maguire Real Time Streaming Protocol (RTSP)[email protected] 2010.08.26
Real Time Streaming ProtoDefined in RFC 2326 http://www.ietf.org/rfc/rfc2326.txt
• remote media playback control (think in termsVCR/DVD/CD player)
• similar to HTTP/1.1, but• introduces new methods• RTSP servers maintain state• data carried out of band (i.e., in RTP packets)
• can use UDP or TCP• Uses Web security methods (see [50])
Some of the server implementations are: Darwin Streserver, VideoLAN, Microsoft’s Windows Media Serv
Module 2: 133 of 140Practical Voice Over IP (VoIP): SIP and related protocols
iption
/1" ister/audio.en/lofi"> 0/2" pt="90 DVI4/8000/1" ister/audio.en/hifi">
://video.example.com/twister/video">
ption” of Henning Schulzrinne, ol architecture for the Internet”papers/Schu9705_Comprehensive.pdf
Maguire RTSP session [email protected] 2010.08.26
RTSP session descr<title>Twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="PCMU/8000 src="rtsp://audio.example.com/tw <track type=audio e="DVI4/1600 src="rtsp://audio.example.com/tw </switch> <track type="video/jpeg" src="rtspu </group> </session>
From figure 6: “Sample RTSP session descri“A comprehensive multimedia contr
http://www.cs.columbia.edu/~hgs/
Module 2: 134 of 140Practical Voice Over IP (VoIP): SIP and related protocols
Readingc) Working Group, tml
throughput, packet loss, etc. how to measure and uantities.
Performance Monitoring”, umber 2, April, 2001, pp. 0104-cole.html
obile User, M.Sc. Thesis, Information and n Systems Lab, Stockholm,
cio_Sanchez_Pardo-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
References and Further[22] Multiparty Multimedia Session Control (mmusi
Webpage, http://www.ietf.org/html.charters/mmusic-charter.h
Also important are the measures of delay, delay jitter, IP Performance Metrics (ippm) is attempting to specifyexchange information about measurements of these q
[23] R. G. Cole and J. H. Rosenbluth, “Voice over IPComputer Communications Review, Vol. 21, N9-24. http://www.acm.org/sigcomm/ccr/archive/2001/apr01/ccr-20
[24] Ignacio Sánchez Pardo, Spatial Audio for the MRoyal Institute of Technology (KTH), School ofCommunication Technology, TelecommunicatioSweden, IMIT/TSLab-2005-01, March 2005 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/050307-Igna
Module 2: 135 of 140Practical Voice Over IP (VoIP): SIP and related protocols
lephony into Ericsson ute of Technology (KTH), 1995.
e Loss Scheme for Video . Thesis, National ineering, 1994.
Watson, and Mark Handley, oceedings of INET95, .org/HMP/PAPER/070/html/paper.html
uvelas, Successful net”, Communications of
uffering for Audio/Video in, Department of Computer tt/UKTS_2001.pdf
Maguire References and Further [email protected] 2010.08.26
[25] Thomas Mattisson, “Integration of Computer TeCorporate Network”, M.Sc. Thesis, Royal InstitTeleinformatics, Stockholm, Sweden, February
[26] Yang Xiaoning, “A New Controlled Video FramTransmission Over High Speed Networks”, M.SUniversity of Singapore, Dept. of Electrical Eng
[27] Vicky J. Hardman, Martina Angela Sasse, Anna “Reliable Audio for use over the Internet”, in PrHonolulu, Hawaii, September 1995 http://info.isoc
[28] Mark Handley, Martina Angela Sasse, and I. KoMultiparty Audio Communication over the Interthe ACM, Vol. 41, No. 5, May 1998.
[29] Miroslaw Narbutt and Liam Murphy, “Adaptive Playout BTransmission over the Internet”, University College DublScience, Dublin, Ireland, 2001 http://www.eeng.dcu.ie/~narbu
Module 2: 136 of 140Practical Voice Over IP (VoIP): SIP and related protocols
acket audio playout delay ”, Multimedia Systems readings/packet-audio-playout.pdf
ltimedia Delivery on the Internet uted Systems Multimedia, f Computer Science, November
org/html.charters/avt-charter.html
P: A Transport Protocol for ing Group, RFC 3550, July ://datatracker.ietf.org/doc/rfc3550/
Video Conferences with Minimal
y 2003, Updated by RFC 5761,
Maguire References and Further [email protected] 2010.08.26
[30] Sue B. Moon, Jim Kurose, and Don Towsley, “Padjustment: performance bounds and algorithms(1998) 6:17-28. http://www.cs.unc.edu/Courses/comp249-s02/
[31] Kevin Jeffay, “Lecture 9: Networking Performance of MuToday”, Lecture notes for COMP 249: Advanced DistribUniversity of North Carolina at Chapel Hill, Department o9, 1999. http://www.cs.odu.edu/~cs778/jeffay/Lecture9.pdf
RTP and RTCP
[32] IETF AVT Working Group Charter http://www.ietf.
[33] H. Schulzrinne, S. Casner, and R. Frederick, “RTReal-Time Applications”, IETF, Network Work2003, Updated by RFC 5506 and RFC 5761, http
[34] H. Schulzrinne and S. Casner, “RTP Profile for Audio and
Control”, IETF, Network Working Group, RFC 3551, Julhttp://datatracker.ietf.org/doc/rfc3551/
Module 2: 137 of 140Practical Voice Over IP (VoIP): SIP and related protocols
r DTMF Digits, Telephony orking Group, RFC 2833,
34,
r DTMF Digits, Telephony Working Group, RFC 4733, C 5244, Obsoletes RFC
ents for Modem, Fax, and ng Group, December 2006, FC 4733,
etworking with TCP/IP, lications, Linux/POSIX 2001, 601 pages, ISBN-13:
Maguire References and Further [email protected] 2010.08.26
[35] H. Schulzrinne and S. Petrack, “RTP Payload foTones and Telephony Signals”, IETF, Network WMay 2000, Obsoleted by RFC 4733 and RFC 47http://datatracker.ietf.org/doc/rfc2833/
[36] H. Schulzrinne and T. Taylor, “RTP Payload foTones, and Telephony Signals”, IETF, Network December 2006, Updated by RFC 4734 and RF2833, https://datatracker.ietf.org/doc/rfc4733/
[37] H. Schulzrinne and T. Taylor, “Definition of EvText Telephony Signals”, IETF, Network WorkiRFC 4734, Obsoletes RFC 2833 and Updates Rhttps://datatracker.ietf.org/doc/rfc4734/
[38] Douglas E. Comer and David L. Stevens, InternVolume III: Client Server Programming and AppVersion, Prentice Hall, Upper Saddle River, NJ, 978-0130320711.
Module 2: 138 of 140Practical Voice Over IP (VoIP): SIP and related protocols
the course EEL 6586: rida, Computational
of Transmission Quality, rsion of the standard is Subjective Opinion Tests,
f Transmission Quality,
comparisons between FEC roceedings of the IEEE 003, Sydney, Australia, pp.
Maguire References and Further [email protected] 2010.08.26
[39] Mark D. Skowronski, “Windows Lecture”, fromAutomatic Speech Processing, University of FloNeuro-Engineering Lab, 10 February 2003. http://www.cnel.ufl.edu/~markskow/papers/windows.ppt
[40] CCITT, Methods for Subjective Determination CCITT, Recommendation P.80, 1998, A later veITU-T Recommendation P.80, 1993, Section 7: paragraph 3.1.2.3 Silence (gap) characteristics, http://starlet.deltatel.ru/ccitt/1988/ascii/5_1_06.txt
[41] ITU-T, Methods for Subjective Determination oITU-T, Recommendation P.80, March 1993.
[42] M. Y. Kim and W. B. Kleijn, “Rate-Distortionand MDC based on Gilbert channel model”, in PInternational Conference on Networks (ICON), 2495 - 500.
Module 2: 139 of 140Practical Voice Over IP (VoIP): SIP and related protocols
e Transport Protocol (RTP) c (iLBC) Speech”, IETF, 2004,
TP Control Protocol Working Group, RFC 3611,
son, and P. Ruddy, with High Delay, Packet g Group, RFC 3545 , July
. Wenger, “RTP Payload ideband (AMR-WB+)
RFC 4352, January 2006,
Maguire References and Further [email protected] 2010.08.26
[43] Alan Duric and Soren Vang Andersen, “Real-timPayload Format for internet Low Bit Rate CodeNetwork Working Group, RFC 3952, Decemberhttp://datatracker.ietf.org/doc/rfc3952/
[44] T. Friedman, R. Caceres, A. Clark (Editors), “RExtended Reports (RTCP XR)”, IETF, Network November 2003, http://datatracker.ietf.org/doc/rfc3611/
[45] T. Koren, S. Casner, J. Geevarghese, B. Thomp“Enhanced Compressed RTP (CRTP) for Links Loss and Reordering”, IETF, Network Workin2003, http://datatracker.ietf.org/doc/rfc3545/
[46] J. Sjoberg, M. Westerlund, A. Lakaniemi, and SFormat for the Extended Adaptive Multi-Rate WAudio Codec”, IETF, Network Working Group,http://datatracker.ietf.org/doc/rfc4352/
Module 2: 140 of 140Practical Voice Over IP (VoIP): SIP and related protocols
P) Payload Format for the ) Audio Codec”, IETF, 06, Updated by RFC 4424,
P) Payload Format for the ) Extension Audio Codec”,
, RFC 4424, Updates
Time Streaming Protocol 2326, April 1998,
surrogates using Portable itute of Technology (KTH), ology, Stockholm, Sweden,
Maguire References and Further [email protected] 2010.08.26
[47] S. Ahmadi, “Real-Time Transport Protocol (RTVariable-Rate Multimode Wideband (VMR-WBNetwork Working Group, RFC 4348, January 20http://datatracker.ietf.org/doc/rfc4348/
[48] S. Ahmadi, “Real-Time Transport Protocol (RTVariable-Rate Multimode Wideband (VMR-WBIETF, Network Working Group, February 2006RFC 4348, https://datatracker.ietf.org/doc/rfc4424/
RTSP
[49] H. Schulzrinne, A. Rao, and R. Lanphier, “Real(RTSP)”, IETF, Network Working Group, RFChttp://datatracker.ietf.org/doc/rfc2326/
[50] Daniel (Högberg) Broms, “Access restrictions inChannel Representation”, M.S. thesis, Royal InstDept. of Microelectronics and Information TechnOctober 2002.
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
e 3: SIPf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
SIP.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
ModulLecture notes o
Module 3: 142 of 219Practical Voice Over IP (VoIP): SIP and related protocols
col (SIP)ultimedia Session Control
TF SIP working group1.
TP, for initiating interactive ude: voice, video, chat,
ic model and architecture
ever possible2.cable, and not applicable only
integration with other IP
cation networks.
Maguire Session Initiation Protocol (SIP)[email protected] 2010.08.26
Session Initiation ProtoSIP was initially developed by the IETF Multiparty M
(MMUSIC) working group, from Sept. 1999 in the IE
SIP is a text-based protocol, similar to HTTP and SMcommunication sessions between users. Sessions inclinteractive games, and virtual reality.
SIP working group’s charter: “… to maintain the basdefined by SIP. In particular:1 Services and features are provided end-to-end when2 Extensions and new features must be generally appli
to a specific set of session types.3 Simplicity is key.4 Reuse of existing IP protocols and architectures, and
applications, is crucial.
1. Now the Session Initiation Protocol Core (sipcore) working group.
2. The use of end-to-end control is the exact opposite of the centralized control in traditional telecommuni
Module 3: 143 of 219Practical Voice Over IP (VoIP): SIP and related protocols
les
enables multiparty
bles intelligent call
tion of external
hin signaling, aka SIP
d requirementsovisional messagesf server features
Maguire SIP WG’s [email protected] 2010.08.26
SIP WG’s deliverab• SIP specification• callcontrol: call control specifications, which
services, e.g., transfer and bridged sessions• callerpref: caller preferences extensions, ena
routing services• mib: a MIB for SIP nodes• precon: extensions needed to assure satisfac
preconditions, e.g., QoS establishment• state: extensions needed to manage state wit
"cookies"• priv: extensions for security and privacy• security: security and privacy mechanisms an• provrel: extensions needed for reliability of pr• servfeat: extensions needed for negotiation o• sesstimer: Session Timer extension
Module 3: 144 of 219Practical Voice Over IP (VoIP): SIP and related protocols
riendly protocol
Maguire SIP WG’s [email protected] 2010.08.26
• events: Events extensions (Subscribe/Notify)• natfriend: Extensions for making SIP a NAT-f
Module 3: 145 of 219Practical Voice Over IP (VoIP): SIP and related protocols
groups
rvices)
ork SIP)net Technologies)
ce Legeraging
Maguire Related IETF Working [email protected] 2010.08.26
Related IETF Working• avt (Audio/Video Transport)• bliss (Basic Level of Interoperability for SIP Se• codec (Internet Wideband Audio CODEC)• dispatch (Dispatch)• drinks (Data for Reachability of INter/tra-Netw• ecrit (Emergency Context Rsolution with Inter• enum (Telephone Number Mapping)• geopriv (Geographic Location/Privacy)• p2psip (Peer-to-peer SIP)• salud (SIP ALerting for User Devices)• simple (SIP for Instant Messaging and Presen
Extensions)• sipclf (SIP Common Log Format)• sipcore (SIP Core)• siprec (SIP recording)
Module 3: 146 of 219Practical Voice Over IP (VoIP): SIP and related protocols
NTerconnect) for disaggregated
rotocol)
IP (TRIP)
t Services) - SIP as te in the PSTN
Maguire Related IETF Working [email protected] 2010.08.26
• soc (SIP Overload Control)• speechsc (Speech Services Control)• speermint (Session PEERing for Multimedia I• splices (looSely-couPLed sIp deviCES) [new -
media]• xcon (Centralized conferencing)• xmpp (Extensible Messaging and Presence PHistoric
• PSTN and Internet Internetworking (PINT) WG• origin of SUBSCRIBE/NOTIFY
• IP telephony (IPTEL) WG• Call Processing Language (CPL), Telephony Routing over
• SPIRITS (Service in PSTN requesting Interne‘transport’ mechanism for services that origina
Module 3: 147 of 219Practical Voice Over IP (VoIP): SIP and related protocols
oupsPacketCable Consortium erviceseneration Partnership
work efforts
Maguire Related working [email protected] 2010.08.26
Related working gr• Distributed Call Signaling (DCS) Group of the
(http://www.packetcable.com/) for distributed telephony s• 3rd Generation Partnership Project (3GPP), 3rd G
Project 2 (3GPP2), -- 3rd generation wireless net
Module 3: 148 of 219Practical Voice Over IP (VoIP): SIP and related protocols
col (SIP)53[72] & RFC 4320[71]
sions
lying transport
humans can read them)ling and called parties
nt messaging, presence,
naling parts of H.323. .
sh interactive sessions
de information about a call, ulticast addresses, etc.
Maguire Session Initiation Protocol (SIP)[email protected] 2010.08.26
Session Initiation Proto• Defined in RFC 3261 [56], updated by RFC 38• provides application layer signaling
• Used to establish, modify, and terminate multimedia ses
• can utilize UDP, TCP, TLS, SCTP, … for under• HTTP-like
• uses textual rather than binary (ala H.323) messages (⇒• uses Uniform Resource Indicators (URIs) to designate cal
• target applications : voice, video, gaming, instacall control1, …
SIP is an alternative to H.323. SIP only covers the sigSIP does not use RTP itself, but sessions can use RTP
• SIP provides ability to discover remote users and establi• Does not ensure QoS or deliver large quantities of data
SIP uses SDP (Session Description Protocol) to provisuch as, the media encoding, protocol port number, m
1. Largely taken from Advanced Intelligent Network (AIN).
Module 3: 149 of 219Practical Voice Over IP (VoIP): SIP and related protocols
of 823 pages (SIP alone:
te count; 663,043 bytes)ple user agent in a (long) d with respect to security issues, …)
tes Bob to a SIP session:b
Maguire Is SIP [email protected] 2010.08.26
Is SIP simple?• first 25 related RFCs (for SIP and SDP) - total
269 pages)• RFC3261 was longest RFC ever (based on by• There are claims that one can still build a sim
evening, but there is substantial work require(due to TLS, S/MIME, AAA, Denial of Service
SIP timeline - showing a simple version of Alice inviAlice BoInvite
OK,200ACK
Bye
media session
Module 3: 150 of 219Practical Voice Over IP (VoIP): SIP and related protocols
P
streamingapplications
CODECs
RTSP
TCP
Maguire SIP, RTP, and [email protected] 2010.08.26
SIP, RTP, and RTS
audio/video applications
signaling and control
video, audio, … CODECs RTCP
SDP
RTP SIP
UDP
IP
Module 3: 151 of 219Practical Voice Over IP (VoIP): SIP and related protocols
es in blue)
teways
☎PSTN
Mobile
MD110
PBX
Frame relay, ATM, …
Maguire SIP [email protected] 2010.08.26
SIP actors
Figure 4: SIP Actors (presense entity nam
Called, PresentityCaller, Watcher
Local
Media, Messages
INVITE
Network Proxy
NOTIFY
SUBSCRIBE
GaForking
LocalProxyProxy
INVITE
INVITE
Module 3: 152 of 219Practical Voice Over IP (VoIP): SIP and related protocols
s Codes
IP Method Extensions in
s codes:
TE.
the location of a user.
ess the requesttedhe request at this servery another server!)p!)
Maguire SIP Methods and Status [email protected] 2010.08.26
SIP Methods and Statu
At least 8 additional methods have been defined see Sother RFCs on page 184.SIP Status codes - patterned on and simular to HTTP’s statu
Method Purpose
INVITE Invites a user to join a call.ACK Confirms that a client has received a final response to an INVIBYE Terminates the call between two of the users on a call.OPTIONS Requests information on the capabilities of a server.CANCEL Ends a pending request, but does not end the call.REGISTER Provides the map for address resolution, this lets a server know
Code Meaning
1xx Informational or Provisional - request received, continuing to proc2xx Final - the action was successfully received, understood, and accep3xx Redirection - further action needs to be taken in order to complete t4xx Client Error - the request contains bad syntax or cannot be fulfilled5xx Server Error - server failed to fulfill an apparently valid request (Tr6xx Global Failure - the request cannot be fulfilled at any server (Give u
) Module 3: 153 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ators (URIs)ddresses: user@domain
omain
ies a specific device)[email protected] KTH phone number in E.164 hone number (dashes, dots, etc.)
an instance of a user at of the UA to which it is
Maguire SIP Uniform Resource Indicators ([email protected] 2010.08.26
SIP Uniform Resource IndicTwo URI schemes - similar to the form of an e-mail a
• SIP URI - introduced in RFC 2543 • example: sip:[email protected]
• Secure SIP URI - introduced in RFC 3261• example: sips:[email protected]• Requires TLS over TCP as transport for security
Three types of SIP URIs:
• Address of Record (AOR) (identifies a user)• example: sip:[email protected]• Need DNS SRV records to locate SIP Servers for kth.se d
• Fully Qualified Domain Name (FQDN) (identif• examples: sip:[email protected] or sip:mag• sip:[email protected]; user=phone the ma
format via a gateway; note that the visual separators in a pare ignored by the protocol
• Globally Routable UA URIs (GRUU) (identifiesa given UA, for the duration of the registrationbound)[69]
Module 3: 154 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ered
Maguire Issues to be [email protected] 2010.08.26
Issues to be consid• Address Resolution• Session Setup• Media Negotiation• Session Modification• Session Termination• Session Cancellation• Mid-call Signaling• Call Control• QoS Call setup
Module 3: 155 of 219Practical Voice Over IP (VoIP): SIP and related protocols
on the mapping between the
of SIP’s power.
page 251), but for now will
Maguire Address [email protected] 2010.08.26
Address ResolutiThe first step in routing the SIP request is to computeURI and a specific user at a specific host/address.
This is a very general process and the source of much
• providing support for mobility and portability• Can utilize:
• DNS SRV lookup• ENUM• Location Server lookup
We will look at this in detail (see DNS and ENUM onassume a simple DNS lookup based on the URI.
Module 3: 156 of 219Practical Voice Over IP (VoIP): SIP and related protocols
or lots of examples of basic
Bob
Maguire SIP [email protected] 2010.08.26
SIP timelineSimple version of Alice invites Bob to a SIP session:
We begin by examining the details of session setup. Fcall flows see [66].
Alice Invite
OK,200ACK
session
Bye
Module 3: 157 of 219Practical Voice Over IP (VoIP): SIP and related protocols
nch=z9hG4bK776asdhds
28301774
cter set in UTF-8 encoding use S/MIME for security.
Maguire SIP [email protected] 2010.08.26
SIP Invite1
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
SIP is a text-based protocol and uses ISO 10646 chara(RFC 2279). The message body uses MIME and can
The generic form of a message is:generic-message = start-line message-header*
CRLF [ message-body ]
1. Example adapted from draft-ietf-sip-rfc2543bis-06.ps
Module 3: 158 of 219Practical Voice Over IP (VoIP): SIP and related protocols
’s INVITE1
nch=z9hG4bK776asdhds
4bK77ef4c2312983.1nch=z9hG4bKnashds8
28301774
Maguire Bob’s response to Alice’s [email protected] 2010.08.26
Bob’s response to AliceSIP/2.0 200 OKVia: SIP/2.0/UDP pc33.atlanta.com:5060;braVia: SIP/2.0/UDP bigbox3.site3.atlanta.com:5060;branch=z9hGVia: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>;tag=a6c85cfFrom: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 131
(Bob’s SDP not shown}
1. Example adapted from draft-ietf-sip-rfc2543bis-06.ps
Module 3: 159 of 219Practical Voice Over IP (VoIP): SIP and related protocols
nch=z9hG4bK776asdhds
28301774
CK
E/4xx1/ACK
a 3-way handshake with
ween Alice and Bob, based they have exchanged.
essages!
Maguire [email protected] 2010.08.26
ACKACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 ACKContent-Length: 0
A successful set-up sequence was: INVITE/200/A
A set-up failure would be a sequence such as: INVIT
NB: INVITE is the only method in SIP that involvesACK
The further setup of the call can proceed directly beton the the information (especially that in SDP) which
Now we will examine the details of these initial SIP m
1. or 5xx or 6xx
Module 3: 160 of 219Practical Voice Over IP (VoIP): SIP and related protocols
version)
nch=z9hG4bK776asdhds
28301774
tains:
is for:
Maguire SIP Invite (method/URI/version)[email protected] 2010.08.26
SIP Invite (method/URI/INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
Start Line is the first line of a SIP message which con
• method or Request type: INVITE• Request-URI which indicates who the requestsip:[email protected]
• SIP version number: SIP/2.0
Module 3: 161 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ranch=82.1nch=z9hG4bK776asdhds
28301774
ken in the SIP networkthe request (this will be last in the
(i.e., this details the path taken by
k the same way the
sponses and port number
Maguire SIP [email protected] 2010.08.26
SIP ViaINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP proxy.stockholm.se:5060;bVia: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
• Via headers show the path the request has ta• A Via header is inserted by the User Agent which initiated
list of Via headers)• Via headers are inserted above this by proxies in the path
the request)
• Via headers are used to route responses bacrequest came• this allows stateful proxies to see both the requests and re• each such proxy adds the procotol, hostname/IP address,
• The “branch” parameter is used to detect loops
Module 3: 162 of 219Practical Voice Over IP (VoIP): SIP and related protocols
mation
nch=z9hG4bK776asdhds
28301774
eaders:s in this call will use this same
the logical sender
this call (i.e., session), hence all
e or IP Address
n the response was a 18x provisional response.
Maguire Dialog (Call leg) [email protected] 2010.08.26
Dialog (Call leg) InforINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
• Dialog1 (formerly “call leg”) information is in h• To tag, From tag, and Call-ID -- all requests and response
dialog information.• “To” specifies the logical recipient of the message, “From”
– the string “Bob” is called a “display name”
• Call-ID is unique identifier• The Call-ID is an arbitrary number, but it uniquely identifies
future references to this session refer to this Call-ID• usually composed of a pseudo-random string @ hostnam
1. A Dialog formally begins upon receipt of a response containing a tag. It is called an “Early dialog” whe
Module 3: 163 of 219Practical Voice Over IP (VoIP): SIP and related protocols
nch=z9hG4bK776asdhds
28301774
d)
Maguire SIP [email protected] 2010.08.26
SIP CSeqINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
• Command Sequence (CSeq) Number• Initialized at start of call (1 in this example)• Incremented for each subsequent request• Used to distinguish a retransmission from a new request
• Followed by the request type (i.e., SIP metho
Module 3: 164 of 219Practical Voice Over IP (VoIP): SIP and related protocols
nch=z9hG4bK776asdhds
28301774
communication between
response
Maguire SIP [email protected] 2010.08.26
SIP ContactINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
• Contact header contains a SIP URL for directUser Agents• If Proxies do not Record-Route1, they can be bypassed
• Contact header is also present in the 200 OK
1. Note that the Record-Route and Route headers approach of RFC 2543 was found not to work.
Module 3: 165 of 219Practical Voice Over IP (VoIP): SIP and related protocols
Length
nch=z9hG4bK776asdhds
28301774
body attachment (others
age body in octets (bytes)
Maguire SIP Content Type and [email protected] 2010.08.26
SIP Content Type andINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
• Content-Type indicates the type of message could be text/plain, application/cpl+xml, etc.)• Here “application/sdp” indicates that it is SDP
• Content-Length indicates length of the mess• 0 indicates that there is no message body.
Module 3: 166 of 219Practical Voice Over IP (VoIP): SIP and related protocols
s
nch=z9hG4bK776asdhds
28301774
that forwards the request.d and 483 Too Many
Maguire SIP [email protected] 2010.08.26
SIP Max-ForwardINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com:5060;braMax-Forwards: 30To: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=19Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: 142
(Alice’s SDP not shown)
• Max-Forwards is decremented by each proxy • When count goes to zero, request is discardeHops response is sent.
• Used for stateless loop detection.
Module 3: 167 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ds
sage to a user
erver is expected to
requestor should try
pported the sender es that a destination
Maguire Other header [email protected] 2010.08.26
Other header fiel• Content-Encoding:• Allow:• Expires:• In-Reply-To:• Priority: indicated priority of displaying a mes
• Normal• Urgent• Non-Urgent• Emergency
• Require: contains a list of options which the ssupport in order to process a request
• Retry after: number of seconds after which aagain
• Supported: enumerates all the extensions su(NB: this differs from a “Require” which requirsupports the given extension)
Module 3: 168 of 219Practical Voice Over IP (VoIP): SIP and related protocols
erversld be a SIP phone, a
pecific parts of a SIP rver closer to the
wer; can also forward several tateful).
t) requestceives incoming requests)
act an alternate URIquests updates LSng and queried by
ate (inbound) proxy. database
Maguire Several types of SIP [email protected] 2010.08.26
Several types of SIP S• User agent server runs on a SIP terminal (cou
PDA, laptop, …) - it consists of two parts:• User Agent Client (UAC): initiates requests• User Agent Server (UAS): responds to requests
• SIP proxy - interprets (if necessary, rewrites srequest message) before forwarding it to a sedestination:• SIP stateful proxy server - remembers its queries and ans
queries in parallel (can be Transaction Stateful or Call S• SIP stateless proxy server• Proxies ignore SDP and do not handle any media (conten• Outgoing proxy: used by a user agent to route an outgoing• Incoming proxy: proxy server which supports a domain (re
• SIP redirect server - directes the client to cont• Registrar server - receives SIP REGISTER re• Location server (LS) - knows the current bindi
Proxies to do their routing• SIP can also use DNS SRV (Service) Records used to loc• note in RFC 2543: a location server is a generic term for a
Module 3: 169 of 219Practical Voice Over IP (VoIP): SIP and related protocols
rly at http://smuhandouts.com/8393/SIPTutorial.pdf
User Agent B
cation Server
SIP
boundroxy Server
User Agents}
Proxy servers}
Other servers}
Maguire SIP [email protected] 2010.08.26
SIP Trapezoid1
Figure 5: SIP Trapezoid
1. From the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnston, forme
User Agent A
Lo
OutboundProxy Server
DNS
Media(RTP)
SIP
InPSIP
DNS Server
SIP
Module 3: 170 of 219Practical Voice Over IP (VoIP): SIP and related protocols
registered
erly at http://smuhandouts.com/8393/SIPTutorial.pdf
User Agent B
Location Server
InboundProxy Server
8. Response B not registered
Maguire SIP Call [email protected] 2010.08.26
SIP Call Setup1
Figure 6: SIP Call Setup - when B has not
1. From the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnston, form
User Agent A
OutboundProxy Server
DNS Server
1. INVITE
2. 100 Trying
3. DNS query 4. DNS reply with IP address of Inbound Proxy Server
5. INVITE
6. 100 Trying
7. Query for B
Module 3: 171 of 219Practical Voice Over IP (VoIP): SIP and related protocols
mpt1
not registered
on, formerly at
User Agent B
Location Server
InboundProxy Server
8. Response B not registered
Maguire SIP Call Setup [email protected] 2010.08.26
SIP Call Setup Atte
Figure 7: SIP Call Setup Attempt - when B has
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
1. INVITE
2. 100 Trying
3. DNS query 4. DNS reply with IP address of Inbound Proxy Server
5. INVITE
6. 100 Trying
7. Query for B
9. 480 Temporarily Unavailable
10. ACK
Module 3: 172 of 219Practical Voice Over IP (VoIP): SIP and related protocols
mpt1
gistered (continued)
on, formerly at
User Agent B
Location Server
InboundProxy Server
8. Response: B not registered
Maguire SIP Call Setup [email protected] 2010.08.26
SIP Call Setup Atte
Figure 8: SIP Call Setup Attempt - when B has not re
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
1. INVITE2. 100 Trying
3. DNS query 4. DNS reply with IP address of Inbound Proxy Server
5. INVITE
6. 100 Trying
7. Query for B
9. 480 Temporarily Unavailable
10. ACK
11. 480 Temporarily Unavailable
12. ACK
Module 3: 173 of 219Practical Voice Over IP (VoIP): SIP and related protocols
n B registers
on, formerly at
User Agent B
Location Server
InboundProxy Server
7. 200 OK
Maguire SIP [email protected] 2010.08.26
SIP Presence1
Figure 9: SIP Presence: A asks to be told whe
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
1. SUBSCRIBE2. 100 Trying
3. DNS query 4. DNS reply with IP address of Inbound Proxy Server
5. SUBSCRIBE
8. 200 OK
6. SUBSCRIBE
9. 200 OK
Module 3: 174 of 219Practical Voice Over IP (VoIP): SIP and related protocols
t1
gned In>
on, formerly at
User Agent B
Location Server
InboundProxy Server
12. 200 OK
Maguire SIP B not [email protected] 2010.08.26
SIP B not Presen
Figure 10: NOTIFY A that B has <Not Si
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
8. NOTIFY
11. 200 OK
7. NOTIFY
10. 200 OK
<Not Signed In>
<Not Signed In>
9. NOTIFY<Not Signed In>
Module 3: 175 of 219Practical Voice Over IP (VoIP): SIP and related protocols
mple1
on, formerly at
User Agent B
Location Server
InboundProxy Server
3. 200 OK
ISTER.2.3.4
4. 200 OK
Maguire SIP Registration [email protected] 2010.08.26
SIP Registration Exa
Figure 11: B registers
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
1. REG B@1
2. Update DB [email protected]
Module 3: 176 of 219Practical Voice Over IP (VoIP): SIP and related protocols
tionice and location
anyone", but can apply various ver can decide who can ask for it to where they can ask from).
ir location server, rather
Registrar - see [59].
Maguire Purpose of [email protected] 2010.08.26
Purpose of registraUser B registers in order to establish their current dev• Only their location server need know
• The location server need not disclose this location to "justpolices to decide who can learn of it, i.e., their location serB’s location and when they can ask (perhaps even limiting
• This has significant privacy implications.
• This scales well - as B only has to update thethan having to inform all possible callers.
To learn about proxies between the user agent and the
Module 3: 177 of 219Practical Voice Over IP (VoIP): SIP and related protocols
headers:
feature=voicemailss=businessobility=mobile
Preferences on page 345.
on-SIP)
Location server
on-SIP)
on-SIP)
on-SIP)
on-SIP)
on-SIP)
Registrar updates location server with user’s location
User moves home and clears all their
User re-REGISTERs at home
Maguire [email protected] 2010.08.26
REGISTERing
REGISTER request includes one or more Contact Contact: <sip:[email protected]>;class=personalContact: <sip:[email protected]>;Contact: <sip:[email protected];user=phone>;claContact: <sip:[email protected];user=phone>;mContact: <tel:+13145551212>Contact: <mailto:[email protected]>
Details at: Sinnreich & Johnston, pp. 78-79 and User
1. REGISTER2. Update (n
User Agent (office) Registrar Server
4. 200 OK 3. Response(nUser
5. REGISTER6. Update (n
7. Response(n8. 200 OK
9. REGISTER10. Update (n
11. Response(n12. 200 OK
Agent (home)
Module 3: 178 of 219Practical Voice Over IP (VoIP): SIP and related protocols
mpt1
as registered
on, formerly at
User Agent B
Location Server
InboundProxy Server
8. Response: sip:[email protected]
9. INVITEinging
13. 200 OK
Maguire SIP Call Setup [email protected] 2010.08.26
SIP Call Setup Atte
Figure 12: SIP Call Setup Attempt - when B h
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
1. INVITE2. 100 Trying
3. DNS query 4. DNS reply with IP address of Inbound Proxy Server
5. INVITE
6. 100 Trying
7. Query for B
11. 180 Ringing
14. 200 OK 10. 180 R12. 180 Ringing
15. 200 OK
16. ACK
Media (RTP)
Module 3: 179 of 219Practical Voice Over IP (VoIP): SIP and related protocols
using BYE
TE
User Agent
nging
OK
EOK
Maguire SIP Session Termination using [email protected] 2010.08.26
SIP Session Termination
BYE causes the media session to be torn down. Note: BYE like INVITE is an end-to-end method.
1. INVITE2. INVI
User Agent Proxy Server
3. 100 Trying
4. 180 Ri
6. 2005. 180 Ringing
7. 200 OK
8. ACK 9. ACK
Media Session
10. BYE 11. BY12. 20013. 200 OK
Module 3: 180 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ing CANCEL
ly is 481 Transaction E since the CANCEL was race condition).
User Agent
ITE
inging
NCEL0 OKt Cancelled
CK
ing!!!
Ringing Stops
lished
Maguire SIP Session Termination using [email protected] 2010.08.26
SIP Session Termination us
CANCEL causes the session to be cancel. Note: If a repUnknown, then the user agent may need to send a BYreceived after the final reponse was sent (there was a
1. INVITE2. INVITE
User Agent Proxy Server
3. 100 Trying
7. 180 Ringing8. 180 Ringing
9. CANCEL
4. INV5. 100 Trying
6. 180 R
Proxy Server
10. 200 OK 11. CANCEL12. 200 OK
13. CA14. 20
15. 487 Reques
17. 487 Request Cancelled19. 487 Request Cancelled
16. A
18. ACK20. ACK
Ring
No media session was estab
Module 3: 181 of 219Practical Voice Over IP (VoIP): SIP and related protocols
NS
gent have a successful match, then
pabilitiesrmation
Maguire CANCEL and [email protected] 2010.08.26
CANCEL and OPTIOCANCEL
• In addition to canceling a pending session• CANCEL can also be sent by a proxy or user a
• for example, when a parallel fork has been done, once youyou can cancel the others
OPTIONS
• Used to query a server or user agent for its ca• sometimes used for very simple presence info
op Module 3: 182 of 219Practical Voice Over IP (VoIP): SIP and related protocols
are hop-by-hopre always acknowledged on
Maguire Unsuccessful final responses are [email protected] 2010.08.26
Unsuccessful final responsesUnsuccessful final responses (3xx, 4xx, 5xx, 6xx) aa hop-by-hop basis.
Only 200 OK is end-to-end.
Module 3: 183 of 219Practical Voice Over IP (VoIP): SIP and related protocols
TTP (see RFC 2716), for
tion Required (reponse sent by a
cation.
nformation see SIP
Maguire [email protected] 2010.08.26
AuthenticationBuilds upon authentication schemes developed for Hexample challenge/response, digest, …
Two forms:
• user agent-to-user agent• 401 Unauthorized ⇒ Authentication Required
• user agent-to-server• 407 Proxy Authentication Required ⇒ Authentica
proxy/server)
Note: Any SIP request can be challenged for authenti
Note: There is no integrity protection, for additional iSecurity, NATs, and Firewalls on page 355.
Module 3: 184 of 219Practical Voice Over IP (VoIP): SIP and related protocols
other RFCssion Initiation Protocol
Initiation Protocol (SIP), June
ication, June 2002.
thod, April 2003 [62]By Mechanism, Sept. 2004 [63]
t Messaging, December 2002 [64]
Method. October 2002 [65]
Maguire SIP Method Extensions in other [email protected] 2010.08.26
SIP Method Extensions inSee “Guidelines for Authors of Extensions to the Ses(SIP)”[61]
• INFO - Call signaling information during a call• RFC 2976: The SIP INFO Method, October 2000.
• PRACK - Reliable ACK• RFC 3262: Reliability of Provisional Responses in Session
2002
• SUBSCRIBE/NOTIFY• RFC 3265: Session Initiation Protocol-Specific Event Notif
• REFER • RFC 3515: The Session Initiation Protocol (SIP) Refer Me• RFC 3892: The Session Initiation Protocol (SIP) Referred-
• MESSAGE• RFC 3428: Session Initiation Protocol Extension for Instan
• UPDATE - Early media and preconditions• RFC 3311: The Session Initiation Protocol (SIP) UPDATE
Module 3: 185 of 219Practical Voice Over IP (VoIP): SIP and related protocols
eatures
01 response
oxies in a Supported or Require
ponse field
ecification.
Maguire SIP Extensions and [email protected] 2010.08.26
SIP Extensions and F• Method Extensions
• Unknown methods rejected by User Agent using 405 or 5• Listed in Allow header field• Proxies treat unknown methods as a non-INVITE
• Header Field Extensions• Unknown header fields are ignored by user agents and pr• Some have feature tags registered, these can be declared
header field
• Message Body Extensions• Unknown message body types are rejected with a 406 res• Supported types can be declared with an Accept header• Content-Disposition indicates what to do with it
• Extension must define failback to base SIP sp
⇒ No Profiling is needed• unlike for example, Bluetooth!
Module 3: 186 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ed In1
ed In>
on, formerly at
User Agent B
Location Server
InboundProxy Server
18. 200 OK
Maguire SIP Presence - Signed [email protected] 2010.08.26
SIP Presence - Sign
Figure 13: NOTIFY A that B has <Sign
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
14. NOTIFY
17. 200 OK
13. NOTIFY
16. 200 OK
<Signed In>
<Signed In>
15. NOTIFY<Signed In>
Module 3: 187 of 219Practical Voice Over IP (VoIP): SIP and related protocols
IFY
nt with a notification it sents
usy, thus call fails
hey be notified longer busy
ger busy, so ification
succeeds in .
Maguire SUBSCRIBE and [email protected] 2010.08.26
SUBSCRIBE and NOT
If user B’s agent does not wish to provide user A’s agea 603 Decline response.
Media Session
1. INVITE
User
2. 486 Busy Here
6. NOTIFY
5. 200 OK
3. ACK
9. 200 OK
4. SUBSCRIBE
7. 200 OK
8. INVITE
10. ACK
Called party (B) is b
Caller requests that twhen the party is no
Called party is no lontheir UA sends a not
Agent AUserAgent B
Caller calls back andestablishing a session
Module 3: 188 of 219Practical Voice Over IP (VoIP): SIP and related protocols
xample1
on, formerly at
User Agent B
Location Server
InboundProxy Server
7. Response: sip:[email protected]
8. MESSAGE<Can you talk now?>
. 200 OK
Maguire SIP Instant Messaging [email protected] 2010.08.26
SIP Instant Messaging E
Figure 14: A sends a message to B
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
OutboundProxy Server
DNS Server
2. 100 Trying
3. DNS query
4. DNS reply with IP address of Inbound Proxy Server
10. 200 OK
6. Query for B
11. 200 OK
1. MESSAGE<Can you talk now?>
5. MESSAGE<Can you talk now?>
9
d) Module 3: 189 of 219Practical Voice Over IP (VoIP): SIP and related protocols
le (continued)1
on, formerly at
User Agent B
OutboundProxy Server
DNS Server
2. DNS query
1. MESSAGE <Sure!>
. 200 OK
Maguire SIP Instant Messaging Example ([email protected] 2010.08.26
SIP Instant Messaging Examp
Figure 15: B sends a message to A
1. Adapted from the lecture notes “SIP Tutorial: Introduction to SIP” by Henry Sinnreich and Alan Johnsthttp://smuhandouts.com/8393/SIPTutorial.pdf
User Agent A
Location Server
InboundProxy Server
3. DNS reply with IP address of A’s
9. 200 OK
5. Query for A6. Response: sip:[email protected]
8. 200 OK
7. MESSAGE<Sure!>
4. MESSAGE<Sure!>
10
Inbound Proxy Server
Module 3: 190 of 219Practical Voice Over IP (VoIP): SIP and related protocols
le
.
thout a session).
rking group on Instant
Maguire Message [email protected] 2010.08.26
Message exampA simple Instant Message (IM) as SIP:
MESSAGE im:[email protected] SIP/2.0Via: SIP/2.0/UDP 4.3.2.1To: User B <im:[email protected]>From: User A <im:[email protected]>Call-ID: [email protected]: 1 MESSAGEContent-type: text/plainContent-Length: 16
Hi, How are you?
The response will be a 200 OK from B.
Note: the example uses IM URIs instead of SIP URIs
A MESSAGE request can be sent at anytime (even wi
For futher information about the work of the IETF woMessaging and Presence Protocol (impp) see http://www.ietf.org/html.charters/impp-charter.html
Module 3: 191 of 219Practical Voice Over IP (VoIP): SIP and related protocols
gon’t change, to exchange an INFO message. If the e-INVITE.
itial address message), INM
PSTN user
AM
NM
voice
SR
Maguire Midcall [email protected] 2010.08.26
Midcall signalinMidcall signaling used when the session parameters dinformation between two user agents via the body of session parameters did change then you would use a r
Note in the above figure the ISUP messages: IAM (In(Answer message), and USR (user-to-user message).
1. IAM2. IAM
PSTN user Gateway
5. 200 OK6. ANM
3. I
4. A
Gateway
7. ACK
RTP mediaPCM voice PCM
9. INFO8. USR10. U
11. 200 OK
Module 3: 192 of 219Practical Voice Over IP (VoIP): SIP and related protocols
only end devices (UAs) can.
signaling pathd party is no longer in the
Maguire Call [email protected] 2010.08.26
Call ControlSIP is peer-to-peer -- thus a proxy cannot issue a BYE,
To methods for third party call control:
• A proxy passes an invite on, but stays in the • Use REFER to initial third party control (the thir
signaling path).
Useful for:
• click-to-call• Automatic Call Distribution (ACD)• web call center• …
Module 3: 193 of 219Practical Voice Over IP (VoIP): SIP and related protocols
EFER between Users B and C.
header and -By header.
red-By: A
User C
nging
K
OK
ssion
Maguire Example of using [email protected] 2010.08.26
Example of using RThird party call control, by User A to set up a session
Note: the use by A of an INVITE with a Refer-to the user by B of an INVITE with a Referred
1. INVITE
8. INVITE Refer
User A User B
2. 100 Trying
10. 180 Ri
3. 180 Ringing4. 200 OK
5. ACK
13. AC
Media Session6. REFER Refer-to: C
9. BYE
12. 20011. 200 OK
7. 200 OK
Media Se
Module 3: 194 of 219Practical Voice Over IP (VoIP): SIP and related protocols
upedia path, thus new
in the 183 Session QoS requirements e-way RTP {hence the arly dialog”ws detection of a lost n using Provisional
ethod to indicate that the er can be alerted by
"a=qos:mandatory".
58]; more about SDP in the
Maguire QoS and Call [email protected] 2010.08.26
QoS and Call SetThe path which SIP takes may be different that the mextensions were added to enable more handshaking:
• Early Media - by allowing SDP to be included Progress response (allows establishment ofbefore call is answered) - may also enable onname “early media”}, formally: “media during e
• Reliable Provisional Responses extension allo183 Session Progress response based oResponse Acknowledgement (PRACK)
• UAs can use preCOnditions MET (COMET) mQoS requirements can be met and that the usringing the phone.
SDP in the INVITE contains an attribute-value pair:
For further details see: RFC3312 [57] and RFC3262 [next lecture module.
Module 3: 195 of 219Practical Voice Over IP (VoIP): SIP and related protocols
User Agent B
ITEryingn Progress
ACK
0 OK
MET
0 OK
inging
0 OK
CK
Maguire QoS and Call [email protected] 2010.08.26
1. INVITE2. INVITE
User Agent A Proxy Server
5. 100 Trying3. 100 Trying 4. INV
Proxy Server
RTP media session with QoS
6. 100 T7. 183 Sessio
8. 183 Session Progress9. 183 Session Progress
10. PRACK 11. PRACK12. PR
13. 2014. 200 OK
15. 200 OK
QoS Setup16. COMET 17. COMET
18. CO
19. 2020. 200 OK
21. 200 OK22. 180 R
23. 180 Ringing24. 180 Ringing 25. 20
26. 200 OK27. 200 OK
28. ACK 29. ACK30. A
Module 3: 196 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ission
transmission of the request.
eived, then sender switches
ransmissions of the
e starts a T1 timer when t an ACK in time it
ponses use PRACK. {For ctions see [70][71].}
eceived
Maguire SIP Message [email protected] 2010.08.26
SIP Message retransm
If a request is lost, then timeout T1 will generate a re
If a request is received and a provisional response is recto timeout T2 (to wait for the final response).
INVITE is different:
• receiving a provisional response stops all re-tINVITE;
• however, the sender of the provisional responsit sends its final response and if it does not geretransmits the final response.
If you want/need acknowledgement of provisional ressome problems with timeouts for non-INVITE transa
Timer default Purpose
T1 500ms Set when SIP request is first sentT2 4 sec. Longer timeout when a provisional response has been r
Module 3: 197 of 219Practical Voice Over IP (VoIP): SIP and related protocols
hangesict routing”
instead of the default outbound
e proxy” services (when you are
le, adding routing during a call)
s a transaction ID in Via
establish a dialog
Name (FQDN) instead of
ies
er be used)
Maguire RFC 3261 - Routing [email protected] 2010.08.26
RFC 3261 - Routing C• Introduced “loose routing” vs. RFC 3543’s “str
• Examples:– Pre-loaded (initial INVITE) Route header can be used
proxy (DOP)– Pre-loaded Route header can be used to invoke “hom
roaming)– Additional proxies can be added as needed (for examp
• All elements must insert branch paramater aheader fields
• Contact header required in all requests that • From and To tags are now mandatory• Recommend users of Fully Qualified Domain
IP addresses• Via loop detection no longer required of prox
• Use of Max-Forwards is now manadatory
• Via hiding is deprecated (i.e., should no long• because it turned out not to be secure or useful
Module 3: 198 of 219Practical Voice Over IP (VoIP): SIP and related protocols
vices
to an INVITE
an INVITE
lls
early media annoucement which contains the URI of the
Maguire RFC 3261 - New [email protected] 2010.08.26
RFC 3261 - New Ser• Customized ringing
• A trusted proxy can insert an Alert-Info header field in
• Screen Pops• A trusted proxy can insert an Call-Info header field into• URI can be HTTP and can contain call control “soft keys”
• Callback• Reply-to and In-Reply-To header - to assist in returning ca
• Annoucement handling• UAS or proxy need not make a decision about playing an
– Error response contains new Error-Info header fieldannoucement
• UAC makes a decision based on the user’s interface
Module 3: 199 of 219Practical Voice Over IP (VoIP): SIP and related protocols
IPDP are too verbose, hence mpressed. RFC 3485 [67] ignaling Compression
Maguire Compression of [email protected] 2010.08.26
Compression of SAs textual protocols, some might thing that SIP and SRFC 3486 [68] describes how SIP and SDP can be codescribes a static dictionary which can be used with S(SigComp) to achieve even higher efficiency.
Module 3: 200 of 219Practical Voice Over IP (VoIP): SIP and related protocols
e using SIP as primitives which can be
ivided into two sets:
enting Intelligent Network sses Capability Set 1:
Off-net calling (ONC)One number (ONE)Origin dependent routing (ODR)Originating call screening (OCS)Originating user prompter (OUP)
PM) Personal numbering (PN)t Premium charging (PRMC)
Private numbering plan (PNP)Reverse charging (REVC)Split charging (SPLC)Terminating call screening (TCS)Time dependent routing (TDR)
Maguire Intelligent Network service using [email protected] 2010.08.26
Intelligent Network servicITU has defined a set of service features (think of themuse to construct more complex services). These are d
• Capability Set 1: Service Features• Capability Set 2
J. Lennox, H. Schulzrinne, and T. F. La Porta, “ImplemService with the Session Initiation Procol” [74] addre
Abbreviated Dialing (ABD) Call queueing(QUE)Attendant (ATT) Call transfer (TRA)Authentication (AUTC) Call waiting (CW)Authorization code (AUTZ) Closed usergroup(CUG)Automatic callback (ACB) Consultation calling (COC)Call distribution (CD) Customer profile management (CCall forwarding (CF) Customer recorded announcemen
(CRA)Call forwarding on busy/don’t answer (CFC) Customized ringing (CRG)Call gapping (GAP) Destinating user prompter (DUP)Call hold with announcement (CHA) Follow-me diversion (FMD)Call limiter (LIM) Mass calling (MAS)Call logging (LOG) Meet-me conference (MMC)
Multi-way calling (MWC)
Module 3: 201 of 219Practical Voice Over IP (VoIP): SIP and related protocols
vicesng (OCS)[
)
g on busy/don’t answer (SCF)
g
t answer (no reply)
ng (TCS)
r (UAN)
ommunications (UPT)
DR)
(VPN)
Maguire Capability Set 1: [email protected] 2010.08.26
Capability Set 1: SerAbbreviated dialling (ABD) Originating call screeni
Account card calling (ACC) Premium rate (PRM)
Automatic alternative billing (AAB) Security screening (SEC
Call distribution (CD) Selective call forwardin
Call forwarding (CF) Selective call forwardin
Call rerouting distribution (CRD) Call forwarding on busy
Completion of calls to busy subscriber (CCBS) Call forwarding on don’
Conference calling (CON) Split charging (SPL)
Credit card calling (CCC) Televoting (VOT)
Destination call routing (DCR) Terminating call screeni
Follow-me diversion (FMD) Universal access numbe
Freephone (FPH) Universal personal telec
Malicious call identification (MCI) User-defined routing (U
Mass calling (MAS) Virtual private network
Module 3: 202 of 219Practical Voice Over IP (VoIP): SIP and related protocols
Maguire Capability Set [email protected] 2010.08.26
Capability Set 2
Wireless services
Inter-network services
Multimedia
Call pick-up
Calling name delivery
Module 3: 203 of 219Practical Voice Over IP (VoIP): SIP and related protocols
m/survey - augmented with ure:
message
sed on caller responses; e.g., via F prompts
efined routing parameters, priorities,
n a busy signal or no answer is
and be answered on multiple phone
origins
Maguire [email protected] 2010.08.26
FeaturesList of features adopted from http://www.miercom.comy own notes with respect to SIP supporting this feat
SIP Feature Description
✛ 911/E-911 support Emergency services
Audible message waiting
An audible indicator when there is a new
Automated attendant Answers and routes calls automatically baInteractive Voice Response (IVR) or DTM
✔ Automatic alternate routing
Routes calls automatically based on user-dand failover/availability decisions.
✔ Automatic call back Calls an extention back automatically wheencountered. Also known as Camp on.
Bridged call appearance Allows the same phone number to appear sets.
✔ Call blocking Selectively blocks calls from user-defined
Module 3: 204 of 219Practical Voice Over IP (VoIP): SIP and related protocols
gle call, established via user
eceiver.
ation.
ation when the user's is busy.
ation after a specified number of
es a call placed on hold.
resume it from another phone in the
.
, “The Session Inititation Protocol 16 May 2002 -- for ‘Attended
nother call pending.
alling party.
Maguire [email protected] 2010.08.26
✛ Call conference An audio path for multiple parties on a sinkeystrokes and no outside intervention.
✛ Call drop Terminates a call without hanging up the r
✔ Call forward all Redirects all calls to another station or loc
✔ Call forward on busy Redirects all calls to another station or loc
✔ Call forward on no answer
Redirects all calls to another station or locrings.
✔ Call hold Places an incoming call on hold or retriev
✔ Call pick-up Allows a user to place a call on hold, thensystem.
✛ Call return Calls back the last incoming number.
✛ Call transfer Redirects an answered call to another user
see Rick Dean, Billy Biggs, and R. Mahy(SIP) ’Replaces’ Header”, Internet Draft, Transfer’ and ‘Retrieve from Call Park’
✔ Call waiting An audible indicator heard when there is a
✔ Caller ID Displays the name and/or number of the c
SIP Feature Description
Module 3: 205 of 219Practical Voice Over IP (VoIP): SIP and related protocols
r group of extensions.
ers' privilege level(s).
oicemail at the push of a button.
the corporate LDAP directory.
characteristics, for example, internal
ce.
eously when one extension is dialed.
o another, accessing all calls, features,
on between two phones.
ension in a pre-defined group.
Maguire [email protected] 2010.08.26
Call Detail Recording (CDR)
Records call data on a specific extension o
Class of service Restricts access to features based upon us
Direct inward system access
Dial-in system station appearance.
✔ Direct transfer to voice mail
Automatically redirects all calls to users' v
Directory lookup Allows users to look up an extension from
✔ Distinctive ringing Uses a different ringtone for different callvs external calls.
✔ Do not disturb Makes the phone appear to be out of servi
✔ Follow me Rings multiple, disparate phones simultan
✔ Free seating/Hoteling Allows a user to move from one location tbutton mappings, etc.
Hot line Private line automatic ring-down connecti
Hunt groups Diverts calls to busy extensions to any ext
SIP Feature Description
Module 3: 206 of 219Practical Voice Over IP (VoIP): SIP and related protocols
thin a predefined group or department.
ging through the speakers of multiple
lready in progress.
Inititation Protocol (SIP) ’Join’ SIP multi-party applications and call ialog, for: ‘Barge-In’, ‘Message
ve alternative, based on user-defined
rogrammed messages for other
ves, often via a blinking light.
Maguire [email protected] 2010.08.26
✛ Intercom - phone-to-phone
An internal intercom that initiates calls wi
✛ Intercom - phone-to-multi-phone
An internal intercom that initiates voice paphone systems.
✛ Intrude Allows specific users to intrude on calls a
See R. Mahy and D. Petrie, “The SessionHeader” [73] - a new header for use with control; to logically join an existing SIP dScreening’, ‘and Call CenterMonitoring’
✛ Last number redial Redials the last outgoing call.
✔ Least-cost routing Routes outbound calls to the least expensiprioritization.
Leave word calling Allows internal users to leave short, pre-pinternal users.
Malicious call trace Allows users to initiate a call trace.
Message waiting indicator
Visibly indicates when new voicemail arri
✛ Missed call indicator Lists missed calls.
SIP Feature Description
Module 3: 207 of 219Practical Voice Over IP (VoIP): SIP and related protocols
peated instances of a single phone
ence.
hold.
st a feature of the client.)
f day, for example, plays a common
ne else who provides coverage with a
utton.
bers.
rtain calls, for example, “Your call
abbreviated access code.
database of names, extensions, etc.
Maguire [email protected] 2010.08.26
Multiple call appearance
Allows a single phone to have multiple, reextension.
✛ Multiple ring styles Changes the ringtone based on user prefer
✛ Music on hold Plays music for the caller when placed on
✛ Mute Disables the microphone. (This is really ju
✛ Night service Changes call coverage based on the time orecording for all calls at night.
✛ One-button send all calls
Automatically redirects all calls to someosingle button.
✛ One-button speed dial Dials a predefined number with a single b
✔ Personal call routing Defines routing parameters
Priority ringing Uses a different ringtone for specified num
Recorded announcements
Provides predefined announcements to cecannot be completed as dialed”.
✔ System speed dialing Dials frequently-called numbers using an
✛ User directory Allows any system endpoint to browser a
SIP Feature Description
Module 3: 208 of 219Practical Voice Over IP (VoIP): SIP and related protocols
sequence of the form *SS# are numeric. This is odes enumerated in ETSI
peaker, handset, and ringer.
to bridge into a call, allowing only the
Maguire [email protected] 2010.08.26
Coupling in and invoking services in the PSTN uses aor *SS*parameter#, where "SS" and "parameter"described in ETSI ETS 300 378 [79], with the ”SS” cTR102 083 [78].
Volume control Changes the volume individually for the s
✛ Whisper page Allows someone else (such as an assitant) local party to hear.
✔ Supported by SIP
✛ Supported by SIP + additional methods
SIP Feature Description
Module 3: 209 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ution, …
what you propose is
r each feature
e sufficient knowledge to
worked on by othershe Session Initiation
Maguire SIP development, evolution, …[email protected] 2010.08.26
SIP development, evolIn traditional IETF fashion is based on running code• So in your projects you should make sure that
really feasible by implementing it!• should have at least 2 interoperable implementations fo
• See the SIP mailing list (listen until you havcontribute)
• See the SIP Working Group for what is being • See “Guidelines for Authors of Extensions to t
Protocol (SIP)” [61]
Module 3: 210 of 219Practical Voice Over IP (VoIP): SIP and related protocols
col used between
ling used in one network
from that used in one
Maguire [email protected] 2010.08.26
Gateways• Gateway Location Protocol (GLP) - a proto
Location Server (LSs) {similar to BGP}• Signaling Gateway - to convert from the signa
to that of the other• Media Gateway - to convert the media format
network to that of the other
Module 3: 211 of 219Practical Voice Over IP (VoIP): SIP and related protocols
alling protocol (Release5)resence mechanism
nd IETF points of view
with a number of new components: Proxy nction (I-CSFC), Serving Call Session er (AS), Subscription Locator Function Function (MGCF), and Media Gateway
e 5.
network
Maguire [email protected] 2010.08.26
Significance• In July 2002, 3GPP adopted SIP for their sign• 3GPP adops SIMPLE as instant messaging/p
(Release6)
While there are some differences between the 3GPP a
Not suprisingly the 3GPP system (called “IMS”) for using SIP is rather complexCall Session Control Function (P-CSFC), Interrogating Call Session Control FuControl Function (S-CSFC), Home Subscriber Server (HSS), Application Serv(SLF), Breakout Gateway Control Function (BGCF), Media Gateway Control (MGW)
From Henning Schulzrinne, “SIP - growing up”, SIP 2003, Paris, January 2003, slid
3GPP IETF
Network does not trust the user User only partially trusts the
layer 1 and layer 2 specific generic
walled garden open access
Module 3: 212 of 219Practical Voice Over IP (VoIP): SIP and related protocols
work of SIP entitites, rather tc.
Maguire P2P [email protected] 2010.08.26
P2P SIPPeer-to-peer SIP
• http://www.p2psip.org/• http://tools.ietf.org/wg/p2psip/
Using peer-to-peer techniques to create an overlay netthan a fixed infrastructure of SIP registrars, proxies, e
Work in progress, with several implementations.
Module 3: 213 of 219Practical Voice Over IP (VoIP): SIP and related protocols
ReadingIP) IP Telephony, SIP, and www.voip-telephony.org/
c) Working Group, tml
p, Webpage,
ol (SIP) web page
Rosenberg, “SIP: Session roup, RFC 2543, March 3263, RFC 3264,
Maguire References and Further [email protected] 2010.08.26
References and Further[51] VOIP-TELEPHONY.ORG, “Voice over IP (Vo
ENUM resources”,Webpage, 7 May 2008 http://
[52] Multiparty Multimedia Session Control (mmusiWebpage, http://www.ietf.org/html.charters/mmusic-charter.h
SIP
[53] Session Initiation Protocol (SIP) Working Grouhttp://www.ietf.org/html.charters/sip-charter.html
[54] Henning Schulzrinne’s Session Initiation Protochttp://www.cs.columbia.edu/sip/
[55] M. Handley, H. Schulzrinne, E. Schooler, and J.Initiation Protocol”, IETF, Network Working G1999, Obsoleted by RFC 3261, RFC 3262, RFCRFC 3265, http://datatracker.ietf.org/doc/rfc2543/
Module 3: 214 of 219Practical Voice Over IP (VoIP): SIP and related protocols
Johnston, J. Peterson, R. ion Initiation Protocol”, e 2002, Updated by FC 5393, RFC 5621, .ietf.org/doc/rfc3261/
ration of Resource P)”, IETF, Network ated by RFC 4032,
Provisional Responses in twork Working Group, fc3262/
rotocol (SIP) Extension tacts”, IETF, Network pdated by RFC 5626,
Maguire References and Further [email protected] 2010.08.26
[56] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Sparks, M. Handley, and E. Schooler,”SIP: SessIETF, Network Working Group, RFC 3261, JunRFC 3265, RFC 3853, RFC 4320, RFC 4916, RRFC 5626, RFC 5630, RFC 5922, http://datatracker
[57] G. Camarillo, W. Marshall, J. Rosenberg, “IntegManagement and Session Initiation Protocol (SIWorking Group, RFC 3312, October 2002, UpdRFC 5027, http://datatracker.ietf.org/doc/rfc3312/
[58] J. Rosenberg and H. Schulzrinne, “Reliability ofthe Session Initiation Protocol (SIP)”, IETF, NeRFC 3262, June 2002, http://datatracker.ietf.org/doc/r
[59] D. Willis and B. Höneisen, “Session Initiation PHeader Field for Registering Non-Adjacent ConWorking Group, RFC 3327, December 2002, Uhttp://datatracker.ietf.org/doc/rfc3327/
Module 3: 215 of 219Practical Voice Over IP (VoIP): SIP and related protocols
003, Keynote speech at SIP
r Authors of Extensions to twork Working Group, fc4485/
) Refer Method”, IETF, 3,
) Referred-By Mechanism”, tember 2004,
nne, C. Huitema, and D. ion for Instant Messaging”, ember 2002,
Maguire References and Further [email protected] 2010.08.26
[60] Henning Schulzrinne, “SIP - growing up”, SIP 22003, Paris, France, January 2003, http://www.cs.columbia.edu/~hgs/papers/2003/SIP2003-keynote.ppt
[61] J. Rosenberg and H. Schulzrinne, “Guidelines fothe Session Initiation Protocol (SIP)”, IETF, NeRFC 4485, May 2006, http://datatracker.ietf.org/doc/r
[62] R. Sparks, “The Session Initiation Protocol (SIPNetwork Working Group, RFC 3515, April 200http://datatracker.ietf.org/doc/rfc3515/
[63] R. Sparks, “The Session Initiation Protocol (SIPIETF, Network Working Group, RFC 3892, Sephttp://datatracker.ietf.org/doc/rfc3892/
[64] B. Campbell (Editor), J. Rosenberg, H. SchulzriGurle, “Session Initiation Protocol (SIP) ExtensIETF, Network Working Group, RFC 3428, Dechttp://datatracker.ietf.org/doc/rfc3428/
Module 3: 216 of 219Practical Voice Over IP (VoIP): SIP and related protocols
SIP) UPDATE Method”, tember 2002,
ham, and K. Summers, w Examples”, IETF, 2003, Also Known As
, and A. B. Roach, “The scription Protocol (SDP) gComp)”, IETF, Network dated by RFC 4896,
on Protocol (SIP)”, IETF, 2003, Updated by
Maguire References and Further [email protected] 2010.08.26
[65] J. Rosenberg, “The Session Initiation Protocol (IETF, Network Working Group, RFC 3311, Sephttp://datatracker.ietf.org/doc/rfc3311/
[66] A. Johnston, S. Donovan, R. Sparks, C. Cunning“Session Initiation Protocol (SIP) Basic Call FloNetwork Working Group, RFC 3665, DecemberBCP 75, http://datatracker.ietf.org/doc/rfc3665/
[67] M. Garcia-Martin, C. Bormann, J. Ott, R. PriceSession Initiation Protocol (SIP) and Session DeStatic Dictionary for Signaling Compression (SiWorking Group, RFC 3485, February 2003, Uphttp://datatracker.ietf.org/doc/rfc3485/
[68] G. Camarillo, “Compressing the Session InitiatiNetwork Working Group, RFC 3486, February RFC 5049, http://datatracker.ietf.org/doc/rfc3486/
Module 3: 217 of 219Practical Voice Over IP (VoIP): SIP and related protocols
outable User Agent (UA) (SIP)”, IETF, Network /datatracker.ietf.org/doc/rfc5627/
the Session Initiation F, Network Working etf.org/doc/rfc4321/
ession Initiation Protocol’s (SIP) up, RFC 4320, January 2006, rg/doc/rfc4320/
ES) Requirement for the Session , RFC 3853, July 2004, Updates /rfc3853/
rotocol (SIP) "Join" 3911, October 2004,
Maguire References and Further [email protected] 2010.08.26
[69] J. Rosenberg, “Obtaining and Using Globally RURIs (GRUU) in the Session Initiation ProtocolWorking Group, RFC 5627, October 2009, http:/
[70] R. Sparks, “Problems Identified Associated withProtocol’s (SIP) Non-INVITE Transaction”, IETGroup, RFC 4321,January 2006, http://datatracker.i
[71] R. Sparks, “Actions Addressing Identified Issues with the SNon-INVITE Transaction”, IETF, Network Working GroUpdates RFC 3261, http://datatracker.ietf.o
[72] J. Peterson, “S/MIME Advanced Encryption Standard (AInitiation Protocol (SIP)”, IETF, Network Working GroupRFC 3261, http://datatracker.ietf.org/doc
[73] R. Mahy and D. Petrie, “The Session Initiation PHeader”, IETF, Network Working Group, RFC http://datatracker.ietf.org/doc/rfc3911/
Module 3: 218 of 219Practical Voice Over IP (VoIP): SIP and related protocols
, “Implementing Intelligent tocol, Technical Report, Science, CUCS-002-99, 002-99.pdf
nications Union ITU-T recommendation ability Set 1, Annex B,
Union Telecommunications 1: Introduction to Intelligent .int/rec/T-REC-Q.1221-199709-I
k for Telephony Routing 2871, June 2000,
Maguire References and Further [email protected] 2010.08.26
ITU Services CS-1 and CS-2
[74] J. Lennox and H. Schulzrinne, and T. F. La PortaNetwork Service with the Session Initiation ProColumbia University, Department of Computer January 1999, http://www.cs.columbia.edu/~hgs/papers/cucs-
[75] Study Group 11 of the International TelecommuTelecommunications Standards Sector (ITU-T),Q.1211: Introduction to Intelligent Network CapMarch 1993, http://www.itu.int/rec/T-REC-Q.1211-199303-I
[76] Study Group 11 of the International TelecommunicationsStandards Sector (ITU-T), ITU-T recommendation Q.122Network Capability Set 2, September 1997, http://www.itu
[77] J. Rosenberg and H. Schulzrinne, “A Frameworover IP”, IETF, Network Working Group, RFChttp://datatracker.ietf.org/doc/rfc2871/
Module 3: 219 of 219Practical Voice Over IP (VoIP): SIP and related protocols
vice codes for use in public elecommunications Sophia Antipolis, France,
1_60/tr_102083v010101p.pdf
ork (TMN); Q3 interface at ance management of V5 nterface specification”, tandards Institute (ETSI),
Maguire References and Further [email protected] 2010.08.26
[78] ETSI, “Human Factors (HF); Supplementary sernetwork service”, Technical Report, European TStandards Institute (ETSI), TR 102 083 V1.1.1, January 1999, 58 pages, ISBN 2-7437-2725-X http://www.etsi.org/deliver/etsi_tr/102000_102099/102083/01.01.0
[79] ETSI, “Telecommunications Management Netwthe Access Network (AN) for fault and performinterfaces and associated user ports; Part 1: Q3 iEdition: 1.2.1, European Telecommunications SETSI EN 300 378-1, 1 October 1999, 73 pages.
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
ion Announcement ol (SAP)f G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
SAP.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 4: SessProtoc
Lecture notes o
Module 4: 221 of 222Practical Voice Over IP (VoIP): SIP and related protocols
otocol (SAP)
vides the session setup
uncement:
5 range 224.2.128.0 - .2.127.254
scoped IP multicast are defined in the highest multicast address in
ange is 239.16.32.0 - .2550:0:2:7FFE where X is the 4-bit n assigned the address FF02:0:0:0:0:0:2:7FFE
ng (the use of TTL
Maguire Session Announcement Protocol (SAP)[email protected] 2010.08.26
Session Announcement PrDefined in RFC 2974 [80]
Primarily for multicast session announcement. It proinformation to prospective participants.
Each SAP announcer periodically multicasts an anno
• to a well known multicast address on port 987• IPv4 global scope sessions use multicast addresses in the
224.2.255.255 - their SAP announcements are sent to 224• IPv4 administrative scope sessions using administratively
[x], the multicast address to be used for announcements isthe relevant administrative scope zone, e.g., if the scope r239.16.33.255, then SAP announcements use 239.16.33
• IPv6 sessions are announced on the address FF0X:0:0:0:scope value, e.g., an announcement for a link-local sessioFF02:0:0:0:0:0:1234:5678, is advertised on SAP address
• has same scope as the session it is announciscoping for multicast is discouraged)
• IP time-to-live of 255See also [81]
Module 4: 222 of 222Practical Voice Over IP (VoIP): SIP and related protocols
Reading
74: Session Announcement /rfc2974.txt
ulticast Session Working Group, er 9, 2010, t-req-03
Maguire References and Further [email protected] 2010.08.26
References and FurtherSAP
[80] M. Handley, C. Perkins, and E. Whelan, RFC 29Protocol, IETF, October 2000 http://www.ietf.org/rfc
[81] H. Asaeda and V. Roca, Requirements for IP MAnnouncement in the Internet, IETF, MBONEDInternet-Draft, March 8, 2010, Expires: Septembdraft-ietf-mboned-session-announcement-req-03http://tools.ietf.org/html/draft-ietf-mboned-session-announcemen
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
sion Description ol (SDP)f G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
SDP.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 5: SesProtoc
Lecture notes o
Module 5: 224 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ocol (SDP)
streamingapplications
CODECs
RTSP
TCP
Maguire Session Description Protocol (SDP)[email protected] 2010.08.26
Session Description Prot
audio/video applications
signaling and control
video, audio, … CODECs RTCP
SDP
RTP SIP
UDP
IP
Module 5: 225 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ocol (SDP)
essageses [94]
rotocol.ession Description
iption Protocol [89]ssion Description
le Capability Declaration
Maguire Session Description Protocol (SDP)[email protected] 2010.08.26
Session Description ProtDefined by RFC 2327 [82], later RFC 4566 [83]
• describes media session• a text-based protocol• carried in MIME as a message body in SIP m• uses RTP/AVP Profiles for common media typ
Note: It is more a session description format than a p• RFC 3264: An Offer/Answer Model with the S
Protocol (SDP) [88]• RFC 3266: Support for IPv6 in Session Descr• RFC 3388: Grouping of Media Lines in the Se
Protocol [90]• RFC 3407: Session Description Protocol Simp
[92]
Module 5: 226 of 250Practical Voice Over IP (VoIP): SIP and related protocols
d Session Description ession (SigComp) [110]width Modifiers for RTP
) attribute in Session
th Modifier for the
Protocol: Alternative the Session Initiation
Session Description
r/Answer Examples [101]ession Description TSP) [109]
Maguire Session Description Protocol (SDP)[email protected] 2010.08.26
• RFC 3485: The Session Initiation Protocol anProtocol Static Dictionary for Signaling Compr
• RFC 3556: Session Description Protocol BandControl Protocol (RTCP) Bandwidth [100]
• RFC 3605: Real Time Control Protocol (RTCPDescription Protocol [95]
• RFC 3890: A Transport Independent BandwidSession Description Protocol [107]
• RFC 4092: Usage of the Session Description Network Address Types (ANAT) Semantics inProtocol (SIP) [103]
• RFC 4145: TCP-Based Media Transport in theProtocol [108]
• RFC 4317: Session Description Protocol Offe• RFC 4567: Key Management Extensions for S
Protocol and Real Time Streaming Protocol (R
Module 5: 227 of 250Practical Voice Over IP (VoIP): SIP and related protocols
rity Descriptions for
ce Filters [99]port over the Transport escription Protocol [111]
Label Attribute [102]trol - Conferencing for
at for Binary Floor
Content Attribute [105]
Maguire Session Description Protocol (SDP)[email protected] 2010.08.26
• RFC 4568: Session Description Protocol SecuMedia Streams [104]
• RFC 4570: Session Description Protocol Sour• RFC 4572: Connection-Oriented Media Trans
Layer Security (TLS) Protocol in the Session D• RFC 4574: The Session Description Protocol • RFC 4579:Session Initiation Protocol Call Con
User Agents [112]• RFC 4583: Session Description Protocol Form
Control Protocol (BFCP) Streams [113]• RFC 4796: The Session Description Protocol
Module 5: 228 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ails
-voltage.org
and Address
Maguire SDP Message [email protected] 2010.08.26
SDP Message Detv=0o=Tesla 289084526 28904526 IN IP4 lab.highs=-c=IN IP4 100.101.102.103t=0 0m=audio 49170 RTP/AVP 0a=rtpmap:0 PCMU/8000
• Version number (ignored by SIP)• Origin (not used by SIP)• Subject (ignored by SIP)• Connection Data
• connection: network (IN == Internet), Address type (IPv4),
• Time (ignored by SIP): start stop• Media (type, port, RTP/AVP Profile)• Attribute (profile, CODEC, sampling rate)
Module 5: 229 of 250Practical Voice Over IP (VoIP): SIP and related protocols
on
[xx] ⇒ xx is optional}
luded in all media]
<xx>+ ⇒ one or more times}
<xx>* ⇒ zero or more times}
sion-level]
Maguire Session [email protected] 2010.08.26
Session descriptiv= protocol versiono= owner/creator and session identifiers= session name[i= session information] { [u= URI of description][e= email address][p= phone number][c= connection information- not required if inc[b= bandwidth information]<Time description>+ { [z= time zone adjustments][k= encryption key][a= zero or more session attribute lines]* { <Media descriptions>*
Time descriptiont= time the session is active[r= zero or more repeat times]*
Media descriptionm= media name and transport address[i= media title][c= connection information-optional if included at ses[b= bandwidth information][k= encryption key][a= zero or more media attribute lines]*
Module 5: 230 of 250Practical Voice Over IP (VoIP): SIP and related protocols
xample
cp-attribute can be specified ith a NAT):
ss] <CRLF>
s=130.237.212.6
TP/AVP profile, profiles: 14 and 26
PA, sampling rate=90000
EG, sampling rate=90000
TP/AVP profile, profiles: 0 and 4
U (PCM μlaw), sampling rate=8000
M, sampling rate=8000
Maguire SDP Offer/Response [email protected] 2010.08.26
SDP Offer/Response E
If the RTCP port is not the next port number, then an rtin the form [95] (this might be useful in conjunction w
"a=rtcp:" port [nettype addrtype connection-addre
v=0 Version of SDP (0)
o= Origin - not use by SIP
c=IN IP4 130.237.212.6 Connection INternet, IPv4, addres
t= Time - not use by SIP
m=video 4004 RTP/AVP 14 26 Media Video, port=4004, type=R
a=rtpmap:14 MPA/90000 Attribute for profile 14, codec=M
a=rtpmap:26 JBEG/90000 Attribute for profile 26, codec=JB
m=audio 4006 RTP/AVP 0 4 Media Audio, port=4006, type=R
a=rtpmap:0 PCMU/8000 Attribute for profile 0, codec=PCM
a=rtpmap:4 GSM/8000 Attribute for profile 4, codec=GS
Module 5: 231 of 250Practical Voice Over IP (VoIP): SIP and related protocols
mple
s=130.237.21.87
VP profile, profiles: 14 ated by port = 0
TP/AVP profile, profiles: 4 audio and selects the GSM coded audio
M, sampling rate=8000
Maguire SDP Response [email protected] 2010.08.26
SDP Response Exav=0 Version of SDP (0)
o= Origin - not use by SIP
c=IN IP4 130.237.21.87 Connection INternet, IPv4, addres
t= Time - not use by SIP
m=video 0 RTP/AVP 14 Media Video, port=0, type=RTP/AReceiver declines the video, indic
m=audio 6002 RTP/AVP 4 Media Audio, port=6002, type=RReceiver declines the PCM coded
a=rtpmap:4 GSM/8000 Attribute for profile 4, codec=GS
Module 5: 232 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ione’s Bob to a session with in sdp1
ied this in his response
icate
s a change in the session oes not accept this change
th a new proposal (sdp2′′)
s with the session 1′
ication with the new spec.
Maguire Session [email protected] 2010.08.26
Session Modificat✟① Alice invitthe parameters
✍Bob’s modifsdp2.
They commun
③ Bob propose(sdp2′), Alice d
④ Bob tries wi
⑤ Alice acceptdescription sdp
They commun
Alice BobInvite, sdp1
180 Ringing
ACK
media session
200 OK, sdp2
Invite, sdp2′
405 Not Acceptable
ACK
Invite, sdp2′′
200 OK, sdp1′
new media session
①
✍
③
④
⑤
ACK
Module 5: 233 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ontinued)er party - it uses the INVITE. Ringing or other etween Alice and Bob is
spite the SIP signalling, hich time the new media
f the media particular media stream.ed from one wireless cell to o another, from one device to
Maguire Session modification (continued)[email protected] 2010.08.26
Session modification (c• The re-INVITE could have been done by eith
same To, From, and Call-ID as the original• Note that the re-INVITEs do not cause a 180
provisional messages, since communication balready underway.
• Note that the first media session continues deuntil a new agreement has been reached - at wsession replaces the former session.
• The re-INVITE can propose changes of any ocharacteristics, including adding or dropping a• this adding or dropping may be because the user has mov
another, from one network to another, from one interface tanother, …
Module 5: 234 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ese broadcast.
Maguire Start and Stop [email protected] 2010.08.26
Start and Stop TimEnable the user to join a broadcast sessions during th
tocol (SDP)[90] Module 5: 235 of 250Practical Voice Over IP (VoIP): SIP and related protocols
the Session DP)[90]
This is to support:
everal media streams) be received on different
error rate of a wireless channel)
-- see [90]):
Maguire Grouping of Media Lines in the Session Description [email protected] 2010.08.26
Grouping of Media Lines inDescription Protocol (S
Defines two SDP attributes:
• "group" and• "mid" - media stream identification
Allows grouping several media ("m") lines together.
• Lip Synchronization (LS) and• Flow Identification (FID) - a single flow (with s
that are encoded in different formats (and mayports and host interfaces)• Changing between codecs (for example based on current
Note FID does not cover the following (but SDP can• Parallel encoding using different codecs• Layered coding
Module 5: 236 of 250Practical Voice Over IP (VoIP): SIP and related protocols
on
lticast. First and the second
mple.com
ranslation
Maguire Lip [email protected] 2010.08.26
Lip SynchronizatiExample adapted from section 6.1 of [90].
A session description of a conference that is being mumedia streams MUST be synchronized.
v=0o=Laura 289083124 289083124 IN IP4 one.exat=0 0c=IN IP4 224.2.17.12/127a=group:LS 1 2m=audio 30000 RTP/AVP 0i=voice of the speaker who speaks in Englisha=mid:1m=video 30002 RTP/AVP 31i=video componenta=mid:2m=audio 30004 RTP/AVP 0i=This media stream contains the Spanish ta=mid:3
Module 5: 237 of 250Practical Voice Over IP (VoIP): SIP and related protocols
(SDPng)
sire for more complex mediait or leave it” proposal
cit.
e" have limited scope
Maguire Next generation of SDP (SDPng)[email protected] 2010.08.26
Next generation of SDP• Designed to address SDP’s ‘flaws’:
• Limited expressiveness– For individual media and combinations of media– Often only very basic media descriptions available -- de
• No real negotiation functionality - as SDP today is a “take • Limited extensibility (not nearly as easy to extend as SIP)• No semantics for media sessions! Sessions are only impli
• SDPng should avoid "second system syndrom• Hence it should be simple, easy to parse, extensible, and• Session Description and Capability Negotiation
Module 5: 238 of 250Practical Voice Over IP (VoIP): SIP and related protocols
e C in [98]:
e.xsdio-pkg.xsdeo-pkg.xsd-pkg.xsd" >
/audio:codec>
/video:codec>
p></alt></component></cfg></sdpng>
ema Specification” in [98].
Maguire SDPng [email protected] 2010.08.26
SDPng structurUses XML syntax - example adapted from Appendix<?xml version="1.0" encoding="UTF-8"?> <sdpng xmlns="http://www.iana.org/sdpng" xmlns:audio="http://www.iana.org/sdpng/audio" xmlns:video="http://www.iana.org/sdpng/video"3 xmlns:rtp="http://www.iana.org/sdpng/rtp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.iana.org/sdpng sdpng-bas http://www.iana.org/sdpng/audio sdpng-aud http://www.iana.org/sdpng/video sdpng-vid http://www.iana.org/sdpng/rtp sdpng-rtp <cap><audio:codec name="avp:dvi4"> <audio:encoding>DVI4</audio:encoding> <audio:channels>1</audio:channels> <audio:sampling>8000 11025 16000 22050</audio:sampling>< <audio:codec name="avp:l16"> <audio:encoding>L16</audio:encoding> <audio:channels>1 2</audio:channels> <audio:sampling>44100</audio:sampling></audio:codec> <video:codec name="avp:celb"> <video:encoding>CelB</video:encoding> <video:framerate>4 6 8 12 16 20 24 30</video:framerate>< <rtp:udp name="rtpudpip6"> <rtp:network>IP6</rtp:network></rtp:udp></cap> <def><rtp:udp name="rtp-cfg1" ref="rtpudpip6"> <rtp:ip-addr>::1</rtp:ip-addr> <rtp:rtp-port>9546</rtp:rtp-port></rtp:udp></def> <cfg><component> <alt> <audio:codec ref="avp:l16"/> <rtp:udp ref="rtp-cfg1"><rtp:pt>0</rtp:pt></rtp:ud
For details see appendices A.1 “SDPng Base DTD” and A.2 “SDPng XML-Sch
Module 5: 239 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ote: paragraphs reformatted to fit on slide]
ly strong case. XML is well understood,
3C is producing a schema description y of which are way more complex than
ASN.1 is the size of the messages, but d specialized parsers and libraries, you tax is hard to understand and a pain to
it, which is even worse, since it would
t this is an actual problem: SDP is used at a minimum several tens of kilobytes . If it is an actual problem, then we can will be hurt before us, and that we will
be a big problem.
onarc/openmash-developers/msg00315.html
Maguire Why [email protected] 2010.08.26
Why XML?To: "Pete Cordell" <[email protected]>, <[email protected]> [nSubject: RE: [sdp-ng] Encoding SDPng messages using UMF From: "Christian Huitema" <[email protected]> Date: Fri, 8 Jun 2001 09:39:27 -0700 Sender: [email protected] Thread-Index: AcDvP1amHX72K047Suy+kTYzoya+iAA+DJxA Thread-Topic: [sdp-ng] Encoding SDPng messages using UMF
If, at this date and time, you want to not use XML, then you need an extreme
there are many support tools, and many more are in development. The Wlanguage which is considered adequate for many business applications, manSDP.
The talks about ASN.1 are just that -- talks. The only possible advantage ofeven that is debatable. On the other hand, the cost is very well known: you neecannot easily use text tools for debugging or monitoring purposes, and the synextend. Most of the proponents of ASN.1 actually propose some variation ofrequire even more specific tools.
The main inconvenient of XML is that it can be bulky. I am not convinced thafor describing multimedia sessions, that normally last a few minutes and carryof media; the media stream dwarfs the signaling stream by orders of magnitudeindeed use compression. In fact, we can safely assume that other applicationsget generic XML compression tools sooner or later. All in all, that should not
Let’s not be silly. Just pick XML.
-- Christian Huitema
http://bmrc.berkeley.edu/mh
Module 5: 240 of 250Practical Voice Over IP (VoIP): SIP and related protocols
MUSIC Working Group:
P media capabilities
tion [85]hury, C. SivaChelvan, Description Protocol
ing, “Connectivity l Media Streams” [87] ol (SDP) Extension for a P URIs as addresses for
Maguire SDP [email protected] 2010.08.26
SDP todaySDP is still evolving in IETF drafts from the IETF, M
• R. Gilman and R. Even and F. Andreasen, SDNegotiation [84]
• F. Andreasen, SDP media capabilities Negotia• K. Hedayat, N. Venna, P. Jones, A. Roychowd
and N. Stratton, “An Extension to the Session(SDP) for Media Loopback” [86]
• F. Andreasen, G. Camarillo, D. Oran, and D. WPreconditions for Session Description Protoco
• : Yang and G. Mayer, “Session Description ProtocSIP Connection” [115] - to be able to include SImedia streams
Module 5: 241 of 250Practical Voice Over IP (VoIP): SIP and related protocols
[RFC4566] does not negotiate the QoS
a stream. Even when e choice of the QoS endpoints.
echanism need a way ticular media stream. Resource Reservation Steps in Signaling)
tion in the Session Description [106] published in March 2009
v attributes for SDP.
Maguire QoS and [email protected] 2010.08.26
QoS and SDP“The offer/answer model [RFC3264] for SDPprovide any mechanism for endpoints tomechanism to be used for a particular mediQoS preconditions [RFC3312] are used, thmechanism is left unspecified and is up to the
Endpoints that support more than one QoS mto negotiate which one to use for a parExamples of QoS mechanisms are RSVP (Protocol) [RFC2205] and NSIS (Next [QoS-NSLP].”
RFC 5432: Quality of Service (QoS) Mechanism SelecProtocol (SDP)
Introduces qos-mech-send and qos-mech-rec
Module 5: 242 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ith SDPge “Introduction to SDP for
Maguire Writing code to deal with [email protected] 2010.08.26
Writing code to deal wJesper A Nielsen ha written a very informative web paJava, C# and VB Developers” [116]
Module 5: 243 of 250Practical Voice Over IP (VoIP): SIP and related protocols
Reading
scription Protocol”, IETF, 8, Obsoleted by RFC 4566,
Session Description 4566, July 2006, Obsoletes 566.txt
media capabilities ETF Draft, February 2010, Expires: usic-sdp-media-capabilities-09
MMUSIC Working Group, IETF t, 24 March 2010, Expires: sdp-capability-negotiation-13
Maguire References and Further [email protected] 2010.08.26
References and FurtherSDP
[82] M. Handley and V. Jacobson, “SDP: Session DeNetwork Working Group, RFC 2327, April 199http://datatracker.ietf.org/doc/rfc2327/
[83] M. Handley, V. Jacobson, and C. Perkins, SDP:Protocol, IETF, Network Working Group, RFC RFC 2327 and RFC 3266, http://www.ietf.org/rfc/rfc4
[84] R. Gilman and R. Even and F. Andreasen, SDPNegotiation, IETF, MMUSIC Working Group, Idraft-ietf-mmusic-sdp-media-capabilities-09, 26August 30, 2010, http://tools.ietf.org/html/draft-ietf-mm
[85] F. Andreasen, SDP media capabilities Negotiation, IETF,Draft, draft-ietf-mmusic-sdp-capability-negotiation-13.txSeptember 2010 http://tools.ietf.org/html/draft-ietf-mmusic-
Module 5: 244 of 250Practical Voice Over IP (VoIP): SIP and related protocols
vaChelvan, and N. Stratton, “An edia Loopback”, IETF,
pires: October 8, 2010,
ectivity Preconditions for Session orking Group, IETF Draft, 4
txt
swer Model with SDP”, e 2002, Obsoletes RFC
v6 in SDP”, IETF, Network C 4566,
Grouping of Media Lines in the
cember 2002
Maguire References and Further [email protected] 2010.08.26
[86] K. Hedayat, N. Venna, P. Jones, A. Roychowdhury, C. SiExtension to the Session Description Protocol (SDP) for MMMUSIC Working Group, IETF Draft, 8 April 2010, Exhttp://tools.ietf.org/html/draft-ietf-mmusic-media-loopback-13
[87] F. Andreasen, G. Camarillo, D. Oran, and D. Wing, “ConnDescription Protocol Media Streams”, IETF, MMUSIC WMarch 2010, Expires: September 5, 2010, http://www.ietf.org/id/draft-ietf-mmusic-connectivity-precon-07.
[88] J. Rosenberg and H. Schulzrinne, “An Offer/AnIETF, Network Working Group, RFC 3264, Jun2543, http://datatracker.ietf.org/doc/rfc3264/
[89] S. Olson, G. Camarillo, and A. B. Roach, “Support for IPWorking Group, RFC 3266, June 2002, Obsoleted by RFhttp://datatracker.ietf.org/doc/rfc3266/
[90] G. Camarillo, G. Eriksson, J. Holler, and H. Schulzrinne,
Session Description Protocol (SDP), IETF RFC 3388, Dehttp://www.ietf.org/rfc/rfc3388.txt
Module 5: 245 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ssion Description Protocol) g Group, RFC 5888, June g/doc/rfc5888/
P) Simple Capability p://www.ietf.org/rfc/rfc3407.txt
antics in Session Group, RFC 4756,
istration of RTP Payload editor.org/in-notes/rfc3555.txt
P) attribute in Session ctober 2003
ia Streams to Resource http://www.ietf.org/rfc/rfc3524.txt
Maguire References and Further [email protected] 2010.08.26
[91] G. Camarillo and H. Schulzrinne, “The SDP (SeGrouping Framework”, IETF, Network Workin2010, Obsoletes RFC 3388, http://datatracker.ietf.or
[92] F. Andreasen, Session Description Protocol (SDDeclaration, IETF RFC 3407, October 2002. htt
[93] A. Li, “Forward Error Correction Grouping SemDescription Protocol”, IETF, Network WorkingNovember 2006, http://datatracker.ietf.org/doc/rfc4756/
[94] S. Casner and P. Hoschka, "‘‘MIME Type RegFormats", IETF RFC3555, July 2003 ftp://ftp.rfc-
[95] C. Huitema, "Real Time Control Protocol (RTCDescription Protocol (SDP)", IETF RFC 3605, Ohttp://www.ietf.org/rfc/rfc3605.txt
[96] G. Camarillo and A. Monrad, "Mapping of MedReservation Flows", IETF RFC 3524, April 2003
Module 5: 246 of 250Practical Voice Over IP (VoIP): SIP and related protocols
: Session Description 5, Expires: August 19, 2005 .txt
“Session Description and ebruary 20, 2005, Expires: music-sdpng-08.txt
n Protocol (SDP) Source f.org/rfc/rfc4570.txt
Bandwidth Modifiers for F, RFC, 3556, July 2003
n Protocol (SDP) cember 2005
ption Protocol (SDP) Label
Maguire References and Further [email protected] 2010.08.26
[97] M. Handley, V. Jacobson, and C. Perkins, “SDPProtocol”, IETF Internet-Draft, February 18, 200http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp-new-24
[98] Dirk Kutscher, Jörg Ott, and Carsten Bormann,Capability Negotiation”, IETF Internet-Draft, FAugust 21, 2005 http://www.ietf.org/internet-drafts/draft-ietf-m
[99] B. Quinn and R. Finlayson, “Session DescriptioFilters”, IETF, RFC 4570, July 2006 http://www.iet
[100]S. Casner, “Session Description Protocol (SDP)RTP Control Protocol (RTCP) Bandwidth”, IEThttp://www.ietf.org/rfc/rfc3556.txt
[101]A. Johnston and R. Sparks, “Session DescriptioOffer/Answer Examples”, IETF, RFC 4317, De
[102]O. Levin and G. Camarillo, “The Session DescriAttribute”, RFC 4574, August 2006
Module 5: 247 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ession Description Protocol AT) Semantics in the
092, June 2005
on Description Protocol ”, IETF, RFC 4568, July
escription Protocol (SDP) 2007
arillo, Quality of Service ription Protocol (SDP), rch 2009
difier for the Session Description itor, RFC 3890 (Proposed c-editor.org/rfc/rfc3890.txt
Maguire References and Further [email protected] 2010.08.26
[103]G. Camarillo and J. Rosenberg, “Usage of the S(SDP): Alternative Network Address Types (ANSession Initiation Protocol (SIP)”, IETF, RFC 4
[104]F. Andreasen, M. Baugher, and D. Wing, “Sessi(SDP) Security Descriptions for Media Streams2006 http://www.ietf.org/rfc/rfc4568.txt
[105]J. Hautakorpi and G. Camarillo, “The Session DContent Attribute”, IETF, RFC 4796, February http://www.ietf.org/rfc/rfc4796.txt
[106]James Polk, Subha Dhesikan, and Gonzalo Cam(QoS) Mechanism Selection in the Session DescIETF, Network Working Group, RFC 5432, Mahttp://tools.ietf.org/html/rfc5432
[107]M. Westerlund, A Transport Independent Bandwidth MoProtocol (SDP), Internet Request for Comments, RFC EdStandard), ISSN 2070-1721, September 2004 http://www.rf
Module 5: 248 of 250Practical Voice Over IP (VoIP): SIP and related protocols
ansport in the Session r Comments, RFC Editor, , September 2005, Updated
n, and E. Carrara, Key Protocol (SDP) and Real est for Comments, RFC 70-1721, July 2006
, and A. B. Roach, The scription Protocol (SDP) gComp), Internet Request d Standard), ISSN 96 [114]
Maguire References and Further [email protected] 2010.08.26
[108]D. Yon and G. Camarillo, TCP-Based Media TrDescription Protocol (SDP), Internet Request foRFC 4145 (Proposed Standard), ISSN 2070-1721by RFC 4572 http://www.rfc-editor.org/rfc/rfc4145.txt
[109]J. Arkko, F. Lindholm, M. Naslund, K. NorrmaManagement Extensions for Session DescriptionTime Streaming Protocol (RTSP), Internet RequEditor, RFC 4567 (Proposed Standard), ISSN 20http://www.rfc-editor.org/rfc/rfc4567.txt
[110] M. Garcia-Martin, C. Bormann, J. Ott, R. PriceSession Initiation Protocol (SIP) and Session DeStatic Dictionary for Signaling Compression (Sifor Comments, RFC Editor, RFC 3485 (Propose2070-1721, February 2003, Updated by RFC 48http://www.rfc-editor.org/rfc/rfc3485.txt
Module 5: 249 of 250Practical Voice Over IP (VoIP): SIP and related protocols
rt over the Transport Layer on Protocol (SDP), Internet Proposed Standard)", ISSN 572.txt
otocol (SIP) Call Control - for Comments, RFC Editor, 1721, August 2006
P) Format for Binary Floor est for Comments, RFC 70-1721, November 2006
aswamy, Requirements or Rollover, Internet (Informational), August
Maguire References and Further [email protected] 2010.08.26
[111] J. Lennox, Connection-Oriented Media TranspoSecurity (TLS) Protocol in the Session DescriptiRequest for Comments, RFC Editor, RFC 4572 (2070-1721, July 2006 http://www.rfc-editor.org/rfc/rfc4
[112] A. Johnston and O. Levin, Session Initiation PrConferencing for User Agents, Internet Request RFC 4579 (Best Current Practice), ISSN 2070-http://www.rfc-editor.org/rfc/rfc4579.txt
[113] G. Camarillo, Session Description Protocol (SDControl Protocol (BFCP) Streams, Internet RequEditor, RFC 4583 (Proposed Standard), ISSN 20http://www.rfc-editor.org/rfc/rfc4583.txt
[114] H. Eland, R. Mundy, S. Crocker, and S. KrishnRelated to DNS Security (DNSSEC) Trust AnchRequest for Comments, RFC Editor, RFC 4986 2007 http://www.rfc-editor.org/rfc/rfc4986.txt
Module 5: 250 of 250Practical Voice Over IP (VoIP): SIP and related protocols
tocol (SDP) Extension for a orking Group, June 24,
dress-type-01
# and VB Developers, The /IP/SDPIntroduction.aspx
Maguire References and Further [email protected] 2010.08.26
[115]L. Yang and G. Mayer, Session Description ProSIP Connection, Internet-Draft, IETF Network W2010, Expires: December 26, 2010 http://tools.ietf.org/html/draft-yang-dispatch-sip-connection-ad
[116]Jesper A Nielsen, Introduction to SDP for Java, CCode Project, 30 Jul 2010 http://www.codeproject.com/KB
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
NS and ENUMf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
DNS-ENUM.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 6: DLecture notes o
Module 6: 252 of 279Practical Voice Over IP (VoIP): SIP and related protocols
e-Context
l
number can be used, e.g.
th America (+1) and
r indicates that this is a ut the interpretation of s no assured geographic being local to a Class 5 ca}) ⇒ a proposal to ings see [131].
Maguire Telephony URL and [email protected] 2010.08.26
Telephony URL and PhonSIP URIs include Telephony URLs [138].
A Telephony URL looks like:tel: +358-555-1234567 a telephone terminafax: +358-555-1234567 a fax machine
Digit seperators of "-" or "." are ignored.
A Phone-Context sets the conditions under which thetel: 1-800-555-1234;phone-content:+1 972
• a phone number that can only valid within Norwithin the 972 exchange
• the absense of the "+" in the telephone numbelocal number, rather than a global number -- bthese local numbers is problematic (i.e.,there iarea nor can one depend on 7 digit numbers exchange {the traditional case in North Amerideprecate the use of unqualified local digit str
Module 6: 253 of 279Practical Voice Over IP (VoIP): SIP and related protocols
l numbering plan for llocation of numbers) from
operators are allocated cated their country/area
format is typically:
Maguire ITU-T [email protected] 2010.08.26
ITU-T E.164The ITU E.164[117] standard defines the internationatelephony and related documents list the delegation (athis number space[118].
Note that in most countries only telecommunicationsblocks of numbers, while countries or regions are alloprefix by the ITU.
Recommended maximum number of digits is 15. The
• Country Code (CC) - 1 to 3 digits• Identification Code (x) - 1 to 4 digits• Subscriber Number - 15 - (CC+x) digits
Module 6: 254 of 279Practical Voice Over IP (VoIP): SIP and related protocols
(From), current destination address (Contact)
example
rom the Internet to the PSTN E.164 umber (user=phone is not necessary, a hint to parsers that it is a numeric umber)
rom the Internet to the PSTN E.164 umber - the SIP messages should be ia TLS
erver determines gateway and forwards uest
ter a user at a SIP registrar
Maguire SIP [email protected] 2010.08.26
SIP URLSIP URL used in SIP messages to indicate: originator(Request-URI), final destination (To), and redirection
Examples:
sip:[email protected] simple
sip:[email protected];user=phone a call fphone nbut justphone n
sips:[email protected];user=phone a call fphone npassd v
sip:[email protected];user=phone proxy sthe req
sip:[email protected];method=register to regis
Module 6: 255 of 279Practical Voice Over IP (VoIP): SIP and related protocols
n Name Server (DNS) to n (ITU-T) international lephone numbers to a list of RL’s to initiate sessions.
e number in E.164 format, e Identifier (URI)
ay telia.se passing the local
UM)[126] updates the ic Delegation Discovery
01 [120].
Maguire [email protected] 2010.08.26
ENUMIETF’s E.164 Number Mapping standard uses Domaimap standard International Telecommunication Uniopublic telecommunications numbering plan (E.164) teUniversal Resource Locators (URL). SIP uses these U
For example, ENUM DNS [125] converts a telephone.g. +46812345, and returns e.g., a Universal ResourcSIP:[email protected]
Thus a SIP client makes a connection to the SIP gatewpart olle.svenson.
ENUM can return a wide variety of URI types.
RFC 3761: The E.164 to URI DDDS Application (ENENUM specification to be compatible with the DynamSystem (DDDS) Application specification in RFC 34
Module 6: 256 of 279Practical Voice Over IP (VoIP): SIP and related protocols
elephone Network (GSTN) signalling in addition to the
ip” of E.164 numbers.
here must be a way of the VoIP user.is limits what they can enter (for
VoIP become a part of the global llow at least some of the ITU rules
er needs to do an ENUM ay
e Internet?
an E.164 numberugh two VoIP gateways!}
Maguire [email protected] 2010.08.26
For details of Dial Sequences and Global Switched Tsee [129]. {Dial Sequences include pauses and other phone number}
Note that ENUM maintains the nation-state “ownersh
Why bother? {see [133]}
• In order for PSTN/IDSN user to call VoIP users, ttranslating an E.164 number to some way of reach• Since the PSTN user only has a telephone dialing pad - th
example ‘+’ entered as ‘*’).• However, due to ITU-T Rec. E.105 [136] -- this means that
public telephony service -- hence this translation has to fo• Which gateway should be used?
• For VoIP users to call a PSTN/ISDN user, calllookup and utilize a VoIP to PSTN/ISDN gatew• Which gateway?• Can the called user opt-in or opt-out of having calls from th
• VoIP caller to VoIP callee when the caller dials• Does it get routed to the PSTN and back? {I.e., going thro
Module 6: 257 of 279Practical Voice Over IP (VoIP): SIP and related protocols
minals
numbersur single number
ephony,
Maguire [email protected] 2010.08.26
• Use of Geographic numbers for fixed VoIP ter• easily enables 911 like services for their terminals too
• (Global | National) [non-geographic] personal • A personal or global or national number - which can be yo
• …
One problem is that IP communications is not IP Telit is VoIP + Chat + Instant Messaging + Video + … .
Module 6: 258 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ry Code (CC)164.arpa
the ENUM subscribersr; ENUM Registrar: national
13 Dec. 2002)
URIs) in NAPTR recordssses associated with each
of Manger
25]) and RFCs 3401, 3402, .
Maguire [email protected] 2010.08.26
DNSScales well (due to caching)
ENUM typically uses a 3 layer hierarchy
• Tier 0: ENUM Root Level• Top level domain for telephone numbers is: e164.arpa• DNS look up to find the country for a specific E.164-Count• Manager: IAB; Registry: RIPE NCC; Registrar: ITU TSB .e
• Tier 1: ENUM CC Level - DNS look up to find • Manager: ITU Member State; Registry: choice of Manage
choice• swedish example: 6.4.e164.arpa - registry: NIC-SE (as of
• Tier 2: ENUM E.164 Number Level• DNS stores a list over different internet based addresses (• Thus a look up ⇒ a list over different internet based addre
E.164-number• Manager: E.164-subscriber; DNS Service Provider: choice
For details see RFC 3761 ([126] replaced RFC 2916[13403, 3404 ([120] to [123] replaced RFC 2915[119])
] Module 6: 259 of 279Practical Voice Over IP (VoIP): SIP and related protocols
Pointer [119]
64.arpa
Maguire NAPTR - Naming Authority Pointer [[email protected] 2010.08.26
NAPTR - Naming Authority > set querytype=NAPTR> e164.arpaAuthoritative answers can be found from:e1origin = ns.ripe.netmail addr = e164-contacts.ripe.netserial = 2002100901refresh = 14400 (4H)retry = 3600 (1H)expire = 2419200 (4W)minimum ttl = 14400 (4H)
umber Module 6: 260 of 279Practical Voice Over IP (VoIP): SIP and related protocols
specific E.164
g the countrycode IDDD.
ption of the leading ’+’.
e digits. Example:
.6.8.9.7.6.1.2.3.4
.2.1.6.7.9.8.6.4ample:
Maguire To find the DNS names for a specific E.164 [email protected] 2010.08.26
To find the DNS names for a number
Procedure is:
• Write the E.164 number in its full form, includinExample: +46-8-9761234
• Remove all non-digit characters with the exceExample: +4689761234
• Remove all characters with the exception of th4689761234
• Put dots (".") between each digit. Example: 4• Reverse the order of the digits. Example: 4.3• Append the string ".e164.arpa" to the end. Ex
4.3.2.1.6.7.9.8.6.4.e164.arpa• Ask the DNS it returns:
• mailto: [email protected]• sip: [email protected]• …
Module 6: 261 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ssigned Country Codes” as doc/itu-t/ob-lists/icc/e164_763.html
gnment of ENUMs can be
December 2003 - see [127] 004 [128]. Leading to the this dissolved in 2008.
ENUM working group see:
services see [147] .. [149].
Maguire ENUM [email protected] 2010.08.26
ENUM Services• www.netnumber.com • Neustar (www.neustar.biz)
The ITU-T “List of ITU-T Recommendation E.164 Aof 1 February 2004 can be found at: http://www.itu.int/itu
The RIPE list of e-mail concerning the European assifound at http://www.ripe.net/enum/request-archives/
For a summary of the status of ENUM deployment inand the Post- och telestyrelsen (PTS) final report of 2formation of the ENUM Forum (http://www.enumforum.se) -
For the current status of ENUM according to RIPE’s http://enumdata.org/ .
For a summary of the IANA assignments for ENUM
Module 6: 262 of 279Practical Voice Over IP (VoIP): SIP and related protocols
CC (to whom they had enum/instructions.html
dea
ility of European ENUM Trials”
31 July 2003; trial to continue (see [139] and [140])loyments
Maguire ENUM [email protected] 2010.08.26
ENUM Timeline
The IAB instructions regarding ENUM to the RIPE Ndelegated e164.arpa) can be found at: http://www.ripe.net/
Sweden ENUM status is described at [132].
Sept. 2000 IETF ENUM WG produced RFC2916
2001 Various Workshops (ITU-T, Europe, US, …) to spread the i
Swedish PTS releases first ENUM report in April 2001
2002 ITU-T Interim Procedures (IAB, RIPE-NCC)
ETSI SPAN11 TS “ENUM Administration in Europe”
2003 ETSI SPAN11 TS “Minimum Requirements for Interoperab
IETF RFC2916bis
National and international ENUM Trials using:
♦ different scenarios and numbering resources
♦ different ENUM-enabled products
♦ Swedish PTS releases their ENUM report on until May 2004, final report due 30 June 2004
2004 ENUM considered ready for production ⇒ commercial dep
Module 6: 263 of 279Practical Voice Over IP (VoIP): SIP and related protocols
al role (as opposed to
lso control the associated ENUM chronization and validating
o list them in the DNS
Maguire ENUM [email protected] 2010.08.26
Interesting open questions (as described in [132]):
• Should the state have a permanent operationsimply an administrative role)• important that the subscriber with a given E.164 number a
domain name {Who is responsible for maintaining this synchanges?}
• Who finances the Tier 1 registry?• Need for regulations? Self-regulation? …• Privacy: need E.164 subscriber’s permission t• Are there business opportunities?• Will ENUM be successful?• …
Module 6: 264 of 279Practical Voice Over IP (VoIP): SIP and related protocols
pping2 +0100
gency
Maguire Sweden’s ENUM [email protected] 2010.08.26
Sweden’s ENUM MaApproved by ITU TSB on Fri, 29 Nov 2002 12:03:0
Domain Objectdomain: 6.4.e164.arpadescr: Swedish ENUM Mappingadmin-c: PTSE46-RIPEtech-c: SE194-RIPEzone-c: SE194-RIPEnserver: a.ns.6.4.e164.arpa nserver: b.ns.6.4.e164.arpa nserver: c.ns.6.4.e164.arpa nserver: d.ns.6.4.e164.arpa …Administrative Contactrole: ENUM Tier 1 Manageraddress: National Post and Telecom Aaddress: Box 5398address: SE-102 49 Stockholmaddress: Swedenphone: +46 8 678 55 69fax-no: +46 8 678 55 05e-mail: pts-enum-admin@localhosttrouble: enum-test-admin@localhostnic-hdl: PTSE46-RIPE…
Module 6: 265 of 279Practical Voice Over IP (VoIP): SIP and related protocols
nere will not be a separate ke their number with them tor - who could operate a g TDM over copper,
rtabilitet för framtida nät, amtrafik, ENUM och den nt description (in Swedish)
Maguire ENUM in [email protected] 2010.08.26
ENUM in SwedeThe EU directive on number portability means that thnumber space for IP telephony (as users are free to tafrom their existing telephony operator to a new operadifferent type of network: mobile, IP telephony, analoetc.).[142]
Note that Joakim Strålmark’s “Förstudie - Nummerpooch i samverkan med befintliga nät med aspekter på scentrala referensdatabasen” [142] provides an excelleof how ENUM works.
rs Module 6: 266 of 279Practical Voice Over IP (VoIP): SIP and related protocols
phic” numberselephony is that the concept earing[154] - as associating e assigned the number does in the scope of EU personal d by a new region or global
ing Space (ETNS) (+388 llocation is to be reclaimed
Maguire Declining interest in “geographic” [email protected] 2010.08.26
Declining interest in “geograAn interesting side effect of mobile telephony and IP tof an “area code” (“riktnummer”) seems to be disappa number with where you “lived” at the time you wernot seem to have much meaning. What doe this implymobility? For example, will country codes be replacecode?
Interestingly use of the European Telephony Numbernumbers) ended at the end of 2009, and the number aby the ITU at the end of 2010!
Module 6: 267 of 279Practical Voice Over IP (VoIP): SIP and related protocols
tionde a framework for the dor IP Communications”
ersal Personal ent of a UPT Service:
ission and an ENUM as Tier 1 Manager,
PSTN-IP.
ia https://www.enum2go.com/
ear registration).
Maguire VISIONng [email protected] 2010.08.26
VISIONng AssociaMission of VISIONng (http://www.visionng.org/): “to provideployment of worldwide inter-domain and multi-ven
ITU-T has assigned part of the country code for UnivTelecommunication (UPT) to VISIONng for deploym
+878 10
As of May 2002 VISIONng received ITU-TSB permDelegation from RIPE NCC; BearingPoint Inc. actingTelekom Austria acting as Tier 2 DNS.
These E.164 numbers can be used for both: IP-IP and
See also [137].
You can register for a number is the +878 10 range v
As of 2009.08.20 the cost was £25.85 (including a 1 y
Module 6: 268 of 279Practical Voice Over IP (VoIP): SIP and related protocols
UM and DNSlel to the e164.arpa ds for telephone numbers ber assignees)”[151].
bed in RFC 5067[153].
M could be combined in the
Maguire Carrier and user use of ENUM and [email protected] 2010.08.26
Carrier and user use of ENRFC 5526 proposed an “Infrastructure ENUM” paralnamespace to allow “carriers to provision DNS recorindependently of those provisioned by end users (num
The need for such an infrastructure ENUM are descri
RFC 5527[152] describes how the infrastructure ENUe164.arpa namespace.
Module 6: 269 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ering
ul addresses and the address his mapping? Which
rnet
etworks
…
Maguire Mapping and [email protected] 2010.08.26
Mapping and numb
Where are the mappings between the locally meaningfin the connected network performed? Who provides tmapping should be used? …
…
…
PSTN
Private Telephony networks
Inte
Private IP n
Module 6: 270 of 279Practical Voice Over IP (VoIP): SIP and related protocols
NUM
e end-user
routing, LDAP lookup, …, hich in turn does the work).
ort rapid changes in user n page 326)
Maguire SIP goes beyond [email protected] 2010.08.26
SIP goes beyond Eby offering additional features:
• User preferences
• Personal/Service/… mobility1
• Easy and secure updating of information by th
A given User Agent need not directly implement call but can instead utilize a default SIP outgoing proxy (w
Call Processing Language (CPL) can be used to supppreferences (see Call Processing Language (CPL) o
1. See SIP Mobility on page 280.
Module 6: 271 of 279Practical Voice Over IP (VoIP): SIP and related protocols
Reading
ation numbering plan”, mmunication Sector of ITU Telephone Service, Service ration - Number plan of the ruary 2005
ssigned Country Codes”, mmunication Sector of ITU on E.164, Annex to ITU ary 2005.
rity Pointer (NAPTR) DNS Obsoleted by RFCs 3401, xt
Maguire References and Further [email protected] 2010.08.26
References and FurtherE.164
[117]ITU-T, “The international public telecommunicInternational Telecommunication Union, Teleco(ITU-T), Series E: Overall Network Operation, operation, and Human Factors: International opeinternation telephone service, ITU-T E.164, Feb
[118]ITU-T, “List of ITU-T recommendation E.164 AInternational Telecommunication Union, Teleco(ITU-T): Complement to ITU-T RecommendatiOperational Bulletin No. 835 – 1.V.2005, Febru
DNS
[119] M. Mealling and R. Daniel, “The Naming AuthoResource Record”, RFC 2915, September 2000,3402, 3403, 3404. http://www.rfc-editor.org/rfc/rfc2915.t
Module 6: 272 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ystem (DDDS) Part One: or Comments, RFC Editor, tober 2002
ystem (DDDS) Part Two: s, RFC Editor, RFC 3402 2002
ystem (DDDS) Part Three: ternet Request for
tandard), ISSN 2070-1721,
ystem (DDDS) Part Four: net Request for Comments, SN 2070-1721, October
Maguire References and Further [email protected] 2010.08.26
[120]M. Mealling, “Dynamic Delegation Discovery SThe Comprehensive DDDS”, Internet Request fRFC 3401 (Informational), ISSN 2070-1721, Ochttp://www.rfc-editor.org/rfc/rfc3401.txt
[121]M. Mealling, “Dynamic Delegation Discovery SThe Algorithm”, Internet Request for Comment(Proposed Standard), ISSN 2070-1721, Octoberhttp://www.rfc-editor.org/rfc/rfc3402.txt
[122]M. Mealling, “Dynamic Delegation Discovery SThe Domain Name System (DNS) Database”, InComments, RFC Editor, RFC 3403 (Proposed SOctober 2002 http://www.rfc-editor.org/rfc/rfc3403.txt
[123]M. Mealling, “Dynamic Delegation Discovery SThe Uniform Resource Identifiers (URI)”, InterRFC Editor, RFC 3404 (Proposed Standard), IS2002 http://www.rfc-editor.org/rfc/rfc3404.txt
Module 6: 273 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ystem (DDDS) Part Five: equest for Comments, RFC 2070-1721, October 2002
FC 2916, September 2000, rfc2916.txt
E.164 to Uniform Resource System (DDS) Application ), ISSN 2070-1721, April
ent developments”, ance, 4 December 2003 20031204/
Maguire References and Further [email protected] 2010.08.26
[124]M. Mealling, “Dynamic Delegation Discovery SURI.ARPA Assignment Procedures”, Internet REditor, RFC 3405 (Best Current Practice), ISSNhttp://www.rfc-editor.org/rfc/rfc3405.txt
ENUM
[125]P. Faltstrom, “E.164 number and DNS”, IETF RObsoleted by RFC 3761. http://www.rfc-editor.org/rfc/
[126]P. Faltstrom and M. Mealling, “RFC 3761: The Identifiers (URI) Dynamic Delegation Discovery(ENUM)”, IETF RFC 3761 (Proposed Standard2004 http://www.rfc-editor.org/rfc/rfc3761.txt
[127]Carsten Schiefner, “ENUM - a snap-shot of currDeploying IPv6 Networks Conference, Paris, Frhttp://www.ripe.net/ripencc/about/presentations/ipv6-enum-paris-
Module 6: 274 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ort, 04:39, ISSN 1650-9862,
mber_2004_PTS_ER_2004_39.pdf
ences and Global Switched , RFC 3601, September 2003.
ing E.164 numbers with the 24, June 2004
Telephone Numbers in SIP : March 31, 2004 ls-phone-00.txt
om Agency in Sweden PE 47 Meeting, 28 January ripe47-enum-sweden.pdf
Maguire References and Further [email protected] 2010.08.26
[128]Post- och telestyrelsen (PTS), ENUM - SlutrappKommunikationsmyndigheten PTS, PTS-ER-2022 December 2004 http://www.pts.se/upload/Documents/SE/ENUM_Slutrapport_22%20dece
[129]C. Allocchio, “Text String Notation for Dial SequTelephone Network (GSTN) / E.164 Addresses”
[130]J. Peterson, H. Liu, J. Yu, and B. Campbell, “UsSession Initiation Protocol (SIP)”, IETF RFC 38http://www.ietf.org/rfc/rfc3824.txt
[131]R. Mahy, “Proposed Clarification of Encoding ofURIs”, IETF Internet-Draft, Oct. 2003, Expireshttp://www.ietf.org/internet-drafts/draft-mahy-sipping-user-equa
[132]Joakim Strålmark, “The National Post and Telec(PTS): A Regulator Perspective on ENUM”, RI2004 http://www.ripe.net/ripe/meetings/ripe-47/presentations/
Module 6: 275 of 279Practical Voice Over IP (VoIP): SIP and related protocols
ommunications”, IETF
-voip-00.txt
) Service Registration for tf.org/rfc/rfc3762.txt
n Initiation Protocol (SIP) 2004
Recommendation E.105,
Florianopolis, Brazil, October
25-2003-10_SG2_ENUM.ppt
bers”, IETF Internet-Draft,
05.txt
Maguire References and Further [email protected] 2010.08.26
[133]R. Stastny, “Numbering for VoIP and other IP CIETF-Draft, October 2003, Expires: April 2004 http://www.ietf.org/internet-drafts/draft-stastny-enum-numbering
[134]O. Levin, “Telephone Number Mapping (ENUMH.323”, IETF RFC 3762, April 2004 http://www.ie
[135]J. Peterson, “enumservice registration for SessioAddresses-of-Record”, IETF, RFC 3764, Aprilhttp://www.ietf.org/rfc/rfc3764.txt
[136]ITU-T, "International Telephone Service", ITU-TAugust 1992
[137]Richard Stastny, “Status of ENUM Trials”, SG2 Plenary,
2003 http://enum.nic.at/documents/AETP/Presentations/Austria/00
[138]H. Schulzrinne, ‘The tel URI for Telephone NumMarch 20, 2004, Expires: September 18, 2004 http://www.ietf.org/internet-drafts/draft-ietf-iptel-rfc2806bis-
Module 6: 276 of 279Practical Voice Over IP (VoIP): SIP and related protocols
:11, 2004-05-04
22 December 2004, ISSN rt_2004.pdf
International unication regulation in
10053
litet för framtida nät, och i amtrafik, ENUM och den sen (PTS), PTS-ER-2009:7,
i-framtida-nat-PTS-ER-2009-7.pdf
UM web page, published d.htm
Maguire References and Further [email protected] 2010.08.26
[139]PTS, Enum - Preliminary report - PTS-ER-2004http://www.pts.se/Dokument/dokument.asp?ItemId=3232
[140]PTS, “ENUM: Slutrapport”, PTS-ER-2004:39, 1650-9862 http://www.ficora.fi/suomi/document/ENUM_Slutrapo
[141]Robert Shaw, “‘ENUM: Country Experiences”,Telecommunication Union, Forum on TelecommAfrica, Kampala, Uganda, 3-5 November 2004
http://www.itu.int/osg/spu/presentations/2004/enum-country-experiences-ftra-uganda-rs.pdf&e=
[142]Joakim Strålmark, “Förstudie - Nummerportabisamverkan med befintliga nät med aspekter på scentrala referensdatabasen”, Post- och telestyrel2009-02-18 http://www.pts.se/upload/Rapporter/Tele/2009/Nummerportabilitet-
[143]Finnish Communication Regulatory Agency, ENOctober 22, 2003 http://www.ficora.fi/englanti/tele/enumn
Module 6: 277 of 279Practical Voice Over IP (VoIP): SIP and related protocols
Extensible Provisioning pires: June 1, 2005 txt
web page, Last Updated: html
l Irresponsibility”, Revised aw & Policy Reporter 9, 10 r.Clarke/DV/enumISOC02.html
istration for Enumservices 5, January 2006
Registration for Comments, RFC Editor,
21, February 2005,
Maguire References and Further [email protected] 2010.08.26
[144]S. Hollenbeck, “E.164 Number Mapping for theProtocol”, Internet-Draft, December 1, 2004, Exhttp://www.ietf.org/internet-drafts/draft-ietf-enum-epp-e164-08.
[145]Electronic Privacy Information Center, ENUM March 18, 2003 http://www.epic.org/privacy/enum/default.
[146]Roger Clarke, “ENUM - A Case Study in SociaVersion of 9 March 2003, published in Privacy L(March 2003) 181-187 http://www.anu.edu.au/people/Roge
[147]R. Brandner, L. Conroy, R. Stastny, “IANA Regemail, fax, mms, ems, and sms”, IETF, RFC 435ftp://ftp.rfc-editor.org/in-notes/rfc4355.txt
[148]R. Brandner, L. Conroy, and R. Stastny, “IANAEnumservice 'web' and 'ft'”, Internet Request forRFC 4002 (Proposed Standard), ISSN 2070-17http://www.rfc-editor.org/rfc/rfc4002.txt
Module 6: 278 of 279Practical Voice Over IP (VoIP): SIP and related protocols
Registration for ents", RFC Editor, RFC
bruary 2006
UM Dip Indicator or Comments, RFC Editor, 1, December 2006
iform Resource Identifiers (URI) tion for Infrastructure ENUM”, Informational), ISSN 2070-1721,
ed User and Infrastructure for Comments, RFC Editor, ay 2009
Maguire References and Further [email protected] 2010.08.26
[149]R. Brandner, L. Conroy, and R. Stastny, “IANAEnumservice Voice”, Internet Request for Comm4415 (Proposed Standard), ISSN 2070-1721, Fehttp://www.rfc-editor.org/rfc/rfc4415.txt
[150]R. Stastny, R. Shockey, and L. Conroy, “The ENParameter for the "tel" URI”, Internet Request fRFC 4759 (Proposed Standard), ISSN 2070-172http://www.rfc-editor.org/rfc/rfc4759.txt
[151]J. Livingood, P. Pfautz, and R. Stastny, “The E.164 to UnDynamic Delegation Discovery System (DDDS) ApplicaInternet Request for Comments, RFC Editor, RFC 5526 (April 2009 http://www.rfc-editor.org/rfc/rfc5526.txt
[152]M. Haberler, O. Lendl, and R. Stastny, “CombinENUM in the e164.arpa Tree”, Internet Request RFC 5527 (Informational), ISSN 2070-1721, Mhttp://www.rfc-editor.org/rfc/rfc5527.txt
Module 6: 279 of 279Practical Voice Over IP (VoIP): SIP and related protocols
equirements”, Internet (Informational), ISSN /rfc/rfc5067.txt
lestyrelsen (PTS), 15 april -minnesanteckningar-100415.pdf
Maguire References and Further [email protected] 2010.08.26
[153]S. Lind and P. Pfautz, “Infrastructure ENUM RRequest for Comments, RFC Editor, RFC 5067 2070-1721, November 2007 http://www.rfc-editor.org
[154]PTS, Minnesanteckningar från Nummerforum, Kommunikationsmyndigheten PTS Post- och te2010 http://www.pts.se/upload/Ovrigt/Tele/nummerforum/nrforum
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
SIP Mobilityf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
Mobility.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 7: Lecture notes o
Module 7: 281 of 284Practical Voice Over IP (VoIP): SIP and related protocols
tween subnetsIP supports this at the application
een terminalso the same services d/or networks subject to the current network’s
uted to the various terminals that o [158]
intained despite the user
Maguire SIP [email protected] 2010.08.26
SIP Mobility• Terminal mobility1 ⇒ the terminal moves be
• Note: Mobile IP supports this at the network layer, while Slayer (without requiring Mobile IP be underneath)
• Personal Mobility ⇒ the person moves betw• Service mobility ⇒ the person has access t
despite their movement between terminals an• note: the service may be reduced in quality or capabilities
capabilities -- but it is the same service• this implies that personalization of services must be distrib
the user wishes to use - see the dissertation of Roch Glith
• Session mobility ⇒ the same session is machanging from one device to another
1. Also known as network-level mobility.
Module 7: 282 of 284Practical Voice Over IP (VoIP): SIP and related protocols
bilitye number, since the number
name@domain, which can to! (i.e., fully qualified rlying network address -- it is mapping and it is always
ability see [156] and [157].
rtability and the availability rminals, “things”, etc.) see
Maguire Local Number [email protected] 2010.08.26
Local Number PortaIn the PSTN this means a complex set of lookups for this no longer tied to an exchange.
In SIP the portability occurs because of the lookup of be mapped to where ever the user wants this mapped domain names are unique, but are not tied to an undeis the name to address mapping which estabilishes thdynamic).
For some considerations of tel URIs and number port
For some additional information regarding number poof sufficient numbers for all of the entities (people, te[159] .. [164].
Module 7: 283 of 284Practical Voice Over IP (VoIP): SIP and related protocols
Reading
n of SIP-Mobile Minutes, on A, Minneapolis, -mobile-minutes-50.htm
he "tel" URI”, Internet (Proposed Standard), ISSN /rfc4694.txt
rtability in the Global rview”, IETF RFC 3482 ,
for Internet Telephony”, Doctoral onics and Information Technology,
smash/get/diva2:9108/FULLTEXT01
Maguire References and Further [email protected] 2010.08.26
References and FurtherSIP Mobility
[155]SIP Mobility informal meeting: Unedited Versio50th IETF, 730-830pm, March 20th 2001 at SalMinnesota, http://www.research.telcordia.com/SIP-mobile/sip
[156]James Yu, “Number Portability Parameters for tRequest for Comments, RFC Editor, RFC 4694 2070-1721, October 2006 http://www.rfc-editor.org/rfc
[157]M. Foster, T. McGarry, and J. Yu, “‘Number PoSwitched Telephone Network (GSTN): An OveFebruary 2003 http://www.ietf.org/rfc/rfc3482.txt
Service Mobility
[158] Roch H. Glitho, “A Mobile Agent Based Service Architecture Dissertation, Royal Institute of Technology (KTH), Microelectr
TRITA-IT-AVH:02:01, April 2002. http://kth.diva-portal.org/
Module 7: 284 of 284Practical Voice Over IP (VoIP): SIP and related protocols
ilitet, Slides, PTS, 23 October
gsprefix_NP_framtiden_NP_071025.pdf
, Slides, PTS, 29 April 2009 2-np-for-framtida-nat-090429.pdf
m, Slides, PTS, 22 October 2009 -3-np-framtida-nat-091022.pdf
nummer – Framtida
-natteknisk-utveckling-081211.pdf
ur telefoninummerplanen”,
ng-nummerkapacitet-080424.pdf
, 16 June 2004
Maguire References and Further [email protected] 2010.08.26
Number portability
[159]Joakim Strålmark, Dirigeringsprefix NP: Framtida portab
2007 http://www.pts.se/upload/Ovrigt/Tele/NF_Bilaga_4_Dirigerin
[160]Joakim Strålmark, “NP för framtida nät –Nummerforum”
http://www.pts.se/upload/Ovrigt/Tele/nummerforum/nrforum-bilaga-
[161]PTS, “NP för framtida nät – Fortsatt arbete”, Nummerforu
http://www.pts.se/upload/Ovrigt/Tele/Nummerfragor/nrforum-bilaga
[162]PTS, “Nätteknisk utveckling för nät som använder telefon
telefoninummerplan”, Slides, PTS, 15 December 2008 http://www.pts.se/upload/Ovrigt/Tele/nummerforum/nrforum-bilaga3
[163]Joakim Strålmark, “Implementering av nummerkapacitetArbetsgruppens avrapportering, PTS, 24 April 2008 http://www.pts.se/upload/Ovrigt/Tele/nummerforum/nrforum-bilaga2-implementeri
[164]Thomas Florenteng, Nummerserie for M2M, Bilaga, PTS
http://www.pts.se/upload/Documents/SE/Nummerserie_for_M2M_Bilaga
IK2554 IP (VoIP): SIP and olsod 1
Maguire r.fm Total pages: [email protected]
© 2004, 2005, 2006, 2007, 2008, 2009 G.Q.MAll rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:27
KTH Information andCommunication Technology
(Telia) Examplef G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2009, Peri
SIP-Telia-example-place-holde 2010.08.26
aguire Jr. .y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 8: SIPLecture notes o
lephony) Module 8: 286 of 320Practical Voice Over IP (VoIP): SIP and related protocols
honyephony)
IP telephone subscription
VPSTN
nternet
Maguire Example of IP Telephony (Telia’s Broadband [email protected] 2010.08.26
Example of IP Telep(Telia’s Broadband Tel
Figure 16: User at home with broadband connectivity and a
VI
LAN
VLAN Switch
Switch/Routerin building
ISP’snetwork
ATA
user’s (analog) telephone
Home
Module 8: 287 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Reading
http://www.tilgin.com/
IP Gateway Applications ber SPRS255, June 2004,
/tnetv1060_datasheet.pdf
Maguire References and Further [email protected] 2010.08.26
References and FurtherSIP Example
[165]Tilgin AB, web page, las accessed 2010.08.05,
[166]TNETV1060 Communications Processor for VoData Manual, Texas Instruments, Literature Num139 pages http://focus.ti.com/pdfs/vf/bband
Module 8: 288 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 289 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 290 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 291 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 292 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 293 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 294 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 295 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 296 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 297 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 298 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 299 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 300 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 301 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 302 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 303 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 304 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 305 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 306 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 307 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 308 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 309 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 310 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 311 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 312 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 313 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 314 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 315 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 316 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 317 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 318 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 319 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
Module 8: 320 of 320Practical Voice Over IP (VoIP): SIP and related protocols
Maguire References and Further [email protected] 2010.08.26
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
Service Creationf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
Service-Creation.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 9: SIPLecture notes o
Module 9: 322 of 344Practical Voice Over IP (VoIP): SIP and related protocols
iongnaling information via SIP
Maguire SIP Service [email protected] 2010.08.26
SIP Service CreatIt is the increased opportunities for the exchange of siwhich enables many new features and services.
Module 9: 323 of 344Practical Voice Over IP (VoIP): SIP and related protocols
d by x
hapter 6 of Sinnreich and
Maguire Services implemented by [email protected] 2010.08.26
Services implementeWhere x is:
• proxy server,• called user agent,• calling user agent, or• Back-to-Back User Agent (B2BUA)
See examples of call-forward, no-answer service in cJohnston[2].
Module 9: 324 of 344Practical Voice Over IP (VoIP): SIP and related protocols
Extensions
PLE working groups
OPTION request, unless
Supported header1 interoperability problemsnt how the extension this extension
ot supported
d
equested feature
Maguire Services implemented by [email protected] 2010.08.26
Services implemented by i.e., new methods and headers
See the activities of the IETF SIP, SIPPING, and SIM
Proxy servers - simply treat unknown methods as anthere is a Proxy-Require header.
User agents return:
• All SIP extensions which use the Require ormust be documented as an RFC - to prevent
• All standardized SIP extensions must documeinteracts with elements that don’t understand
405 Method Not Allowed if the method is recognized, but n
500 Bad Request if it does not recognize the metho
420 Bad Extension if the UAS does not support the r
1. See Other header fields on page 167
Module 9: 325 of 344Practical Voice Over IP (VoIP): SIP and related protocols
ic
PL IP Java Servlets IP CGI
Maguire SIP Service [email protected] 2010.08.26
SIP Service Log
• Call Processing Language (CPL)• SIP Common Gateway Interface (CGI)• SIP Java Servlets
SIP Server
Service Logic
CSS
UploadCPL scripts
Downloadserverlets
Locally create
Module 9: 326 of 344Practical Voice Over IP (VoIP): SIP and related protocols
ge (CPL)d [168]
controlling call services.
ps, or the ability to run upload services to their SIP ions and acting based on …).
” and strict parsing1 is done
1], this includes an example
Maguire Call Processing Language (CPL)[email protected] 2010.08.26
Call Processing LanguaRFC 2824: Call Processing Language (CPL) [167] an
An XML-based scripting language for describing and
CPL is a very simple language without variables, looexternal programs! {Hence non-trusted end users can server} However, it has primitives for making deciscall properties (e.g., time of day, caller, called party,
There is a Document Type Definition (DTD) “cpl.dtdbased on this DTD.
See also Chapter 13 of Practical VoIP: Using VOCAL[of developing a feature in CPL
See also the dynamic loading of CPL in [171].
1. Thus any discrepancies between the script and the scheme are errors.
Module 9: 327 of 344Practical Voice Over IP (VoIP): SIP and related protocols
rface (CGI)]
server and passes message ocess. This process sends tput file descriptor.
se programming languages) usted users can be allowed
d the body and can therefore .
Maguire SIP Common Gateway Interface (CGI)[email protected] 2010.08.26
SIP Common Gateway InteRFC 3050: Common Gateway Interface for SIP [169
Similar to HTML CGI, a SIP CGI script resides on theparameters via environment variables to a separate prinstructions back to the server through its standard ou
Scripts can be written in Perl, Tcl, C, C++, Java, …
Of course these scripts (being based on general purpodo not have the limitations of CPL and hence only trto provide such scripts.
CGI scripts have access to both the request headers ando general computations based on all this information
Module 9: 328 of 344Practical Voice Over IP (VoIP): SIP and related protocols
ses to the SIP servelets.
f using a separate process, ava Virtual Machine (JVM)
stems, due to the portability
ervlet API Extensions”,
00.txt
tner, “The SIP Servlet API”,
xt d, but is referenced (and large
289[172].
Maguire SIP Java [email protected] 2010.08.26
SIP Java ServletExtends functionality of SIP client by passing messag
Servlets are similar to the CGI concept, but instead othe messages are passed to a class that runs within a Jinside the server.
Servlets are portable between servers and operating syof the Java code.
For details see: K. Peterbauer, J. Stadler, et al., “SIP SFebruary 2001, (an expired internet draft) http://www.cs.columbia.edu/sip/drafts/draft-peterbauer-sip-servlet-ext-
SIP Servlets were defined in A. Kristensen and A. BytIETF Draft, September 1999, http://www.cs.columbia.edu/sip/drafts/draft-kristensen-sip-servlet-00.t
• Unfortunately this draft expired and was not carried forwarparts included) in subsequent work. See also [170].
• Today SIP Java Servlets are specified in JSR 116 and JSR
Module 9: 329 of 344Practical Voice Over IP (VoIP): SIP and related protocols
cross circuit switched and oal is provisioning of
re. (via Java portability) - Any Network
evices
ve
maps directly to RFC
, to allow application P as their underlying e of SIP -
Maguire JAIN [email protected] 2010.08.26
JAIN APIsProviding a level of abstraction for service creation apacket networks, i.e., bridging IP and IN protocols. Gtelecom services by:
• Service Portability: - Write Once, Run Anywhe• Network Convergence: (Integrated Networks)• Service Provider Access - By Anyone!
• to allow services direct access to network resources and d
SIP APIs - especially those within the JAIN™ initiati(http://java.sun.com/products/jain/index.jsp) :
• JAIN SIP (JSR-000032) - a low level API that 2543 - http://jcp.org/en/jsr/detail?id=32
• JAIN SIP Lite (JSR-000125)- a high-level APIdevelopers to create applications that have SIprotocol without needing extensive knowledghttp://jcp.org/en/jsr/detail?id=125
Module 9: 330 of 344Practical Voice Over IP (VoIP): SIP and related protocols
anipulate SDP
.org/en/jsr/detail?id=116
nge messages between SIMPLE
e and manipulate instant rvers
esence information between a agent)
SR-000123) -
nipulate Presence information jsr/detail?id=186
mentation of Parlay APIse JAIN SPA JSRs
I (JSR-000119)
/jcp.org/en/jsr/detail?id=98
Maguire JAIN [email protected] 2010.08.26
• SDP API (JSR-000141) - to enable users to mmessages http://jcp.org/en/jsr/detail?id=141
• JAIN SIP Servlet API (JSR-000116) - http://jcp• SIMPLE related APIs
• JAIN SIMPLE Instant Messaging (JSR-000165) - to exchaclients http://jcp.org/en/jsr/detail?id=165
• JAIN Instant Messaging (JSR-000187) - to control, managmessages between clients through the use of presence sehttp://jcp.org/en/jsr/detail?id=187
• JAIN SIMPLE Presence (JSR-000164 ) - to manipulate prSIMPLE client (watcher) and a presence server (presencehttp://jcp.org/en/jsr/detail?id=164
• JAIN Presence and Availability Management (PAM) API (Jhttp://jcp.org/en/jsr/detail?id=123
• JAIN Presence (JSR-000186) - to control, manage and mabetween Presence clients and servers http://jcp.org/en/
• JAIN Service Provider APIs (SPA) - Java imple• JAIN SPA Common API (JSR-000145) common across th
http://jcp.org/en/jsr/detail?id=145 • JAIN SPA Integrity Management and Event Notification AP
http://jcp.org/en/jsr/detail?id=119
• Regarding Location• JAIN User Location and Status API (JSR-000098) - http:/
Module 9: 331 of 344Practical Voice Over IP (VoIP): SIP and related protocols
terrogate the location and status =194
2) -
PI to query heir service-specific en/jsr/detail?id=161 enable mobile ther
d at:
Maguire JAIN [email protected] 2010.08.26
• JAIN User Location and Status (ULS) (JSR-000194) - to inof a user’s mobile device http://jcp.org/en/jsr/detail?id
• JAIN OAM API Specification v2.0 (JSR-00013http://jcp.org/en/jsr/detail?id=132
• JAIN ENUM API Specification (JSR-000161) - Aand provision E.164 telephone numbers and tUniform Resource Identifiers (URI) http://jcp.org/
• JAIN 3G MAP Specification (JSR-000137) - toapplications in the 3G domain to talk to each ohttp://jcp.org/en/jsr/detail?id=137
The full list of JAIN related specification can be founhttp://java.sun.com/products/jain/api_specs.html
SIP and Jain Module 9: 332 of 344Practical Voice Over IP (VoIP): SIP and related protocols
ndards and d Jain
Maguire US National Institute of Standards and Technology [email protected] 2010.08.26
US National Institute of StaTechnology - SIP an
http://www-x.antd.nist.gov/proj/iptel/
• NIST-SIP 1.2• JAIN-SIP Proxy• JAIN-SIP Instant Messaging Client• JsPhone - a JAIN-SIP Video Phone• NIST-SIP traces viewer• JAIN-SIP gateway• JAIN-SIP Third Party Call Controller
Module 9: 333 of 344Practical Voice Over IP (VoIP): SIP and related protocols
pen APIs that “intimately unications world”.
of the telecommunication
capabilities and
upporting necessary for eable.
e (UML).
Maguire [email protected] 2010.08.26
ParlayParlay Group formed (1998) to specify and promote olink IT applications with the capabilities of the comm
Goal: to allow applications to access the functionalitynetwork in a secure way.
Parlay APIs:
• Service interfaces - provide access to networkinformation
• Framework interfaces provide the underlying sthe service interfaces to be secure and manag
The APIs are defined in Universal Modeling Languag
For further info see: http://www.parlay.org/ and [176].
Module 9: 334 of 344Practical Voice Over IP (VoIP): SIP and related protocols
ice Controlxt using SIP Request-URI”, anism to communicate
a distinctive Request-URI).
n and the information about re forwarded to the being forwarded to the er call).
Maguire SIP Request-URIs for Service [email protected] 2010.08.26
SIP Request-URIs for ServB. Campbell and R. Sparks, “Control of Service ConteIETF RFC 3087, April 2001 [177] - proposes a mech
context information1 to an application (via the use of
Using different URIs to provide both state informatiowhat lead to this state transition (for example, you wevoicemail system because the user did not answer vs.voicemail system because the user is busy with anoth
1. Call state information, such as the calling party, called party, reason for forward, etc.
Module 9: 335 of 344Practical Voice Over IP (VoIP): SIP and related protocols
tion Protocol (SIP) request apsulates a final status code
eneous Error Response
Maguire Reason [email protected] 2010.08.26
Reason HeaderSince it is (often) useful to know why a Session Initiawas issued, the Reason header was introduced. It encin a provisional response.
This functionality was needed to resolve the "HeterogForking Problem" (HERFP).
For details see [178].
L³™) Module 9: 336 of 344Practical Voice Over IP (VoIP): SIP and related protocols
Language
dio in and out) that feature: oken and DTMF key input, ative conversations.
ent and content delivery to
projects/openvxi ) - an open
e Response (IVR) systems.
Maguire Voice eXtensible Markup Language ([email protected] 2010.08.26
Voice eXtensible Markup(VoiceXML³™)
VoiceXML designed for creating audio dialogs (i.e., ausynthesized speech, digitized audio, recognition of sprecording of spoken input, telephony, and mixed-initi
Goal: To bring the advantages of web-based developminteractive voice response applications.
For details see: http://www.w3.org/TR/voicexml [179]
Open VXI VoiceXML Interpreter ( http://sourceforge.com/source library to interpret VoiceXML.
VoiceXML is designed to go beyond Interactive Voic
Module 9: 337 of 344Practical Voice Over IP (VoIP): SIP and related protocols
XML) 80] provides a standardized CXML you can set up,
ation and Editor and Chair, oduction to CCXML [181].
rocess, but only does call
from a given caller ID, but nected to an instance of a information from the caller agent - who could of course t up on their display based
is often called “Computer
Maguire CallControl XML (CCXML)[email protected] 2010.08.26
CallControl XML (CCW3C’s Voice Browser Working Group’s CCXML [1means of call control encoded in XML. Thus using Cmodify, and tear down calls.
RJ Auburn, Chief Technology Officer, Voxeo CorporW3C CCXML working group has written a good intr
Unlike VoiceXML, CCXML does not do any media pcontrol.
You can easily write CCXML that can answer a call reject others. When the call is answered, it can be conVoiceXML server. The VoiceXML server can collectand then the call could be redirected to a human user have all of the information relevant to this call broughon processing of the collected information (this later Telephony Integration (CTI)”).
Module 9: 338 of 344Practical Voice Over IP (VoIP): SIP and related protocols
tions
83]
]
Maguire CCXML [email protected] 2010.08.26
CCXML implementa• Voxeo’s Prophecy IVR platform [182]• Oktopous™ ccXML Platform Integration Kit [1• Oktopous™, ccXML Open Source PIK [184]• CCXML4J - a CCXML interpreter in Java [185
Module 9: 339 of 344Practical Voice Over IP (VoIP): SIP and related protocols
d SailFin SIP servlets technology
ev.java.net/
7].
sfish at:
Maguire Projects: GlassFish and [email protected] 2010.08.26
Projects: GlassFish anSailFin - IMS Application Server supporting JSR 289
For details see: SailFin[186] website, https://sailfin.d
For an application built using this technology see [18
There is an example of a Click to Dial service in Glashttp://wiki.glassfish.java.net/Wiki.jsp?page=SipClickToDialExample2
Module 9: 340 of 344Practical Voice Over IP (VoIP): SIP and related protocols
Reading
Language Framework and
cessing Language (CPL): A y Services”, IETF RFC /rfc/rfc3880.txt
ommon Gateway Interface
. thesis, Department of March 2000.
. Thesis, Department of hnology (KTH), COS/CCS
es_Oukhay-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
References and FurtherSIP Service Creation
[167] J. Lennox and H. Schulzrinne, “Call ProcessingRequirements”, IETF RFC 2824, May 2000.
[168]J. Lennox, X. Wu, and H. Schulzrinne, “Call ProLanguage for User Control of Internet Telephon3880, October 2004 http://www.ietf.org
[169]J. Lennox, H. Schulzrinne, and J. Rosenberg, “Cfor SIP”, IETF RFC 3050, January 2001.
[170]Anders Byttner, “SIP Caller Preferences”, M.ScTeleinformatics, Royal Institute of Technology,
[171]Younes Oukhay, Context Aware Services, M.ScCommunication Systems, Royal Institute of Tec2006-3, January 25, 2006 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/060125-Youn
Module 9: 341 of 344Practical Voice Over IP (VoIP): SIP and related protocols
vlet v1.1
ving Integrity in lay Service Interface”, M.S. on Technology, Royal
us-Almkvist-and-Marcus-Wahren.pdf
Context using SIP //www.ietf.org/rfc/rfc3087.txt
Maguire References and Further [email protected] 2010.08.26
[172]Java Specification Requests (JSR 289): SIP Serhttp://www.jcp.org/en/jsr/detail?id=289
JAIN
[173] JAIN website: http://java.sun.com/products/jain
[174] Java Community Process website: http://jcp.org/
[175]JAIN SIP 1.0 API specificationParley
[176]Magnus Almkvist and Marcus Wahren, “PreserTelecommunication Networks opened by the ParThesis, Dept. of Microelectronics and InformatiInstitute of Technology, Sept. 2002 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/020930-Magn
SIP Request URI
[177]B. Campbell and R. Sparks, “Control of ServiceRequest-URI”, IETF RFC 3087, April 2001 http:
Module 9: 342 of 344Practical Voice Over IP (VoIP): SIP and related protocols
e Reason Header Field for 3326, December 2002
ald Karam, David Ladd, sible Markup Language 2000
Mark Scott (Editors), Voice 3C Candidate 2010/CR-ccxml-20100401/
e, Voxeo Corporation, last ccxml.jsp
, webpage, Voxeo
Maguire References and Further [email protected] 2010.08.26
Reason Header
[178]H. Schulzrinne, D. Oran, and G. Camarillo, “Ththe Session Initiation Protocol (SIP)”, IETF RFCftp://ftp.rfc-editor.org/in-notes/rfc3326.txt
VoiceXML
[179]Linda Boyer, Peter Danielsen, Jim Ferrans, GerBruce Lucas, and Kenneth Rehor, “Voice eXten(VoiceXML™)” version 1.0, W3C Note, 5 Mayhttp://www.w3.org/TR/2000/NOTE-voicexml-20000505
CCXML
[180]R.J. Auburn (Editor in Chief), Paolo Baggia and Browser Call Control: CCXML Version 1.0, WRecommendation 1, April 2010 http://www.w3.org/TR/
[181]R.J. Auburn, Introduction to CCXML, web pagaccessed 20 August 2010 http://www.voxeo.com/library/
[182]Voxeo, IVR > Prophecy IVR Platform Software
Module 9: 343 of 344Practical Voice Over IP (VoIP): SIP and related protocols
egration Kit, webpage, ed 20 August 2010
PIK v1.1, webpage, ed 20 August 2010
last accessed 20 August
August 2009
es: The supporting 2009
Maguire References and Further [email protected] 2010.08.26
Corporation, last accessed 20 August 2010 http://www.voxeo.com/products/voicexml-ivr-platform.jsp
[183]Phonologies, Oktopous™, ccXML Platform IntPhonologies (India) Private Limited, last accesshttp://www.phonologies.com/oktopous.php
[184]Phonologies, Oktopous™, ccXML Open SourcePhonologies (India) Private, Limited, last accesshttp://www.phonologies.com/okto_os.php
[185]werner_di, CCXML4J, webpage, SourceForge, 2010 http://sourceforge.net/projects/ccxml4j/
SailFin
[186]GlassFish >> SailFin, website, last accessed 20 https://sailfin.dev.java.net/
[187]Dan Peterström, IP Multimedia for Municipalitiarchitecture,TRITA-ICT-EX-2009:103, August
Module 9: 344 of 344Practical Voice Over IP (VoIP): SIP and related protocols
Peterstrom-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/090818-Dan_
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
ser Preferencesf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
User_Preferences.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 10: ULecture notes o
Module 10: 346 of 354Practical Voice Over IP (VoIP): SIP and related protocols
s
a help desk call where you want
via a landline or on their mobile
nt to use a proxy or redirect, do
eek, location of called party, from
e (for example by CPL)
ber of servers (each of which will
Maguire User [email protected] 2010.08.26
User Preference• Caller preference
• allows caller to specify how a call should be handled• to specify media types: audio, video, whiteboard, …• to specify languages (of the callee -- consider for example
to get help in your choice of language)• do you want to reach the callee at home or only at work?,
phone? …• examples: should the call be forked or recurse, do you wa
you want to CANCEL 200 messages or not,
• Called party (i.e., Callee) preference• accepting or rejecting calls: based on time of day, day of w
unlisted numbers, …
Caller/callee different• Callee is passive, caller is active
– Thus callee’s preferences must be defined ahead of tim– However, caller’s preferences can be in request
• Services (usually) run on callee server• A given caller might contact any of a large number of num
have to decide how to process this caller’s request)
Conclusion: Include caller preferences in request
Module 10: 347 of 354Practical Voice Over IP (VoIP): SIP and related protocols
rsGISTER’s:laination of example(s)
l should go the "home" not the office.
uld be a full duplex call
ler wants to be connected to voicemail er
nect caller to someone who speaks lish, German, Swedish, not Finnish
HTML as the media type
nect to the callee’s fixed rather than bile terminal
is urgent (as seen by the caller).
IP rather than fax/ISDN/PSTN/…
Maguire Contact [email protected] 2010.08.26
Contact parameteValues are either pre-set or indicated when a user RE
Parameter Value example(s) Exp
class personal business
class=personal Cal
duplex full half send-only receive-only
duplex=full sho
feature voicemail attendant
feature=voicemail Calserv
language language tag language=”en,de,se,!fi" ConEng
media MIME types media="text/html" use
mobility fixed mobile
mobility=fixed conmo
priority urgent emergency non-urgent
priority=urgent call
service fax | IP | ISDN | PSTN | text
service=IP use
Module 10: 348 of 354Practical Voice Over IP (VoIP): SIP and related protocols
mpleuage="en,de,se,!es"
Maguire Contact header [email protected] 2010.08.26
Contact header exaContact: maguire <sip:[email protected]> ;lang ;media="audio,video,application/chat“ ;duplex="full" ;priority="urgent"
Module 10: 349 of 354Practical Voice Over IP (VoIP): SIP and related protocols
eader(s)tact headers
ble URI’s
k to [email protected], but er’s fixed to non-fixed (i.e.,
Maguire Accept/Reject-Contact header(s)[email protected] 2010.08.26
Accept/Reject-Contact hSIP request contains Accept-Contact and Reject-Con
Reject-Contact indicates URI’s not acceptable
Accept-Contact indicates ordered list of accepta
Indication by means of rules• set intersection and non-intersection of parameters• string match of URIs
Example:Accept-Contact: sip:[email protected] ;q=0, ;media="!video" ;q=0.1, ;mobility="fixed" ;q=0.6, ;mobility="!fixed" ;q=0.4
In the second example, the caller does not want to talhas a preference for video and somewhat prefers the usmobile) terminal.
sing Module 10: 350 of 354Practical Voice Over IP (VoIP): SIP and related protocols
Parameter
for each, for callee discarded
lence class
Maguire Callee (i.e., called party) Parameter [email protected] 2010.08.26
Callee (i.e., called party) processing
• Proxy obtains list of URI’s and the parameters• Those that match a rule in Reject-Contact are• Matching set of URI’s determined• q parameters merged• Result split into sets of q-equivalency classes• Parallel search of highest preference q-equiva
Module 10: 351 of 354Practical Voice Over IP (VoIP): SIP and related protocols
ion
r all 2xx responses
dress)
sponse should recurse (i.e., send t (i.e., simply forward the list of
t to all known addresses at once cting the next address only after
indicate that it wants to enqueue
E request.
Maguire [email protected] 2010.08.26
Request-DispositDefines services desired from proxy servers
Based on a list of keywords• example: Request-Disposition: fork, parallel
Feature values Meaningproxy redirect
whether to proxy or redirect
cancel no-cancel
whether to return just the first 200-class response, o
fork no-fork
whether to fork or not (i.e., proxy to only a single ad
recurse no-recurse
whether a proxy server upon receiving a 3xx-class rerequests to the addresses listed in the response) or noaddresses upstream towards the caller)
parallel sequential
For a forking proxy server, should it send the reques(parallel), or go through them sequentially, i.e., contareceiving a non-2xx or non-6xx final response.
queue no-queue
If called party is temporarily unreachable, caller canrather than be rejected immediately. Pending call be terminated by a SIP CANCEL or BY
Module 10: 352 of 354Practical Voice Over IP (VoIP): SIP and related protocols
les [189])
Features on page 203
l Screening)
l Screening)
Maguire SIP Service [email protected] 2010.08.26
SIP Service ExampSome examples of SIP Services are listed below (from
You should compare these to the list we saw earlier:
Call Hold Single Line Extension
Consultation Hold Find-Me
Music On Hold Call Management (Incoming Cal
Unattended Transfer Call Management (Outgoing Cal
Attended Transfer Call Park
Call Forwarding Unconditional Call Pickup
Call Forwarding - Busy Automatic Redial
Call Forwarding - No Answer
3-way Conference - Third Party is Added
3-way Conference - Third Party Joins
Module 10: 353 of 354Practical Voice Over IP (VoIP): SIP and related protocols
nalizationell phone users greater
eferences, and are permitted
eference palettes” to start over time.
Maguire Privacy-Conscious [email protected] 2010.08.26
Privacy-Conscious PersoBell Labs’ has developed software designed to give ccontrol over the disclosure of their location [191].
Preferences could depend on:
• who is requesting the location data,• what time of day it is,• or the callers’ activities,• … .
Requests for location are then filtered through these pror blocked accordingly.
Operators might provide users with a selection of “prwith, the user could then customize their preferences
Module 10: 354 of 354Practical Voice Over IP (VoIP): SIP and related protocols
Reading
ces for the Session Initiation Protocol fc3841.txt
mmers, “Session Initiation Protocol r, RFC 5359 (Best Current Practice), c5359.txt
age (CPL): A Language for User 4 http://www.ietf.org/rfc/rfc3880.txt
”, New York Times, 5 Feb. 2004, p. html
onceptual foundations of user oS, security and mobility II, D. Gaïti, ), Kluwer Academic Publishers, .
Maguire References and Further [email protected] 2010.08.26
References and FurtherUser Preferences
[188] J. Rosenberg, H. Schulzrinne , and P. Kyzivat, “Caller Preferen(SIP)”, IETF RFC 3841, August 2004 http://www.ietf.org/rfc/r
[189] A. Johnston, R. Sparks, C. Cunningham, S. Donovan, and K. SuService Examples”, Internet Request for Comments, RFC EditoISSN 2070-1721, October 2008 http://www.rfc-editor.org/rfc/rf
[190] J. Lennox, X. Wu, and H. Schulzrinne, “Call Processing LanguControl of Internet Telephony Services”, RFC 3880, October 200
[191] Jeffrey Selingo, “Protecting the Cellphone User’s Right to HideE5 http://www.nytimes.com/2004/02/05/technology/circuits/05next.
[192] Zohair Chentouf, Ahmed Khoumsi, and Soumaya Cherkaoui, Cpreference modeling, In Network control and engineering for QG. Pujolle, A. Al-Naamany, H. Bourdoucen, and L. Khriji (Eds.Norwell, MA, USA, 2003, ISBN 1-4020-7616-9, pages 238-250
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
ecurity, NATs, and walls
f G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
Security-NAT-Firewalls.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 11: SIP SFire
Lecture notes o
Module 11: 356 of 419Practical Voice Over IP (VoIP): SIP and related protocols
61, 3262, 3263, 3264, 3265
en you should probably be
otect such personal ascual, “Privacy in the next European Union Data
a back-to-back user agent d Johnston.
Maguire SIP [email protected] 2010.08.26
SIP SecuritySIP Security - RFC 3261 [193], obsoleted by RFCs 32
If you want to secure both the SIP and RTP traffic, thusing an IPSec VPN.
SIP’s rich signalling means that the traffic reveals:
• caller and called parties IP addresses• contact lists• traffic patterns
For further details concerning how complex it is to prinformation see the dissertation by Alberto Escudero-Pgeneration Internet, Data Protection in the context of Protection Policy” [230].
For an example of a call anonymizer service -- using(B2BUA), see figure 8.6 on page 121 of Sinnreich an
Module 11: 357 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ation
he credentials
ge the authentication
ge rated from a timestamp (and possibly a user’s private key
returned unchanged to be matched r a stateless system)
user’s credentials and the nonce
Maguire SIP Digest [email protected] 2010.08.26
SIP Digest AuthenticBuilt upon HTTP’s challenge/response mechanism
Challenges:
• 401 Authentication Required or• 407 Proxy Authorization Required
Header fields:Digest the schema name
username="A" The user name as specified in t
realm="sip:proxy.com" realm - copied from the challenrealm indicates the domain for
nonce="e288df84f1cec4341ade6e5a359" nonce - copied from the challena unique string - typically geneseed), then encrypted with the
opaque="63632f41" opaque string which should be against the challenge (allows fo
uri="sip:[email protected]" URI from the Request-URI
response="1d19580cd833064324a787ecc" message digest computed using
Module 11: 358 of 419Practical Voice Over IP (VoIP): SIP and related protocols
E) message bodies:
IME message body33 and RFC 3851)
Maguire SIP and S/[email protected] 2010.08.26
SIP and S/MIMERFC 3261 describes the use of Secure MIME (S/MIM
• SIP header fields can be encrypted in an S/M• see RFC 5751[196] (which has replaced RFC 26
Provides:
• Message integrity• Allows detection of any modification of message contents
• Message privacy• Private headers protected by S/MIME
• Identity• Certificates can be verified to validate identity
Module 11: 359 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ity encrypt the media stream
ES-CBC)1 or AES in
scription:
nown plain text attacks, RTCP headers have a 32 bit
Maguire SDP & RTP [email protected] 2010.08.26
SDP & RTP securAs noted earlier SDP enables you to say that you will
which is sent via RTP - such as DES in CBC Mode (Df8-mode [203].
This is done via adding to the SDP for each media de k=encryption key
1. All encryption capable RTP clients must support this as their default algorithm. In addition, to prevent krandom prefix.
Module 11: 360 of 419Practical Voice Over IP (VoIP): SIP and related protocols
mechanims and practices to P request (does not cover
principle:
in a domain under a are also proving that AoR r field of a SIP request are providing a ’return ed.
adapted from [197]
proxy server) and eaders
Maguire SDP & RTP [email protected] 2010.08.26
User identityJ. Peterson and C. Jennings in RFC 4474 [197] define assure the identity of the end user that originates a SIidentity for responses).
Their identity mechanism derives from the following
If you can prove you are eligible to registerparticular address-of-record (AoR), then youyou are capable of receiving requests for that∴ when you place that AoR in the From headeother than a registration (e.g., INVITE), you address’ where you can legitimately be reach
Introduces: (a) authentication service (at either a user agent or a(b) two new SIP headers, Identity & Identity-Info h
Module 11: 361 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ple
om;branch=z9hG4bKnashds8
com>;tag=1928301774
e.com>
eLxJfzB2a1pxAr3VgrB0SsSAaQXHMmz6uEo3svJsSH49thyGnVn9Yc6U="m/atlanta.cer>;alg=rsa-sha1
lanta.example.com
Maguire SDP & RTP [email protected] 2010.08.26
Identity header examfrom [197]
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/TLS pc33.atlanta.example.c To: Bob <sip:[email protected]> From: Alice <sip:[email protected]. Call-ID: a84b4c76e66710 CSeq: 314159 INVITE Max-Forwards: 70 Date: Thu, 21 Feb 2002 13:02:03 GMT Contact: <sip:[email protected] Identity: "ZYNBbHC00VMZr2kZt6VmCvPonWJMGvQTBDqghoW ifsRdiOPoQZYOy2wrVghuhcsMbHWUSFxI6p6q5TO FVcnyaZ++yRlBYYQTLqWzJ+KVhPKbfU/pryh Identity-Info: <https://atlanta.example.co Content-Type: application/sdp Content-Length: 147
v=0 o=UserA 2890844526 2890844526 IN IP4 pc33.at s=Session SDP c=IN IP4 pc33.atlanta.example.com t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000
Module 11: 362 of 419Practical Voice Over IP (VoIP): SIP and related protocols
uthenticated!/2.0bKnashds10
tag=a6c85cfm>;tag=1928301774
urLXV/HmtyNS7Ltrg9dlxkWzoyN21yNDo2ER/Ovgtw0Lu5csIp3w0gfUs="/biloxi.cer>;alg=rsa-sha1
the earlier internet draft.
Maguire SDP & RTP [email protected] 2010.08.26
Saying BYE also needs to be aBYE sip:[email protected] SIP Via: SIP/2.0/TLS 192.0.2.4;branch=z9hG4 Max-Forwards: 70 From: Bob <sip:[email protected]>; To: Alice <sip:[email protected] Date: Thu, 21 Feb 2002 14:19:51 GMT Call-ID: a84b4c76e66710 CSeq: 231 BYE Identity: "sv5CTo05KqpSmtHt3dcEiO/1CWTSZtnG3iV+1nm eU7d7OV8HweTTDobV3itTmgPwCFjaEmMyEI3d7S pPqOg1uXndzHbG7mR6Rl9BnUhHufVRbp51Mn Identity-Info: <https://biloxi.example.org Content-Length: 0
alg=rsa-sha1 is a new part of the RFC that was not in
Module 11: 363 of 419Practical Voice Over IP (VoIP): SIP and related protocols
SIP1
fferent properties
byte RTP payload length Kbps), i.e., 20 ms
tion (with Replay Protection)nfidentiality and HMAC SHA1 for
ntication key: 16 bytes;
Maguire SDP & RTP [email protected] 2010.08.26
Erik Eliasson’s miniminiSIP supports pluggable CODECs:
• each RTP packet says which codec was used• SDP can specify multiple codecs each with di
(including better than toll quality)• tests used PCM ⇒ sending 50 packets of 160
(packet size is 176 bytes) per second (i.e. 64 between packets
• Configuration used in the test described next:• time to transmit/receive a packet ~55-60 μs• Laptop ASUS 1300B with Pentium III processor, 700 MHz• 112 MB RAM (no swapping)• Operating System: SuSE Linux 7.1 Personal Edition• Security Services: confidentiality and message authentica• Cryptographic Algorithms: AES in Counter Mode for the co
the message authentication• Lengths: master key: 16 bytes; salting key: 14 bytes; authe
encryption key: 16 bytes; block: 128 bytes
1. http://www.minisip.org/
Module 11: 364 of 419Practical Voice Over IP (VoIP): SIP and related protocols
l (SRTP)y, message authentication,
ice over IP, M.Sc. Thesis
crypto)
ag if message authentication is to
hput 20Mbps)s 240 μs
ret from the socket.ographic context to be usedn keys from master key (via MIKEY)ation and replay protection are provided, play and verify the authentication taged Portion of the packetuthentication tag
up the stack
Maguire SDP & RTP [email protected] 2010.08.26
Secure Real Time ProtocoDescribed in RFC 3711 [207], provides confidentialitand replay protection for RTP and RTCP traffic.
In 2003, Israel M. Abad Caballero, Secure Mobile Vo[198]
• AES CM (Rijndael) or Null Cipher for encryption (using lib• HMAC or, Null authenticator for message authentication• SRTP packet is 176 bytes (RTP + 4 for the authentication t
be provided)• Packet creation: RTP 3-5 μs; RTP+SRTP 76-80 μs (throug
– ~1% of the time there are packets which take as long a
Sender behavior Receiver behavioRead the SRTP pack
Determine cryptographic context to use Determine the cryptDerive session keys from master key (via MIKEY) Determine the sessio
If message authenticcheck for possible re
Encrypt the RTP payload Decrypt the EncryptIf message authentication required, compute authentication tag and append
If present, remove a
Send the SRTP packet to the socket Pass the RTP packet
Module 11: 365 of 419Practical Voice Over IP (VoIP): SIP and related protocols
KEY) [210]as the tocol over IP, M.Sc. Thesis [199]
er linux
laptops)p.com and ssvl.kth.se to their
ting, and each router also runs a
laptops,running Linux 2.4
to MIKEY/SRTP to secure ith IPSec.
nswering Delay9.5
0.5
7.6 (UDP)
8.9 (TCP)
Maguire SDP & RTP [email protected] 2010.08.26
Multimedia Internet KEYing (MIkey management pro
In 2003, Johan Bilien, Key Agreement for Secure Voice
Extends earlier thesis - Runs on a laptop or iPAQ undSecure Call Setup [201]
• name-servers (BIND 8.2 on Linux 2.4, 500 MHz Pentium 3• root name-server ns.lab manages the delegation of minisi
respective name server• two routers (1.1 GHz Celeron desktops) perform static rou
SIP server, SIP Express Router (SER v0.8.11))• Alice and Bob use minisip, running on 1.4 GHz Pentium 4
In 2005, Joachim Orrblad in his thesis, “Alternatives VoIP”[200], examines the use of MIKEY together w
Total delay (in ms) Calling Delay ANo security 19.5
MIKEY, shared key 20.9 1
MIKEY, Diffie-Hellman 52.5 (UDP)
58.9 TCP)
4
4
ESLA) Module 11: 366 of 419Practical Voice Over IP (VoIP): SIP and related protocols
-tolerant LA)
t data origin authentication
ble pairwise authentications
Maguire Efficient Stream Loss-tolerant Authentication ([email protected] 2010.08.26
Efficient Stream LossAuthentication (TES
SRTP TESLA [211] was designed to provide efficienfor multicast and broadcast session.
This is needed since we do not want to create all possifor the participants in a conference.
Module 11: 367 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ra, see Elisabetta Carrara’s
ions over Heterogeneous
Maguire Elisabetta [email protected] 2010.08.26
Elisabetta CarraFor details of the reasoning behind SRTP and MIKEYlicentiate thesis: Security for IP Multimedia ApplicatNetworks [212].
Module 11: 368 of 419Practical Voice Over IP (VoIP): SIP and related protocols
llss change addresses and ort numbers are inside both
at this in detail in his M.Sc.
the Network Address .
s:
ough Network Address
U) Resource
te a call to a specific UA instance
Maguire NATs and [email protected] 2010.08.26
NATs and FirewaBecause Network Address Translation (NAT) devicesometimes port numbers and because addresses and pSIP and SDP there can be a problem!
Fredrik Thernelius, “SIP, NAT, and Firewalls”, lookedthesis [213]. See also the other documents at http://www.cs.columbia.edu/sip/drafts_firewall.html
Note: CNAME’s in RTCP may need to be updated byTranslation (NAT) to hide private network addresses
To protocols being developed to help deal with NAT
• Simple Traversal of User Datagram Protocol ThrTranslators (STUN)
• Globally Routable User Agent Universal (GRUIndicator[220]• a URI which can be used by anyone on the Internet to rou
Module 11: 369 of 419Practical Voice Over IP (VoIP): SIP and related protocols
CAL [1]; particularily the daptor) behind a Linksys ing traffic on port 5060, to http://www.dyndns.org/
Maguire NATs and [email protected] 2010.08.26
See also pages 237-239 of Practical VoIP: Using VOexample of using a Cisco ATA (Analog Telephone Afirewall (which configures the firewall to pass incom4000, and 4001 to the Cisco ATA) - which also refers
Module 11: 370 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ess
e forwarded to?
iven external IP address and port
o contact an internal host packets from this internal host.
prior to communicating with this
f an internal host prior to
on the specific internal destination
Maguire Types of [email protected] 2010.08.26
Types of NAT
Four types of NATs [221] and
Source NAT All callers look like they come from the same IP addr
Destination NAT Which internal address should traffic to a given port b
Type Description
Full Cone maps a specific internal IP address and port number to a gnumber
This is the only type of NAT that allows an external host t(i.e., behind the NAT) without having previously received
Restricted Cone external hosts must have the IP address of an internal hostinternal host
Port Restricted Cone
external hosts must have the IP address and port number ocommunicating with this internal host
Symmetric assigns unique internal IP address and port numbers based
Module 11: 371 of 419Practical Voice Over IP (VoIP): SIP and related protocols
NAT
red by figures 1 and 2 of [225]
NAT
HostIPpublicN
Ppublic1
Host2
IPpublicN+1
Symmetric NAT
STUNIP=xport=aport=b
IP=yport=aport=b
IPpublic4
Maguire Cone vs. Symmetric [email protected] 2010.08.26
Cone vs. Symmetric
Figure 17: (a) Cone NAT vs. (b) Symmetric NAT - figure inspi
Host
NAT
STUN
Host1
IPpublicIPprivate
Host2
(a) Cone NAT
IP=xport=aport=b
IP=yport=aport=b
HostIPprivate
I
(b)
Module 11: 372 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ods
header field, called "rport", this se back to the source IP address
bindings
th Symmetric NATs)
in the firewall
use
Maguire NAT traversal [email protected] 2010.08.26
NAT traversal meth• Symmetric media streams• STUN protocol
• also: Extended STUN for Symmetric NAT
• rport SIP extension• See RFC 3581[222] - defines a new parameter for the Via
“allows a client to request that the server send the responand port from which the request originated.”
• OPTIONS request registration refresh• Causes the UA to send traffic out - thus refreshing the NAT
• Outgoing INVITE transaction refresh• Traversal using Relay NAT (TURN)
• insert a server in the media and signalling path (to deal wi
• Application Layer Gateway (ALG)• Here the NAT knows about SIP and “does the right thing”
• Universal Plug and Play (UPnP)• Use UPnP to control the NAT to open a specific “pinhole”
• Manual Configuration• manually configure a set of addresses and ports for SIP to
Module 11: 373 of 419Practical Voice Over IP (VoIP): SIP and related protocols
, …
coming from the private e private network. For o the private network - thus and then sent back into the
Maguire NAT traversal [email protected] 2010.08.26
• Tunnel• Tunnel the traffic - inside IPsec, HTTP (i.e., act like HTTP)
A NAT support “hairpinning” if it can route packetsnetwork addressed to a public IP address back into thexample, a mobile user might actually be connected tpackets to this user do not actually need to be sent outprivate network!
ddress Translation)) Module 11: 374 of 419Practical Voice Over IP (VoIP): SIP and related protocols
through NATs slation))5389 [219]), assists devices ting.
ss and the type of NAT
the STUN client learns the public T.
attached to a domain.
y VOIP devices
ure-all for the problems
ki/view/STUN .
Maguire STUN (Simple Traversal of UDP through NATs (Network [email protected] 2010.08.26
STUN (Simple Traversal of UDP(Network Address Tran
STUN, defined in RFC 3489 [218] (replaced by RFC behind a NAT firewall or router with their packet rou
• enables a device to find out its public IP addreservice its sitting behind• By querying a STUN server with a known public address,
IP and port address that were allocated by this client’s) NA
• operates on TCP and UDP port 3478• uses DNS SRV records to find STUN servers
The service name is _stun._udp or _stun._tcp• Unfortunately, it is not (yet) widely supported b
Note: The STUN RFC states: This protocol is not a cassociated with NAT.
Open source STUN servers - see http://www.voip-info.org/wi
Module 11: 375 of 419Practical Voice Over IP (VoIP): SIP and related protocols
cret username and
ssword combination for
rname/password to the
into a binding response,
ber received from the ber. If they do not match,
own as Figure 14 “Flow Chart:
Maguire STUN [email protected] 2010.08.26
STUN steps1 Client queries a STUN server for a shared se
password
2 Server responds with a unique username/pathis client
3 Client sends a binding request using this useserver via UDP
4 Server copies the source IP and port numberand sends this response back to the client
5 Client compares the IP address and port numserver with its local IP address and port numthen the client is behind some type of NAT.
• A full flowchart to find each of the potential situations is shDetermining NAT type” in [221].
s Module 11: 376 of 419Practical Voice Over IP (VoIP): SIP and related protocols
rsal problems
UDP all of B’s ses and packets are out by the firewall and
s no session!
TCP for SIP enables the to be setup, but B’s
ackets are still filtered the firewall!
Maguire UDP and TCP Firewall Traversal [email protected] 2010.08.26
UDP and TCP Firewall Trave
1. INVITE/UDP
User Agent A(outside) Firewall (inside)
2. 180 Ringing/UDP
3. 200 OK/UDP
User Agent B
RTP packets/UDP
Using responfilteredthere i
4. INVITE/TCP5. 180 Ringing/TCP
RTP packets/UDP
6. 200 OK/TCP7. ACK/TCP
RTP packets/UDP
Using sessionRTP pout by
Module 11: 377 of 419Practical Voice Over IP (VoIP): SIP and related protocols
al problems
can negociate the NAT, A’s SDP contains a privateress
P packets are directed vate address and hence t be routed; similarily uests also fail
Maguire UDP and TCP NAT Traversal [email protected] 2010.08.26
UDP and TCP NAT Travers
1. INVITE
User Agent A NAT User Agent B
SIPbutadd
2. 180 Ringing
RTP packets to 10.1.2.3
4. ACK
RTP packets to 130.101.102.103 B’s RTto a prican noB’s req
via:10.1.2.3
Contact: [email protected]
SDP 10.1.2.3
via:10.1.2.3; received=1.2.3.4
Contact: [email protected]
3. 200 OKvia:10.1.2.3; received=1.2.3.4
Contact: [email protected]
SDP 130.101.102.103
BYE A@ 10.1.2.3
(inside) (outside)
Module 11: 378 of 419Practical Voice Over IP (VoIP): SIP and related protocols
otocols
of Traversal Using Relay plementation, and
nectivity Establishment AT) Traversal for 8].
entity Protocol (HIP) tors” as specified in
Maguire Other NAT traversal [email protected] 2010.08.26
Other NAT traversal prTraversal Using Relay Nat (TURN)
A. La Torre Yurkov’s masters thesis: ImplementationNat for SIP based VoIP [226] describes TURN, its imperformance.
TURN is specified in RFC 5766 [227].ICE
Another protcol for NAT traversal is “Interactive Con(ICE): A Protocol for Network Address Translator (NOffer/Answer Protocol” as specified in RFC 5245 [22HIP
Yet another NAT traversal protocol is “Basic Host IdExtensions for Traversal of Network Address TranslaRFC 5770 [229].
l Traversal Module 11: 379 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ay (ALG) for al
lication Level Gateway [216].
User Agent BT
on
Ringing
0 OK sdp B
Maguire SIP Application Level Gateway (ALG) for [email protected] 2010.08.26
SIP Application Level GatewFirewall Travers
Use a proxy within the (possibly private) network:
Firewall permits SIP and RTP traffic to/from the App(ALG) proxy. For some recent work in this area see
1. INVITE2. INVITE sdp ALG
User Agent A SIP ALG Proxy
3. 100 Trying
Firewall/NA
RTP media sessiRTP Media Session10. BYE
13. 200 OK
5. 180 Ringing
7. 200 OK sdp ALG
8. ACK9. ACK
4. 180
6. 20
11. BYE
12. 200 OK
Module 11: 380 of 419Practical Voice Over IP (VoIP): SIP and related protocols
s (MIDCOM)
s through the middleboxes s (MIDCOM) Working m ALG functions, logically
on
Ringing
. 200 OK
User Agent B
Maguire Middlebox communications (MIDCOM)[email protected] 2010.08.26
Middlebox communication
The generic problem of enabling complex applicationis being addressed by the Middlebox communicationGroup, they do so via MIDCOM agents which perforexternal to a middlebox [215].
1. INVITE
4. INVITE5. 100 Trying
RTP media sessiRTP Media Session14. BYE
19. 200 OK
7. 180 Ringing
11. 200 OK
12. ACK13. ACK
6. 180
8
15. BYE16. 200 OK
proxyUser Agent A Firewall control Firewall/NAT
2. Bind Request
3. Bind Response
9. Open Request
10. Open Response
17. Close Request
18. Close Response
Module 11: 381 of 419Practical Voice Over IP (VoIP): SIP and related protocols
dleboxACM) [224]:
B2BUA (Back to Back
and RTCP media
Maguire Application aware [email protected] 2010.08.26
Application aware MidNewport Networks’ Automatic Channel Mapping™ (
• SignallingProxy™ acts as a high-performanceUser Agent
• MediaProxy™ provides a transit point for RTPstreams between User Agents
(ASN.1) Module 11: 382 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ntax Notation
d in June 2002!
nation Centre revealed in Jan. ucts of dozens of vendors. The pplications and technologies, g, Session Initiation Protocol, h as routers and firewalls.” …
nerabilities, says David Fraley, a nd neat opportunities with VoIP,
going to increase," he says.
f Products”, InformationWeek, January 15, 2004,
/y/eer70Blkgg0V30CKN80Av
g access to malicious code.
Maguire Security flaws in Abstract Syntax Notation One [email protected] 2010.08.26
Security flaws in Abstract SyOne (ASN.1)
Note that the vulnerability was discovere
The United Kingdom National Infrastructure Security Co-Ordi2004, “that it had discovered security flaws that affect the prodflaws were found in software that support a variety of aincluding voice over IP, videoconferencing, text messagindevices and hardware, and critical networking equipment suc
“CIOs need to be aware that voice over IP creates exposure to vulprincipal analyst at Gartner Dataquest. "While there are very real aas convergence increases, the risks to attacks to these systems are
George V. Hulme, “H.323 Flaws Threaten Scores O
http://update.internetweek.com/cgi-bin4/DM
Risks range from denial-of-service attacks to allowinaccording to the
see http://www.cert.org/advisories/CA-2004-01.html#vendors
(ASN.1) Module 11: 383 of 419Practical Voice Over IP (VoIP): SIP and related protocols
rivacyre feasible
form, it will be trivial to provide participants want to), SRTP, MIKEY, …-bit Advanced Encryption
ally want to
on privacy in mobile internetwork-
in the context of the European
Maguire Security flaws in Abstract Syntax Notation One [email protected] 2010.08.26
Communications and P• Encryption as the norm - even onetime pads a
• Since all speech and other media content will be in digital encryption and authentication of all communication (if the
• traditional public telephony less secure than using: VPNs• For WLANs: IEEE 802.11i security features along with 128
Standard (AES) encryption, …
• Identity hiding - Authentication when you mutu• Mobile presence has to be done carefully• Anonymous network access• Location hiding & Privacy
• Alberto Escudero-Pascual, http://www.it.kth.se/~aep– Anonymous and Untraceable Communications - Locati
ing, Licentiate Thesis, June 2001– Privacy in the Next generation Internet: Data Protection
Union Policy, Dissertation, Dec. 2002• Location mis-direction ⇒ End of Sovereignty• Traffic pattern hiding• Traffic hiding
See [231] to [235].
t Module 11: 384 of 419Practical Voice Over IP (VoIP): SIP and related protocols
nications Act389) [236] (see also ulatory framework for based on EU directives and ho an operator is and what
dish definition of
es in 3 major areas:
, and
” - as per proposition samhet
Maguire Swedish Electronic Communications [email protected] 2010.08.26
Swedish Electronic CommuSwedish Electronic Communications Act (SFS 2003:http://www.pts.se/Sidor/sida.asp?SectionID=1340 ) provides the regelectronic communications networks and services. It isbecame effective on July 25th, 2003. It defines what/wtheir obligations are. (note: it replaces the earlier swe“teleoperator”).
It is relevant to publically available telephone servic
• emergency calls (Chapter 5, section 7)[236]• number portability (Chapter 5, section 9)[236]• legal intercept (Chapter 6, section 19)[236]
See also the controversy surrounding the “FRA-lagen2006/07:63 – En anpassad försvarsunderrättelseverk
Module 11: 385 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ntents when can you make a eavesdropping)?
d many states have the conversation you can (some have an “all-party” cordings, ications”.
ho must inform the person fore the recording begins.
tp://www.rcfp.org/taping/index.html
privacy” which may also be
50].
Maguire Recording of Call [email protected] 2010.08.26
Recording of Call CoThe lawful “use of electronic recording equipment” -recording of a call’s contents (i.e., wiretapping and
The US Federal government (18 U.S.C. Sec 2511,) an“one-party consent” statutes, i.e., if you are a party torecord it. However, note that not all states permit thisrule)! Note that these rules often apply to in-person reradio/telecommunication, … , all “electronic commun
There are additional rules concerning Broadcasters - wthat the recording may be subsequently broadcase be
A summary of the rules for the US can be found at: ht
In addition, there are also laws concerning “employeerelevant.
For the IETF policy on wiretapping see RFC 2804 [2
Module 11: 386 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ept (LI)for Law Enforcement Act applied to VoIP services
c surveillance":
US FCC] for Rulemaking e Implementation of the
ct, 10 March, 2004[238].
y a subject
a subject, and
entifying information
Maguire Privacy & Lawful Intercept (LI)[email protected] 2010.08.26
Privacy & Lawful IntercThere is a proposal that Communications Assistance (CALEA) {47 U.S.C. § 1001 et seq. [237]} should be(and other data services) to "conduct lawful electroni
U.S. Dept. of Justice, FBI and DEA, Joint Petition [toto Resolve Various Outstanding Issues Concerning thCommunications Assistance for Law Enforcement A
Types of surveillance [240]:
There is a great variety of proposals for LI [249].
“pen register” records call-identifying information for calls originated b
“trap and trace” records call-identifying information for calls received by
“interception” records the conversations of the subject, as well as call id
Module 11: 387 of 419Practical Voice Over IP (VoIP): SIP and related protocols
formation law enforcement if it is nformation is reasonably ess point and can be made ith network modifications”.
tion is technically feasible
s be reasonably available in appen outside the control of
ilable in a SIP environment n might be inside encrypted
Maguire Reasonably Available [email protected] 2010.08.26
Reasonably Available InOperators are only required to provide information toreasonably available. For example, “call-identifying iavailable to a carrier if it is present at an intercept accavailable without the carrier being unduly burdened w
The EU statute is similar in identifying when informaand economically feasible available.
Thus Call Forwarding Information might not alwaya SIP environment - since the call forwarding could ha given operator.
Similarily Dialed-Digit Extraction might not be avasince the actual IP address of the source and destinatioSDP
Module 11: 388 of 419Practical Voice Over IP (VoIP): SIP and related protocols
tercept (LI)
rotection, and irective
[239].
nd [243]. For a list of the LI m, Inc. [245] see [246].
Maguire EU privacy and Lawful Intercept (LI)[email protected] 2010.08.26
EU privacy and Lawful InEU Directive 95/46/EC - Data Protection Directive, EU Directive 97/66/EC - Telecommunications Data PEU Directive 2002/58/EC - the e-Communications D http://www.dataprivacy.ie/images/Directive%202002-58.pdf
A good summary of the EU situation can be found at
ETSI is defining a standard LI architecture see [242] astandards as collected by the Global LI Industry Foru
Module 11: 389 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ure
the subject and other LEAs!revent Unauthorized Creation secured to protect intercept
proxy, RADIUS server, …
ability; HIn = Handover Interfacen
CCC/CDC
LEAn
CollectionAdminLEA
DeliveryFunction
CPE
HI3
…
Maguire Intercept [email protected] 2010.08.26
Intercept architect
• The existance of Intercepts should be transparent to both • The dotted links (probably SNMPv3) must be secured to p
and Detection of intercepts - while solid red links must berelated information (IRI) [241]
• Intercept [Access] Point (IAP): router, PSTN gateway, SIP
Figure 18: Interfaces in RED should be standard to allow interoper
Service Provider
Law Enforcement Agency
CollectionLaw EnforcementAdministration
……
LawfulAuthorization
Provisioningand
OperationsSupport
Intercept Point(for Call Data)
HI1
HI2
Warrant
Intercept Point(for Call Content)
s Module 11: 390 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ional problemsy and VoIP) can be found in d Countermeasures: In the m for key escrow in that the e they have the key!
for fabrication of evidence en implemented in:
rotocol User Agent with ngs of secure sessions”,
ver IP and Lawful
Maguire Lawful Intercept - some additional [email protected] 2010.08.26
Lawful Intercept - some additA survey of lawful intercept (for both analog telephonRomanidis Evripidis’s thesis: Lawful Interception anera of Internet Telephony [251]. He points out a problelaw enforcement agency can fabricate evidence - onc
A key esrow system for minisip with countermeasures(based on the idea proposed in the above thesis) as be
• Md. Sakhawat Hossen, “A Session Initiation PKey Escrow: Providing authenticity for recordi[252]
• Muhammad Sarwar Jahan Morshed, “Voice oIntercept: God cop/Bad cop” [253]
Module 11: 391 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ctive Union, Directive
essed in connection with the tions services or of public 02/58/EC [254].
Maguire Data Retention [email protected] 2010.08.26
Data Retention DireEuropean Parliament and the Council of the European2006/24/EC on the retention of data generated or procprovision of publicly available electronic communicacommunications networks and amending Directive 20
d Module 11: 392 of 419Practical Voice Over IP (VoIP): SIP and related protocols
to be retainedgories of data are retained
communication:
e telephony:
Internet telephony:
to any communication
egistered user to whom r telephone number was
Maguire Article 5: Categories of data to be [email protected] 2010.08.26
Article 5: Categories of data 1. Member States shall ensure that the following cateunder this Directive:
(a) data necessary to trace and identify the source of a
(1) concerning fixed network telephony and mobil
..
(2) concerning Internet access, Internet e-mail and
(i) the user ID(s) allocated;
(ii) the user ID and telephone number allocated entering the public telephone network;
(iii) the name and address of the subscriber or r an Internet Protocol (IP) address, user ID o allocated at the time of the communication;
d Module 11: 393 of 419Practical Voice Over IP (VoIP): SIP and related protocols
munication:
ny:
nded recipient(s) of an
ber(s) or registered user(s) e communication;
ion of a communication:
Internet telephony:
f the Internet access service, the IP address, whether access service provider to a
Maguire Article 5: Categories of data to be [email protected] 2010.08.26
(b) data necessary to identify the destination of a com
..
(2) concerning Internet e-mail and Internet telepho
(i) the user ID or telephone number of the inte Internet telephony call;
(ii) the name(s) and address(es) of the subscri and user ID of the intended recipient of th
(c) data necessary to identify the date, time and durat
..
(2) concerning Internet access, Internet e-mail and
(i) the date and time of the log-in and log-off o based on a certain time zone, together with dynamic or static, allocated by the Internet
d Module 11: 394 of 419Practical Voice Over IP (VoIP): SIP and related protocols
scriber or registered user;
f the Internet e-mail service rtain time zone;
ion:
y: the Internet service used;
quipment or what purports
Internet telephony:
ess;
d point of the originator
Maguire Article 5: Categories of data to be [email protected] 2010.08.26
communication, and the user ID of the sub
(ii) the date and time of the log-in and log-off o or Internet telephony service, based on a ce
(d) data necessary to identify the type of communicat
..
(2) concerning Internet e-mail and Internet telephon
(e) data necessary to identify users' communication e to be their equipment:
..
(3) concerning Internet access, Internet e-mail and
(i) the calling telephone number for dial-up acc
(ii) the digital subscriber line (DSL) or other en of the communication;
d Module 11: 395 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ommunication equipment:
mmunication;
s by reference to their which communications
n may be retained pursuant
ard to this directive (hence urt of Justice). Note that:
d are also “late” to
Maguire Article 5: Categories of data to be [email protected] 2010.08.26
(f) data necessary to identify the location of mobile c
(1) the location label (Cell ID) at the start of the co
(2) data identifying the geographic location of cell location labels (Cell ID) during the period for data are retained.
2. No data revealing the content of the communicatioto this Directive.
Sweden was “late” implementing a national law in regthe EU Commission took Sweden to the European CoAustria, Greece, Ireland, The Netherlands, and Polanimplement national laws regarding this directive.
Module 11: 396 of 419Practical Voice Over IP (VoIP): SIP and related protocols
pliance reasons floors, …) and calls might
ss analysis, …
aft: “Requirements for efines several use cases:
cordedordedn or Mid-call recording)ingle recording sessionortions of the calluring interaction with an
Maguire SIP [email protected] 2010.08.26
SIP RecordingSIP recording is often necessary for regulatory or com(for example, emergency call centers, banks & tradingbe recorded for “quality control”, supervision, busine⇒ SIP-based Media Recording
The requirements are described in a recent Internet drSIP-based Media Recording (SIPREC)” [259] - this d
• Total call recording - all of every call is to be re• Selective recording - only specific calls are rec• Dynamic recording (also known as Mid-sessio• Persistant recording - all calls recorded as a s• Real-time recording controls to enable some p• IVR/Voice portal recording - recording media d
interactive voice response (IVR) application
Module 11: 397 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ions when a user is not f the enterprisemesaining a continguous to another party being able to either he recording dle failover/transfer of ding session, etc.sionsime analysis of the voice t based upon the speech )
Maguire SIP [email protected] 2010.08.26
• Enterprise mobility recording - recording sesswithin the enterprise, but is acting on behalf o
• Geographically vs. centralized recording sche• Recording “complex” calls - for example maint
recording despite the caller being transferred • High-availability and high reliability recording -
reject a communication call setup or transfer tresponsibility to another recording server, hanrecorder responsibility in the middle of a recor
• Recording multi-media and multi-channel ses• Real-time media processing - to support real-t
(for example, automatically generating an alercontent, stopping a session on a keyword, …
Module 11: 398 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ectureraft: “An Architecture for
n server, recording session re defines a communication plicitly addresses the issue
icipants in a session, the call
Maguire SIP Recording [email protected] 2010.08.26
SIP Recording ArchitAn architecture has been proposed, see the Internet dMedia Recording using the Session Initiation” [260]
In addition to defining some entities (recording sessioclient, and recording aware user agent), the architectusession, a recording session, replicated media, and exof media recording metadata.
This metadata is important in order to identify the partstate, and other parameters of the session.
Module 11: 399 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ecordingP entities to distinguish ession and so that a SIP UA draft: “SIP Call Control - he new feature tags: src the purposes of a recording d recorded (to indicate that
Maguire SIP extentions for SIP [email protected] 2010.08.26
SIP extentions for SIP rA set of SIP extentions have been defined to allow SIbetween a Recording Session and a Communication Scan know if a session is being recorded - see InternetRecording Extensions” [261] - for the definitions of t(session recording clients indicates this session is for session), srs (used by the session recording server), ansome or all of the media session is being recorded)
Module 11: 400 of 419Practical Voice Over IP (VoIP): SIP and related protocols
Allianceg/) was formed February 7,
Maguire Voice over IP Security [email protected] 2010.08.26
Voice over IP Security The Voice over IP Security Alliance (http://www.voipsa.or2005
They have a moderated mailing list: VOIPSEC
Module 11: 401 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ony (SPIT)ways, … will lead to
cking to see of this speaker
e user listens to it later lists).
the above are discussed in
Maguire Spam over Internet Telephony (SPIT)[email protected] 2010.08.26
Spam over Internet TelephThere is rising concern that misconfigured voice gateincreased IP telephony SPAM.
One solution is using speaker recognition and then cheis on:
• awhite list (automatic accept),• a black list(automatic reject), or• unknown (message could be recorded and th
and then adds the user to their white or black
See for example [247].
Issues of SIP and SPAM and solutions in addition to [248].
res Module 11: 402 of 419Practical Voice Over IP (VoIP): SIP and related protocols
untermeasures see [255],[256],[257].
rm against VoIP (as well as ng a node or nodes with SIP
inate a session L to a proxy between
etup in progress
rgets) to steal/abuse services.
hich implement them), see
Maguire VoIP Security: Attacks and [email protected] 2010.08.26
VoIP Security: Attacks and CoThere are numerous types of attacks, for some details
Note that Denial of Service (DoS) is a major attack foother IP based services) - this could be done by floodimessages, sending malformed packets (“fuzzing”), .
Some other types of attacks:
• BYE attack: Attacker sends a SIP BYE to term• CANCEL attack: Attacker sends a SIP CANCE
the caller and callee, cancelling the session s• Registration manipulation and call hijacking• Media hijacking• Directory enumeration (for example, to find ta• An attacker might also access a VoIP gateway
For futher details of some of these (along with tools w[258].
Module 11: 403 of 419Practical Voice Over IP (VoIP): SIP and related protocols
Reading
Johnston, J. Peterson, R. Initiation Protocol”, IETF , 3262, 3263, 3264, 3265
sage Specification”, IETF http://www.ietf.org/rfc/rfc2633.txt
ions (S/MIME) Version 3.1 FC Editor, RFC 3851 (Proposed 5751
et Mail Extensions (S/MIME) Comments, RFC Editor, y 2010
Maguire References and Further [email protected] 2010.08.26
References and FurtherSIP Security
[193]J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Sparks, M. Handley, E. Schooler, “SIP: SessionRFC 3261, June 2002, Obsoleted by RFCs 3261http://www.ietf.org/rfc/rfc3261.txt
[194]B. Ramsdell (Editor), “S/MIME Version 3 MesRFC 2633, June 1999, Obsoleted by RFC 3851
[195] B. Ramsdell, “Secure/Multipurpose Internet Mail ExtensMessage Specification”, Internet Request for Comments, RStandard), ISSN 2070-1721, July 2004, Obsoleted by RFC
http://www.rfc-editor.org/rfc/rfc3851.txt
[196] B. Ramsdell and S. Turner, “Secure/Multipurpose InternVersion 3.2 Message Specification”, Internet Request forRFC 5751 (Proposed Standard), ISSN 2070-1721, Januar
http://www.rfc-editor.org/rfc/rfc5751.txt
Module 11: 404 of 419Practical Voice Over IP (VoIP): SIP and related protocols
uthenticated Identity SIP), IETF, Network ools.ietf.org/html/rfc4474
ver IP, M.Sc. Thesis, Royal lectronics and Information
lero-final-report.pdf
ver IP, M.Sc. Thesis, Royal lectronics and Information
rt-final-with-cover.pdf
to secure VoIP”, Master of rmation Technology, olm/Kista, March 2005 him-Orrblad.pdf
Maguire References and Further [email protected] 2010.08.26
[197]J. Peterson and C. Jennings, Enhancements for AManagement in the Session Initiation Protocol (Working Group, RFC 4474, August 2006 http://t
[198]Israel M. Abad Caballero, Secure Mobile Voice oInstitute of Technology (KTH), Dept. of MicroeTechnology, Stockholm, Sweden, June 2003. http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/030626-Israel_Abad_Cabal
[199]Johan Bilien, Key Agreement for Secure Voice oInstitute of Technology (KTH), Dept. of MicroeTechnology, Stockholm, Sweden, Dec. 2003. http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/031215-Johan-Bilien-repo
[200]Joachim Orrblad, “Alternatives to MIKEY/SRTPScience Thesis, KTH, Microelectronics and InfoTelecommunication System Laboratory, Stockhhttp://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/050330-Joac
Module 11: 405 of 419Practical Voice Over IP (VoIP): SIP and related protocols
, “Call establishment Delay mization in Mobile, Ad Hoc e,UK, 24-26 March, 2004
t Electronic Mail: Part III: 1423, February 1993.
ats Näslund, “RTP Security Lab, Ericsson - n. 3, 2001.
nd Mats Näslund, “RTP ber 15, 2000
ncrypt-00.txt
Maguire References and Further [email protected] 2010.08.26
[201]Johan Bilien, Erik Eliasson, and Jon-Olov Vatnfor secure VoIP”, WiOpt’04: Modeling and Optiand Wireless Networks, University of Cambridg
RTP encryption
[202]D. Balenson, “Privacy Enhancement for InterneAlgorithms, Modes, and Identifiers”, IETF RFChttp://www.ietf.org/rfc/rfc1423.txt
[203]Rolf Blom, Elisabetta Carrara, Karl Norrman, MEncryption for 3G Networks”, CommunicationsIETF proceeding, December 2000, talk dated: Jahttp://www.ietf.org/proceedings/00dec/slides/AVT-3/tsld001.htm
[204]Rolf Blom, Elisabetta Carrara, Karl Norrman, aEncryption for 3G Networks, IETF draft, Novem<draft-blom-rtp-encrypt-00.txt> http://www.iptel.org/info/players/ietf/security/draft-blom-rtp-e
Module 11: 406 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ats Näslund, RTP the Forty-Ninth Internet ask Force, San Diego, CA, edings/00dec/slides/AVT-3/tsld001.htm
(RTP) security”, sinki University of
a, K. Norrman, "The Secure C 3711, March 2004,
/in-notes/rfc3711.txt
educed-Size Real-Time ies and Consequences”, FC 5506 (Proposed .rfc-editor.org/rfc/rfc5506.txt
Maguire References and Further [email protected] 2010.08.26
[205]Rolf Blom, Elisabetta Carrara, Karl Norrman, MEncryption for 3G Networks, In Proceedings of Engineering Task Force, Internet Engineering TUSA, 10-15 December 2000, http://www.ietf.org/proce
[206]Ville Hallivuori, “Real-time Transport ProtocolTik-110.501 Seminar on Network Security, HelTechnology, 2000 http://www.tcm.hut.fi/Opinnot/Tik-110.501/2000/papers/hallivuori
[207]M. Baugher, D. McGrew, M. Naslund, E. CarrarReal-time Transport Protocol (SRTP)", IETF RFUpdated by RFC 5506 [208] ftp://ftp.rfc-editor.org
[208]I. Johansson and M. Westerlund, “Support for RTransport Control Protocol (RTCP): OpportunitInternet Request for Comments, RFC Editor, RStandard), ISSN 2070-1721, April 2009 http://www
Module 11: 407 of 419Practical Voice Over IP (VoIP): SIP and related protocols
Rolf Blom, Elisabetta Secure Real-time Transport Draft, June 2002, t-drafts/draft-ietf-avt-srtp-05.txt
and K. Norrman, “MIKEY: , August 2004
Efficient Stream ecure Real-time Transport 006
pplications over al Institute of Technology rmation Technology, 2005
Maguire References and Further [email protected] 2010.08.26
[209]Mark Baugher, David A. McGrew, David Oran,Carrara, Mats Näslund, and Karl Norrman, “TheProtocol”, IETF AVT Working Group, Internet<draft-ietf-avt-srtp-05.txt> http://www.ietf.org/interne
[210]J. Arkko, E. Carrara, F. Lindholm, M. Naslund, Multimedia Internet KEYing”, IETF RFC 3830http://www.ietf.org/rfc/rfc3830.txt
[211]M. Baugher and E. Carrara, “The Use of TimedLoss-Tolerant Authentication (TESLA) in the SProtocol (SRTP)”, IETF, RFC 4383, February 2http://www.rfc-editor.org/rfc/rfc4383.txt
[212]Elisabetta Carrara, Security for IP Multimedia AHeterogeneous Networks, Licentiate thesis, Roy(KTH), Institution for Microelectronics and InfoTrita-IMIT-LCN. AVH, 1651-4106; 05:01, Mayhttp://web.it.kth.se/~carrara/lic.pdf
Module 11: 408 of 419Practical Voice Over IP (VoIP): SIP and related protocols
, M.Sc. Thesis, Royal eleinformatics, Stockholm,
r, and A. Rayhan, ramework”, IETF
Internet-Draft, IETF es: September 2, 2010
M. Shore, “Middlebox ents”, IETF RFC 3304,
Maguire References and Further [email protected] 2010.08.26
NATs and Firewalls
[213] Fredrik Thernelius, “SIP, NAT, and Firewalls”Institute of Technology (KTH), Department of TSweden, May 2000.
[214]List of sources about SIP and Firewalls http://www.cs.columbia.edu/sip/drafts_firewall.html
[215]P. Srisuresh, J. Kuthan, J. Rosenberg, A. Molito“Middlebox Communication Architecture and fRFC 3303, August 2002 http://www.ietf.org/rfc/rfc3303.txt
[216]B. Zhou and D. Liu, ALG consideration of SIP,Network Working Group, March 1, 2010, Expirhttp://tools.ietf.org/html/draft-zhou-sip-alg-00
[217]R. P. Swale, P. A. Mart, P. Sijben, S. Brim, andCommunications (MIDCOM) Protocol RequiremAugust 2002 http://www.ietf.org/rfc/rfc3304.txt
Module 11: 409 of 419Practical Voice Over IP (VoIP): SIP and related protocols
. Mahy, “Simple Traversal arch 2003, Obsoleted by
ing, “Session Traversal r Comments, RFC Editor, 1, October 2008,
outable User Agent (UA) (SIP)”, IETF draft,February
P Gateway”, Master of ester Institute of mputing and Information
Voice%20Over%20IP%20Gateway.pdf
Maguire References and Further [email protected] 2010.08.26
[218]J. Rosenberg, J. Weinberger, C. Huitema, and Rof UDP through NATs (STUN)”, RFC 3489, MRFC 5389 http://www.ietf.org/rfc/rfc3489.txt
[219]J. Rosenberg, R. Mahy, P. Matthews, and D. WUtilities for NAT (STUN)”, Internet Request foRFC 5389 (Proposed Standard), ISSN 2070-172http://www.rfc-editor.org/rfc/rfc5389.txt
[220]J. Rosenberg, “Obtaining and Using Globally RURIs (GRUU) in the Session Initiation Protocol 21, 2005, expires August 22, 2005 http://www.ietf.org/internet-drafts/draft-ietf-sip-gruu-03.txt
[221]Lawrence Keyes, “A Low Density Voice Over IScience in Information Technology thesis, RochTechnology, B. Thomas Golisano College of CoSciences, May 17, 2004 http://www.mxdesign.net/voip/voip/onfolio-files/Low%20Density%20
Module 11: 410 of 419Practical Voice Over IP (VoIP): SIP and related protocols
n to the Session Initiation ”, RFC 3581, August 2003
n 2.09, 2004 snom nload/man_snom4s_natf_en_v209.pdf
s”, White Paper, Newport 5:54 AM
“NUTSS: A SIP based ity”, In Proceedings of 2004, pages 4348
al Using Relay Nat for SIP chnology (KTH), Institution y, Stockholm, Sweden,
Maguire References and Further [email protected] 2010.08.26
[222]J. Rosenberg and H. Schulzrinne, “An ExtensioProtocol (SIP) for Symmetric Response Routinghttp://www.ietf.org/rfc/rfc3581.txt
[223] “snom 4S NAT Filter: Admin Manual”, Versiotechnology Aktiengesellschaft http://www.snom.com/dow
[224]“NAT Traversal for Multimedia over IP ServiceNetworks Ltd., last modified: Feb 18, 2005 11:1http://www.newport-networks.com/whitepapers/fwnatwpes6.html
[225]Saikat Guha, Yutaka Takeda, and Paul Francis, Approach to UDP and TCP Network ConnectivSIGCOMM04 Workshops, Portland, OR, Aug. https://www.guha.cc/saikat/files/papers/nutss.pdf
[226]A. La Torre Yurkov, Implementation of Traversbased VoIP, Master Thesis, Royal Institute of Tefor Microelectronics and Information Technolog
Module 11: 411 of 419Practical Voice Over IP (VoIP): SIP and related protocols
aTorreYurkov_feb2006.pdf
ersal Using Relays around versal Utilities for NAT ditor, RFC 5766 (Proposed
.rfc-editor.org/rfc/rfc5766.txt
hment (ICE): A Protocol for r Offer/Answer Editor, RFC 5245 10
en, and A. Keranen, “Basic versal of Network Address FC Editor, RFC 5770
Maguire References and Further [email protected] 2010.08.26
February 2006 http://www.minisip.org/publications/Thesis_L
[227]R. Mahy, P. Matthews, and J. Rosenberg, “TravNAT (TURN): Relay Extensions to Session Tra(STUN)”, Internet Request for Comments, RFC EStandard), ISSN 2070-1721, April 2010 http://www
[228]J. Rosenberg, “Interactive Connectivity EstablisNetwork Address Translator (NAT) Traversal foProtocols”,Internet Request for Comments, RFC(Proposed Standard), ISSN 2070-1721, April 20http://www.rfc-editor.org/rfc/rfc5245.txt
[229]M. Komu, T. Henderson, H. Tschofenig, J. MelHost Identity Protocol (HIP) Extensions for TraTranslators”, Internet Request for Comments, R(Experimental), ISSN 2070-1721, April 2010 http://www.rfc-editor.org/rfc/rfc5770.txt
Module 11: 412 of 419Practical Voice Over IP (VoIP): SIP and related protocols
generation Internet, Data ta Protection Policy”, Dr. y, December 2002.
ion Protocol (SIP)”, Internet Standard), ISSN 2070-1721,
ions to the Session Initiation rks”, Internet Request for 2070-1721, November 2002, txt
ion Protocol (SIP) for or Comments, RFC Editor, 1, November 2005
Maguire References and Further [email protected] 2010.08.26
Privacy
[230]Alberto Escudero-Pascual, “Privacy in the next Protection in the context of European Union DaTekn. dissertation, Royal Institute of Technologhttp://www.imit.kth.se/~aep/PhD/docs/escuderoa-PhD-20021030.pdf
[231]J. Peterson, “A Privacy Mechanism for the Session InitiatRequest for Comments, RFC Editor, RFC 3323 (ProposedNovember 2002, http://www.rfc-editor.org/rfc/rfc3323.txt
[232]C. Jennings, J. Peterson, and M. Watson, “Private ExtensProtocol (SIP) for Asserted Identity within Trusted NetwoComments, RFC Editor, RFC 3325 (Informational), ISSNUpdated by RFC 5876 http://www.rfc-editor.org/rfc/rfc3325.
[233]M. Barnes, “An Extension to the Session InitiatRequest History Information”, Internet Request fRFC 4244 (Proposed Standard), ISSN 2070-172http://www.rfc-editor.org/rfc/rfc4244.txt
Module 11: 413 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ession Initiation Protocol itor, RFC 5876
nt-Driven Privacy ents, RFC Editor, ril 2010
2003:389), March 2003 sk_kommunikation.htm
ent Act. CALEA - 47 USC d Radiotelegraphs. Chapter tions
Maguire References and Further [email protected] 2010.08.26
[234]J. Elwell, “Updates to Asserted Identity in the S(SIP)”, Internet Request for Comments, RFC Ed(Informational), ISSN 2070-1721, April 2010, http://www.rfc-editor.org/rfc/rfc5876.txt
[235]M. Munakata, S. Schubert, T. Ohba, “User-AgeMechanism for SIP”, Internet Request for CommRFC 5767 (Informational), ISSN 2070-1721, Aphttp://www.rfc-editor.org/rfc/rfc5767.txt
[236]Swedish Electronic Communications Act (SFS http://www.pts.se/Archive/Documents/SE/Lag_2003-389_om_elektroni
[237]Communications Assistance for Law Enforcem1001-1010. Title 47--Telegraphs, Telephones, an9--Interception of Digital and Other Communicahttp://www.techlawjournal.com/agencies/calea/47usc1001.htm
Module 11: 414 of 419Practical Voice Over IP (VoIP): SIP and related protocols
reau of Investigation and n [to US FCC] for ues Concerning the nce for Law Enforcement
on_CALEA.pdf
nterception of IP Traffic,
baloo.pdf
IP-based Networks”, IEEE
Architecture for Lawful ober 2004
Maguire References and Further [email protected] 2010.08.26
[238]United States Department of Justice, Federal BuDrug Enforcement Administration, Joint PetitioRulemaking to Resolve Various Outstanding IssImplementation of the Communications AssistaAct, 10 March, 2004 http://www.steptoe.com/publications/FBI_Petition_for_Rulemaking_
[239] Jaya Baloo, Lawful Interception of IP Lawful IDraft 1, Black Hat Europe 2003, May 2003 http://www.blackhat.com/presentations/bh-europe-03/bh-europe-03-
[240]Matt Holdrege, “Supporting Lawful Intercept inHomeland Defense Series, March 2002 http://www.ewh.ieee.org/r6/lac/csspsvts/briefings/holdrege.pdf
[241]Fred Baker, Bill Foster, and Chip Sharp, “CiscoIntercept In IP Networks”, IETF RFC 3924, Octhttp://www.ietf.org/rfc/rfc3924.txt
Module 11: 415 of 419Practical Voice Over IP (VoIP): SIP and related protocols
; Lawful Interception (LI); 1.1, August 2001.
oject; Technical s; 3G Security; Handover mber 2002.
nications System (UMTS); nd Functions (3G 33.107 2001.
rvers: Insights from IP entions”, SIP Summit
pSrv_PPT.pdf
Maguire References and Further [email protected] 2010.08.26
[242]ETSI TS 101 331, Telecommunications securityRequirements of law enforcement agencies, V1.
[243]ETSI TS 33.108 3rd Generation Partnership PrSpecification Group Services and System AspectInterface for Lawful Interception, V5.1.0, Septe
[244]ETSI TS 133 107 Universal Mobile Telecommu3G Security; Lawful interception Architecture aversion 3.1.0 Release 1999), V4.2.0, December
[245]Global LI Industry Forum, Inc. http://www.gliif.org/
[246]http://www.gliif.org/standards.htm
[247]Ranjith Mukundan, “Media Servers and App SeServices Research and Proof-of-Concept Implem2005, Honolulu, Hawaii, 18 January 2005. http://www.wipro.com/pdf_files/SIP_Summit_2005_Wipro-MediaSrv-Ap
Module 11: 416 of 419Practical Voice Over IP (VoIP): SIP and related protocols
iation Protocol (SIP) and ditor, RFC 5039 ,
tment of VoIP and other SI TC LI and 3GPP SA3 LI rtugal, 22 - 23 July 2004 ngs/2004_07_Povoa/TD03%20integration.
Internet Request for al), ISSN 2070-1721, May
asures: In the era of Internet KTH), School of Information and CCS 2008-20, September 2008 nidis_Evripidis-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
[248]J. Rosenberg and C. Jennings, “The Session InitSpam”, Internet Request for Comments, RFC E(Informational), ISSN 2070-1721, January 2008http://www.rfc-editor.org/rfc/rfc5039.txt
[249]VeriSign Switzerland SA, “Integration and TreaIP-Enabled Services LI specifications”, Joint ETmeeting, document td003, Povoa de Varzim, Pohttp://www.3gpp.org/ftp/tsg_sa/WG3_Security/TSGS3_LI/Joint_Meeti
[250]IAB and IESG, “IETF Policy on Wiretapping”, Comments, RFC Editor, RFC 2804 (Information2000 http://www.rfc-editor.org/rfc/rfc2804.txt
[251]Romanidis Evripidis, Lawful Interception and CountermeTelephony, Masters thesis, Royal Institute of Technology (Communications Technology, Stockholm, Sweden, COS/
http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/080922-Roma
Module 11: 417 of 419Practical Voice Over IP (VoIP): SIP and related protocols
tocol User Agent with Key f secure sessions”, Masters hool of Information and en,
Sakhawat_Hossen-with-cover.pdf
er IP and Lawful Intercept: y (KTH), School of
Stockholm, Sweden,
ahan_Morshed-with-cover.pdf
opean Union, Directive r processed in connection ic communications services ding Directive 2002/58/EC, - 0063 6L0024:EN:HTML
Maguire References and Further [email protected] 2010.08.26
[252]Md. Sakhawat Hossen, “A Session Initiation ProEscrow: Providing authenticity for recordings othesis, Royal Institute of Technology (KTH), ScCommunications Technology, Stockholm, SwedTRITA-ICT-EX-2010:1, January 2010 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/100118-Md._
[253]}Muhammad Sarwar Jahan Morshed, “Voice ovGod cop/Bad cop”, Royal Institute of TechnologInformation and Communications Technology, TRITA-ICT-EX-2010:28, February 2010, http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/100221-Muhammad_Sarwar_J
[254]European Parliament and the Council of the Eur2006/24/EC on the retention of data generated owith the provision of publicly available electronor of public communications networks and amenOfficial Journal L 105, April 13, 2006, pp. 0054http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:3200
Module 11: 418 of 419Practical Voice Over IP (VoIP): SIP and related protocols
ttacks, and ition, March 21, 2008, 220
-1593271633
s; 1 edition, September 19, N-13: 978-1587054693
ed VoIP: Voice Over IP orne Media; 1 edition,
263644 or ISBN-13:
a talk at Computer Security ember 2007
Maguire References and Further [email protected] 2010.08.26
VoIP Security
[255]Himanshu Dwivedi, Hacking VoIP: Protocols, ACountermeasures, No Starch Press, illustrated edpages, ISBN-10: 1593271638 or ISBN-13: 978
[256] Patrick Park. Voice over IP Security, Cisco Pres2008, 384 pages, ISBN-10: 1587054698 or ISB
[257]David Endler and Mark Collier, Hacking ExposSecurity Secrets & Solutions, McGraw-Hill OsbNovember 28, 2006, 539 pages, ISBN-10: 0072978-0072263640
[258]Dustin D. Trammell, VoIP Attacks!, Slides fromInstitute Annual Conference (CSI 2007), 6 Movhttp://druid.caughq.org/presentations/VoIP-Attacks.pdf
Module 11: 419 of 419Practical Voice Over IP (VoIP): SIP and related protocols
equirements for SIP-based TF, DISPATCH Working pires: November 28, 2010
“An Architecture for Media t Draft, IETF, SIPREC , 29 June 2010, Expires: 31 ec-architecture-00
Recording Extensions”,
pires: 4 January 2011
Maguire References and Further [email protected] 2010.08.26
SIP recording
[259] K. Rehor, R. Jain, L. Portman, and A. Hutton, “RMedia Recording (SIPREC)”, Internet Draft, IEgroup, draft-ietf-siprec-req-00, 27 May 2010, Exhttp://tools.ietf.org/html/draft-ietf-siprec-req-00
[260]}A. Hutton, L. Portman, R. Jain, and K. Rehor, Recording using the Session Initiation”, InterneWorking group, draft-ietf-siprec-architecture-00December 2010 http://tools.ietf.org/html/draft-ietf-sipr
[261]A. Johnston and A. Hutton, “SIP Call Control - Internet Draft, IETF, SIPREC working group, draft-johnston-siprec-cc-rec-00, 3 July 2010, Exhttp://tools.ietf.org/html/draft-johnston-siprec-cc-rec-00
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
SIP Telephonyf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
SIP-Telephony.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 12: Lecture notes o
Module 12: 421 of 438Practical Voice Over IP (VoIP): SIP and related protocols
0] (Updated by RFCs 3459
looks like a SIP user agents switch to the PSTN.
[273].
used to carry telephony
multipart MIME messages in the
Maguire SIP [email protected] 2010.08.26
SIP TelephonySIP Telephony (SIP-T) -- for details see RFC 3204 [27[271] and 5621 [272]).
Gateway between the SIP world and the PSTN world to other SIP entities and like a terminating telephone
For example of call flows between SIP and PSTN see
Stream Control Transmission Protocol (SCTP) can besignalling [277].
Advantages Provides ISUP transparency (by carrying ISUP message asSIP messages between SIP-T gateways)
Disadvantages Does not interwork with SIP
Perpetuates ISUP!
Module 12: 422 of 438Practical Voice Over IP (VoIP): SIP and related protocols
IP (TRIP)S) protocol
umber range it is a
ateway and a proxy:
ony Administrative Domain
ge 460
EP) [276].
Maguire Telephony Routing over IP (TRIP)[email protected] 2010.08.26
Telephony Routing over• TRIP [274] is a gateway to Location Server (L• Designed for an interdomain gateway• Allows the gateway to advertise what PSTN n
gateway for
For within a domain there is a version for between a gTRIP-lite
A Location Server is responsible for a Internet Teleph(ITAD).
See also: Telephony Routing over IP (TRIP) on pa
and Telephony Gateway REgistration Protocol (TGR
Module 12: 423 of 438Practical Voice Over IP (VoIP): SIP and related protocols
cesas:
e using SIP on page 200.
Maguire Call Control [email protected] 2010.08.26
Call Control ServiGenerally include advanced telephony services such
• Call Transfer, both Attended and Unattended• Call Park/Un-Park• Multistage Dialling• Operator Services• Conference Call Management• Call Mobility• Call Pickup
See the slides starting on Intelligent Network servic
Module 12: 424 of 438Practical Voice Over IP (VoIP): SIP and related protocols
sing SIP
dia server (for
th scripts using Call
tabases to information, mation from the SIP
Maguire Call Center Redesign using [email protected] 2010.08.26
Call Center Redesign u• Replace the call center switch via VoIP• Interactive Voice Response (IVR) - using a me
pre-recorded clips) and SIP signalling• Automatic Call Distribution (ACD) - replace wi
Processing Language (CPL)• Agent Workstation - a PC with a SIP client• The agent has access via Web and various da
which can be indexed by the agent using inforrequest.
Module 12: 425 of 438Practical Voice Over IP (VoIP): SIP and related protocols
y services
mergency services, …)ty mechanisms for SIP
ssaginga-mune-i-tay”)
ase system that users can query s not require the session
Maguire Additional SIP Telephony [email protected] 2010.08.26
Additional SIP Telephon• SIP for the Hearing Impaired• Emergency Services• Precedence signalling (military, government, e
• RFC 3487 [262] gives the requirements for resource priori
• Message Waiting, Voice Mail, and Unified Me• See for example Interactive Intelligence’s Communité® (“k
http://www.inin.com/products/communite/communite.asp
• Call Waiting• SIP continuing presence service
• The I-Am-Alive (IAA) database [269] is a distributed databafter-the-event to determine the status of a person - it doeproperties of SIP
• Is there a SIP corollary - for continuing presence?
)[278] Module 12: 426 of 438Practical Voice Over IP (VoIP): SIP and related protocols
tion Service
phony services in addition 65] needs to support a
ternet-based telephony)
rious emergency related d networks, e.g., PSTNe., PSTN+Internet) can carry the ernet boundaries.te non-ordinary Labels (i.e.,
g strong end-to-end integrity label
Maguire Emergency Telecommunication Service ([email protected] 2010.08.26
Emergency Telecommunica(ETS)[278]
Telephony Signaling when used in Internet-based teleto the general requirements specified in RFC 3689 [2number of additional requirements RFC 3690 [266]:
• Telephony signaling applications (used with Inmust be able to carry labels.
• The labels must be extensible• to support various types and numbers of labels.
• These labels should have a mapping to the valabels/markings used in other telephony base• To ensure that a call placed over a hybrid infrastructure (i.
labels end-to-end with appropriate translation at PSTN/Int• Only authorized users or operators should be able to crea
labels that may alter the default best effort service).• Labels should be associated with mechanisms to providin• Operators should have the capability of authenticating the
)[278] Module 12: 427 of 438Practical Voice Over IP (VoIP): SIP and related protocols
st not preclude the
d stateful proxies that labels must be able to
an “best effort”).
Maguire Emergency Telecommunication Service ([email protected] 2010.08.26
• Application layer IP telephony capabilities muability to do application layer accounting.
• Application layer mechanisms in gateways anare specifically in place to recognize ETS typesupport “best available” service (i.e., better th
See also RFC 4375 [267] and RFC 4542 [268].
Module 12: 428 of 438Practical Voice Over IP (VoIP): SIP and related protocols
(E911)hulzrinne[263]:
lar to 911, 112, help, …)
ic area servered by this proxy: e.g., pittsburgh.pa.911.arpa
ound Sweden with ~18 million utomatic alarms;reports >500,000 calls/day or ⇒ 311 non-emergency number)
ress
7m and/ora, Stockholm, Sweden"
ellular phones in US
Maguire Emergency Services (E911)[email protected] 2010.08.26
Emergency Services We need to support 3 things according to Henning Sc
• There must exist an emergency address (simi• find Public Safety Answering Point (PSAP)
• outbound proxy -- only if there is a well bounded geograph• use DNS where the user or device enters a relevant name• SLP - but scope not likely to coincide with ESR• call volume:
– Sweden: SOSAlarm.se has 20 call centers distributed acalls/year with ~20% of them calls to 112 the rest are a
– US: National Emergency Number Association (NENA) 190 million a year (more than 80% are not emergencies
• obtain caller’s identity and geographical add• this is done to minimize prank calls• caller provides in request
– Geographic position: N 59° 24.220' E017° 57.029' +/- 7– Geographic Location: "5th floor, Isafjordsgatan 22, Kist
• or PSAP queries caller• or PSAP queries third party based on caller identity
note: Enhanced 911 (E911) - mandated by FCC for c
Module 12: 429 of 438Practical Voice Over IP (VoIP): SIP and related protocols
oint (PSAP)AP Pro” which contains the
artments and offices in areas
ews_2001/issue03/mapinfo_psap.htm
raphy, but is it the most with the digital maps from
obile Alliance (OMA) and tech/affiliates/lif/lifindex.html
Maguire Public Safety Answering Point (PSAP)[email protected] 2010.08.26
Public Safety Answering PFor example MapInfo has an E911 database called “PSfollowing PSAP information for the U.S. :
~4,400 records: both primary PSAPs and sheriff’s depnot served by a PSAP.
from http://www.mobileinfo.com/n
So finding the nearest one can be done based on geogrelevant or useful one? In Sweden SOS Alarm worksCoordCom.
Location Interopeability Forum became part of Open Mno longer exists separately: http://www.openmobilealliance.org/
• 10-digit emergency numbers • Address information• Administrative phone number • Fax number• Contact person • Latitude and longitude• Jurisdictional boundaries
Module 12: 430 of 438Practical Voice Over IP (VoIP): SIP and related protocols
ce
of their Vonage line and
ving a line
al access line at the
Maguire Vonage 911 [email protected] 2010.08.26
Vonage 911 servihttp://www.vonage.com/no_flash/features.php?feature=911
• User must pre-designate the physical locationupdate Vonage when the user moves
• 911 dialing is not automatically a feature of ha• users must pre-activate 911 dialing• user may decline 911 dialing
• A 911 dialed call will be connected to a generPublic Safety Answering Point (PSAP)• thus they will not know you phone number or location
• Service may not be available due to• a local power failure (your IP phone needs power)• you local ISP not being able to offer service• one of the transit networks not being able to offer service• the voice gateway to the PSTN not being in service• …
Module 12: 431 of 438Practical Voice Over IP (VoIP): SIP and related protocols
ith VoIPling Centers With E911 in 6e/press_index.php?PR=2006_03_07_0
Have E911"tional 400 calling centers the total number of
rvice to over 3400, which s. While it took Vonage one-half of the nation’s to accomplish the same
he 911 system or for as wifi phones or y call center which need it."
Maguire Vonage equips PSAPs with [email protected] 2010.08.26
Vonage equips PSAPs wVonage Equips Over 100 New Counties and 400 CalJust One Month, Vonage Press Release, March 7, 200
http://www.vonage.com/corporat
• "Nearly 65 Percent of Vonage Customers Now• "In February alone, Vonage equipped an addi
in over 100 new counties with E911 -- bringingcalling centers across the nation with E911 seis more than half of the nation’s calling centerless than a year to turn on E911 in more thanPSAP’s, it took the wireless industry 10 yearsfeat."
• "In the event Vonage is unable to connect to tcustomers who are using mobile devices suchsoftclients, Vonage offers a national emergencenables customers to get local help when they
EOPRIV) Module 12: 432 of 438Practical Voice Over IP (VoIP): SIP and related protocols
Working Group
) an IETF working group graphic data that is subject
day.
3 [279]. Security threats are
at” is defined in ating the basic requirements rmat (PIDF) and a means of ].
Maguire Geographic Location/Privacy Working Group ([email protected] 2010.08.26
Geographic Location/Privacy (GEOPRIV)
GEOPRIV ( http://www.ietf.org/html.charters/geopriv-charter.htmltasked with establishing a means of disseminating geoto the same sorts of privacy controls as presence is to
The requirements for GEOPRIV are given in RFC 369examined in RFC 3694 [280].
“A Presence-based GEOPRIV Location Object FormRFC 4119 [281] based on earlier work done in formulfor presence data -- the Presence Information Data Fodistributing these object described in RFC 4079 [284
Module 12: 433 of 438Practical Voice Over IP (VoIP): SIP and related protocols
Reading
ce Priority Mechanisms for 3487, February 2003
Services”, 48th IETF 911.pdf
ments for Emergency 3689, February 2004
quirements for Emergency 3690, February 2004
Services (ETS)
Maguire References and Further [email protected] 2010.08.26
References and FurtherEmergency services
[262]Henning Schulzrinne, “Requirements for Resourthe Session Initiation Protocol (SIP)”, IETF RFC
[263]See Henning Schulzrinne , “SIP for Emergency(Pittsburgh), http://www.cs.columbia.edu/sip/talks/ietf0008_
[264]Europe’s 112 web site: http://www.sos112.info/
[265]K. Carlberg and R. Atkinson, “General RequireTelecommunication Service (ETS)”, IETF RFCftp://ftp.rfc-editor.org/in-notes/rfc3689.txt
[266]K. Carlberg and R. Atkinson, “IP Telephony ReTelecommunication Service (ETS)”, IETF RFCftp://ftp.rfc-editor.org/in-notes/rfc3690.txt
[267]K. Carlberg, “Emergency Telecommunications
Module 12: 434 of 438Practical Voice Over IP (VoIP): SIP and related protocols
in”, Internet Request for nal), ISSN 2070-1721,
ncy Telecommunications ernet Protocol Suite”, C 4542 (Informational), 865
Experiences of the Internet e 2000.
. Audet, M. Watson, and SIG Objects”, IETF
459 and 5621
Maguire References and Further [email protected] 2010.08.26
Requirements for a Single Administrative DomaComments", RFC Editor, RFC 4375 (InformatioJanuary 2006, http://www.rfc-editor.org/rfc/rfc4375.txt
[268]F. Baker and J. Polk, “Implementing an EmergeService (ETS) for Real-Time Services in the IntInternet Request for Comments, RFC Editor, RFISSN 2070-1721, May 2006, Updated by RFC 5http://www.rfc-editor.org/rfc/rfc4542.txt
[269]N. Tada, et al., “IAA System (I Am Alive): TheDisaster Drills”, Proceedings of INET-2000, Jun
SIP Telephony
[270]E. Zimmerer, J. Peterson, A. Vemuri, L. Ong, FM. Zonoun, “MIME media types for ISUP and QRFC 3204, December 2001, Updated by RFCs 3http://www.ietf.org/rfc/rfc3204.txt
Module 12: 435 of 438Practical Voice Over IP (VoIP): SIP and related protocols
rnet Mail Extensions ents, RFC Editor, , January 2003, Updated by
ession Initiation Protocol itor, RFC 5621 (Proposed
gham, and K. Summers, ed Telephone Network r 2003
hony Routing over IP w.ietf.org/rfc/rfc3219.txt
Maguire References and Further [email protected] 2010.08.26
[271]E. Burger, “Critical Content Multi-purpose Inte(MIME) Parameter”, Internet Request for CommRFC 3459 (Proposed Standard), ISSN 2070-1721RFC 5621 http://www.rfc-editor.org/rfc/rfc3459.txt
[272]G. Camarillo, “Message Body Handling in the S(SIP)”, Internet Request for Comments, RFC EdStandard), ISSN 2070-1721, September 2009 http://www.rfc-editor.org/rfc/rfc5621.txt
[273] A. Johnston, S. Donovan, R. Sparks, C. Cunnin"Session Initiation Protocol (SIP) Public Switch(PSTN) Call Flows", IETF RFC 3666, Decembehttp://www.ietf.org/rfc/rfc3666.txt
TRIP
[274]J. Rosenberg, H. Salama, and M. Squire, “Telep(TRIP)”, IETF RFC 3219, January 2002 http://ww
Module 12: 436 of 438Practical Voice Over IP (VoIP): SIP and related protocols
or Telephony Routing”, fc2871.txt
ma, D.N. Shah, “A EP)”, Internet Request for
tandard), ISSN 2070-1721,
lling Transport over Stream bility Statement”, IETF, c/rfc4166.txt
rk for Supporting in IP Telephony”, IETF, n-notes/rfc4190.txt
nd J. Polk, “Geopriv , RFC Editor, RFC 3693
Maguire References and Further [email protected] 2010.08.26
[275]J. Rosenberg and H. Schulzrinne, “Framework fIETF RFC 2871, June 2000. http://www.ietf.org/rfc/r
[276]M. Bangalore, R. Kumar, J. Rosenberg, H. SalaTelephony Gateway REgistration Protocol (TGRComments, RFC Editor, RFC 5140 (Proposed SMarch 2008 http://www.rfc-editor.org/rfc/rfc5140.txt
[277]L. Coene and J. Pastor-Balbas, “Telephony SignaControl Transmission Protocol (SCTP) ApplicaRFC 4166, February 2006 http://www.rfc-editor.org/rf
[278]K. Carlberg, I. Brown, and C. Beard, “FramewoEmergency Telecommunications Service (ETS)RFC 4190, November 2005 ftp://ftp.rfc-editor.org/i
Geopriv
[279]J. Cuellar, J. Morris, D. Mulligan, J. Peterson, aRequirements”, Internet Request for Comments
Module 12: 437 of 438Practical Voice Over IP (VoIP): SIP and related protocols
4
on, “Threat Analysis of the nts, RFC Editor, RFC 3694 4
tion Object Format”, C 4119 (Proposed
pdated by RFCs 5139 [282]
ic Location Format for ject (PIDF-LO)”, Internet (Proposed Standard), ISSN fc/rfc5139.txt
ig, “GEOPRIV Presence -LO) Usage Clarification,
Maguire References and Further [email protected] 2010.08.26
(Informational), ISSN 2070-1721, February 200http://www.rfc-editor.org/rfc/rfc3693.txt
[280]M. Danley, D. Mulligan, J. Morris, and J. PetersGeopriv Protocol”, Internet Request for Comme(Informational), ISSN 2070-1721, February 200http://www.rfc-editor.org/rfc/rfc3694.txt
[281]J. Peterson, “A Presence-based GEOPRIV LocaInternet Request for Comments, RFC Editor, RFStandard), ISSN 2070-1721, December 2005, Uand 5491 [283] http://www.rfc-editor.org/rfc/rfc4119.txt
[282]M. Thomson and J. Winterbottom, “Revised CivPresence Information Data Format Location ObRequest for Comments, RFC Editor, RFC 5139 2070-1721, February 2008 http://www.rfc-editor.org/r
[283]J. Winterbottom, M. Thomson, and H. TschofenInformation Data Format Location Object (PIDF
Module 12: 438 of 438Practical Voice Over IP (VoIP): SIP and related protocols
t Request for Comments, N 2070-1721, March 2009
stribution of GEOPRIV nts, RFC Editor, RFC 4079
Maguire References and Further [email protected] 2010.08.26
Considerations, and Recommendations”, InterneRFC Editor, RFC 5491 (Proposed Standard), ISShttp://www.rfc-editor.org/rfc/rfc5491.txt
[284]J. Peterson, “A Presence Architecture for the DiLocation Objects”, Internet Request for Comme(Informational), ISSN 2070-1721, July 2005 http://www.rfc-editor.org/rfc/rfc4079.txt
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
IP Conferencingf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
Conferencing.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 13: SLecture notes o
Module 13: 440 of 455Practical Voice Over IP (VoIP): SIP and related protocols
enable other media (e.g., text, r synchronized display[307]
/push2talk.floHweb.ch
2 [289]
for Conference State
Maguire [email protected] 2010.08.26
Conferencing• Multimedia conferencing
• Synchronized Multimedia Integration Language (SMIL) to graphics and URLs) to be added to audio/video streams fo
• SMIL documents are XML 1.0 documents
• Multipoint conferencing• can exploit multicast where available
• Call control for conferencing• Floor control [288]
• this a particular focus of Push-to-talk service [291]• see Florian Maurer’s push-to-talk service for minisip http:/• An example of a floor control protocol is given in RFC 458
• RFC 4575 [290] defines a SIP Event Package
Module 13: 441 of 455Practical Voice Over IP (VoIP): SIP and related protocols
[285]
joining the conference.
Scale
other end points small
h between all own mixing
medium
bridge which does medium
ference, by one of e the call to a
medium
icast address (which
otocol (SAP)
small to very large
Maguire Conferencing Models [285][email protected] 2010.08.26
Conferencing Models
Commercial conference bridge authenticate the users
Type of Conference Description
Endpoint mixing One end point acts as a mixer for all the
SIP Server and distributed media Central SIP server establishes a full mesparticipants - each participant does their
Dial-in conference All participants connect to a conferencethe mixing for each participant
Ad hoc centralized conference Two users transition to a multiparty conthem using third-party signaling to movconference bridge
Large multicast conference user join the multicast based on the multthey got via:
• annoucement on the web• e-mail• Session Annoucement Pr
[306]
Module 13: 442 of 455Practical Voice Over IP (VoIP): SIP and related protocols
ging common operations:
providing an initial list of
arty Usage Framework for
cing for User Agents
FC 4597 [298].
Maguire SIP [email protected] 2010.08.26
SIP ConferencinRFC 4353 [286] defines SIP procedures for the follow
• Creating Conferences (see RFC 5366 [299] forparticipants)
• Adding/Removing Participants• Destroying Conferences• Obtaining Membership Information• Adding/Removing Media• Conference Announcements and Recordings
RFC 5850 [300] defines “A Call Control and Multi-Pthe Session Initiation Protocol (SIP)”.
RFC 4579 [296] defines SIP Call Control - Conferen
A variety of conferencing scenarios are described in R
Module 13: 443 of 455Practical Voice Over IP (VoIP): SIP and related protocols
ces
uted Conferencing
e RFC 5370 [292])
Maguire Realizing [email protected] 2010.08.26
Realizing conferenConferences can be realizes in many ways:
• Centralized Server, Endpoint Server, or Distrib• Media Server Component• Distributed Mixing• Cascaded Mixers• Transcoding media at a conference bridge (se
Module 13: 444 of 455Practical Voice Over IP (VoIP): SIP and related protocols
Framework RFC 5239 [304]
Maguire Centralized Conferencing [email protected] 2010.08.26
Centralized Conferencing A framework for centralized conferences is defined in
Module 13: 445 of 455Practical Voice Over IP (VoIP): SIP and related protocols
g (DCON)t of active development
ements for Distributed
Maguire Distributed Conferencing (DCON)[email protected] 2010.08.26
Distributed ConferencinDistributed conferencing is an area where there is a lotoday, see the many Internet Drafts - such as “RequirConferencing” [305].
Module 13: 446 of 455Practical Voice Over IP (VoIP): SIP and related protocols
[email protected] 2010.08.26
Module 13: 447 of 455Practical Voice Over IP (VoIP): SIP and related protocols
er controldefined in RFC 5167 [295] .
L) and Protocol specified in and control input from a splay a picture (for example
) defined in RFC 5707 in RFC 5168 [297].
Maguire Conference and IVR server [email protected] 2010.08.26
Conference and IVR servThe Media Server Control Protocol Requirements are
The Media Server Control Markup Language (MSCMRFC 5022 [302] enables the conference focus to mix media server. This can be used to play a video clip, dia slide), etc.
See also the Media Server Markup Language (MSML[303]. The XMLSchema for Media Control is defined
Module 13: 448 of 455Practical Voice Over IP (VoIP): SIP and related protocols
nces with Minimal Control
pled SIP es of the W3C Speech
Maguire Media [email protected] 2010.08.26
Media typesRFC 3551: RTP Profile for Audio and Video Confereprovides a basic RTP profile.
RFC 4245: High-Level Requirements for Tightly CouConferencing defines the media types for the languagInterface Framework [287]:
• Voice Extensible Markup Language (VoiceXML),• Speech Synthesis Markup Language (SSML),• Speech Recognition Grammar Specification (SRGS),• CallControl XML (CCXML), and• Pronunciation Lexicon Specification (PLS).
Module 13: 449 of 455Practical Voice Over IP (VoIP): SIP and related protocols
conference
nt during a conference t containing data that
plurality of participants r of the audible sounds ants. The system and provide identification ants in the conference sounds based on the
nt 6,853,716 [308]
Maguire Speaker recognition in a [email protected] 2010.08.26
Speaker recognition in a Abstract:
A system and method for identifying a participacall include the capability to receive a packerepresents audible sounds spoken by one of ain a conference call and to determine a speakeusing voice profile information of the participmethod further include the capability to information of the speaker to the other participcall contemporaneously with providing audibledata to those participants.
Shmuel Shaffer and Michael E. Knappe, US pate
Module 13: 450 of 455Practical Voice Over IP (VoIP): SIP and related protocols
Reading
ulti Party Conferencing in
with the Session Initiation 6
or Tightly Coupled SIP , expires: March 2, 2005 ing-requirements-01.txt
u. “Requirements for Floor 2006
Maguire References and Further [email protected] 2010.08.26
References and FurtherSIP Conferencing
[285]J. Rosenberg and H. Schulzrinne, “Models for MSIP”, Internet Draft, July 1, 2002, {expired} http://www.ietf.org/internet-drafts/draft-ietf-sipping-conferencing-models-01.txt
[286]J. Rosenberg, "A Framework for Conferencing Protocol (SIP)", IETF, RFC 4353, February 200http://www.rfc-editor.org/rfc/rfc4353.txt
[287]O. Levin, R. Even, “High Level Requirements fConferencing”, Internet-Draft , September 2004http://www.ietf.org/internet-drafts/draft-ietf-sipping-conferenc
[288]P. Koskelainen, J. Ott, H. Schulzrinne, and X. WControl Protocols”, IETF, RFC 4376, February http://www.rfc-editor.org/rfc/rfc4376.txt
Module 13: 451 of 455Practical Voice Over IP (VoIP): SIP and related protocols
Floor Control Protocol ditor, RFC 4582 (Proposed
://www.rfc-editor.org/rfc/rfc4582.txt
Session Initiation Protocol net Request for Comments, N 2070-1721, August 2006,
l (SIP) Event Package and the Push-to-Talk over ary 2006
SIP) Conference Bridge ents, RFC Editor,
1}, October 2008
Maguire References and Further [email protected] 2010.08.26
[289]G. Camarillo, J. Ott, and K. Drage, “The Binary(BFCP)”, Internet Request for Comments, RFC EStandard), ISSN 2070-1721, November 2006 http
[290]J. Rosenberg, H. Schulzrinne, and O. Levin, “A(SIP) Event Package for Conference State”, InterRFC Editor, RFC 4575 (Proposed Standard), ISShttp://www.rfc-editor.org/rfc/rfc4575.txt
[291]M. Garcia-Martin,"A Session Initiation ProtocoData Format for Various Settings in Support forCellular (PoC) Service", IETF, RFC 4354, Januftp://ftp.rfc-editor.org/in-notes/rfc4354.txt
[292]G. Camarillo, “The Session Initiation Protocol (Transcoding Model”, Internet Request for CommRFC 5370 (Proposed Standard), ISSN 2070-172http://www.rfc-editor.org/rfc/rfc5370.txt
Module 13: 452 of 455Practical Voice Over IP (VoIP): SIP and related protocols
for Tightly Coupled SIP 5,
Audio and Video quest for Comments, RFC
July 2003, Updated by RFC
rotocol Requirements”, C 5167 (Informational),
ditor.org/rfc/rfc5167.txt
rotocol (SIP) Call Control - t for Comments, RFC 2070-1721, August 2006
hema for Media Control”,
Maguire References and Further [email protected] 2010.08.26
[293] O. Levin and R. Even, “High-Level RequirementsConferencing”, IETF RFC 4245, November 200ftp://ftp.rfc-editor.org/in-notes/rfc4267.txt
[294]H. Schulzrinne and S. Casner, “RTP Profile for Conferences with Minimal Control”, Internet ReEditor, RFC 3551 (Standard), ISSN 2070-1721, 5761 http://www.rfc-editor.org/rfc/rfc3551.txt
[295]M. Dolly and R. Even, “Media Server Control PInternet Request for Comments, RFC Editor, RFISSN 2070-1721, March 2008 http://www.rfc-e
[296]:A. Johnston and O. Levin, “Session Initiation PConferencing for User Agents”, Internet RequesEditor, RFC 4579 (Best Current Practice), ISSNhttp://www.rfc-editor.org/rfc/rfc4579.txt
[297]O. Levin, R. Even, and P. Hagendorf, “XML Sc
Module 13: 453 of 455Practical Voice Over IP (VoIP): SIP and related protocols
C 5168 (Informational), rg/rfc/rfc5168.txt
s”, Internet Request for al), ISSN 2070-1721,
ablishment Using n Protocol (SIP)”, Internet (Proposed Standard), ISSN c/rfc5366.txt
d A. Johnston, “A Call he Session Initiation , RFC Editor, RFC 5850 ://www.rfc-editor.org/rfc/rfc5850.txt
Server Control Markup quest for Comments, RFC
Maguire References and Further [email protected] 2010.08.26
Internet Request for Comments, RFC Editor, RFISSN 2070-1721, March 2008 http://www.rfc-editor.o
[298]R. Even and N. Ismail, “Conferencing ScenarioComments, RFC Editor, RFC 4597 (InformationAugust 2006 http://www.rfc-editor.org/rfc/rfc4597.txt
[299]G. Camarillo and A. Johnston, “Conference EstRequest-Contained Lists in the Session InitiatioRequest for Comments, RFC Editor, RFC 5366 2070-1721, October 2008, http://www.rfc-editor.org/rf
[300]R. Mahy, R. Sparks, J. Rosenberg, D. Petrie, anControl and Multi-Party Usage Framework for tProtocol (SIP)”, Internet Request for Comments(Informational), ISSN 2070-1721, May 2010 http
[301]J. Van Dyke, E. Burger, and A. Spitzer, “MediaLanguage (MSCML) and Protocol”, Internet Re
Module 13: 454 of 455Practical Voice Over IP (VoIP): SIP and related protocols
721, November 2006, fc4722.txt
Server Control Markup quest for Comments, RFC 721, September 2007
ver Markup Language Editor, RFC 5707 0
work for Centralized RFC Editor, RFC 5239 8
ero, and A. Buono, nternet-Draft, Network
Maguire References and Further [email protected] 2010.08.26
Editor, RFC 4722 (Informational), ISSN 2070-1Obsoleted by RFC 5022 http://www.rfc-editor.org/rfc/r
[302]J. Van Dyke, E. Burger, and A. Spitzer, “MediaLanguage (MSCML) and Protocol”, Internet ReEditor, RFC 5022 (Informational), ISSN 2070-1http://www.rfc-editor.org/rfc/rfc5022.txt
[303]A. Saleem, Y. Xin, and G. Sharratt, “Media Ser(MSML)”, Internet Request for Comments, RFC(Informational), ISSN 2070-1721, February 201http://www.rfc-editor.org/rfc/rfc5707.txt
[304]M. Barnes, C. Boulton, and O. Levin, “A FrameConferencing”, Internet Request for Comments,(Proposed Standard), ISSN 2070-1721, June 200http://www.rfc-editor.org/rfc/rfc5239.txt
[305]S P. Romano, A. Amirante, T. Castaldi, L. Mini“Requirements for Distributed Conferencing”, I
Module 13: 455 of 455Practical Voice Over IP (VoIP): SIP and related protocols
ber 30, 2010
Announcement Protocol”,
e (SMIL) 1.0 Specification, .org/TR/REC-smil/
and method for identifying : Cisco Technology, Inc.
February 8, 2005, Filed:
Maguire References and Further [email protected] 2010.08.26
Working Group, June 28, 2010, Expires: Decemhttp://tools.ietf.org/html/draft-romano-dcon-requirements-07
Session Annoucement Protocol
[306]M. Handley, C. Perkins, and E. Whelan, “SessionIETF RFC 2974, October 2000 http://www.ietf.org/rfc/rfc2974.txt
SMIL
[307] Synchronized Multimedia Integration LanguagW3C Recommendation 15-June-1998 http://www.w3
Speaker recognition in a conference
[308]Shmuel Shaffer and Michael E. Knappe, “Systema participant during a conference call”, Assignee(San Jose, CA), United States Patent 6,853,716,April 16, 2001.
IK2554 IP (VoIP): SIP and olsod 1
Maguire s.fm Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
ed Internet-PSTN vicesf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
Mixed-Internet-PSTN-Service 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 14: MixSer
Lecture notes o
Module 14: 457 of 466Practical Voice Over IP (VoIP): SIP and related protocols
ervices
ernet Servers (SPIRITS)
Maguire Mixed Internet-PSTN [email protected] 2010.08.26
Mixed Internet-PSTN S• PSTN and Internetworking (PINT)• Servers in the PSTN Initiating Requests to Int• Telephony Routing over IP (TRIP)• Opticall AB’s Dial over Data solution
Module 14: 458 of 466Practical Voice Over IP (VoIP): SIP and related protocols
ng (PINT) the internet invokes a PSTN
eb page
re SDP extensions (i.e., the VITE, REGISTER, and
equest
dress type: RFC2543 (SIP)
Maguire PSTN and Internetworking (PINT)[email protected] 2010.08.26
PSTN and InternetworkiPSTN and Internetworking (PINT)[309] - action fromservice (note: this is one way invocation), examples:
• Request to Call ⇒ “Click to Connect” from a w• Request to Fax Content ⇒ “Click to FAX”• Request to Speak/Send/Play Content• …
Based on SIP extensions (SIPext), which in actuality abody of SIP messages). Redefines some methods (INBYE) and introduces three new methods:
• Subscribe - request completion status of a r• Notify - receive status updates• Unsubscribe - cancel subscriptions
PINT extensions to SDP: Network type (TN) and Ad
rvers (SPIRITS) Module 14: 459 of 466Practical Voice Over IP (VoIP): SIP and related protocols
g Requests to IRITS) services via internet server
usy phone in the PSTN t that is using this telephone
No. 04, 1997 e55.shtml
1997041.pdf
tween Internet and PSTN.
luded their work.
Maguire Servers in the PSTN Initiating Requests to Internet [email protected] 2010.08.26
Servers in the PSTN InitiatinInternet Servers (SP
SPIRITS protocol [312] - implementing a family of IN(rather than in the PSTN)
For example, internet call waiting (ICW) - calling a bnetwork could pop up a call waiting panel on the clienline, this replaces earlier solutions such as:
• for example, Ericsson’s PhoneDoubler, Ericsson Review, http://www.ericsson.com/about/publications/review/1997_04/articl
• PDF of the entire article: http://www.ericsson.com/about/publications/review/1997_04/files/
SPIRITS unlike PINT allows two way interaction be
See also [322].
Note that the IETF SPIRITS working group has conc
Module 14: 460 of 466Practical Voice Over IP (VoIP): SIP and related protocols
IP (TRIP)ute from the Internet to a d
er Gateway Protocol (BGP)
nd providing TRIP with a generally special goverment
Maguire Telephony Routing over IP (TRIP)[email protected] 2010.08.26
Telephony Routing overTelephony Routing over IP (TRIP) [318] Finding a rogateway nearest to where the call should be terminate
Telephony Routing Protocol is modeled after the Bord
See also TRIP MIB definitions iin RFC 3872 [320] away to provided prioritized services to certain callers (employees) - RFC 5115 [321].
Module 14: 461 of 466Practical Voice Over IP (VoIP): SIP and related protocols
ta solutionuple calls to and from the the cost of calls. For details [324], Xiao Wu [325],
Maguire Opticall AB’s Dial over Data [email protected] 2010.08.26
Opticall AB’s Dial over DaThis approach uses a SIP proxy + VoIP gateway to coPSTN, SIP trunks, SIP handsets, etc. in order to reducesee the masters theses by Max Weltz [323], Li ZhangTao Sun [326], and others.
Module 14: 462 of 466Practical Voice Over IP (VoIP): SIP and related protocols
Reading
xtensions to SIP and SDP for IP
e 2000
g, A. DeSimone, K. Tewani, P. e PSTN/Internet C 2458 , November 1998
ormation Base for the PINT
ttp://www.ietf.org/rfc/rfc3055.txt
g, J. Gato, H. Lu, and M. questing Internet Services)
/www.ietf.org/rfc/rfc3910.txt
Maguire References and Further [email protected] 2010.08.26
References and FurtherPINT
[309]S. Petrack and L. Conroy, “The PINT Service Protocol: E
Access to Telephone Call Services”, IETF RFC 2848, Junhttp://www.ietf.org/rfc/rfc2848.txt
[310]H. Lu, M. Krishnaswamy, L. Conroy, S. Bellovin, F. BurDavidson, H. Schulzrinne, K. Vishwanathan. “Toward thInter-Networking--Pre-PINT Implementations”, IETF RFhttp://www.ietf.org/rfc/rfc2458.txt
[311] M. Krishnaswamy and D. Romascanu, “Management Inf
Services Architecture”, IETF RFC 3055, February 2001 hSPIRITS
[312]V. Gurbani (Editor), A. Brusilovsky, I. FaynberUnmehopa, “The SPIRITS (Services in PSTN reProtocol”, IETF RFC 3910 , October 2004 http:/
Module 14: 463 of 466Practical Voice Over IP (VoIP): SIP and related protocols
efinition of the Protocol for ternet Internetworking”, ctober 1999, Expired: April protocol/
Zhang, S. Rhim, J. Hwang, ard, J. Yoakum, and L. nitiated Services”, IETF c2995.txt
man, “The SPIRITS /www.ietf.org/rfc/rfc3136.txt
rvice in the Public Switched /IN) Requesting InTernet F RFC 3298, August 2002
net Service working group
Maguire References and Further [email protected] 2010.08.26
[313]I. Faynberg, H. Lu, and L. Slutsman, “Toward DPSTN-initiated Services Supported by PSTN/InIETF, Network Working Group, Internet draft, O2000 https://datatracker.ietf.org/doc/draft-faynberg-spirits-
[314]H. Lu, I. Faynberg, J. Voelker, M. Weissman, W.S. Ago, S. Moeenuddin, S. Hadvani, S. NyckelgRobart, “Pre-Spirits Implementations of PSTN-iRFC 2995, November 2000 http://www.ietf.org/rfc/rf
[315]L. Slutsman, I. Faynberg, H. Lu, and M. WeissArchitecture”, IETF RFC 3136, June 2001 http:/
[316]I. Faynberg, J. Gato, H. Lu, and L. Slutsman, “SeTelephone Network/Intelligent Network (PSTNService (SPIRITS) Protocol Requirements”, IEThttp://www.ietf.org/rfc/rfc3298.txt
[317]IETF Service in the PSTN/IN Requesting InTerhttp://www.ietf.org/html.charters/spirits-charter.html
Module 14: 464 of 466Practical Voice Over IP (VoIP): SIP and related protocols
hony Routing over IP rg/rfc/rfc3219.txt
k for Telephony Routing Editor, RFC 2871 ://www.rfc-editor.org/rfc/rfc2871.txt
ent Information Base for quest for Comments, RFC 70-1721, September 2004
ng over IP (TRIP) Attribute ments, RFC Editor, 1, January 2008
Maguire References and Further [email protected] 2010.08.26
TRIP
[318]J. Rosenberg, H. Salama, and M. Squire, “Telep(TRIP)”, RFC 3219, January 2002 http://www.ietf.o
[319]J. Rosenberg and H. Schulzrinne, “A Frameworover IP”, Internet Request for Comments, RFC(Informational), ISSN 2070-1721, June 2000 http
[320]D. Zinman, D. Walker, and J. Jiang, “ManagemTelephony Routing over IP (TRIP)”, Internet ReEditor, RFC 3872 (Proposed Standard), ISSN 20http://www.rfc-editor.org/rfc/rfc3872.txt
[321]K. Carlberg and P. O'Hanlon, “Telephony Routifor Resource Priority”, Internet Request for ComRFC 5115 (Proposed Standard), ISSN 2070-172http://www.rfc-editor.org/rfc/rfc5115.txt
Module 14: 465 of 466Practical Voice Over IP (VoIP): SIP and related protocols
ng, “Integrated Services ssion Initiation Protocol 02
esis, Royal Institute of Communications eltz_ExjobbReport-with-cover.pdf
ider, Masters thesis, Royal ation and Communications
t 2009 g-Li-with-cover.pdf
thesis, Royal Institute of Communications
Maguire References and Further [email protected] 2010.08.26
ISUP
[322]G. Camarillo, A. B. Roach, J. Peterson, and L. ODigital Network (ISDN) User Part (ISUP) to Se(SIP) Mapping”, IETF RFC 3398, December 20ftp://ftp.rfc-editor.org/in-notes/rfc3398.txt
Dial over Data
[323]Max Weltz, Dial over Data solution, Masters thTechnology (KTH), School of Information and Technology, COS/CCS 2008-02, February 2008http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/080221-MaxW
[324]Zhang Li, Service Improvements for a VoIP ProvInstitute of Technology (KTH), School of InformTechnology, TRITA-ICT-EX-2009:104, Augushttp://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/090829-Zhan
[325]Xiao Wu, SIP on an Overlay Network. Masters Technology (KTH), School of Information and
Module 14: 466 of 466Practical Voice Over IP (VoIP): SIP and related protocols
ber 2009 Wu-with-cover.pdf
cation: OptiCaller hesis, Royal Institute of Communications r 2009 Sun-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
Technology, TRITA-ICT-EX-2009:105, Septemhttp://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/090915-Xiao
[326]Tao Sun, Developing a Mobile Extension AppliApplication and Provisioning System. Masters tTechnology (KTH), School of Information and Technology, TRITA-ICT-EX-2009:177, Octobehttp://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/091015-Tao_
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
and QoS for SIPf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
AAA-QoS.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 15: AAALecture notes o
AA) Module 15: 468 of 495Practical Voice Over IP (VoIP): SIP and related protocols
n, Accounting
ith QoS since for better than his high QoS - AAA is ask for this service, and how tication, Authorization and rotocol”[329].
Maguire Authentication, Authorization, Accounting ([email protected] 2010.08.26
Authentication, Authorizatio(AAA)
This become a major issue especially in conjunction wbest effort service, someone probably has to pay for tnecessary to decide who you are, if you are allowed to much you should be charged. See [336] and “AuthenAccounting Requirements for the Session Initiation P
Module 15: 469 of 495Practical Voice Over IP (VoIP): SIP and related protocols
STN via which someone emium rate’ calls)
imensioning) , input for fraud
mail, media
Maguire SIP [email protected] 2010.08.26
SIP AccountingFor definition of terms see RFC 2975 [333]
Purposes:
• controlling resource usage (e.g., gateways to Pcould place very expensive international or ‘pr
• real-time• fraud detection• pre-paid subscriptions
• off-line• monthly/quarterly billing• deriving usage patterns ⇒ planning upgrades (resource d
detection, …
Resources to account for:
• resources used by SIP itself• resource consumed once initiated by SIP• services initiated and controlled by SIP {voice
translation/transcoding, …}
Module 15: 470 of 495Practical Voice Over IP (VoIP): SIP and related protocols
ol (OSP)on Call Detail Records
project TIPHON ation Over Networks) [334]
XML) messages via HTTP
| n|
)+ ) >
Maguire Open Settlement Protocol (OSP)[email protected] 2010.08.26
Open Settlement Protoc(mostly) off-line settlement between operators based
Open Settlement Protocol developed as part of ETSI (Telecommunications and Internet Protocol Harmoniz
Based on exchange of Extensible Markup Language (
<!DOCTYPE Message [ <!ELEMENT Message(( PricingIndication | PricingConfirmation| AuthorisationRequest | AuthorisationResponse | AuthorisationIndication AuthorisationConfirmatio UsageIndication | UsageConfirmation | ReauthorisationRequest | ReauthorisationResponse
... ]>
Module 15: 471 of 495Practical Voice Over IP (VoIP): SIP and related protocols
S or Diffserv even only on these
perator’s domains
Maguire Achieving [email protected] 2010.08.26
Achieving QoS• Over provision!
• Simplest approach
• If this fails, then use TOS field or Diffserv• Much of the problem is on the access network - hence TO
links may be enough
• If this fails, then use RSVP• Much more complex - especially when done over several o
Module 15: 472 of 495Practical Voice Over IP (VoIP): SIP and related protocols
laysoftware applications over a ell within acceptable delay.
5 of [60]
B⇒A
ms 109 ms
ms 63 ms
ms 421 ms
ms 120 ms
Maguire Some measured [email protected] 2010.08.26
Some measured deActual performance of SIP phone to SIP phone and sLAN, shows that the performance of SIP phones is w
Measurements of mouth to ear one-way delay, from “Aside: SIP phone QoS” slide 1
end-point A end-point B A⇒B
GSM PSTN 115
3Com Cisco 51
NetMeeting NetMeeting 401
Messanger XP Messanger XP 109
Module 15: 473 of 495Practical Voice Over IP (VoIP): SIP and related protocols
tyents1
AngelesLA)
New York(NY)
Sunnyvale
ateny
jitter loss latency
jitter loss latency
jitter
2.10 0.08 0.00 20.35 0.00 0.00 61.10 0.14
6.13 0.33 0.00 20.17 0.01 0.00 48.10 0.09
0.77 0.07 0.00 44.24 0.02 0.00 46.14 0.10
2.16 0.06 0.00 44.13 0.00 0.00 25.08 0.06
0.01 76.09 0.02 0.00 8.01 0.07
6.17 0.00 0.00 68.19 0.00
8.14 0.09 0.00 68.24 0.00
Maguire Underlying [email protected] 2010.08.26
Underlying QualiSome statistics from Qwest for POP to POP measurem
Table 1: February Monthly Averages
Atlanta Chicago Dallas Denver Los (
loss (%)
latency (ms)
jitter (ms)
loss latency
jitter loss latency
jitter loss latency
jitter loss lc
Atlanta 0.00 39.64 0.05 0.00 24.13 0.05 0.00 45.21 0.05 0.00 5
Chi-cago
0.00 39.46 0.09 0.00 24.10 0.08 0.00 23.32 0.07 0.00 5
Dallas 0.00 24.13 0.05 0.00 24.12 0.05 0.00 21.21 0.07 0.00 4
Denver 0.00 45.16 0.09 0.00 23.32 0.05 0.00 21.23 0.08 0.00 3
LA 0.00 52.07 0.06 0.00 56.09 0.20 0.00 40.68 0.07 0.00 32.22 0.06
NY 0.00 20.36 0.00 0.00 20.21 0.01 0.00 44.23 0.00 0.00 44.24 0.00 0.01 7
Sunny-vale
0.02 61.14 0.09 0.01 48.20 0.08 0.00 46.17 0.10 0.01 25.12 0.08 0.00
1. Numbers takes from http://209.3.158.116/statqwest/statistics.jsp
Module 15: 474 of 495Practical Voice Over IP (VoIP): SIP and related protocols
P.800 [328]thnic or language backgrounds
fect, 4 “toll-quality”, …
QM) - ITU-T P.861
$50k and up
lity)al
MS)
Maguire Voice [email protected] 2010.08.26
Voice QualitySome major tests:
• Mean Opinion Score (MOS)- defined in ITU-T• ITU test based on using 40 or more people from different e
listening to audio samples of several seconds each• Human listeners rating the quality from 1 to 5; 5 being per
• Perceptual Speech Quality Measurement (PS• A computer algorithm - so it is easy to automate• scale of 0 to 6.5, with 0 being perfect• Designed for testing codecs• test tools from JDSU[338], QEmpirix, Finisar, … - cost US
• PSQM+• Developed by Opticom• for VoIP testing
• PESQ (Perceptual Evaluation of Speech Qua• submitted to ITU-T by Psytechnics, Opticom, and SwissQu• 0.95 correlation with human listeners• ITU-T P.862 standard Dec. 2003
• Perceptual Analysis Measurement System (PA• Developed by British Telecommunications ~1998
Module 15: 475 of 495Practical Voice Over IP (VoIP): SIP and related protocols
Maguire Voice [email protected] 2010.08.26
• ITU-T’s P.563• Passive monitoring• 0.85 to 0.9 correlation with human listeners• ITU standard May 2004
• Psytechnics algorithm: psyvoip• passive listening• uses RTP statistics
• "E Model" - ITU-T G.107• passive monitoring
Module 15: 476 of 495Practical Voice Over IP (VoIP): SIP and related protocols
practice indicate how the quality of
rk architecture for
my CIO [over a VoIP connection], say that’s good enough.”
orkWorld, Vol. 19, Number 40, nd 71, quote is from page 71.
Maguire Rating voice quality in [email protected] 2010.08.26
Rating voice quality in One approach is to occasionally ask IP phone users totheir call was at the end of the call ⇒ MOS scoring!
Another is exemplified by Susan Knott, global netwoPricewaterhoursCoopers:
“But I’ve found that if my vice president of finance can talk toand they both say the quality of the connection is OK, then I
Phil Hochmuth, “Quality question remains for VoIP”, NetwOctober 7, 2002, pp. 1 a
Module 15: 477 of 495Practical Voice Over IP (VoIP): SIP and related protocols
ards based
a proprietary voice packet ice using BlackBurst ures that voice packets are
oftware-based IEEE 802.1q N) tagging) for outgoing
sing IEEE® 802.1q,Advisory July 2001.
Maguire QoS Proprietary vs. Standards [email protected] 2010.08.26
QoS Proprietary vs. StandPast
Agere Systems, Inc. VoIP “Phone-On-A-Chip” used prioritization scheme called Ethernet Quality of Serv(EQuB), an algorithm (implemented in hardware) ensgiven the highest priority in their collision domain.2002
Their Phone-On-A-Chip solution now implements a stagging protocol (i.e. Virtual local area network (VLA
Ethernet frames.1
1. Agere Systems. T8302 Internet Protocol Telephone Advanced RISC Machine (ARM®) Ethernet QoS U
Module 15: 478 of 495Practical Voice Over IP (VoIP): SIP and related protocols
met:
directionalmandatory
Maguire QoS for [email protected] 2010.08.26
QoS for SIPSDP can be used to convey conditions which must be
• direction for QoS support: send, receive, or bi• along with a “strength” parameter: optional or
If conditions can be met then a COMET is sent.
See also RFC 4412 [351].
Module 15: 479 of 495Practical Voice Over IP (VoIP): SIP and related protocols
on Controltrol for Voice Traffic in the
e to the persistance of VoIP
igh packet loss rates WRT1:te) andinks.
rop rate the flow should be
ith Minimal Control - should be
to ensure that the packet loss rate etect and respond to a persistent
d or terminate when:
Maguire VoIP traffic and Congestion [email protected] 2010.08.26
VoIP traffic and Congesti RFC 3714: IAB Concerns Regarding Congestion ConInternet [343] - describes the concerns of the IAB du
clients which continue to send RTP streams despite h• the risks of congestion collapse (along the end-to-end rou• fairness for congestion-controlled TCP traffic sharing the l
When a steady-state packet drop rate >> a specified dterminated or suspended. Thus:
• RFC3551: RTP Profile for Audio and Video Conferences wchanged to say:– “… RTP receivers SHOULD MUST monitor packet loss
is within acceptable parameters.” and hence “MUST dhigh loss rate”
• CODECs - should adapt so as to reduce congestion
Suggested heuristic: VoIP applications should suspen• RTCP reported loss rate is greater than 30%, or• N back-to-back RTCP reports are missing
1. With Respect To
Module 15: 480 of 495Practical Voice Over IP (VoIP): SIP and related protocols
effectsC has been studied by many
%, the audio quality of VoIP ]).
certain level users give up a cost associated with not
to the current sending rate ts sending rate:
he multicast grouption
Maguire Delay and Packet Loss [email protected] 2010.08.26
Delay and Packet LossEffect of delay and packet loss on VoIP when using FEresearchers [345], [346], [347], [348].
A rule of thumb: When the packet loss rate exceeds 20is degraded beyond usefulness (cited as [S03] in [343
Normally in telephony, when the quality falls below a(i.e., they hang up). Does this occur in the absence ofhanging up?
∴ according to [343]:
if loss rate is persistently unacceptably high relative & the best-effort application is unable to lower i
⇒ flow must discontinue:
• multicast session ⇒ receiver withdraws from t• unicast session ⇒ unicast connection termina
Module 15: 481 of 495Practical Voice Over IP (VoIP): SIP and related protocols
again)on:
tates (on/off) so that the dlys with the above on-adaptable flow, andt for changes in network
sers and the on period need
work while in the off state
t level of statistical s is not meaningful).
cribed at [350].
Maguire When to continue (try again)[email protected] 2010.08.26
When to continue (tryProbabilistic Congestion Control (PCC) [349] based
• calculating a probability for the two possible sexpected average rate of the flow is TCP-frien
• to perform a random experiment that succeedprobability to determine the new state of the n
• repeat the previous steps frequently to accounconditions.
The off periods need to be fairly distributed among uto be long enough to be useful.
When to try again is determined by: Probing the net(the authors of [349] have not implemented this yet).
Note that PCC only applies when there is a significanmultiplexing on the link (otherwise the use of statistic
Other examples of probe based measurements are des
Module 15: 482 of 495Practical Voice Over IP (VoIP): SIP and related protocols
tionocol Extension to Assure ober 13, 2003 examine:
requests must transmit ding congestion
ield
be required to respond in
congestion management (“No available route with
can reject it with a 516 fragmentation")estion-managed at would result in a ansport.
Maguire More about [email protected] 2010.08.26
More about congesD. Willis and B. Campbell in “Session Initiation ProtCongestion Safety”, and (expired) Internet-Draft, Oct
• UAC may require that any proxy processing itsthose requests over a transport protocol provimanagement• with a "Proxy-Require: congestion-management" header f
• In turn the UAS receiving these requests can similar fashion
• If a proxy finds that it has no route supporting it may reject the request with a 514 response congestion management”)
• If the request would be fragmented, the proxyresponse ("Proxying of request would induce
• If the originating request did not require congtransport, then a UAS may reject a request threspons that requires congestion-managed tr
Module 15: 483 of 495Practical Voice Over IP (VoIP): SIP and related protocols
ir with TCPd from ):
TCP)
Datagram Congestion TCP Friendly Rate Control
ed network link (e.g., DSL arve TCP traffic
n TRFC is hard to
Maguire RTP (over UDP) playing fair with [email protected] 2010.08.26
RTP (over UDP) playing faReal-time multimedia communications wants (adapte
• timely delivery (vs. reliable but late delivery via• smooth & predicatable throughput
This lead to proposals to use a transport layer such asControl Protocol (DCCP) [354] - as this implements (TFRC) [353].
However, this has some problems - including[358]:
• when a flow traverses a low statistically multiplexlink) using drop-tail queueing, TFRC traffic can st
• oscillation on a short time scale• if the RTT is less than the CPU interrupt cycle, the
implement!
l (TFWC) Module 15: 484 of 495Practical Voice Over IP (VoIP): SIP and related protocols
Congestion ) TCP-Friendly 8].
vector (to allow missing
hen competing TCP flows
case: VIC1 and RAT)
Maguire TCP-Friendly Window-based Congestion [email protected] 2010.08.26
TCP-Friendly Window-basedControl (TFWC
Soo-Hyun Choi (together with his advisors) introduceWindow-based Congestion Control (TFWC)[357][35
This is based upon ACK clocking, sent using an ACKpackets).
The claim is that TFWC is much fairer than TFRC w
and it is simple to implement in applications (in their
1. Code for TFWC over VIC can be found at http://tfwc.sourceforge.net/download.html
Module 15: 485 of 495Practical Voice Over IP (VoIP): SIP and related protocols
802.11b
layer’s influence on VoIP
02.11b networks” [360]
Maguire VoIP quality over IEEE [email protected] 2010.08.26
VoIP quality over IEEETwo exjobb reports:
Juan Carlos Martín Severiano, “IEEE 802.11b MAC quality: Measurements and Analysis”[359]
Victor Yuri Diogo Nunes, “VoIP quality aspects in 8
Module 15: 486 of 495Practical Voice Over IP (VoIP): SIP and related protocols
P QoSertation of Ian Marsh [361]. is licentiate thesis[362].
Maguire Measurements of VoIP [email protected] 2010.08.26
Measurements of VoIFor an overview of VoIP and QoS see the doctoral dissAdditional measurements of VoIP QoS are given in h
Module 15: 487 of 495Practical Voice Over IP (VoIP): SIP and related protocols
er (APS)y Server (APS) [337]
s (issll) Working group rotocols to control the link
RouterEdge QoS Signalling
Diffserv
dports
Clearinghouse
ain
Maguire Application Policy Server (APS)[email protected] 2010.08.26
Application Policy ServGross, et al. proposed the use of an Application Polic
IETF Integrated Services over Specific Lower Layer(http://www.ietf.org/html.charters/issll-charter.html) is defining player.
CustomerApplication
Policy Server
APS APSOutsourced policy
SIP UA
Media agent
IP TelephoneApplication
SIP phoneor gateway
RouterRSVP RSVP
SIP
COPS
Policy anusage re
issll
ISP or enterprise policy dom
Directory OSS
Module 15: 488 of 495Practical Voice Over IP (VoIP): SIP and related protocols
Readingbjective Determination of bjective Opinion Tests, CITT, 1988.
xt {A later version of the
f Transmission Quality},
thorization, and Accounting (SIP)”, IETF RFC 3702,
Integration of Resource P)”, IETF RFC 3312, http://www.ietf.org/rfc/rfc3312.txt
Maguire References and Further [email protected] 2010.08.26
References and Further[327]CCITT Recommendation P.800, Methods for Su
Transmission Quality, specifically Section 7: Suparagraph 3.1.2.3 Silence (gap) characteristics, Chttp://starlet.deltatel.ru/ccitt/1988/ascii/5_1_06.tstandard is [328]}
[328]ITU-T, Methods for Subjective Determination oITU-T, Recommendation P.800, March 1993
[329] J. Loughney, G. Camarillo, “Authentication, AuRequirements for the Session Initiation ProtocolFebruary 2004 http://www.ietf.org/rfc/rfc3702.txt
[330]G. Camarillo, W. Marshall, and J. Rosenberg, “Management and Session Initiation Protocol (SIOctober 2002. Updated by RFCs 4032 & 5027
Module 15: 489 of 495Practical Voice Over IP (VoIP): SIP and related protocols
ion Initiation Protocol (SIP) 32 (Proposed Standard), rg/rfc/rfc4032.txt
ns for Session Description C 5027 (Proposed ://www.rfc-editor.org/rfc/rfc5027.txt
ction to Accounting tp://www.ietf.org/rfc/rfc2975.txt
onization Over Networks and usage exchange; ETSI
vans , “Architectural phony Services Utilizing ”, IETF Internet Draft, June
00.txt
Maguire References and Further [email protected] 2010.08.26
[331]G. Camarillo and P. Kyzivat, Update to the SessPreconditions Framework, RFC Editor, RFC 40ISSN 2070-1721, March 2005 http://www.rfc-editor.o
[332]F. Andreasen and D. Wing, Security PreconditioProtocol (SDP) Media Streams, RFC Editor, RFStandard)", ISSN 2070-1721, October 2007, http
[333] B. Aboba, J. Arkko, and D. Harrington, IntroduManagement, IETF RFC 2975, October 2000. ht
[334]Telecommunications and Internet Protocol Harm(TIPHON): Inter-domain pricing, authorisation,DTS/TIPHON-03004 V1.4.0 (1998-09).
[335]W. Marshall, M. Osman, F. Andreasen, and D. EConsiderations for Providing Carrier Class TeleSIP-based Distributed Call Control Mechanisms6, 2002 http://www.ietf.org/internet-drafts/draft-dcsgroup-sipping-arch-
Module 15: 490 of 495Practical Voice Over IP (VoIP): SIP and related protocols
Thomas, and Richard tension for an OSP 2004, Expired: December
sp-token-06.txt
as, “QoS and AAA Usage net Draft, March 2000, sipaq-01 on 2001-04-13
VQT) J1981B
nt Techniques Overview”,
products/vm/default.asp
ervice”
Maguire References and Further [email protected] 2010.08.26
[336]A. Johnston, D. Rawlins, H. Sinnreich, StephenBrennan, “Session Initiation Protocol Private ExAuthorization Token”, IETF Internet Draft, June2004 http://www.ietf.org/internet-drafts/draft-johnston-sip-o
[337]G. Gross, H. Sinnreich, D. Rawlins, and S. Thomwith SIP Based IP Communication”, IETF Interdraft-gross-sipaq-00.txt replaced by draft-gross-{expired}
[338]JDSU (formerly Agilent) Voice Quality Tester (http://www.jdsu.com/
[339]CT Labs, “Speech Quality Issues & MeasuremeCT Labs, Inc., Revision: 10-23-2000 http://www.ct-labs.com/Documents/Speech_Quality_Testing.pdf
[340]netIQ’s Vivinet Manager Suite http://www.netiq.com/
[341]Cisco’s “Monitoring Voice over IP Quality of S
Module 15: 491 of 495Practical Voice Over IP (VoIP): SIP and related protocols
oS of VoIP over WLAN omputer Communications,
cember 2002. %20over%20WLAN.doc
s Regarding Congestion , RFC 3714, Network g/in-notes/rfc3714.txt
of end-to-end congestion s on Networking, vol. 7, no.
ing of Packet Loss and ia Service Quality”, ling.html
arison and Optimization of
Maguire References and Further [email protected] 2010.08.26
http://www.cisco.com/warp/public/105/voip_monitor.html
[342]Mona Habib and Nirmala Bulusu, “Improving Q(IQ-VW)”, Project Research Paper, for CS522 CUniversity of Colorado at Colorado Springs, Dehttp://cs.uccs.edu/~cs522/projF2002/msoliman/doc/QoS%20of%20VoIP
[343]S. Floyd and J. Kempf (Editors), “IAB ConcernControl for Voice Traffic in the Internet”, IETFWorking Group, March 2004. ftp://ftp.rfc-editor.or
[344]Sally Floyd and Kevin Fall, “Promoting the usecontrol in the Internet”, IEEE/ACM Transaction4, pp. 458-472, Aug. 1999.
[345]Wenyu Jiang and Henning Schulzrinne, “ModelDelay and Their Effect on Real-Time MultimedNOSSDAV, 2000. http://citeseer.nj.nec.com/jiang00mode
[346]Wenyu Jiang and Henning Schulzrinne, “Comp
Module 15: 492 of 495Practical Voice Over IP (VoIP): SIP and related protocols
Quality under Bursty Loss”, lumbia.edu/~wenyu/
Schulzrinne, “QoS ilable from
am, “Assessing the Quality nes”, IEEE/ACM r 2003.
mm. “Probabilistic Technical Report 3/2001, nce, University of
mmunication Networks”. KTH), Stockholm, Sweden,
Maguire References and Further [email protected] 2010.08.26
Packet Loss Repair Methods on VoIP Perceived NOSSDAV, 2002. Available from http://www1.cs.co
[347]Wenyu Jiang, Kazummi Koguchi, and HenningEvaluation of VoIP End-points”, ICC 2003. Avahttp://www1.cs.columbia.edu/~wenyu/
[348]A. P. Markopoulou, F. A. Tobagi, and M. J. Karof Voice Communications Over Internet BackboTransactions on Networking, V. 11 N. 5, Octobe
[349] Jörg Widmer, Martin Mauve, and Jan Peter DaCongestion Control for Non-Adaptable Flows”,Department of Mathematics and Computer ScieMannheim. formerly available from http://www.informatik.uni-mannheim.de/informatik/pi4/projects/CongCtrl/pcc/
[350]Thomas Lindh, “Performance Monitoring in CoDoctoral Thesis, Royal Institute of Technology (
Module 15: 493 of 495Practical Voice Over IP (VoIP): SIP and related protocols
source Priority for the FC 4412 (Proposed
rotocol Extension to Assure 2003, Expires: April 12, raft-ietf-sip-congestsafe-02.txt {expired}
TCP Friendly Rate Control Working Group, RFC 5348,
ongestion Control Protocol 340, March 2006, Updated
txt
Protocol (DCCP) Service
Maguire References and Further [email protected] 2010.08.26
TRITA-IMIT-LCN AVH 04-02, 2004.
[351]H. Schulzrinne and J. Polk, Communications ReSession Initiation Protocol (SIP), RFC Editor, RStandard), ISSN 2070-1721, February 2006 http://www.rfc-editor.org/rfc/rfc4412.txt
[352]D. Willis and B. Campbell, “Session Initiation PCongestion Safety”, Internet-Draft, October 13,2004 formerly available from http://www.ietf.org/internet-drafts/d
[353]S. Floyd, M. Handley, J. Pahdye, and J. Widmer,(TFRC): Protocol Specification, IETF, Network September 2008 http://www.ietf.org/rfc/rfc5348.txt
[354]E. Kohler, M. Handley, and S. Floyd, Datagram C(DCCP), IETF, Network Working Group, RFC 4by RFCs 5595 & 5596 http://www.ietf.org/rfc/rfc4340.
[355]G. Fairhurst, The Datagram Congestion Control
Module 15: 494 of 495Practical Voice Over IP (VoIP): SIP and related protocols
ard), ISSN 2070-1721,
tocol (DCCP) T/Middlebox Traversal, SN 2070-1721, September
riendly Window-based , Department of Computer f/S.Choi/pubs/transfer_report.pdf
CP-Friendly e Multimedia Applications, eT, May 2009.
AC layer’s influence on thesis, Royal Institute of October 2004.
Maguire References and Further [email protected] 2010.08.26
Codes, RFC Editor, RFC 5595 (Proposed StandSeptember 2009 http://www.rfc-editor.org/rfc/rfc5595.txt
[356]G. Fairhurst, Datagram Congestion Control ProSimultaneous-Open Technique to Facilitate NARFC Editor, RFC 5596 (Proposed Standard), IS2009, http://www.rfc-editor.org/rfc/rfc5596.txt
[357]Soo-Hyun Choi, Design and Analysis for TCP-FCongestion Control, University College LondonScience, October 10, 2006 http://www.cs.ucl.ac.uk/staf
[358]Soo-Hyun Choi and Mark Handley, Designing TWindow-based Congestion Control for Real-timSlides from their presentation at the 7th PFLDNhttp://www.hpcc.jp/pfldnet2009/Program_files/3-3.pdf
[359]Juan Carlos Martín Severiano, “IEEE 802.11b MVoIP quality: Measurements and Analysis”, MSTechnology (KTH)/IMIT, Stockholm, Sweden,
Module 15: 495 of 495Practical Voice Over IP (VoIP): SIP and related protocols
_Carlos_Martin_Severiano.pdf
in 802.11b networks”, MS IT, Stockholm, Sweden,
, Doctoral Dissertation, Elektro- och systemteknik, issertaion Series, ISSN
/diva2:219379/FULLTEXT01 or
ion, Licentiate thesis, Royal s and Information 03
Maguire References and Further [email protected] 2010.08.26
http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/041024-Juan
[360]Victor Yuri Diogo Nunes, “VoIP quality aspectsthesis, Royal Institute of Technology (KTH)/IMAugust, 2004.
[361]Ian Marsh, Quality aspects of Internet telephonyRoyal Institute of Technology (KTH), Skolan förTRITA-EE, ISSN 1653-5146; 2009:025, SICS D1101-1335; 51 2009 http://kth.diva-portal.org/smash/gethttp://www.sics.se/~ianm/PhD/thesis.pdf
[362]Ian Marsh, Quality aspects of audio communicatInstitute of Technology (KTH), MicroelectronicTechnology) Trita-IMIT-LCN. AVH; 03:01, 20http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-1592
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
IP Applicationsf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
SIP-applications.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 16: SLecture notes o
SIPPING) Module 16: 497 of 514Practical Voice Over IP (VoIP): SIP and related protocols
ol Project ING)1
dia. One of the significant it is much easier to build tional method of Intelligent f user!
ations that need a
Maguire Session Initiation Protocol Project INvestiGation ([email protected] 2010.08.26
Session Initiation ProtocINvestiGation (SIPP
SIP for applications related to telephony and multimefeatures of using SIP for building applications is that open, distributed, and scalable services that the tradiNetworks (IN); thus putting services into the hands o
Specific tasks for SIPPING were:1 PSTN and/or 3G telephony-equivalent applic
standardized approach• informational guide to common call flows• support for T.38 fax• requirements from 3GPP for SIP usage• framework of SIP for telephony (SIP-T)• call transfer and call forwarding• AAA application in SIP telephony• mapping between SIP and ISUP
1. Former working group - it no longer exists.
SIPPING) Module 16: 498 of 514Practical Voice Over IP (VoIP): SIP and related protocols
) in Support of Deaf, Hard of ://www.ietf.org/rfc/rfc3351.txt 2848, SIP events) to ensure
MPLE WG’s instant messaging.
ction with media servers, e.g., end an INVITE to.
Maguire Session Initiation Protocol Project INvestiGation ([email protected] 2010.08.26
2 Messaging-like applications of SIP• support for hearing-/speech-impaired calling• User Requirements for the Session Initiation Protocol (SIP
Hearing and Speech-impaired individuals (RFC 3351) http• development of usage guidelines for subscribe-notify (RFC
commonality among applications using them, including SI
3 Multi-party applications of SIP
4 SIP calling to media servers• develop a requirements draft for an approach to SIP intera
whether a voicemail server is just a box that a caller can s
Module 16: 499 of 514Practical Voice Over IP (VoIP): SIP and related protocols
ponents
Media
Gateways
PBX
amingtentver
vernsaction
SIP clients
Credit cardVerification
…
DTMFCollector
Maguire Application Service [email protected] 2010.08.26
Application Service Com
IP Network, SIP and HTTP Messages, RTP for
Gateways
PSTN ☎Text toSpeech
Directoryand ENUM
UnifiedMessagingVoicemailstorage
ConfSchedule
MediaMixer
StreConSer
Interactive
(IVR)
ResponseVoice
WebSIP
Server
LocationServiceDialing
Plans
AAAandPolicyServer
ApplicationServiceProviders
ServiceController Server Ser
Presence Tra
SIP clients
Module 16: 500 of 514Practical Voice Over IP (VoIP): SIP and related protocols
trvers, DTMF digit collector, voice ternet attached device can be
wing developers to specialize)rnet and operated by anyone
her reliability and resiliencercing, reseller, … models)opment
thers, then you may need to nclude an agreement about
Maguire [email protected] 2010.08.26
Advantages• Decomposition
• No complex APIs, just HTTP and SIP ⇒ rapid developmen• User can provide input to the service controller via Web se
portal (via VoiceXML), DTMF input, ... ⇒ just about any inused to provide input.
• Easy to scale• New services can combine the "best of the best" (thus allo• Servers and services can be located anywhere on the inte
• Decoupling• Loosely coupled and distributed
– Flexible location of servers– if properly designed, implemented, and operated ⇒ hig
• Separation of businesses (leads to a rich variety of outsou• Since the functions are highly independent ⇒ rapid devel
• Anyone can introduce a new service
However, if you want to use service components of owork out a suitable agreement (which will probably iauthorization) ⇒ security can be more complex.
vice Module 16: 501 of 514Practical Voice Over IP (VoIP): SIP and related protocols
use within a
Called
VITE
0 OK
ACK
Maguire Collecting DTMF digits for use within a [email protected] 2010.08.26
Collecting DTMF digits for service
1. INVITE2. INVITE
Caller Service Controller
5. IN
DTMF collector
RTP media session
3. 200 OK
7. 200 OK
10. INVITE11. 200 OK
15. HTTP GET
13. ACK
16. HTTP OK
4. ACK
6. 20
8. ACK
9. SIP
14. RTP DTMF digits
vice Module 16: 502 of 514Practical Voice Over IP (VoIP): SIP and related protocols
.112.113
Maguire Collecting DTMF digits for use within a [email protected] 2010.08.26
Reponse “3. 200 OK” looks like:SIP/2.0 200 OKVia: SIP/2.0/UDP 100.101.102.103To: User A <sip:[email protected]>From: UserB <sip:[email protected]>Call-ID: a84b4c76e66710100.101.102.103CSeq: 1 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: …
v=0o=UserA 289375749 289375749 IN IP5 110.111S=-c=IN IP4 110.111.112.113t=0 0m=audio 5004 RTP/AVP 0
vice Module 16: 503 of 514Practical Voice Over IP (VoIP): SIP and related protocols
.102.103
ch Johnston page 257), this F digit collector.
Maguire Collecting DTMF digits for use within a [email protected] 2010.08.26
Controller issues a “re-Invite” at 11 which looks like:INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 100.101.102.103To: UserB <sip:[email protected]: User A <sip:[email protected]>Call-ID: a84b4c76e66710100.101.102.103CSeq: 1 INVITEContact: <sip:[email protected]>Content-Type: application/sdpContent-Length: …
v=0o=UserA 289375749 289375749 IN IP5 100.101S=-c=IN IP4 100.101.102.103t=0 0m=audio 5004 RTP/AVP 0m=audio 53000 RTP/AVP 0c=IN IP4 200.201.202.203a=rtpmap:96 telephone-event
Note the 2nd “m=audio” line in the SDP (see Sinnreisecond connection is the RTP connection to the DTM
onse (IVR) Module 16: 504 of 514Practical Voice Over IP (VoIP): SIP and related protocols
teractive Voice )
stem.
VITE
er VoiceXML service
OK
YE
0 OK
P GET
VITE
P OK
CK
P GET
P OK
Maguire Voice Portal Service using Interactive Voice [email protected] 2010.08.26
Voice Portal Service using InResponse (IVR
The service controller proxies the caller to the IVR sy
1. INVITE2. IN
Caller Service Controll
3. 200
4. 183 Session Progress
10. B
11. 20
6. HTT
12. IN
7. HTT
5. A
RTP Media Session
RTP Media Session
RTP Media Session
8. HTT
9. HTT
Welcome! Please speak your IDMy ID is 1234512345, is this correct?Yes
How can we help?I would like to add high speedinternet service.
Thank you! We will transfer you to thenew installation scheduling service sothat you can book an appointment.
Module 16: 505 of 514Practical Voice Over IP (VoIP): SIP and related protocols
esgement for User-Centric roposes the use of SIP as a user’s multiple UAs.
Manager (SSM).
Maguire Managing [email protected] 2010.08.26
Managing ServicAvgeropoulos Konstantinos in “Service Policy ManaServices in Heterogeneous Mobile Networks”[364] psignaling protocol for policy based management of
He proposes a new SIP entity, called the SIP Service
Module 16: 506 of 514Practical Voice Over IP (VoIP): SIP and related protocols
rvices
e Mobile SIP User Agent
Context to a SIP Proxy
ispatch [368]
Maguire Context aware SIP [email protected] 2010.08.26
Context aware SIP seSee for example these masters theses:
• Bemnet Tesfaye Merha, Secure Context-Awar[365]
• Ke Wang, Exploiting Presence [366]• Xueliang Ren, A Meeting Detector to Provide
[367]
See the licentiate thesis:
• Alisa Devlic, Context-addressed communication d
Module 16: 507 of 514Practical Voice Over IP (VoIP): SIP and related protocols
tionseal-time (IM, presence, IP l-time communications
red format & r preferred formatsses
using different devices
tänkt kundrelation, TDC
Maguire Unified [email protected] 2010.08.26
Unified communicaUnified communications (UC) - integration of both rtelephony, multimedia conferencing, … ) and non-rea(e-mail, SMS, MMS, fax, …).
• Sender sends a communication in their preferReceiver receives the communications in thei
• Integrates communication with business proce• all via a consistent user interface (even when
and media)
Interview with Mats Lundgren, Bygg UC med genomAhead, Winder 2008/2009, pages 12-15 http://download.opasia.dk/pub/song-sverige/ahead/Ahead_vinter_0809_TDC.
Module 16: 508 of 514Practical Voice Over IP (VoIP): SIP and related protocols
tled “SIP APIs for PI to enable web developers ated for on Simple SIP - f so-called rich internet
Maguire SIP Web [email protected] 2010.08.26
SIP Web APIsH. Sinnreich and A. Johnston in an internet draft entiCommunications on the Web” [371] - propose a SIP Ato easily build services which utilize SIP - see the relwhich also facilitate exploitation of the possibilities oapplications.
Module 16: 509 of 514Practical Voice Over IP (VoIP): SIP and related protocols
pplicationsndpoints” RFC 5638 [369]
rather than emulating n and reduce the number of
ous and session setup +
proach rather than trying to the user interface and
ation sources. SIP URIs new RIA applications.
s done in the gateway to the ry SIP UA.
Maguire Simpler approach to SIP [email protected] 2010.08.26
Simpler approach to SIP a“Simple SIP Usage Scenario for Applications in the Edescribes how to exploit processing in the endpoints telephony to simplify the implementation of applicatioSIP documents that one needs to comply with.
Simple SIP = only the required functions for rendezvsecurity
Goal is to leverage rich internet applications (RIAs) apbe like telephony! RIAs leverage the web browser asfacilitate the combination (mashups) of various informshould be able to be used as flexibly as other URIs in
Relegates telephony aspects of SIP to something that iPSTN and not something that has to be built into eve
Module 16: 510 of 514Practical Voice Over IP (VoIP): SIP and related protocols
esBM's WebSphere accessed 2010.08.20) com.ibm.websphere.base.doc/info/aes/a
Maguire Lots more [email protected] 2010.08.26
Lots more servicSee the list of SIP applications documents related to IApplication Server, via the following web page (last http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/
e/welc6tech_sip_links.html
<< more to be added here - as time permits >>
Module 16: 511 of 514Practical Voice Over IP (VoIP): SIP and related protocols
rvice IDservices in the Session t services should not be ce-ID header).
Maguire Avoiding declarative service [email protected] 2010.08.26
Avoiding declarative seJ. Rosenberg in “Identification of Communications SInitiation Protocol (SIP)” RFC 5897 [370] argues thaidentified by a service identifier (such as a new Servi
Module 16: 512 of 514Practical Voice Over IP (VoIP): SIP and related protocols
Reading
ation Protocol (SIP): 002
nagement for User-Centric .Sc. Thesis,Royal Institute tronics and Information
ropoulos-with-cover.pdf
Mobile SIP User Agent, TH), School of Information
weden,
et_Tesfaye_Merha-with-cover.pdf
Royal Institute of
Maguire References and Further [email protected] 2010.08.26
References and FurtherSIPPING
[363]J. Rosenberg and H. Schulzrinne, “Session InitiLocating SIP Servers”, IETF RFC 3263, June 2http://www.ietf.org/rfc/rfc3263.txt
[364]Avgeropoulos Konstantinos, “Service Policy MaServices in Heterogeneous Mobile Networks”, Mof Technology (KTH), Institution for MicroelecTechnology, Stockholm, Sweden, March 2004 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/040401-Konstantinos_Avge
[365]Bemnet Tesfaye Merha, Secure Context-AwareMasters Thesis, Royal Institute of Technology (Kand Communication Technology, Stockholm, STRITA-ICT-EX-2009:63, July 2009 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/090705-Bemn
[366]Ke Wang, Exploiting Presence, Masters thesis,
Module 16: 513 of 514Practical Voice Over IP (VoIP): SIP and related protocols
Communications 08-27, December 2008 r.pdf
ontext to a SIP Proxy, TH), School of Information weden, COS/CCS 2008-24,
iang_Ren-with-cover.pdf
dispatch, Licentiate thesis, Information and en, TRITA-ICT-COS:0902,
centiate-thesis.pdf or
h, Simple SIP Usage Editor, RFC 5638
Maguire References and Further [email protected] 2010.08.26
Technology (KTH), School of Information and Technology, Stockholm, Sweden, COS/CCS 20http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/081205-Ke_Wang-with-cove
[367]Xueliang Ren, A Meeting Detector to Provide CMasters thesis, Royal Institute of Technology (Kand Communications Technology, Stockholm, SOctober 2008 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/081025-Xuel
[368]Alisa Devlic, Context-addressed communicationRoyal Institute of Technology (KTH), School ofCommunications Technology, Stockholm, SwedISSN 1653-6347; April 2009. http://web.it.kth.se/~devlic/licentiate%20thesis/Alisa_Devlic-li
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-10282
[369]H. Sinnreich, A. Johnston, E. Shim, and K. SingScenario for Applications in the Endpoints, RFC
Module 16: 514 of 514Practical Voice Over IP (VoIP): SIP and related protocols
09
Services in the Session (Informational), ISSN
5897.txt
for Communications on the up, June 21, 2010, Expires:
ip-web-apis-01.txt
Maguire References and Further [email protected] 2010.08.26
(Informational), ISSN 2070-1721, September 20http://www.rfc-editor.org/rfc/rfc5638.txt
[370]J. Rosenberg, Identification of CommunicationsInitiation Protocol (SIP), RFC Editor, RFC 58972070-1721, June 2010 http://www.rfc-editor.org/rfc/rfc
SIP Web API
[371]H. Sinnreich (Editor) and A. Johnston, SIP APIsWeb, Internet Draft, IETF SIP Core Working GroDecember 2010 http://tools.ietf.org/id/draft-sinnreich-s
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
ore than Voicef G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
VoIP-more-than-voice.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 17: MLecture notes o
Module 17: 516 of 536Practical Voice Over IP (VoIP): SIP and related protocols
IP Phonese executes to acquire
and 7960) have a web -based LCD display to
“your” phone)t status, Transit schedules, …
ote receptionist, …)
Maguire Non-voice Services and IP [email protected] 2010.08.26
Non-voice Services and Phone Services: built using scripts which the IP phoninformation and display it
For example, some of the Cisco IP telephones (7940 browser which understands XML and a 133x65 pixeldisplay output.
Sample services:• Conference room scheduler • E-mail and voice-mail messages list • Daily and weekly schedule and appointments • Personal address book entries (⇒ any phone can become• Weather reports, Stock information, Company news, Fligh• Viewing images from remote camera (for security, for a rem
Module 17: 517 of 536Practical Voice Over IP (VoIP): SIP and related protocols
honeText, PhoneImage, , CiscoIPPhoneExecute,
Maguire [email protected] 2010.08.26
XMLXML objects include: CiscoIPPhoneMenu, CiscoIPPCiscoIPPhoneInput, CiscoIPPhoneDirectory, CiscoIPCiscoIPPhoneGraphicMenu, CiscoIPPhoneIconMenuCiscoIPPhoneError and CiscoIPPhoneResponse.
Cisco IP Phone Services Software Developer’s Kit1
1. Formerly available from http://cisco.com/warp/public/570/avvid/voice_ip/cm_xml/index.html
Module 17: 518 of 536Practical Voice Over IP (VoIP): SIP and related protocols
msaming (transmit or receive) stream types must be of the
Maguire Invoking RTP [email protected] 2010.08.26
Invoking RTP streaOn the Cisco phones it is possible to invoke RTP strevia URIs in above services. RTP information for the form:
CODEC G.711 mu-Law
Packet size 20 ms
Module 17: 519 of 536Practical Voice Over IP (VoIP): SIP and related protocols
uctivity-Boosting ith, Cisco Packet, Third
mulator - so you can write one.
sco.com)
ket_technology09186a00801016d6.html
Maguire More [email protected] 2010.08.26
More detailssee ‘Thinking Outside the “Talk” Box: Building ProdApplications for Your Cisco IP Phones’ by Anne Sm
Quarter, 2002, pp. 21-231
The book includes a CD which has a CallManager Siapplications with just a web server and a Cisco IP ph
The SDK2 should be available via http://developer.ci
1. Formerly available from http://www.cisco.com/en/US/about/ac123/ac114/ac173/ac170/about_cisco_pac
2. Formerly available from http://cisco.com/warp/public/570/avvid/voice_ip/cm_xml/cm_xmldown.shtml
Module 17: 520 of 536Practical Voice Over IP (VoIP): SIP and related protocols
g a marketrty XML services or support
2
elephony marketplace, this ce.
Maguire Services for sale - building a [email protected] 2010.08.26
Services for sale - buildinPurchase existing services or contract for new third pafor Cisco’s IP Telephony products: HotDispatch.
They have 91 Existing products as of 20 October 200
HotDispatch has partnered with Cisco to provide IP Tis an example of a Community Knowledge Marketpla
Module 17: 521 of 536Practical Voice Over IP (VoIP): SIP and related protocols
es
bhrajit Ghosh, “Service ications Magazine, January
Moyer, Maples, Tsang, and Ghosh)
SIP UA
SIP UAApplianceController
Appliancei
IP UA
Appliancej
Maguire Network [email protected] 2010.08.26
Network Applianc
See: Stan Moyer, Dave Maples, Simon Tsang, and APortability of Networked Appliances”, IEEE Commun2002, pp. 116-121.
Figure 19: Using SIP for Service Portability (adapted from figure 2 of
Networked ApplianceApplication Service Provider
firewall/NAT
ResidentialGateway
SIP UAApplianceController
S
Module 17: 522 of 536Practical Voice Over IP (VoIP): SIP and related protocols
of SIP
arrives at a specific
E and NOTIFY)
a user is invited to a VITE initiated dialog
vice Message Protocol ic payload at the SIP User
eparately or as part of DMP.
Maguire Proposed Extension of [email protected] 2010.08.26
Proposed Extension Add DO message type
Adding a new optional header: History-Info
• provides information as to how and why a callapplication or user [383]
Build upon Event extensions (specifcally SUBSCRIB• For example, you can subscribe to know when
session or there is a change in a state of an IN[382]
Add a new payload type via the new MIME type: De(DMP) -- this payload is translated into device specifAgent.
Note that you could also send SOAP payload either s
Module 17: 523 of 536Practical Voice Over IP (VoIP): SIP and related protocols
l (SLP) URL
in BASE-64 and encrypted, .
Maguire Service Location Protocol (SLP) [email protected] 2010.08.26
Service Location ProtocoTo: [SLP:/d=lamp, r=office, u=maguire]@it.kth.se
Note that the information inside the [ ] can be encodedthose making it opaque to entities outside the domain
See [378].
Module 17: 524 of 536Practical Voice Over IP (VoIP): SIP and related protocols
ee service is a network-based
, weather, etc.)
ps.home.net ips.home.net
@home.net SIP/2.0
ps.home.net
Maguire Example [email protected] 2010.08.26
Example servicThis example is adapted from the above article, and thalarm clock service:
• delivers user specific information (latest news• at a user selected time• to the user’s “alarm clock” network appliance
Specifically:1.REGESTER [email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiFrom: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chContent-type: application/ddp [Device address]
2.INVITE sip:[slp:/d=alarmclock, r=bedroom, u=maguire]From: sip:[email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiVia: alarmclock.net Content-type: application/sdp [SDP for uni-directional RTP stream]
Module 17: 525 of 536Practical Voice Over IP (VoIP): SIP and related protocols
@home.net SIP/2.0
ps.home.net
@home.net SIP/2.0
ps.home.net
he annoucement to the user via the “alarm
Maguire Example [email protected] 2010.08.26
3.INVITE sip:[slp:/d=alarmclock, r=bedroom, u=maguire]From: sip:[email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiVia: home.net Via: alarmclock.net Content-type: application/sdp [SDP for uni-directional RTP stream]
4.INVITE sip:[slp:/d=alarmclock, r=bedroom, u=maguire]From: sip:[email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiVia: chips.home.net Via: home.net Via: alarmclock.net Content-type: application/sdp [SDP for uni-directional RTP stream]
5.The alarm clock responds with its RTP parameters and the RTP session plays tclock” network appliance
Module 17: 526 of 536Practical Voice Over IP (VoIP): SIP and related protocols
rtability visits his friend Mark:
, weather, etc.)
correct “alarm clock”
ps.home.net ips.home.net
ps.home.net hips.home.net maguire]@ua.marks.home.net]
Maguire Example of service [email protected] 2010.08.26
Example of service poThis example is adapted from the above article, Chip
• delivers user specific information (latest news• at a user selected time• to the user’s “alarm clock” network appliance• But the service now has to be delivered to the
• Either Chip takes his alarm clock with him or• Utilizes Mark’s guest alarm clock as his alarm clock
1.REGESTER [email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiFrom: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chContact: *; expires=0
The above cancels the service to Chip’s home alarm clock2.REGESTER [email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiFrom: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.cContact: sip:[slp:/d=alarmclock, r=guest_bedroom, u=Content-type: application/ddp [Device description (including address)]
Module 17: 527 of 536Practical Voice Over IP (VoIP): SIP and related protocols
@home.net SIP/2.0
ps.home.net
nd determines that it is ]@ua.marks.home.net]so it
ps.home.net
ps.home.net
Maguire Example of service [email protected] 2010.08.26
3.INVITE sip:[slp:/d=alarmclock, r=bedroom, u=maguire]From: sip:[email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@us.chiVia: alarmclock.net Content-type: application/sdp [SDP for uni-directional RTP stream]
Now the SIP Proxy at home.net looks up [slp:/d=alarmclock, r=bedroom, u=maguire]@home.net a[slp:/d=alarmclock, r=guest_bedroom, u=maguireforwards the messages to the SIP proxy at marks.home.net
4.INVITE sip:[slp:/d=alarmclock, r=guest_bedroom,u=maguire]@ua.marks.home.net] SIP/2.0 From: sip:[email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chiVia: home.net Via: alarmclock.net Content-type: application/sdp [SDP for uni-directional RTP stream]
5.INVITE sip:[slp:/d=alarmclock, r=guest_bedroom,u=maguire]@ua.marks.home.net] SIP/2.0 From: sip:[email protected] To: [slp:/d=alarmclock, r=bedroom, u=maguire]@ua.chivia: marks.home.net Via: home.net Via: alarmclock.net
Module 17: 528 of 536Practical Voice Over IP (VoIP): SIP and related protocols
RTP session plays the annoucement to the
Maguire Example of service [email protected] 2010.08.26
Content-type: application/sdp [SDP for uni-directional RTP stream]
6.Mark’s guest bedroom alarm clock responds with its RTP parameters and the user via the “alarm clock” network appliance
Module 17: 529 of 536Practical Voice Over IP (VoIP): SIP and related protocols
, the contents use ITU-T
efined "timed text" as storage in a 3GP file”[380].
ontents and used in ia presentations.”[380]
Maguire [email protected] 2010.08.26
TextInterleaved text
RTP can be used to carry real-time text conversationsRecommendation T.140.[381]Timed Text
The 3rd Generation Partnership Project (3GPP) has d“time-lined, decorated text media format with defined
“Timed Text can be synchronized with audio/video capplications such as captioning, titling, and multimed
Module 17: 530 of 536Practical Voice Over IP (VoIP): SIP and related protocols
Ns) for Emergency and Other service URN scheme for
is mapped to the local own services that could be ith SIP.
nslation protocol (LoST), e of the “address”.
Maguire SOS and other [email protected] 2010.08.26
SOS and other URH. Schulzrinne in “A Uniform Resource Name (URNWell-Known Services” RFC 5031 [384] describes a context-dependent services.
Just a dialing 911 in North America or 112 in Europeemergency services “address”, there are other well knsupported by having a well-known URN to be used w
These can be combined with Location-to-Service TraRFC 5222 [385] to map the URN to the local instanc
Examples:
• urn:service:sos• urn:service:sos.ambulance• urn:service:sos.fire• urn:service:sos.police
they all be voice sessionsModule 17: 531 of Practical Voice Over IP (VoIP): SIP and related protocols
o to the local all be voice
a chronic health problem, stry is going out of the ween the users montor and or perhaps even an on-line
Maguire Not all emergencies should go to the local authorities nor should [email protected] 2010.08.26
Not all emergencies should gauthorities nor should they
sessionsConsider a user with a portable monitoring device forthis monitor might detect that the user’s blood chemiexpected range and automatically set up a session betthe user’s physician or other health care professions -expert system.
Module 17: 532 of 536Practical Voice Over IP (VoIP): SIP and related protocols
r in an internet draft entitled iation Protocol (SIP)” [386] - in terms of enabling tools t of the SIP entity that
t.
Maguire Meta [email protected] 2010.08.26
Meta dataGurbani, Burger, T. Anjali, H. Abdelnur, and O. Festo“The Common Log Format (CLF) for the Session Initemphasize the value of having a standard log format that can manipulate (and mine) this data - independenproduces the data.
They describe what call data records are not sufficien
Module 17: 533 of 536Practical Voice Over IP (VoIP): SIP and related protocols
Reading
oping Cisco IP Phone Feb. 15, 2002, 288 pages, /product.asp?isbn=1587050609
ent Notes, Oct. 1, 2002, tion_09186a00800f0d66.pdf
ppliances: Wide-Area raft xpired}
ww.osgi.org
ed Appliances Using the 00, work in progress
Maguire References and Further [email protected] 2010.08.26
References and FurtherPhone Services
[372]Darrick Deel, Mark Nelson, Anne Smith, DevelServices: A Cisco AVVID Solution, Cisco Press,ISBN 1-58705-060-9 http://www.ciscopress.com/bookstore
[373]Cisco IP Phone Services Application Developmhttp://www.cisco.com/application/pdf/en/us/guest/products/ps556/c1671/ccmigra
Network Appliances
[374]S. Tsang, et al., “Requirements for Networked AAccess, Control, and Internetworking”, IETF Ddraft-tsang-appliances-reqs-01.txt, Sept. 2000 {e
[375]Open Services Gateway Iniative (OSGi), http://w
[376]S. Moyer, et al., “Framework Draft for NetworkSession Initiation Protocol”, IETF draft, July 20
Module 17: 534 of 536Practical Voice Over IP (VoIP): SIP and related protocols
Networked Appliances f ICC 2001, 11-14 June
“Service Location Protocol, FC 3224
ation Protocol, Version 2, N 2070-1721, January 2002
3rd Generation Partnership y 2006
rt Protocol (RTP) Payload
Maguire References and Further [email protected] 2010.08.26
{expired}
[377]S. Tsang, D. Marples, and S. Moyer, "Accessingusing the Session Initiation Protocol", In Proc. o2001, Helsinki, Finland.
[378]E. Guttman, C. Perkins, J. Veizades and M. Day, version 2”, RFC 2608, June 1999, Updated by Rhttp://www.ietf.org/rfc/rfc2608.txt
[379]E. Guttman, Vendor Extensions for Service LocRFC Editor, RFC 3224 (Proposed Standard), ISShttp://www.rfc-editor.org/rfc/rfc3224.txt
Text
[380] J. Rey and Y. Matsui, RTP Payload Format forProject (3GPP) Timed Text, RFC 4396, Februarhttp://www.rfc-editor.org/rfc/rfc4396.txt
[381]G. Hellstrom and P. Jones, “Real-Time Transpo
Module 17: 535 of 536Practical Voice Over IP (VoIP): SIP and related protocols
tream”, IETF, RFC 4351,
tors), An INVITE-Initiated Protocol (SIP), IETF, n-notes/rfc4235.txt
Initiation Protocol (SIP) for November 2005
N) for Emergency and 5031 (Proposed Standard), .org/rfc/rfc5031.txt
schofenig, LoST: A ditor, RFC 5222 (Proposed
/www.rfc-editor.org/rfc/rfc5222.txt
Maguire References and Further [email protected] 2010.08.26
for Text Conversation Interleaved in an Audio SJanuary 2006 ftp://ftp.rfc-editor.org/in-notes/rfc4351.txt
[382]J. Rosenberg, H. Schulzrinne, and R. Mahy (ediDialog Event Package for the Session Initiation RFC 4235, November 2005 ftp://ftp.rfc-editor.org/i
[383]M. Barnes (Editor), An Extension to the SessionRequest History Information, IETF, RFC 4244, ftp://ftp.rfc-editor.org/in-notes/rfc4244.txt
[384]H. Schulzrinne, A Uniform Resource Name (UROther Well-Known Services, RFC Editor, RFC ISSN 2070-1721, January 2008 http://www.rfc-editor
[385]T. Hardie, A. Newton, H. Schulzrinne, and H. TLocation-to-Service Translation Protocol, RFC EStandard), ISSN 2070-1721, August 2008 http:/
Module 17: 536 of 536Practical Voice Over IP (VoIP): SIP and related protocols
li, H. Abdelnur, and O. Session Initiation Protocol roup, version 02, June 8,
2
Maguire References and Further [email protected] 2010.08.26
Log file format
[386]V. Gurbani (Editor), E. Burger (Editor), T. AnjaFestor, The Common Log Format (CLF) for the(SIP), Internet-Draft, IETF SIPPING Working G2010, Expires: December 10, 2010 http://tools.ietf.org/html/draft-ietf-sipclf-problem-statement-0
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
8: VOCALf G. Q. Maguire Jr.
uan Dang, Cullen Jennings, and Using VOCAL, O’Reilly, 2002,
Practical Voice Over related protoc
Fall 2010, Peri
Vocal.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 1Lecture notes o
For use in conjunction with LDavid Kelly, Practical VoIP:ISBN 0-596-00078-2.
Module 18: 538 of 547Practical Voice Over IP (VoIP): SIP and related protocols
rview
iew
Gateway
PSTN
MGCP
CPator
Marshalserver
erver
Redirect server
ISDN SS7
MGCP Phone
SIP
SIP
SIPSIP
GCP = Media Gateway Control Protocol
Maguire VOCAL System [email protected] 2010.08.26
VOCAL System Ove
Figure 20: VOCAL: Simplified overv
SIP phoneSIP UA ☎PC runningNetmeeting
ResidentialGateway
Analog phone
analog
H.323
H.323translator
MGtransl
Feature S
UAMarshalserver
ProvisioningProvisioning GUI HTTP
SIP
SIP
SIPSIP
SIPserver
VOCAL
M
Module 18: 539 of 547Practical Voice Over IP (VoIP): SIP and related protocols
asis
ork
PS)
phony services users and provide
/end information about
Maguire VOCAL [email protected] 2010.08.26
VOCAL Servers• Marshal server (MS)
• User Agent (UA) Marshal server– interface to/from IP phones connected to this network– can do different types of authentication on a per-user b
• (PSTN) Gateway Marshal servers– provides interworking with PSTN
• Internet Marshal server– interface to/from a SIP proxy server on another IP netw– authenticate calls via Open Settlement Protocol (OSP)– can request QoS via Common Open Policy Service (CO
• Conference Bridge Marshal server– interface to/from third party conference servers
• Feature server (FS)- to provide advanced tele• Redirect server (RS) - keep track of registered
routing to/from them• Provisioning server (PS) - for configuration• Call Detail Record (CDR) server - stores start
calls for billing and other purposes
Module 18: 540 of 547Practical Voice Over IP (VoIP): SIP and related protocols
ystem
calls per second (or BHCA) is carried directly between the
26-host system
5
5
10
2
2
2
26
175
630,000
Maguire Scaling of a VOCAL [email protected] 2010.08.26
Scaling of a VOCAL sFrom table 3-1 of Practical VoIP: Using VOCAL
Each host is a 700MHz Pentium III with 512 MB or RAM.• Note that unlike a PBX or Public Exchange, the capacity in
independent of the call durations, since the call traffic isendpoints via RTP and does not use the VOCAL system!
Server types 6-host system
14-host system
Redirect servers 1 2
Feature servers 1 2
Marshal servers 2 4
Call Detail Record servers 1/2 2
Provisioning servers 1 2
Policy servers 1/2 2
Total number of hosts 6 14
Capacity in calls per second 35 70
Capacity in busy-hour call attempts (BHCA) 125,000 250,000
Module 18: 541 of 547Practical Voice Over IP (VoIP): SIP and related protocols
a PBXnge, model ICS IMGdxh uses a .laims3 a capacity which scales .4 million BHCA, 250K trunks, and
handle 800,000 BHCA, support ity of 99.999%, and MOS of 4.0
he price per DS0 of Class 4 Convergent Networks’s ICS2000 are physically much smaller.xceeds that of central office nt redundancy and easier to build ner}, while also providing poten-
BHCA calls per server.
ake a call across a network or multiple networks
Maguire For comparison with a [email protected] 2010.08.26
For comparison with• NEC’s PBX: EAX2400 IMX - Integrated Multimedia eXcha
Pentium control process and the claimed1 BHCA is 25,600• Tekelec’s softswitch2 "VXiTM Media Gateway Controller" c
from 250,000 to over 1 million BHCA - a Class 5 exchange• Lucent’s 5E-XC™ Switch High Capacity Switch - supports
99.9999% availability [390]• Frank D. Ohrtman Jr. says that a Class 4 Softswitch should
100,000 DS0s (i.e., 100K 64 bps channels), with a reliabil(i.e., high quality voice)[387].– His pricing data shows that softswitches are about 1/4 t
exchanges (e.g., Nortel DMS250 and Lucent 4ESS vs. and SONUS GSX9000) -- additionally the softswitches
– Many claim that softswitch and VoIP reliability already eexchanges; because with VoIP it is cheaper to implemephysically distributed systems; plus more features {sootially better quality (i.e., better than "toll" quality)!
Radcom’s MegaSIP test software generates 3,500,000
1. Was available from http://www.stfi.com/STF_part3e.html
2. "A softswitch is the intelligence in a network that coordinates call control, signaling, and features that mpossible."[387]
3. Was available from http://www.tekelec.com/productportfolio/vximediagatewaycontroller/
Module 18: 542 of 547Practical Voice Over IP (VoIP): SIP and related protocols
S)
he VOCAL systemto authenticate each message
lancing across RSstateful
cated as needed; while egistration information.
Maguire Marshal server (MS)[email protected] 2010.08.26
Marshal server (MA SIP proxy server which provides:
• authentication of users• generates call detail records (CDRs)• provides a entry point for SIP messages into t
• thus the other elements of the VOCAL system don’t need
• monitor heart beats - can uses this for load ba• SIP transaction stateful, but not call (dialog) s
Allows better scaling, since these servers can be repliallowing the redirect server to focus just on keeping r
Module 18: 543 of 547Practical Voice Over IP (VoIP): SIP and related protocols
S) Agents (UAs)ions (i.e., registrations)essages
her or both parties)
s a redundant backup RS (follow-
m the MS) to the other RSs
Maguire Redirect Server (RS)[email protected] 2010.08.26
Redirect Server (R• receives SIP REGISTER messages from User• keeps track of registered users and their locat• provides routing information for SIP INVITE m
• based on caller, callee, and registration information (for eit• based on where the INVITE message has already been
• Supports redundancy• Utilizes multicast heartbeat
– starts by listening for 2s for another RS– if found, then it synchronizes with this RS and will act a
ing synchronization)– if not found, then it starts transmitting its own heartbeat
• a given RS must mirror REGISTER messages (received fro
Module 18: 544 of 547Practical Voice Over IP (VoIP): SIP and related protocols
S)l Blocking
ich is not there!tee that they don’t display it, …
CPL) scripts written by
cument object model (DOM) then executed.
Maguire Feature Server (FS)[email protected] 2010.08.26
Feature Server (F• Implements Call Forward, Call Screening, Cal
• The “Core Features” are implmented “within the network”– for example, you can’t implement features in aphone wh– you can’t give an end system the caller’s ID, but guaran
• Execute arbitrary Call Processing Language (users• CPL is parsed into eXtensible Markup Language (XML) do
trees, these are then turned into state machines (in C++),
Module 18: 545 of 547Practical Voice Over IP (VoIP): SIP and related protocols
(RG)ss throughout the home and s such as lights, security
ment systems.”1
ttp://www.osgi.org/ is attempting elivery of managed services
analog phones are devices 186 [391].
hony gateway based on SIP ll to/from the Public
a definitive agreement in August 2003 to sell its roducts, to Advanced Micro Devices (AMD)”
Maguire Residential Gateway (RG)[email protected] 2010.08.26
Residential GatewayA residential gateway (RG) provides “… Internet acceremote management of common household appliance
systems, utility meters, air conditioners, and entertain
Open Services Gateway Initiative (OSGi™) Alliance hto define a standard framework and API for network dto local networks and devices.
An alternative to using a residential gateway to attachsuch as the Cisco Analog Telephone Adaptor (ATA)
In VOCAL: “SIP Residential Gateway is an IP Telepwhich allows a SIP user agent to make/receive SIP ca
Switched Telephone Network (PSTN).”2
1. from http://www.national.com/appinfo/solutions/0,2062,974,00.html - “National Semiconductor signedInformation Appliance (IA) business unit, consisting primarily of the Geode™ family of microprocessor p
2. http://www.vovida.org/fom-serve/cache/761.html
Module 18: 546 of 547Practical Voice Over IP (VoIP): SIP and related protocols
aysning them, for example via standard. This enables the device’s configuration, etc.
have 105 to 107 devices
Maguire Residential [email protected] 2010.08.26
Residential GatewA very important aspect of such gateways is provisiothe Broadband Forum’s CPE WAN Protocol, TR-069operators to control the boxes, perform updates, set theThis protocol is based upon SOAP over HTTP.
Provisioning is very important when an operator my installed at their customers premises.
Module 18: 547 of 547Practical Voice Over IP (VoIP): SIP and related protocols
Readingfor VoIP, McGraw-Hill
ons, Calabasas, CA, USA, n 20 million calls per hour
ions, 5E-XCi v1, Sept. 2003 et.pdf
Maguire References and Further [email protected] 2010.08.26
References and Further[387]Frank D. Ohrtman Jr., Softswitch: Architecture
Professional, 2002, ISBN: 0071409777.
[388]Radcom, MegaSIP data sheet, Bristol, England was available from http://www.radcom.com/radcom/test/pdf/ds_pa_megasip
[389]Abacus2 Test equipment, Spirent Communicatiwww.spirentcom.com - generates and switches more tha
[390]5ESS Switch High Capacity Switching Applicathttp://www.lucent.com/livelink/090094038004f536_Brochure_datashe
[391]Cisco Analog Telephone Adaptor (ATA) 186 http://www.cisco.com/warp/public/cc/pd/as/180/186/
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
xpress Router and oftware
f G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
SER.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 19: SIP Eother S
Lecture notes o
Module 19: 549 of 556Practical Voice Over IP (VoIP): SIP and related protocols
(SER) tation which can act as SIP
rity, …
ect/sip/sip.edu/ser.shtml
Maguire SIP Express Router (SER)[email protected] 2010.08.26
SIP Express Router http://www.iptel.org/ser/ SER is an open-source implemenregistrar, proxy or redirect server. SER features:
• an application-server interface, • presence support,• SMS gateway,• SIMPLE2Jabber gateway,• RADIUS/syslog accounting and authorization,• server status monitoring,
• Firewall Communication Protocol (FCP)1 secu• Web-based user provisioning (serweb)
For configuration help see: http://www.mit.edu/afs/athena/proj
For performance of a SER server see [394]
1. http://www.iptel.org/fcp/
Module 19: 550 of 556Practical Voice Over IP (VoIP): SIP and related protocols
outersects, see:
rg/
http://sip-router.org).
Maguire Many SIP Express [email protected] 2010.08.26
Many SIP Express RThe OpenSER project has split in to a number of proj
• Open SIP Server (OpenSIPS) http://www.opensips.o• Kamailio http://www.kamailio.org/
SER amd Kamailo are part of the sip-router project (
Additionally there are lots of other projects, see
http://www.voip-info.org/wiki/view/Open+Source+VOIP+Software
or use your favorite search engine!
Module 19: 551 of 556Practical Voice Over IP (VoIP): SIP and related protocols
goal improving and
s (distributed under the
outer.
xible plugin architecture for
er VXML applications (including
Xpublisher, sipXvxml, and
Maguire [email protected] 2010.08.26
SipFoundryhttp://www.sipfoundry.org/ was formed on March 29, 2004 -adopting open source projects related to SIP
Pingtel Corp. contributed their sipX family of projectLGPL). This includes:
sipXphone SIP soft phone
sipXproxy pair of applications that together form a configurable SIP r
sipXregistry SIP Registry/Redirect server
sipXpublisher server to handle SIP SUBSCRIBE/NOTIFY handling + fledifferent event types.
sipXvxml VXML scripting engine supporting creation of IVR and othauto-attendant and voice mail)
sipXconfig SIP configuration server
sipXpbx full PBX solution; combining sipXproxy, sipXregistry, sipsipXconfig
sipXtest testing tools and frameworks
Module 19: 552 of 556Practical Voice Over IP (VoIP): SIP and related protocols
s
trace viewer, JAIN-SIP gateway,
age
Maguire Other SIP [email protected] 2010.08.26
Other SIP Proxie• JAIN-SIP Proxy
• http://snad.ncsl.nist.gov/proj/iptel/ • JAIN-SIP proxy, JAIN-SIP IM client, SIP communicator, SIP
JAIN-SIP 3PCC, …
• SaRP SIP and RTP Proxy• http://sarp.sourceforge.net/ • written in Perl
• sipd SIP Proxy• http://www.sxdesign.com/index.php?page=developer&submnu=sipd
• Siproxd SIP and RTP Proxy• http://sourceforge.net/projects/siproxd/ • an proxy/masquerading daemon for the SIP protocol
• partysip• http://www.nongnu.org/partysip/partysip.html
• Has a plugin to enable use of SCTP transport
• Yxa: Written in the Erlang programming langu• http://www.stacken.kth.se/projekt/yxa/
…
Module 19: 553 of 556Practical Voice Over IP (VoIP): SIP and related protocols
pture file
xies, user agent servers, redirect
rs of SIP applications
Protocol Implementations" project
Maguire SIP [email protected] 2010.08.26
SIP Tools• Callflow
• http://callflow.sourceforge.net/ • Generates SIP call flow diagrams based on an ethereal ca
• SIPbomber• http://www.metalinkltd.com/downloads.php • a SIP proxy testing tool for server implementations (i.e., pro
servers, and registrars)
• Sipsak• http://sipsak.org/ • sipsak a comand line tool for developers and administrato
• PROTOS Test-Suite• https://www.ee.oulu.fi/research/ouspg/PROTOS_Test-Suite_c07-sip • SIP Testing tools from the "PROTOS - Security Testing of
Module 19: 554 of 556Practical Voice Over IP (VoIP): SIP and related protocols
nstant Messaging
version for Windows and
Maguire SIP [email protected] 2010.08.26
SIP Clients• kphone
• http://sourceforge.net/projects/kphone/ • IPv4 and IPv6 UA for Linux, also supports Presence and I• UA for Linux - for KDE
• Linphone• http://www.linphone.org/?lang=us&rubrique=1 • UA for Linux - for GNOME
• CounterPath Corporation’s X-Lite - free demo Linux• http://www.counterpath.com/x-lite.html
• The also have a "Business-class SIP Softphone"
• minisip• http://www.minisip.org/
• …
Module 19: 555 of 556Practical Voice Over IP (VoIP): SIP and related protocols
ons to SER
gy”, In Mobile Human erence Workshop on C), Espoo/Helsinki,
/article.pdf
ext awareness”, M.Sc. tion Technology, Royal 7 aencina_Verdaguer-with-cover.pdf
Maguire CPL and Ontology extentions to [email protected] 2010.08.26
CPL and Ontology extentiSee:
• A. Devlic, “Extending CPL with context ontoloComputer Interaction (Mobile HCI 2006) ConfInnovative Mobile Applications of Context (IMAFinland, September 2006. http://www.it.kth.se/~devlic
• Sergi Laencina Verdaguer, “Model driven contThesis, School of Information and CommunicaInstitute of Technology (KTH), 28 January 200http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/070130-Sergi_L
Module 19: 556 of 556Practical Voice Over IP (VoIP): SIP and related protocols
Reading
elephony Service Provider formation and Technology (KTH), April
artment of Communication ation Technology, Royal
mmad_Zarifi_Eslami-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
References and Further[392]http://www.google.com/search?q=%2BSIP&hl=en&lr=&ie=ISO-8859-1
[393]Amos Nungu, VoIP Service Provider (Internet Tusing SIP Protocol), Masters thesis, School of InCommunication Technology, Royal Institute of 2005
[394]Mohammad Zarifi Eslami, Masters Thesis, DepSystems, School of Information and CommunicInstitute of Technology, December 2007 http://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/071220-Moha
IK2554 IP (VoIP): SIP and olsod 1
Maguire Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:40
KTH Information andCommunication Technology
-SIP applicationsf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
NonSIP-applications.fm 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 20: NonLecture notes o
Module 20: 558 of 562Practical Voice Over IP (VoIP): SIP and related protocols
~0.5 Gbit/sec
xml updated every few
t 20:00 MESTt 17:20 MEST
395]
Maguire [email protected] 2010.08.26
SkypeSkype™ Technologies http://www.skype.com/
• “Skype is free Internet telephony that just works.”
• in 2005: ~1 Million downloads/day, downloads at peak are
Statistics as an RSS feed at: http://share.skype.com/stats_rss.minutes
Downloads Simultaneous users Date2,438,790,535 18,386,099 2010.08.20 a1,587,992,602 15,627,990 2009.08.19 a
844,062,744 11,306,336 2008.03.24522,932,765 5,512,395 2007.03.27
~9 million 2007.01.29~200,000,000 2005.11.08
> 5 million 2006.01.23 [
Module 20: 559 of 562Practical Voice Over IP (VoIP): SIP and related protocols
in Cisco’s CallManager - a eir VoIP phones. Audio is
ion.
Maguire Cisco’s [email protected] 2010.08.26
Cisco’s SkinnyCisco’s Skinny Call Control Protocol (SCCP) is usedproprietary protocol between the CallManager and thcarried via RTP over UDP.
Skinny messages use TCP port 2000.1
Skinny was originally developed by Selsius Corporat
1. The message types formerly could be found at http://www.javvin.com/protocolSCCP.html.
Module 20: 560 of 562Practical Voice Over IP (VoIP): SIP and related protocols
P.323
eway Control Protocol RFC 3661 [397]- used for
Maguire H.323 and [email protected] 2010.08.26
H.323 and MGCInternational Telecommunication Union (ITU-T)’s H
• further details at: http://www.h323forum.org/
Internet Engineering Task Force (IETF)’s Media Gat(MGCP) defined in RFC 3435 [396] and updated by controlling telephony gateways.
Module 20: 561 of 562Practical Voice Over IP (VoIP): SIP and related protocols
sterisk.org/
ature or media server.
Exchange (IAX) protocol, y Client Control Protocol
en Asterisk servers (also
k and SER see Max Weltz’s
Maguire [email protected] 2010.08.26
AsteriskAsterisk is an open source PBX system, see http://www.a
Asterisk can function as a PBX (Switch), gateway, fe
Asterisk supports SIP, H.323, their own Inter-AsteriskMedia Gateway Control Protocol (MGCP), and Skinn(SCCP).
• Inter-Asterisk eXchange (IAX2) - a protocol for calls betweimplemented by some IP phones) has replaced IAX.
For an example of a system implemented using Asteristhesis [398].
Module 20: 562 of 562Practical Voice Over IP (VoIP): SIP and related protocols
Readingents, Milestones, Skype, 5_million_online_skypers.html, last
ntrol Protocol (MGCP), dated by RFC 3661.
ontrol Protocol (MGCP) ormational), ISSN /rfc/rfc3661.txt
esis, Department of and Communication H), February 2008 eltz_ExjobbReport-with-cover.pdf
Maguire References and Further [email protected] 2010.08.26
References and Further[395]Jaanus, “5 million online Skypers”, in News, Ev
January 23, 2006 http://share.skype.com/sites/en/2006/01/modified March 12, 2006 14:05:25
[396] F. Andreasen and B. Foster, Media Gateway CoVersion 1.0, IETF RFC 3435, January 2003, Uphttp://www.ietf.org/rfc/rfc3435.txt
[397]B. Foster and C. Sivachelvan, Media Gateway CReturn Code Usage, RFC Editor, RFC 3661 (Inf2070-1721, December 2003 http://www.rfc-editor.org
[398]Max Weltz, Dial over Data solution, Masters ThCommunication Systems, School of InformationTechnology, Royal Institute of Technology (KThttp://web.it.kth.se/~maguire/DEGREE-PROJECT-REPORTS/080221-MaxW
IK2554 IP (VoIP): SIP and olsod 1
Maguire s.fm Total pages: [email protected]
© 2004-2010 G.Q.Maguire Jr. .All rights reserved. No part of this course ma copying, recording, or otherwise, without written permission of the author.
Last modified: 2010.08.26:18:41
KTH Information andCommunication Technology
clusions and your jectsf G. Q. Maguire Jr.
Practical Voice Over related protoc
Fall 2010, Peri
Conclusions-and-your_project 2010.08.26
y be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photo
Module 21: Conpro
Lecture notes o
Module 21: 564 of 566Practical Voice Over IP (VoIP): SIP and related protocols
as a substitute for fixed line
approachable.
ffort.
ing code, implementations,
Maguire [email protected] 2010.08.26
ConclusionsVoIP is both feasible and increasingly being adopted telephony (and as the basis for mobile telephony).
SIP is more complex that it first seemed, but it is still
Secure VoIP is possible, but like all security it takes e
There are lots of details, but there is also a lot of existand documents.
Module 21: 565 of 566Practical Voice Over IP (VoIP): SIP and related protocols
VoIPice over IP: VoIP is turning
one at that”[18]
lat rate Internet subscription the ll.
ey have in common is “voice”
et loss can still matter, but a long way to avoiding probems
routing are used to provision VoIP
911, lawful intercept, etc.
nels ==> very high security
puters - with all the problems ngs!
Maguire Seven Myths About [email protected] 2010.08.26
Seven Myths AboutLet us consider Steven Cherry’s, “Seven Myths About Vo
telephony into just another Internet application - and a cheap
Myth Status
“VoIP is free” Not quite, but given a fincremental cost is sma
“The only difference between VoIP and regular telephony is the price”
About the only thing thcontent and “calls”.
“Quality of service isn’t an issue nonadways, because there’s plenty of bandwidth in the network”
latency, jitter, and packover-provisioning goes
“VoIP can’t replace regular telephony, because it still can’t guarantee quality of service”
MPLS and QoS aware services
“VoIP is just another data application” Issues about providing
“VoIP isn’t secure” SRTP + MIKEY + tun
“A Phone is a Phone is a Phone” Modern phones are comand advantages that bri
Module 21: 566 of 566Practical Voice Over IP (VoIP): SIP and related protocols
se anyone else’s work with
Maguire Your [email protected] 2010.08.26
Your projectsDiscussion of topics
Reminder: Write complete references and do not uout clearly identifying it!