[asterisk-scf-commits] asterisk-scf/release/slice.git branch "master" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Tue Aug 2 11:35:26 CDT 2011


branch "master" has been updated
       via  710ddb716666de4e3a563dbe98c18ba989565d1d (commit)
       via  5be6e80e1297b54417fbe4e397c6e1a001dff0f7 (commit)
       via  4e86b2abd950c20d045571d800e3e339f27f7195 (commit)
       via  17e108dddff06d03a063458509fffaaed5dac2c1 (commit)
       via  4f8144731b8d8bea448ebf03522988059e99e013 (commit)
       via  e1d951b9e26e74d39343d90bdd0fbfdb24ce1622 (commit)
       via  1e6fbb3b7ecbe6e09c8a036444417ba81bf6e4fc (commit)
       via  1e4a200895905b4daad524073b559e1c6a20c058 (commit)
       via  316e80013a1a1af9e010ab176375f2f7da956f0c (commit)
       via  301511a730689ef97b5a0ad0ac7253764bc0ceb1 (commit)
       via  f521d81df6506d98720689f7f59715e21dbf12c3 (commit)
       via  066d644817a1b66fded5c451a01bf8c909d49808 (commit)
       via  746b04090e0417866c65a177aa9d557d33f180d2 (commit)
       via  3ba802dfb6aadc72cf220bc94055fba327a35e93 (commit)
       via  58527682560c3bb61a507bccff6e6ce8ea0e0b63 (commit)
       via  3d9627788925c83576d30c515611d52b3b89cf90 (commit)
       via  a1c7095470e0837cddf06392600f4ded75621c7d (commit)
       via  3210fdee32fe530ab3c510722e1f074673e54d98 (commit)
       via  87084086ac652c2d78a08e4303b040c617a460d2 (commit)
       via  ad5c63f72a7592846b2ea4e6eafeacb3a079a940 (commit)
       via  c5b274b221ab70df08aecfd7cf0414e9e1cb1375 (commit)
       via  a9820ac200df8d31eea60dd4fea5f27d5987f85c (commit)
       via  d735f01dfafdee853aceb6ffb7e9d41b4047d95a (commit)
       via  6e2fa7c0124c66217fd422dc71177fcb8d7c3fff (commit)
       via  385ee4248b0b73bf5f78bdc66f63a29e06d3d8a5 (commit)
       via  99491b94b0f6447012d5ae02ebc8ce22cd1a383e (commit)
       via  01adb95b829e38b7e37b48ab93e59dcdf54d80c8 (commit)
       via  05d6ac7f35fead63d078c6152dd0cebda242c925 (commit)
       via  ca410aa2bb9668285602444eb62e949eb774c1bb (commit)
       via  eac6f97d72f001826fd4916fe0f48168cbdc881a (commit)
       via  d04d3a09996feb377aafb1031d8e33f226ebb239 (commit)
       via  8b819d0f890bfbe5ad27b6b65d9e6b11b01e1c7f (commit)
       via  e45e6fa0300ef6f0b8f34509ddc7bdab516903b9 (commit)
       via  2cb74eedd507643088a896c48a45b8de1ec273bc (commit)
       via  dabeff4967323d04420a899954c7bbbadd914e5d (commit)
       via  afd197363be73a59b23e5684d64b302757737b6d (commit)
       via  cdae4b2a3a64890a801bd447e4f12520b5cf9bfd (commit)
       via  7dae68fd30c6101d95c96376b8ba072e17ffb9f9 (commit)
       via  cbcc5be7d06718395a1a6ed900267142d2e056bf (commit)
       via  c0d707179a9fde7fb3fd514448c290bed46886c0 (commit)
       via  d1bcf200a72d465b50e1dd37f46158be22b81200 (commit)
       via  6f527e42b011e4de38a63346f09b960327051f49 (commit)
       via  80bf066124c979cb87097c7c0bfbd7bc8c28095d (commit)
       via  7b068cb8822533f95b7a3486695c068ec861b077 (commit)
       via  3e2f5453300dd973662c6b48093e8462e215d1c0 (commit)
       via  fb771371b6d4e4af1e3e5e22083c5cb95370c778 (commit)
       via  1573dccf550be8a44050b60278e53bf76ad3eeb4 (commit)
       via  25ea611953b99f851219aef1e9a5d007ee6eb904 (commit)
       via  0726637cb65cd31baee1ab589eafb8798987f5b3 (commit)
       via  77eb1663d727f545cf5bac36ba8442df72bfd617 (commit)
      from  8774a9fee9cebfb35ae9cae57c578ac2047f75af (commit)

Summary of changes:
 slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice         |   25 ++++-
 .../SessionCommunicationsIf.ice                    |   18 +++
 .../SessionCommunications/TelephonyEventsIf.ice    |  112 ++++++++++++++++++++
 3 files changed, 154 insertions(+), 1 deletions(-)
 create mode 100644 slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice


- Log -----------------------------------------------------------------
commit 710ddb716666de4e3a563dbe98c18ba989565d1d
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Aug 2 11:35:22 2011 -0500

    Remove RTP items for now since I'm not trying to merge that support at this time.

diff --git a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index c0aa242..535a729 100644
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -274,7 +274,7 @@ module V1
        * @throws SessionAllocationFailure if the media service is unable to allocate a session
        * to match the provided parameters.
        */
-       RTPSession* allocate(RTPServiceLocatorParams params, RTPOptions options, out RTPAllocationOutputs outputs) throws SessionAllocationFailure;
+       RTPSession* allocate(RTPServiceLocatorParams params) throws SessionAllocationFailure;
    };
 
 }; /*  end module V1 */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 07f2ead..1f16f64 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -567,192 +567,6 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventsSourceSeq getSources();
