1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
331
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
380
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
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
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
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
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
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
|
Network Working Group J. Yu
Request for Comments: 4694 NeuStar
Category: Standards Track October 2006
Number Portability Parameters for the "tel" URI
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document defines five parameters in the "tel" Uniform Resource
Identifier (URI) to carry the number portability (NP)-related
information. Those parameters can be passed to the next-hop network
node after an NP database dip has been performed.
Table of Contents
1. Introduction ....................................................2
2. Conventions .....................................................3
3. Abbreviations ...................................................3
4. Formal Syntax ...................................................3
5. Normative Rules .................................................5
5.1. Handling "tel" URI with NP Parameter or Parameters .........6
5.2. Adding NP Parameter or Parameters to the "tel" URI .........8
5.2.1. Retrieving NP-related Information for a
Geographical Telephone Number .......................8
5.2.2. Retrieving NP-related Information for a
Freephone Number ....................................9
5.2.3. Adding Location Information about the Caller .......10
5.2.4. Adding NP Parameter or Parameters Due to
Protocol Conversion ................................10
6. Examples .......................................................11
7. Security Considerations ........................................13
8. Acknowledgements ...............................................13
9. IANA Considerations ............................................13
Yu Standards Track [Page 1]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
10. References ....................................................14
10.1. Normative References .....................................14
10.2. Informative References ...................................14
1. Introduction
Number portability (NP) [RFC3482] allows telephony subscribers to
keep their telephone numbers when they change service provider
(service provider portability), move to a new location (location
portability), or change the subscribed services (service
portability). The telephone numbers can be the geographical
telephone numbers, mobile telephone numbers, freephone numbers, or
other types of non-geographical telephone numbers. Some mobile
telephone numbers are like geographical telephone numbers (e.g.,
those in North America) and others are of non-geographical nature but
their routing is similar to the routing of geographical telephone
numbers so they are not specifically mentioned in this document. The
freephone numbers are also known as toll-free phone numbers. The
called party who is assigned the freephone number pays the call
charge when the caller dials the freephone number.
NP impacts call signaling and routing. One impact is the need to
carry the NP-related information in the "tel" Uniform Resource
Identifier (URI) [RFC3966] for protocols such as the Session
Initiation Protocol (SIP) [RFC3261] and H.323 [H323] after the NP
database dip has been performed. Another impact is for a Voice over
IP (VoIP) server to use the NP-related information in a received
"tel" URI to determine routing.
A routing number is associated with a geographical or mobile
telephone number that has been ported out from a donor carrier to
another carrier. A donor carrier is the initial carrier where a
geographical telephone number was allocated before ever being ported.
A "non-ported" geographical or mobile telephone number does not have
any routing number associated with it because the first N digits of
the geographical or mobile telephone number can be used for routing.
A routing number can also be used to indicate the switch or network
node that originates a call or service similar to the Jurisdiction
Information Parameter in Signaling System Number 7 (SS7) Integrated
Services Digital Network User Part (ISUP). The "rn" parameter
carries the routing number information. The "rn-context" parameter
describes how the "rn" parameter value should be interpreted when the
value is not a "global-rn" as is discussed in Section 4.
The NP database dip indicator is used to inform the downstream
servers or switches during call setup that there is no need to
perform the NP database dip for a geographical telephone number
again. The "npdi" parameter carries such an indicator.
Yu Standards Track [Page 2]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
A Carrier Identification Code (CIC) identifies the current freephone
service provider for a freephone number. This parameter can also be
used to carry the pre-subscribed or dialed long-distance carrier
information; however, that is outside the scope of this document.
The "cic" parameter carries the CIC information. The "cic-context"
parameter describes how the "cic" parameter value should be
interpreted when the value is not a "global-cic" as is discussed in
Section 4.
2. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. Abbreviations
ABNF Augmented Backus-Naur Form
ANSI American National Standards Institute
CIC Carrier Identification Code (also cic)
CIP Carrier Identification Parameter
FCI Forward Call Indicator
GAP Generic Address Parameter
GSTN Global Switched Telephone Network
HTML HyperText Markup Language
IC Identification Code
ISUP Integrated Services Digital Network User Part
JIP Jurisdiction Information Parameter
NP Number Portability
NPDB Number Portability Database
npdi NP Database Dip Indicator
rn Routing Number
PNTI Ported Number Translation Indicator
SIP Session Initiation Protocol
SS7 Signaling System Number 7
URI Uniform Resource Identifier
VoIP Voice over IP
4. Formal Syntax
The following syntax specification uses the Augmented Backus-Naur
Form (ABNF) as described in RFC 4234 [RFC4234] and defines the five
parameters, rn, npdi, cic, rn-context and cic-context, by extending
the "parameter" production rule of the "tel" URI defined in
[RFC3966].
Yu Standards Track [Page 3]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
parameter =/ rn / cic / npdi
rn = ";rn=" (global-rn / local-rn)
npdi = ";npdi"
cic = ";cic=" (global-cic / local-cic)
global-rn = global-hex-digits
local-rn = 1*hex-phonedigit rn-context
rn-context = ";rn-context=" rn-descriptor
rn-descriptor = domainname / global-hex-digits
global-hex-digits = "+" 1*3(DIGIT) *hex-phonedigit
hex-phonedigit = HEXDIG / visual-separator
visual-separator = "-" / "." / "(" / ")"
domainname = *( domainlabel "." ) toplabel ["."]
domainlabel = alphanum
/ alphanum *( alphanum / "-" ) alphanum
toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum
alphanum = ALPHA / DIGIT
global-cic = global-hex-digits
local-cic = 1*hex-phonedigit cic-context
cic-context = ";cic-context=" rn-descriptor
The "rn", "npdi", or "cic" parameter each can appear in the "tel" URI
at most once.
The first "hex-phonedigit" value in "local-rn" or "local-cic" MUST be
a hex-decimal digit.
For a "global-rn", the routing number information after "+" MUST
begin with a valid E.164 [E164] country code. Hexadecimal digit is
allowed after the country code in the "global-rn".
For a "local-rn", the routing number in the "rn" parameter MUST be
interpreted according to the "rn-context". For example, if a
national routing number is in the "rn" parameter, the "rn-context"
MUST contain a valid E.164 country code after "+" if it is in the
"global-hex-digits" format. Hexadecimal digit is allowed in the
"local-rn".
For a "global-cic", the CIC information after "+" MUST begin with a
valid E.164 country code.
For a "local-cic", the CIC value in the "cic" parameter MUST be
interpreted according to the "cic-context". For example, if the
national CIC value is in the "cic" parameter, the "cic-context" MUST
contain a valid E.164 country code after "+" if it is in the
"global-hex-digits" format.
The inclusion of the visual separator in the "rn" or "cic" is
optional.
Yu Standards Track [Page 4]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
5. Normative Rules
There are two distinct uses for the "tel" URI. In one use, the "tel"
URI appears in a piece of static content. For example, it might
appear in a HyperText Markup Language (HTML) page or a presence
document. In another use, the "tel" URI appears in call signaling
protocols, such as SIP and H.323, where it is used to guide routing
of the call setup messages. The "tel" URI extensions defined in this
document are targeted at call signaling protocols. When a "tel" URI
is placed in static content, the parameters defined here SHOULD NOT
be present, and any entity receiving them SHOULD remove them prior to
using the tel URI.
Within the context of signaling protocols, these parameters are meant
for usage between call signaling entities, called network nodes,
among which there is a trust relationship. Since parameters inserted
by one network node can impact the routing of a request at a
downstream node, processing of these parameters depends on trusting
that the upstream element properly followed the rules defined here.
A call signaling protocol can verify that an upstream element is part
of its circle of trust through hop-by-hop integrity mechanisms. See
Section 7, Security Considerations, for more information. If a
network node receives a call signaling message from an element it
does not trust, it SHOULD ignore the parameters.
This section discusses how a network node handles a received "tel"
URI that contains one or more of the parameters defined in this
document or has accessed an NP database for a freephone number or
geographical telephone number and needs to add some of the parameters
defined in this document to a "tel" URI.
In countries where there is no freephone number portability or
geographical telephone number portability, the call routing can be
based on the leading digits of the freephone number or geographical
telephone number. This document does not describe those scenarios.
Please note that two accesses to the freephone databases are normally
done for routing a call to a freephone number. The first one is done
by the originating network that queries a freephone database for the
CIC information so that the call can be routed to the serving
freephone service provider of the called freephone number. When the
call reaches the serving freephone provider, the second database
access is performed to map the freephone number to a geographical
telephone number and/or internal routing information. This document
does not address the case where internal routing information is
returned.
Yu Standards Track [Page 5]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
The first freephone database contains the CIC information for all the
active freephone numbers, whereas the second one usually contains
mapping information only for those freephone numbers served by a
freephone service provider. Because the originating carrier may
provide freephone service, its freephone database would contain the
CIC information for all the active freephone numbers plus the mapping
information for those freephone numbers it serves. This document
refers to the two database accesses as "the first freephone database
access" and "the second freephone database access".
When handling the "rn" and "cic" parameters and the phone numbers in
the "tel" URI for purposes such as database access and routing, the
visual separators in them are removed before using the information in
them.
When a network node handles a "tel" URI that contains invalid "rn" or
"cic" information, it may release the call or drop the invalid
parameter and access the appropriate NP database or freephone
database to see whether it can retrieve a valid routing number for a
geographical telephone number or valid CIC for the freephone number.
When a "tel" URI is received from an untrusted source, a network node
MAY redo the NPDB query.
SIP [RFC3261] has mechanisms in place to detect routing loops due to
URI re-writing, and the new parameters added here work within these
established contexts. The "npdi" parameter in the URI that indicates
a NPDB query has already been done can also prevent routing loop.
Other protocols considering using these "tel" URI parameters SHOULD
ensure that they have mechanisms in place to detect loops when re-
writing the "tel" URI.
5.1. Handling "tel" URI with NP Parameter or Parameters
If the "tel" URI contains the "npdi" parameter, the network node MUST
NOT retrieve the NP-related information for geographical telephone
numbers even if it is set to do so.
If the "tel" URI contains the "cic" parameter whose CIC value is
different from the one this network node is associated with, this
network node MUST NOT retrieve the NP-related information for the
geographical telephone number or perform the first freephone database
access for the freephone number in the "tel" URI.
For the "cic" and "rn" parameters and either a freephone number or
geographical telephone number, the order of processing is to look for
the "cic" parameter first for call routing. If the CIC information
is not useful or the "cic" parameter does not exist, then the next
Yu Standards Track [Page 6]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
step is to look for the "rn" parameter. If the information in the
"rn" parameter is not useful or the "rn" parameter does not exist,
then the freephone number or geographical telephone number is used.
If the network node does not know how to route based on the "cic" or
"rn" parameter, the local policies MUST decide whether to stop the
call processing or continue the call processing by ignoring the
invalid/unknown information.
When looking for the "cic" parameter and that parameter exists in the
"tel" URI:
- The network node MUST ignore the "cic" parameter if the CIC
identifies a carrier or service provider associated with that node
and look for the "rn" parameter for making the routing decision.
It MUST remove the "cic" parameter when it routes the call to the
next-hop network node that belongs to another carrier or service
provider.
- The network node MUST invoke special handling process if the "cic"
parameter contains a code that requires such a treatment. For
example, a CIC value of "0110" in the response to a freephone DB
query in North America indicates "local, translated geographical
telephone number provided". In this particular example, the "cic"
parameter is ignored. Please note that this particular CIC value
of "+1-0110" normally will not appear in the call setup message.
It is given as an example to show that such special CIC values may
exist. The exact code values and the handling of them are outside
the scope of this document.
- Otherwise, the network node MUST make the routing decision based on
the CIC. The network node MUST NOT remove the "cic" parameter
unless it is handing over the call to the carrier or service
provider identified by the CIC and the local policies require it to
remove the "cic" parameter. How the call is actually routed based
on the CIC value in the "cic" parameter is outside the scope of
this document.
When looking for the "rn" parameter and that parameter exists in the
"tel" URI:
- If the routing number in the "rn" parameter points to this network
node (e.g., the call has reached the intended network node), this
network node MUST look for the freephone number or geographical
telephone number for making the routing decision. It MUST remove
the "rn" parameter when setting up the call to the next-hop network
node regardless if that next-hop network node is in the same or
different network.
Yu Standards Track [Page 7]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
- If the routing number in the "rn" parameter points to a network
this network node is in (e.g., in some countries the routing number
gets the call to the serving carrier network where another NP
database access is required to locate the serving switch), this
network node MUST look for the freephone number or geographical
telephone number for making the routing decision. The network node
MAY access the NP database for routing information if it is set to
do so. It MUST remove the "rn" parameter if the next-hop network
node belongs to another carrier or service provider.
- Otherwise, the network node MUST make the routing decision based on
the routing number in the "rn" parameter. How the call is actually
routed based on the routing number in the "rn" parameter is outside
the scope of this document.
When the "cic" or "rn" parameter is not used for routing, the network
node uses the freephone number or geographical telephone number for
making routing decisions. It may access the NP database if it is set
to do so, or it may route the call to a designated network node that
will access the NP database, or it may route the call based on the
local routing table. How the call is handled at this stage is
outside the scope of this document. See Section 5.2 for rules in
adding the parameter or parameters defined in this document to the
"tel" URI if the network node is set to access the NP database.
5.2. Adding NP Parameter or Parameters to the "tel" URI
There are two cases in terms of NP database access. One is for a
geographical telephone number and the other is for a freephone
number. They are discussed in Sections 5.2.1 and 5.2.2 for a "tel"
URI that is used for routing.
Section 5.2.3 discusses a special case where the "rn" parameter is
added to a "tel" URI that is associated with the first network node
that handles the call request from the caller. Section 5.2.4
discusses the addition of the parameter or parameters defined in this
document to the "tel" URI due to protocol conversion.
5.2.1. Retrieving NP-related Information for a Geographical Telephone
Number
When a network node accesses an NP database for a geographical
telephone number:
- If the network node retrieves a routing number, it MUST add the
"rn" parameter to the "tel" URI to carry the routing number
information in the "global-rn" or "local-rn" format. It MUST also
add the "npdi" parameter.
Yu Standards Track [Page 8]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
- If the network node does not retrieve a routing number (e.g., for a
non-ported geographical telephone number), it MUST add the "npdi"
parameter to the "tel" URI.
The network node MUST follow the rules described in Section 5.1 for
using the information in the "tel" URI to make the routing decision.
5.2.2. Retrieving NP-related Information for a Freephone Number
When a network node performs the first or second freephone database
access for a freephone number:
- If the network node retrieves a CIC that identifies a carrier or
service provider associated with that network node, or indicates
that a geographic number is supplied (e.g., "+1-0110" means "local,
translated geographical telephone number provided"), it would have
retrieved a geographical telephone number. The network node MUST
NOT add the "cic" parameter and MUST replace the freephone number
in the "tel" URI with the retrieved geographical telephone number
in either the "global-number" or "local-number" format.
Some freephone databases may not return the geographical telephone
number but internal routing information in a proprietary format
(e.g., switch ID and trunk group ID). That case is outside the
scope of this document.
- If the network node retrieves a CIC that belongs to another
freephone service provider, the network node MUST add the "cic"
parameter to the "tel" URI that contains the CIC in the "global-
cic" or "local-cic" format.
The originating carrier may have business agreements with a
freephone service provider to return the geographical telephone
number in addition to the CIC. When a geographical telephone
number is returned, the network node MUST replace the freephone
number in the "tel" URI with the returned geographical telephone
number in either the "global-number" or "local-number" format.
- If the network node retrieves a geographical telephone number
(which is the typical case for the second freephone database
access), the network node MUST replace the freephone number in the
"tel" URI with the retrieved geographical telephone number in
either the "global-number" or "local-number" format.
When a geographical telephone number is returned in the response,
it is possible that the NP-related information for that
geographical telephone number could also be returned. In that
case, the network node MUST add the "npdi" parameter and MUST add
Yu Standards Track [Page 9]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
the "rn" parameter to contain the routing number in either the
"global-rn" or "local-rn" format only when the routing number is
available.
The network node MUST follow the rules described in Section 5.1 for
using the information in the "tel" URI to make the routing decision.
5.2.3. Adding Location Information about the Caller
In SS7 ISUP, the JIP identifies the switch that originates the call,
and the information in it may be used by the serving carrier to
determine the call charge to the caller or by the involved carriers
to determine the settlement amount between them.
A network node that is the first to handle the call request from the
caller MAY include the "rn" parameter to the "tel" URI associated
with the caller, if one exists. For example, if the network node is
a Global Switched Telephone Network (GSTN) gateway that receives an
ISUP message that contains the JIP, the correct location information
in the JIP can be placed in the "rn" parameter of the "tel" URI that
is associated with the caller.
Please note that the information in the "rn" parameter may not be
authenticated; therefore, the use of the information by the recipient
of the "tel" URI for anything related to charging is done at its own
risk.
5.2.4. Adding NP Parameter or Parameters Due to Protocol Conversion
A GSTN gateway needs to convert between SS7 ISUP and the VoIP
protocol such as SIP or H.323. This type of network node MUST map
between the corresponding ISUP parameters and the parameters defined
in this document associated with the "tel" URI for routing and MAY
map between the corresponding ISUP parameters and the parameters
defined in this document that are in the "tel" URI associated with
the caller.
Since ISUP support for NP depends on the individual country, the
following discussion applies to a situation when a network node is to
map between the NP information in the American National Standards
Institute (ANSI) ISUP and the NP-related parameters in the "tel" URI.
For a ported geographical telephone number, the network node MUST
convert the routing number in the ISUP Called Party Number parameter
to a routing number in either the "global-rn" or "local-rn" format
and carry it in the "rn" parameter for a "tel" URI that is used for
routing. The network node MUST convert the phone number that is
marked as the "ported number" in the ISUP Generic Address Parameter
Yu Standards Track [Page 10]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
(GAP) to a phone number in either the "global-number" or "local-
number" format [RFC3966] and put it in the global-number-digits or
local-number-digits (see [RFC3966]) part of the "tel" URI that is
used for routing.
For a non-ported geographical telephone number, the network node MUST
convert the phone number in the ISUP Called Party Number parameter to
a phone number in either the "global-number" or "local-number" format
and put it in the global-number-digits or local-number-digits (see
[RFC3966]) part of the "tel" URI that is used for routing. The "rn"
parameter MUST NOT appear in the "tel" URI unless the local policies
require the network node to include it. It is outside the scope of
this document how to include the "rn" parameter if the local policies
require the network node to do so.
The network node MUST include the "npdi" parameter in the "tel" URI
that is used for routing when the Ported Number Translation Indicator
(PNTI) bit in the Forward Call Indicator (FCI) parameter is set to
"1".
The network node MUST include the "cic" parameter in either the
"global-cic" or "local-cic" format in the "tel" URI that is used for
routing when the ISUP Carrier Identification Parameter (CIP) is
present.
The network node MAY include the "rn" parameter in the "tel" URI
associated with the caller information when the ISUP JIP is present.
This may be subject to the network node's local policy and/or the
signaling protocol that carries the "tel" URI.
Mapping NP-related parameters in a "tel" URI to the NP-related
information in the ISUP message depends on the national ISUP
implementation and is outside the scope of this document.
6. Examples
A. A "tel" URI, tel:+1-800-123-4567, contains a freephone number
"+1-800-123-4567". Assume that this freephone number is served by
a freephone service provider with a CIC "+1-6789". After
retrieving the NP-related information, the "tel" URI would be set
to
tel:+1-800-123-4567;cic=+1-6789
Yu Standards Track [Page 11]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
B. A "tel" URI, tel:+1-800-123-4567;cic=+1-6789, is handled by a
network node in the serving freephone service provider's network.
Assume that the freephone number is mapped to a geographical
telephone number "+1-202-533-1234". After retrieving the NP-
related information, the "tel" URI would be set to
tel:+1-202-533-1234
C. A "tel" URI, tel:+1-202-533-1234, contains a geographical
telephone number "+1-202-533-1234". Assume that this geographical
telephone number is ported and is associated with a routing number
"1-202-544-0000". After retrieving the NP-related information,
the "tel" URI would be set to
tel:+1-202-533-1234;npdi;rn=+1-202-544-0000
D. A "tel" URI, tel:+1-202-533-6789, contains a geographical
telephone number "+1-202-533-6789". Assume that this geographical
telephone number is not ported. After accessing the NP database,
the "tel" URI would be set to
tel:+1-202-533-6789;npdi
E. A "tel" URI, tel:+1-202-533-1234;npdi;rn=+1-202-000-0000, contains
an invalid routing number (e.g., no routing information on "+1-
202-000-0000"); the network node may drop the "rn" parameter and
access the NP database again.
F. A "tel" URI, tel:+1-800-123-456, contains a freephone number
"+1-800-123-456" that is one digit short. When accessing the
freephone database, there will not be any "cic" information for
this freephone number. The call would be released.
G. A "tel" URI, tel:+1-800-123-4567;cic=+1-56789, is handled by a
network node in an originating or a transit network. The "cic"
information is invalid. The network node may drop the "cic"
parameter and access the freephone database again. If the same
wrong CIC information is received, the network node would release
the call because it does not know how to route the call with an
invalid CIC. If valid information is received, the network node
will use the received CIC in the "cic" and route the call based on
the "cic".
Yu Standards Track [Page 12]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
7. Security Considerations
In addition to those security implications discussed in the revised
"tel" URI [RFC3966], there are new security implications associated
with the parameters defined in this document.
If the value of the "rn" or "cic" in the "tel" URI is changed
illegally when the signaling message carrying the "tel" URI is en
route to the destination entity, the signaling message or call may be
routed to the wrong network or network node causing the call setup to
be rejected.
If the "npdi" is illegally inserted into the "tel" URI when the
signaling message carrying the "tel" URI is en route to the
destination entity, the call may be routed to the wrong network or
network node causing the call setup to be rejected. It is less a
problem if the "npdi" is illegally removed. An additional NPDB query
may be performed to retrieve the routing number information and have
the "npdi" included again.
If the "rn" in the "tel" URI that is associated with the caller is
illegally changed or inserted, the call charge based on that "rn"
would be incorrect.
Because of these considerations, these "tel" URI extensions are only
applicable within a set of network nodes among which there is mutual
trust. If a node receives a call signaling request from an upstream
node that it does not trust, it SHOULD remove these parameters. This
will generally cause it to redo any DB queries.
To verify that an upstream neighbor is trusted, and to prevent man-
in-the-middle attacks whereby an attacker inserts or modifies these
parameters, call signaling protocols carrying these parameters SHOULD
provide hop-by-hop message integrity. In the case of SIP, this is
accomplished with the Session Initiation Protocol Secure (SIPS) URI
mechanism.
8. Acknowledgements
The author would like to thank Penn Pfautz, Jon Peterson, Jonathan
Rosenberg, Henning Schulzrinne, Antti Vaha-Sipila, Flemming
Andreasen, and Mike Hammer for their discussions and comments.
9. IANA Considerations
This document defines five parameters for the "tel" URI. Further
information on a registry for those parameters is covered in
[TELREG]. This document requires no IANA actions.
Yu Standards Track [Page 13]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
10. References
10.1. Normative References
[E164] ITU-T Recommendation E.164, "The international public
telecommunication numbering plan," May 1997.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC
3966, December 2004.
[RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
10.2. Informative References
[H323] ITU-T Recommendation H.323, "Packet-Based Multimedia
Communications Systems," November 2000.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. Schooler,
"SIP: Session Initiation Protocol", RFC 3261, June 2002.
[RFC3482] Foster, M., McGarry, T., and J. Yu, "Number Portability in
the Global Switched Telephone Network (GSTN): An Overview",
RFC 3482, February 2003.
[TELREG] Jennings, C. and V. Gurbani, "The Internet Assigned Numbers
Authority (IANA) tel Uniform Resource Identifier (URI)
Parameter Registry", Work in Progress, May 2006.
Author's Address
James Yu
NeuStar, Inc.
46000 Center Oak Plaza
Sterling, VA 20166
U.S.A.
Phone: +1-571-434-5572
EMail: james.yu@neustar.biz
Yu Standards Track [Page 14]
^L
RFC 4694 NP Parameters for the "tel" URI October 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Yu Standards Track [Page 15]
^L
|