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

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Tue Sep 7 10:46:58 CDT 2010


branch "master" has been updated
       via  c58a091c353346d1bd9cf14aabe7342c5d6aa1e9 (commit)
      from  7428045812ed33df119292b967b929ab9ea6cc7d (commit)

Summary of changes:
 CMakeLists.txt                                    |    2 +-
 Core/Bridging/BridgeServiceEventsIf.ice           |   32 ------
 Core/Bridging/BridgeServiceIf.ice                 |  112 ---------------------
 Core/Bridging/CMakeLists.txt                      |    3 -
 Core/CMakeLists.txt                               |    3 -
 Core/Discovery/ServiceLocatorEventsIf.ice         |    4 +-
 Core/Discovery/ServiceLocatorIf.ice               |    4 +-
 Core/Endpoint/EndpointI.ice                       |   49 ---------
 Core/Endpoint/EndpointIf.ice                      |   28 +----
 Core/Routing/RoutingI.ice                         |    4 +-
 Core/Routing/RoutingIf.ice                        |    4 +-
 Media/MediaIf.ice                                 |    8 +-
 Media/RTP/MediaRTPIf.ice                          |   18 ++--
 Session/CMakeLists.txt                            |    2 -
 Session/SessionIf.ice                             |   75 --------------
 SessionCommunications/Bridging/BridgingIf.ice     |   61 +++++++++++
 SessionCommunications/Bridging/CMakeLists.txt     |    2 +
 SessionCommunications/CMakeLists.txt              |    4 +
 SessionCommunications/SessionCommunicationsIf.ice |   90 +++++++++++++++++
 System/Component/ComponentServiceIf.ice           |    6 +-
 System/Time/TimeIf.ice                            |    4 +-
 21 files changed, 189 insertions(+), 326 deletions(-)
 delete mode 100644 Core/Bridging/BridgeServiceEventsIf.ice
 delete mode 100644 Core/Bridging/BridgeServiceIf.ice
 delete mode 100644 Core/Bridging/CMakeLists.txt
 delete mode 100644 Core/Endpoint/EndpointI.ice
 delete mode 100644 Session/CMakeLists.txt
 delete mode 100644 Session/SessionIf.ice
 create mode 100644 SessionCommunications/Bridging/BridgingIf.ice
 create mode 100644 SessionCommunications/Bridging/CMakeLists.txt
 create mode 100644 SessionCommunications/CMakeLists.txt
 create mode 100644 SessionCommunications/SessionCommunicationsIf.ice


- Log -----------------------------------------------------------------
commit c58a091c353346d1bd9cf14aabe7342c5d6aa1e9
Author: Brent Eagles <beagles at digium.com>
Date:   Tue Sep 7 13:10:25 2010 -0230

    * Changed root module namespace to AsteriskSCF.
    * Updates for recent design changes:
     - removed Core/Bridging
     - removed Session
     - Added SessionCommunications and SessionCommunicationsIf.ice

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 805249a..efe6912 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,4 +11,4 @@ add_subdirectory(Core)
 add_subdirectory(Media)
 
 # Slice definitions for session-oriented communications 