-        TelephonyEventsSinkSeq getSinks();
-    };
-
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventSink;
-    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
-    /**
-     * A source for telephony events
-     */
-    interface TelephonyEventSource
-    {
-        /**
-         * Add a new sink to send telephony events to
-         */
-        idempotent void addSink(TelephonyEventSink* sink);
-        /**
-         * Get a list of the sinks to which this source sends events
-         */
-        idempotent TelephonyEventSinkSeq getSinks();
-    };
-
-    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
-    /**
-     * A place to send telephony events
-     */
-    interface TelephonyEventSink
-    {
-        /**
-         * Send a telephony event to this sink
-         */
-        void write(TelephonyEvent event);
-        /**
-         * Set the source for this sink
-         */
-        idempotent void setSource(TelephonyEventSource* source);
-        /**
-         * Get the source for this sink
-         */
-        idempotent TelephonyEventSource* getSource();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
-    };
-
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventsSource
-    {
-        idempotent void addSink(TelephonyEventsSink* sink);
-        idempotent TelephonyEventSink* getSinks();
-    };
-
-    interface TelephonyEventsSink
-    {
-        void write(TelephonyEvent event);
-        idempotent void setSource(TelephonyEventsSource* source);
-        idempotent TelephonyEventsSource* getSource();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
-        /**
-         * Get a sequence of the telephony event sources for this session
-         */
-        ["amd"] TelephonyEventSourceSeq getSources();
-        /**
-         * Get a sequence of the telephony event sinks for this session
-         */
-        ["amd"] TelephonyEventSinkSeq getSinks();
-    };
-
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventSink;
-    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
-    /**
-     * A source for telephony events
-     */
-    interface TelephonyEventSource
-    {
-        /**
-         * Add a new sink to send telephony events to
-         */
-        idempotent void addSink(TelephonyEventSink* sink);
-        /**
-         * Get a list of the sinks to which this source sends events
-         */
-        idempotent TelephonyEventSinkSeq getSinks();
-    };
-
-    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
-    /**
-     * A place to send telephony events
-     */
-    interface TelephonyEventSink
-    {
-        /**
-         * Send a telephony event to this sink
-         */
-        void write(TelephonyEvent event);
-        /**
-         * Set the source for this sink
-         */
-        idempotent void setSource(TelephonyEventSource* source);
-        /**
-         * Get the source for this sink
-         */
-        idempotent TelephonyEventSource* getSource();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
         /**
          * Get a sequence of the telephony event sources for this session
          */

commit 5be6e80e1297b54417fbe4e397c6e1a001dff0f7
Merge: 4e86b2a 99491b9
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Aug 2 10:21:33 2011 -0500

    Merge branch 'dtmf' of git.asterisk.org:asterisk-scf/integration/slice into dtmf
    
    Conflicts:
    	slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice

diff --cc slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index ff9b4c8,3d282e1..c0aa242
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@@ -184,83 -177,6 +184,82 @@@ module V
      };
  
     /**
 +    * Indicates that the SRTP functionality is not available at the moment. 
 +    */
 +   exception SRTPUnavailable
 +   {
 +   };
 +
 +   /**
 +    * General exception to indicate that attempts to establish an SRTP enabled flow have failed.
 +    */
 +   exception SRTPFailure
 +   {
 +   };
 +
 +   /**
 +    * Exception indicating the session has already started.
 +    */
 +   exception SRTPAlreadyStarted
 +   {
 +   };
 +
 +   /**
 +    * Interface to an SRTP enabled RTP session.
 +    */
 +   interface SRTPSession extends RTPSession
 +   {
 +
 +       /**
 +        *
 +        * Set the key information for the local endpoint. 
 +        *
 +        * @param suiteName The type of crypto suite to be used.
 +        *
 +        * @param keyInfo The key for the specified crypto suite (may be empty).
 +        * 
 +        * @param enableAuthentication Specify that the connection should be authenticated.
 +        *
 +        * @param enableEncryption Specify that the RTP flows should be encrypted.
 +        *
 +        * @throws SRTPUnavailable if the SRTP functionality is unavailable at the moment, really should not happen.
 +        *
 +        */
 +       void setOptions(string suiteName, string keyInfo, bool enableAuthentication, bool enableEncryption) 
 +           throws SRTPUnavailable;
 +
 +       /**
 +        * Set the key information and initiates communication with peer.
 +        * 
 +        * @param suiteName The type of crypto suite to be used.
 +        *
 +        * @param keyInfo The key for the specified crypto suite (may be empty).
 +        * 
 +        * @param enableAuthentication Specify that the connection should be authenticated.
 +        *
 +        * @param enableEncryption Specify that the RTP flows should be encrypted.
 +        *
 +        * @throws SRTPUnavailable if the SRTP functionality is unavailable at the moment, really should not happen.
 +        *
 +        * @throws SRTPFailure if authentication/encryption with the peer has failed.
 +        * 
 +        * @throws SRTPAlreadyStarted if this is a duplicate call to start.
 +        *
 +        */
 +       void start(string suiteName, string keyInfo, bool enableAuthentication, bool enableEncryption) throws
 +           SRTPUnavailable, SRTPFailure, SRTPAlreadyStarted;
 +   };
 +
 +   /**
 +    * This exception will be thrown by the media service if the session cannot be allocated for some
 +    * reason. It shall include a descriptive message as to why the request failed.
 +    */
 +   exception SessionAllocationFailure
 +   {
 +       string message;
 +   };
 +
- 
 +   /**
      * Interface to an RTP media service.
      */
     interface RTPMediaService
