home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2458.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  139.2 KB  |  3,364 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Netowrk Working Group                                               H. Lu
  8. Request for Comments: 2458                                         Editor
  9. Category: Informational                                   M. Krishnaswamy
  10.                                                       Lucent Technologies
  11.                                                                 L. Conroy
  12.                                                       Roke Manor Research
  13.                                                               S. Bellovin
  14.                                                                   F. Burg
  15.                                                               A. DeSimone
  16.                                                                 K. Tewani
  17.                                                                 AT&T Labs
  18.                                                               P. Davidson
  19.                                                                    Nortel
  20.                                                            H. Schulzrinne
  21.                                                       Columbia University
  22.                                                           K. Vishwanathan
  23.                                                                 Isochrome
  24.                                                             November 1998
  25.  
  26.  
  27.                Toward the PSTN/Internet Inter-Networking
  28.                        --Pre-PINT Implementations
  29.  
  30. Status of this Memo
  31.  
  32.    This memo provides information for the Internet community.  It does
  33.    not specify an Internet standard of any kind.  Distribution of this
  34.    memo is unlimited.
  35.  
  36. Copyright Notice
  37.  
  38.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  39.  
  40. Abstract
  41.  
  42.    This document contains the information relevant to the development of
  43.    the inter-networking interfaces underway in the Public Switched
  44.    Telephone Network (PSTN)/Internet Inter-Networking (PINT) Working
  45.    Group. It addresses technologies, architectures, and several (but by
  46.    no means all) existing pre-PINT implementations of the arrangements
  47.    through which Internet applications can request and enrich PSTN
  48.    telecommunications services. The common denominator of the enriched
  49.    services (a.k.a. PINT services) is that they combine the Internet and
  50.    PSTN services in such a way that the Internet is used for non-voice
  51.    interactions, while the voice (and fax) are carried entirely over the
  52.    PSTN. One key observation is that the pre-PINT implementations, being
  53.    developed independently, do not inter-operate. It is a task of the
  54.    PINT Working Group to define the inter-networking interfaces that
  55.  
  56.  
  57.  
  58. Lu, et. al.                  Informational                      [Page 1]
  59.  
  60. RFC 2458                Pre-PINT Implementations           November 1998
  61.  
  62.  
  63.    will support inter-operation of the future implementations of PINT
  64.    services.
  65.  
  66. Table of Contents
  67.  
  68.    1.      Introduction    .......................................     3
  69.    2.      Terminology     .......................................     3
  70.    3.      PINT Services   .......................................     4
  71.    4.      Architectural Overview  ...............................     5
  72.    4.1     Public Switched Telephone Network       ...............     5
  73.    4.2     Pre-PINT Systems        ...............................     9
  74.    5.      IN-Based Solutions      ...............................    20
  75.    5.1     The Lucent System       ...............................    20
  76.    5.1.1   Roles of the Web Server, Service Node, and SMS  .......    20
  77.    5.1.2   A Click-to-Dial-Back Service Scenario   ...............    21
  78.    5.1.3   Web Server-Service Node Interface       ...............    22
  79.    5.1.4   Web Server-SMS Interface and SNMP MIB   ...............    24
  80.    5.1.5   Security Considerations     ...........................    26
  81.    5.2     Siemens Web Call Center     ...........................    27
  82.    5.2.1   Service Description     ...............................    27
  83.    5.2.2   Implementation      ...................................    29
  84.    5.2.3   Derived Requirements/Lessons      .....................    35
  85.    6.      Alternative Solutions   ...............................    37
  86.    6.1     The AT&T System   .....................................    37
  87.    6.1.1   High Level Architecture    ............................    38
  88.    6.1.2   IP Client to CallBroker Interface    ..................    39
  89.    6.1.3   Protocol    ...........................................    40
  90.    6.1.4   APIs Exposed to the IP Client     .....................    41
  91.    6.1.5   Voice-Bridge Control API       ........................    41
  92.    6.2     Simple Computer Telephony Protocol      ...............    41
  93.    6.2.1   Overview    ...........................................    41
  94.    6.2.2   How SCTP Fits in with the Reference PINT Services    ..    42
  95.    7.      Session Initiation Protocol--An Emerging Standard    ..    43
  96.    7.1     Overview        .......................................    43
  97.    7.2     SIP Protocol    .......................................    44
  98.    7.3     SIP Entities    .......................................    45
  99.    7.4     Providing Call Control Functionality    ...............    46
  100.    8.      Overall Security Considerations   .....................    47
  101.    9.      Conclusion      .......................................    48
  102.    10.     Acknowledgments     ...................................    48
  103.    11.     Appendix        .......................................    49
  104.    11.1    PSTN/IN 101     .......................................    49
  105.    11.1.1  Public Switched Telephone Network       ...............    49
  106.    11.1.2  Intelligent Network     ...............................    51
  107.    11.2    Call Center Features      .............................    54
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Lu, et. al.                  Informational                      [Page 2]
  115.  
  116. RFC 2458                Pre-PINT Implementations           November 1998
  117.  
  118.  
  119.    12.     References      .......................................    56
  120.    Authors' Addresses    .........................................    57
  121.    Full Copyright Statement     ..................................    60
  122.  
  123. 1. Introduction
  124.  
  125.    This document contains the information relevant to the development of
  126.    the inter-networking interfaces underway in the Public Switched
  127.    Telephone Network (PSTN)/Internet Inter-Networking (PINT) Working
  128.    Group. It addresses technologies, architectures, and several (but by
  129.    no means all) existing pre-PINT implementations of the arrangements
  130.    through which Internet applications can request and enrich PSTN
  131.    telecommunications services. The common denominator of the enriched
  132.    services (a.k.a. PINT services) is that they combine the Internet and
  133.    PSTN services in such a way that the Internet is used for non-voice
  134.    interactions, while the voice (and fax) are carried entirely over the
  135.    PSTN.
  136.  
  137.    The organization of the document is as follows.  First, the basic
  138.    terminology and a short "intuitive" description of the PINT services
  139.    are provided. The rest of the information deals, in one way or the
  140.    other, with the pre-PINT support of these services where they are
  141.    used as a benchmark. Thus, an architectural overview common to all
  142.    present solutions is presented.  The flow of the document then
  143.    divides into two streams: one is dedicated to the Intelligent Network
  144.    (IN)-based solutions; the other explores alternative means (i.e.,
  145.    CallBroker and Computer-Telephony Integration (CTI) approach). At
  146.    this point, the emerging standards are explored, in particular, the
  147.    Session Initiation Protocol (SIP), which promises an elegant solution
  148.    to the PINT problem. Each of the above developments is addressed in a
  149.    respective section. The final sections of the document contain the
  150.    overall security considerations, conclusion, acknowledgments,
  151.    appendix, and a set of references. The security section summarizes
  152.    the PINT security requirements derived from the pre-PINT experiences
  153.    and the appendix presents a tutorial on the PSTN, IN, and Call Center
  154.    functions.
  155.  
  156. 2. Terminology
  157.  
  158.    This document uses the following terminology:
  159.  
  160.    Authentication -- verification of the identity of a party.
  161.  
  162.    Authorization -- determination of whether or not a party has the
  163.    right to perform certain activities.
  164.  
  165.    PINT Gateway -- the PSTN node that interacts with the Internet.
  166.  
  167.  
  168.  
  169.  
  170. Lu, et. al.                  Informational                      [Page 3]
  171.  
  172. RFC 2458                Pre-PINT Implementations           November 1998
  173.  
  174.  
  175.    User or Customer -- the person who asks for a service request to be
  176.    issued. In the context of PINT Services, this person will use an
  177.    Internet host to make his or her request. The term "user" is also
  178.    used to describe a host originating the PINT service request on
  179.    behalf of this person.
  180.  
  181. 3. PINT Services
  182.  
  183.    This document addresses four services initially identified by the
  184.    PINT Working Group and presently supported by pre-PINT
  185.    implementations. These services are: click-to-dial-back, click-to-
  186.    fax, click-to-fax-back and voice-access-to-content.
  187.  
  188.    Note that the word "click" should not be taken literally. It is
  189.    rather used to point out that initiation of the related services
  190.    takes place on the Internet, where point and click are the most
  191.    prevalent user actions.  In other words, a service request could
  192.    originate from any type of IP-based platforms. There is no
  193.    implication that these services must be implemented by a device
  194.    within the PSTN or the Internet running a Web server.
  195.  
  196.    The common denominator of the PINT services is that they combine the
  197.    Internet and PSTN services in such a way that the Internet is used
  198.    for non-voice interactions, while the voice (and fax) are carried
  199.    entirely over the PSTN. (An example of such a service is combination
  200.    of a Web-based Yellow Pages service with the ability to initiate PSTN
  201.    calls between customers and suppliers in a manner described in what
  202.    follows.)
  203.  
  204.    Some of the benefits of using the PSTN are high quality of the voice,
  205.    an ability to route the call to different locations depending on
  206.    pre-set criteria (for example, time of the day, day of the week, and
  207.    geographic location), outstanding security and reliability, and
  208.    access to flexible, low cost, and secure billing and charging
  209.    systems. The benefits of using the Internet are the uniform, well-
  210.    defined, and widely-used interfaces available anywhere, anytime.
  211.  
  212.    Click-to-Dial-Back
  213.  
  214.    With this service, a user requests (through an IP host) that the PSTN
  215.    call be established between another party and himself or herself. An
  216.    important pre-requisite for using this service is that the user has
  217.    simultaneous access to both the PSTN and Internet.
  218.  
  219.    One example of an application of this service is on-line shopping: a
  220.    user browsing through an on-line catalogue, clicks a button thus
  221.    inviting a call from a sales representative. Note that (as is the
  222.    case with the all-PSTN Free-Phone, or "800", service) flexible
  223.  
  224.  
  225.  
  226. Lu, et. al.                  Informational                      [Page 4]
  227.  
  228. RFC 2458                Pre-PINT Implementations           November 1998
  229.  
  230.  
  231.    billing arrangements can be implemented here on behalf of the service
  232.    provider. In addition (and also similarly to the Free-Phone/800), the
  233.    PSTN could route the call depending on the time of day, day of week,
  234.    availability of agents in different locations, and so on.
  235.  
  236.    Click-to-Fax
  237.  
  238.    With this service, a user at an IP host requests that a fax be sent
  239.    to a particular fax number. In particular this service is especially
  240.    meaningful when the fax is to be sent to someone who has only a fax
  241.    machine (but no access to the Internet). Consider, as an example, a
  242.    service scenario in which a Web user makes a reservation for a hotel
  243.    room in Beijing from a travel service page containing hotel
  244.    information of major cities around the world. Suppose a specific
  245.    Beijing hotel chosen by the user does not have Internet connection
  246.    but has a fax machine. The user fills out the hotel reservation form
  247.    and then clicks a button sending out the form to the travel service
  248.    provider, which in turn generates a fax request and sends it together
  249.    with the hotel reservation form to the PSTN. Upon receiving the
  250.    request and the associated data, the PSTN translates the data into
  251.    the proper facsimile format and delivers it to the Beijing hotel as
  252.    specified in the fax request.
  253.  
  254.    Click-to-Fax-Back
  255.  
  256.    With this service, a user at an IP host can request that a fax be
  257.    sent to him or her. (Consider the user of the previous example, who
  258.    now requests the confirmation from the Beijing Hotel. Another useful
  259.    application of the service is when size of the information that a
  260.    user intends to get is so large that downloading it to the user's PC
  261.    over the Internet will require a long time and a lot of disk space.)
  262.  
  263.    Voice-Access-to-Content
  264.  
  265.    With this service, a user at an IP host requests that certain
  266.    information on the Internet be accessed (and delivered) in an audio
  267.    form over the PSTN, using the telephone as an informational
  268.    appliance. One application of this service is to provide Web access
  269.    to the blind.  (This may require special resources--available in the
  270.    PSTN--to convert the Web data into speech.)
  271.  
  272. 4. Architectural Overview
  273.  
  274. 4.1 Public Switched Telephone Network
  275.  
  276.    From an application perspective, Internet nodes are interconnected
  277.    directly, as shown in Figure 1. When two machines are to communicate,
  278.    they will have the address of the destination end system, and will
  279.  
  280.  
  281.  
  282. Lu, et. al.                  Informational                      [Page 5]
  283.  
  284. RFC 2458                Pre-PINT Implementations           November 1998
  285.  
  286.  
  287.    send network level datagrams, assuming that the underlying
  288.    infrastructure will deliver them as required.
  289.  
  290.                                    _____
  291.                  __          _____/     \_____
  292.                 [__]        /                 \
  293.                [----]-.-.-.-.   Internet       .-.
  294.                             \_____     _______/  |
  295.                               __  \__./     __   .
  296.                              [__]   /      [__]  |
  297.                             [----]-.      [----]-.
  298.  
  299.                Key: .-.-. Internet Access Link
  300.  
  301.                                  Figure 1
  302.  
  303.    Where all nodes are on the same (broadcast) network, there is no need
  304.    for intervening routers; they can send and deliver packets to one
  305.    another directly. The Internet nodes are responsible for their own
  306.    communications requests, and act as peers in the communication
  307.    sessions that result.
  308.  
  309.    This contrasts with the situation in the PSTN. There, the end systems
  310.    are configured as shown in Figure 2. The end systems tend to be
  311.    specific to a particular type of traffic, so that, for example, the
  312.    majority of terminals are dedicated to carrying speech traffic
  313.    (telephones) or to carrying facsimile data (fax machines). The
  314.    terminals all connect to Central Offices (COs) via access lines, and
  315.    these COs are interconnected into a network.
  316.  
  317.     /--\
  318.    ()/\()__
  319.     /__\   \       .................................
  320.             \      !             !                 !           /--\
  321.      __      \   [-!-]         [-!-]               !          ()/\()
  322.      \ \      \__[CO ]=========[CO ]==\\           !        ___/__\
  323.     [Fax]________[---]         [---]   \\        [-!-]     /   __
  324.                                         \\=======[CO ]____/    \ \
  325.                                                  [---]________[Fax]
  326.    Key: ___   Access Lines
  327.         ===   Trunk Links (inter-CO user data links)
  328.         ...   Inter-CO signaling network links
  329.         CO    Central Office (Telephone Exchange)
  330.  
  331.                                  Figure 2
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Lu, et. al.                  Informational                      [Page 6]
  339.  
  340. RFC 2458                Pre-PINT Implementations           November 1998
  341.  
  342.  
  343.    Communications between the terminals are all "circuit switched", so a
  344.    dedicated synchronous data path (or circuit) needs to be placed
  345.    between the end terminals for carrying all communications. Arranging
  346.    for such a circuit to be made or removed (cleared) is the
  347.    responsibility of the Central Offices in the network. A user makes a
  348.    request via his or her terminal, and this request is passed on to the
  349.    "local" Central Office. The relationship between the terminals and
  350.    the local Central Offices to which they are connected is strictly
  351.    Client/Server.
  352.  
  353.    The COs are interconnected using two different types of connections.
  354.    One of these is called a trunk connection (shown as a double line in
  355.    the above figure) and is used to carry the data traffic generated by
  356.    the terminals. The other connection acts as part of a separate
  357.    network (and is shown as a dotted line in the above figure). This is
  358.    the signaling network, and is used by the Central Offices to request
  359.    a connection to be made between themselves and the destination of the
  360.    required circuit. This will be carried across the trunk link to the
  361.    "next" Central Office in the path. The path, once in place through
  362.    the PSTN, always takes the same route. This contrasts with the
  363.    Internet, where the underlying datagram nature of the infrastructure
  364.    means that data packets are carried over different routes, depending
  365.    on the combined traffic flows through the network at the time.
  366.  
  367.    The call set up process can be viewed as having two parts: one in
  368.    which a request for connection is made, and the other in which the
  369.    circuit is made across the PSTN and call data flows between the
  370.    communicating parties. This is shown in the next pair of figures (3a
  371.    and 3b).
  372.  
  373.  
  374.                             /--\
  375.                            ()  ()
  376.                              --____
  377.                             /++\   \
  378.                            /----\   \
  379.                               A      \   [-!-]
  380.                                       \->[CO ]
  381.                                          [---]
  382.                            Time = 13:55
  383.  
  384.                                  Figure 3a
  385.  
  386.  
  387.    Key: ___   Access Lines
  388.         ===   Trunk Links (inter-CO user data links)
  389.         ...   Inter-CO signaling network links
  390.         CO    Central Office (Telephone Exchange)
  391.  
  392.  
  393.  
  394. Lu, et. al.                  Informational                      [Page 7]
  395.  
  396. RFC 2458                Pre-PINT Implementations           November 1998
  397.  
  398.  
  399.     /--\
  400.    ()  ()
  401.      --            .................................
  402.     /  \<---       ^             !                 !           /--\
  403.    /----\   \      !             v                 !          ()  ()
  404.       A'     \   [-!-]         [-!-]               !            --
  405.               \__[CO ]=========[CO ]==\\           v        ->-/  \
  406.                  [---]         [---]   \\        [-!-]     /  /----\
  407.                                         \\=======[CO ]____/     B'
  408.    Time = 14:00                                  [---]
  409.  
  410.                                  Figure 3b
  411.  
  412.    Figure 3 shows a particular kind of service that can be provided;
  413.    call booking. With this service, a request is sent for a connection
  414.    to be made between the A and B telephones at a specified time. The
  415.    telephone is then replaced (the request phase is terminated). At the
  416.    specified time, the CO will make a connection across the network in
  417.    the normal way, but will, first, ring the "local" or A' telephone to
  418.    inform the user that his or her call is now about to be made.
  419.  
  420.    For more complex services, the requesting telephone is often
  421.    connected via its "local" CO to a Service Node (SN), where the user
  422.    can be played prompts and can specify the parameters of his or her
  423.    request in a more flexible manner.  This is shown below, in Figures
  424.    4a and 4b. For more details of the operation of the Service Node (and
  425.    other Intelligent Network units), see the Appendix.
  426.  
  427.    When the SN is involved in the request and in the call setup process,
  428.    it appears, to the CO, to be another PSTN terminal. As such, the
  429.    initial request is routed to the Service Node, which, as an end
  430.    system, then makes two independent calls "out" to A' and B'.
  431.  
  432.                              /--\         [---]
  433.                             ()  ()        [SN ]
  434.                               --___       [|--]
  435.                              /++\  \       |
  436.                             /----\  \      |
  437.                                      \     |
  438.                                A      \   [|-!]
  439.                                        \->[CO ]
  440.                                           [---]
  441.                             Time = 13:55
  442.  
  443.                                  Figure 4a
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Lu, et. al.                  Informational                      [Page 8]
  451.  
  452. RFC 2458                Pre-PINT Implementations           November 1998
  453.  
  454.  
  455.    Key: ___   Access Lines
  456.         ===   Trunk Links (inter-CO user data links)
  457.         ...   Inter-CO signaling network links
  458.         CO    Central Office (Telephone Exchange)
  459.         SN    Service Node
  460.  
  461.  
  462.     /--\         [---]
  463.    ()  ()        [SN ]
  464.      --          [|--]                                           /--\
  465.     /  \<--       |   ...............................           ()  ()
  466.    /----\  \      |  ^             !                !             --
  467.             \     | /              v                v            /  \
  468.       A'     \   [|-!]            [-!-]            [-!-]     ->-/----\
  469.               \--[CO ]            [CO ]            [CO ]    /
  470.                  [---]            [---]            [---]___/      B'
  471.    Time = 14:00
  472.  
  473.                                  Figure 4b
  474.  
  475.    Note that in both cases as shown in Figures 3 and 4 a similar service
  476.    can be provided in which the B' telephone is replaced by an
  477.    Intelligent Peripheral (or an Special Resource Functional entity
  478.    within a Service Node), playing an announcement. This allows a "wake
  479.    up" call to be requested, with the Intelligent Peripheral or Service
  480.    Node Special Resource playing a suitable message to telephone A' at
  481.    the specified time. Again, for more details of the operation of the
  482.    Special Resources (and other Intelligent Network units), see the
  483.    Appendix.
  484.  
  485. 4.2 Pre-PINT Systems
  486.  
  487.    Although the pre-PINT systems reported here (i.e., those developed by
  488.    AT&T, Lucent, Siemens and Nortel) vary in the details of their
  489.    operation, they exhibit similarities in the architecture. This
  490.    section highlights the common features. Specific descriptions of
  491.    these systems will follow.
  492.  
  493.    All of the systems can be seen as being quite similar to that shown
  494.    in the following diagram. In each case, the service is separated into
  495.    two parts; one for the request and another for execution of the
  496.    service. Figure 5 summarizes the process.
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Lu, et. al.                  Informational                      [Page 9]
  507.  
  508. RFC 2458                Pre-PINT Implementations           November 1998
  509.  
  510.  
  511.                                 _____
  512.               __          _____/     \_____
  513.              [__]        /                 \
  514.             [-++-]-.-.>.-.   Internet       .-.-
  515.                          \_____     _______/   .
  516.                                \___/           v
  517.                                        [----]  .
  518.                                        [PINT]-.-
  519.                                        [----]
  520.                                          %
  521.                                          v
  522.                                        [---]
  523.                                        [SN ]
  524.                                        [|--]
  525.  
  526.                                  Figure 5a
  527.  
  528.    Key: CO    Central Office (Telephone Exchange)
  529.         SN    Service Node
  530.         PINT  PSTN/Internet Gateway
  531.         .-.-. Internet Access Link
  532.         %%%   Gateway/Service Node Link
  533.         ___   PSTN Access Lines
  534.         ===   PSTN Trunk Links (inter-CO user data links)
  535.         ...   Inter-CO signaling network links
  536.  
  537.                        _____
  538.      __          _____/     \_____
  539.     [__]        /                 \
  540.    [----]-.-.-.-.   Internet       .-.-
  541.                 \_____     _______/   .
  542.                       \___/           |
  543.                               [----]  .
  544.                               [PINT]-.-
  545.                               [-%--]
  546.                                 %
  547.                                 %
  548.                  /--\         [-%-]
  549.                 ()  ()        [SN ]
  550.                   --          [|--]                               /--\
  551.                  /  \<--       |    ....................         ()  ()
  552.                 /----\  \      |   ^        !          !           --
  553.                          \     |  /         v          v          /  \
  554.                    A'     \   [|-!]       [-!-]      [-!-]    ->-/----\
  555.                            \--[CO ]=======[CO ]======[CO ]   /
  556.                               [---]       [---]      [---]__/      B'
  557.  
  558.                                  Figure 5b
  559.  
  560.  
  561.  
  562. Lu, et. al.                  Informational                     [Page 10]
  563.  
  564. RFC 2458                Pre-PINT Implementations           November 1998
  565.  
  566.  
  567.    Comparing Figure 4a with Figure 5a, the differences lie in the way
  568.    that the information specifying the request is delivered to the
  569.    Service Node. In the PSTN/IN method shown in the earlier diagram, the
  570.    user connects to the SN from the telephone labeled A, with the
  571.    connection being routed via the CO. In the latter case, the request
  572.    is delivered from an Internet node, via the PINT gateway, and thence
  573.    to the Service Node over a "private" link. The effect is identical,
  574.    in that the request for service is specified (although the actual
  575.    parameters used to specify the service required may differ somewhat).
  576.  
  577.    The figures depicting the respective service execution phases
  578.    (Figures 4b and 5b) show that the operation, from the IN/PSTN
  579.    perspective, is again identical. The Service Node appears to initiate
  580.    two independent calls "out" to telephones A' and B'.
  581.  
  582.    The alternative systems developed by AT&T and by Nortel allow another
  583.    option to be used in which the PINT Gateway does not have to connect
  584.    to the PSTN via a Service Node (or other Intelligent Network
  585.    component), but can instead connect directly to Central Offices that
  586.    support the actions requested by the gateway. In these alternatives,
  587.    the commands are couched at a "lower level", specifying the call
  588.    states required for the intended service connection rather than the
  589.    service identifier and the addresses involved (leaving the
  590.    Intelligent Network components to coordinate the details of the
  591.    service call on the gateway's behalf). In this way the vocabulary of
  592.    the commands is closer to that used to control Central Offices. The
  593.    difference really lies in the language used for the services
  594.    specification, and all systems can use the overall architecture
  595.    depicted in Figure 5; the only question remains whether the
  596.    Intelligent Network components are actually needed in these other
  597.    approaches.
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Lu, et. al.                  Informational                     [Page 11]
  619.  
  620. RFC 2458                Pre-PINT Implementations           November 1998
  621.  
  622.  
  623.    The following diagram (Figure 6) shows the interface architecture
  624.    involved in providing the kind of service mentioned above.
  625.  
  626.  
  627.                             Internet  __                     __
  628.                             Server   [__]        _______    [__]
  629.                                [W3S-]-. ___/    .-.-.-[W3C-] Internet
  630.                      _________________|/.-.-.-.-.   \         Terminal
  631.                     /               .. .             \
  632.                     | Internet     / .  \             |
  633.                     \___________  .  .   .           /
  634.                                 \/___|____\_________/
  635.                                 .    .      .
  636.                                /      |       \
  637.                             (A)      (B)      (E)
  638.                            .          .          .
  639.                          _|_         _|_         _|_
  640.                         [SN ]<-(D)--[SMS]--(H)->[SCP]
  641.                         [|-|]        ---        [-!-]
  642.                         /  \                      !
  643.                       (C)  (I)   ...........(F)...!.(G).
  644.                      /        \  !                     !
  645.                   [--|]       [|-!]                  [-!-]
  646.                   [CO ]       [MSC]                  [SSP]
  647.                   [---]       [---] \|/              [---]
  648.              /--\   |           |____|                 |   /--\
  649.             ()/\()  |                                  |  ()/\()
  650.              /--\___|                1                 |___/--\
  651.     Fixed PSTN Terminal             []            Fixed PSTN Terminal
  652.                              Mobile Terminal
  653.  
  654.    Key: W3S   HTTP (Web) Server
  655.         W3C   HTTP (Web) Client/Browser
  656.         CO    Central Office (Telephone Exchange)
  657.         MSC   Mobile Switching Center (Mobile Network Telephone
  658.               Exchange)
  659.         SN    Service Node
  660.         SSP   Service Switching Point
  661.         SCP   Service Control Point
  662.         SMS   Service Management System
  663.         .-.-. Internet relationship
  664.         ___   PSTN Access relationship
  665.         ...   PSTN "core" signaling relationship
  666.  
  667.                                  Figure 6
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Lu, et. al.                  Informational                     [Page 12]
  675.  
  676. RFC 2458                Pre-PINT Implementations           November 1998
  677.  
  678.  
  679.    The interfaces are:
  680.  
  681.    A    The interface over which Internet requests for service are
  682.         delivered to the Service Node
  683.    B    The interface over which Service Management requests are sent
  684.         from the Internet to the Service Management System
  685.    C    The interface over which the Service Node sends call control
  686.         requests to a connected Central Office
  687.    D    The interface over which the Service Management System manages
  688.         the Service Node
  689.    E    The interface over which Internet requests for service are
  690.         delivered to the Service Control Point
  691.    F    The interface over which the Service Control Point sends service
  692.         call control requests to the Mobile Switching Center
  693.    G    The interface over which the Service Control Point sends service
  694.         control requests to the Service Switching Point
  695.    H    The interface over which the Service Management System manages
  696.         the Service Control Point
  697.    I    The interface over which the Service Node sends service call
  698.         control requests to the Mobile Switching Center
  699.  
  700.    In practice, a number of the interfaces have very similar purposes to
  701.    one another. The means by which these purposes are achieved differ,
  702.    in that some of the interfaces (C and I) reflect access arrangements,
  703.    whilst others (F and G) imply a "core" signaling relationship.
  704.    However, it is possible to categorize them in terms of the "intent"
  705.    of messages sent across the interfaces.
  706.  
  707.    For example, Interfaces A and E are similar; one of the main aims of
  708.    PINT work is to ensure that they are the same. Similarly, Interfaces
  709.    D and H imply similar actions and are likely to carry similar
  710.    messages. Interfaces C, F, G, and I are all used to request that a
  711.    call be initiated, albeit via access or core signaling relationships.
  712.  
  713.    The interfaces can also be viewed in terms of the kind of components
  714.    that are involved and the bodies by which they are codified.
  715.    Interfaces A, B, and E are all going to be realized as Internet
  716.    Protocols.  All of the others use existing protocols in the PSTN/IN.
  717.    Traditionally, these have been codified by different groups, and this
  718.    is likely to be the case in the PINT work.
  719.  
  720.    The general arrangements for the different systems are shown below
  721.    (Figures 7, 8, 9, and 10). They differ in the details of their
  722.    configurations, but the main tasks they perform are very similar, and
  723.    so the overall operation is similar to the generic architecture shown
  724.    in Figures 5 and 6.
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Lu, et. al.                  Informational                     [Page 13]
  731.  
  732. RFC 2458                Pre-PINT Implementations           November 1998
  733.  
  734.  
  735.    Key for following diagrams:
  736.  
  737.        Components:
  738.  
  739.    W3C     World Wide Web Client
  740.    W3S     World Wide Web Server
  741.    WSA     Web Server "Back End Program" Interface (CGI or Servlet
  742.            interface)
  743.    Srvlt   Servlet "back end" program/objects
  744.    FS      Finger Server
  745.    SCTPC   Simple Computer Telephony Protocol Client
  746.    SCTPS   Simple Computer Telephony Protocol Server
  747.    CBC     CallBroker Client
  748.    CBS     CallBroker Server
  749.    SSTPC   Service Support Transport Protocol Client
  750.    SSF     Service Switching Function
  751.    SCF     Service Control Function
  752.    SRF     Special Resource Function
  753.    CO      Central Office/ Public Telephone Exchange
  754.    SSP     Service Switching Point
  755.    SCP     Service Control Point
  756.    SR/I.IP Special Resource/ "Internet" Intelligent Peripheral
  757.    SMS     Service Management System
  758.    INAPAd  Intelligent Network Application Part Adaptor
  759.    PktFlt  Packet Filter (Firewall)
  760.    SNMPAg  Simple Network Management Protocol Agent
  761.  
  762.        Protocols:
  763.  
  764.    P0    HyperText Transfer Protocol
  765.    P1    HTTP Server <-> "Back End Program" internal protocol
  766.    P2    CallBroker Client <-> CallBroker Server protocol (AT&T system),
  767.       or SCTP Client <-> Server protocol (Nortel system)
  768.    P3    PINT User Agent <-> PINT Gateway protocol
  769.    P4    Intra-Intelligent Network protocol (e.g., INAP)
  770.    P5    Proprietary (INAP-based) Gateway-> I.IP protocol
  771.    P6    Finger protocol
  772.    P7    Digital Subscriber Signaling 1 protocol
  773.    P8    Simple Network Management Protocol
  774.    P9    SMS <-> Service Control Point/Service Node protocol
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Lu, et. al.                  Informational                     [Page 14]
  787.  
  788. RFC 2458                Pre-PINT Implementations           November 1998
  789.  
  790.  
  791.     _____             _______             _____
  792.    |[W3C]|----(p0)-->| [W3S] |<--(p0)----|[W3C]|
  793.    |[---]|           | [WSA] |           |[FS.]|
  794.    |-----|           |   !   |           |[-!-]|
  795.                      |  (p1) |           |--\--|
  796.                      |   !   |               ^
  797.                      |   !   |               (p6)
  798.                      |   !   |                 \
  799.                      |  (p1) |                  \
  800.                      |   !   |                   \
  801.                      |[Srvlt]|                    \
  802.                      |___!___|                     \
  803.                          !                          \
  804.                         (p3)                         \
  805.  Internet                !                            !
  806.  .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.!.+.+.+.+.+.
  807.  PSTN/IN  _______________!_________________       ____!_____ __________
  808.           |I         [PktFlt]            I|       |[PktFlt]| |[PktFlt]|
  809.           |N          Gateway            N|       |   !    | |   !    |
  810.           |A ___________________________ A|       |   !    | |   !    |
  811.           |P |                         | P|       |   !    | |[SNMPAg]|
  812.   -(p4)-- |A | <-(p4)-> [SCP] <-(p4)-> | A|-(p5)->|[SR/IIP]| | [SMS]  |
  813.   \       |d |          [-^-]          | d|       |[------]| | [-^-]  |
  814.    \      |__|            !            |__|       |________| |___!____|
  815.     \                     !                                      !
  816.    [-v-]                  !-----------------(p9)-----------------!
  817.    [SSP]
  818.    [---]
  819.  ___| |______
  820.  |           |
  821.  |  /--\     |    /--\
  822.  | ()/\()    |   ()/\()
  823.  |__/__\     |____/__\
  824.  
  825.  
  826.                  Figure 7: The Siemens Web Call Center
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Lu, et. al.                  Informational                     [Page 15]
  843.  
  844. RFC 2458                Pre-PINT Implementations           November 1998
  845.  
  846.  
  847.     _____             _______
  848.    |[W3C]|----(p0)-->| [W3S] |
  849.    |[---]|           | [WSA] |
  850.    |-----|           |   !   |
  851.                      |  (p1) |
  852.                      |   !   |
  853.                      |   !   |
  854.                      |   !   |
  855.                      |  (p1) |
  856.                      |   !   |
  857.                      |[SSTPC]|-<----------------------------------
  858.                      |___!___|                                   !
  859.                          !                                      (p8)
  860.                         (p3)                                     !
  861.  Internet                !                                       v
  862.  .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+. ! .+.+
  863.  PSTN/IN  _______________!__________________________________ ____!_____
  864.           |          [PktFlt]        Service       [PktFlt]| |[PktFlt]|
  865.           |              !             Node                | |   !    |
  866.           |        [SCF Adaptor]                           | |   !    |
  867.           |               !                                | |[SNMPAg]|
  868.           |[SSF]<-(p4)->[SCF] <-------(p4)--------> [SRF]  | | [SMS]  |
  869.           |[|--]        [-^-]                       [---]  | | [-^-]  |
  870.           |_|_____________!________________________________| |___!____|
  871.             |             !                                      !
  872.    [-v-]  (p7)            !-----------------(p9)-----------------!
  873.    [CO.]____|
  874.    [---]
  875.  ___| |_______
  876.  |           |
  877.  |  /--\     |    /--\
  878.  | ()/\()    |   ()/\()
  879.  |__/__\     |____/__\
  880.  
  881.                       Figure 8: The Lucent System
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Lu, et. al.                  Informational                     [Page 16]
  899.  
  900. RFC 2458                Pre-PINT Implementations           November 1998
  901.  
  902.  
  903.     _____             ________
  904.    |[W3C]|----(p0)-->| [W3S]  |
  905.    |[---]|           | [WSA]  |
  906.    |-----|           |   !    |
  907.                      |  (p1)  |
  908.                      |   !    |
  909.                      |[WS/CBS]|
  910.                      |[Adaptr]|
  911.                      |___!____|
  912.                          ^
  913.                         (p2)
  914.     _____             ___v____
  915.    |[CBC]|           | [CBS]  |
  916.    |[---]|<---(p2)-->| [---]  |-<---------------------------------
  917.    |-----|           |___!____|                                  !
  918.                          !                                      (p8)
  919.                         (p3)                                     !
  920.  Internet                !                                       v
  921.  .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+. ! .+.+
  922.  PSTN/IN  _______________!__________________________________ ____!_____
  923.           |          [PktFlt]        Service       [PktFlt]| |[PktFlt]|
  924.           |              !             Node                | |   !    |
  925.           |        [SCF Adaptor]                           | |   !    |
  926.           |               !                                | |[SNMPAg]|
  927.           |[SSF]<-(p4)->[SCF] <-------(p4)--------> [SRF]  | | [SMS]  |
  928.           |[|--]        [-^-]                       [---]  | | [-^-]  |
  929.           |_|_____________!________________________________| |___!____|
  930.             |             !                                      !
  931.    [---]  (p7)            !-----------------(p9)-----------------!
  932.    [CO.]____|
  933.    [---]
  934.  ___| |_______
  935.  |           |
  936.  |  /--\     |    /--\
  937.  | ()/\()    |   ()/\()
  938.  |__/__\     |____/__\
  939.  
  940.                        Figure 9: The AT&T System
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Lu, et. al.                  Informational                     [Page 17]
  955.  
  956. RFC 2458                Pre-PINT Implementations           November 1998
  957.  
  958.  
  959.     _____             ________
  960.    |[W3C]|----(p0)-->| [W3S]  |
  961.    |[---]|           | [WSA]  |
  962.    |-----|           |   !    |
  963.                      |  (p1)  |
  964.                      |   !    |
  965.                      |[WS/   ]|
  966.                      |[ SCTPS]|
  967.                      |[Adaptr]|
  968.                      |___!____|
  969.                          ^
  970.                         (p2)
  971.   _______             ___v___
  972.  |[SCTPC]|           |[SCTPS]|
  973.  |[-----]| <-(p2)--> |[-----]|-<----------------------------------
  974.  |-------|           |___!___|                                   !
  975.                          !                                      (p8)
  976.                         (p3)                                     !
  977.  Internet                !                                       v
  978.  .+.+.+.+.+.+.+.+.+.+.+. v .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+. ! .+.+.
  979.  PSTN/IN  _______________!__________________________________ ____!_____
  980.           |          [PktFlt]        Service       [PktFlt]| |[PktFlt]|
  981.           |              !             Node                | |   !    |
  982.           |        [SCF Adaptor]                           | |   !    |
  983.           |               !                                | |[SNMPAg]|
  984.           |[SSF]<-(p4)->[SCF] <-------(p4)--------> [SRF]  | | [SMS]  |
  985.           |[|--]        [-^-]                       [---]  | | [-^-]  |
  986.           |_|_____________!________________________________| |___!____|
  987.             |             !                                      !
  988.    [---]  (p7)            !-----------------(p9)-----------------!
  989.    [CO.]____|
  990.    [---]
  991.  ___| |_______
  992.  |           |
  993.  |  /--\     |    /--\
  994.  | ()/\()    |   ()/\()
  995.  |__/__\     |____/__\
  996.  
  997.                       Figure 10: The Nortel System
  998.  
  999.    As these are independent systems developed by different groups, the
  1000.    names of the components, unsurprisingly, don't match. Some features
  1001.    are offered by one of the systems, while they aren't by others.
  1002.    However, there are a number of common features. All of the systems
  1003.    provide a Web-based interface (at least as an option), using "back
  1004.    end" programs to construct protocols to pass onwards to the
  1005.    Intelligent Network system.
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Lu, et. al.                  Informational                     [Page 18]
  1011.  
  1012. RFC 2458                Pre-PINT Implementations           November 1998
  1013.  
  1014.  
  1015.    Several Intelligent Network Functional Entities are combined into a
  1016.    Service Node in the Lucent, AT&T , and Nortel systems, while in the
  1017.    Siemens scheme they are separate units. However, this is not
  1018.    particularly important for the provision of the services they offer.
  1019.  
  1020.    The main difference lies in whether or not the SCF is "aware" of the
  1021.    Internet interface and has been modified to be "complicit" in
  1022.    supporting these Internet requests. The Siemens approach was to re-
  1023.    use an existing SCP, providing a gateway function to translate as
  1024.    needed.  The Lucent system used a "lighter weight" SCF adapter to
  1025.    terminate the Internet protocols, as the SCF was modified to support
  1026.    the Internet interface directly.
  1027.  
  1028.    The AT&T CallBroker and Nortel SCTP Servers introduce an intermediate
  1029.    protocol (labeled p2) that allows an alternative to the Web based
  1030.    interface supported by the others. This protocol matches the
  1031.    "CallBroker Client API", or the "SCTP Client API". These options
  1032.    provide for a bi-directional protocol, with indications sent from the
  1033.    Call Broker or SCTP Server to the Client as needed.  This is not
  1034.    easily possible using an HTTP-based scheme (and in the Siemens case,
  1035.    a dedicated Finger client/server pair was used to emulate such an
  1036.    interface)
  1037.  
  1038.    The protocol between the Internet server and the Intelligent Network
  1039.    (labeled p3 in the above diagrams) differs in each of the systems.
  1040.    One of the main aims of future work will be to develop a common
  1041.    protocol that will support the services offered, so that the p3
  1042.    interface will allow different implementations to inter-operate. In
  1043.    the Lucent, Siemens, and Nortel systems, this was an "internal"
  1044.    protocol, as it was carried between entities within the Service Node
  1045.    or Gateway.
  1046.  
  1047.    Other contrasts between the systems lie in the support for Internet
  1048.    access to Service Management, and access to the Internet by Special
  1049.    Resources. Internet Management access was most developed in the
  1050.    Lucent system, in which a Simple Network Management Protocol (SNMP)
  1051.    agent was provided to allow inter-operation with the SMS controlling
  1052.    the Service Node. In the Siemens scheme, the SMS had no direct
  1053.    Internet access; any management actions were carried out within the
  1054.    normal PSTN management activities. As for Internet access to special
  1055.    resources, this was only required by the Siemens system as part of
  1056.    its support for Call Center agent notification. Equivalent
  1057.    functionality would be provided in the AT&T and Nortel systems as
  1058.    mentioned above, and this would in turn be associated with event
  1059.    notifications being sent as part of their (p3) Internet/IN protocol.
  1060.    These differences reflect the different emphases in the products as
  1061.    they were developed; again, future work will have to ensure that
  1062.    common protocols can be used to support the chosen services fully.
  1063.  
  1064.  
  1065.  
  1066. Lu, et. al.                  Informational                     [Page 19]
  1067.  
  1068. RFC 2458                Pre-PINT Implementations           November 1998
  1069.  
  1070.  
  1071. 5. IN-Based Solutions
  1072.  
  1073. 5.1 The Lucent System
  1074.  
  1075.    Figure 11 depicts the overall interconnection architecture of the
  1076.    Lucent prototype in support of the four PINT services. The IN-based
  1077.    architecture utilizes the Service Node and Service Management System
  1078.    in addition to the Web server, which enables Web-based access to the
  1079.    PINT services. This section summarizes the roles of these elements
  1080.    (complemented by a click-to-dial-back service scenario), outlines the
  1081.    interfaces of Web Server-Service Node and Web Server-Service
  1082.    Management System (i.e., the interfaces A & B), and addresses the
  1083.    common security concerns.
  1084.  
  1085. 5.1.1 Roles of the Web Server, Service Node, and Service Management
  1086.       System
  1087.  
  1088.    Web Server
  1089.  
  1090.    The Web Server stores the profiles of content providers as well as
  1091.    pre-registered users. The content provider profile contains
  1092.    information such as content provider ID, telephone number, and fax
  1093.    number. In addition, the profile may also include service logic that
  1094.    specifies, for example, the telephone (or fax) number to be reached
  1095.    based on time of the day, day of the week, or geographical location
  1096.    of the user, and the conditions to accept the charge of the calls.
  1097.  
  1098.    Similar to the content provider profile, the pre-registered user
  1099.    profile contains information such as user name, password, telephone
  1100.    number, and fax number. The last two pieces of information can also
  1101.    be linked to time of the day and day of the week so the user can be
  1102.    reached at the appropriate telephone (or fax) number accordingly.
  1103.  
  1104.    Service Node
  1105.  
  1106.    Situated in the PSTN, the SN, like the SCP, performs the service
  1107.    control function [1, 2, 3]. It executes service logic and instructs
  1108.    switches on how to complete a call. The SN also performs certain
  1109.    switching functions (like bridging of calls) as well as a set of
  1110.    specialized functions (like playing announcements, voice recognition
  1111.    and text-to-speech conversion).
  1112.  
  1113.    Service Management System
  1114.  
  1115.    The SMS performs administration and management of service logic and
  1116.    customer-related data on the SN. It is responsible for the
  1117.    replication of content provider profiles and provision of these data
  1118.    on the SN. These functions are non-real time.
  1119.  
  1120.  
  1121.  
  1122. Lu, et. al.                  Informational                     [Page 20]
  1123.  
  1124. RFC 2458                Pre-PINT Implementations           November 1998
  1125.  
  1126.  
  1127.     Web Users
  1128.                                   ____________
  1129.     O --------------------------  | Internet |-------------------
  1130.                                   ------------                  |
  1131.                                                                 |
  1132.                                                                 |
  1133.    ----------------            --------------               ------------
  1134.    | Service Node |     D      | Service    |       B       |Web Server|
  1135.    |     (SN)     |------------| Management |---------------|          |
  1136.    |              |            |System (SMS)|               |          |
  1137.    |              |      A     --------------               |          |
  1138.    |              |-----------------------------------------|          |
  1139.    ----------------                                         ------------
  1140.       |         |
  1141.       | I       | C
  1142.       |         |
  1143.    ----------- ---------
  1144.    |Mobile   | |Central|
  1145.    |Switching| |Office |
  1146.    | Center  | ---------
  1147.    -----------     |
  1148.         |          |
  1149.         |          |
  1150.         O          O
  1151.  
  1152.        Mobile      Wireline PSTN
  1153.        Users       Users
  1154.  
  1155.    Figure 11: Overall Interconnection Architecture of the Lucent System
  1156.  
  1157. 5.1.2 A Click-to-Dial-Back Service Scenario
  1158.  
  1159.    A Web user, who has simultaneous access to the Web and telephone
  1160.    services (this can be achieved, for example, by having an ISDN
  1161.    connection), is browsing through a sales catalogue and deciding to
  1162.    speak to a sales representative.
  1163.  
  1164.    When the Web user clicks a button inviting a telephone call from the
  1165.    sales office, the Web Server sends a message to the SN over the A
  1166.    interface, thus crossing the Internet-to-PSTN boundary. By matching
  1167.    the information received from the Web Server with the content
  1168.    provider profile that had been previously loaded and activated by the
  1169.    SMS over the D interface, the SN recognizes the signal.
  1170.  
  1171.    At this point, the SN calls the Web user. The user answers the call,
  1172.    hears an announcement, e.g., "Please wait, while we are connecting
  1173.    you to the sale agent", and is waiting to be connected to the sale
  1174.    agent. Then the SN invokes service logic as indicated in the profile.
  1175.  
  1176.  
  1177.  
  1178. Lu, et. al.                  Informational                     [Page 21]
  1179.  
  1180. RFC 2458                Pre-PINT Implementations           November 1998
  1181.  
  1182.  
  1183.    The execution of this logic selects an appropriate sales agent to
  1184.    call based on the time of the day. It is 8 P.M.  in New York where
  1185.    the Web user is located, and the New York sales office has closed.
  1186.    The San Francisco office, however, is still open, and so the SN makes
  1187.    a call to an agent in that office. Finally, the SN bridges the two
  1188.    calls and establishes a two-party call between the sales agent and
  1189.    the Web user.
  1190.  
  1191. 5.1.3 Web Server-Service Node Interface
  1192.  
  1193.    Lucent developed the Service Support Transfer Protocol (SSTP) for
  1194.    communications between the SN and Web Server. SSTP is of a
  1195.    request/response type running on top of a reliable transport layer,
  1196.    such as TCP. The Web Server sends a request to the SN to invoke a
  1197.    service and the SN responds with a message indicating either success
  1198.    or failure. Note that SSTP engages only the service control function
  1199.    [1, 2, 3] of the SN.
  1200.  
  1201. 5.1.3.1 Web Server to Service Node
  1202.  
  1203.    In this direction, three kinds of messages may be sent: the
  1204.    Transaction Initiator message, the Data Message, and the End of Data
  1205.    message.
  1206.  
  1207.    The latter two messages are needed if the service to be invoked
  1208.    involves data (such as the case in click-to-fax, click-to-fax-back
  1209.    and voice-access-to-content). This was so designed to handle the
  1210.    varying size of data and to ensure that the size of each stream is
  1211.    within the allowable size of the underlying transport packet data
  1212.    unit (imposed by some implementations of TCP/IP).
  1213.  
  1214.    a. Transaction Initiator
  1215.  
  1216.    This message provides all the necessary information but data for
  1217.    invoking a service. It includes the following information elements:
  1218.  
  1219.    + Transaction ID, which uniquely specifies a service request. The
  1220.    same transaction ID should be used for all the accompanying data-
  1221.    related messages, if the service request involves data. One way for
  1222.    generating unique transaction IDs is to concatenate the information:
  1223.    date, time, Web Server ID (uniquely assigned for each one connected
  1224.    to the SN), and transaction sequence number (a cyclic counter
  1225.    incremented for each service request).
  1226.  
  1227.    + Service ID, which specifies the service to be invoked. The service
  1228.    may be click-to-dial-back, click-to-fax, click-to-fax-back or voice-
  1229.    access-to-content.
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Lu, et. al.                  Informational                     [Page 22]
  1235.  
  1236. RFC 2458                Pre-PINT Implementations           November 1998
  1237.  
  1238.  
  1239.    + Content Provider ID, which uniquely represents the content
  1240.    provider. This information is the key to accessing the content
  1241.    provider's service logic and data on the SN.
  1242.  
  1243.    + Content Provider Directory Number, which is the telephone or fax
  1244.    number of the content provider to be called through the PSTN.
  1245.  
  1246.    + User Directory Number, which is the telephone or fax number of the
  1247.    user requesting the service.
  1248.  
  1249.    + Billed Party, which specifies the party (either the user or content
  1250.    provider), to be billed.
  1251.  
  1252.    In addition, optional parameters may be sent from the Web Server to
  1253.    the SN. For example, a retry parameter may be sent to specify the
  1254.    number of times the SN will attempt to complete a service request
  1255.    upon failure before the transport connection times out.
  1256.  
  1257.    b. Data Message
  1258.  
  1259.    This message provides the (encapsulated) user data part of a service
  1260.    request. For example, in the case of click-to-fax-back such data are
  1261.    the content to be faxed to the user. Each message is composed of the
  1262.    transaction ID and a data segment. The transaction ID must be the
  1263.    same as that of the transaction initiator part first invoking the
  1264.    service.
  1265.  
  1266.    c. End of Data Message
  1267.  
  1268.    This message contains the transaction ID and the end of data
  1269.    delimiter. The transaction ID is the same as that of the relevant
  1270.    transaction initiator message.
  1271.  
  1272. 5.1.3.2 Service Node to Web Server
  1273.  
  1274.    The SN must respond to a service request from the Web Server. The
  1275.    response message consists of the information elements:
  1276.  
  1277.    transaction ID, service type, result, time, and error code.
  1278.  
  1279.    + Transaction ID, which is the same as that of the original service
  1280.    request.
  1281.  
  1282.    + Service Type, which is the same as that of the original service
  1283.    request.
  1284.  
  1285.    + Result, which is either success or failure.
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Lu, et. al.                  Informational                     [Page 23]
  1291.  
  1292. RFC 2458                Pre-PINT Implementations           November 1998
  1293.  
  1294.  
  1295.    + Time, which indicates the time of the day completing the request.
  1296.  
  1297.    + Error Code, which gives the reason for failure. Possible reasons
  1298.    for failure are content provider telephone (or fax) busy, content
  1299.    provider telephone (or fax) no answer, user telephone busy, user
  1300.    refusal to complete, user no answer, nuisance control limit reached,
  1301.    and content provider telephone (or fax) not in the SN database.
  1302.  
  1303. 5.1.3.3 Usage Scenarios: Click-to-Fax and Click-to-Fax-Back
  1304.  
  1305.    For the click-to-fax and click-to-fax-back services, the Lucent
  1306.    system implemented only the case where the data to be sent as
  1307.    facsimile reside in the Web server. There are at least three messages
  1308.    that need to be sent from the Web server to the Service Node for
  1309.    these services.
  1310.  
  1311.    The first message is the Transaction Initiator that identifies the
  1312.    service type as well as a unique Transaction ID. It also includes the
  1313.    sender/receiver fax number.
  1314.  
  1315.    The next is one or more messages of the data to be faxed. Each
  1316.    message carries the same unique Transaction ID as the above.
  1317.  
  1318.    Last comes the end of message. It consists of the Transaction ID
  1319.    (again, the same as that of the messages preceding it) and the end of
  1320.    data delimiter.
  1321.  
  1322.    Upon receiving these messages, the Service Node, equipped with the
  1323.    special resource of a fax card, converts the data into the G3 format,
  1324.    calls the receiver fax, and sends back the result to the Web server
  1325.    immediately.  Note that the receiver fax busy or no answer is
  1326.    interpreted as failure. Further, while the receiver fax answering the
  1327.    call is interpreted as success, it does not necessarily mean that the
  1328.    fax would go through successfully.
  1329.  
  1330. 5.1.4 Web Server-SMS Interface and SNMP MIB
  1331.  
  1332.    This interface is responsible for uploading the content provider
  1333.    profile from the Web Server to the SMS and for managing the
  1334.    information against any possible corruption. The SN verifies the
  1335.    Content Provider ID and the Content Provider Directory Number sent by
  1336.    the Web Server with the content provider profile pre-loaded from the
  1337.    SMS.
  1338.  
  1339.    The content provider profile was based on ASN.1 [4] structure and
  1340.    SNMP [5] was used to set/get the object identifiers in the SMS
  1341.    database.
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Lu, et. al.                  Informational                     [Page 24]
  1347.  
  1348. RFC 2458                Pre-PINT Implementations           November 1998
  1349.  
  1350.  
  1351.    Following is an example of the simple MIB available on the SMS.
  1352.  
  1353.    inwebContProviderTable OBJECT-TYPE
  1354.            SYNTAX          SEQUENCE OF InwebContProviderEntry
  1355.            MAX-ACCESS      not-accessible
  1356.            STATUS          current
  1357.            DESCRIPTION
  1358.                    " A table containing Content Provider profiles "
  1359.            := { inweb 1}
  1360.  
  1361.    inwebContProviderEntry OBJECT-TYPE
  1362.            SYNTAX          InwebContProviderEntry
  1363.            MAX-ACCESS      not-accessible
  1364.            STATUS          current
  1365.            DESCRIPTION
  1366.                    " A conceptual row of the inweb. Each row
  1367.                            contains profile of one Content Provider"
  1368.            INDEX   { inwebSmsNumber }
  1369.            := { inwebContProviderTable 1 }
  1370.  
  1371.    InwebContProviderEntry := SEQUENCE {
  1372.            inwebSmsNumber                  Integer32,
  1373.            inwebContentProviderId          Integer32,
  1374.            inwebContentProviderPhoneNumber Integer32,
  1375.            inwebContentProviderFaxNumber   Integer32
  1376.            }
  1377.  
  1378.    inwebSmsNumber OBJECT-TYPE
  1379.            SYNTAX          Integer32
  1380.            MAX-ACCESS      read-only
  1381.            STATUS          current
  1382.            DESCRIPTION
  1383.                    " Serial number of the SMS - used for SNMP indexing "
  1384.            := { inwebContProviderEntry 1 }
  1385.  
  1386.    inwebContentProviderId OBJECT-TYPE
  1387.            SYNTAX          Integer32
  1388.            MAX-ACCESS      read-create
  1389.            STATUS          current
  1390.            DESCRIPTION
  1391.                    " A number that uniquely identifies each Content
  1392.    Provider "
  1393.            := { inwebContProviderEntry 2 }
  1394.  
  1395.    inwebContentProviderPhoneNumber OBJECT-TYPE
  1396.            SYNTAX          Integer32
  1397.            MAX-ACCESS      read-create
  1398.            STATUS          current
  1399.  
  1400.  
  1401.  
  1402. Lu, et. al.                  Informational                     [Page 25]
  1403.  
  1404. RFC 2458                Pre-PINT Implementations           November 1998
  1405.  
  1406.  
  1407.            DESCRIPTION
  1408.                    " Content Provider's Phone Number "
  1409.            := { inwebContProviderEntry 3 }
  1410.  
  1411.    inwebContentProviderFaxNumber OBJECT-TYPE
  1412.            SYNTAX          Integer32
  1413.            MAX-ACCESS      read-create
  1414.            STATUS          current
  1415.            DESCRIPTION
  1416.                    " Content Provider's Fax Number "
  1417.            := { inwebContProviderEntry 4 }
  1418.  
  1419. 5.1.5 Security Considerations
  1420.  
  1421.    The Lucent prototype addressed the security issues concerning the
  1422.    interface between the Web Server and the SN. Those concerning the
  1423.    interface between the Web Server and SMS, which was based in SNMP,
  1424.    were handled by the built-in security features of SNMP.
  1425.  
  1426.    + Secure Communication Links
  1427.  
  1428.    If the Network Operator (PSTN provider) is also the Web Service
  1429.    provider, the Web Server and SN/SMS will communicate over a corporate
  1430.    intranet. This network is almost always protected by the
  1431.    corporation's firewall and so can be deemed secure. This was the case
  1432.    handled by the Lucent prototype.
  1433.  
  1434.    Nevertheless, if different corporations serve as the Network Operator
  1435.    and the Web Service Provider, then it is likely that there may not
  1436.    exist a dedicated secure communication link between the Web Server
  1437.    and SN/SMS. This raises serious security considerations. One possible
  1438.    solution is to use Virtual Private Networks (VPN). VPN features
  1439.    support authentication of the calling and called parties and
  1440.    encryption of the messages sent over insecure links (such as those on
  1441.    the Internet).
  1442.  
  1443.    + Non-Repudiation
  1444.  
  1445.    All transactions were logged on both the Web Server and the Service
  1446.    Node to account for all operations in case of doubt or dispute. The
  1447.    log information on the SN may also be used to generate bills.
  1448.  
  1449.    + Malicious Requests of Users
  1450.  
  1451.    A user may make repeated requests to a content provider directory
  1452.    number maliciously. This scenario was handled by setting a Nuisance
  1453.    Control Limit (NCL) on either the SN or the Web Server or both. The
  1454.    NCL has two parameters: one defining the number of requests from a
  1455.  
  1456.  
  1457.  
  1458. Lu, et. al.                  Informational                     [Page 26]
  1459.  
  1460. RFC 2458                Pre-PINT Implementations           November 1998
  1461.  
  1462.  
  1463.    user and the other the period over which these requests takes place.
  1464.  
  1465.    A user may also attempt to request a call from a directory number
  1466.    other than that of a content provider. This scenario was handled by
  1467.    verifying the directory number (and the content provider ID) against
  1468.    the database on the SN containing all the content provider
  1469.    information. If the directory number (or the content provider ID) was
  1470.    not in the database, the request would be rejected.
  1471.  
  1472. 5.2 Siemens Web Call Center
  1473.  
  1474. 5.2.1 Service Description
  1475.  
  1476.    The Web Call Center is an Intelligent Network System that accepts
  1477.    requests from Internet nodes for services to be provided on the PSTN.
  1478.    As the name suggests, it was designed to support a cluster of
  1479.    services that, taken together, provide a subset of the features of a
  1480.    Call Center, with almost all user interactions provided via World
  1481.    Wide Web requests and responses. See the appendix for a background
  1482.    description of Call Center Features.
  1483.  
  1484.    From an Intelligent Network perspective, there are a number of
  1485.    services that, when combined, provide the Call Center features. The
  1486.    Call Center features as implemented supported the scenario in which a
  1487.    customer makes a request to be called back by an agent at a time of
  1488.    the customer's choosing to discuss an item of interest to him or her.
  1489.    The agent will be selected based on his or her availability and
  1490.    expertise in this topic; the agent will be told whom he or she is
  1491.    calling and the topic of interest, and then the agent will be
  1492.    connected to the customer.
  1493.  
  1494.    In addition, the individual services that were deployed to support
  1495.    this scenario provided support for management of the list of
  1496.    available agents as well. This involved allowing the agent to "log
  1497.    into" and "out of" the system and to indicate whether the agent was
  1498.    then ready to handle calls to the customer. The list of services, as
  1499.    seen from a user perspective, follows.
  1500.  
  1501.    The services support:
  1502.  
  1503.    i)  Customer Request service - the customer explores a corporate Web
  1504.    site, selects a link that offers to request an agent to call the
  1505.    customer back and then is redirected to the Web Call Center server.
  1506.    This presents customer with a form asking for name, the telephone
  1507.    number at which he or she wishes to be called, and the time at which
  1508.    the call is to be made. Note will also be made of the page to which
  1509.    the customer was referred to when he or she was redirected. Once the
  1510.    form has been returned, the customer receives an acknowledgment page
  1511.  
  1512.  
  1513.  
  1514. Lu, et. al.                  Informational                     [Page 27]
  1515.  
  1516. RFC 2458                Pre-PINT Implementations           November 1998
  1517.  
  1518.  
  1519.    listing the parameters he or she has entered.
  1520.  
  1521.    ii)  Agent Registration/Logon - An agent requests a "login" page on
  1522.    the Web Call Center server. The service checks whether it has a
  1523.    record of an agent present at the Internet node from which th call is
  1524.    made. If not, then the caller will be sent a form allowing him or her
  1525.    to enter the service identity, the company's agent identifier and
  1526.    password. On return, the service identity and company agent
  1527.    identifier will be checked against a list of known identities. If
  1528.    found, the password will be checked, and if this matches the record
  1529.    held by the service then a new session record is made of this
  1530.    identity and the Internet node from which the call has been made.
  1531.  
  1532.    NB: This is very similar to the Universal Personal Telecommunications
  1533.    (UPT) service feature "register for incoming calls". It implies that
  1534.    the identified person has exclusive use of the Internet node from
  1535.    that point onwards, so messages for them can be directed there.
  1536.  
  1537.    iii)  Agent Ready - an agent who has already logged on can indicate
  1538.    that he or she is ready by requesting an appropriate "ready" page on
  1539.    the Web Call Center Server. The service will match the agent by the
  1540.    Internet node Identifier and Agent Identity passed along with the Web
  1541.    request against its list of "active" agents. It will mark them as
  1542.    being ready to handle calls in its list of available agents (with
  1543.    their pre-defined skill set).
  1544.  
  1545.    iv)  Agent Not Ready - an agent can request an appropriate "ready"
  1546.    page on the Web Call Center Server to indicate that he or she is
  1547.    temporarily not ready to handle calls.
  1548.  
  1549.    v)  Agent Logoff - an agent can request an appropriate "Logout" page
  1550.    on the Web Call Center Server to indicate that he or she is no longer
  1551.    associated with a particular Internet node. The service will match
  1552.    the agent by the Internet Node Identifier and Agent Identity passed
  1553.    along with the Web request against its list of "active" agents. Once
  1554.    found, the session record for that agent is removed and the caller is
  1555.    notified of this with an acknowledgment page.
  1556.  
  1557.    NB: This is very similar to the UPT "unregister" service feature.
  1558.  
  1559.    vi)  Call Center Agent Selection and Notification - When the time
  1560.    that the customer selected has arrived and an available agent with
  1561.    the right skills has been selected from the appropriate list, this
  1562.    service will send a notification to the Internet node associated with
  1563.    that agent. A dedicated server is assumed to be running on the
  1564.    agent's machine that, on receiving the notification, triggers the
  1565.    agent's browser into requesting a "Agent Call In" page from the Web
  1566.    Call Center Server. Once the agent's machine has made this request,
  1567.  
  1568.  
  1569.  
  1570. Lu, et. al.                  Informational                     [Page 28]
  1571.  
  1572. RFC 2458                Pre-PINT Implementations           November 1998
  1573.  
  1574.  
  1575.    he or she will be told that there is a customer to call.
  1576.  
  1577.    NB: This is similar to a "Message Waiting" or "Wake Up Call" service.
  1578.  
  1579.    Note: As implemented, the agent is led automatically into the
  1580.    following service (the returned Web page includes an automatic reload
  1581.    command).
  1582.  
  1583.    vii)  Agent Instruction - a selected agent makes a request of the
  1584.    "Customer Processing" page on the Web Call Center Server. The
  1585.    Internet node Identifier and Agent Identity the agent uses will be
  1586.    matched against a list of agents expected to handle calls, and the
  1587.    instructions for the calls will be returned to the agent.
  1588.  
  1589.    NB: This is similar to a "Voice Mail Replay" message service, but in
  1590.    this case the message is automatically generated; there is no
  1591.    associated voice mail record feature accessible.
  1592.  
  1593.    Note: As implemented, the instructions page will include a number of
  1594.    buttons, allowing the agent to view the page the customer was looking
  1595.    at when he or she made the request, and to trigger the customer
  1596.    callback (as described next).
  1597.  
  1598.    ix)  Agent/Customer Telephony Callback -  the agent will make a
  1599.    request of a "dial-back" page on the Web Call Center Server. The
  1600.    Internet node Identifier and Agent Identity he or she uses will be
  1601.    matched against a list of agents expected to handle calls, and, when
  1602.    the appropriate records have been found, the service will make the
  1603.    telephone call through to the customer and then connect the agent to
  1604.    this telephone call (using the telephone number registered in the
  1605.    respective Call Center service record).
  1606.  
  1607. 5.2.2 Implementation
  1608.  
  1609. 5.2.2.1 Introduction
  1610.  
  1611.    The Siemens Web Call Center used an existing IN system and service
  1612.    logic that supported Call Center features. The scenario it supports
  1613.    is very similar to the Siemens IN-based Call Center on which it was
  1614.    based; one of the goals was to minimize changes to the service
  1615.    offered. It is also virtually identical to the service "Internet
  1616.    Requested Telephony Dial-back" provided by the Lucent system.
  1617.  
  1618.    As provided via the Internet, the services involved are mostly the
  1619.    same as those provided via the PSTN and IN alone. The main
  1620.    differences lie in the use of the World Wide Web as an interface to
  1621.    the services rather than a telephone, SSP, and Intelligent
  1622.    Peripheral. Also, the feature by which a telephone call is made
  1623.  
  1624.  
  1625.  
  1626. Lu, et. al.                  Informational                     [Page 29]
  1627.  
  1628. RFC 2458                Pre-PINT Implementations           November 1998
  1629.  
  1630.  
  1631.    between the agent and the customer is implemented within the IN
  1632.    system in a different way; this is the only element in which the PSTN
  1633.    is involved.
  1634.  
  1635. 5.2.2.2 Web Call Center Configuration
  1636.  
  1637.    The general arrangement for the Web Call Center system is shown in
  1638.    Figure 7.  The components that were added to an existing IN system to
  1639.    deal with the Internet interface are described next.
  1640.  
  1641.    In addition to the SCP, SSP and SMS that were part of the original
  1642.    IN-based system, another unit was included to send notification
  1643.    messages to agents; in the IN system the agents were sent "wake up"
  1644.    telephone calls when they were required to handle their next
  1645.    customers' call back. This unit is called the "Internet Intelligent
  1646.    Peripheral", and its use is described later under "Non-World Wide Web
  1647.    Interactions".
  1648.  
  1649.    As there was a need to re-use as many of the existing IN components
  1650.    unchanged, a Gateway unit to deal with the interface between the
  1651.    Internet and the SCP was provided. This injected INAP (Intelligent
  1652.    Network Application Protocol) messages into the SCP, making it think
  1653.    that it had received an Initial DP trigger from an SSP. It also
  1654.    intercepted the "Connect To Resource" and "Prompt and Collect" INAP
  1655.    messages sent from the SCP, acting on these to return the parameters
  1656.    generated by the Internet users when they filled in the forms that
  1657.    triggered the service transaction. It also translated the "Play
  1658.    Announcement" message sent to the Intelligent Peripheral into a form
  1659.    that it could use.  Finally, it passed on the INAP message used by
  1660.    the SCP to trigger SSP into making the telephone call back.
  1661.  
  1662. 5.2.2.3 User Interaction
  1663.  
  1664.    In the IN/PSTN-based system, the services have contact with the
  1665.    customers and agents via their telephones, SSPs, and Intelligent
  1666.    Peripherals programmed to play announcements to them and to capture
  1667.    their responses. These responses are indicated by DTMF tones sent by
  1668.    pressing keys on the telephones.
  1669.  
  1670.    In this case, almost all interactions are provided via World Wide Web
  1671.    requests and responses. The sequence of announcements and responses
  1672.    for each service are "collapsed" into individual form filling
  1673.    transactions, and the requests are not limited to digits (or "star"
  1674.    and "hash"). The implications of the use of forms on service
  1675.    operation are covered in more detail later (under HTTP/IN Service
  1676.    mapping).
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682. Lu, et. al.                  Informational                     [Page 30]
  1683.  
  1684. RFC 2458                Pre-PINT Implementations           November 1998
  1685.  
  1686.  
  1687. 5.2.2.4 Service/Caller Identifiers
  1688.  
  1689.    When provided via the IN/PSTN-based system, the services are passed
  1690.    the Calling Line Identity (CLI) of the caller and the number the
  1691.    caller dials (the DN). The CLI value is used extensively to identify
  1692.    the caller and (in the case of the agent) to index into service data
  1693.    tables to decide what to do next.  While an equivalent value to the
  1694.    DN is passed to the Web-based transactions as the requested Universal
  1695.    Resource Locator (URL), the CLI cannot be given reliably. The nearest
  1696.    equivalent caller identifier is the IP Address of the customer or
  1697.    agent's machine. However, the use of HTTP proxies means that this
  1698.    "original" Internet node Address may not be available; if a proxy is
  1699.    used then its IP Address will be associated with the request.
  1700.  
  1701.    In providing these Call Center features the customer only has one
  1702.    Web-based transaction; that of providing the initial request for a
  1703.    PSTN telephone callback. To do so he or she will have to fill in a
  1704.    form so as to specify not only the time to be called back, but also
  1705.    the telephone number to be reached.  These values can be used if
  1706.    needed to identify the customer, and so the problem of originating
  1707.    Internet Node ambiguity is not relevant.
  1708.  
  1709.    With the agents, however, there are sequences of coupled
  1710.    transactions, and the particular sequence must be identified. There
  1711.    will be a number of such transactions being carried out at once, and
  1712.    there needs to be some identifier to show which agent is being
  1713.    handled in each case.
  1714.  
  1715.    Such an identifier is not part of a sequence of basic Web
  1716.    transactions. In a Web transaction, the HTTP Client/Web Browser makes
  1717.    a request, and the HTTP Server will respond to this, normally
  1718.    including some content in its reply message that will be processed by
  1719.    the browser, after which it closes the TCP connection. That's the end
  1720.    of the transaction; the HTTP client and server cannot normally
  1721.    maintain state information beyond this point. Any sequence is reduced
  1722.    to a set of unrelated transactions.
  1723.  
  1724.    A result of this simple pattern is that any state information
  1725.    reflecting longer or more complex interactions must be stored (at
  1726.    least partially) in the client system. One approach is the use of
  1727.    cookies [6]. These can be set by HTTP servers as part of their
  1728.    response to a request, and will be sent back with all subsequent
  1729.    requests for appropriate URLs as extra HTTP headers. These cookies
  1730.    allow the HTTP server to identify the client in the following
  1731.    requests, so that it can continue an extended session with the
  1732.    client.
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Lu, et. al.                  Informational                     [Page 31]
  1739.  
  1740. RFC 2458                Pre-PINT Implementations           November 1998
  1741.  
  1742.  
  1743.    Cookies are used in providing the Internet Call Center. Persistent
  1744.    cookies are installed into the Web Browser on machines that are to be
  1745.    used by call center agents as a service management (pre-service)
  1746.    task. The cookie value is unique to the machine and is used to index
  1747.    into a list of machine IP addresses that is stored as part of the
  1748.    service data.
  1749.  
  1750.    Also, a session cookie is stored onto the agent's machine when the
  1751.    agent registers, and is cleared when he or she de-registers. This is
  1752.    used to identify the agent and so the IP address of the node with
  1753.    which the agent is associated (and from which the agent's subsequent
  1754.    requests should originate).  The services that interact with Call
  1755.    Center agents use the agent session cookie value as an identifier; in
  1756.    principle this is unnecessary but it does simplify the session data
  1757.    lookup procedure. The rest of the services use the persistent machine
  1758.    identifier in place of the CLI, indexing into their service data
  1759.    using it. Both cookies are sent with each agent request; if they are
  1760.    not present, then the request is redirected to other services (for
  1761.    example to the agent Logon service).
  1762.  
  1763. 5.2.2.5 Mapping from HTTP Transactions to IN-Based Service Features
  1764.  
  1765.    All of the client-initiated services require user interaction. With
  1766.    the IN/PSTN-based system, the majority of the services are typified
  1767.    by the callers being connected to an announcement unit that plays
  1768.    them a list of choices and captures their selection. The caller can
  1769.    pre-dial the digits needed; in this case the prompts are not needed
  1770.    and are not made.
  1771.  
  1772.    The pattern of operation is somewhat different in the Internet case,
  1773.    as the initial HTTP request returns a response, after which the Web
  1774.    transaction has ended. Where that initial response returns a form to
  1775.    be filled in by the caller, subsequently submitting the form
  1776.    initiates a new HTTP transaction.  This is all part of one instance
  1777.    of service, however. The service consists of two request/response
  1778.    pairs in tandem.
  1779.  
  1780.    Although it is possible to design a service to handle this pair of
  1781.    Web transactions as a single unit, it may be better to reconfigure
  1782.    it. The design of a service that deals with two Web exchanges as a
  1783.    single extended transaction is quite complex. It must maintain state
  1784.    across the pair of Web exchanges, and it has to handle a number of
  1785.    failure cases including dealing with time-outs and "out of time"
  1786.    submission of forms. The alternative is to split the service into two
  1787.    sub-features. The first of these reflects the initial request and
  1788.    delivery of the form by return, with the second one dealing with
  1789.    processing of the submitted form and returning any confirmation by
  1790.    reply.
  1791.  
  1792.  
  1793.  
  1794. Lu, et. al.                  Informational                     [Page 32]
  1795.  
  1796. RFC 2458                Pre-PINT Implementations           November 1998
  1797.  
  1798.  
  1799.    The services offered don't all require form-filling, and so can be
  1800.    treated as a single IN feature. There are two cases where forms are
  1801.    required. The first of these is the Customer Request service, while
  1802.    the other one is the "Agent Registration" service. In both cases the
  1803.    initial Web transaction (by which the form is requested and returned
  1804.    to the client) need not involve specific service logic processing;
  1805.    the initial delivery of the form to a customer or agent can be
  1806.    handled by a "normal" Web Server. In both cases the service logic is
  1807.    only triggered when the form is submitted; this means that, again,
  1808.    each of the services can be treated as a single IN feature.
  1809.  
  1810.    The IN service logic that deals with these requests has a general
  1811.    pattern of action. An HTTP request is received, and this triggers the
  1812.    IN service logic into action. The service logic "sees" this as an
  1813.    Initial DP message and starts its processing as if it had been sent
  1814.    from an SSF. The SCF uses what appears to it to be an Intelligent
  1815.    Peripheral to collect the parameters of the request, and then to send
  1816.    back final announcements to the requesting entity.
  1817.  
  1818.    The main difference, from the perspective of the IN service logic
  1819.    running on the SCF, is that the service does not need to instruct the
  1820.    SSF to make a temporary connection to the Intelligent Peripheral. It
  1821.    is as if this connection had already been made. Similarly, there is
  1822.    no need to close the service transaction by sending an explicit
  1823.    "Continue Execution" message to the SSF.
  1824.  
  1825.    The sequence of "prompt/collect" instructions used to collect service
  1826.    parameters from a caller in an IN service maps quite well to a
  1827.    sequence of requests to extract a data value from the HTTP request,
  1828.    based on a tag. This is a fairly standard feature of Web Server CGI
  1829.    or Servlet processing. Using this mapping minimizes the changes to
  1830.    the service design, in that the service logic "sees" an Intelligent
  1831.    Peripheral to which it sends normal "Request Report Prompt & Collect"
  1832.    messages, and from which it receives data values in response.
  1833.  
  1834.    All services have to fit in with the underlying HTTP interaction
  1835.    pattern, and so will be expected to send a final "Announce"
  1836.    instruction to the Intelligent Peripheral at the end of the service;
  1837.    this is done in many IN services anyway and in all of the service
  1838.    features described here. These announcements form the content
  1839.    returned to the Web Client.
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Lu, et. al.                  Informational                     [Page 33]
  1851.  
  1852. RFC 2458                Pre-PINT Implementations           November 1998
  1853.  
  1854.  
  1855. 5.2.2.6 Non-World Wide Web Interactions
  1856.  
  1857.    There are two exceptions to the sole use of the World Wide Web for
  1858.    interaction. The first one occurs in the "Message Waiting"/"Wake Up
  1859.    Call" service by which the selected agent is informed of a callback
  1860.    request. World Wide Web transactions are very simple; the client
  1861.    browser makes a request for content associated with a particular HTTP
  1862.    URL, and the server sends a response, marking the end of the
  1863.    transaction. The server cannot make a spontaneous association with a
  1864.    client; it must be initiated by the client request.
  1865.  
  1866.    While it would be possible for the server to defer closing an earlier
  1867.    transaction (by not sending back all of the content specified and
  1868.    leaving the TCP connection open) it was decided that an alternative
  1869.    scheme would be more convenient. The "wake up call" was arranged by
  1870.    an "Internet Intelligent Peripheral" sending a request to a daemon
  1871.    process running on the selected agent's machine, using the Finger
  1872.    protocol [7]. The daemon sent back a standard response, but in
  1873.    addition the Web Browser on the agent's machine was triggered into
  1874.    making a further HTTP request of the server. In this way the "Agent
  1875.    Instruction" transaction is started automatically, while still
  1876.    allowing it to use a normal HTTP request/response pattern.
  1877.  
  1878.    The second exception occurs in the final "Agent/Customer Telephony
  1879.    Callback" service. While this transaction is initiated by the agent
  1880.    selecting a link on the "call instructions page" returned to them,
  1881.    and includes a "confirmation" page being sent back to them in an HTTP
  1882.    response, the purpose of this service is to make a telephone
  1883.    connection via the PSTN between the agent's telephone and the
  1884.    customer's telephone. It is the only service element that involves
  1885.    the PSTN directly. From an IN/PSTN perspective, the resulting
  1886.    telephone connection is different from that provided in the scheme
  1887.    using the IN and PSTN alone. In this case, a PSTN call is made out to
  1888.    the agent's telephone, another call is made out to the customer's
  1889.    telephone, and these calls are bridged. This differs from the earlier
  1890.    scheme, in which the agent originated a call to the voice mail replay
  1891.    system, and this call was redirected to a new destination (the
  1892.    customer's telephone). As this feature differs in purpose from the
  1893.    other services, and it requires a different implementation within the
  1894.    IN and PSTN system, it was organized as a separate service in this
  1895.    case.
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Lu, et. al.                  Informational                     [Page 34]
  1907.  
  1908. RFC 2458                Pre-PINT Implementations           November 1998
  1909.  
  1910.  
  1911. 5.2.2.7 Security Considerations
  1912.  
  1913.    In the case of this system, assumptions were made that the interface
  1914.    presented to requesting agents and customers was provided via a fire
  1915.    wall to deal with most attacks on the IN components. The interface
  1916.    appeared as a Web Server, and there was no direct access to the HTTP
  1917.    documents served, nor to the servlets providing the service logic.
  1918.  
  1919.    The Callback service was deemed to have simpler security requirements
  1920.    than other IN services as it was akin to a free phone "1-800" service
  1921.    access number; the agents work for the service subscriber and are not
  1922.    charged directly. Similarly, the requesting customer is not charged
  1923.    for his or her request, nor for the resulting call back. Service
  1924.    subscribers would be willing to pay the costs of telephone calls
  1925.    generated as a result of this cluster of services, and the costs of
  1926.    running the agent services could be charged directly to them. As such
  1927.    the authorization for service is defined by the contract between the
  1928.    service subscriber and the service provider.
  1929.  
  1930.    Authentication of agents was seen as a problem. As an interim
  1931.    measure, cookies were used, but this scheme delivers the cookie data
  1932.    as a plain text item (a header of the Web request). Secure Socket
  1933.    Layer connections were required for communication with the agent
  1934.    services, and this had an impact on the performance of the IN system.
  1935.  
  1936. 5.2.3 Derived Requirements/Lessons
  1937.  
  1938.    Security is seen as a major issue. A firewall was used to control
  1939.    access to the IN Components. Similarly, SSL was used for
  1940.    communication with the Agents, so as to protect the cookie values
  1941.    that they were sending with their requests.
  1942.  
  1943.    For other services, it is likely that the entity from which requests
  1944.    appear to originate will be charged for the service to be rendered.
  1945.    This has implications in terms of authentication and authorization of
  1946.    service provision at the time of the request. It is necessary for the
  1947.    service to be authorized in such a way that non-repudiation is
  1948.    ensured; this is likely to mean that a certificate of identity be
  1949.    provided from the person making the request, and that this can be
  1950.    tied in with a financial account that that person has with the
  1951.    service provider. The certificate can then be stored as part of the
  1952.    billing record.  While the process of electronic commerce is outside
  1953.    of the scope of this work, the mechanism by which a request for
  1954.    confirmation of identity is passed out to the requesting user and is
  1955.    delivered back to the service logic must be considered.
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962. Lu, et. al.                  Informational                     [Page 35]
  1963.  
  1964. RFC 2458                Pre-PINT Implementations           November 1998
  1965.  
  1966.  
  1967.    When changing from a "pure" IN/PSTN system to one supporting requests
  1968.    via the Internet, the differences in the way that clients interacted
  1969.    with the services meant that the service logic had to be redesigned.
  1970.    It was realized that maintaining the state of a service during its
  1971.    processing was going to be a problem; this problem was side-stepped
  1972.    by re-engineering the services as form processors, allowing them to
  1973.    deal with fully specified requests as a single (Web) transaction. In
  1974.    addition, a "normal" Web Server was used to deliver the forms to the
  1975.    users. This is a change from the IN system, where the equivalent of
  1976.    the form (the prompts) were sent in sequence as part of the same
  1977.    service process.
  1978.  
  1979.    The Call Center features provided suited this change. However, this
  1980.    may not be the case for other IN services. It is quite common for
  1981.    services to be designed such that the user is prompted for a
  1982.    response, and the service continues dependent on this response. The
  1983.    Web form presents all of the options at once, so this kind of variant
  1984.    prompt/collect sequence is not possible. From this, it is difficult
  1985.    to see how an IN service could be reused without some degree of
  1986.    modification.
  1987.  
  1988.    An intermediate "gateway" system was provided to "cocoon" the service
  1989.    logic as far as possible from the details of the components with
  1990.    which it was working.  Where needed, this unit translated calls from
  1991.    the service logic into commands that operated with the Internet (and
  1992.    the Web Server that acted as the interface). Our experience was that
  1993.    an SCP could be "spoofed" into thinking that it was operating with
  1994.    other IN components in the normal way. Within the limits of the
  1995.    service used, this proved simpler than was originally expected.
  1996.  
  1997.    Selecting this simple approach still allows a considerable range of
  1998.    services to be provided while maintaining any investment in existing
  1999.    IN systems.  Modification of existing IN service logic was also
  2000.    easier than feared. All of the services examined provided
  2001.    announcements at the end of the service transaction, and this could
  2002.    be used to trigger a Web response to be sent back to the requesting
  2003.    Internet user. The changes to the Call Center service logic turned
  2004.    out to be minor; it took as long to analyze the service and see how
  2005.    it could be arranged as a sequence of "form processing" transactions
  2006.    as it did to make the changes to the service logic.
  2007.  
  2008.    In the Siemens Web Call Center, the "Internet Intelligent Peripheral"
  2009.    with which the service logic communicated was running as a separate
  2010.    program on the same node. Where more complex behavior is required of
  2011.    it (such as conversion of text to speech data and interface with the
  2012.    PSTN) then it would almost certainly be on a separate node. If data
  2013.    is transferred from the Internet in such a scheme, any intermediate
  2014.    gateway would be involved in relaying the data to this node.
  2015.  
  2016.  
  2017.  
  2018. Lu, et. al.                  Informational                     [Page 36]
  2019.  
  2020. RFC 2458                Pre-PINT Implementations           November 1998
  2021.  
  2022.  
  2023. 6. Alternative Solutions
  2024.  
  2025. 6.1 The AT&T System
  2026.  
  2027.    AT&T developed a framework for controlling voice and voice-band data
  2028.    (e.g., fax) and for providing PINT services. Key to the framework is
  2029.    CallBroker, a logical entity that acts on behalf of a user to set up
  2030.    sessions and make requests for PSTN resources. The sessions typically
  2031.    include initiation of calls between two or more end points specified
  2032.    by the user. In addition to its interactions with the PSTN for call
  2033.    setup, the CallBroker is responsible for other functions, when
  2034.    necessary, such as authentication and usage recording.
  2035.  
  2036.    This section briefly discusses the protocol at the two interfaces
  2037.    that need to be defined and the corresponding APIs to provide the
  2038.    above services. The two interfaces are (1) the one between the
  2039.    CallBroker (or Web Server) and the Service Control Function in the
  2040.    Service Node in the PSTN and (2) the one between the IP client and
  2041.    the CallBroker. The latter interface, in particular, will enable
  2042.    service providers to extend the architecture defined here to serve as
  2043.    a platform for other advanced/value-added services (to be identified
  2044.    later). In addition, the view taken here is that the IP client is
  2045.    more general, and implements a protocol for communication with the
  2046.    CallBroker that allows full two-way communications. For example, this
  2047.    is required for the cases where a called party hangs up and an
  2048.    indication may be necessary to be given to the IP Client about this
  2049.    status/progress. This is also necessary when conferencing to give an
  2050.    indication/status of various parties joining the call.
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074. Lu, et. al.                  Informational                     [Page 37]
  2075.  
  2076. RFC 2458                Pre-PINT Implementations           November 1998
  2077.  
  2078.  
  2079. 6.1.1 High Level Architecture
  2080.  
  2081.    A high level architecture depicting various logical entities and the
  2082.    Interfaces among these logical Entities and the IP Client is shown in
  2083.    Figure 12.
  2084.  
  2085.                                 ________________
  2086.                                /
  2087.              1        _____   / 2   _____
  2088.     /|________________|    |________|    |   PSTN
  2089.                       |____|  \     |____|
  2090.                       Call     \    / SCF\
  2091.                       Broker    \  /  SN  \
  2092.                                  \_____________
  2093.                                 /          \
  2094.                                /            \
  2095.                               /              \
  2096.                              __              __
  2097.                              /\              /\
  2098.  
  2099.                            Calling       Participant
  2100.                             Party      (Called Party)
  2101.  
  2102.  
  2103.                 Figure 12:  The CallBroker Architecture
  2104.  
  2105.    The CallBroker, in addition to the initiation and control of calls on
  2106.    behalf of the user, performs additional functions. These functions
  2107.    include authenticating the IP Client, usage recording, and management
  2108.    of the session for the IP Client for the telephony call. The notion
  2109.    of the session requires that a client state machine be maintained in
  2110.    the CallBroker. This also helps in notifying the IP Client about the
  2111.    status/progress of the requests generated from the IP Client.
  2112.  
  2113.    From the perspective of the IP Client, the logical entities needed
  2114.    for the above functions are within the CallBroker and are as shown in
  2115.    Figure 13 below.  These correspond to the functions already
  2116.    discussed: Usage Recording Function, Session Management Function,
  2117.    Voice Bridge, and the Authentication Function.  The fact that some of
  2118.    these functions may be physically separate from the CallBroker (such
  2119.    as the Voice Bridge being in the PSTN) is not inconsistent with the
  2120.    general view adopted here. Thus, the CallBroker Model mediates
  2121.    requests for network services and enables us to define various value
  2122.    added services in the future.
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130. Lu, et. al.                  Informational                     [Page 38]
  2131.  
  2132. RFC 2458                Pre-PINT Implementations           November 1998
  2133.  
  2134.  
  2135.    llllllllllllllll
  2136.    l              l
  2137.    l Call Broker  l                  Authentication
  2138.    l  Server      l                  Function
  2139.    l  ______      l    Interface 2a   ______
  2140.    l |      |x x xlx x x x x x x x x  |    |
  2141.    l |______|x    l                   |____|
  2142.    l       x    x  l
  2143.    l        x    xl  Interface 2b
  2144.    lSession State lx
  2145.    l   Mnmgt. x   l  x            Usage Recording
  2146.    l  Function    l     x             Function
  2147.    l _______    x l       x          ______
  2148.    l |     |      l          x  x x  |    |
  2149.    l |_____|     xl                  |____|
  2150.    llllllllllllllll
  2151.                   x
  2152.                    x Interface 2c
  2153.                    x
  2154.                  _______
  2155.                  |     |
  2156.                  |_____|
  2157.  
  2158.                   Bridge
  2159.  
  2160.  
  2161.            Figure 13: Functional Entities in the Call Broker
  2162.  
  2163.    Various interfaces (i.e., 2a, 2b, 2c in Figure 13) between different
  2164.    functional entities in the CallBroker may also be standardized. The
  2165.    Session State Management Function may be physically realized as part
  2166.    of the CallBroker Server.
  2167.  
  2168. 6.1.2 IP Client to CallBroker Interface
  2169.  
  2170.    Communication on the IP Client to CallBroker Interface (Interface 1
  2171.    in Figure 12) is a simple ASCII based protocol running directly on
  2172.    TCP. The messages on this interface are primarily requests from the
  2173.    client to the CallBroker, responses from the CallBroker to the IP
  2174.    client responding to the requests and unsolicited events from the
  2175.    CallBroker to the IP client. Since the communication is not strictly
  2176.    transaction oriented, traditional encapsulation protocols like HTTP
  2177.    cannot be used. There has been some ongoing work attempting to use
  2178.    multiple concurrent HTTP POST requests to support event delivery but,
  2179.    without too much difficulty, the ASCII protocol specified here can
  2180.    easily be mapped to the POST payload of the HTTP protocol.
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186. Lu, et. al.                  Informational                     [Page 39]
  2187.  
  2188. RFC 2458                Pre-PINT Implementations           November 1998
  2189.  
  2190.  
  2191. 6.1.3 Protocol
  2192.  
  2193.    Basic Format
  2194.  
  2195.    The basic format of the protocol is as follows:
  2196.  
  2197.    [header]<<LF>
  2198.    <<LF>
  2199.    [body]<<LF>
  2200.    <<LF>
  2201.    <<LF>
  2202.  
  2203.    The header and body of the protocol are separated by 2 line feed
  2204.    characters.  The format of the header and the body is described
  2205.    below. Line feed characters in the header or body will be escaped
  2206.    using simple URL encoding.
  2207.  
  2208.    Header
  2209.  
  2210.    [session-id | 0]<<LF>
  2211.    [message-id]<<LF>
  2212.    [version-info]<<LF>
  2213.  
  2214.    All CallBroker transactions are identified by sessions. A session
  2215.    does not necessarily correspond one-to-one to a TCP session. If the
  2216.    IP client is attempting to initiate a new session with the CallBroker
  2217.    the session-id field is populated with '0' to indicate session
  2218.    creation request. Every session request needs to be accompanied by
  2219.    sufficient information regarding authentication for the CallBroker to
  2220.    create the session.
  2221.  
  2222.    Message-id represents the operation of the message.
  2223.  
  2224.    Version-info contains optional version information of the protocol.
  2225.    This is to aid possible version mismatch detection and graceful error
  2226.    recovery.
  2227.  
  2228.    Body
  2229.  
  2230.    The body of the protocol messages consists of name value pairs. These
  2231.    name-value pairs are interpreted with reference to the message-id
  2232.    which signifies the operation to be performed by the CallBroker.
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242. Lu, et. al.                  Informational                     [Page 40]
  2243.  
  2244. RFC 2458                Pre-PINT Implementations           November 1998
  2245.  
  2246.  
  2247. 6.1.4 APIs Exposed to the IP Client
  2248.  
  2249.    The APIs of the CallBroker exposed to the IP client are distinct and
  2250.    different from the APIs that the CallBroker uses from the different
  2251.    supporting subsystems including the authentication subsystem and the
  2252.    usage recording subsystem. The IP client APIs enable clients to
  2253.    effectively control voice conferencing.
  2254.  
  2255. 6.1.5 Voice-Bridge Control API
  2256.  
  2257.    The Voice Bridge Control API is used by CallBroker applications to
  2258.    access voice bridging functionality. The API distinguishes between
  2259.    sessions and calls. Calls represent actual voice calls placed from/to
  2260.    the voice bridge.  These calls can be grouped together in sessions.
  2261.    All the calls that belong to a session are bridged. Calls have a
  2262.    significance outside the scope of sessions. Every call can be
  2263.    associated with multiple sessions with different weights at the same
  2264.    time. The advantage of this approach is the ability to support
  2265.    concepts like whispering in a conference call. Calls can also be
  2266.    dropped from a conference session and bridged together in a new
  2267.    session to give the notion of a sub-conference. These calls can later
  2268.    be re-added to the main conference session.
  2269.  
  2270. 6.2  Simple Computer Telephony Protocol
  2271.  
  2272. 6.2.1 Overview
  2273.  
  2274.    The Simple Computer Telephony Protocol (SCTP) is a third party call
  2275.    control protocol and as such does not comply with the PINT charter.
  2276.    SCTP is described in this section to show how PINT services could be
  2277.    implemented using SCTP, and where SCTP fits into the PINT
  2278.    architecture.
  2279.  
  2280.    In addition to third party call control, SCTP also provides
  2281.    subscriber (i.e., user) feature management (e.g., allows a user to
  2282.    set do not disturb, call forwarding parameters), and subscriber
  2283.    monitoring of terminal, line and address status. SCTP is strictly
  2284.    client/server-based. It has no provisions for peer to peer
  2285.    communications. SCTP runs as a TCP application protocol. It is
  2286.    ASCII-based and uses sockets. The SCTP Server is usually connected to
  2287.    a switch via a CTI (Computer-Telephony Integration) connection.
  2288.    Because of this, feature interactions are limited to those within the
  2289.    context of a single call, and not between PSTN services. The SCTP
  2290.    Server within a PINT Gateway could also be connected to an SN, or an
  2291.    SCP. See figures below. SCTP does NOT carry media.
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298. Lu, et. al.                  Informational                     [Page 41]
  2299.  
  2300. RFC 2458                Pre-PINT Implementations           November 1998
  2301.  
  2302.  
  2303. 6.2.2 How SCTP Fits in with the Reference PINT Services
  2304.  
  2305.    SCTP Client as Part of a Web Server
  2306.  
  2307.    +------+    +--------+       +--------+    +------+
  2308.    |      |    |        | SCTP  |        |    |      |
  2309.    |      |----|        |-------|        |----|      |
  2310.    |      |    |        |       |        |    |      |
  2311.    +------+    +--------+       +--------+    +------+
  2312.    User's PC   Web Server/      PINT Gateway  SN/SCP/Switch
  2313.                CGI
  2314.  
  2315.              Figure 14: SCTP Client as Part of a Web Server
  2316.  
  2317.    In this architecture, the SCTP Client is embedded in the Web Server.
  2318.    It is there for the specific purpose of initiating calls to the PSTN
  2319.    based on user requests. The SCTP Server is within the PINT Gateway.
  2320.    We go through the classic PINT examples:
  2321.  
  2322.    Click-to-dial-back: The SCTP Client issues an SCTP MakeCall to the
  2323.    SCTP Server with the calling number supplied by Web page, and called
  2324.    number supplied by the user.
  2325.  
  2326.    Click-to-fax-back: SCTP Client issues an SCTP MakeCall to the SCTP
  2327.    Server with called number set to user's fax machine, and calling
  2328.    number set to Web Server's fax machine, and treatment set to the URI
  2329.    for the file to be faxed.  The SCTP Server takes the file and feeds
  2330.    it into the call just as a fax machine would.
  2331.  
  2332.    Click-to-fax: SCTP Client issues an SCTP MakeCall with calling number
  2333.    set to user's fax machine, and called number set to Web Server's fax
  2334.    machine. How the file is supplied to the user's fax machine is
  2335.    outside the scope of SCTP.
  2336.  
  2337.    Voice-access-to-content: SCTP Client issues an SCTP MakeCall with
  2338.    called number set to user's telephone number, and calling number set
  2339.    to Web Server and treatment set to a URI for the file of the
  2340.    particular Web page to be read to the called number. The SCTP Server
  2341.    takes care of the file to voice conversion and this is fed into the
  2342.    call as if it were voice.
  2343.  
  2344.    In all of the above cases, the SCTP Client can generate a variety of
  2345.    different Web pages to send to the Web Server via CGI (Common Gateway
  2346.    Interface). The content of these pages is based on the call
  2347.    completion status of the CallMake SCTP action.
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354. Lu, et. al.                  Informational                     [Page 42]
  2355.  
  2356. RFC 2458                Pre-PINT Implementations           November 1998
  2357.  
  2358.  
  2359.    SCTP Client Running on the User's PC
  2360.  
  2361.  
  2362.                              +------+
  2363.                  HTML        |      |  INTERNET
  2364.    +-----+    /--------------|      |
  2365.    |     |---/               +------+
  2366.    |     |                   Web Server
  2367.    |     |---\
  2368.    +-----+    \
  2369.    User's PC   \ SCTP        +------+       +------+
  2370.                 \------------|      |-------|      | PSTN
  2371.                              |      |       |      |
  2372.                              +------+       +------+
  2373.                              PINT Gateway   SN/SCP/Switch
  2374.  
  2375.  
  2376.             Figure 15: SCTP Client Running on the User's PC
  2377.  
  2378.    In this architecture, the user has an SCTP Client co-located with it.
  2379.    If the user is using the telephone line for connection to a Web
  2380.    Server and there is an incoming call, then the SCTP Server in the
  2381.    PINT Gateway will post this event to the SCTP Client. A window will
  2382.    pop up on the user's screen with options available to the user for
  2383.    handling of the incoming call. The user can choose to take the call,
  2384.    send it to voice mail, or send it to another number.
  2385.  
  2386.    For the Fax back service, for example, if the user had a separate fax
  2387.    machine from his or her PC, then the SCTP Server would tell the SCTP
  2388.    Client there is an incoming fax. The user would end or suspend his or
  2389.    her Internet connection, the fax would come in, and the user could
  2390.    then resume the Internet connection.
  2391.  
  2392. 7. Session Initiation Protocol--An Emerging Standard
  2393.  
  2394. 7.1 Overview
  2395.  
  2396.    SIP, the Session Initiation Protocol, is a simple signaling protocol
  2397.    for Internet conferencing and telephony. It is currently under
  2398.    development within the IETF MMUSIC (Multiparty Multimedia Session
  2399.    Control) Working Group.
  2400.  
  2401.    SIP provides the necessary mechanisms to support the following
  2402.    services:
  2403.  
  2404.    - call forwarding, including the equivalent of 700-, 800- and 900-
  2405.      type calls;
  2406.    - call-forwarding no answer;
  2407.  
  2408.  
  2409.  
  2410. Lu, et. al.                  Informational                     [Page 43]
  2411.  
  2412. RFC 2458                Pre-PINT Implementations           November 1998
  2413.  
  2414.  
  2415.    - call-forwarding busy;
  2416.    - call-forwarding unconditional;
  2417.    - other address-translation services;
  2418.    - callee and calling "numbers" delivery, where the numbers can be of
  2419.      any (preferably unique) naming scheme;
  2420.    - personal mobility, i.e., the ability to reach a called party under
  2421.      a single, location-independent address, even when the user changes
  2422.      terminals;
  2423.    - terminal-type negotiation and selection: a caller can be given a
  2424.      choice of how to reach a party, e.g., via Internet telephony,
  2425.      mobile, phone, and an answering service;
  2426.    - caller and callee authentication;
  2427.    - blind and supervised call transfer;
  2428.    - user location; and
  2429.    - invitation to multicast conferences.
  2430.  
  2431.    Extensions of SIP to allow third-party signaling (e.g., for click-
  2432.    to-dial-back services, fully meshed conferences and connections to
  2433.    Multipoint Control Units (MCUs), as well as mixed modes and the
  2434.    transition between those) have been specified.
  2435.  
  2436.    SIP addresses (URLs) can be embedded in Web pages. SIP is
  2437.    addressing-neutral, with addresses expressed as URLs of various types
  2438.    such as SIP, H.323 or telephone (E.164). A purely representational
  2439.    example of a SIP URL might be sip:+12125551212@foo.example.com, where
  2440.    foo.example.com is the host serving as a gateway into the PSTN.
  2441.  
  2442.    SIP is independent of the packet layer and only requires an
  2443.    unreliable datagram service, as it provides its own reliability
  2444.    mechanism. While SIP typically is used over UDP or TCP, it could,
  2445.    without technical changes, be run over IPX, or carrier pigeons, ATM
  2446.    AAL5 or X.25, in rough order of desirability.
  2447.  
  2448.    SIP can set up calls "out-of-band". For example, while the SIP
  2449.    protocol exchanges use IP, plus UDP or TCP, the actual data transport
  2450.    can take place via the PSTN. This feature makes it possible to use
  2451.    SIP to control a PBX or send requests to a Service Control Point. The
  2452.    PINT services make use of this flexibility.
  2453.  
  2454. 7.2 SIP Protocol
  2455.  
  2456.    SIP is a textual client-server protocol, similar in syntax to HTTP
  2457.    and RTSP.  Requests consist of a method (INVITE, BYE, ACK, or
  2458.    REGISTER), a list of parameter-value pairs describing the request and
  2459.    an optional request body. Parameters include the origin and
  2460.    destination of the call and a unique call identifier. They may
  2461.    indicate the caller's organization as well as the call's subject and
  2462.    priority. The request body contains a description of the call to be
  2463.  
  2464.  
  2465.  
  2466. Lu, et. al.                  Informational                     [Page 44]
  2467.  
  2468. RFC 2458                Pre-PINT Implementations           November 1998
  2469.  
  2470.  
  2471.    established or the conference to be joined. The description format is
  2472.    not prescribed by SIP; SDP is one possibility being standardized
  2473.    within the IETF. For the purposes of providing PINT services, an
  2474.    additional phone number address format is to be added to SDP.
  2475.  
  2476.    Responses indicate whether a request is still being processed, was
  2477.    successful, can possibly be satisfied by another node or failed. When
  2478.    a call is redirected, the response indicates the name of the node to
  2479.    be tried. Unsuccessful calls may also return a better time to try
  2480.    again.
  2481.  
  2482.    In a typical successful call, the caller sends an INVITE request to
  2483.    the callee. The callee accepts the call by returning a response code
  2484.    to the callee, which then confirms the receipt of that acceptance
  2485.    with an ACK request. Either side can terminate the call by sending a
  2486.    BYE request.
  2487.  
  2488.    Requests can be authenticated using standard HTTP password and
  2489.    challenge-response mechanisms. Requests and responses may also be
  2490.    signed and encrypted.
  2491.  
  2492. 7.3 SIP entities
  2493.  
  2494.    SIP distinguishes three kinds of entities:
  2495.  
  2496.    User agents receive and initiate calls and may forward the call.
  2497.  
  2498.    A proxy server is an intermediary program that acts as both a server
  2499.    and a client for the purpose of making requests on behalf of other
  2500.    clients. Requests are serviced internally or by passing them on,
  2501.    possibly after translation, to other servers. A proxy must interpret,
  2502.    and, if necessary, rewrite a request message before forwarding it. A
  2503.    proxy server may, for example, locate a user and then attempt one or
  2504.    more possible network addresses.
  2505.  
  2506.    Redirect server accepts a SIP request, maps the address into zero or
  2507.    more new addresses and returns these addresses to the client. Unlike
  2508.    a proxy server, it does not initiate its own SIP request. Unlike a
  2509.    user agent server, it does not accept calls.
  2510.  
  2511.    Proxy and redirect servers may make use of location servers that
  2512.    determine the current likely location of the callee.
  2513.  
  2514.    A PSTN gateway initiates phone calls between two parties. This may be
  2515.    a server that sends requests to an SCP in an IN environment or it may
  2516.    be a CTI-controlled PBX.
  2517.  
  2518.    A SIP call may traverse one or more proxy servers.
  2519.  
  2520.  
  2521.  
  2522. Lu, et. al.                  Informational                     [Page 45]
  2523.  
  2524. RFC 2458                Pre-PINT Implementations           November 1998
  2525.  
  2526.  
  2527.    The servers that control a PBX or an SCP act as user agents. A Web
  2528.    server may also act as a SIP user agent.
  2529.  
  2530. 7.4 Providing Call Control Functionality
  2531.  
  2532.    The SIP for PINT specification provides details on how to use SIP to
  2533.    initiate phone calls between two PSTN end points. (SIP can also
  2534.    initiate calls between Internet end points and between an Internet
  2535.    and PSTN end point, but this is beyond the scope of this document.)
  2536.  
  2537.    It should be noted that the SIP client for initiating such phone
  2538.    calls can be either at the user's location (his/her workstation) or
  2539.    can be a Web server that calls up a SIP client via a CGI program.
  2540.    There is no difference in operation or functionality, except that the
  2541.    owner of the Web server may be legally responsible for the calls
  2542.    made.
  2543.  
  2544.    A SIP client needs to convey two addresses to the PSTN gateway:  the
  2545.    party making the call and the party to be called. (The party to be
  2546.    billed also needs to be identified; this can either be done by a SIP
  2547.    header or by having the server look up the appropriate party based on
  2548.    the two parties. This aspect is for further study.)
  2549.  
  2550.    Described below are three ways these addresses can be conveyed in
  2551.    SIP. In the example, the address of party A is +1-212-555-1234 and
  2552.    that of party B is +1-415-555-1200. (The URL types in this and other
  2553.    examples are representational; they may but do not have to exist.)
  2554.  
  2555.    (1) The two PSTN addresses are contained in the To header (and
  2556.    request-URI) and an Also header. For example:
  2557.  
  2558.      INVITE sip:+1-212-555-1234@pbx.example.com SIP/2.0
  2559.      To: phone:1-212-555-1234
  2560.      From: sip:j.doe@example.com
  2561.      Content-type: application/sdp
  2562.      Call-ID: 19970721T135107.25.181@foo.bar.com
  2563.      Also: phone:+1-415-555-1200
  2564.  
  2565.      v=0
  2566.      o=user1 53655765 2353687637 IN IP4 128.3.4.5
  2567.      c=PSTN E.164 +1-415-555-1200
  2568.      t=0 0
  2569.      m=audio 0 RTP/AVP 0
  2570.  
  2571.    In that case, the gateway first connects to party A and then party B,
  2572.    but without waiting for A to accept the call before calling B.
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578. Lu, et. al.                  Informational                     [Page 46]
  2579.  
  2580. RFC 2458                Pre-PINT Implementations           November 1998
  2581.  
  2582.  
  2583.    (2) Parties A and B are indicated by separate invitations. This
  2584.    allows the gateway to make sure that party A is indeed available
  2585.    before calling party B.  After calling party A, the gateway could
  2586.    play an announcement indicating that the call is being connected
  2587.    using, for example, RTSP with appropriate Conference header
  2588.    indicating the call.
  2589.  
  2590.      INVITE sip:+1-212-555-1234@pbx.example.com SIP/2.0
  2591.      To: phone:1-212-555-1234
  2592.      From: sip:j.doe@example.com
  2593.      Content-type: application/sdp
  2594.      Call-ID: 19970721T135107.25.181@foo.bar.com
  2595.      ...
  2596.      INVITE sip:+1-415-555-1200@pbx.example.com SIP/2.0
  2597.      To: phone:+1-415-555-1200
  2598.      From: sip:j.doe@example.com
  2599.      Content-type: application/sdp
  2600.      Call-ID: 19970721T135107.25.181@foo.bar.com
  2601.      ...
  2602.  
  2603.    (3) The two PSTN addresses are conveyed in the To header of the SIP
  2604.    request and the address in the SDP media description. Thus, a request
  2605.    may look as follows:
  2606.  
  2607.      INVITE sip:+1-212-555-1234@pbx.example.com SIP/2.0
  2608.      To: phone:1-212-555-1234
  2609.      From: sip:j.doe@example.com
  2610.      Content-type: application/sdp
  2611.      Call-ID: 19970721T135107.25.181@foo.bar.com
  2612.  
  2613.      v=0
  2614.      o=user1 53655765 2353687637 IN IP4 128.3.4.5
  2615.      c=PSTN E.164 +1-415-555-1200
  2616.      t=0 0
  2617.      m=audio 0 RTP/AVP 0
  2618.  
  2619.    Here, pbx.example.com is the name of the PSTN gateway; the call will
  2620.    be established between 1-212-555-1234 and +1-415-555-1200.
  2621.  
  2622.    Users can be added to an existing call by method (1) or (2).
  2623.  
  2624. 8. Overall Security Considerations
  2625.  
  2626.    Inter-networking of the Internet and PSTN necessitates the
  2627.    introduction of new interfaces (e.g., the A, B and E interfaces in
  2628.    Figure 6). To ensure that their use does not put the networks, in
  2629.    particular the PSTN, at additional security risk, these interfaces
  2630.    need to be designed with proper security considerations. Sections
  2631.  
  2632.  
  2633.  
  2634. Lu, et. al.                  Informational                     [Page 47]
  2635.  
  2636. RFC 2458                Pre-PINT Implementations           November 1998
  2637.  
  2638.  
  2639.    5.1.5 and 5.2.2.7 describe how two of the pre-PINT implementations,
  2640.    the Lucent and Siemens systems, handle the security aspect,
  2641.    respectively.
  2642.  
  2643.    Worth noting are the security requirements suggested by pre-PINT
  2644.    experiences. They are:
  2645.  
  2646.    +Peer entity authentication to allow a communicating entity to prove
  2647.    its identity to another in the network (e.g., the requesting IP-host
  2648.    to the PINT gateway, and the PINT gateway to the PSTN node providing
  2649.    the service control function).
  2650.  
  2651.    +Authorization and access control to verify if a network entity
  2652.    (e.g., the requesting IP-host) is allowed to use a network resource
  2653.    (e.g., requesting services from the PINT gateway).
  2654.  
  2655.    +Non-repudiation to account for all operations in case of doubt or
  2656.    dispute.
  2657.  
  2658.    +Confidentiality to avoid disclosure of information (e.g., the end
  2659.    user profile information and data) without the permission of its
  2660.    owner.
  2661.  
  2662.    In the course of the PINT interface development, additional
  2663.    requirements are likely to arise. It is imperative that the resultant
  2664.    interfaces include specific means to meet all the security
  2665.    requirements.
  2666.  
  2667. 9. Conclusion
  2668.  
  2669.    This document has provided the information relevant to the
  2670.    development of inter-networking interfaces between the PSTN and
  2671.    Internet for supporting PINT services. Specifically, it addressed
  2672.    technologies, architectures, and several existing pre-PINT
  2673.    implementations of the arrangements through which Internet
  2674.    applications can request and enrich PSTN telecommunications services.
  2675.    One key observation is that the pre-PINT implementations, being
  2676.    developed independently, do not inter-operate. It is a task of the
  2677.    PINT Working Group to define the inter-networking interfaces that
  2678.    will support inter-operation of the future implementations of PINT
  2679.    services.
  2680.  
  2681. 10. Acknowledgments
  2682.  
  2683.    The authors would like to acknowledge Scott Bradner, Igor Faynberg,
  2684.    Dave Oran, Scott Petrack, Allyn Romanow for their insightful comments
  2685.    presented to the discussions in the PINT Working Group that lead to
  2686.    the creation of this document.
  2687.  
  2688.  
  2689.  
  2690. Lu, et. al.                  Informational                     [Page 48]
  2691.  
  2692. RFC 2458                Pre-PINT Implementations           November 1998
  2693.  
  2694.  
  2695. 11. Appendix
  2696.  
  2697. 11.1 PSTN/IN 101
  2698.  
  2699. 11.1.1 Public Switched Telephone Network
  2700.  
  2701.    What is normally considered as "the Telephone Network" consists of a
  2702.    set of interconnected networks. Potentially, each of these networks
  2703.    could be owned by a different Network Operator. The official name for
  2704.    such a network is Public Switched Telecommunications Network (PSTN).
  2705.    A simple PSTN consists of a set of Switches (called Central Offices
  2706.    or Telephone Exchanges) with links interconnecting them to make up
  2707.    the network, along with a set of access connections by which
  2708.    terminals are attached. The PSTN is used to deliver calls between
  2709.    terminals connected to itself or to other PSTNs with which it is
  2710.    interconnected. Calls on the PSTN are circuit switched; that is, a
  2711.    bi-directional connection is made between the calling and called
  2712.    terminals for the duration of the call. In  PSTNs the connection is
  2713.    usually carried through the network in digital format occupying a
  2714.    fixed bandwidth; this is usually 56 or 64 Kbps. The overall
  2715.    configuration of the PSTN is shown in Figure 16.
  2716.  
  2717.     /--\
  2718.    ()/\()__
  2719.     /__\   \       .................................
  2720.             \      !             !                 !           /--\
  2721.      __      \   [-!-]         [-!-]               !          ()/\()
  2722.      \ \      \__[CO ]=========[CO ]==\\           !        ___/__\
  2723.     [Fax]________[---]         [---]   \\        [-!-]     /   __
  2724.                                         \\=======[CO ]____/    \ \
  2725.                                                  [---]________[Fax]
  2726.    Key: ___   Access Lines
  2727.         ===   Trunk Links (inter-CO user data links)
  2728.         ...   Inter-CO signaling network links
  2729.  
  2730.                                Figure 16
  2731.  
  2732.    Messages are sent between the Switches to make and dissolve
  2733.    connections through the network on demand and to indicate the status
  2734.    of terminals involved in a call; these "signaling" messages are
  2735.    carried over a separate (resilient) data network dedicated to this
  2736.    purpose. This signaling network is also known as the Common Channel
  2737.    Signaling (CCS) or Signaling System Number 7 (or SS7) network after
  2738.    the names of the signaling protocol suite used.
  2739.  
  2740.    As yet, the majority of access connections to a PSTN carry analogue
  2741.    signals, with simple (analogue) telephones or Facsimile machines as
  2742.    terminals. Call requests are indicated to the Central Office to which
  2743.  
  2744.  
  2745.  
  2746. Lu, et. al.                  Informational                     [Page 49]
  2747.  
  2748. RFC 2458                Pre-PINT Implementations           November 1998
  2749.  
  2750.  
  2751.    a telephone is connected either by a sequence of pulses or tone pairs
  2752.    being sent. Notifications on the status of the request are sent back
  2753.    to the telephone in the form of tones.  Indication from a Central
  2754.    Office that a call is being offered to a telephone is arranged by
  2755.    sending an alternating voltage down the access connection which in
  2756.    turn causes the ringer in the telephone to sound. These access lines
  2757.    have a unique address associated with them and can support a single
  2758.    call.
  2759.  
  2760.    However, with analogue or digital multi-line connections, or
  2761.    Integrated Service Digital Network (ISDN) Basic or Primary Rate
  2762.    Interfaces (BRI or PRI), several concurrent calls are possible and a
  2763.    set of addresses are associated with them. The new ISDN access
  2764.    connections are designed so that data exchanged with the network is
  2765.    in multiplexed digital form, and there is an individual channel for
  2766.    each of the potential connections, together with a separate channel
  2767.    dedicated to sending and receiving call request and call alert data
  2768.    as well as carrying packet switched user data. These call request and
  2769.    call alert messages act as the equivalent of the pulses or tones that
  2770.    are sent when dialing, and the ringing signal that is sent to a
  2771.    telephone when a call is being made to it.
  2772.  
  2773.    The operation of the call request is fairly simple in most cases and
  2774.    is shown in Figure 17.
  2775.  
  2776.     /--\
  2777.    ()  ()
  2778.      --____
  2779.     /++\   \       .................................           /--\
  2780.    /----\   \      ^             v                 !          ()  ()
  2781.       A      \   [-!-]         [-!-]               !            --
  2782.               \->[CO ]=========[CO ]==\\           v        ->-/  \
  2783.                  [---]         [---]   \\        [-!-]     /  /----\
  2784.                                         \\=======[CO ]____/     B
  2785.                                                  [---]
  2786.    Key: ___   Access Lines
  2787.         ===   Trunk Links (inter-CO user data links)
  2788.         ...   Inter-CO signaling network links
  2789.         CO    Central Office (Telephone Exchange)
  2790.  
  2791.                                Figure 17
  2792.  
  2793.    The user presses a sequence of numbers on a telephone handset
  2794.    (labeled A), and the telephone passes a sequence of digits (either as
  2795.    pulses or tone pairs) to the Central Office via the access line. The
  2796.    Central Office contains a processor that will be notified that the
  2797.    user has made a request and the digit string that is the sole
  2798.    parameter of the request. This digit string is taken to be the unique
  2799.  
  2800.  
  2801.  
  2802. Lu, et. al.                  Informational                     [Page 50]
  2803.  
  2804. RFC 2458                Pre-PINT Implementations           November 1998
  2805.  
  2806.  
  2807.    address of an access line connected either to itself or to another
  2808.    Central Office. There is a hierarchical addressing scheme, so that
  2809.    the digit string can be parsed easily. A call request to a terminal
  2810.    (labeled B) connected to a remote Central Office can be routed by
  2811.    examining the digit string passed; the Central Office will extract
  2812.    the part of the passed address that corresponds to the remote Central
  2813.    Office in question, and can route the request onward, forming an
  2814.    inter-Switch call request and passing it via the signaling network.
  2815.    At the same time it will allocate one of its available transmission
  2816.    channels towards the remote Central Office.
  2817.  
  2818. 11.1.2 Intelligent Network
  2819.  
  2820.    This scheme has been used since the 1950s, and suffices for the
  2821.    majority of calls. However, there are a range of other services that
  2822.    can be (and have been) provided, enhancing this basic call
  2823.    processing. Freephone or Premium Rate services (1-800 or 1-900
  2824.    services) are good examples of the supplementary services that have
  2825.    been introduced. Apart from the important feature that the cost of
  2826.    these calls is varied so that the caller does not pay for a free-
  2827.    phone call, or pays an extra charge for a premium rate call, they
  2828.    have the similarity that the number dialed must be translated to
  2829.    arrive at the "real" address of the destination terminal. They are
  2830.    known as number translation services, and make up the bulk of all
  2831.    supplementary services delivered today.
  2832.  
  2833.    These were originally programmed into each Central Office, but the
  2834.    complexity of maintaining the data tables on each processor grew
  2835.    cumbersome, so a more general solution was sought. After a
  2836.    considerable gestation period, the eventual solution was the
  2837.    Intelligent Network. This takes the separation of Central Offices and
  2838.    the network links interconnecting them a stage further.
  2839.  
  2840.    The Central Offices are considered to provide the Call Control
  2841.    Function (CCF).  In addition, the Service Switching Function (SSF) is
  2842.    provided to "enhance" the operation of these Switches by detecting
  2843.    when a particular request has been made (such as by dialing 1-800).
  2844.    If this pattern is detected, the equipment implementing the SSF will
  2845.    send a specialized request message over the signaling network to a
  2846.    separate computer that implements the Service Control Function (SCF).
  2847.    This entity is responsible for querying service specific data (held
  2848.    in a unit providing the Service Data Function, or SDF), performing
  2849.    any digit translations necessary, and sending the details of how to
  2850.    proceed back to the SSF, where they are obeyed and the call is put
  2851.    through to the "real" destination. In many implementations, the SDF
  2852.    is closely coupled to the SCF.  This configuration is shown in Figure
  2853.    18.
  2854.  
  2855.  
  2856.  
  2857.  
  2858. Lu, et. al.                  Informational                     [Page 51]
  2859.  
  2860. RFC 2458                Pre-PINT Implementations           November 1998
  2861.  
  2862.  
  2863.                  [---]           [---]  [---]
  2864.     /--\         [SRF]           [SCF]  [SDF]
  2865.    ()/\()__      [|-!]           [-!-]  [-!-]
  2866.     /__\   \     ||  \.............!......!........
  2867.             \    ||  /           !                !          /--\
  2868.      __      \   [|-!]         [-!-]              !         ()/\()
  2869.      \ \      \__[SSF]         [CCF]              !       ___/__\
  2870.     [Fax]________[CCF]=========[---]==\\         [!--]   /   __
  2871.                                        \\========[CCF]__/    \ \
  2872.                                                  [---]_______[Fax]
  2873.    Key: ___   access relationship
  2874.         ===   trunk relationship
  2875.         ...   signaling relationship
  2876.  
  2877.  
  2878.                                Figure 18
  2879.  
  2880.    The advantage is that there can be a much smaller number of physical
  2881.    units dedicated to the SCF, and as they are connected to the
  2882.    signaling network they can be contacted by, and can send instructions
  2883.    back to, all of the units providing the SSF and thus the CCF.
  2884.  
  2885.    In another enhancement, a separate entity called the Special Resource
  2886.    Function (SRF) was defined. Equipment implementing this function
  2887.    includes announcement units to play recorded messages (for example,
  2888.    prompts to enter digits) to callers. It will also include the tone
  2889.    decoders needed to capture any digits pressed by the caller in
  2890.    response to the prompts. It is connected to the rest of the PSTN
  2891.    usually via trunk data links. It will also include a signaling
  2892.    connection (directly or indirectly) back to the SCF, via the PSTN's
  2893.    core signaling network.
  2894.  
  2895.    As an example of the way that these different functional entities
  2896.    interact, the SCF can ask an SSF handling a call to route the caller
  2897.    temporarily through to an SRF. In response to instructions sent to it
  2898.    from the SCF over the signaling network, the SRF can play
  2899.    announcements and can collect digits that the user presses on their
  2900.    terminal in response to prompts they are played.  Once these digits
  2901.    have been collected they can be passed on to the SCF via a signaling
  2902.    message for further processing. In normal operation, the SCF would
  2903.    then ask the SSF to dissolve the temporary connection between the
  2904.    user's terminal and the SRF. This allows the collection of account
  2905.    numbers or passwords (or PINs) and forms the heart of many "Calling
  2906.    Card" services.
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914. Lu, et. al.                  Informational                     [Page 52]
  2915.  
  2916. RFC 2458                Pre-PINT Implementations           November 1998
  2917.  
  2918.  
  2919.    This pattern of user interaction is also used in a wide variety of
  2920.    other services where extra account information and PINs are needed.
  2921.    They are collected as just described and can be checked against the
  2922.    correct values stored in the service database prior to allowing the
  2923.    call to proceed.
  2924.  
  2925.    The Intelligent Network functional entities can be realized as
  2926.    physical units in a number of different combinations. A common
  2927.    configuration is shown in Figure 19.
  2928.  
  2929.  
  2930.                  [---]           [---] [---]     [---]
  2931.     /--\         [I.P]           [SCP] [SDP]     [SN ]
  2932.    ()/\()__      [|-!]           [-!-] [-!-]     [--|]
  2933.     /__\   \     ||  \.............!.....!.....     |
  2934.             \    ||  /           !             \    |        /--\
  2935.      __      \   [|-!]         [-!-]            \   |       ()/\()
  2936.      \ \      \__[SSP]=========[CO ]==\\         \  |     ___/__\
  2937.     [Fax]________[---]         [---]   \\        [!-|]   /   __
  2938.                                         \\=======[CO ]__/    \ \
  2939.                                                  [---]_______[Fax]
  2940.  
  2941.    Key: ___   Access Lines
  2942.         ===   Trunk Links (inter-CO user data links)
  2943.         ...   Inter-CO signaling network links
  2944.         SSP   Service Switching Point - a unit that implements the
  2945.               Service Switching Function
  2946.         CCP   Call Control Point - a unit that performs call control
  2947.               functions.
  2948.               This is normally a kind of Central Office (shown as CO
  2949.               above)
  2950.         SCP   Service Control Point - a unit implementing the Service
  2951.               Control Function. NOTE that this is connected to the SS7
  2952.               Network and uses this connection for all of its
  2953.               communications.
  2954.         I.P   Intelligent Peripheral - a unit that contains specialized
  2955.               resources (like announcement units, tone decoders).
  2956.               In effect, it implements Special Resource Functions.
  2957.         SN    Service Node
  2958.  
  2959.                                Figure 19
  2960.  
  2961.    This diagram also shows a unit called a Service Node, or SN. This
  2962.    contains components that realize all of the operational Intelligent
  2963.    Network functions (SSF, SCF, SDF, and SRF). It is sometimes more
  2964.    convenient to have all of these elements in one node (for example,
  2965.    for operations and maintenance reasons), particularly within smaller
  2966.    PSTNs or where there is a relatively low level of requests for
  2967.  
  2968.  
  2969.  
  2970. Lu, et. al.                  Informational                     [Page 53]
  2971.  
  2972. RFC 2458                Pre-PINT Implementations           November 1998
  2973.  
  2974.  
  2975.    particular services. Another difference is that, as they are all co-
  2976.    located, proprietary protocols can be used for internal
  2977.    communication, rather than the full Intelligent Network Application
  2978.    Part (INAP) protocol used over the core signaling network between
  2979.    discrete units. It also differs from the "unbundled" approach in that
  2980.    it is connected to the COs within a PSTN as a peripheral, having only
  2981.    an access connection to a Central Office; there is no connection to
  2982.    the core signaling network. Other than this, it operates in a similar
  2983.    way, and can provide the same kinds of services. Information on the
  2984.    specification of the Intelligent Network can be found in the ITU
  2985.    recommendations [1], while two books ([2] and [3]) describe the
  2986.    system, its history, operation, and the philosophy behind it.
  2987.  
  2988. 11.2 Call Center Features
  2989.  
  2990.    A Call Center is a system that allows a company to be organized with
  2991.    a group of similar individuals (agents), all of whom can either make
  2992.    calls to, or take calls from, customers. The system distributes
  2993.    incoming calls to the agents based on their availability and
  2994.    automates the placement of outgoing calls, selecting an agent to
  2995.    handle the call and routing the call to them only once the call
  2996.    request has been made of the PSTN.
  2997.  
  2998.    The incoming call distribution feature ("automatic call
  2999.    distribution", or ACD) is usually coupled with a call queuing scheme.
  3000.    In this scheme, the callers are connected temporarily with an
  3001.    announcement unit that normally plays music. The calls are treated in
  3002.    sequence so that (once the caller is at the front of the queue) the
  3003.    ACD system selects the next available agent and routes the call
  3004.    through to them.
  3005.  
  3006.    Another feature connects a customer making an incoming call to a unit
  3007.    that asks them for some information on the purpose of their call,
  3008.    selecting the agent to handle the call based on the particular area
  3009.    of expertise needed; to do this, the agents are further categorized
  3010.    by their knowledge (or "Skill Set"). If this skill set categorization
  3011.    is used then by implication there will be separate queues for each of
  3012.    the skill sets. This user selection scheme can be used independently
  3013.    of the others. For example these so-called "voice navigation systems"
  3014.    can be used to select a particular department extension number, based
  3015.    on the function required by the customer; as such, they can automate
  3016.    the job of company telephone receptionist in routing incoming calls.
  3017.  
  3018.    Where possible, the information gleaned from the customer can be
  3019.    provided to the selected agent, usually via a separate networked
  3020.    computer connection.  Similarly, if an outgoing call is being made to
  3021.    one of a list of customers, information on the customer and the
  3022.    purpose of the call can be provided to the agent selected to handle
  3023.  
  3024.  
  3025.  
  3026. Lu, et. al.                  Informational                     [Page 54]
  3027.  
  3028. RFC 2458                Pre-PINT Implementations           November 1998
  3029.  
  3030.  
  3031.    the call. Such configurations are generally called "Computer
  3032.    Telephony Integration" or CTI systems. Strictly, a CTI system can be
  3033.    arranged to handle routing of incoming calls and automation of
  3034.    outgoing calls only (also known as computer integrated telephony
  3035.    features), without the agents having access to a network of
  3036.    computers. However, the business case for combining the telephony
  3037.    functions of the call center with provision to the agents of
  3038.    computers with customer information can be compelling.
  3039.  
  3040.    This is often further combined with a company's order and service
  3041.    processing computer system. In this case, a call is treated as part
  3042.    of a business transaction, with the information to be exchanged
  3043.    captured as fields of a computer form. While such a computer system
  3044.    is not, strictly, part of a call center, integrating the company
  3045.    computer system with the call center is very common. This allows the
  3046.    details of the call to be stored on a centralized database, allowing
  3047.    further automated order processing, for example. It also allows the
  3048.    call to be transferred from one agent to another where needed,
  3049.    ensuring that the new agent has the information already captured.
  3050.    This might be useful if someone with a different area of expertise
  3051.    were to be needed to handle the customer's requirements.
  3052.  
  3053.    Traditionally, Call Centers have been used to support teams of agents
  3054.    working at a single site (or a small number of sites, with private
  3055.    telephony trunks interconnecting them). The site Private Automatic
  3056.    Branch eXchange (PABX) was integrated with a computer system to
  3057.    provide these features to people at that site. There can be a
  3058.    business case for provision of such features to distributed teams of
  3059.    workers as well. In particular, the possibility of providing support
  3060.    for people working from home has been seen as important. Some of the
  3061.    Call Center features have been incorporated into public telephone
  3062.    exchanges or Central Offices (COs) from many manufacturers as part of
  3063.    their "Centrex" service offerings.
  3064.  
  3065.    There are practical limitations in providing such features on COs.
  3066.    Apart from the procedures needed to configure these features for any
  3067.    telephone line that is to use them, the basic requirement that every
  3068.    agent must have a connection to the supporting CO can limit its
  3069.    usefulness. Another approach is to provide Call Center features via
  3070.    the Intelligent Network. The features might thus be provided over a
  3071.    Telephone Operator's entire network, and would mean that the Call
  3072.    Center could be configured centrally while still allowing agents to
  3073.    be located anywhere within the telephone network. It also means that
  3074.    the supported company can pay for the Call Center features "as they
  3075.    go" rather than having a high "up front" cost.
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082. Lu, et. al.                  Informational                     [Page 55]
  3083.  
  3084. RFC 2458                Pre-PINT Implementations           November 1998
  3085.  
  3086.  
  3087. 12. References
  3088.  
  3089.    [1] ITU-T Q.12xx Recommendation Series, Geneva, 1995.
  3090.  
  3091.    [2] I. Faynberg, L. R. Gabuzda, M. P. Kaplan, and N. J. Shah, "The
  3092.        Intelligent Network Standards, their Application to Services",
  3093.        McGraw-Hill, 1996.
  3094.  
  3095.    [3] T. Magedanz and R. Popesku-Zeletin, "Intelligent Networks: Basic
  3096.        Technology, Standards and Evolution", Intl. Thomson Computer
  3097.        Press, 1996.
  3098.  
  3099.    [4] Information processing systems - Open Systems Interconnection -
  3100.        Specification of Abstract Syntax Notation One (ASN.1),
  3101.        International Organization for Standardization, International
  3102.        Standard 8824, December, 1987.
  3103.  
  3104.    [5] McCloghrie, K., Editor, "Structure of Management Information for
  3105.        Version 2 of the Simple Network Management Protocol (SNMPv2)",
  3106.        RFC 1902, January 1996.
  3107.  
  3108.    [6] Kristol, D. and L. Montulli, "HTTP State Management Mechanism",
  3109.        RFC 2109, February 1997.
  3110.  
  3111.    [7] Zimmerman, D., "The Finger User Information Protocol", RFC 1288
  3112.        December 1991.
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138. Lu, et. al.                  Informational                     [Page 56]
  3139.  
  3140. RFC 2458                Pre-PINT Implementations           November 1998
  3141.  
  3142.  
  3143. Authors' Addresses
  3144.  
  3145.    Steve Bellovin
  3146.    AT&T Labs
  3147.    Room E-215
  3148.    180 Park Ave. Bldg. 103
  3149.    Florham Park, NJ 07932-0000
  3150.    USA
  3151.  
  3152.    Phone: +1 973 360 8656
  3153.    Fax: +1 973 360 8077
  3154.    EMail: smb@research.att.com
  3155.  
  3156.  
  3157.    Fred M. Burg
  3158.    AT&T Labs
  3159.    Room 1N-117
  3160.    307 Middletown Lincroft Road
  3161.    Lincroft, NJ 07738
  3162.    USA
  3163.  
  3164.    Phone: +1 732 576 4322
  3165.    Fax: +1 732 576 4317
  3166.    EMail: fburg@hogpb.att.com
  3167.  
  3168.  
  3169.    Lawrence Conroy
  3170.    Roke Manor Research Limited
  3171.    IT&N-INIA Group
  3172.    Roke Manor, Old Salisbury Lane,
  3173.    Romsey, Hampshire    SO51 0ZN
  3174.    U.K.
  3175.  
  3176.    Phone: +44 1794 833666
  3177.    Fax: +44 1794 833434
  3178.    EMail: lwc@roke.co.uk
  3179.  
  3180.  
  3181.    Paul Davidson
  3182.    Nortel
  3183.    P.O.Box 3511 Station "C"
  3184.    Mail Stop 242
  3185.    Ottawa, Ontario, Canada K1Y 4H7
  3186.  
  3187.    Phone: +1 613 763 4234
  3188.    EMail: pauldav@nortel.ca
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194. Lu, et. al.                  Informational                     [Page 57]
  3195.  
  3196. RFC 2458                Pre-PINT Implementations           November 1998
  3197.  
  3198.  
  3199.    A. DeSimone
  3200.    Lucent Technologies
  3201.    Room 6H510
  3202.    600-700 Mountain Avenue
  3203.    Murray Hill, NJ  07974-0636
  3204.    USA
  3205.  
  3206.    Phone: +1 908 582 2382
  3207.    Fax: +1 908 582 1086
  3208.    E-Mail:tds@lucent.com
  3209.  
  3210.  
  3211.    Murali Krishnaswamy
  3212.    Bell Laboratories
  3213.    Lucent Technologies
  3214.    Room 2G-527a
  3215.    101 Crawfords Corner Road
  3216.    Holmdel, NJ 07733-3030
  3217.    USA
  3218.  
  3219.    Phone: +1 732 949 3611
  3220.    Fax: +1 732 949 3210
  3221.    EMail: murali@bell-labs.com
  3222.  
  3223.  
  3224.    Hui-Lan Lu
  3225.    Bell Laboratories
  3226.    Lucent Technologies
  3227.    Room 4K-309
  3228.    101 Crawfords Corner Road
  3229.    Holmdel, NJ 07733-3030
  3230.    USA
  3231.  
  3232.    Phone: +1 732 949 0321
  3233.    Fax: +1 732 949 1196
  3234.    EMail: hui-lan.lu@bell-labs.com
  3235.  
  3236.  
  3237.    Henning Schulzrinne
  3238.    Dept. of Computer Science
  3239.    Columbia University
  3240.    New York, NY 10027
  3241.    USA
  3242.  
  3243.    Phone: +1 212 939 7042 (@Bell Labs: 732 949 8344)
  3244.    Fax: +1 212 666 0140
  3245.    EMail: schulzrinne@cs.columbia.edu
  3246.  
  3247.  
  3248.  
  3249.  
  3250. Lu, et. al.                  Informational                     [Page 58]
  3251.  
  3252. RFC 2458                Pre-PINT Implementations           November 1998
  3253.  
  3254.  
  3255.    Kamlesh T. Tewani
  3256.    AT&T Labs
  3257.    Room 1K-334
  3258.    101, Crawfords Corner Rd.
  3259.    Holmdel, NJ 07733
  3260.    USA
  3261.  
  3262.    Phone: +1 732 949 5369
  3263.    Fax: +1 732 949 8569
  3264.    EMail: tewani@att.com
  3265.  
  3266.  
  3267.    Kumar Vishwanathan
  3268.    Isochrone
  3269.    EMail: kumar@isochrone.com
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306. Lu, et. al.                  Informational                     [Page 59]
  3307.  
  3308. RFC 2458                Pre-PINT Implementations           November 1998
  3309.  
  3310.  
  3311. Full Copyright Statement
  3312.  
  3313.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  3314.  
  3315.    This document and translations of it may be copied and furnished to
  3316.    others, and derivative works that comment on or otherwise explain it
  3317.    or assist in its implementation may be prepared, copied, published
  3318.    and distributed, in whole or in part, without restriction of any
  3319.    kind, provided that the above copyright notice and this paragraph are
  3320.    included on all such copies and derivative works.  However, this
  3321.    document itself may not be modified in any way, such as by removing
  3322.    the copyright notice or references to the Internet Society or other
  3323.    Internet organizations, except as needed for the purpose of
  3324.    developing Internet standards in which case the procedures for
  3325.    copyrights defined in the Internet Standards process must be
  3326.    followed, or as required to translate it into languages other than
  3327.    English.
  3328.  
  3329.    The limited permissions granted above are perpetual and will not be
  3330.    revoked by the Internet Society or its successors or assigns.
  3331.  
  3332.    This document and the information contained herein is provided on an
  3333.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  3334.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  3335.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  3336.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  3337.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362. Lu, et. al.                  Informational                     [Page 60]
  3363.  
  3364.