-add_subdirectory(Session)
+add_subdirectory(SessionCommunications)
diff --git a/Core/Bridging/BridgeServiceEventsIf.ice b/Core/Bridging/BridgeServiceEventsIf.ice
deleted file mode 100644
index 2a229d3..0000000
--- a/Core/Bridging/BridgeServiceEventsIf.ice
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Asterisk Scalable Communications Framework
- *
- * Copyright (C) 2010 -- Digium, Inc.
- *
- * All rights reserved.
- */
-
-#pragma once 
-
-#include <Core/Endpoint/EndpointIf.ice>
-
-module Hydra
-{
-module Core
-{
-module Bridging
-{
-["suppress"]
-module V1
-{
-   interface BridgeEvents
-   {
-      void endpointAdded(Endpoint::V1::BaseEndpoint ep);
-      void endpointRemoved(Endpoint::V1::BaseEndpoint ep);
-      void shuttingDown();
-      void stopped();
-   };
-}; // End of module V1
-}; // End of module Bridging
-}; // End of module Core
-}; // End of module Hydra
diff --git a/Core/Bridging/BridgeServiceIf.ice b/Core/Bridging/BridgeServiceIf.ice
deleted file mode 100644
index 7a81b6a..0000000
--- a/Core/Bridging/BridgeServiceIf.ice
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Asterisk Scalable Communications Framework
- *
- * Copyright (C) 2010 -- Digium, Inc.
- *
- * All rights reserved.
- */
-
-#pragma once 
-
-#include <Core/Endpoint/EndpointIf.ice>
-#include <System/Component/ComponentServiceIf.ice>
-
-module Hydra
-{
-module Core
-{
-module Bridging
-{
-["suppress"]
-module V1
-{
-   const string Version = "V1";
-
-   /**
-    * Category used for the bridge service.
-    */
-   const string BridgeServiceDiscoveryCategory = "BridgeService";
-
-   /**
-    * UnknownEndpoint indicates that an operation that depended on locating
-    * a specific ep has failed to find it.
-    */
-   exception UnknownEndpoint 
-   {
-      Endpoint::V1::EndpointId ep;
-   };
-
-   /**
-    * Occurs if two endpoints being added to a bridge collide in some way, including media conflicts, etc.
-    */
-   exception EndpointCollision
-   {
-       Endpoint::V1::EndpointId first;
-       Endpoint::V1::EndpointId second;
-   };
-
-   /**
-    * EndpointAlreadyRegistered indicates that an attempt to register an ep
-    * has failed because it was registered already.
-    */
-   exception EndpointAlreadyRegistered
-   {
-      Endpoint::V1::EndpointId ep;
-   };
-
-   /**
-    * The specified endpoint is not supported by this bridge.
-    */
-   exception UnsupportedEndpoint
-   {
-      Endpoint::V1::EndpointId ep;
-   };
-
-   /**
-    * A Bridge manages the assocation between multiple endpoints participating in
-    * a call.
-    */
-   interface Bridge 
-   { 
-      /**
-       * Adds an endpoint to the bridge. In addition to simply adding the endpoint to a 
-       * list of endpoints participating in the bridge, the bridge object may
-       * perform additional operations including, but not limited to, setting
-       * up transcoding and resampling adapters.
-       * 
-       * @param ep The new endpoint to be added to the bridge.
-       * @throws EndpointAlreadyRegistered thrown when the endpoint
-       */
-      void addEndpoint(Endpoint::V1::BaseEndpoint ep);
-      void removeEndpoint(Endpoint::V1::EndpointId id);
-      Endpoint::V1::EndpointSeq listEndpoints();
-      void shutdown();
-      void destroy();
-   };
-
-   interface BridgeMonitor
-   {
-      bool onAddEndpoint(Endpoint::V1::BaseEndpoint ep);
-      bool onRemoveEndpoint(Endpoint::V1::BaseEndpoint ep);
-      bool onListEndpoints(Endpoint::V1::EndpointSeq input, out Endpoint::V1::EndpointSeq output);
-      bool onShutdown();
-      bool onShutdownComplete();
-      bool onDestroy();
-   };
-
-   interface BridgeFactoryHook
-   {
-      bool onCreateBridge(Endpoint::V1::BaseEndpoint adminEndpoint, Endpoint::V1::EndpointSeq eps);
-      bool onShutdown();
-      bool onShutdownCompleted();
-   };
-
-   interface BridgeFactory extends System::Component::V1::ComponentService
-   {
-      Bridge* createBridge(Endpoint::V1::BaseEndpoint adminEndpoint, Endpoint::V1::EndpointSeq eps, 
-	BridgeMonitor* monitor);
-   };
-}; // End of module V1
-}; // End of module Bridging
-}; // End of module Core
-}; // End of module Hydra
diff --git a/Core/Bridging/CMakeLists.txt b/Core/Bridging/CMakeLists.txt
deleted file mode 100644
index 69011bb..0000000
--- a/Core/Bridging/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Compile Bridging API 
-hydra_compile_slice(BridgeServiceIf.ice lib "BridgeService API" Core)
-hydra_compile_slice(BridgeServiceEventsIf.ice lib "BridgeService Events API" Core)
diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt
index 0b26c10..710a8b9 100644
--- a/Core/CMakeLists.txt
+++ b/Core/CMakeLists.txt
@@ -6,6 +6,3 @@ add_subdirectory(Endpoint)
 
 # Slice definitions for Routing functionality
 add_subdirectory(Routing)