diff --cc slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 7fbcd4e,b75c09a..07f2ead
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@@ -522,151 -466,76 +522,233 @@@ module V
           * @throws NotBridged if the session is not currently in a bridge.
           */
          ["amd"] void removeBridge(SessionListener* listener) throws NotBridged;
 +
 +        /**
 +         * Method which sets the session controller proxy to be contacted when actions
 +         * that occur on the session require controller intervention or notification.
 +         *
 +         * Multiple controllers are not supported on a session due to the fact that the
 +         * actions occuring on the SessionController interface are critical and supporting
 +         * multiple controllers would lead to state information becoming out of sync between
 +         * controllers.
 +         *
 +         * This method returns a proxy to a SessionController interface implemented by
 +         * the session so it can also perform controller intervention and receive
 +         * notification from the component that passed in the SessionController.
 +         *
 +         * @param controller A proxy to the SessionController object implemented by the caller.
 +         *
 +         * @return SessionController* A proxy to the session controller implemented by
 +         *       the session.
 +         *
 +         * @throws ControllerAlreadySet if a controller is present already.
 +         *
 +         * @see SessionController
 +         */
 +        ["amd"] SessionController *setAndGetSessionController(SessionController* controller) throws
 +            ControllerAlreadySet;
 +
 +        /**
 +         * Method which removes a session controller from a session.
 +         *
 +         * If the passed in proxy is not the current controller this will not
 +         * remove the controller from the session. This prevents a potential issue
 +         * with the controller being set before the previous one has been removed.
 +         *
 +         * @param controller A proxy to the session controller to remove.
 +         */
 +        ["amd"] void removeSessionController(SessionController* controller);
 +    };
 +
 +    /**
 +     * A telephony session is a session that is with a telephone or telephone
 +     * network. It has events associated with it that do not occur with other types
 +     * of sessions.
 +     */
 +    interface TelephonySession extends Session
 +    {
 +        TelephonyEventsSourceSeq getSources();
 +        TelephonyEventsSinkSeq getSinks();
 +    };
 +
 +    unsliceable class TelephonyEvent
 +    {
 +    };
 +
 +    unsliceable class BeginDTMFEvent extends TelephonyEvent
 +    {
 +        byte digit;
 +    };
 +
 +    unsliceable class EndDTMFEvent extends TelephonyEvent
 +    {
 +        byte digit;
 +        int duration;
 +    };
 +
 +    interface TelephonyEventSink;
 +    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
 +
 +    /**
 +     * A source for telephony events
 +     */
 +    interface TelephonyEventSource
 +    {
 +        /**
 +         * Add a new sink to send telephony events to
 +         */
 +        idempotent void addSink(TelephonyEventSink* sink);
 +        /**
 +         * Get a list of the sinks to which this source sends events
 +         */
 +        idempotent TelephonyEventSinkSeq getSinks();
 +    };
 +
 +    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
 +
 +    /**
 +     * A place to send telephony events
 +     */
 +    interface TelephonyEventSink
 +    {
 +        /**
 +         * Send a telephony event to this sink
 +         */
 +        void write(TelephonyEvent event);
 +        /**
 +         * Set the source for this sink
 +         */
 +        idempotent void setSource(TelephonyEventSource* source);
 +        /**
 +         * Get the source for this sink
 +         */
 +        idempotent TelephonyEventSource* getSource();
 +    };
 +
 +    /**
 +     * A telephony session is a session that is with a telephone or telephone
 +     * network. It has events associated with it that do not occur with other types
 +     * of sessions.
 +     */
 +    interface TelephonySession extends Session
 +    {
 +        TelephonyEventSourceSeq getSources();
 +        TelephonyEventSinkSeq getSinks();
 +    };
 +
 +    unsliceable class TelephonyEvent
 +    {
 +    };
 +
 +    unsliceable class BeginDTMFEvent extends TelephonyEvent
 +    {
 +        byte digit;
 +    };
 +
 +    unsliceable class EndDTMFEvent extends TelephonyEvent
 +    {
 +        byte digit;
 +        int duration;
 +    };
 +
 +    interface TelephonyEventsSource
 +    {
 +        idempotent void addSink(TelephonyEventsSink* sink);
 +        idempotent TelephonyEventSink* getSinks();
 +    };
 +
 +    interface TelephonyEventsSink
 +    {
 +        void write(TelephonyEvent event);
 +        idempotent void setSource(TelephonyEventsSource* source);
 +        idempotent TelephonyEventsSource* getSource();
 +    };
 +
 +    /**
 +     * A telephony session is a session that is with a telephone or telephone
 +     * network. It has events associated with it that do not occur with other types
++     * of sessions.
++     */
++    interface TelephonySession extends Session
++    {
++        /**
++         * Get a sequence of the telephony event sources for this session
++         */
++        ["amd"] TelephonyEventSourceSeq getSources();
++        /**
++         * Get a sequence of the telephony event sinks for this session
++         */
++        ["amd"] TelephonyEventSinkSeq getSinks();
+     };
+ 
+     unsliceable class TelephonyEvent
+     {
+     };
+ 
+     unsliceable class BeginDTMFEvent extends TelephonyEvent
+     {
+         byte digit;
+     };
+ 
+     unsliceable class EndDTMFEvent extends TelephonyEvent
+     {
+         byte digit;
+         int duration;
+     };
+ 
+     interface TelephonyEventSink;
+     sequence<TelephonyEventSink> TelephonyEventSinkSeq;
+ 
+     /**
+      * A source for telephony events
+      */
+     interface TelephonyEventSource
+     {
+         /**
+          * Add a new sink to send telephony events to
+          */
+         idempotent void addSink(TelephonyEventSink* sink);
+         /**
+          * Get a list of the sinks to which this source sends events
+          */
+         idempotent TelephonyEventSinkSeq getSinks();
+     };
+ 
+     sequence<TelephonyEventSource> TelephonyEventSourceSeq;
+ 
+     /**
+      * A place to send telephony events
+      */
+     interface TelephonyEventSink
+     {
+         /**
+          * Send a telephony event to this sink
+          */
+         void write(TelephonyEvent event);
+         /**
+          * Set the source for this sink
+          */
+         idempotent void setSource(TelephonyEventSource* source);
+         /**
+          * Get the source for this sink
+          */
+         idempotent TelephonyEventSource* getSource();
+     };
+ 
+     /**
+      * A telephony session is a session that is with a telephone or telephone
+      * network. It has events associated with it that do not occur with other types
+      * of sessions.
+      */
+     interface TelephonySession extends Session
+     {
+         TelephonyEventSourceSeq getSources();
+         TelephonyEventSinkSeq getSinks();
+     };
+ 
+     /**
+      * A telephony session is a session that is with a telephone or telephone
+      * network. It has events associated with it that do not occur with other types
       * of sessions.
       */
      interface TelephonySession extends Session

commit 4e86b2abd950c20d045571d800e3e339f27f7195
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 20 14:18:25 2011 -0500

    Add documentation and remove an erroneous 'idempotent' directive.

diff --git a/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice b/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
index bed4608..11acb78 100644
--- a/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
@@ -28,14 +28,33 @@ module V1
     {
     };
 
