idnits 2.17.1 draft-camarillo-3pcc-qos-00.txt: -(124): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == There are 4 instances of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 14 longer pages, the longest (page 2) being 60 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 44 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 16 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 2000) is 8685 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 2543 (ref. '1') (Obsoleted by RFC 3261, RFC 3262, RFC 3263, RFC 3264, RFC 3265) == Outdated reference: A later version (-03) exists of draft-rosenberg-sip-3pcc-00 -- Possible downref: Normative reference to a draft: ref. '2' -- Possible downref: Normative reference to a draft: ref. '3' -- Possible downref: Normative reference to a draft: ref. '4' Summary: 6 errors (**), 0 flaws (~~), 6 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force Gonzalo Camarillo 3 Internet draft Ericsson 4 July 2000 5 Expires January 2000 6 8 Third party call control with SDP preconditions 10 Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. Internet-Drafts are draft documents valid for a maximum of 19 six months and may be updated, replaced, or obsoleted by other 20 documents at any time. It is inappropriate to use Internet- Drafts 21 as reference material or to cite them other than as "work in 22 progress." 24 The list of current Internet-Drafts can be accessed at 25 http://www.ietf.org/ietf/1id-abstracts.txt 26 The list of Internet-Draft Shadow Directories can be accessed at 27 http://www.ietf.org/shadow.html. 29 Abstract 31 This document describes how to perform third party call control in 32 SIP when SDP preconditions are used. There are no new SIP extensions 33 needed to accomplish this. The mechanism outlined is illustrated 34 with an example in order to help understand it. 36 1. Introduction 38 In third party call control the entity creating, modifying and 39 terminating the session might not be involved in the media exchange. 40 The controller uses SIP [1] to create sessions between other 41 participants. 43 Third party call control in SIP is addressed by [2] already. 44 However, sessions that make use of SDP preconditions [3] are not 45 taken into account. The next section describes the issues found when 46 these two mechanisms are used together. 48 2. Third party call control and SDP preconditions 50 In unicast sessions there is a number of media streams flowing 51 between two entities. In order to perform resource reservation it is 52 necessary to know the session descriptions from both parties. When 54 Camarillo 1 55 Third party call control with SDP preconditions 57 third party call control is performed the information needed to 58 establish the QoS required is not available from the beginning. The 59 following call flow shows how the exchange of SDPs between both 60 parties can be performed. 62 Controller A B 64 | (1) INVITE | | 65 |------------------>| | 66 | (2) 183 SDP A | | 67 |<------------------| | 68 | (3) INVITE SDP A | | 69 |------------------------------------->| 70 | (4) 183 SDP B | | 71 |<-------------------------------------| 72 | (5) PRACK SDP B | | 73 |------------------>| | 74 | (6) 200 OK (PRACK)| | 75 |<------------------| | 76 | (7) PRACK | | 77 |------------------------------------->| 78 | (8) 200 OK (PRACK)| | 79 |<-------------------------------------| 80 | (9) COMET | | 81 |<-------------------------------------| 82 |(10) 200 OK (COMET)| | 83 |------------------------------------->| 84 | (11) COMET | | 85 |<------------------| | 86 |(12) 200 OK (COMET)| | 87 |------------------>| | 88 | (13) COMET | | 89 |------------------>| | 90 |(14) 200 OK (COMET)| | 91 |<------------------| | 92 |(15) 200 OK (INVITE) | 93 |<------------------| | 94 | (16) COMET | | 95 |------------------------------------->| 96 |(17) 200 OK (COMET)| | 97 |<-------------------------------------| 98 |(18) 200 OK (INVITE) | 99 |<-------------------------------------| 100 | (19) ACK | | 101 |------------------>| | 102 | (20) ACK | | 103 |------------------------------------->| 104 | | | 106 Controller A B 108 Camarillo 2 109 Third party call control with SDP preconditions 111 The controller INVITEs A in (1). At this point of time there is no 112 information available about codecs to be used port numbers or IP 113 addresses. The SDP of this INVITE just contains SDP preconditions 114 and the media stream types (audio, video, etc...). 116 INVITE (3) contains the SDP received from A. This INVITE is sent to 117 B. When B responses with (4) 183 it is ready to perform resource 118 reservation. However, B will not start resource reservation until 119 the PRACK (7) is received. This allows B�s SDP to be sent to A in 120 (5). This way both parties have all the information needed to 121 perform resource reservation. 123 The PRACK matching (2) is sent at (5). This PRACK is not sent before 124 because it is used to send B�s SDP to A. The controller does not get 125 this information until (4). 127 When the preconditions from B to the controller and from A to the 128 controller are met two COMETs are received (9) and (11). At this 129 point of time is up to the controller to let the session 130 establishment go on sending a COMET to A (13). When A accepts 131 joining the session (15), a COMET (16) is sent to B so B is alerted. 133 3. Example 135 This example shows how a transcoding device can be implemented using 136 the mechanism described previously. Transcoding devices are 137 sometimes needed between two clients that do not have any common 138 codec. This is a common situation when clients using a low rate 139 access are involved in the communication. A commonly used codec such 140 as PCM is not supported by the client because there are not 64 kbps 141 available, and the low rate codec used for this concrete access is 142 too expensive (IPR issues) to be supported by a normal client. 143 Hopefully, a low rate codec that could be implemented "for free" 144 will be available for all the clients in a future, making 145 transcoding devices unnecessary. 147 The mechanism used in this example allows the addition of a 148 transcoding device in the media path by the caller. This addition is 149 transparent to the callee. 151 The transcoding device is modelled as a dial-up bridge in [4]. A 152 client INVITEs the transcoding device, 153 newsession@transcoder.provider3.com, and the transcoding device 154 responses with a URL (in a contact header) that identifies the 155 transcoding session: session3371@transcoder.provider3.com 157 In this example, there are two media streams: audio and video. The 158 audio media stream goes through the transcoding device while the 159 video stream goes directly between A and B. This video stream 160 illustrates how some media streams can traverse a certain path and 161 others can traverse a different one. 163 Camarillo 3 164 Third party call control with SDP preconditions 166 A wants to establish a session containing audio and video with B. A 167 and B do not have common audio codecs. This has been discovered 168 before with, for instance, an unsuccessful INVITE. A invokes 169 transcoding services from T. In the call flows SDP TA represent T�s 170 SDP between T and A. SDP TB represents T�s SDP between T and B. 172 The transcoder lists all the codecs that it supports in (10) because 173 it responses to an INVITE without codec information. In (2) the 174 transcoder just lists codec 0 because it is a subset of what A sent 175 in the INVITE (1). 177 After the establishment of a session between A and T (8), the call 178 flow is the same as in the previous section. Therefore, INVITE (1) 179 in the previous section corresponds to INVITE (9) in this section. 181 A T B 183 | (1) INVITE SDP A | | 184 |------------------>| | 185 | (2) 183 SDP TA | | 186 |<------------------| | 187 | (3) PRACK | | 188 |------------------>| | 189 |(4) 200 OK (PRACK) | | 190 |<------------------| | 191 | (5) COMET | | 192 |------------------>| | 193 | (6) 200 OK (COMET)| | 194 |<------------------| | 195 |(7) 200 OK (INVITE)| | 196 |<------------------| | 197 | (8) ACK | | 198 |<------------------| | 199 | (9) INVITE | | 200 |------------------>| | 201 | (10) 183 SDP TB | | 202 |<------------------| | 203 |(11) INVITE SDP TB | | 204 |------------------------------------->| 205 | (12) 183 SDP B | | 206 |<-------------------------------------| 207 |(13) PRACK SDP B | | 208 |------------------>| | 209 |(14) 200 OK (PRACK)| | 210 |<------------------| | 211 | (15) PRACK | | 212 |------------------------------------->| 213 |(16) 200 OK (PRACK)| | 214 |<-------------------------------------| 215 | (17) COMET | | 216 |<-------------------------------------| 217 |(18) 200 OK (COMET)| | 218 |------------------------------------->| 220 Camarillo 4 221 Third party call control with SDP preconditions 223 | (19) COMET | | 224 |<------------------| | 225 |(20) 200 OK (COMET)| | 226 |------------------>| | 227 | (21) COMET | | 228 |------------------>| | 229 |(22) 200 OK (COMET)| | 230 |<------------------| | 231 |(23) 200 OK (INVITE) | 232 |<------------------| | 233 | (24) COMET | | 234 |------------------------------------->| 235 |(25) 200 OK (COMET)| | 236 |<-------------------------------------| 237 |(26) 200 OK (INVITE) | 238 |<-------------------------------------| 239 | (27) ACK | | 240 |------------------>| | 241 | (28) ACK | | 242 |------------------------------------->| 243 | | | 245 A T B 247 Message details 249 (1) 250 INVITE sip:newsession@transcoder.provider3.com SIP/2.0 251 Via: SIP/2.0/UDP ws1234.provider1.com:5060 252 Require: 100rel 253 From: UserA 254 To: Transcoder 255 Call-ID: 12345678@ws1234.provider1.com 256 CSeq: 1 INVITE 257 Contact: UserA 258 Content-Type: application/sdp 259 Content-Length: 154 261 v=0 262 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider1.com 263 s=Session SDP 264 c=IN IP4 10.0.0.1 265 t=0 0 266 m=audio 20002 RTP/AVP 0 267 a=qos:mandatory sendrecv 269 (2) 270 SIP/2.0 183 Session Progress 271 Via: SIP/2.0/UDP ws1234.provider1.com:5060 272 Require: 100rel 273 RSeq: 112233 274 From: UserA 276 Camarillo 5 277 Third party call control with SDP preconditions 279 To: Transcoder 280 ;tag=314159 281 Call-ID: 12345678@ws1234.provider1.com 282 CSeq: 1 INVITE 283 Contact: Transcoder 285 Content-Type: application/sdp 286 Content-Length: 167 288 v=0 289 o=Transc 2891234526 2891234526 IN IP4 transcoder.provider3.com 290 s=Session SDP 291 c=IN IP4 10.0.0.3 292 t=0 0 293 m=audio 30000 RTP/AVP 0 294 a=qos:mandatory sendrecv confirm 296 (3) 297 PRACK sip:session3371@transcoder.provider3.com SIP/2.0 298 RAck: 112233 1 INVITE 299 Via: SIP/2.0/UDP ws1234.provider1.com:5060 300 From: UserA 301 To: Transcoder 302 ;tag=314159 303 Call-ID: 12345678@ws1234.provider1.com 304 CSeq: 2 PRACK 306 (4) 307 SIP/2.0 200 OK 308 Via: SIP/2.0/UDP ws1234.provider1.com:5060 309 From: UserA 310 To: Transcoder 311 ;tag=314159 312 Call-ID: 12345678@ws1234.provider1.com 313 CSeq: 2 PRACK 315 (5) 316 COMET sip:session3371@transcoder.provider3.com SIP/2.0 317 Via: SIP/2.0/UDP ws1234.provider1.com:5060 318 From: UserA 319 To: Transcoder 320 ;tag=314159 321 Call-ID: 12345678@ws1234.provider1.com 322 CSeq: 3 COMET 323 Content-Type: application/sdp 324 Content-Length: 152 326 v=0 327 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider1.com 328 s=Session SDP 329 c=IN IP4 10.0.0.1 330 t=0 0 331 m=audio 20002 RTP/AVP 0 333 Camarillo 6 334 Third party call control with SDP preconditions 336 a=qos:success sendrecv 338 (6) 339 SIP/2.0 200 OK 340 Via: SIP/2.0/UDP ws1234.provider1.com:5060 341 From: UserA 342 To: Transcoder 343 ;tag=314159 344 Call-ID: 12345678@ws1234.provider1.com 345 CSeq: 3 COMET 347 (7) 348 SIP/2.0 200 OK 349 Via: SIP/2.0/UDP ws1234.provider1.com:5060 350 From: UserA 351 To: Transcoder 352 ;tag=314159 353 Call-ID: 12345678@ws1234.provider1.com 354 CSeq: 1 INVITE 355 Contact: Transcoder 356 Content-Type: application/sdp 357 Content-Length: 133 359 v=0 360 o=Transc 2891234526 2891234526 IN IP4 transcoder.provider3.com 361 s=Session SDP 362 c=IN IP4 10.0.0.3 363 t=0 0 364 m=audio 30000 RTP/AVP 0 366 (8) 367 ACK sip:session3371@transcoder.provider3.com SIP/2.0 368 Via: SIP/2.0/UDP ws1234.provider1.com:5060 369 From: UserA 370 To: Transcoder 371 Call-ID: 12345678@ws1234.provider1.com 372 CSeq: 1 ACK 373 Contact: UserA 375 (9) 376 INVITE sip:session3371@transcoder.provider3.com SIP/2.0 377 Via: SIP/2.0/UDP ws1234.provider1.com:5060 378 Require: 100rel 379 From: UserA 380 To: Transcoder 381 Call-ID: 87654321@ws1234.provider1.com 382 CSeq: 1 INVITE 383 Contact: UserA 384 Content-Type: application/sdp 385 Content-Length: 156 387 v=0 388 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider1.com 390 Camarillo 7 391 Third party call control with SDP preconditions 393 s=Session SDP 394 c=IN IP4 0.0.0.0 395 t=0 0 396 m=audio 0 RTP/AVP 397 a=qos:mandatory sendrecv confirm 399 (10) 400 SIP/2.0 183 Session Progress 401 Via: SIP/2.0/UDP ws1234.provider1.com:5060 402 Require: 100rel 403 RSeq: 223344 404 From: UserA 405 To: Transcoder 406 ;tag=123456 407 Call-ID: 87654321@ws1234.provider1.com 408 CSeq: 1 INVITE 409 Contact: Transcoder 410 Content-Type: application/sdp 411 Content-Length: 169 413 v=0 414 o=Transc 2891234526 2891234526 IN IP4 transcoder.provider3.com 415 s=Session SDP 416 c=IN IP4 10.0.0.3 417 t=0 0 418 m=audio 30002 RTP/AVP 0 8 419 a=qos:mandatory sendrecv confirm 421 (11) 422 INVITE sip:UserB@ws4321.provider2.com SIP/2.0 423 Via: SIP/2.0/UDP ws1234.provider1.com:5060 424 Require: 100rel 425 From: UserA 426 To: UserB 427 Call-ID: 11223344@ws1234.provider1.com 428 CSeq: 1 INVITE 429 Contact: UserA 430 Content-Type: application/sdp 431 Content-Length: 268 433 v=0 434 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider1.com 435 s=Session SDP 436 t=0 0 437 m=audio 30002 RTP/AVP 0 8 438 c=IN IP4 10.0.0.3 439 a=qos:mandatory sendrecv confirm 440 m=video 20000 RTP/AVP 31 441 c=IN IP4 10.0.0.1 442 a=rtpmap:31 H261/90000 443 a=qos:mandatory sendrecv confirm 445 (12) 447 Camarillo 8 448 Third party call control with SDP preconditions 450 SIP/2.0 183 Session Progress 451 Via: SIP/2.0/UDP ws1234.provider1.com:5060 452 Require: 100rel 453 RSeq: 334455 454 From: UserA 455 To: UserB ;tag=112233 456 Call-ID: 11223344@ws1234.provider1.com 457 CSeq: 1 INVITE 458 Contact: UserB 459 Content-Type: application/sdp 460 Content-Length: 246 462 v=0 463 o=UserB 2891234526 2891234526 IN IP4 ws4321.provider2.com 464 s=Session SDP 465 c=IN IP4 10.0.0.2 466 t=0 0 467 m=audio 40002 RTP/AVP 8 468 a=qos:mandatory sendrecv confirm 469 m=video 40000 RTP/AVP 31 470 a=rtpmap:31 H261/90000 471 a=qos:mandatory sendrecv confirm 473 (13) 474 PRACK sip:session3371@transcoder.provider3.com SIP/2.0 475 RAck: 223344 1 INVITE 476 Via: SIP/2.0/UDP ws1234.provider1.com:5060 477 From: UserA 478 To: Transcoder 479 ;tag=123456 480 Call-ID: 87654321@ws1234.provider1.com 481 CSeq: 2 PRACK 482 Content-Type: application/sdp 483 Content-Length: 162 485 v=0 486 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider2.com 487 s=Session SDP 488 c=IN IP4 10.0.0.2 489 t=0 0 490 m=audio 40002 RTP/AVP 8 491 a=qos:mandatory sendrecv confirm 493 (14) 494 SIP/2.0 200 OK 495 Via: SIP/2.0/UDP ws1234.provider1.com:5060 496 From: UserA 497 To: Transcoder 498 ;tag=123456 499 Call-ID: 87654321@ws1234.provider1.com 500 CSeq: 2 PRACK 502 (15) 504 Camarillo 9 505 Third party call control with SDP preconditions 507 PRACK sip:UserB@ws4321.provider2.com SIP/2.0 508 RAck: 334455 1 INVITE 509 Via: SIP/2.0/UDP ws1234.provider1.com:5060 510 From: UserA 511 To: UserB ;tag=112233 512 Call-ID: 11223344@ws1234.provider1.com 513 CSeq: 2 PRACK 515 (16) 516 SIP/2.0 200 OK 517 Via: SIP/2.0/UDP ws1234.provider1.com:5060 518 From: UserA 519 To: UserB ;tag=112233 520 Call-ID: 11223344@ws1234.provider1.com 521 CSeq: 2 PRACK 523 (17) 524 COMET sip:UserA@ws1234.provider1.com SIP/2.0 525 Via: SIP/2.0/UDP ws4321.provider2.com:5060 526 To: UserA 527 From: UserB ;tag=112233 528 Call-ID: 11223344@ws1234.provider1.com 529 CSeq: 1 COMET 530 Content-Type: application/sdp 531 Content-Length: 226 533 v=0 534 o=UserB 2891234526 2891234526 IN IP4 ws4321.provider2.com 535 s=Session SDP 536 c=IN IP4 10.0.0.2 537 t=0 0 538 m=audio 40002 RTP/AVP 8 539 a=qos:success sendrecv 540 m=video 40000 RTP/AVP 31 541 a=rtpmap:31 H261/90000 542 a=qos:success sendrecv 544 (18) 545 SIP/2.0 200 OK 546 Via: SIP/2.0/UDP ws4321.provider2.com:5060 547 To: UserA 548 From: UserB ;tag=112233 549 Call-ID: 11223344@ws1234.provider1.com 550 CSeq: 1 COMET 552 (19) 553 COMET sip:UserA@ws1234.provider1.com SIP/2.0 554 Via: SIP/2.0/UDP transcoder.provider3.com:5060 555 To: UserA 556 From: Transcoder 557 ;tag=123456 558 Call-ID: 87654321@ws1234.provider1.com 560 Camarillo 10 561 Third party call control with SDP preconditions 563 CSeq: 1 COMET 564 Content-Type: application/sdp 565 Content-Length: 159 567 v=0 568 o=Transc 2891234526 2891234526 IN IP4 transcoder.provider3.com 569 s=Session SDP 570 c=IN IP4 10.0.0.3 571 t=0 0 572 m=audio 30002 RTP/AVP 0 8 573 a=qos:success sendrecv 575 (20) 576 SIP/2.0 200 OK 577 Via: SIP/2.0/UDP transcoder.provider3.com:5060 578 To: UserA 579 From: Transcoder 580 ;tag=123456 581 Call-ID: 87654321@ws1234.provider1.com 582 CSeq: 1 COMET 584 (21) 585 COMET sip:session3371@transcoder.provider3.com SIP/2.0 586 Via: SIP/2.0/UDP ws1234.provider1.com:5060 587 From: UserA 588 To: Transcoder 589 ;tag=123456 590 Call-ID: 87654321@ws1234.provider1.com 591 CSeq: 3 COMET 592 Content-Type: application/sdp 593 Content-Length: 152 595 v=0 596 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider2.com 597 s=Session SDP 598 c=IN IP4 10.0.0.2 599 t=0 0 600 m=audio 40002 RTP/AVP 8 601 a=qos:success sendrecv 603 (22) 604 SIP/2.0 200 OK 605 Via: SIP/2.0/UDP ws1234.provider1.com:5060 606 From: UserA 607 To: Transcoder 608 ;tag=123456 609 Call-ID: 87654321@ws1234.provider1.com 610 CSeq: 3 COMET 612 (23) 613 SIP/2.0 200 OK 614 Via: SIP/2.0/UDP ws1234.provider1.com:5060 615 From: UserA 617 Camarillo 11 618 Third party call control with SDP preconditions 620 To: Transcoder 621 ;tag=123456 622 Call-ID: 87654321@ws1234.provider1.com 623 CSeq: 1 INVITE 624 Contact: Transcoder 625 Content-Type: application/sdp 626 Content-Length: 135 628 v=0 629 o=Transc 2891234526 2891234526 IN IP4 transcoder.provider3.com 630 s=Session SDP 631 c=IN IP4 10.0.0.3 632 t=0 0 633 m=audio 30002 RTP/AVP 0 8 635 (24) 636 COMET sip:UserB@ws4321.provider2.com SIP/2.0 637 Via: SIP/2.0/UDP ws1234.provider1.com:5060 638 From: UserA ;tag=112233 639 To: UserB 640 Call-ID: 11223344@ws1234.provider1.com 641 CSeq: 3 COMET 642 Content-Type: application/sdp 643 Content-Length: 248 645 v=0 646 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider1.com 647 s=Session SDP 648 t=0 0 649 m=audio 30002 RTP/AVP 0 8 650 c=IN IP4 10.0.0.3 651 a=qos:success sendrecv 652 m=video 20000 RTP/AVP 31 653 c=IN IP4 10.0.0.1 654 a=rtpmap:31 H261/90000 655 a=qos:success sendrecv 657 (25) 658 SIP/2.0 200 OK 659 Via: SIP/2.0/UDP ws1234.provider1.com:5060 660 From: UserA ;tag=112233 661 To: UserB 662 Call-ID: 11223344@ws1234.provider1.com 663 CSeq: 3 COMET 665 (26) 666 SIP/2.0 200 OK 667 Via: SIP/2.0/UDP ws1234.provider1.com:5060 668 From: UserA 669 To: UserB ;tag=112233 670 Call-ID: 11223344@ws1234.provider1.com 671 CSeq: 1 INVITE 672 Contact: UserB 674 Camarillo 12 675 Third party call control with SDP preconditions 677 Content-Type: application/sdp 678 Content-Length: 178 680 v=0 681 o=UserB 2891234526 2891234526 IN IP4 ws4321.provider2.com 682 s=Session SDP 683 c=IN IP4 10.0.0.2 684 t=0 0 685 m=audio 40002 RTP/AVP 8 686 m=video 40000 RTP/AVP 31 687 a=rtpmap:31 H261/90000 689 (27) 690 ACK sip:session3371@transcoder.provider3.com SIP/2.0 691 Via: SIP/2.0/UDP ws1234.provider1.com:5060 692 From: UserA 693 To: Transcoder 694 ;tag=123456 695 Call-ID: 87654321@ws1234.provider1.com 696 CSeq: 1 ACK 698 (28) 699 ACK sip:UserB@ws4321.provider2.com SIP/2.0 700 Via: SIP/2.0/UDP ws1234.provider1.com:5060 701 From: UserA 702 To: UserB ;tag=112233 703 Call-ID: 11223344@ws1234.provider1.com 704 CSeq: 1 ACK 706 4. Open issues 708 This document uses the following SDP format in an INVITE to indicate 709 that preconditions are needed without providing a session 710 description: 712 v=0 713 o=UserA 2891234526 2891234526 IN IP4 ws1234.provider1.com 714 s=Session SDP 715 c=IN IP4 0.0.0.0 716 t=0 0 717 m=audio 0 RTP/AVP 718 a=qos:mandatory sendrecv confirm 720 IP address, port number and codec type are not provided. 722 It is assumed that the if the caller includes SDP preconditions in 723 the INVITE, the callee requests confirmation of preconditions met 724 (COMET from caller to callee) in the 183 response. However, the 725 callee might rely on other mechanisms such as RSVP ResvConf messages 726 to confirm that there are available resources for the session. A 727 means in the INVITE for forcing the callee to ask for COMET from the 728 caller is needed. 730 Camarillo 13 731 Third party call control with SDP preconditions 733 The usage of the direction-tag in COMET indicating success is not 734 clear in [3]. This document uses always "a=qos:success sendrecv". 736 5. Acknowledgements 738 The author would like to thank Jan Holler for his input on this 739 document. 741 6. References 743 [1] M. Handley/H. Schulzrinne/E. Schooler/J. Rosenberg, "SIP: 744 Session Initiation Protocol", RFC 2543, IETF; Mach 1999. 746 [2] J. Rosenberg/J. Peterson/H. Schulzrinne, "Third Party Call 747 Control in SIP", draft-rosenberg-sip-3pcc-00.txt, IETF; March 2000. 748 Work in progress. 750 [3] W. Marshall et al, "Integration of Resource Management and SIP 751 ", draft-manyfolks-sip-resource-01.txt, IETF; June 2000. Work in 752 progress. 754 [4] H. Schulzrinne/J. Rosenberg, "SIP Call Control Services", draft- 755 ietf-mmusic-sip-cc-01.txt, IETF; June 1999. Expired draft. 757 7. Author's Address 759 Gonzalo Camarillo 760 Ericsson 761 Advanced Signalling Research Lab. 762 FIN-02420 Jorvas 763 Finland 764 Phone: +358 9 299 3371 765 Fax: +358 9 299 3052 766 Email: Gonzalo.Camarillo@ericsson.com 768 Camarillo 14