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