+    /**
+     * Indicates the beginning of a DTMF press.
+     */
     unsliceable class BeginDTMFEvent extends TelephonyEvent
     {
-        byte digit;
+        /**
+         * The ASCII value of the DTMF that is being pressed.
+         */
+        byte signal;
     };
 
+    /**
+     * Indicates the end of a DTMF press.
+     *
+     * With certain methods of conveying DTMF, such as SIP INFO,
+     * There will be an EndDTMFEvent with no accompanying
+     * BeginDTMFEvent.
+     */
     unsliceable class EndDTMFEvent extends TelephonyEvent
     {
-        byte digit;
+        /**
+         * The ASCII value of the DTMF that was pressed.
+         */
+        byte signal;
+        /**
+         * The duration of the key press in milliseconds.
+         */
         int duration;
     };
 
@@ -54,7 +73,7 @@ module V1
         /**
          * Add a new sink to send telephony events to
          */
-        ["amd"] idempotent void addSink(TelephonyEventSink* sink);
+        ["amd"] void addSink(TelephonyEventSink* sink);
         /**
          * Get a list of the sinks to which this source sends events
          */

commit 17e108dddff06d03a063458509fffaaed5dac2c1
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 20 14:12:41 2011 -0500

    Use AMD where applicable

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index fe327de..7fbcd4e 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -671,8 +671,14 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
+        /**
+         * Get a sequence of the telephony event sources for this session
+         */
+        ["amd"] TelephonyEventSourceSeq getSources();
+        /**
+         * Get a sequence of the telephony event sinks for this session
+         */
+        ["amd"] TelephonyEventSinkSeq getSinks();
     };
 
     /**
diff --git a/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice b/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
index fef6324..bed4608 100644
--- a/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
@@ -39,8 +39,12 @@ module V1
         int duration;
     };
 
+    unsliceable class FlashEvent extends TelephonyEvent
+    {
+    };
+
     interface TelephonyEventSink;
-    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
+    sequence<TelephonyEventSink*> TelephonyEventSinkSeq;
 
     /**
      * A source for telephony events
@@ -50,14 +54,18 @@ module V1
         /**
          * Add a new sink to send telephony events to
          */
-        idempotent void addSink(TelephonyEventSink* sink);
+        ["amd"] idempotent void addSink(TelephonyEventSink* sink);
         /**
          * Get a list of the sinks to which this source sends events
          */
-        idempotent TelephonyEventSinkSeq getSinks();
+        ["amd"] idempotent TelephonyEventSinkSeq getSinks();
     };
 
-    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
+    sequence<TelephonyEventSource*> TelephonyEventSourceSeq;
+
+    unsliceable exception TelephonyEventException
+    {
+    };
 
     /**
      * A place to send telephony events
@@ -67,15 +75,15 @@ module V1
         /**
          * Send a telephony event to this sink
          */
-        void write(TelephonyEvent event);
+        ["amd"] void write(TelephonyEvent event) throws TelephonyEventException;
         /**
          * Set the source for this sink
          */
-        idempotent void setSource(TelephonyEventSource* source);
+        ["amd"] idempotent void setSource(TelephonyEventSource* source);
         /**
          * Get the source for this sink
          */
-        idempotent TelephonyEventSource* getSource();
+        ["amd"] idempotent TelephonyEventSource* getSource();
     };
 
 }; /* End of module V1 */

commit 4f8144731b8d8bea448ebf03522988059e99e013
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Jul 19 09:26:22 2011 -0500

    Move telephony events to their own file and add media changes.

diff --git a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index c65f7ce..ff9b4c8 100644
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -16,6 +16,7 @@
 
 #include <AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice>
 #include <AsteriskSCF/Media/MediaIf.ice>
+#include <AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice>
 
 module AsteriskSCF
 {
@@ -159,6 +160,29 @@ module V1
       void release();
    };
 
+    class RTPOptions
+    {
+        /**
+         * Tells the RTP session if it should be prepared
+         * to handle telephony events. If this is set true,
+         * then the RTP session should create telephony event
+         * sources and sinks in order to handle such events.
+         */
+        bool handleTelephonyEvents;
+    };
+
+    class RTPAllocationOutputs
+    {
+        /**
+         * Telephony event sources handled by this RTP session
+         */
+        AsteriskSCF::SessionCommunications::V1::TelephonyEventSourceSeq eventSources;
+        /**
+         * Telephony event sinks for this RTP session
+         */
+        AsteriskSCF::SessionCommunications::V1::TelephonyEventSinkSeq eventSinks;
+    };
+
    /**
     * Indicates that the SRTP functionality is not available at the moment. 
     */
@@ -251,7 +275,7 @@ module V1
        * @throws SessionAllocationFailure if the media service is unable to allocate a session
        * to match the provided parameters.
        */
-       RTPSession* allocate(RTPServiceLocatorParams params) throws SessionAllocationFailure;
+       RTPSession* allocate(RTPServiceLocatorParams params, RTPOptions options, out RTPAllocationOutputs outputs) throws SessionAllocationFailure;
    };
 
 }; /*  end module V1 */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 46c8ccb..fe327de 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -22,6 +22,7 @@
 #include <AsteriskSCF/System/ExceptionsIf.ice>
 #include <AsteriskSCF/System/Time/TimeIf.ice>
 #include <AsteriskSCF/Media/MediaIf.ice>
