idnits 2.17.00 (12 Aug 2021) /tmp/idnits29102/draft-wu-cpl-schema-02.txt: 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 the list of Shadow Directories. ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** There are 37 instances of too long lines in the document, the longest one being 257 characters in excess of 72. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 77: '...m. All the future CPL extensions MUST...' RFC 2119 keyword, line 106: '... trigger MUST be defined as the subs...' RFC 2119 keyword, line 109: '... Any CPL switch MUST be defined as th...' RFC 2119 keyword, line 111: '... Any CPL action MUST be defiend as th...' RFC 2119 keyword, line 698: '...the new triggers MUST be the substitut...' (2 more instances...) 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 (March 3, 2003) is 7012 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) -- Looks like a reference, but probably isn't: '1-9' on line 390 -- Looks like a reference, but probably isn't: '0-9' on line 378 -- Looks like a reference, but probably isn't: '1-2' on line 390 -- Looks like a reference, but probably isn't: '0-5' on line 336 -- Looks like a reference, but probably isn't: '0-6' on line 336 -- Looks like a reference, but probably isn't: '0-1' on line 325 -- Looks like a reference, but probably isn't: '1-5' on line 347 -- Looks like a reference, but probably isn't: '0-3' on line 378 -- Looks like a reference, but probably isn't: '1-4' on line 378 -- Possible downref: Non-RFC (?) normative reference: ref. '1' -- Possible downref: Non-RFC (?) normative reference: ref. '2' -- Possible downref: Non-RFC (?) normative reference: ref. '3' ** Obsolete normative reference: RFC 2445 (ref. '4') (Obsoleted by RFC 5545) ** Obsolete normative reference: RFC 2141 (ref. '5') (Obsoleted by RFC 8141) ** Downref: Normative reference to an Informational RFC: RFC 2648 (ref. '6') -- Possible downref: Non-RFC (?) normative reference: ref. '7' Summary: 9 errors (**), 0 flaws (~~), 1 warning (==), 15 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force 3 Internet Draft Wu/Schulzrinne/Lennox 4 Columbia University 5 draft-wu-cpl-schema-02.txt 6 March 3, 2003 7 Expires: September 2003 9 An Extensible Markup Language Schema for Call Processing Language (CPL) 11 STATUS OF THIS MEMO 13 This document is an Internet-Draft and is in full conformance with 14 all provisions of Section 10 of RFC2026. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress". 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt 29 To view the list Internet-Draft Shadow Directories, see 30 http://www.ietf.org/shadow.html. 32 Abstract 34 This document provides an Extensible Markup Language (XML) Schema for 35 the Call Processing Language (CPL). The original CPL specification 36 only provides a Document Type Declaration (DTD) to describe the 37 structure of the language. Compared with XML DTDs, XML schemas have 38 many advantages such as performing stricter type checking, providing 39 pre-defined data types and being able to derive new data types from 40 existing ones. We further split the CPL schema into two parts, one 41 contains elements common to all the telecommunication entities, such 42 as user agents or presence agents. The other contains elements, such 43 as 'proxy', specifically for network servers. 45 1 Introduction 47 The Call Processing Language (CPL) [1] is a language that can be used 48 to describe and control Internet telephony services. It is based on 49 the Extensible Markup Language (XML) [2], a common hierarchical 50 format for describing structured data. 52 There are two primary formats used to describe the structure of an 53 XML document. The older one, the Document Type Declaration (DTD) is 54 part of the original XML specification; the newer one, the XML schema 55 [3] was defined later. At the time the CPL specification was written, 56 the XML schema specification had not yet been finalized, so the CPL 57 specification only provides a DTD for the CPL. 59 Compared with XML DTDs, XML schemas have many advantages. XML 60 schemas perform stricter type checking and provide many pre-defined 61 data types. Also, XML schemas allow the derivation of new data types 62 from existing ones, making it easier to use XML schemas for CPL 63 extensions. 65 This document therefore defines an XML schema for the CPL. And we 66 recommend that all future extensions of CPL should use schema 67 definitions only. 69 We notice that the original CPL standard contains elements 70 specifically for network servers, such as the 'proxy' and 'redirect' 71 actions. To make CPL applicable to the other entities, such as user 72 agent or presence agent, we put the elements specifically for network 73 servers in a separate XML schema, and keep the elements common to all 74 the entities in a schema, named base CPL schema. With the 75 separation, it is easier to define CPL extensions for user agents or 76 presence agents, without dealing with the actions user agents or 77 presence agents cannot perform. All the future CPL extensions MUST 78 base on the base CPL schema. 80 2 Overview of the schema 82 Most of the data types defined in the CPL DTD can be easily 83 translated to an XML schema. However, two limitations on XML schema 84 make several data types of CPL difficult to define. The first 85 limitation is that several CPL data types are defined as having 86 case-insensitive values, whereas XML schemas cannot easily define 87 case-insensitive strings, so in the CPL schema, we have to use string 88 patterns to define some tokens. For example, we have to use 89 to define the 90 token 'YEARLY' in a case-insensitive manner. The second limitation of 91 XML schema is that it only allows white space as a list delimiter. 92 However, the time-switch of CPL follows Internet Calendaring and 93 Scheduling Core Object Specification (iCalendar COS), RFC 2445 [4], 94 which uses comma (,) as its list delimiter. So we cannot use 95 to define some data types, such as the ByDayType, which 96 contains a list of days of the week. We have to use string pattern to 97 define the list. In addition, the time format in iCalendar is 98 different from that provided in XML schema, so we have to use 99 to define the time, instead of using type. 101 To make CPL more extensible, in the XML schema of CPL, we introduce 102 three abstract elements, namely 'trigger', 'switch', and 'action', 103 which accordingly have the abstract type 'TriggerType', 'SwitchType', 104 and 'ActionType'. Trigger is mapped to the top-level call processing 105 action, such as 'incoming', in the original CPL standard. Any CPL 106 trigger MUST be defined as the substitutionGroup of the abstract 107 'trigger' element, and have the type extended from the 'TriggerType'. 108 Switch and action are the same as those defined in the original CPL 109 standard. Any CPL switch MUST be defined as the substitutionGroup of 110 the abstract 'switch' element, and have the type extended from the 111 'SwitchType'. Any CPL action MUST be defiend as the 112 substitutionGroup of the abstract 'action' element, and have the type 113 extended from the 'ActionType'. 115 3 The XML schema of the CPL 117 The following are two XML schemas. One is the base CPL schema, the 118 other is the CPL extensions for network servers. We have checked the 119 schema with the examples in the original CPL specification. The 120 namespace URIs for elements defined by this specification are URNs 121 [5], using the namespace identifier 'ietf' defined by [6] and 122 extended by [7]. The URN for the base CPL schema is: 124 urn:ietf:params:xml:ns:cpl 126 The URN for the CPL extensions for network servers is: 128 urn:ietf:params:xml:ns:cpl:nserver 130 The base CPL schema is as below: 132 133 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 205 206 207 209 210 211 212 213 214 215 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 234 235 236 238 239 240 241 242 243 245 246 247 248 249 250 251 252 253 254 256 257 258 260 261 262 263 264 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 426 427 428 429 430 431 432 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 455 456 457 458 459 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 532 The CPL schema for network servers is as below: 534 535 541 543 544 545 546 547 548 550 551 552 553 554 555 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 597 599 600 601 602 604 605 606 607 608 609 610 611 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 631 633 4 IANA considerations 635 4.1 URN Sub-Namespace Registration 637 This section registers two new XML namespaces, as per the guidelines 638 in [7] 640 URI: urn:ietf:params:xml:ns:cpl 642 Registrant Contact: Xiaotao Wu 644 XML: 646 BEGIN 647 648 650 651 652 654 Call Processing Language Namespace 655 656 657