-
-# Slice definitions for Bridging components
-add_subdirectory(Bridging)
diff --git a/Core/Discovery/ServiceLocatorEventsIf.ice b/Core/Discovery/ServiceLocatorEventsIf.ice
index 8f0bb6b..a1e3fe8 100644
--- a/Core/Discovery/ServiceLocatorEventsIf.ice
+++ b/Core/Discovery/ServiceLocatorEventsIf.ice
@@ -8,7 +8,7 @@
 
 #pragma once
 
-module Hydra
+module AsteriskSCF
 {
 
 module System
@@ -74,4 +74,4 @@ module Discovery
 
 }; // end module System
 
-}; // end module Hydra
+}; // end module AsteriskSCF
diff --git a/Core/Discovery/ServiceLocatorIf.ice b/Core/Discovery/ServiceLocatorIf.ice
index dfc2d25..fb44c35 100644
--- a/Core/Discovery/ServiceLocatorIf.ice
+++ b/Core/Discovery/ServiceLocatorIf.ice
@@ -10,7 +10,7 @@
 
 #include <Ice/BuiltinSequences.ice>
 
-module Hydra
+module AsteriskSCF
 {
 
 module Core
@@ -169,4 +169,4 @@ module V1
 
 }; // end module Core
 
-}; // end module Hydra
+}; // end module AsteriskSCF
diff --git a/Core/Endpoint/EndpointI.ice b/Core/Endpoint/EndpointI.ice
deleted file mode 100644
index 31bacc7..0000000
--- a/Core/Endpoint/EndpointI.ice
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Asterisk Scalable Communications Framework
- *
- * Copyright (C) 2010 -- Digium, Inc.
- *
- * All rights reserved.
- */
-
-#pragma once
-
-module Hydra
-{
-module Core
-{
-module Endpoint
-{
-["suppress"]
-module V1
-{
-   const string Version = "V1";
-   
-   /**
-    * Unique id for an Endpoint. 
-    */
-   class EndpointId
-   {
-      string endpointManagerId;
-      string deviceId;
-   };
-
-   /**
-    * A generic Endpoint.
-    * TBD - NOTE: Not crazy about the name, but needs to be different from the module name!
-    */
-   class BaseEndpoint
-   {
-      EndpointId id; 
-   };
-
-   sequence<BaseEndpoint> EndpointSeq;
-
-
-   // TBD... only implemented minimum need for Routing Service. 
-
-}; // module V1
-}; // module Endpoint
-}; // module Core
-}; // module Hydra
-
diff --git a/Core/Endpoint/EndpointIf.ice b/Core/Endpoint/EndpointIf.ice
index 1af13bc..de4830c 100644
--- a/Core/Endpoint/EndpointIf.ice
+++ b/Core/Endpoint/EndpointIf.ice
@@ -10,7 +10,7 @@
 
 #include <Ice/BuiltinSequences.ice>
 