+#include <AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice>
 
 module AsteriskSCF
 {
@@ -559,60 +560,6 @@ module V1
         ["amd"] void removeSessionController(SessionController* controller);
     };
 
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventSink;
-    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
-    /**
-     * A source for telephony events
-     */
-    interface TelephonyEventSource
-    {
-        /**
-         * Add a new sink to send telephony events to
-         */
-        idempotent void addSink(TelephonyEventSink* sink);
-        /**
-         * Get a list of the sinks to which this source sends events
-         */
-        idempotent TelephonyEventSinkSeq getSinks();
-    };
-
-    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
-    /**
-     * A place to send telephony events
-     */
-    interface TelephonyEventSink
-    {
-        /**
-         * Send a telephony event to this sink
-         */
-        void write(TelephonyEvent event);
-        /**
-         * Set the source for this sink
-         */
-        idempotent void setSource(TelephonyEventSource* source);
-        /**
-         * Get the source for this sink
-         */
-        idempotent TelephonyEventSource* getSource();
-    };
-
     /**
      * A telephony session is a session that is with a telephone or telephone
      * network. It has events associated with it that do not occur with other types
diff --git a/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice b/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
new file mode 100644
index 0000000..fef6324
--- /dev/null
+++ b/slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice
@@ -0,0 +1,85 @@
+/*
+ * Asterisk SCF -- An open-source communications framework.
+ *
+ * Copyright (C) 2010, Digium, Inc.
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk SCF project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE.txt file
+ * at the top of the source tree.
+ */
+
+#pragma once
+module AsteriskSCF
+{
+
+module SessionCommunications
+{
+
+["suppress"]
+module V1
+{
+    unsliceable class TelephonyEvent
+    {
+    };
+
+    unsliceable class BeginDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+    };
+
+    unsliceable class EndDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+        int duration;
+    };
+
+    interface TelephonyEventSink;
+    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
+
+    /**
+     * A source for telephony events
+     */
+    interface TelephonyEventSource
+    {
+        /**
+         * Add a new sink to send telephony events to
+         */
+        idempotent void addSink(TelephonyEventSink* sink);
+        /**
+         * Get a list of the sinks to which this source sends events
+         */
+        idempotent TelephonyEventSinkSeq getSinks();
+    };
+
+    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
+
+    /**
+     * A place to send telephony events
+     */
+    interface TelephonyEventSink
+    {
+        /**
+         * Send a telephony event to this sink
+         */
+        void write(TelephonyEvent event);
+        /**
+         * Set the source for this sink
+         */
+        idempotent void setSource(TelephonyEventSource* source);
+        /**
+         * Get the source for this sink
+         */
+        idempotent TelephonyEventSource* getSource();
+    };
+
+}; /* End of module V1 */
+
+}; /* End of module SessionCommunications */
+
+}; /* End of module AsteriskSCF */

commit e1d951b9e26e74d39343d90bdd0fbfdb24ce1622
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Jul 12 16:58:27 2011 -0500

    Address Kevin's comments on CR-ASTSCF-123.
    
    * Remove abandoned DTMF session indications.
    * Change EventsSink and EventsSource to EventSink and EventSource

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 341e788..46c8ccb 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -195,33 +195,6 @@ module V1
     };
 
     /**
-     * About DTMF
-     * DTMF can be transmitted in multiple ways. The most common way
-     * is to detect that DTMF has begun and that it has ended. However,
-     * there are such cases where we get a single notification that
-     * DTMF was received, and how long the DTMF press was. In such a
-     * case we only send an end indication that has the "duration"
-     * specified within.
-     */
-   
-    /**
-     * Command to indicate the beginning of a DTMF digit
-     */
-    unsliceable class BeginDTMF extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Command to indicate the end of a DTMF digit
-     */
-    unsliceable class EndDTMF extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
-    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *
@@ -666,30 +639,30 @@ module V1
         int duration;
     };
 
-    interface TelephonyEventsSink;
-    sequence<TelephonyEventsSink> TelephonyEventsSinkSeq;
+    interface TelephonyEventSink;
+    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
 
     /**
      * A source for telephony events
      */
-    interface TelephonyEventsSource
+    interface TelephonyEventSource
     {
         /**
          * Add a new sink to send telephony events to
          */
-        idempotent void addSink(TelephonyEventsSink* sink);
+        idempotent void addSink(TelephonyEventSink* sink);
         /**
          * Get a list of the sinks to which this source sends events
          */
-        idempotent TelephonyEventsSinkSeq getSinks();
+        idempotent TelephonyEventSinkSeq getSinks();
     };
 
-    sequence<TelephonyEventsSource> TelephonyEventsSourceSeq;
+    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
 
     /**
      * A place to send telephony events
      */
-    interface TelephonyEventsSink
+    interface TelephonyEventSink
     {
         /**
          * Send a telephony event to this sink
@@ -698,11 +671,11 @@ module V1
         /**
          * Set the source for this sink
          */
-        idempotent void setSource(TelephonyEventsSource* source);
+        idempotent void setSource(TelephonyEventSource* source);
         /**
          * Get the source for this sink
          */
-        idempotent TelephonyEventsSource* getSource();
+        idempotent TelephonyEventSource* getSource();
     };
 
     /**
@@ -751,8 +724,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventsSourceSeq getSources();
-        TelephonyEventsSinkSeq getSinks();
+        TelephonyEventSourceSeq getSources();
+        TelephonyEventSinkSeq getSinks();
     };
 
     /**

commit 1e6fbb3b7ecbe6e09c8a036444417ba81bf6e4fc
Author: Mark Michelson <mmichelson at digium.com>
Date:   Mon Jul 11 10:34:18 2011 -0500

    Clean up slice and add some brief docs to methods.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 838374a..341e788 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -222,33 +222,6 @@ module V1
     };
 
     /**
-     * About DTMF
-     * DTMF can be transmitted in multiple ways. The most common way
-     * is to detect that DTMF has begun and that it has ended. However,
-     * there are such cases where we get a single notification that
-     * DTMF was received, and how long the DTMF press was. In such a
-     * case we only send an end indication that has the "duration"
-     * specified within.
-     */
-   
-    /**
-     * Command to indicate the beginning of a DTMF digit
-     */
-    unsliceable class BeginDTMF extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Command to indicate the end of a DTMF digit
-     */
-    unsliceable class EndDTMF extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
-    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *
@@ -693,16 +666,42 @@ module V1
         int duration;
     };
 
+    interface TelephonyEventsSink;
+    sequence<TelephonyEventsSink> TelephonyEventsSinkSeq;
+
+    /**
+     * A source for telephony events
+     */
     interface TelephonyEventsSource
     {
+        /**
+         * Add a new sink to send telephony events to
+         */
         idempotent void addSink(TelephonyEventsSink* sink);
-        idempotent TelephonyEventSink* getSinks();
+        /**
+         * Get a list of the sinks to which this source sends events
+         */
+        idempotent TelephonyEventsSinkSeq getSinks();
     };
 
