Subject: RE: Newbie questions on CPL

From: Rhonda Ruhbach <[email-masked]>
Date: Mon, 25 Oct 1999 09:21:51 +0200

Hello,

Please be aware that I am receiving emails that I do not think should come to me.  It appears that I am on a 'Blind Copy' distribution.

Regards,

Rhonda Ruhbach
Head of Professional Services, DACH

Genesys Germany
Mobile:  +49 (0)172-897-1601
Email:    [email-masked]

-----Original Message-----
From:	Bryan Byerly [SMTP:[email-masked]]
Sent:	Friday, October 15, 1999 11:35 PM
To:	[email-masked]; [email-masked]
Subject:	Newbie questions on CPL

Hello,

Let me preface by saying that I really like the idea of enabling
users/sysadmins the ability to dynamically configure
their calling options.  CPL appears to be one way to
empower those users/sysadmins.

I have a few newbie questions on the draft of CPL:

1) In section 5.2 Redirect:
    "Redirect causes the server to direct the calling party to attempt
      to place its call to the currently specified set of locations.
      This immediately terminates execution of the CPL script,
      so this node has no outputs.  This node also has no arguments
       other than the standard Link ID target (see Section 7)"

     a) Can/should these redirects be forked in parallel or
         sequentially?
     b) Does it matter?
     c) If so, how should the preference be specified in the CPL script?

2) In section 6.2 Log:
    Is the "name" field of the Log node referring to:
        i) the name of a log file on the local server.
        ii) a specific entry to log into a log file on the local server

3) Regarding section 6.2 Log:
    Assuming that the "name" field implies the name of the log file:
    a) What syntax should be used to indicate that the server should log

        to a remote (event logging) server?
    b) To address remote logging, should:
          i) a separate field be introduced to indicate the name of
             the remote logging server.  (I assume the absence of
             this field would imply the local server be used as
             default)
                                   OR
          ii) should the name be used as a url to indicate the remote
              pathname of the event logging server?
                                   OR
              eg. my.remote.logging.server.com/log_directory/logFile.log

          iii) I shutup and go away because remote logging is not
                currently going to be addressed.    :)
                                   OR
          iv) other ideas?

4) How do I indicate to turn off the logging?
    (This question applies whether logging occurs locally or remotely)
    i) Reload another script which does NOT including a Log node.
    ii) other ideas?

5) Is there a more recent version of the draft that is available?

6) Although not particularly useful, I like example 8.3   :)

7) Regarding section 9 Security Considerations:
    Although CPL is designed to prevent loops within a single node,
    there still appears to be a danger of loops if a user can install
    scripts on two or more nodes.  I can imagine a mischevious user
    (Malory) installing two (or more) scripts that result in an
    email-bomb (or other annoyance) to a third party.

    It is my understanding that this should not be a problem when
    using SIP due to the VIA header checking
    (which prevents such looping).
    However, I don't believe H.323 does any such checking...

    Let me give the above example a try:

    Script installed on crl-enabled-serverA:
    ------------------------------
    <?xml version="1.0" >?
    <!DOCTYPE call SYSTEM "cpl.dtd">
    < call>
        <notify url="mailto:[email-masked]"
                      comment="ping">

        <location url="h323:[email-masked]">
            <redirect />
        < /location>
    </call>

    Script installed on crl-enabled-serverB:
    ------------------------------
    <?xml version="1.0" >?
    <!DOCTYPE call SYSTEM "cpl.dtd">
    <call>
        <notify url="mailto:[email-masked]"
                          comment="pong">

        <location url="h323:[email-masked]">
              <redirect />
        < /location>
    </call>

    In the above code, I guess <redirect /> could also be
    replaced with <proxy />.

    It's not apparent to me how to fix such a problem without
    making the CPL language useless.

    * Questions/comments/criticisms of coding errors?

8) Here's the list of things I've gleaned from the draft
    that the CPL script Verifier should check when a
    script is loaded on a server:
    0) Verify XML syntax.
    1) Verify support for all variables.            [Section 3]
    2) Verify support for all comparators.       [Section 3.1]
    3) Verify support for all basic locations.   [Section 4.1]
    4) Verify existance of all mandatory syntax requirements.
        (i.e. Verify presence of all mandatory fields.)
    5) Verify all "links" are local                     [Section 7]
         (i.e. Verify all links are in the same script.)
    6) Verify there are no (local) cycles created by links.
        (i.e. For all links, verify no links are to parents.)
        [Section 7]

    * What did I get wrong or am missing?

9) Is COPS the (perhaps unofficially) recommended means of
    transferring CPL scripts?

    What other mechanism would you suggest?

Cheers!

Bryan

(Any/all opinions expressed are personal and should not
  be construed to be those of anyone else.)

---------
This message came from the IETF IPTEL Working Group Mailing List.

---------
This message came from the IETF IPTEL Working Group Mailing List.