-module Hydra
+module AsteriskSCF
 {
 module Core
 {
@@ -20,31 +20,13 @@ module Endpoint
 module V1
 {
    const string Version = "V1";
-   
-   /**
-    * Unique id for an Endpoint. 
-    */
-   class EndpointId
-   {
-      string endpointManagerId;
-      string destinationId;
-   };
-
-   /**
-    * Exception thrown when an ID does not meet system requirements.
-    */
-   exception InvalidEndpointId
-   {
-       EndpointId badId;
-   };
 
    /**
     * A generic Endpoint.
-    * TBD - NOTE: Not crazy about the name, but needs to be different from the module name!
     */
-   ["preserved"] class BaseEndpoint
+   interface BaseEndpoint
    {
-      EndpointId id; 
+       string getId();
    };
 
    sequence<BaseEndpoint> EndpointSeq;
@@ -52,7 +34,7 @@ module V1
    interface EndpointManager 
    {
       EndpointSeq getManagedEndpoints();
-      Ice::StringSeq getManagedEndpointSpecification();
+      Ice::StringSeq getManagedEndpointSpecifications();
    };
 
    // TBD... only implemented minimum need for Routing Service. 
@@ -60,5 +42,5 @@ module V1
 }; // module V1
 }; // module Endpoint
 }; // module Core
-}; // module Hydra
+}; // module AsteriskSCF
 
diff --git a/Core/Routing/RoutingI.ice b/Core/Routing/RoutingI.ice
index 06da326..594185b 100644
--- a/Core/Routing/RoutingI.ice
+++ b/Core/Routing/RoutingI.ice
@@ -10,7 +10,7 @@
 
 #include "Core/Endpoint/EndpointI.ice"
 
-module Hydra
+module AsteriskSCF
 {
 module Core
 {
@@ -157,5 +157,5 @@ module V1
 }; // module V1
 }; // module Routing
 }; // module Core
-}; // module Hydra
+}; // module AsteriskSCF
 
diff --git a/Core/Routing/RoutingIf.ice b/Core/Routing/RoutingIf.ice
index 3b33d6c..901383f 100644
--- a/Core/Routing/RoutingIf.ice
+++ b/Core/Routing/RoutingIf.ice
@@ -10,7 +10,7 @@
 
 #include <Core/Endpoint/EndpointIf.ice>
 
-module Hydra
+module AsteriskSCF
 {
 module Core
 {
@@ -171,5 +171,5 @@ module V1
 }; // module V1
 }; // module Routing
 }; // module Core
-}; // module Hydra
+}; // module AsteriskSCF
 
diff --git a/Media/MediaIf.ice b/Media/MediaIf.ice
index 2474c71..29a50c4 100644
--- a/Media/MediaIf.ice
+++ b/Media/MediaIf.ice
@@ -11,12 +11,12 @@
 #include <Ice/BuiltinSequences.ice>
 #include "Core/Discovery/ServiceLocatorIf.ice"
 
-module Hydra
+module AsteriskSCF
 {
 
 module Media
 {
-
+["suppress"]
 module V1
 {
 
@@ -203,7 +203,7 @@ module V1
 	 * A generic format discovery class that can be extended for adding parameters. The parameters are used to find
 	 * a component capable of interpreting and providing a concrete class for a format.
 	 */
-	class FormatDiscovery extends Hydra::Core::Discovery::V1::ServiceLocatorParams
+	class FormatDiscovery extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
 	{
 	};
 
@@ -489,4 +489,4 @@ module V1
 
 }; // end module Media
 
-}; // end module Hydra
+}; // end module AsteriskSCF
diff --git a/Media/RTP/MediaRTPIf.ice b/Media/RTP/MediaRTPIf.ice
index 176ada2..5b3d694 100644
--- a/Media/RTP/MediaRTPIf.ice
+++ b/Media/RTP/MediaRTPIf.ice
@@ -9,7 +9,7 @@
 #include "Core/Discovery/ServiceLocatorIf.ice"
 #include "Media/MediaIf.ice"
 