+    sequence<TelephonyEventsSource> TelephonyEventsSourceSeq;
+
+    /**
+     * A place to send telephony events
+     */
     interface TelephonyEventsSink
     {
+        /**
+         * Send a telephony event to this sink
+         */
         void write(TelephonyEvent event);
+        /**
+         * Set the source for this sink
+         */
         idempotent void setSource(TelephonyEventsSource* source);
+        /**
+         * Get the source for this sink
+         */
         idempotent TelephonyEventsSource* getSource();
     };
 
@@ -752,8 +751,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
+        TelephonyEventsSourceSeq getSources();
+        TelephonyEventsSinkSeq getSinks();
     };
 
     /**

commit 1e4a200895905b4daad524073b559e1c6a20c058
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 09:32:21 2011 -0500

    Change case of DTMF classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index f165a9e..838374a 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -234,7 +234,7 @@ module V1
     /**
      * Command to indicate the beginning of a DTMF digit
      */
-    unsliceable class beginDTMF extends TelephonyIndication
+    unsliceable class BeginDTMF extends TelephonyIndication
     {
         byte digit;
     };
@@ -242,7 +242,7 @@ module V1
     /**
      * Command to indicate the end of a DTMF digit
      */
-    unsliceable class endDTMF extends TelephonyIndication
+    unsliceable class EndDTMF extends TelephonyIndication
     {
         byte digit;
         int duration;

commit 316e80013a1a1af9e010ab176375f2f7da956f0c
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Jul 7 09:22:14 2011 -0500

    There's no need for all these DTMF classes.
    
    Basically, you can tell whether DTMF has been detected or whether
    it is being commanded to be indicated without the need for the
    different classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index eaae378..f165a9e 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -230,24 +230,7 @@ module V1
      * case we only send an end indication that has the "duration"
      * specified within.
      */
-    
-    /**
-     * Indication that a DTMF digit has begun
-     */
-    unsliceable class DTMFBegun extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Indication that a DTMF digit has ended
-     */
-    unsliceable class DTMFEnded extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
+   
     /**
      * Command to indicate the beginning of a DTMF digit
      */

commit 301511a730689ef97b5a0ad0ac7253764bc0ceb1
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 6 16:42:56 2011 -0500

    Add DTMF indication classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 885b83c..eaae378 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -222,6 +222,50 @@ module V1
     };
 
     /**
+     * About DTMF
+     * DTMF can be transmitted in multiple ways. The most common way
+     * is to detect that DTMF has begun and that it has ended. However,
+     * there are such cases where we get a single notification that
+     * DTMF was received, and how long the DTMF press was. In such a
+     * case we only send an end indication that has the "duration"
+     * specified within.
+     */
+    
+    /**
+     * Indication that a DTMF digit has begun
+     */
+    unsliceable class DTMFBegun extends TelephonyIndication
+    {
+        byte digit;
+    };
+
+    /**
+     * Indication that a DTMF digit has ended
+     */
+    unsliceable class DTMFEnded extends TelephonyIndication
+    {
+        byte digit;
+        int duration;
+    };
+
+    /**
+     * Command to indicate the beginning of a DTMF digit
+     */
+    unsliceable class beginDTMF extends TelephonyIndication
+    {
+        byte digit;
+    };
+
+    /**
+     * Command to indicate the end of a DTMF digit
+     */
+    unsliceable class endDTMF extends TelephonyIndication
+    {
+        byte digit;
+        int duration;
+    };
+
+    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *

commit f521d81df6506d98720689f7f59715e21dbf12c3
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 15:02:08 2011 -0500

    Initial telephony events/telephony session addition.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 03d5120..885b83c 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -690,6 +690,45 @@ module V1
         TelephonyEventSinkSeq getSinks();
     };
 
+    unsliceable class TelephonyEvent
+    {
+    };
+
+    unsliceable class BeginDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+    };
+
+    unsliceable class EndDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+        int duration;
+    };
+
+    interface TelephonyEventsSource
+    {
+        idempotent void addSink(TelephonyEventsSink* sink);
+        idempotent TelephonyEventSink* getSinks();
+    };
+
+    interface TelephonyEventsSink
+    {
+        void write(TelephonyEvent event);
+        idempotent void setSource(TelephonyEventsSource* source);
+        idempotent TelephonyEventsSource* getSource();
+    };
+
+    /**
+     * A telephony session is a session that is with a telephone or telephone
+     * network. It has events associated with it that do not occur with other types
+     * of sessions.
+     */
+    interface TelephonySession extends Session
+    {
+        TelephonyEventSourceSeq getSources();
+        TelephonyEventSinkSeq getSinks();
+    };
+
     /**
      * Exception used to indicate an endpoint is unreachable.
      */

commit 066d644817a1b66fded5c451a01bf8c909d49808
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 09:32:21 2011 -0500

    Change case of DTMF classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 6b88493..03d5120 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -207,7 +207,7 @@ module V1
     /**
      * Command to indicate the beginning of a DTMF digit
      */
-    unsliceable class beginDTMF extends TelephonyIndication
+    unsliceable class BeginDTMF extends TelephonyIndication
     {
         byte digit;
     };
@@ -215,7 +215,7 @@ module V1
     /**
      * Command to indicate the end of a DTMF digit
      */
