⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2824.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
            based on these parameters.

         -  Media description

            Call invitations specify the types of media that will flow,
            their bandwidth usage, their network destination addresses,
            etc. The script should be able to make decisions based on
            these media characteristics.




Lennox & Schulzrinne         Informational                     [Page 19]

RFC 2824                         CPL-F                          May 2000


         -  Authentication/encryption status

            Call invitations can be authenticated. Many properties of
            the authentication are relevant: the method of
            authentication/encryption, who performed the authentication,
            which specific fields were encrypted, etc.  The script
            should be able to make decisions based on these security
            parameters.

      o  Should be able to take action based on a call invitation

         There are a number of actions we can take in response to an
         incoming call setup request. We can:

         -  reject it

            We should be able to indicate that the call is not
            acceptable or not able to be completed. We should also be
            able to send more specific rejection codes (including, for
            SIP, the associated textual string, warning codes, or
            message payload).

         -  redirect it

            We should be able to tell the call initiator sender to try a
            different location.

         -  proxy it

            We should be able to send the call invitation on to another
            location, or to several other locations ("forking" the
            invitation), and await the responses. It should also be
            possible to specify a timeout value after which we give up
            on receiving any definitive responses.

      o  Should be able to take action based a response to a proxied or
         forked call invitation

         Once we have proxied an invitation, we need to be able to make
         decisions based on the responses we receive to that invitation
         (or the lack thereof).  We should be able to:

         -  consider its message fields

            We should be able to consider the same fields of a response
            as we consider in the initial invitation.





Lennox & Schulzrinne         Informational                     [Page 20]

RFC 2824                         CPL-F                          May 2000


         -  relay it on to the call originator

            If the response is satisfactory, it should be returned to
            the sender.

         -  for a fork, choose one of several responses to relay back

            If we forked an invitation, we obviously expect to receive
            several responses. There are several issues here -- choosing
            among the responses, and how long to wait if we've received
            responses from some but not all destinations.

         -  initiate other actions

            If we didn't get a response, or any we liked, we should be
            able to try something else instead (e.g., call forward on
            busy).

12.3 Base features -- non-signalling

   A number of other features that a call processing language should
   have do not refer to call signalling per se; however, they are still
   extremely desirable to implement many useful features.

   The servers which provide these features might reside in other
   Internet devices, or might be local to the server (or other
   possibilities). The language should be independent of the location of
   these servers, at least at a high level.

      o  Logging

         In addition to the CPL server's natural logging of events, the
         user will also want to be able to log arbitrary other items.
         The actual storage for this logging information might live
         either locally or remotely.

      o  Error reporting

         If an unexpected error occurs, the script should be able to
         report the error to the script's owner. This may use the same
         mechanism as the script server uses to report language errors
         to the user (see section 12.5).

      o  Access to user-location info

         Proxies will often collect information on users' current
         location, either through SIP REGISTER messages, the H.323 RRQ
         family of RAS messages, or some other mechanism (see section



Lennox & Schulzrinne         Informational                     [Page 21]

RFC 2824                         CPL-F                          May 2000


         6.2). The CPL should be able to refer to this information so a
         call can be forwarded to the registered locations or some
         subset of them.

      o  Database access

         Much information for CPL control might be stored in external
         databases, for example a wide-area address database, or
         authorization information, for a CPL under administrative
         control. The language could specify some specific database
         access protocols (such as SQL or LDAP), or could be more
         generic.

      o  Other external information

         Other external information a script could access includes web
         pages, which could be sent back in a SIP message body; or a
         clean interface to remote procedure calls such as Corba, RMI,
         or DCOM, for instance to access an external billing database.
         However, for simplicity, these interfaces may not be in the
         initial version of the protocol.