Namespace for Call Processing Language

658

application/cpl+xml

659

See RFCXXXX.

660 661 662 END 664 URI: urn:ietf:params:xml:ns:cpl:nserver 666 Registrant Contact: Xiaotao Wu 668 XML: 670 BEGIN 671 672 674 675 676 678 Call Processing Language Extensions for Network Servers Namespace 679 680 681

Namespace for Call Processing Language Extensions for Network Servers

682

application/cpl+xml

683

See RFCXXXX.

684 685 686 END 688 5 Changes from Earlier Version 690 5.1 Changes from Draft -01 692 o Split the original CPL schema into two parts. One is the base schema 693 with common elements applicable to all the entities, such as user agents 694 or presence agents. The other is the schema specifically for network 695 servers, such as proxy or redirect servers. 696 o Add three abstract elements, namely trigger, switch and action. Trigger 697 is mapped to the top-level call processing action in the original CPL 698 standard. All the new triggers MUST be the substitutionGroup of 699 the abstract trigger element. Switch and action are the same as 700 those defined in the original CPL standard. All the new switches 701 MUST be the substitutionGroup of the abstract switch element. 702 All the new actions MUST be the substitutionGroup of the abstract 703 action element. 705 o Add IANA considerations for URN Sub-Namespace registration. 706 o Remove useless type CommaDelimiterType. 707 o Separate normal and informal references. 709 5.2 Changes from Draft -00 711 o Bug fix, in xs:schema tag, change 'xmlns:tns' to 'xmlns' 712 o Add example CPL scripts with using the schema in this specification 714 6 Authors' Addresses 716 Xiaotao Wu 717 Dept. of Computer Science 718 Columbia University 719 1214 Amsterdam Avenue, MC 0401 720 New York, NY 10027 721 USA 722 electronic mail: xiaotaow@cs.columbia.edu 724 Henning Schulzrinne 725 Dept. of Computer Science 726 Columbia University 727 1214 Amsterdam Avenue, MC 0401 728 New York, NY 10027 729 USA 730 electronic mail: schulzrinne@cs.columbia.edu 732 Jonathan Lennox 733 Dept. of Computer Science 734 Columbia University 735 1214 Amsterdam Avenue, MC 0401 736 New York, NY 10027 737 USA 738 electronic mail: lennox@cs.columbia.edu 740 7 Normative References 742 [1] J. Lennox and H. Schulzrinne, "CPL: a language for user control 743 of Internet telephony services," internet draft, Internet Engineering 744 Task Force, Nov. 2001. Work in progress. 746 [2] T. Bray, J. Paoli, C. M. Sperberg-McQueen, and E. Maler, 747 "Extensible markup language (xml) 1.0 (second edition)," W3C 748 Recommendation, World Wide Web Consortium (W3C), Oct. 2000. 749 http://www.w3.org/TR/2000/REC-xml-20001006. 751 [3] D. C. Fallside, "XML schema part 0: Primer," W3C Recommendation, 752 World Wide Web Consortium (W3C), May 2001. 753 http://www.w3.org/TR/xmlschema-0/. 755 [4] F. Dawson and D. Stenerson, "Internet calendaring and scheduling 756 core object specification (icalendar)," RFC 2445, Internet 757 Engineering Task Force, Nov. 1998. 759 [5] R. Moats, "URN syntax," RFC 2141, Internet Engineering Task 760 Force, May 1997. 762 [6] R. Moats, "A URN namespace for IETF documents," RFC 2648, 763 Internet Engineering Task Force, Aug. 1999. 765 [7] M. Mealling, "The IETF XML registry," internet draft, Internet 766 Engineering Task Force, July 2002. Work in progress. 768 Full Copyright Statement 770 Copyright (c) The Internet Society (2003). All Rights Reserved. 772 This document and translations of it may be copied and furnished to 773 others, and derivative works that comment on or otherwise explain it 774 or assist in its implementation may be prepared, copied, published 775 and distributed, in whole or in part, without restriction of any 776 kind, provided that the above copyright notice and this paragraph are 777 included on all such copies and derivative works. However, this 778 document itself may not be modified in any way, such as by removing 779 the copyright notice or references to the Internet Society or other 780 Internet organizations, except as needed for the purpose of 781 developing Internet standards in which case the procedures for 782 copyrights defined in the Internet Standards process must be 783 followed, or as required to translate it into languages other than 784 English. 786 The limited permissions granted above are perpetual and will not be 787 revoked by the Internet Society or its successors or assigns. 789 This document and the information contained herein is provided on an 790 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 791 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 792 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 793 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 794 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 796 Table of Contents 798 1 Introduction ........................................ 2 799 2 Overview of the schema .............................. 2 800 3 The XML schema of the CPL ........................... 3 801 4 IANA considerations ................................. 14 802 4.1 URN Sub-Namespace Registration ...................... 14 803 5 Changes from Earlier Version ........................ 15 804 5.1 Changes from Draft -01 .............................. 15 805 5.2 Changes from Draft -00 .............................. 16 806 6 Authors' Addresses .................................. 16 807 7 Normative References ................................ 16