-    unsliceable class endDTMF extends TelephonyIndication
+    unsliceable class EndDTMF extends TelephonyIndication
     {
         byte digit;
         int duration;

commit 746b04090e0417866c65a177aa9d557d33f180d2
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Jul 7 09:22:14 2011 -0500

    There's no need for all these DTMF classes.
    
    Basically, you can tell whether DTMF has been detected or whether
    it is being commanded to be indicated without the need for the
    different classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index d9402b2..6b88493 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -203,24 +203,7 @@ module V1
      * case we only send an end indication that has the "duration"
      * specified within.
      */
-    
-    /**
-     * Indication that a DTMF digit has begun
-     */
-    unsliceable class DTMFBegun extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Indication that a DTMF digit has ended
-     */
-    unsliceable class DTMFEnded extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
+   
     /**
      * Command to indicate the beginning of a DTMF digit
      */

commit 3ba802dfb6aadc72cf220bc94055fba327a35e93
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 6 16:42:56 2011 -0500

    Add DTMF indication classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index a07e140..d9402b2 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -195,6 +195,50 @@ module V1
     };
 
     /**
+     * About DTMF
+     * DTMF can be transmitted in multiple ways. The most common way
+     * is to detect that DTMF has begun and that it has ended. However,
+     * there are such cases where we get a single notification that
+     * DTMF was received, and how long the DTMF press was. In such a
+     * case we only send an end indication that has the "duration"
+     * specified within.
+     */
+    
+    /**
+     * Indication that a DTMF digit has begun
+     */
+    unsliceable class DTMFBegun extends TelephonyIndication
+    {
+        byte digit;
+    };
+
+    /**
+     * Indication that a DTMF digit has ended
+     */
+    unsliceable class DTMFEnded extends TelephonyIndication
+    {
+        byte digit;
+        int duration;
+    };
+
+    /**
+     * Command to indicate the beginning of a DTMF digit
+     */
+    unsliceable class beginDTMF extends TelephonyIndication
+    {
+        byte digit;
+    };
+
+    /**
+     * Command to indicate the end of a DTMF digit
+     */
+    unsliceable class endDTMF extends TelephonyIndication
+    {
+        byte digit;
+        int duration;
+    };
+
+    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *

commit 58527682560c3bb61a507bccff6e6ce8ea0e0b63
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Jul 12 16:58:27 2011 -0500

    Address Kevin's comments on CR-ASTSCF-123.
    
    * Remove abandoned DTMF session indications.
    * Change EventsSink and EventsSource to EventSink and EventSource

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 98b7741..a07e140 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -195,33 +195,6 @@ module V1
     };
 
     /**
-     * About DTMF
-     * DTMF can be transmitted in multiple ways. The most common way
-     * is to detect that DTMF has begun and that it has ended. However,
-     * there are such cases where we get a single notification that
-     * DTMF was received, and how long the DTMF press was. In such a
-     * case we only send an end indication that has the "duration"
-     * specified within.
-     */
-   
-    /**
-     * Command to indicate the beginning of a DTMF digit
-     */
-    unsliceable class BeginDTMF extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Command to indicate the end of a DTMF digit
-     */
-    unsliceable class EndDTMF extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
-    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *
@@ -601,30 +574,30 @@ module V1
         int duration;
     };
 
-    interface TelephonyEventsSink;
-    sequence<TelephonyEventsSink> TelephonyEventsSinkSeq;
+    interface TelephonyEventSink;
+    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
 
     /**
      * A source for telephony events
      */
-    interface TelephonyEventsSource
+    interface TelephonyEventSource
     {
         /**
          * Add a new sink to send telephony events to
          */
-        idempotent void addSink(TelephonyEventsSink* sink);
+        idempotent void addSink(TelephonyEventSink* sink);
         /**
          * Get a list of the sinks to which this source sends events
          */
-        idempotent TelephonyEventsSinkSeq getSinks();
+        idempotent TelephonyEventSinkSeq getSinks();
     };
 
-    sequence<TelephonyEventsSource> TelephonyEventsSourceSeq;
+    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
 
     /**
      * A place to send telephony events
      */
-    interface TelephonyEventsSink
+    interface TelephonyEventSink
     {
         /**
          * Send a telephony event to this sink
@@ -633,11 +606,11 @@ module V1
         /**
          * Set the source for this sink
          */
-        idempotent void setSource(TelephonyEventsSource* source);
+        idempotent void setSource(TelephonyEventSource* source);
         /**
          * Get the source for this sink
          */
-        idempotent TelephonyEventsSource* getSource();
+        idempotent TelephonyEventSource* getSource();
     };
 
     /**
@@ -686,8 +659,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventsSourceSeq getSources();
-        TelephonyEventsSinkSeq getSinks();
+        TelephonyEventSourceSeq getSources();
+        TelephonyEventSinkSeq getSinks();
     };
 
     /**

commit 3d9627788925c83576d30c515611d52b3b89cf90
Author: Mark Michelson <mmichelson at digium.com>
Date:   Mon Jul 11 15:54:48 2011 -0500

    Fix error in slice file.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 222363f..98b7741 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -647,8 +647,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
+        TelephonyEventsSourceSeq getSources();
+        TelephonyEventsSinkSeq getSinks();
     };
 
     unsliceable class TelephonyEvent

commit a1c7095470e0837cddf06392600f4ded75621c7d
Author: Mark Michelson <mmichelson at digium.com>
Date:   Mon Jul 11 10:34:18 2011 -0500

    Clean up slice and add some brief docs to methods.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index e41c9ca..222363f 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -222,33 +222,6 @@ module V1
     };
 
     /**
-     * About DTMF
-     * DTMF can be transmitted in multiple ways. The most common way
-     * is to detect that DTMF has begun and that it has ended. However,
-     * there are such cases where we get a single notification that
-     * DTMF was received, and how long the DTMF press was. In such a
-     * case we only send an end indication that has the "duration"
-     * specified within.
-     */
-   
-    /**
-     * Command to indicate the beginning of a DTMF digit
-     */
-    unsliceable class BeginDTMF extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Command to indicate the end of a DTMF digit
-     */
-    unsliceable class EndDTMF extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
-    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *
@@ -628,16 +601,42 @@ module V1
         int duration;
     };
 
+    interface TelephonyEventsSink;
+    sequence<TelephonyEventsSink> TelephonyEventsSinkSeq;
+
+    /**
+     * A source for telephony events
+     */
     interface TelephonyEventsSource
     {
+        /**
+         * Add a new sink to send telephony events to
+         */
         idempotent void addSink(TelephonyEventsSink* sink);
-        idempotent TelephonyEventSink* getSinks();
+        /**
+         * Get a list of the sinks to which this source sends events
+         */
+        idempotent TelephonyEventsSinkSeq getSinks();
     };
 
+    sequence<TelephonyEventsSource> TelephonyEventsSourceSeq;
+
+    /**
+     * A place to send telephony events
+     */
     interface TelephonyEventsSink
     {
+        /**
+         * Send a telephony event to this sink
+         */
         void write(TelephonyEvent event);
+        /**
+         * Set the source for this sink
+         */
         idempotent void setSource(TelephonyEventsSource* source);
+        /**
+         * Get the source for this sink
+         */
         idempotent TelephonyEventsSource* getSource();
     };
 
