[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "dtmf" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Wed Jul 20 14:12:43 CDT 2011


branch "dtmf" has been updated
       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  94ad9deef3e73d3dc1562e60d65e0ab6983a1338 (commit)
       via  d14c43207fc22427d0c882c58c777bddddcae8e8 (commit)
       via  c853d2a6d817055093fbbfa854bf337a6d6874d5 (commit)
       via  1672cd37f8e1dbb9d2e8627387839939a95d9c43 (commit)
       via  3a25fc4bb24402fe9aa141db97b5b3682601d0fd (commit)
       via  88ffb9a73f100b9ff902a0fc5be754c57d6e9646 (commit)
       via  219a552954cf8b42990dd2e0eac55ec77be841c3 (commit)
       via  922a60880d6a1a313aa250f243ef671d10d64c27 (commit)
       via  bb2ce37d33e6da470bb55622c5354e81f7551ef0 (commit)
       via  2b555571b4b13f4de4b60f42b5b7058f2f692ca3 (commit)
      from  cbcc5be7d06718395a1a6ed900267142d2e056bf (commit)

Summary of changes:
 AsteriskSCF/SIP/SIPRegistrarIf.ice                 |  125 +++
 slice/AsteriskSCF/Media/Formats/AudioFormats.ice   |   67 ++
 slice/AsteriskSCF/Media/MediaIf.ice                |  885 +++++++++-----------
 slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice         |   26 +-
 slice/AsteriskSCF/Media/SDP/MediaSDPIf.ice         |  133 +++
 slice/AsteriskSCF/SIP/SIPRegistrarIf.ice           |  127 +++
 .../SessionCommunicationsIf.ice                    |  101 +++-
 .../SessionCommunications/TelephonyEventsIf.ice    |   93 ++
 8 files changed, 1060 insertions(+), 497 deletions(-)
 create mode 100644 AsteriskSCF/SIP/SIPRegistrarIf.ice
 create mode 100644 slice/AsteriskSCF/Media/Formats/AudioFormats.ice
 create mode 100644 slice/AsteriskSCF/Media/SDP/MediaSDPIf.ice
 create mode 100644 slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
 create mode 100644 slice/AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice


- Log -----------------------------------------------------------------
commit 01adb95b829e38b7e37b48ab93e59dcdf54d80c8
Merge: 05d6ac7 cbcc5be
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 20 14:13:06 2011 -0500

    Merge branch 'dtmf' of git.asterisk.org:asterisk-scf/integration/slice into dtmf

diff --cc slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index f766433,4e8521d..b75c09a
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@@ -468,24 -467,72 +468,89 @@@ module V
          ["amd"] void removeBridge(SessionListener* listener) throws NotBridged;
      };
  
+     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
 +         */
 +        ["amd"] TelephonyEventSourceSeq getSources();
 +        /**
 +         * Get a sequence of the telephony event sinks for this session
 +         */
 +        ["amd"] TelephonyEventSinkSeq getSinks();
 +    };
 +
 +    /**
       * Exception used to indicate an endpoint is unreachable.
       */
      exception EndpointUnreachableException

commit 05d6ac7f35fead63d078c6152dd0cebda242c925
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 59ff6c9..f766433 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -475,8 +475,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 ca410aa2bb9668285602444eb62e949eb774c1bb
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 8687f30..3d282e1 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
 {
@@ -152,6 +153,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;
+    };
+
    /**
     * Interface to an RTP media service.
     */
@@ -164,7 +188,7 @@ module V1
        *
        * @return RTPSession* A proxy to the new RTP session.
        */
-      RTPSession* allocate(RTPServiceLocatorParams params);
+      RTPSession* allocate(RTPServiceLocatorParams params, RTPOptions options, out RTPAllocationOutputs outputs);
    };
 
 }; /*  end module V1 */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 9c7aa63..59ff6c9 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
 {
@@ -467,60 +468,6 @@ module V1
         ["amd"] void removeBridge(SessionListener* listener) throws NotBridged;
     };
 
-    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 eac6f97d72f001826fd4916fe0f48168cbdc881a
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 e8239a7..9c7aa63 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.
      *
@@ -509,30 +482,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
@@ -541,11 +514,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();
     };
 
     /**
@@ -555,8 +528,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventsSourceSeq getSources();
-        TelephonyEventsSinkSeq getSinks();
+        TelephonyEventSourceSeq getSources();
+        TelephonyEventSinkSeq getSinks();
     };
 
     /**

commit d04d3a09996feb377aafb1031d8e33f226ebb239
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 97ce75c..e8239a7 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.
      *
@@ -536,16 +509,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();
     };
 
@@ -556,8 +555,8 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
+        TelephonyEventsSourceSeq getSources();
+        TelephonyEventsSinkSeq getSinks();
     };
 
     /**

commit 8b819d0f890bfbe5ad27b6b65d9e6b11b01e1c7f
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 ab6ee59..97ce75c 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 e45e6fa0300ef6f0b8f34509ddc7bdab516903b9
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 511120b..ab6ee59 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 2cb74eedd507643088a896c48a45b8de1ec273bc
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 8f645b8..511120b 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 dabeff4967323d04420a899954c7bbbadd914e5d
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 cbf9beb..8f645b8 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -494,6 +494,45 @@ module V1
         ["amd"] void removeBridge(SessionListener* listener) throws NotBridged;
     };
 
+    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 afd197363be73a59b23e5684d64b302757737b6d
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 542de01..cbf9beb 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 cdae4b2a3a64890a801bd447e4f12520b5cf9bfd
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 eab198c..542de01 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 7dae68fd30c6101d95c96376b8ba072e17ffb9f9
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 3ad3bc3..eab198c 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.
      *

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list