-module Hydra
+module AsteriskSCF
 {
 
 module Media
@@ -24,18 +24,18 @@ module V1
 	/**
 	 * Extended discovery class for RTP media services.
 	 */
-	class RTPServiceLocatorParams extends Hydra::Core::Discovery::V1::ServiceLocatorParams
+	class RTPServiceLocatorParams extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
 	{
 		/**
 		 * A sequence of formats that the RTP media service is expected to transport.
 		 */
-		Hydra::Media::V1::FormatSeq formats;
+		AsteriskSCF::Media::V1::FormatSeq formats;
 	};
 
 	/**
 	 * Interface to an RTP stream source.
 	 */
-	interface StreamSourceRTP extends Hydra::Media::V1::StreamSource
+	interface StreamSourceRTP extends AsteriskSCF::Media::V1::StreamSource
 	{
 		/**
 		 * Method which retrieves the local listening IP address of this source.
@@ -55,7 +55,7 @@ module V1
 	/**
 	 * Interface to an RTP stream sink.
 	 */
-	interface StreamSinkRTP extends Hydra::Media::V1::StreamSink
+	interface StreamSinkRTP extends AsteriskSCF::Media::V1::StreamSink
 	{
 		/**
 		 * Method which changes the IP address and port that media will be sent to.
@@ -91,12 +91,12 @@ module V1
 	/**
 	 * A dictionary mapping payloads to media formats.
 	 */
-	dictionary<int, Hydra::Media::V1::Format> PayloadMap;
+	dictionary<int, AsteriskSCF::Media::V1::Format> PayloadMap;
 
 	/**
 	 * Interface to an RTP media session.
 	 */
-	interface RTPSession extends Hydra::Media::V1::Session
+	interface RTPSession extends AsteriskSCF::Media::V1::Session
 	{
 		/**
 		 * Method which associates payloads and media formats.
@@ -137,7 +137,7 @@ module V1
 		 *
 		 * @return RTPSession* A proxy to the new RTP session.
 		 */
-		RTPSession* allocate(Hydra::Media::V1::FormatSeq formats);
+		RTPSession* allocate(AsteriskSCF::Media::V1::FormatSeq formats);
 	};
 
 }; // end module V1
@@ -146,4 +146,4 @@ module V1
 
 }; // end module Media
 
-}; // end module Hydra
+}; // end module AsteriskSCF
diff --git a/Session/CMakeLists.txt b/Session/CMakeLists.txt
deleted file mode 100644
index 946aa22..0000000
--- a/Session/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Compile Session Oriented API 
-hydra_compile_slice(SessionIf.ice lib "Sessions API" Session)
diff --git a/Session/SessionIf.ice b/Session/SessionIf.ice
deleted file mode 100644
index f1ad166..0000000
--- a/Session/SessionIf.ice
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Asterisk Scalable Communications Framework
- *
- * Copyright (C) 2010 -- Digium, Inc.
- *
- * All rights reserved.
- */
-
-#pragma once
-
-#include <Core/Endpoint/EndpointIf.ice>
-#include <System/Time/TimeIf.ice>
-#include <System/Component/ComponentServiceIf.ice>
-#include <Core/Endpoint/EndpointIf.ice>
-#include <Media/MediaIf.ice>
-
-module Hydra
-{
-module Session
-{
-module V1
-{
-   class SessionInfo
-   {
-      Core::Endpoint::V1::EndpointId caller;
-      Core::Endpoint::V1::EndpointId destination;
-      string currentState;
-      string role;
-      System::Time::V1::TimeMarker startTime;
-      long connectedTime;
-   };
-
-   sequence<SessionInfo> SessionInfoSeq;
-
-   class ResponseCode
-   {
-      int isdnCode;
-   };
-
-   interface SignalCallback
-   {
-      void ring(Core::Endpoint::V1::EndpointId ep);
-      void connected(Core::Endpoint::V1::EndpointId ep);
-      void terminated(Core::Endpoint::V1::EndpointId ep, ResponseCode response);
-      void busy(Core::Endpoint::V1::EndpointId ep);
-      void congestion(Core::Endpoint::V1::EndpointId ep, ResponseCode response);
-      void hold(Core::Endpoint::V1::EndpointId ep);
-      void unhold(Core::Endpoint::V1::EndpointId ep);
-      void flash(Core::Endpoint::V1::EndpointId ep);
-      void progress(Core::Endpoint::V1::EndpointId ep, ResponseCode response);
-   };
-
-   interface SignalCommands
-   {
-      bool call(Core::Endpoint::V1::EndpointId caller, Core::Endpoint::V1::EndpointId destination, SignalCallback* callback);
-      void terminate(Core::Endpoint::V1::EndpointId caller);
-   };
-
-   class SessionEndpoint extends Core::Endpoint::V1::BaseEndpoint   
-   {
-      SignalCommands* command;
-      SignalCallback* callback;
-      Media::V1::Session* mediaSession;
-   };
-
-   sequence<SessionEndpoint> SessionEndpointSeq;
-
-   interface SessionManager extends System::Component::V1::ComponentService
-   {
-      SessionInfoSeq listCurrentSessions();
-   };
-
-}; // End of V1
-}; // End of Session
-}; // End of Hydra
diff --git a/SessionCommunications/Bridging/BridgingIf.ice b/SessionCommunications/Bridging/BridgingIf.ice
new file mode 100644
index 0000000..682e1b4
--- /dev/null
+++ b/SessionCommunications/Bridging/BridgingIf.ice
@@ -0,0 +1,61 @@
+/*
+* Asterisk Scalable Communications Framework
+*
+* Copyright (C) 2010 -- Digium, Inc.
+*
+* All rights reserved.
+*/
+
+#pragma once 
+
+#include <Core/Endpoint/EndpointIf.ice>
+#include <System/Component/ComponentServiceIf.ice>
+#include <SessionCommunications/SessionCommunicationsIf.ice>
+
+module AsteriskSCF
+{
+module SessionCommunications
+{
+module Bridging
+{
+["suppress"]
+module V1
+{
+    const string Version = "V1";
+
+    interface Bridge
+    {
+        void addSessions(V1::SessionSeq session);
+        void destroy();
+        V1::SessionSeq listSessions();
+        void removeSessions(V1::SessionSeq sessions);
+        void shutdown();
+    }; 
+
+    interface BridgeListener
+    {
+        void sessionsAdded(Bridge* sessionBridge, V1::SessionSeq sessions);
+        void sessionsRemoved(Bridge* sessionBridge, V1::SessionSeq sessions);
+        void stopped(Bridge* sessionBridge);
+        void stopping(Bridge* sessionBridge);
+    };
+
+    interface BridgeManagerListener;
+
+    interface BridgeManager
+    {
+        void addListener(BridgeManagerListener* listener);
+        Bridge* createBridge(V1::SessionSeq sessions, BridgeListener* listener);
+        void removeListener(BridgeManagerListener* listener);
+    };
+
+    interface BridgeManagerListener
+    {
+        void bridgeCreated(BridgeManager* manager, Bridge* newBridge);
+        void stopped(BridgeManager* manager);
+        void stopping(BridgeManager* manager);
+    };
+};
+};
+};
+};
diff --git a/SessionCommunications/Bridging/CMakeLists.txt b/SessionCommunications/Bridging/CMakeLists.txt
new file mode 100644
index 0000000..b85b86e
--- /dev/null
+++ b/SessionCommunications/Bridging/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Compile Session Oriented Bridging APIs
+hydra_compile_slice(BridgingIf.ice lib "Session Oriented Bridging API" Bridging)
diff --git a/SessionCommunications/CMakeLists.txt b/SessionCommunications/CMakeLists.txt
new file mode 100644
index 0000000..81bc279
--- /dev/null
+++ b/SessionCommunications/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Compile Session Oriented APIs
+hydra_compile_slice(SessionCommunicationsIf.ice lib "Session Oriented Communications API" SessionCommunications)
+
+add_subdirectory(Bridging)
diff --git a/SessionCommunications/SessionCommunicationsIf.ice b/SessionCommunications/SessionCommunicationsIf.ice
new file mode 100644
index 0000000..28f144d
--- /dev/null
+++ b/SessionCommunications/SessionCommunicationsIf.ice
@@ -0,0 +1,90 @@
+/*
+* Asterisk Scalable Communications Framework
+*
+* Copyright (C) 2010 -- Digium, Inc.
+*
+* All rights reserved.
+*/
+
+#pragma once 
+
+#include <Core/Endpoint/EndpointIf.ice>
+#include <System/Component/ComponentServiceIf.ice>
+#include <System/Time/TimeIf.ice>
+#include <Media/MediaIf.ice>
+
+module AsteriskSCF
+{
+module SessionCommunications
+{
+["suppress"]
+module V1
+{
+    const string Version = "V1";
+
+    /*
+     * Forward declarations.
+     */
+    interface Session;
+    interface SessionEndpoint;
+
+    class ResponseCode
+    {
+        int isdnCode;
+    };
+
+    class SessionInfo
+    {
+        SessionEndpoint* caller;
+        long connectedTime;
+        string currentState;
+        SessionEndpoint* destination;
+        string role;
+        AsteriskSCF::System::Time::V1::TimeMarker startTime;
+    };
+
+    interface SessionListener
+    {
+        void connected(Session* source);
+        void flashed(Session* source);
+        void held(Session* source);
+        void progressing(Session* source, ResponseCode response);
+        void ringing(Session* source);
+        void stopped(Session* source, ResponseCode response);
+        void unheld(Session* source);
+    };
+
+    interface Session
+    {
+        SessionInfo addListener(SessionListener* listener);
+        void connect();
+        void flash();
+        SessionEndpoint* getEndpoint();
+        SessionInfo getInfo();
+        AsteriskSCF::Media::V1::Session* getMediaSession();
+        void hold();
+        void progress();
+        void removeListener(SessionListener* listener);
+        void ring();
+        void start();
+        void stop(ResponseCode response);
+        void unhold();
+    };
+
+    sequence <Session*> SessionSeq;
+
+    interface SessionRouter
+    {
+        void routeSession(Session* source, string destination);
+    };
+
+    interface SessionEndpoint extends AsteriskSCF::Core::Endpoint::V1::BaseEndpoint
+    {
+        Session* createSession(string destination, SessionListener* callback);
+        SessionSeq getSessions();
+    };
+
+}; // End of module V1
+}; // End of module SessionCommunications
+}; // End of module AsteriskSCF
+
diff --git a/System/Component/ComponentServiceIf.ice b/System/Component/ComponentServiceIf.ice
index 6c7a733..c7b7f56 100644
--- a/System/Component/ComponentServiceIf.ice
+++ b/System/Component/ComponentServiceIf.ice
@@ -7,7 +7,7 @@
  */
 
 #pragma once
-module Hydra
+module AsteriskSCF
 {
 module System
 {
@@ -30,7 +30,7 @@ module V1
    exception Suspended {};
 
    /**
-    * Service is the base interface for all Hydra services. Most components will include an implementation
+    * Service is the base interface for all AsteriskSCF services. Most components will include an implementation
     * of this or a derived interface.
     */
    interface ComponentService
@@ -67,5 +67,5 @@ module V1
 }; // End of module V1
 }; // End of module Component
 }; // End of module System
-}; // End of module Hydra
+}; // End of module AsteriskSCF
 
diff --git a/System/Time/TimeIf.ice b/System/Time/TimeIf.ice
index ee79092..59dd50c 100644
--- a/System/Time/TimeIf.ice
+++ b/System/Time/TimeIf.ice
@@ -8,7 +8,7 @@
 
 #pragma once
 
-module Hydra
+module AsteriskSCF
 {
 module System
 {
@@ -24,4 +24,4 @@ module V1
 }; // End of V1
 }; // End of Time
 }; // End of System
-}; // End of Hydra
+}; // End of AsteriskSCF

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list