@@ -687,8 +686,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
+        TelephonyEventsSourceSeq getSources();
+        TelephonyEventsSinkSeq getSinks();
     };
 
     /**

commit 3210fdee32fe530ab3c510722e1f074673e54d98
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 15:02:08 2011 -0500

    Initial telephony events/telephony session addition.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index f2fb5db..e41c9ca 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -652,6 +652,45 @@ module V1
         TelephonyEventSinkSeq getSinks();
     };
 
+    unsliceable class TelephonyEvent
+    {
+    };
+
+    unsliceable class BeginDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+    };
+
+    unsliceable class EndDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+        int duration;
+    };
+
+    interface TelephonyEventsSource
+    {
+        idempotent void addSink(TelephonyEventsSink* sink);
+        idempotent TelephonyEventSink* getSinks();
+    };
+
+    interface TelephonyEventsSink
+    {
+        void write(TelephonyEvent event);
+        idempotent void setSource(TelephonyEventsSource* source);
+        idempotent TelephonyEventsSource* getSource();
+    };
+
+    /**
+     * A telephony session is a session that is with a telephone or telephone
+     * network. It has events associated with it that do not occur with other types
+     * of sessions.
+     */
+    interface TelephonySession extends Session
+    {
+        TelephonyEventSourceSeq getSources();
+        TelephonyEventSinkSeq getSinks();
+    };
+
     /**
      * Exception used to indicate an endpoint is unreachable.
      */

commit 87084086ac652c2d78a08e4303b040c617a460d2
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 09:32:21 2011 -0500

    Change case of DTMF classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index b8fe4e3..f2fb5db 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -234,7 +234,7 @@ module V1
     /**
      * Command to indicate the beginning of a DTMF digit
      */
-    unsliceable class beginDTMF extends TelephonyIndication
+    unsliceable class BeginDTMF extends TelephonyIndication
     {
         byte digit;
     };
@@ -242,7 +242,7 @@ module V1
     /**
      * Command to indicate the end of a DTMF digit
      */
-    unsliceable class endDTMF extends TelephonyIndication
+    unsliceable class EndDTMF extends TelephonyIndication
     {
         byte digit;
         int duration;

commit ad5c63f72a7592846b2ea4e6eafeacb3a079a940
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Jul 7 09:22:14 2011 -0500

    There's no need for all these DTMF classes.
    
    Basically, you can tell whether DTMF has been detected or whether
    it is being commanded to be indicated without the need for the
    different classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index cf01520..b8fe4e3 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -230,24 +230,7 @@ module V1
      * case we only send an end indication that has the "duration"
      * specified within.
      */
-    
-    /**
-     * Indication that a DTMF digit has begun
-     */
-    unsliceable class DTMFBegun extends TelephonyIndication
-    {
-        byte digit;
-    };
-
-    /**
-     * Indication that a DTMF digit has ended
-     */
-    unsliceable class DTMFEnded extends TelephonyIndication
-    {
-        byte digit;
-        int duration;
-    };
-
+   
     /**
      * Command to indicate the beginning of a DTMF digit
      */

commit c5b274b221ab70df08aecfd7cf0414e9e1cb1375
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 6 16:42:56 2011 -0500

    Add DTMF indication classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 4e5848f..cf01520 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -222,6 +222,50 @@ module V1
     };
 
     /**
+     * About DTMF
+     * DTMF can be transmitted in multiple ways. The most common way
+     * is to detect that DTMF has begun and that it has ended. However,
+     * there are such cases where we get a single notification that
+     * DTMF was received, and how long the DTMF press was. In such a
+     * case we only send an end indication that has the "duration"
+     * specified within.
+     */
+    
+    /**
+     * Indication that a DTMF digit has begun
+     */
+    unsliceable class DTMFBegun extends TelephonyIndication
+    {
+        byte digit;
+    };
+
+    /**
+     * Indication that a DTMF digit has ended
+     */
+    unsliceable class DTMFEnded extends TelephonyIndication
+    {
+        byte digit;
+        int duration;
+    };
+
+    /**
+     * Command to indicate the beginning of a DTMF digit
+     */
+    unsliceable class beginDTMF extends TelephonyIndication
+    {
+        byte digit;
+    };
+
+    /**
+     * Command to indicate the end of a DTMF digit
+     */
+    unsliceable class endDTMF extends TelephonyIndication
+    {
+        byte digit;
+        int duration;
+    };
+
+    /**
      * A sequence of cookies, allowing for a variable number of them
      * to be passed in a single operation or event.
      *

commit a9820ac200df8d31eea60dd4fea5f27d5987f85c
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 15:02:08 2011 -0500

    Initial telephony events/telephony session addition.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 3ea4de9..4e5848f 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -586,6 +586,45 @@ module V1
         ["amd"] void removeSessionController(SessionController* controller);
     };
 
+    unsliceable class TelephonyEvent
+    {
+    };
+
+    unsliceable class BeginDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+    };
+
+    unsliceable class EndDTMFEvent extends TelephonyEvent
+    {
+        byte digit;
+        int duration;
+    };
+
+    interface TelephonyEventsSource
+    {
+        idempotent void addSink(TelephonyEventsSink* sink);
+        idempotent TelephonyEventSink* getSinks();
+    };
+
+    interface TelephonyEventsSink
+    {
+        void write(TelephonyEvent event);
+        idempotent void setSource(TelephonyEventsSource* source);
+        idempotent TelephonyEventsSource* getSource();
+    };
+
+    /**
+     * A telephony session is a session that is with a telephone or telephone
+     * network. It has events associated with it that do not occur with other types
+     * of sessions.
+     */
+    interface TelephonySession extends Session
+    {
+        TelephonyEventSourceSeq getSources();
+        TelephonyEventSinkSeq getSinks();
+    };
+
     /**
      * Exception used to indicate an endpoint is unreachable.
      */

commit d735f01dfafdee853aceb6ffb7e9d41b4047d95a
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Jul 8 09:32:21 2011 -0500

    Change case of DTMF classes.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index ce9d94c..3ea4de9 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
... 1745 lines suppressed ...


-- 
asterisk-scf/release/slice.git



More information about the asterisk-scf-commits mailing list