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 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397
|
<pre>Network Working Group J. Rosenberg
Request for Comments: 2871 dynamicsoft
Category: Informational H. Schulzrinne
Columbia University
June 2000
<span class="h1">A Framework for Telephony Routing over IP</span>
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
This document serves as a framework for Telephony Routing over IP
(TRIP), which supports the discovery and exchange of IP telephony
gateway routing tables between providers. The document defines the
problem of telephony routing exchange, and motivates the need for the
protocol. It presents an architectural framework for TRIP, defines
terminology, specifies the various protocol elements and their
functions, overviews the services provided by the protocol, and
discusses how it fits into the broader context of Internet telephony.
Table of Contents
<a href="#section-1">1</a> Introduction ........................................ <a href="#page-2">2</a>
<a href="#section-2">2</a> Terminology ......................................... <a href="#page-2">2</a>
<a href="#section-3">3</a> Motivation and Problem Definition ................... <a href="#page-4">4</a>
<a href="#section-4">4</a> Related Problems .................................... <a href="#page-6">6</a>
<a href="#section-5">5</a> Relationship with BGP ............................... <a href="#page-7">7</a>
<a href="#section-6">6</a> Example Applications of TRIP ........................ <a href="#page-8">8</a>
<a href="#section-6.1">6.1</a> Clearinghouses ...................................... <a href="#page-8">8</a>
<a href="#section-6.2">6.2</a> Confederations ...................................... <a href="#page-9">9</a>
<a href="#section-6.3">6.3</a> Gateway Wholesalers ................................. <a href="#page-9">9</a>
<a href="#section-7">7</a> Architecture ........................................ <a href="#page-11">11</a>
<a href="#section-8">8</a> Elements ............................................ <a href="#page-12">12</a>
<a href="#section-8.1">8.1</a> IT Administrative Domain ............................ <a href="#page-12">12</a>
<a href="#section-8.2">8.2</a> Gateway ............................................. <a href="#page-13">13</a>
<a href="#section-8.3">8.3</a> End Users ........................................... <a href="#page-14">14</a>
<a href="#section-8.4">8.4</a> Location Server ..................................... <a href="#page-14">14</a>
<a href="#section-9">9</a> Element Interactions ................................ <a href="#page-16">16</a>
<span class="grey">Rosenberg & Schulzrinne Informational [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
<a href="#section-9.1">9.1</a> Gateways and Location Servers ....................... <a href="#page-16">16</a>
<a href="#section-9.2">9.2</a> Location Server to Location Server .................. <a href="#page-16">16</a>
<a href="#section-9.2.1">9.2.1</a> Nature of Exchanged Information ..................... <a href="#page-17">17</a>
<a href="#section-9.2.2">9.2.2</a> Quality of Service .................................. <a href="#page-18">18</a>
<a href="#section-9.2.3">9.2.3</a> Cost Information .................................... <a href="#page-19">19</a>
<a href="#section-10">10</a> The Front End ....................................... <a href="#page-19">19</a>
<a href="#section-10.1">10.1</a> Front End Customers ................................. <a href="#page-19">19</a>
<a href="#section-10.2">10.2</a> Front End Protocols ................................. <a href="#page-20">20</a>
<a href="#section-11">11</a> Number Translations ................................. <a href="#page-21">21</a>
<a href="#section-12">12</a> Security Considerations ............................. <a href="#page-22">22</a>
<a href="#section-13">13</a> Acknowledgments ..................................... <a href="#page-23">23</a>
<a href="#section-14">14</a> Bibliography ........................................ <a href="#page-23">23</a>
<a href="#section-15">15</a> Authors' Addresses .................................. <a href="#page-24">24</a>
<a href="#section-16">16</a> Full Copyright Statement ............................ <a href="#page-25">25</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a> Introduction</span>
This document serves as a framework for Telephony Routing over IP
(TRIP), which supports the discovery and exchange of IP telephony
gateway routing tables between providers. The document defines the
problem of telephony routing exchange, and motivates the need for the
protocol. It presents an architectural framework for TRIP, defines
terminology, specifies the various protocol elements and their
functions, overviews the services provided by the protocol, and
discusses how it fits into the broader context of Internet telephony.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a> Terminology</span>
We define the following terms. Note that there are other definitions
for these terms, outside of the context of gateway location. Our
definitions aren't general, but refer to the specific meaning here:
Gateway: A device with some sort of circuit switched network
connectivity and IP connectivity, capable of initiating and
terminating IP telephony signaling protocols, and capable of
initiating and terminating telephone network signaling
protocols.
End User: The end user is usually (but not necessarily) a human
being, and is the party who is the ultimate initiator or
recipient of calls.
Calling Device: The calling device is a physical entity which has
IP connectivity. It is under the direction of an end user who
wishes to place a call. The end user may or may not be directly
controlling the calling device. If the calling device is a PC,
<span class="grey">Rosenberg & Schulzrinne Informational [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
the end user is directly controlling it. If, however, the
calling device is a telephony gateway, the end user may be
accessing it through a telephone.
Gatekeeper: The H.323 gatekeeper element, defined in [<a href="#ref-1" title=""Visual telephone systems and equipment for local area networks which provide a non- guaranteed quality of service,"">1</a>].
SIP Server: The Session Initiation Protocol proxy or redirect
server defined in [<a href="#ref-2" title=""SIP: Session Initiation Protocol"">2</a>].
Call Agent: The MGCP call agent, defined in [<a href="#ref-3" title=""Media Gateway Control Protocol (MGCP) Version 1.0"">3</a>].
GSTN: The Global Switched Telephone Network, which is the worldwide
circuit switched network.
Signaling Server: A signaling server is an entity which is capable
of receiving and sending signaling messages for some IP
telephony signaling protocol, such as H.323 or SIP. Generally
speaking, a signaling server is a gatekeeper, SIP server, or
call agent.
Location Server (LS): A logical entity with IP connectivity which
has knowledge of gateways that can be used to terminate calls
towards the GSTN. The LS is the main entity that participates in
Telephony Routing over IP. The LS is generally a point of
contact for end users for completing calls to the telephony
network. An LS may also be responsible for propagation of
gateway information to other LS's. An LS may be coresident with
an H.323 gatekeeper or SIP server, but this is not required.
Internet Telephony Administrative Domain (ITAD): The set of
resources (gateways and Location Servers) under the control of a
single administrative authority. End users are customers of an
ITAD.
Provider: The administrator of an ITAD.
Location Server Policy: The set of rules which dictate how a
location server processes information it sends and receives via
TRIP. This includes rules for aggregating, propagating,
generating, and accepting information.
End User Policy: Preferences that an end user has about how a call
towards the GSTN should be routed.
Peers: Two LS's are peers when they have a persistent association
between them over which gateway information is exchanged.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
Internal peers: Peers that both reside within the same ITAD.
External peers: Peers that reside within different ITADs.
Originating Location Server: A Location Server which first
generates a route to a gateway in its ITAD.
Telephony Routing Information Base (TRIB): The database of gateways
an LS builds up as a result of participation in TRIP.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a> Motivation and Problem Definition</span>
As IP telephony gateways grow in terms of numbers and usage, managing
their operation will become increasingly complex. One of the
difficult tasks is that of gateway location, also known as gateway
selection, path selection, gateway discovery, and gateway routing.
The problem occurs when a calling device (such as a telephony gateway
or a PC with IP telephony software) on an IP network needs to
complete a call to a phone number that represents a terminal on a
circuit switched telephone network. Since the intended target of the
call resides in a circuit switched network, and the caller is
initiating the call from an IP host, a telephony gateway must be
used. The gateway functions as a conversion point for media and
signaling, converting between the protocols used on the IP network,
and those used in the circuit switched network.
The gateway is, in essence, a relaying point for an application layer
signaling protocol. There may be many gateways which could possibly
complete the call from the calling device on the IP network to the
called party on the circuit switched network. Choosing such a gateway
is a non-trivial process. It is complicated because of the following
issues:
Number of Candidate Gateways: It is anticipated that as IP
telephony becomes widely deployed, the number of telephony
gateways connecting the Internet to the GSTN will become large.
Attachment to the GSTN means that the gateway will have
connectivity to the nearly one billion terminals reachable on
this network. This means that every gateway could theoretically
complete a call to any terminal on the GSTN. As such, the
number of candidate gateways for completing a call may be very
large.
Business Relationships: In reality, the owner of a gateway is
unlikely to make the gateway available to any user who wishes to
connect to it. The gateway provides a useful service, and incurs
cost when completing calls towards the circuit switched network.
As a result, providers of gateways will, in many cases, wish to
<span class="grey">Rosenberg & Schulzrinne Informational [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
charge for use of these gateways. This may restrict usage of the
gateway to those users who have, in some fashion, an established
relationship with the gateway provider.
Provider Policy: In all likelihood, an end user who wishes to make
use of a gateway service will not compensate the gateway
provider directly. The end user may have a relationship with an
IP telephony service provider which acts as an intermediary to
providers of gateways. The IP telephony service provider may
have gateways of its own as well. In this case, the IP telephony
service provider may have policies regarding the usage of
various gateways from other providers by its customers. These
policies must figure into the selection process.
End User Policy: In some cases, the end user may have specific
requirements regarding the gateway selection. The end user may
need a specific feature, or have a preference for a certain
provider. These need to be taken into account as well.
Capacity: All gateways are not created equal. Some are large,
capable of supporting hundreds or even thousands of simultaneous
calls. Others, such as residential gateways, may only support
one or two calls. The process for selecting gateways should
allow gateway capacity to play a role. It is particularly
desirable to support some form of load balancing across gateways
based on their capacities.
Protocol and Feature Compatibilities: The calling party may be
using a specific signaling or media protocol that is not
supported by all gateways.
From these issues, it becomes evident that the selection of a gateway
is driven in large part by the policies of various parties, and by
the relationships established between these parties. As such, there
cannot be a global "directory of gateways" in which users look up
phone numbers. Rather, information on availability of gateways must
be exchanged by providers, and subject to policy, made available
locally and then propagated to other providers. This would allow each
provider to build up its own local database of available gateways -
such a database being very different for each provider depending on
policy.
From this, we can conclude that a protocol is needed between
administrative domains for exchange of gateway routing information.
The protocol that provides these functions is Telephony Routing over
IP (TRIP). TRIP provides a specific set of functions:
<span class="grey">Rosenberg & Schulzrinne Informational [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
o Establishment and maintenance of peering relationships between
providers;
o Exchange and synchronization of telephony gateway routing
information between providers;
o Prevention of stable routing loops for IP telephony signaling
protocols;
o Propagation of learned gateway routing information to other
providers in a timely and scalable fashion;
o Definition of the syntax and semantics of the data which
describe telephony gateway routes.
TRIP can be generally summarized as an inter-domain IP telephony
gateway routing protocol.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a> Related Problems</span>
At a high level, the problem TRIP solves appears to be a mapping
problem: given an input telephone number, determine, based on some
criteria, the address of a telephony gateway. For this reason, the
gateway location problem is often called a "phone number to IP
address translation problem". This is an over-simplification,
however. There are at least three separate problems, all of which can
be classified as a "phone number to IP address translation problem",
and only one of which is addressed by TRIP:
o Given a phone number that corresponds to a terminal on a
circuit switched network, determine the IP address of a
gateway capable of completing a call to that phone number.
o Given a phone number that corresponds to a specific host on
the Internet (this host may have a phone number in order to
facilitate calls to it from the circuit switched network),
determine the IP address of this host.
o Given a phone number that corresponds to a user of a terminal
on a circuit switched network, determine the IP address of an
IP terminal which is owned by the same user.
The last of these three mapping functions is useful for services
where the PC serves as an interface for the phone. One such service
is the delivery of an instant message to a PC when the user's phone
rings. To deliver this service, a switch in the GSTN is routing a
call towards a phone number. It wishes to send an Instant Message to
the PC for this user. This switch must somehow have access to the IP
<span class="grey">Rosenberg & Schulzrinne Informational [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
network, in order to determine the IP address of the PC corresponding
to the user with the given phone number. The mapping function is a
name to address translation problem, where the name happens to be
represented by a string of digits. Such a translation function is
best supported by directory protocols. This problem is not addressed
by TRIP.
The second of these mappings is needed to facilitate calls from
traditional phones to IP terminals. When a user on the GSTN wishes to
call a user with a terminal on the IP network, they need to dial a
number identifying that terminal. This number could be an IP address.
However, IP addresses are often ephemeral, assigned on demand by DHCP
[<a href="#ref-4" title=""Dynamic Host Configuration Protocol"">4</a>] or by dialup network access servers using PPP [<a href="#ref-5" title=""The Point-to-Point Protocol (PPP),"">5</a>]. The number
could be a hostname, obtained through some translation of groups of
numbers to letters. However, this is cumbersome. It has been proposed
instead to assign phone numbers to IP telephony terminals. A caller
on the GSTN would then dial this number as they would any other. This
number serves as an alternate name for the IP terminal, in much the
same way its hostname serves as a name. A switch in the GSTN must
then access the IP network, and obtain the mapping from this number
to an IP address for the PC. Like the previous case, this problem is
a name to address translation problem, and is best handled by a
directory protocol. It is not addressed by TRIP.
The first mapping function, however, is fundamentally an address to
route translation problem. It is this problem which is considered by
TRIP. As discussed in <a href="#section-3">Section 3</a>, this mapping depends on local
factors such as policies and provider relationships. As a result, the
database of available gateways is substantially different for each
provider, and needs to be built up through specific inter-provider
relationships. It is for this reason that a directory protocol is not
appropriate for TRIP, whereas it is appropriate for the others.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a> Relationship with BGP</span>
TRIP can be classified as a close cousin of inter-domain IP routing
protocols, such as BGP [<a href="#ref-6" title=""A Border Gateway Protocol 4 (BGP-4)"">6</a>]. However, there are important differences
between BGP and TRIP:
o TRIP runs at the application layer, not the network layer,
where BGP resides.
o TRIP runs between servers which may be separated by many
intermediate networks and IP service providers. BGP runs
between routers that are usually adjacent.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
o The information exchanged between TRIP peers describes routes
to application layer devices, not IP routers, as is done with
BGP.
o TRIP assumes the existence of an underlying IP transport
network. This means that servers which exchange TRIP routing
information need not act as forwarders of signaling messages
that are routed based on this information. This is not true in
BGP, where the peers must also act as forwarding points (or
name an adjacent forwarding hop) for IP packets.
o The purpose of TRIP is not to establish global connectivity
across all ITADs. It is perfectly reasonable for there to be
many small islands of TRIP connectivity. Each island
represents a closed set of administrative relationships.
Furthermore, each island can still have complete connectivity
to the entire GSTN. This is in sharp contrast to BGP, where
the goal is complete connectivity across the Internet. If a
set of AS's are isolated from some other set because of a BGP
disconnect, no IP network connectivity exists between them.
o Gateway routes are far more complex than IP routes (since they
reside at the application, not the network layer), with many
more parameters which may describe them.
o BGP exchanges prefixes which represent a portion of the IP
name space. TRIP exchanges phone number ranges, representing a
portion of the GSTN numbering space. The organization and
hierarchies in these two namespaces are different.
These differences means that TRIP borrows many of the concepts from
BGP, but that it is still a different protocol with its own specific
set of functions.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a> Example Applications of TRIP</span>
TRIP is a general purpose tool for exchanging IP telephony routes
between providers. TRIP does not, in any way, dictate the structure
or nature of the relationships between those providers. As a result,
TRIP has applications for a number of common cases for IP telephony.
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a> Clearinghouses</span>
A clearinghouse is a provider that serves as an exchange point
between a number of other providers, called the members of the
clearinghouse. Each member signs on with the clearinghouse. As part
of the agreement, the member makes their gateways available to the
other members of the clearinghouse. In exchange, the members have
<span class="grey">Rosenberg & Schulzrinne Informational [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
access to the gateways owned by the other members of the
clearinghouse. When a gateway belonging to one member makes a call,
the clearinghouse plays a key role in determining which member
terminates the call.
TRIP can be applied here as the tool for exchanging routes between
the members and the clearinghouse. This is shown in Figure 1.
There are 6 member companies, M1 through M6. Each uses TRIP to send
and receive gateway routes with the clearinghouse provider.
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a> Confederations</span>
We refer to a confederation as a group of providers which all agree
to share gateways with each other in a full mesh, without using a
central clearinghouse. Such a configuration is shown in Figure 2.
TRIP would run between each pair of providers.
<span class="h3"><a class="selflink" id="section-6.3" href="#section-6.3">6.3</a> Gateway Wholesalers</span>
------ ------
| | | |
| M1 | TRIP TRIP | M2 |
| |\ | | /| |
------ \ | | / ------
\ \ / -------------- \ / /
------ \----| |----/ ------
| | | | | |
| M3 |--------| Clearinghouse|--------| M4 |
| | | | | |
------ /----| |----\ ------
/ -------------- \
------ / \ ------
| |/ \| |
| M5 | | M6 |
| | | |
------ ------
Figure 1: TRIP in the Clearinghouse Application
<span class="grey">Rosenberg & Schulzrinne Informational [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
------ ------
| |------| |
| M1 | | M2 |
| |\ /| |
------ \ / ------
| \/ |
| /\ |<-----TRIP
------ / \ ------
| |/ \| |
| M3 | | M4 |
| |------| |
------ ------
Figure 2: TRIP for Confederations
In this application, there are a number of large providers of
telephony gateways. Each of these resells its gateway services to
medium sized providers. These, in turn, resell to local providers who
sell directly to consumers. This is effectively a pyramidal
relationship, as shown in Figure 3.
------
| |
| M1 |
| |
------
/ \ <------- TRIP
------ ------
| | | |
| M2 | | M3 |
| | | |
------ ------
/ \ / \
------ ------ ------
| | | | | |
| M4 | | M5 | | M6 |
| | | | | |
------ ------ ------
Figure 3: TRIP for Wholesalers
Note that in this example, provider M5 resells gateways from both M2
and M3.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a> Architecture</span>
Figure 4 gives the overall architecture of TRIP.
ITAD1 ITAD2
----------------- ------------------
| | | |
| ---- | | ---- |
| | GW | | | | EU | |
| ---- \ ---- | | ---- / ---- |
| | LS | ---------------- | LS | |
| ---- ---- | / ---- \ ---- |
| | GW | / | /| | EU | |
| ---- | / | ---- |
| | / | |
------------------ / ------------------
/
/
--------- /----------
| | |
| ---- |
| | LS | |
| / ---- \ |
| ---- || ---- |
| | GW | || | EU | |
| ---- || ---- |
| ---- || ---- |
| | GW | / \ | EU | |
| ---- ---- |
| |
---------------------
ITAD3
Figure 4: TRIP Architecture
There are a number of Internet Telephony administrative domains
(ITAD's), each of which has at least one Location Server (LS). The
LS's, through an out-of-band means, called the intra-domain protocol,
learn about the gateways in their domain. The intra-domain protocol
is represented by the lines between the GW and LS elements in ITAD1
in the Figure. The LS's have associations with other LS's, over which
they exchange gateway information. These associations are established
administratively, and are set up when the IT administrative domains
have some kind of agreements in place regarding exchange of gateway
information. In the figure, the LS in ITAD1 is connected to the LS in
ITAD2, which is in turn connected to the LS in ITAD3. Through
Telephony Routing over IP (TRIP), the LS in ITAD2 learns about the
two gateways in ITAD1. This information is accessed by end users
<span class="grey">Rosenberg & Schulzrinne Informational [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
(EUs) in ITAD2 through the front-end. The front-end is a non-TRIP
protocol or mechanism by which the LS databases are accessed. In
ITAD3, there are both EUs and gateways. The LS in ITAD3 learns about
the gateways in ITAD1 through a potentially aggregated advertisement
from the LS in ITAD2.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a> Elements</span>
The architecture in Figure 4 consists of a number of elements. These
include the IT administrative domain, end user, gateway, and location
server.
<span class="h3"><a class="selflink" id="section-8.1" href="#section-8.1">8.1</a> IT Administrative Domain</span>
An IT administrative domain consists of zero or more gateways, at
least one Location Server, and zero or more end users. The gateways
and LS's are those which are under the administrative control of a
single authority. This means that there is one authority responsible
for dictating the policies and configuration of the gateways and
LS's.
An IT administrative domain need not be the same as an autonomous
system. While an AS represents a set of physically connected
networks, an IT administrative domain may consist of elements on
disparate networks, and even within disparate autonomous systems.
The end users within an IT administrative domain are effectively the
customers of that IT administrative domain. They are interested in
completing calls towards the telephone network, and thus need access
to gateways. An end user may be a customer of one IT administrative
domain for one call, and then a customer of a different one for the
next call.
An IT administrative domain need not have any gateways. In this case,
its LS learns about gateways in other domains, and makes these
available to the end users within its domain. In this case, the IT
administrative domain is effectively a virtual IP telephony gateway
provider. This is because it provides gateway service, but may not
actually own or administer any gateways.
An IT administrative domain need not have any end users. In this
case, it provides "wholesale" gateway service, making its gateways
available to customers in other IT administrative domains.
An IT administrative domain need not have gateways nor end users. In
this case, the ITAD only has LS's. The ITAD acts as a reseller,
learning about other gateways, and then aggregating and propagating
this information to other ITAD's which do have customers.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
<span class="h3"><a class="selflink" id="section-8.2" href="#section-8.2">8.2</a> Gateway</span>
A gateway is a logical device which has both IP connectivity and
connectivity to some other network, usually a public or private
telephone network. The function of the gateway is to translate the
media and signaling protocols from one network technology to the
other, achieving a transparent connection for the users of the
system.
A gateway has a number of attributes which characterize the service
it provides. Most fundamental among these are the range of phone
numbers to which it is willing to provide service. This range may be
broken into subranges, and associated with each, some cost metric or
cost token. This token indicates some notion of cost or preference
for completing calls for this part of the telephone number range.
A gateway has attributes which characterize the volume of service
which it can provide. These include the number of ports it has (i.e.,
the number of simultaneous phone calls it can support), and the
access link speed. These two together represent some notion of the
capacity of the gateway. The metric is useful for allowing Location
Servers to decide to route calls to gateways in proportion to the
value of the metric, thus achieving a simple form of load balancing.
A gateway also has attributes which characterize the type of service
it provides. This includes, but is not limited to, signaling
protocols supported, telephony features provided, speech codecs
understood, and encryption algorithms which are implemented. These
attributes may be important in selecting a gateway. In the absence of
baseline required features across all gateways (an admirable, but
difficult goal), such a set of attributes is required in order to
select a gateway with which communications can be established. End
users which have specific requirements for the call (such as a user
requesting a business class call, in which case certain call features
may need to be supported) may wish to make use of such information as
well.
Some of these attributes are transported in TRIP to describe
gateways, and others are not. This depends on whether the metric can
be reasonably aggregated, and whether it is something which must be
conveyed in TRIP before the call is set up (as opposed to negotiated
or exchanged by the signaling protocols themselves). The philosophy
of TRIP is to keep it simple, and to favor scalability above
abundance of information. TRIP's attribute set is readily extensible.
Flags provide information that allow unknown attributes to be
reasonably processed by an LS.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
<span class="h3"><a class="selflink" id="section-8.3" href="#section-8.3">8.3</a> End Users</span>
An end user is an entity (usually a human being) which wishes to
complete a call through a gateway from an IP network to a terminal on
a telephone network. An end user may be a user logged on at a PC with
some Internet telephony software. The end user may also be connected
to the IP network through an ingress telephone gateway, which the
user accessed from telephone handset. This is the case for what is
referred to as "phone to phone" service with the IP network used for
interexchange transport.
End users may, or may not be aware that there is a telephony routing
service running when they complete a call towards the telephone
network. In cases where they are aware, end users may have
preferences for how a call is completed. These preferences might
include call features which must be supported, quality metrics, owner
or administrator, and cost preferences.
TRIP does not dictate how these preferences are combined with those
of the provider to yield the final gateway selection. Nor does TRIP
support the transport of these preferences to the LS. This transport
can be accomplished using the front end, or by some non-protocol
means.
<span class="h3"><a class="selflink" id="section-8.4" href="#section-8.4">8.4</a> Location Server</span>
The Location Server (LS) is the main functional entity of TRIP. It
is a logical device which has access to a database of gateways,
called the Telephony Routing Information Base (TRIB). This database
of gateways is constructed by combining the set of locally available
gateways and the set of remote gateways (learned through TRIP) based
on policy. The LS also exports a set of gateways to its peer LS's in
other ITAD's. The set of exported gateways is constructed from the set
of local gateways and the set of remote gateways (learned through
TRIP) based on policy. As such, policy plays a central role in the LS
operation. This flow of information is shown in Figure 5.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
|
|Intra-domain protocol
\ /
Local
Gateways
TRIP--> Gateways POLICY Gateways -->TRIP
IN Out
|
\ /
Telephony Routing
Information Base
Figure 5: Flow of Information in TRIP
The TRIB built up in the LS allows it to make decisions about IP
telephony call routing. When a signaling message arrives at a
signaling server, destined for a telephone network address, the LS's
database can provide information which is useful for determining a
gateway or an additional signaling server to forward the signaling
message to. For this reason, an LS may be coresident with a signaling
server. When they are not coresident, some means of communication
between the LS and the signaling server is needed. This communication
is not specifically addressed by TRIP, although it is possible that
TRIP might meet the needs of such a protocol.
An ITAD must have at least one LS in order to participate in TRIP.
An ITAD may have more than one LS, for purposes of load balancing,
ease of management, or any other reason. In that case, communications
between these LS's may need to take place in order to synchronize
databases and share information learned from external peers. This is
often referred to as the interior component of an inter-domain
protocol. TRIP includes such a function.
Figure 5 shows an LS learning about gateways within the ITAD by means
of an intra-domain protocol. There need not be an intra-domain
protocol. An LS may operate without knowledge of any locally run
gateways. Or, it may know of locally run gateways, but through static
configuration. An LS may also be co-resident with a gateway, in which
case it would know about the gateway that it is co-resident with.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a> Element Interactions</span>
<span class="h3"><a class="selflink" id="section-9.1" href="#section-9.1">9.1</a> Gateways and Location Servers</span>
Gateways must somehow propagate information about their
characteristics to an LS within the same ITAD. This LS may, in turn,
further propagate this information outside of the ITAD by means of
TRIP. This LS is called an originating LS for that gateway. When an
LS nis not coresident with the gateway, the means by which the
information gets propagated is not within the scope of TRIP. The
protocol used to accomplish this is generally called an intra-domain
protocol.
One way in which the information can be propagated is with the
Service Location Protocol (SLP) [<a href="#ref-7" title=""Service Location Protocol"">7</a>]. The gateway can contain a
Service Agent (SA), and the LS can act as a Directory Agent (DA). SLP
defines procedures by which service information is automatically
propagated to DA's from SA's. In this fashion, an LS can learn about
gateways in the ITAD.
An alternate mechanism for the intra-domain protocol is via the
registration procedures of SIP or H.323. The registration procedures
provide a means by which users inform a gatekeeper or SIP server
about their address. Such a registration procedure could be extended
to allow a gateway to effectively register as well.
LDAP [<a href="#ref-8" title=""Lightweight Directory Access Protocol"">8</a>] might also be used for the intra-domain protocol. A gateway
can use LDAP to add an entry for itself into the database. If the LS
also plays the role of the LDAP server, it will be able to learn
about all those gateways in its ITAD.
The intra-domain protocol which is used may be different from IT
administrative domain to IT administrative domain, and is a matter of
local configuration. There may also be more than one intra-domain
protocol in a particular ITAD. An LS can also function without an
intra-domain protocol. It may learn about gateways through static
configuration, or may not know of any local gateways.
<span class="h3"><a class="selflink" id="section-9.2" href="#section-9.2">9.2</a> Location Server to Location Server</span>
The interaction between LS's is what is defined by TRIP. LS's within
the same ITAD use TRIP to synchronize information amongst themselves.
LS's within different ITADs use TRIP to exchange gateway information
according to policy. In the former case the LS's are referred to as
internal peers, and in the latter case, external peers.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
LS's communicate with each other through persistent associations. An
LS may be connected to one or more other LS's. LS's need not be
physically adjacent or part of the same autonomous system. The
association between a pair of LS's is normally set up
administratively. Two LS's are configured to communicate with each
other when their administrators have an agreement in place to
exchange gateway information. While TRIP does not provide an
autodiscovery procedure for peer LS's to discover each other, one
could possibly be used. Such a procedure might be useful for finding
a backup peer LS when a crash occurs. Alternatively, in an
environment where the business relationships between peers become
more standardized, peers might be allowed to discover each other
through protocols like the Service Location Protocol (SLP) [<a href="#ref-9" title=""Service Location Protocol, Version 2"">9</a>].
Determination about whether autodiscovery should or should not be
used is at the discretion of the administrator.
The syntax and semantics of the messages exchanged over the
association between LS's are dictated by TRIP. The protocol does not
dictate the nature of the agreements which must be in place. TRIP
merely provides a transport means to exchange whatever gateway
routing information is deemed appropriate by the administrators of
the system. Details are provided in the TRIP protocol specification
itself.
The rules which govern which gateway information is generated,
propagated, and accepted by a gateway is called a location server
policy. TRIP does not dictate or mandate any specific policy.
<span class="h4"><a class="selflink" id="section-9.2.1" href="#section-9.2.1">9.2.1</a> Nature of Exchanged Information</span>
The information exchanged by the LS's is a set of routing objects.
Each routing object minimally consists of a range of telephone
numbers which are reachable, and an IP address or host name which is
the application-layer "next hop" towards a gateway which can reach
that range. Routing objects are learned from the intra-domain
protocol, static configuration, or from LS's in remote ITAD's. An LS
may aggregate these routing objects together (merging ranges of
telephone numbers, and replacing the IP address with its own IP
address, or with the IP address of a signaling server with which the
LS is communicating) and then propagate them to another LS. The
decision about which objects to aggregate and propagate is known as a
route selection operation. The administrator has great latitude in
selecting which objects to aggregate and propagate, so long as they
are within the bounds of correct protocol operation (i.e., no loops
are formed). The selection can be made based on information learned
through TRIP, or through any out of band means.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
A routing object may have additional information which characterizes
the service at the gateway. These attributes include things like
protocols, features supported, and capacity. Greater numbers of
attributes can provide useful information, however, they come at a
cost. Aggregation becomes difficult with more and more information,
impacting the scalability of the protocol.
Aggregation plays a central role in TRIP. In order to facilitate
scalability, routing objects can be combined into larger aggregates
before being propagated. The mechanisms by which this is done are
specified in TRIP. Aggregation of application layer routes to
gateways is a non-trivial problem. There is a fundamental tradeoff
between aggregatability and verbosity. The more information that is
present in a TRIP routing object, the more difficult it is to
aggregate.
Consider a simple example of two gateways, A and B, capable of
reaching some set of telephone numbers, X and Y, respectively. C is
an LS for the ITAD in which A and B are resident. C learns of A and B
through some other means. As it turns out, X and Y can be combined
into a single address range, Z. C has several options. It can
propagate just the advertisement for A, just the advertisement for B,
propagate both, or combine them and propagate the aggregate
advertisement. In this case C chooses the latter approach, and sends
a single routing object to one of its peers, D, containing address
range Z and its own address, since it is also a signaling server. D
is also a signaling server.
Some calling device, E, wishes to place a phone call to telephone
number T, which happens to be in the address range X. E is configured
to use D as its default H.323 gatekeeper. So, E sends a call setup
message to D, containing destination address T. D determines that the
address T is within the range Z. As D had received a routing object
from C containing address range Z, it forwards the call setup message
to C. C, in turn, sees that T is within range X, and so it forwards
the call setup to A, which terminates the call signaling and
initiates a call towards the telephone network.
<span class="h4"><a class="selflink" id="section-9.2.2" href="#section-9.2.2">9.2.2</a> Quality of Service</span>
One of the factors which is useful to consider when selecting a
gateway is "QoS" - will a call through this gateway suffer
sufficiently low loss, delay, and jitter? The quality of a call
depends on two components - the QoS on the path between the caller
and gateway, and the capacity of the gateway itself (measured in
terms of number of circuits available, link capacity, DSP resources,
etc.). Determination of the latter requires intricate knowledge of
<span class="grey">Rosenberg & Schulzrinne Informational [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
underlying network topologies, and of where the caller is located.
This is something handled by QoS routing protocols, and is outside
the scope of TRIP.
However, gateway capacity is not dependent on the caller location or
path characteristics. For this reason, a capacity metric of some form
is supported by TRIP. This metric represents the static capacity of
the gateway, not the dynamic available capacity which varies
continuously during the gateways operation. LS's can use this metric
as a means of load balancing of calls among gateways. It can also be
used as an input to any other policy decision.
<span class="h4"><a class="selflink" id="section-9.2.3" href="#section-9.2.3">9.2.3</a> Cost Information</span>
Another useful attribute to propagate is a pricing metric. This might
represent the amount a particular gateway might charge for a call.
The metric can be an index into a table that defines a pricing
structure according to a pre-existing business arrangement, or it can
contain a representation of the price itself. TRIP itself does not
define a pricing metric, but one can and should be defined as an
extension. Using an extension for pricing means more than one such
metric can be defined.
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a> The Front End</span>
As a result of TRIP, the LS builds up a database (the TRIB) of
gateway routes. This information is made available to various
entities within the ITAD. The way in which this information is made
available is called the front end. It is the visible means by which
TRIP services are exposed outside of the protocol.
<span class="h3"><a class="selflink" id="section-10.1" href="#section-10.1">10.1</a> Front End Customers</span>
There are several entities which might use the front end to access
the TRIB. These include, but are not limited to:
Signaling Servers: Signaling servers receive signaling messages
(such as H.323 or SIP messages) whose purpose is the initiation
of IP telephony calls. The destination address of these calls
may be a phone number corresponding to a terminal on the GSTN.
In order to route these calls to an appropriate gateway, the
signaling server will need access to the database built up in
the LS.
End Users: End users can directly query the LS to get routing
information. This allows them to provide detailed information on
their requirements. They can then go and contact the next hop
signaling server or gateway towards that phone number.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
Administrators: Administrators may need to access the TRIB for
maintenance and management functions.
When a signaling server contacts the LS to route a phone number, it
is usually doing so because a calling device (on behalf of an end
user) has attempted to set up a call. As a result, signaling servers
effectively act as proxies for end users when accessing the LS
database. The communication between the calling devices and their
proxies (the signaling servers) is through the signaling protocol.
The advantage of this proxy approach is that the actual LS
interaction is hidden from the calling device. Therefore, whether the
call is to a phone number or IP address is irrelevant. The routing in
the case of phone numbers takes place transparently. Proxy mode is
also advantageous for thin clients (such as standalone IP telephones)
which do not have the interfaces or processing power for a direct
query of the LS.
The disadvantage of the proxy approach is the same as its advantage -
the LS interaction is hidden from the calling device (and thus the
end user). In some cases, the end user may have requirements as to
how they would like the call to be routed. These include preferences
about cost, quality, administrator, or call services and protocols.
These requirements are called the end user policy. In the proxy
approach, the user effectively accesses the service through the
signaling protocol. The signaling protocol is not likely to be able
to support expression of complex call routing preferences from end
users (note however, that SIP does support some forms of caller
preferences for call routing [<a href="#ref-10" title=""SIP caller preferences and callee capabilities"">10</a>]). Therefore, direct access from the
end user to the LS can provide much richer call routing services.
When the end user policy is presented to the LS (either directly or
through the signaling protocol), it is at the discretion of the LS
how to make use of it. The location server may have its own policies
regarding how end user preferences are handled.
<span class="h3"><a class="selflink" id="section-10.2" href="#section-10.2">10.2</a> Front End Protocols</span>
There are numerous protocols that can be used in the front end to
access the LS database. TRIP does not specify or restrict the
possibilities for the front end. It is not clear that it is necessary
or even desirable for there to be a single standard for the front
end. The various protocols have their strengths and weaknesses. One
may be the right solution in some cases, and another in different
cases.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
Some of the possible protocols for the front end are:
Service Location Protocol (SLP): SLP has been designed to fit
exactly this kind of function. SLP is ideal for locating servers
described by a set of attributes. In this case, the server is a
gateway (or next hop towards the gateway), and the attributes
are the end user policy. The end user is an SLP UA, and the LS
is an SLP DA. The Service Query is used to ask for a gateway
with a particular set of attributes.
Open Settlements Protocol (OSP): OSP [<a href="#ref-11" title=""Inter-domain pricing, authorization, and usage exchange,"">11</a>] is a client server
protocol. It allows the client to query a server with a phone
number, and get back the address of a next hop, along with
authorization tokens to use for the call. In this case, the
server can be an LS. The routing table it uses to respond to OSP
queries is the one built up using TRIP.
Lightweight Directory Access Protocol (LDAP): LDAP is used for
accessing distributed databases. Since the LS server contains a
database, LDAP could be used to query it.
Web Page: The LS could have a web front end. Users could enter
queries into a form, and the matching gateways returned in the
response. This access mechanism is more appropriate for human
access, however. A signaling server would not likely access the
front end through a web page.
TRIP: The protocols discussed above are all of the query-response
type. There is no reason why the LS access must be of this form.
It is perfectly acceptable for the access to be through complete
database synchronization, so that the entity accessing the LS
database effectively has a full copy of it. If this approach
were desired, TRIP itself is an appropriate mechanism. This
approach has obvious drawbacks, but nothing precludes it from
being done.
<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a> Number Translations</span>
The model for TRIP is that of many gateways, each of which is willing
to terminate calls towards some set of phone numbers. Often, this set
will be based on the set of telephone numbers which are in close
geographic proximity to the gateway. For example, a gateway in New
York might be willing to terminate calls to the 212 and 718 area
codes. Of course, it is up to the administrator to decide on what
phone numbers the gateway is willing to call.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
However, certain phone numbers don't represent GSTN terminals at all,
but rather they represent services or virtual addresses. An example
of such numbers are freephone and LNP numbers. In the telephone
network, these are actually mapped to routable telephone numbers,
often based on complex formulae. A classic example is time-of-day-
based translation.
While nothing prevents a gateway from advertising reachability to
these kinds of numbers, this usage is highly discouraged. Since TRIP
is a routing protocol, the routes it propagates should be to routable
numbers, not to names which are eventually translated to routable
numbers. Numerous problems arise when TRIP is used to propagate
routes to these numbers:
o Often, these numbers have only local significance. Calls to a
freephone number made from New York might terminate in a New
York office of a company, while calls made from California
will terminate in a California branch. If this freephone
number is injected into TRIP by a gateway in New York, it
could be propagated to other LS's with end users in
California. If this route is used, calls may be not be routed
as intended.
o The call signaling paths might be very suboptimal. Consider a
gateway in New York that advertises a ported number that maps
to a phone in California. This number is propagated by TRIP,
eventually being learned by an LS with end users in
California. When one of them dials this number, the call is
routed over the IP network towards New York, where it hits the
gateway, and then is routed over the GSTN back to California.
This is a waste of resources. Had the ported number been
translated before the gateway routing function was invoked, a
California gateway could have been accessed directly.
As a result, it is more efficient to perform translations of these
special numbers before the LS routing databases are accessed. How
this translation is done is outside the scope of TRIP. It can be
accomplished by the calling device before making the call, or by a
signaling server before it accesses the LS database.
<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a> Security Considerations</span>
Security is an important component in TRIP. The TRIP model assumes a
level of trust between peer LS's that exchange information. This
information is used to propagate information which determines where
calls will be routed. If this information were incorrect, it could
cause complete misrouting of calls. This enables a significant denial
of service attack. The information might also be propagated to other
<span class="grey">Rosenberg & Schulzrinne Informational [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
ITADs, causing the problem to potentially spread. As a result, mutual
authentication of peer LS's is critical. Furthermore, message
integrity is required.
TRIP messages may contain potentially sensitive information. They
represent the routing capabilities of an ITAD. Such information might
be used by corporate competitors to determine the network topology
and capacity of the ITAD. As a result, encryption of messages is also
supported in TRIP.
As routing objects can be passed via one LS to another, there is a
need for some sort of end to end authentication as well. However,
aggregation will cause the routing objects to be modified, and
therefore authentication can only take place from the point of last
aggregation to the receiving LS's.
<span class="h2"><a class="selflink" id="section-13" href="#section-13">13</a> Acknowledgments</span>
The authors would like to thank Randy Bush, Mark Foster, Dave Oran,
Hussein Salama, and Matt Squire for their useful comments on this
document.
<span class="h2"><a class="selflink" id="section-14" href="#section-14">14</a> Bibliography</span>
[<a id="ref-1">1</a>] International Telecommunication Union, "Visual telephone systems
and equipment for local area networks which provide a non-
guaranteed quality of service," Recommendation H.323,
Telecommunication Standardization Sector of ITU, Geneva,
Switzerland, May 1996.
[<a id="ref-2">2</a>] Handley, M., Schulzrinne, H., Schooler, E. and J. Rosenberg,
"SIP: Session Initiation Protocol", <a href="./rfc2543">RFC 2543</a>, March 1999.
[<a id="ref-3">3</a>] Arango, M., Dugan, A., Elliott, I., Huitema, C. and S. Pickett,
"Media Gateway Control Protocol (MGCP) Version 1.0", <a href="./rfc2705">RFC 2705</a>,
October 1999.
[<a id="ref-4">4</a>] Droms, R., "Dynamic Host Configuration Protocol", <a href="./rfc2131">RFC 2131</a>,
March 1997.
[<a id="ref-5">5</a>] Simpson, W., "The Point-to-Point Protocol (PPP)," STD 51, <a href="./rfc1661">RFC</a>
<a href="./rfc1661">1661</a>, July 1994.
[<a id="ref-6">6</a>] Rekhter Y. and T. Li, "A Border Gateway Protocol 4 (BGP-4)", <a href="./rfc1771">RFC</a>
<a href="./rfc1771">1771</a>, March 1995.
[<a id="ref-7">7</a>] Veizades, J., Guttman, E., Perkins, C. and S. Kaplan, "Service
Location Protocol", <a href="./rfc2165">RFC 2165</a>, June 1997.
<span class="grey">Rosenberg & Schulzrinne Informational [Page 23]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-24" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
[<a id="ref-8">8</a>] Yeong, W., Howes, T. and S. Kille, "Lightweight Directory Access
Protocol", <a href="./rfc1777">RFC 1777</a>, March 1995.
[<a id="ref-9">9</a>] Guttman, E., Perkins, C., Veizades, J. and M. Day, "Service
Location Protocol, Version 2", <a href="./rfc2608">RFC 2608</a>, June 1999.
[<a id="ref-10">10</a>] Schulzrinne H. and J. Rosenberg, "SIP caller preferences and
callee capabilities", Work in progress.
[<a id="ref-11">11</a>] European Telecommunications Standards Institute (ETSI),
Telecommunications and Internet Protocol Harmonization Over
Networks (TIPHON), "Inter-domain pricing, authorization, and
usage exchange," Technical Specification 101 321 version 1.4.2,
ETSI, 1998.
<span class="h2"><a class="selflink" id="section-15" href="#section-15">15</a> Authors' Addresses</span>
Jonathan Rosenberg
dynamicsoft
72 Eagle Rock Avenue
First Floor
East Hanover, NJ 07936
Email: jdrosen@dynamicsoft.com
Henning Schulzrinne
Columbia University
M/S 0401
1214 Amsterdam Ave.
New York, NY 10027-7003
Email: schulzrinne@cs.columbia.edu
<span class="grey">Rosenberg & Schulzrinne Informational [Page 24]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-25" ></span>
<span class="grey"><a href="./rfc2871">RFC 2871</a> TRIP Framework June 2000</span>
<span class="h2"><a class="selflink" id="section-16" href="#section-16">16</a>. Full Copyright Statement</span>
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Rosenberg & Schulzrinne Informational [Page 25]
</pre>
|