12.4 Language features

   Some features do not involve any operations external to the CPL's
   execution environment, but are still necessary to allow some standard
   services to be implemented. (This list is not exhaustive.)

      o  Pattern-matching

         It should be possible to give special treatment to addresses
         and other text strings based not only on the full string but
         also on more general or complex sub-patterns of them.

      o  Address filtering

         Once a set of addresses has been retrieved through one of the
         methods in section 12.3, the user needs to be able to choose a
         sub-set of them, based on their address components or other
         parameters.

      o  Randomization

         Some forms of call distribution are randomized as to where they
         actually end up.






Lennox & Schulzrinne         Informational                     [Page 22]

RFC 2824                         CPL-F                          May 2000


      o  Date/time information

         Users may wish to condition some services (e.g., call
         forwarding, call distribution) on the current time of day, day
         of the week, etc.

12.5 Control

   As described in section 8, we must have a mechanism to send and
   retrieve CPL scripts, and associated data, to and from a signalling
   server. This method should support reporting upload-time errors to
   users; we also need some mechanism to report errors to users at
   script execution time. Authentication is vital, and encryption is
   very useful. The specification of this mechanism can be (and probably
   ought to be) a separate specification from that of the call
   processing language itself.

13 Security Considerations

   The security considerations of transferring CPL scripts are discussed
   in sections 8 and 12.5. Some considerations about the execution of
   the language are discussed in section 12.1.

14 Acknowledgments

   We would like to thank Tom La Porta and Jonathan Rosenberg for their
   comments and suggestions.

15 Authors' Addresses

   Jonathan Lennox
   Dept. of Computer Science
   Columbia University
   1214 Amsterdam Avenue, MC 0401
   New York, NY 10027
   USA

   EMail: lennox@cs.columbia.edu


   Henning Schulzrinne
   Dept. of Computer Science
   Columbia University
   1214 Amsterdam Avenue, MC 0401
   New York, NY 10027
   USA

   EMail: schulzrinne@cs.columbia.edu



Lennox & Schulzrinne         Informational                     [Page 23]

RFC 2824                         CPL-F                          May 2000


16 Bibliography

   [1]  Handley, M., Schulzrinne, H., Schooler, E. and J. Rosenberg,
        "SIP: Session Initiation Protocol", RFC 2543, March 1999.

   [2]  International Telecommunication Union, "Packet based multimedia
        communication systems," Recommendation H.323, Telecommunication
        Standardization Sector of ITU, Geneva, Switzerland, Feb. 1998.

   [3]  K. Coar and D. Robinson, "The WWW common gateway interface
        version 1.1", Work in Progress.

   [4]  T. Showalter, "Sieve: A mail filtering language", Work in
        Progress.

   [5]  J. Lennox and H. Schulzrinne, "CPL: a language for user control
        of internet telephony services", Work in Progress.

   [6]  International Telecommunication Union, "General recommendations
        on telephone switching and signaling -- intelligent network:
        Introduction to intelligent network capability set 1,"
        Recommendation Q.1211, Telecommunication Standardization Sector
        of ITU, Geneva, Switzerland, Mar. 1993.

   [7]  Guttman, E., Perkins, C., Veizades, J. and M. Day, "Service
        Location Protocol, Version 2", RFC 2608, June 1999.

   [8]  E. J. Cameron, N. D. Griffeth, Y.-J. Lin, M. E. Nilson, W. K.
        Schure, and H. Velthuijsen, "A feature interaction benchmark for
        IN and beyond," Feature Interactions in Telecommunications
        Systems, IOS Press, pp. 1-23, 1994.

   [9]  J. Lennox, J. Rosenberg, and H. Schulzrinne, "Common gateway
        interface for SIP", Work in Progress.

   [10] J. Rosenberg, J. Lennox, and H. Schulzrinne, "Programming
        internet telephony services," Technical Report CUCS-010-99,
        Columbia University, New York, New York, Mar. 1999.

   [11] H. Schulzrinne and J. Rosenberg, "SIP caller preferences and
        callee capabilities", Work in Progress.










Lennox & Schulzrinne         Informational                     [Page 24]

RFC 2824                         CPL-F                          May 2000


17 Full Copyright Statement

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















Lennox & Schulzrinne         Informational                     [Page 25]


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -