Netowrk Working Group H. Lu Request for Comments: 2458 Editor Category: Informational M. Krishnaswamy Lucent Technologies L. Conroy Roke Manor Research S. Bellovin F. Burg A. DeSimone K. Tewani AT&T Labs P. Davidson Nortel H. Schulzrinne Columbia University K. Vishwanathan Isochrome November 1998 Toward the PSTN/Internet Inter-Networking --Pre-PINT Implementations 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 (1998). All Rights Reserved. Abstract This document contains the information relevant to the development of the inter-networking interfaces underway in the Public Switched Telephone Network (PSTN)/Internet Inter-Networking (PINT) Working Group. It addresses technologies, architectures, and several (but by no means all) existing pre-PINT implementations of the arrangements through which Internet applications can request and enrich PSTN telecommunications services. The common denominator of the enriched services (a.k.a. PINT services) is that they combine the Internet and PSTN services in such a way that the Internet is used for non-voice interactions, while the voice (and fax) are carried entirely over the PSTN. One key observation is that the pre-PINT implementations, being developed independently, do not inter-operate. It is a task of the PINT Working Group to define the inter-networking interfaces that Lu, et. al. Informational [Page 1] RFC 2458 Pre-PINT Implementations November 1998 will support inter-operation of the future implementations of PINT services. Table of Contents 1. Introduction ....................................... 3 2. Terminology ....................................... 3 3. PINT Services ....................................... 4 4. Architectural Overview ............................... 5 4.1 Public Switched Telephone Network ............... 5 4.2 Pre-PINT Systems ............................... 9 5. IN-Based Solutions ............................... 20 5.1 The Lucent System ............................... 20 5.1.1 Roles of the Web Server, Service Node, and SMS ....... 20 5.1.2 A Click-to-Dial-Back Service Scenario ............... 21 5.1.3 Web Server-Service Node Interface ............... 22 5.1.4 Web Server-SMS Interface and SNMP MIB ............... 24 5.1.5 Security Considerations ........................... 26 5.2 Siemens Web Call Center ........................... 27 5.2.1 Service Description ............................... 27 5.2.2 Implementation ................................... 29 5.2.3 Derived Requirements/Lessons ..................... 35 6. Alternative Solutions ............................... 37 6.1 The AT&T System ..................................... 37 6.1.1 High Level Architecture ............................ 38 6.1.2 IP Client to CallBroker Interface .................. 39 6.1.3 Protocol ........................................... 40 6.1.4 APIs Exposed to the IP Client ..................... 41 6.1.5 Voice-Bridge Control API ........................ 41 6.2 Simple Computer Telephony Protocol ............... 41 6.2.1 Overview ........................................... 41 6.2.2 How SCTP Fits in with the Reference PINT Services .. 42 7. Session Initiation Protocol--An Emerging Standard .. 43 7.1 Overview ....................................... 43 7.2 SIP Protocol ....................................... 44 7.3 SIP Entities ....................................... 45 7.4 Providing Call Control Functionality ............... 46 8. Overall Security Considerations ..................... 47 9. Conclusion ....................................... 48 10. Acknowledgments ................................... 48 11. Appendix ....................................... 49 11.1 PSTN/IN 101 ....................................... 49 11.1.1 Public Switched Telephone Network ............... 49 11.1.2 Intelligent Network ............................... 51 11.2 Call Center Features ............................. 54 Lu, et. al. Informational [Page 2] RFC 2458 Pre-PINT Implementations November 1998 12. References ....................................... 56 Authors' Addresses ......................................... 57 Full Copyright Statement .................................. 60 1. Introduction This document contains the information relevant to the development of the inter-networking interfaces underway in the Public Switched Telephone Network (PSTN)/Internet Inter-Networking (PINT) Working Group. It addresses technologies, architectures, and several (but by no means all) existing pre-PINT implementations of the arrangements through which Internet applications can request and enrich PSTN telecommunications services. The common denominator of the enriched services (a.k.a. PINT services) is that they combine the Internet and PSTN services in such a way that the Internet is used for non-voice interactions, while the voice (and fax) are carried entirely over the PSTN. The organization of the document is as follows. First, the basic terminology and a short "intuitive" description of the PINT services are provided. The rest of the information deals, in one way or the other, with the pre-PINT support of these services where they are used as a benchmark. Thus, an architectural overview common to all present solutions is presented. The flow of the document then divides into two streams: one is dedicated to the Intelligent Network (IN)-based solutions; the other explores alternative means (i.e., CallBroker and Computer-Telephony Integration (CTI) approach). At this point, the emerging standards are explored, in particular, the Session Initiation Protocol (SIP), which promises an elegant solution to the PINT problem. Each of the above developments is addressed in a respective section. The final sections of the document contain the overall security considerations, conclusion, acknowledgments, appendix, and a set of references. The security section summarizes the PINT security requirements derived from the pre-PINT experiences and the appendix presents a tutorial on the PSTN, IN, and Call Center functions. 2. Terminology This document uses the following terminology: Authentication -- verification of the identity of a party. Authorization -- determination of whether or not a party has the right to perform certain activities. PINT Gateway -- the PSTN node that interacts with the Internet. Lu, et. al. Informational [Page 3] RFC 2458 Pre-PINT Implementations November 1998 User or Customer -- the person who asks for a service request to be issued. In the context of PINT Services, this person will use an Internet host to make his or her request. The term "user" is also used to describe a host originating the PINT service request on behalf of this person. 3. PINT Services This document addresses four services initially identified by the PINT Working Group and presently supported by pre-PINT implementations. These services are: click-to-dial-back, click-to- fax, click-to-fax-back and voice-access-to-content. Note that the word "click" should not be taken literally. It is rather used to point out that initiation of the related services takes place on the Internet, where point and click are the most prevalent user actions. In other words, a service request could originate from any type of IP-based platforms. There is no implication that these services must be implemented by a device within the PSTN or the Internet running a Web server. The common denominator of the PINT services is that they combine the Internet and PSTN services in such a way that the Internet is used for non-voice interactions, while the voice (and fax) are carried entirely over the PSTN. (An example of such a service is combination of a Web-based Yellow Pages service with the ability to initiate PSTN calls between customers and suppliers in a manner described in what follows.) Some of the benefits of using the PSTN are high quality of the voice, an ability to route the call to different locations depending on pre-set criteria (for example, time of the day, day of the week, and geographic location), outstanding security and reliability, and access to flexible, low cost, and secure billing and charging systems. The benefits of using the Internet are the uniform, well- defined, and widely-used interfaces available anywhere, anytime. Click-to-Dial-Back With this service, a user requests (through an IP host) that the PSTN call be established between another party and himself or herself. An important pre-requisite for using this service is that the user has simultaneous access to both the PSTN and Internet. One example of an application of this service is on-line shopping: a user browsing through an on-line catalogue, clicks a button thus inviting a call from a sales representative. Note that (as is the case with the all-PSTN Free-Phone, or "800", service) flexible Lu, et. al. Informational [Page 4] RFC 2458 Pre-PINT Implementations November 1998 billing arrangements can be implemented here on behalf of the service provider. In addition (and also similarly to the Free-Phone/800), the PSTN could route the call depending on the time of day, day of week, availability of agents in different locations, and so on. Click-to-Fax With this service, a user at an IP host requests that a fax be sent to a particular fax number. In particular this service is especially meaningful when the fax is to be sent to someone who has only a fax machine (but no access to the Internet). Consider, as an example, a service scenario in which a Web user makes a reservation for a hotel room in Beijing from a travel service page containing hotel information of major cities around the world. Suppose a specific Beijing hotel chosen by the user does not have Internet connection but has a fax machine. The user fills out the hotel reservation form and then clicks a button sending out the form to the travel service provider, which in turn generates a fax request and sends it together with the hotel reservation form to the PSTN. Upon receiving the request and the associated data, the PSTN translates the data into the proper facsimile format and delivers it to the Beijing hotel as specified in the fax request. Click-to-Fax-Back With this service, a user at an IP host can request that a fax be sent to him or her. (Consider the user of the previous example, who now requests the confirmation from the Beijing Hotel. Another useful application of the service is when size of the information that a user intends to get is so large that downloading it to the user's PC over the Internet will require a long time and a lot of disk space.) Voice-Access-to-Content With this service, a user at an IP host requests that certain information on the Internet be accessed (and delivered) in an audio form over the PSTN, using the telephone as an informational appliance. One application of this service is to provide Web access to the blind. (This may require special resources--available in the PSTN--to convert the Web data into speech.) 4. Architectural Overview 4.1 Public Switched Telephone Network From an application perspective, Internet nodes are interconnected directly, as shown in Figure 1. When two machines are to communicate, they will have the address of the destination end system, and will Lu, et. al. Informational [Page 5] RFC 2458 Pre-PINT Implementations November 1998 send network level datagrams, assuming that the underlying infrastructure will deliver them as required. _____ __ _____/ \_____ [__] / \ [----]-.-.-.-. Internet .-. \_____ _______/ | __ \__./ __ . [__] / [__] | [----]-. [----]-. Key: .-.-. Internet Access Link Figure 1 Where all nodes are on the same (broadcast) network, there is no need for intervening routers; they can send and deliver packets to one another directly. The Internet nodes are responsible for their own communications requests, and act as peers in the communication sessions that result. This contrasts with the situation in the PSTN. There, the end systems are configured as shown in Figure 2. The end systems tend to be specific to a particular type of traffic, so that, for example, the majority of terminals are dedicated to carrying speech traffic (telephones) or to carrying facsimile data (fax machines). The terminals all connect to Central Offices (COs) via access lines, and these COs are interconnected into a network. /--\ ()/\()__ /__\ \ ................................. \ ! ! ! /--\ __ \ [-!-] [-!-] ! ()/\() \ \ \__[CO ]=========[CO ]==\\ ! ___/__\ [Fax]________[---] [---] \\ [-!-] / __ \\=======[CO ]____/ \ \ [---]________[Fax] Key: ___ Access Lines === Trunk Links (inter-CO user data links) ... Inter-CO signaling network links CO Central Office (Telephone Exchange) Figure 2 Lu, et. al. Informational [Page 6] RFC 2458 Pre-PINT Implementations November 1998 Communications between the terminals are all "circuit switched", so a dedicated synchronous data path (or circuit) needs to be placed between the end terminals for carrying all communications. Arranging for such a circuit to be made or removed (cleared) is the responsibility of the Central Offices in the network. A user makes a request via his or her terminal, and this request is passed on to the "local" Central Office. The relationship between the terminals and the local Central Offices to which they are connected is strictly Client/Server. The COs are interconnected using two different types of connections. One of these is called a trunk connection (shown as a double line in the above figure) and is used to carry the data traffic generated by the terminals. The other connection acts as part of a separate network (and is shown as a dotted line in the above figure). This is the signaling network, and is used by the Central Offices to request a connection to be made between themselves and the destination of the required circuit. This will be carried across the trunk link to the "next" Central Office in the path. The path, once in place through the PSTN, always takes the same route. This contrasts with the Internet, where the underlying datagram nature of the infrastructure means that data packets are carried over different routes, depending on the combined traffic flows through the network at the time. The call set up process can be viewed as having two parts: one in which a request for connection is made, and the other in which the circuit is made across the PSTN and call data flows between the communicating parties. This is shown in the next pair of figures (3a and 3b). /--\ () () --____ /++\ \ /----\ \ A \ [-!-] \->[CO ] [---] Time = 13:55 Figure 3a Key: ___ Access Lines === Trunk Links (inter-CO user data links) ... Inter-CO signaling network links CO Central Office (Telephone Exchange) Lu, et. al. Informational [Page 7] RFC 2458 Pre-PINT Implementations November 1998 /--\ () () -- ................................. / \<--- ^ ! ! /--\ /----\ \ ! v ! () () A' \ [-!-] [-!-] ! -- \__[CO ]=========[CO ]==\\ v ->-/ \ [---] [---] \\ [-!-] / /----\ \\=======[CO ]____/ B' Time = 14:00 [---] Figure 3b Figure 3 shows a particular kind of service that can be provided; call booking. With this service, a request is sent for a connection to be made between the A and B telephones at a specified time. The telephone is then replaced (the request phase is terminated). At the specified time, the CO will make a connection across the network in the normal way, but will, first, ring the "local" or A' telephone to inform the user that his or her call is now about to be made. For more complex services, the requesting telephone is often connected via its "local" CO to a Service Node (SN), where the user can be played prompts and can specify the parameters of his or her request in a more flexible manner. This is shown below, in Figures 4a and 4b. For more details of the operation of the Service Node (and other Intelligent Network units), see the Appendix. When the SN is involved in the request and in the call setup process, it appears, to the CO, to be another PSTN terminal. As such, the initial request is routed to the Service Node, which, as an end system, then makes two independent calls "out" to A' and B'. /--\ [---] () () [SN ] --___ [|--] /++\ \ | /----\ \ | \ | A \ [|-!] \->[CO ] [---] Time = 13:55 Figure 4a Lu, et. al. Informational [Page 8] RFC 2458 Pre-PINT Implementations November 1998 Key: ___ Access Lines === Trunk Links (inter-CO user data links) ... Inter-CO signaling network links CO Central Office (Telephone Exchange) SN Service Node /--\ [---] () () [SN ] -- [|--] /--\ / \<-- | ............................... () () /----\ \ | ^ ! ! -- \ | / v v / \ A' \ [|-!] [-!-] [-!-] ->-/----\ \--[CO ] [CO ] [CO ] / [---] [---] [---]___/ B' Time = 14:00 Figure 4b Note that in both cases as shown in Figures 3 and 4 a similar service can be provided in which the B' telephone is replaced by an Intelligent Peripheral (or an Special Resource Functional entity within a Service Node), playing an announcement. This allows a "wake up" call to be requested, with the Intelligent Peripheral or Service Node Special Resource playing a suitable message to telephone A' at the specified time. Again, for more details of the operation of the Special Resources (and other Intelligent Network units), see the Appendix. 4.2 Pre-PINT Systems Although the pre-PINT systems reported here (i.e., those developed by AT&T, Lucent, Siemens and Nortel) vary in the details of their operation, they exhibit similarities in the architecture. This section highlights the common features. Specific descriptions of these systems will follow. All of the systems can be seen as being quite similar to that shown in the following diagram. In each case, the service is separated into two parts; one for the request and another for execution of the service. Figure 5 summarizes the process. Lu, et. al. Informational [Page 9] RFC 2458 Pre-PINT Implementations November 1998 _____ __ _____/ \_____ [__] / \ [-++-]-.-.>.-. Internet .-.- \_____ _______/ . \___/ v [----] . [PINT]-.- [----] % v [---] [SN ] [|--] Figure 5a Key: CO Central Office (Telephone Exchange) SN Service Node PINT PSTN/Internet Gateway .-.-. Internet Access Link %%% Gateway/Service Node Link ___ PSTN Access Lines === PSTN Trunk Links (inter-CO user data links) ... Inter-CO signaling network links _____ __ _____/ \_____ [__] / \ [----]-.-.-.-. Internet .-.- \_____ _______/ . \___/ | [----] . [PINT]-.- [-%--] % % /--\ [-%-] () () [SN ] -- [|--] /--\ / \<-- | .................... () () /----\ \ | ^ ! ! -- \ | / v v / \ A' \ [|-!] [-!-] [-!-] ->-/----\ \--[CO ]=======[CO ]======[CO ] / [---] [---] [---]__/ B' Figure 5b Lu, et. al. Informational [Page 10] RFC 2458 Pre-PINT Implementations November 1998 Comparing Figure 4a with Figure 5a, the differences lie in the way that the information specifying the request is delivered to the Service Node. In the PSTN/IN method shown in the earlier diagram, the user connects to the SN from the telephone labeled A, with the connection being routed via the CO. In the latter case, the request is delivered from an Internet node, via the PINT gateway, and thence to the Service Node over a "private" link. The effect is identical, in that the request for service is specified (although the actual parameters used to specify the service required may differ somewhat). The figures depicting the respective service execution phases (Figures 4b and 5b) show that the operation, from the IN/PSTN perspective, is again identical. The Service Node appears to initiate two independent calls "out" to telephones A' and B'. The alternative systems developed by AT&T and by Nortel allow another option to be used in which the PINT Gateway does not have to connect to the PSTN via a Service Node (or other Intelligent Network component), but can instead connect directly to Central Offices that support the actions requested by the gateway. In these alternatives, the commands are couched at a "lower level", specifying the call states required for the intended service connection rather than the service identifier and the addresses involved (leaving the Intelligent Network components to coordinate the details of the service call on the gateway's behalf). In this way the vocabulary of the commands is closer to that used to control Central Offices. The difference really lies in the language used for the services specification, and all systems can use the overall architecture depicted in Figure 5; the only question remains whether the Intelligent Network components are actually needed in these other approaches. Lu, et. al. Informational [Page 11] RFC 2458 Pre-PINT Implementations November 1998 The following diagram (Figure 6) shows the interface architecture involved in providing the kind of service mentioned above. Internet __ __ Server [__] _______ [__] [W3S-]-. ___/ .-.-.-[W3C-] Internet _________________|/.-.-.-.-. \ Terminal / .. . \ | Internet / . \ | \___________ . . . / \/___|____\_________/ . . . / | \ (A) (B) (E) . . . _|_ _|_ _|_ [SN ]<-(D)--[SMS]--(H)->[SCP] [|-|] --- [-!-] / \ ! (C) (I) ...........(F)...!.(G). / \ ! ! [--|] [|-!] [-!-] [CO ] [MSC] [SSP] [---] [---] \|/ [---] /--\ | |____| | /--\ ()/\() | | ()/\() /--\___| 1 |___/--\ Fixed PSTN Terminal [] Fixed PSTN Terminal Mobile Terminal Key: W3S HTTP (Web) Server W3C HTTP (Web) Client/Browser CO Central Office (Telephone Exchange) MSC Mobile Switching Center (Mobile Network Telephone Exchange) SN Service Node SSP Service Switching Point SCP Service Control Point SMS Service Management System .-.-. Internet relationship ___ PSTN Access relationship ... PSTN "core" signaling relationship Figure 6 Lu, et. al. Informational [Page 12] RFC 2458 Pre-PINT Implementations November 1998 The interfaces are: A The interface over which Internet requests for service are delivered to the Service Node B The interface over which Service Management requests are sent from the Internet to the Service Management System C The interface over which the Service Node sends call control requests to a connected Central Office D The interface over which the Service Management System manages the Service Node E The interface over which Internet requests for service are delivered to the Service Control Point F The interface over which the Service Control Point sends service call control requests to the Mobile Switching Center G The interface over which the Service Control Point sends service control requests to the Service Switching Point H The interface over which the Service Management System manages the Service Control Point I The interface over which the Service Node sends service call control requests to the Mobile Switching Center In practice, a number of the interfaces have very similar purposes to one another. The means by which these purposes are achieved differ, in that some of the interfaces (C and I) reflect access arrangements, whilst others (F and G) imply a "core" signaling relationship. However, it is possible to categorize them in terms of the "intent" of messages sent across the interfaces. For example, Interfaces A and E are similar; one of the main aims of PINT work is to ensure that they are the same. Similarly, Interfaces D and H imply similar actions and are likely to carry similar messages. Interfaces C, F, G, and I are all used to request that a call be initiated, albeit via access or core signaling relationships. The interfaces can also be viewed in terms of the kind of components that are involved and the bodies by which they are codified. Interfaces A, B, and E are all going to be realized as Internet Protocols. All of the others use existing protocols in the PSTN/IN. Traditionally, these have been codified by different groups, and this is likely to be the case in the PINT work. The general arrangements for the different systems are shown below (Figures 7, 8, 9, and 10). They differ in the details of their configurations, but the main tasks they perform are very similar, and so the overall operation is similar to the generic architecture shown in Figures 5 and 6. Lu, et. al. Informational [Page 13] RFC 2458 Pre-PINT Implementations November 1998 Key for following diagrams: Components: W3C World Wide Web Client W3S World Wide Web Server WSA Web Server "Back End Program" Interface (CGI or Servlet interface) Srvlt Servlet "back end" program/objects FS Finger Server SCTPC Simple Computer Telephony Protocol Client SCTPS Simple Computer Telephony Protocol Server CBC CallBroker Client CBS CallBroker Server SSTPC Service Support Transport Protocol Client SSF Service Switching Function SCF Service Control Function SRF Special Resource Function CO Central Office/ Public Telephone Exchange SSP Service Switching Point SCP Service Control Point SR/I.IP Special Resource/ "Internet" Intelligent Peripheral SMS Service Management System INAPAd Intelligent Network Application Part Adaptor PktFlt Packet Filter (Firewall) SNMPAg Simple Network Management Protocol Agent Protocols: P0 HyperText Transfer Protocol P1 HTTP Server <-> "Back End Program" internal protocol P2 CallBroker Client <-> CallBroker Server protocol (AT&T system), or SCTP Client <-> Server protocol (Nortel system) P3 PINT User Agent <-> PINT Gateway protocol P4 Intra-Intelligent Network protocol (e.g., INAP) P5 Proprietary (INAP-based) Gateway-> I.IP protocol P6 Finger protocol P7 Digital Subscriber Signaling 1 protocol P8 Simple Network Management Protocol P9 SMS <-> Service Control Point/Service Node protocol Lu, et. al. Informational [Page 14] RFC 2458 Pre-PINT Implementations November 1998 _____ _______ _____ |[W3C]|----(p0)-->| [W3S] |<--(p0)----|[W3C]| |[---]| | [WSA] | |[FS.]| |-----| | ! | |[-!-]| | (p1) | |--\--| | ! | ^ | ! | (p6) | ! | \ | (p1) | \ | ! | \ |[Srvlt]| \ |___!___| \ ! \ (p3) \ Internet ! ! .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.!.+.+.+.+.+. PSTN/IN _______________!_________________ ____!_____ __________ |I [PktFlt] I| |[PktFlt]| |[PktFlt]| |N Gateway N| | ! | | ! | |A ___________________________ A| | ! | | ! | |P | | P| | ! | |[SNMPAg]| -(p4)-- |A | <-(p4)-> [SCP] <-(p4)-> | A|-(p5)->|[SR/IIP]| | [SMS] | \ |d | [-^-] | d| |[------]| | [-^-] | \ |__| ! |__| |________| |___!____| \ ! ! [-v-] !-----------------(p9)-----------------! [SSP] [---] ___| |______ | | | /--\ | /--\ | ()/\() | ()/\() |__/__\ |____/__\ Figure 7: The Siemens Web Call Center Lu, et. al. Informational [Page 15] RFC 2458 Pre-PINT Implementations November 1998 _____ _______ |[W3C]|----(p0)-->| [W3S] | |[---]| | [WSA] | |-----| | ! | | (p1) | | ! | | ! | | ! | | (p1) | | ! | |[SSTPC]|-<---------------------------------- |___!___| ! ! (p8) (p3) ! Internet ! v .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+. ! .+.+ PSTN/IN _______________!__________________________________ ____!_____ | [PktFlt] Service [PktFlt]| |[PktFlt]| | ! Node | | ! | | [SCF Adaptor] | | ! | | ! | |[SNMPAg]| |[SSF]<-(p4)->[SCF] <-------(p4)--------> [SRF] | | [SMS] | |[|--] [-^-] [---] | | [-^-] | |_|_____________!________________________________| |___!____| | ! ! [-v-] (p7) !-----------------(p9)-----------------! [CO.]____| [---] ___| |_______ | | | /--\ | /--\ | ()/\() | ()/\() |__/__\ |____/__\ Figure 8: The Lucent System Lu, et. al. Informational [Page 16] RFC 2458 Pre-PINT Implementations November 1998 _____ ________ |[W3C]|----(p0)-->| [W3S] | |[---]| | [WSA] | |-----| | ! | | (p1) | | ! | |[WS/CBS]| |[Adaptr]| |___!____| ^ (p2) _____ ___v____ |[CBC]| | [CBS] | |[---]|<---(p2)-->| [---] |-<--------------------------------- |-----| |___!____| ! ! (p8) (p3) ! Internet ! v .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+. ! .+.+ PSTN/IN _______________!__________________________________ ____!_____ | [PktFlt] Service [PktFlt]| |[PktFlt]| | ! Node | | ! | | [SCF Adaptor] | | ! | | ! | |[SNMPAg]| |[SSF]<-(p4)->[SCF] <-------(p4)--------> [SRF] | | [SMS] | |[|--] [-^-] [---] | | [-^-] | |_|_____________!________________________________| |___!____| | ! ! [---] (p7) !-----------------(p9)-----------------! [CO.]____| [---] ___| |_______ | | | /--\ | /--\ | ()/\() | ()/\() |__/__\ |____/__\ Figure 9: The AT&T System Lu, et. al. Informational [Page 17] RFC 2458 Pre-PINT Implementations November 1998 _____ ________ |[W3C]|----(p0)-->| [W3S] | |[---]| | [WSA] | |-----| | ! | | (p1) | | ! | |[WS/ ]| |[ SCTPS]| |[Adaptr]| |___!____| ^ (p2) _______ ___v___ |[SCTPC]| |[SCTPS]| |[-----]| <-(p2)--> |[-----]|-<---------------------------------- |-------| |___!___| ! ! (p8) (p3) ! Internet ! v .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+. ! .+.+. PSTN/IN _______________!__________________________________ ____!_____ | [PktFlt] Service [PktFlt]| |[PktFlt]| | ! Node | | ! | | [SCF Adaptor] | | ! | | ! | |[SNMPAg]| |[SSF]<-(p4)->[SCF] <-------(p4)--------> [SRF] | | [SMS] | |[|--] [-^-] [---] | | [-^-] | |_|_____________!________________________________| |___!____| | ! ! [---] (p7) !-----------------(p9)-----------------! [CO.]____| [---] ___| |_______ | | | /--\ | /--\ | ()/\() | ()/\() |__/__\ |____/__\ Figure 10: The Nortel System As these are independent systems developed by different groups, the names of the components, unsurprisingly, don't match. Some features are offered by one of the systems, while they aren't by others. However, there are a number of common features. All of the systems provide a Web-based interface (at least as an option), using "back end" programs to construct protocols to pass onwards to the Intelligent Network system. Lu, et. al. Informational [Page 18] RFC 2458 Pre-PINT Implementations November 1998 Several Intelligent Network Functional Entities are combined into a Service Node in the Lucent, AT&T , and Nortel systems, while in the Siemens scheme they are separate units. However, this is not particularly important for the provision of the services they offer. The main difference lies in whether or not the SCF is "aware" of the Internet interface and has been modified to be "complicit" in supporting these Internet requests. The Siemens approach was to re- use an existing SCP, providing a gateway function to translate as needed. The Lucent system used a "lighter weight" SCF adapter to terminate the Internet protocols, as the SCF was modified to support the Internet interface directly. The AT&T CallBroker and Nortel SCTP Servers introduce an intermediate protocol (labeled p2) that allows an alternative to the Web based interface supported by the others. This protocol matches the "CallBroker Client API", or the "SCTP Client API". These options provide for a bi-directional protocol, with indications sent from the Call Broker or SCTP Server to the Client as needed. This is not easily possible using an HTTP-based scheme (and in the Siemens case, a dedicated Finger client/server pair was used to emulate such an interface) The protocol between the Internet server and the Intelligent Network (labeled p3 in the above diagrams) differs in each of the systems. One of the main aims of future work will be to develop a common protocol that will support the services offered, so that the p3 interface will allow different implementations to inter-operate. In the Lucent, Siemens, and Nortel systems, this was an "internal" protocol, as it was carried between entities within the Service Node or Gateway. Other contrasts between the systems lie in the support for Internet access to Service Management, and access to the Internet by Special Resources. Internet Management access was most developed in the Lucent system, in which a Simple Network Management Protocol (SNMP) agent was provided to allow inter-operation with the SMS controlling the Service Node. In the Siemens scheme, the SMS had no direct Internet access; any management actions were carried out within the normal PSTN management activities. As for Internet access to special resources, this was only required by the Siemens system as part of its support for Call Center agent notification. Equivalent functionality would be provided in the AT&T and Nortel systems as mentioned above, and this would in turn be associated with event notifications being sent as part of their (p3) Internet/IN protocol. These differences reflect the different emphases in the products as they were developed; again, future work will have to ensure that common protocols can be used to support the chosen services fully. Lu, et. al. Informational [Page 19] RFC 2458 Pre-PINT Implementations November 1998 5. IN-Based Solutions 5.1 The Lucent System Figure 11 depicts the overall interconnection architecture of the Lucent prototype in support of the four PINT services. The IN-based architecture utilizes the Service Node and Service Management System in addition to the Web server, which enables Web-based access to the PINT services. This section summarizes the roles of these elements (complemented by a click-to-dial-back service scenario), outlines the interfaces of Web Server-Service Node and Web Server-Service Management System (i.e., the interfaces A & B), and addresses the common security concerns. 5.1.1 Roles of the Web Server, Service Node, and Service Management System Web Server The Web Server stores the profiles of content providers as well as pre-registered users. The content provider profile contains information such as content provider ID, telephone number, and fax number. In addition, the profile may also include service logic that specifies, for example, the telephone (or fax) number to be reached based on time of the day, day of the week, or geographical location of the user, and the conditions to accept the charge of the calls. Similar to the content provider profile, the pre-registered user profile contains information such as user name, password, telephone number, and fax number. The last two pieces of information can also be linked to time of the day and day of the week so the user can be reached at the appropriate telephone (or fax) number accordingly. Service Node Situated in the PSTN, the SN, like the SCP, performs the service control function [1, 2, 3]. It executes service logic and instructs switches on how to complete a call. The SN also performs certain switching functions (like bridging of calls) as well as a set of specialized functions (like playing announcements, voice recognition and text-to-speech conversion). Service Management System The SMS performs administration and management of service logic and customer-related data on the SN. It is responsible for the replication of content provider profiles and provision of these data on the SN. These functions are non-real time. Lu, et. al. Informational [Page 20] RFC 2458 Pre-PINT Implementations November 1998 Web Users ____________ O -------------------------- | Internet |------------------- ------------ | | | ---------------- -------------- ------------ | Service Node | D | Service | B |Web Server| | (SN) |------------| Management |---------------| | | | |System (SMS)| | | | | A -------------- | | | |-----------------------------------------| | ---------------- ------------ | | | I | C | | ----------- --------- |Mobile | |Central| |Switching| |Office | | Center | --------- ----------- | | | | | O O Mobile Wireline PSTN Users Users Figure 11: Overall Interconnection Architecture of the Lucent System 5.1.2 A Click-to-Dial-Back Service Scenario A Web user, who has simultaneous access to the Web and telephone services (this can be achieved, for example, by having an ISDN connection), is browsing through a sales catalogue and deciding to speak to a sales representative. When the Web user clicks a button inviting a telephone call from the sales office, the Web Server sends a message to the SN over the A interface, thus crossing the Internet-to-PSTN boundary. By matching the information received from the Web Server with the content provider profile that had been previously loaded and activated by the SMS over the D interface, the SN recognizes the signal. At this point, the SN calls the Web user. The user answers the call, hears an announcement, e.g., "Please wait, while we are connecting you to the sale agent", and is waiting to be connected to the sale agent. Then the SN invokes service logic as indicated in the profile. Lu, et. al. Informational [Page 21] RFC 2458 Pre-PINT Implementations November 1998 The execution of this logic selects an appropriate sales agent to call based on the time of the day. It is 8 P.M. in New York where the Web user is located, and the New York sales office has closed. The San Francisco office, however, is still open, and so the SN makes a call to an agent in that office. Finally, the SN bridges the two calls and establishes a two-party call between the sales agent and the Web user. 5.1.3 Web Server-Service Node Interface Lucent developed the Service Support Transfer Protocol (SSTP) for communications between the SN and Web Server. SSTP is of a request/response type running on top of a reliable transport layer, such as TCP. The Web Server sends a request to the SN to invoke a service and the SN responds with a message indicating either success or failure. Note that SSTP engages only the service control function [1, 2, 3] of the SN. 5.1.3.1 Web Server to Service Node In this direction, three kinds of messages may be sent: the Transaction Initiator message, the Data Message, and the End of Data message. The latter two messages are needed if the service to be invoked involves data (such as the case in click-to-fax, click-to-fax-back and voice-access-to-content). This was so designed to handle the varying size of data and to ensure that the size of each stream is within the allowable size of the underlying transport packet data unit (imposed by some implementations of TCP/IP). a. Transaction Initiator This message provides all the necessary information but data for invoking a service. It includes the following information elements: + Transaction ID, which uniquely specifies a service request. The same transaction ID should be used for all the accompanying data- related messages, if the service request involves data. One way for generating unique transaction IDs is to concatenate the information: date, time, Web Server ID (uniquely assigned for each one connected to the SN), and transaction sequence number (a cyclic counter incremented for each service request). + Service ID, which specifies the service to be invoked. The service may be click-to-dial-back, click-to-fax, click-to-fax-back or voice- access-to-content. Lu, et. al. Informational [Page 22] RFC 2458 Pre-PINT Implementations November 1998 + Content Provider ID, which uniquely represents the content provider. This information is the key to accessing the content provider's service logic and data on the SN. + Content Provider Directory Number, which is the telephone or fax number of the content provider to be called through the PSTN. + User Directory Number, which is the telephone or fax number of the user requesting the service. + Billed Party, which specifies the party (either the user or content provider), to be billed. In addition, optional parameters may be sent from the Web Server to the SN. For example, a retry parameter may be sent to specify the number of times the SN will attempt to complete a service request upon failure before the transport connection times out. b. Data Message This message provides the (encapsulated) user data part of a service request. For example, in the case of click-to-fax-back such data are the content to be faxed to the user. Each message is composed of the transaction ID and a data segment. The transaction ID must be the same as that of the transaction initiator part first invoking the service. c. End of Data Message This message contains the transaction ID and the end of data delimiter. The transaction ID is the same as that of the relevant transaction initiator message. 5.1.3.2 Service Node to Web Server The SN must respond to a service request from the Web Server. The response message consists of the information elements: transaction ID, service type, result, time, and error code. + Transaction ID, which is the same as that of the original service request. + Service Type, which is the same as that of the original service request. + Result, which is either success or failure. Lu, et. al. Informational [Page 23] RFC 2458 Pre-PINT Implementations November 1998 + Time, which indicates the time of the day completing the request. + Error Code, which gives the reason for failure. Possible reasons for failure are content provider telephone (or fax) busy, content provider telephone (or fax) no answer, user telephone busy, user refusal to complete, user no answer, nuisance control limit reached, and content provider telephone (or fax) not in the SN database. 5.1.3.3 Usage Scenarios: Click-to-Fax and Click-to-Fax-Back For the click-to-fax and click-to-fax-back services, the Lucent system implemented only the case where the data to be sent as facsimile reside in the Web server. There are at least three messages that need to be sent from the Web server to the Service Node for these services. The first message is the Transaction Initiator that identifies the service type as well as a unique Transaction ID. It also includes the sender/receiver fax number. The next is one or more messages of the data to be faxed. Each message carries the same unique Transaction ID as the above. Last comes the end of message. It consists of the Transaction ID (again, the same as that of the messages preceding it) and the end of data delimiter. Upon receiving these messages, the Service Node, equipped with the special resource of a fax card, converts the data into the G3 format, calls the receiver fax, and sends back the result to the Web server immediately. Note that the receiver fax busy or no answer is interpreted as failure. Further, while the receiver fax answering the call is interpreted as success, it does not necessarily mean that the fax would go through successfully. 5.1.4 Web Server-SMS Interface and SNMP MIB This interface is responsible for uploading the content provider profile from the Web Server to the SMS and for managing the information against any possible corruption. The SN verifies the Content Provider ID and the Content Provider Directory Number sent by the Web Server with the content provider profile pre-loaded from the SMS. The content provider profile was based on ASN.1 [4] structure and SNMP [5] was used to set/get the object identifiers in the SMS database. Lu, et. al. Informational [Page 24] RFC 2458 Pre-PINT Implementations November 1998 Following is an example of the simple MIB available on the SMS. inwebContProviderTable OBJECT-TYPE SYNTAX SEQUENCE OF InwebContProviderEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " A table containing Content Provider profiles " := { inweb 1} inwebContProviderEntry OBJECT-TYPE SYNTAX InwebContProviderEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " A conceptual row of the inweb. Each row contains profile of one Content Provider" INDEX { inwebSmsNumber } := { inwebContProviderTable 1 } InwebContProviderEntry := SEQUENCE { inwebSmsNumber Integer32, inwebContentProviderId Integer32, inwebContentProviderPhoneNumber Integer32, inwebContentProviderFaxNumber Integer32 } inwebSmsNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION " Serial number of the SMS - used for SNMP indexing " := { inwebContProviderEntry 1 } inwebContentProviderId OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION " A number that uniquely identifies each Content Provider " := { inwebContProviderEntry 2 } inwebContentProviderPhoneNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current Lu, et. al. Informational [Page 25] RFC 2458 Pre-PINT Implementations November 1998 DESCRIPTION " Content Provider's Phone Number " := { inwebContProviderEntry 3 } inwebContentProviderFaxNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION " Content Provider's Fax Number " := { inwebContProviderEntry 4 } 5.1.5 Security Considerations The Lucent prototype addressed the security issues concerning the interface between the Web Server and the SN. Those concerning the interface between the Web Server and SMS, which was based in SNMP, were handled by the built-in security features of SNMP. + Secure Communication Links If the Network Operator (PSTN provider) is also the Web Service provider, the Web Server and SN/SMS will communicate over a corporate intranet. This network is almost always protected by the corporation's firewall and so can be deemed secure. This was the case handled by the Lucent prototype. Nevertheless, if different corporations serve as the Network Operator and the Web Service Provider, then it is likely that there may not exist a dedicated secure communication link between the Web Server and SN/SMS. This raises serious security considerations. One possible solution is to use Virtual Private Networks (VPN). VPN features support authentication of the calling and called parties and encryption of the messages sent over insecure links (such as those on the Internet). + Non-Repudiation All transactions were logged on both the Web Server and the Service Node to account for all operations in case of doubt or dispute. The log information on the SN may also be used to generate bills. + Malicious Requests of Users A user may make repeated requests to a content provider directory number maliciously. This scenario was handled by setting a Nuisance Control Limit (NCL) on either the SN or the Web Server or both. The NCL has two parameters: one defining the number of requests from a Lu, et. al. Informational [Page 26] RFC 2458 Pre-PINT Implementations November 1998 user and the other the period over which these requests takes place. A user may also attempt to request a call from a directory number other than that of a content provider. This scenario was handled by verifying the directory number (and the content provider ID) against the database on the SN containing all the content provider information. If the directory number (or the content provider ID) was not in the database, the request would be rejected. 5.2 Siemens Web Call Center 5.2.1 Service Description The Web Call Center is an Intelligent Network System that accepts requests from Internet nodes for services to be provided on the PSTN. As the name suggests, it was designed to support a cluster of services that, taken together, provide a subset of the features of a Call Center, with almost all user interactions provided via World Wide Web requests and responses. See the appendix for a background description of Call Center Features. From an Intelligent Network perspective, there are a number of services that, when combined, provide the Call Center features. The Call Center features as implemented supported the scenario in which a customer makes a request to be called back by an agent at a time of the customer's choosing to discuss an item of interest to him or her. The agent will be selected based on his or her availability and expertise in this topic; the agent will be told whom he or she is calling and the topic of interest, and then the agent will be connected to the customer. In addition, the individual services that were deployed to support this scenario provided support for management of the list of available agents as well. This involved allowing the agent to "log into" and "out of" the system and to indicate whether the agent was then ready to handle calls to the customer. The list of services, as seen from a user perspective, follows. The services support: i) Customer Request service - the customer explores a corporate Web site, selects a link that offers to request an agent to call the customer back and then is redirected to the Web Call Center server. This presents customer with a form asking for name, the telephone number at which he or she wishes to be called, and the time at which the call is to be made. Note will also be made of the page to which the customer was referred to when he or she was redirected. Once the form has been returned, the customer receives an acknowledgment page Lu, et. al. Informational [Page 27] RFC 2458 Pre-PINT Implementations November 1998 listing the parameters he or she has entered. ii) Agent Registration/Logon - An agent requests a "login" page on the Web Call Center server. The service checks whether it has a record of an agent present at the Internet node from which th call is made. If not, then the caller will be sent a form allowing him or her to enter the service identity, the company's agent identifier and password. On return, the service identity and company agent identifier will be checked against a list of known identities. If found, the password will be checked, and if this matches the record held by the service then a new session record is made of this identity and the Internet node from which the call has been made. NB: This is very similar to the Universal Personal Telecommunications (UPT) service feature "register for incoming calls". It implies that the identified person has exclusive use of the Internet node from that point onwards, so messages for them can be directed there. iii) Agent Ready - an agent who has already logged on can indicate that he or she is ready by requesting an appropriate "ready" page on the Web Call Center Server. The service will match the agent by the Internet node Identifier and Agent Identity passed along with the Web request against its list of "active" agents. It will mark them as being ready to handle calls in its list of available agents (with their pre-defined skill set). iv) Agent Not Ready - an agent can request an appropriate "ready" page on the Web Call Center Server to indicate that he or she is temporarily not ready to handle calls. v) Agent Logoff - an agent can request an appropriate "Logout" page on the Web Call Center Server to indicate that he or she is no longer associated with a particular Internet node. The service will match the agent by the Internet Node Identifier and Agent Identity passed along with the Web request against its list of "active" agents. Once foun