[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 15:02:45 CDT 2010


branch "master" has been updated
       via  fa01fcd93a618d405375cfda50199ff7eb2f22ae (commit)
       via  05998d45b8932033297ccce5f4c15db08a602b22 (commit)
      from  c58a091c353346d1bd9cf14aabe7342c5d6aa1e9 (commit)

Summary of changes:
 Core/Discovery/ServiceLocatorEventsIf.ice         |    4 +-
 Core/Discovery/ServiceLocatorIf.ice               |    4 +-
 Core/Endpoint/EndpointIf.ice                      |    4 +-
 Core/Routing/RoutingI.ice                         |    4 +-
 Core/Routing/RoutingIf.ice                        |    4 +-
 Media/MediaIf.ice                                 |    6 +-
 Media/RTP/MediaRTPIf.ice                          |   18 +-
 SessionCommunications/Bridging/BridgingIf.ice     |  111 +++++++++-
 SessionCommunications/SessionCommunicationsIf.ice |  261 ++++++++++++++++++++-
 System/Component/ComponentServiceIf.ice           |    6 +-
 System/Time/TimeIf.ice                            |    4 +-
 11 files changed, 392 insertions(+), 34 deletions(-)


- Log -----------------------------------------------------------------
commit fa01fcd93a618d405375cfda50199ff7eb2f22ae
Author: Brent Eagles <beagles at digium.com>
Date:   Tue Sep 7 17:29:03 2010 -0230

    Changing root namespace from AsteriskSCF to AsteriskScf.

diff --git a/Core/Discovery/ServiceLocatorEventsIf.ice b/Core/Discovery/ServiceLocatorEventsIf.ice
index a1e3fe8..0869aac 100644
--- a/Core/Discovery/ServiceLocatorEventsIf.ice
+++ b/Core/Discovery/ServiceLocatorEventsIf.ice
@@ -8,7 +8,7 @@
 
 #pragma once
 
-module AsteriskSCF
+module AsteriskScf
 {
 
 module System
@@ -74,4 +74,4 @@ module Discovery
 
 }; // end module System
 
-}; // end module AsteriskSCF
+}; // end module AsteriskScf
diff --git a/Core/Discovery/ServiceLocatorIf.ice b/Core/Discovery/ServiceLocatorIf.ice
index fb44c35..a205d78 100644
--- a/Core/Discovery/ServiceLocatorIf.ice
+++ b/Core/Discovery/ServiceLocatorIf.ice
@@ -10,7 +10,7 @@
 
 #include <Ice/BuiltinSequences.ice>
 
-module AsteriskSCF
+module AsteriskScf
 {
 
 module Core
@@ -169,4 +169,4 @@ module V1
 
 }; // end module Core
 
-}; // end module AsteriskSCF
+}; // end module AsteriskScf
diff --git a/Core/Endpoint/EndpointIf.ice b/Core/Endpoint/EndpointIf.ice
index de4830c..2169fa6 100644
--- a/Core/Endpoint/EndpointIf.ice
+++ b/Core/Endpoint/EndpointIf.ice
@@ -10,7 +10,7 @@
 
 #include <Ice/BuiltinSequences.ice>
 
-module AsteriskSCF
+module AsteriskScf
 {
 module Core
 {
@@ -42,5 +42,5 @@ module V1
 }; // module V1
 }; // module Endpoint
 }; // module Core
-}; // module AsteriskSCF
+}; // module AsteriskScf
 
diff --git a/Core/Routing/RoutingI.ice b/Core/Routing/RoutingI.ice
index 594185b..1ba06d1 100644
--- a/Core/Routing/RoutingI.ice
+++ b/Core/Routing/RoutingI.ice
@@ -10,7 +10,7 @@
 
 #include "Core/Endpoint/EndpointI.ice"
 
-module AsteriskSCF
+module AsteriskScf
 {
 module Core
 {
@@ -157,5 +157,5 @@ module V1
 }; // module V1
 }; // module Routing
 }; // module Core
-}; // module AsteriskSCF
+}; // module AsteriskScf
 
diff --git a/Core/Routing/RoutingIf.ice b/Core/Routing/RoutingIf.ice
index 901383f..28ae3fa 100644
--- a/Core/Routing/RoutingIf.ice
+++ b/Core/Routing/RoutingIf.ice
@@ -10,7 +10,7 @@
 
 #include <Core/Endpoint/EndpointIf.ice>
 
-module AsteriskSCF
+module AsteriskScf
 {
 module Core
 {
@@ -171,5 +171,5 @@ module V1
 }; // module V1
 }; // module Routing
 }; // module Core
-}; // module AsteriskSCF
+}; // module AsteriskScf
 
diff --git a/Media/MediaIf.ice b/Media/MediaIf.ice
index 29a50c4..1bf8b53 100644
--- a/Media/MediaIf.ice
+++ b/Media/MediaIf.ice
@@ -11,7 +11,7 @@
 #include <Ice/BuiltinSequences.ice>
 #include "Core/Discovery/ServiceLocatorIf.ice"
 
-module AsteriskSCF
+module AsteriskScf
 {
 
 module Media
@@ -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 AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
+	class FormatDiscovery extends AsteriskScf::Core::Discovery::V1::ServiceLocatorParams
 	{
 	};
 
@@ -489,4 +489,4 @@ module V1
 
 }; // end module Media
 
-}; // end module AsteriskSCF
+}; // end module AsteriskScf
diff --git a/Media/RTP/MediaRTPIf.ice b/Media/RTP/MediaRTPIf.ice
index 5b3d694..e9e4a83 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 AsteriskSCF
+module AsteriskScf
 {
 
 module Media
@@ -24,18 +24,18 @@ module V1
 	/**
 	 * Extended discovery class for RTP media services.
 	 */
-	class RTPServiceLocatorParams extends AsteriskSCF::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.
 		 */
-		AsteriskSCF::Media::V1::FormatSeq formats;
+		AsteriskScf::Media::V1::FormatSeq formats;
 	};
 
 	/**
 	 * Interface to an RTP stream source.
 	 */
-	interface StreamSourceRTP extends AsteriskSCF::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 AsteriskSCF::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, AsteriskSCF::Media::V1::Format> PayloadMap;
+	dictionary<int, AsteriskScf::Media::V1::Format> PayloadMap;
 
 	/**
 	 * Interface to an RTP media session.
 	 */
-	interface RTPSession extends AsteriskSCF::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(AsteriskSCF::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 AsteriskSCF
+}; // end module AsteriskScf
diff --git a/SessionCommunications/Bridging/BridgingIf.ice b/SessionCommunications/Bridging/BridgingIf.ice
index 756e707..bdbf5fe 100644
--- a/SessionCommunications/Bridging/BridgingIf.ice
+++ b/SessionCommunications/Bridging/BridgingIf.ice
@@ -12,7 +12,7 @@
 #include <System/Component/ComponentServiceIf.ice>
 #include <SessionCommunications/SessionCommunicationsIf.ice>
 
-module AsteriskSCF
+module AsteriskScf
 {
 module SessionCommunications
 {
diff --git a/SessionCommunications/SessionCommunicationsIf.ice b/SessionCommunications/SessionCommunicationsIf.ice
index 0117f77..fd337e1 100644
--- a/SessionCommunications/SessionCommunicationsIf.ice
+++ b/SessionCommunications/SessionCommunicationsIf.ice
@@ -13,7 +13,7 @@
 #include <System/Time/TimeIf.ice>
 #include <Media/MediaIf.ice>
 
-module AsteriskSCF
+module AsteriskScf
 {
 module SessionCommunications
 {
@@ -86,7 +86,7 @@ module V1
         /**
          * When the session was initiated.
          */
-        AsteriskSCF::System::Time::V1::TimeMarker startTime;
+        AsteriskScf::System::Time::V1::TimeMarker startTime;
     };
 
     /**
@@ -225,10 +225,10 @@ module V1
          * A media session object may not be available at the time this is called. 
          * For example, in SIP before media details are known.
          *
-         * @return An AsteriskSCF media session for the current session. May be a
+         * @return An AsteriskScf media session for the current session. May be a
          *   nil reference if the media part of the session has not been initialized.
          */
-        AsteriskSCF::Media::V1::Session* getMediaSession();
+        AsteriskScf::Media::V1::Session* getMediaSession();
 
         /**
          * Sends a hold notification to the peer.
@@ -308,7 +308,7 @@ module V1
      * Instances of SessionEndpoint implement a mechanism for creating Session
      * objects that can communicate with peer entities (external or otherwise).
      */
-    interface SessionEndpoint extends AsteriskSCF::Core::Endpoint::V1::BaseEndpoint
+    interface SessionEndpoint extends AsteriskScf::Core::Endpoint::V1::BaseEndpoint
     {
         /** 
          * Creates a session for the specified destination, optionally registering
@@ -335,5 +335,5 @@ module V1
 
 }; // End of module V1
 }; // End of module SessionCommunications
-}; // End of module AsteriskSCF
+}; // End of module AsteriskScf
 
diff --git a/System/Component/ComponentServiceIf.ice b/System/Component/ComponentServiceIf.ice
index c7b7f56..4df4e45 100644
--- a/System/Component/ComponentServiceIf.ice
+++ b/System/Component/ComponentServiceIf.ice
@@ -7,7 +7,7 @@
  */
 
 #pragma once
-module AsteriskSCF
+module AsteriskScf
 {
 module System
 {
@@ -30,7 +30,7 @@ module V1
    exception Suspended {};
 
    /**
-    * Service is the base interface for all AsteriskSCF 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 AsteriskSCF
+}; // End of module AsteriskScf
 
diff --git a/System/Time/TimeIf.ice b/System/Time/TimeIf.ice
index 59dd50c..6b57857 100644
--- a/System/Time/TimeIf.ice
+++ b/System/Time/TimeIf.ice
@@ -8,7 +8,7 @@
 
 #pragma once
 
-module AsteriskSCF
+module AsteriskScf
 {
 module System
 {
@@ -24,4 +24,4 @@ module V1
 }; // End of V1
 }; // End of Time
 }; // End of System
-}; // End of AsteriskSCF
+}; // End of AsteriskScf

commit 05998d45b8932033297ccce5f4c15db08a602b22
Author: Brent Eagles <beagles at digium.com>
Date:   Tue Sep 7 17:27:29 2010 -0230

    Add some doc comments.

diff --git a/SessionCommunications/Bridging/BridgingIf.ice b/SessionCommunications/Bridging/BridgingIf.ice
index 682e1b4..756e707 100644
--- a/SessionCommunications/Bridging/BridgingIf.ice
+++ b/SessionCommunications/Bridging/BridgingIf.ice
@@ -21,32 +21,141 @@ module Bridging
 ["suppress"]
 module V1
 {
+    //
+    // TODO Exceptions?
+    //
     const string Version = "V1";
 
+    interface BridgeListener;
+
+    /**
+     * Bridge object manages the association of multiple sessions in the process
+     * of communicating with each other.
+     */
     interface Bridge
     {
+        /**
+         * Add a sequence of session proxies to the bridge. Sessions are started 
+         * if necessary.
+         * 
+         * @param session A sequence of session proxies.
+         * 
+         * @see Session
+         *
+         */
         void addSessions(V1::SessionSeq session);
+        
+        /** 
+         * Abruptly destroy the bridge. Sessions will not be stopped.
+         */
         void destroy();
+
+        /**
+         * List the sessions currently on the bridge.
+         *
+         * @return a sequence of session proxies participating in the bridge.
+         *
+         */ 
         V1::SessionSeq listSessions();
+
+        /**
+         * Removes one or more sessions from the bridge. Sessions are not stopped
+         * as they are removed.
+         * 
+         * @param sessions A sequence of session proxies.
+         */
         void removeSessions(V1::SessionSeq sessions);
+
+        /** 
+         * Nicely shutdown the bridge. Participating sessions are disconnected.
+         */
         void shutdown();
+
+        /**
+         * Adds a listener object to the bridge. The listener will receive notification
+         * of future changes to the bridge as they occur.
+         * 
+         * @param listener A reference to a BridgeListener object.
+         *
+         * @see BridgeListener
+         */
+        void addListener(BridgeListener* listener);
+
+        /**
+         * Removes a listener object from the bridge. The listen will cease receiving
+         * notifications of changes to the bridge.
+         *
+         * @param listener A reference to the listener object to be removed.
+         *
+         * @see BridgeListener
+         *
+         */
+        void removeListener(BridgeListener* listener);
     }; 
 
+    /**
+     * Instances of BridgeListener are used for monitoring changes in one or
+     * more bridges. Bridge objects have an addListener method that allows
+     * BridgeListeners objects to be registered with the bridge. The Bridge
+     * object then calls the BridgeListener methods to notify listeners of
+     * changes as they occur.
+     */ 
     interface BridgeListener
     {
+        /**
+         * Called when sessions have been added to a bridge.
+         *
+         * @param sessionBridge The bridge object the sessions were added to.
+         * 
+         * @param sessions A sequence of session proxies that were added to the bridge.
+         *
+         */
         void sessionsAdded(Bridge* sessionBridge, V1::SessionSeq sessions);
+
+        /**
+         * Called when sessions have been removed from a bridge.
+         *
+         * @param sessionBridge The bridge object the sessions were removed from.
+         *
+         * @param sessions A sequence of session proxies that were removed from
+         * the bridge.
+         *
+         */
         void sessionsRemoved(Bridge* sessionBridge, V1::SessionSeq sessions);
+
+        /**
+         * Called when a bridge has completed shutdown/destruction.
+         * 
+         * @param sessionBridge The bridge that was stopped.
+         * 
+         */
         void stopped(Bridge* sessionBridge);
+        
+        /**
+         * Called when a bridge has started shutdown/destruction operations.
+         *
+         * @param sessionBrdige The bridge that is stopping.
+         *
+         */
         void stopping(Bridge* sessionBridge);
     };
 
     interface BridgeManagerListener;
 
+    sequence<Bridge*> BridgeSeq;
+
+    /**
+     * Instances of BridgeManager allow for the creation and management of bridges.
+     */
     interface BridgeManager
     {
+        
+
         void addListener(BridgeManagerListener* listener);
         Bridge* createBridge(V1::SessionSeq sessions, BridgeListener* listener);
         void removeListener(BridgeManagerListener* listener);
+        BridgeSeq listBridges();
+        void shutdown();
     };
 
     interface BridgeManagerListener
diff --git a/SessionCommunications/SessionCommunicationsIf.ice b/SessionCommunications/SessionCommunicationsIf.ice
index 28f144d..0117f77 100644
--- a/SessionCommunications/SessionCommunicationsIf.ice
+++ b/SessionCommunications/SessionCommunicationsIf.ice
@@ -20,6 +20,10 @@ module SessionCommunications
 ["suppress"]
 module V1
 {
+    //
+    // TODO: Exceptions?
+    //
+
     const string Version = "V1";
 
     /*
@@ -28,59 +32,304 @@ module V1
     interface Session;
     interface SessionEndpoint;
 
+    /**
+     * Basic response code value encapsulation.
+     */
     class ResponseCode
     {
+        /** 
+         * ISDN cause code @see http://tools.ietf.org/html/rfc3398
+         */
         int isdnCode;
     };
 
+    /**
+     * SessionInfo contains the details of a given session
+     * at a specific time. 
+     *
+     * @ see Session
+     *
+     * @ see SessionEndpoint
+     *
+     */
     class SessionInfo
     {
+        /**
+         * The endpoint that initiated the current session.
+         */
         SessionEndpoint* caller;
+
+        /**
+         * The duration of the 'connected' time for this session.
+         */
         long connectedTime;
+
+        /**
+         * A textual description of the current state of the session. For
+         * example: pending, connected, hanging up. 
+         * TODO: Some standardized values, enum type, etc. might be 
+         * desirable.
+         */
         string currentState;
+
+        /**
+         * The endpoint handling the destination session. 
+         */
         SessionEndpoint* destination;
+
+        /**
+         * A textual description of this Session's role in the
+         * current communications.
+         */
         string role;
+
+        /**
+         * When the session was initiated.
+         */
         AsteriskSCF::System::Time::V1::TimeMarker startTime;
     };
 
+    /**
+     * Instances of SessionListener are used for monitoring changes in one or
+     * more sessions. Session objects have an addListener method that allows
+     * SessionListener objects to be registered with a given session. The
+     * Session object then calls the SessionListener methods to notify
+     * listeners of changes as they occur.
+     *
+     * A SessionListener object may be registered with multiple sessions.
+     *
+     * @see Session
+     */
     interface SessionListener
     {
+        /**
+         * Notification that a session has reached a known connected state.
+         * For example: In a SIP session, once a 200 OK has been received after
+         * and INVITE.
+         *
+         * @param source The session the event occurred on.
+         *
+         */
         void connected(Session* source);
+
+        /**
+         * Notification that a "flash" has occurred on a session.
+         *
+         * @param source The session the event occurred on.
+         *
+         */
         void flashed(Session* source);
+
+        /**
+         * Notification that a session has entered a "held" state.
+         *
+         * @param source The session the event occurred on.
+         *
+         */
         void held(Session* source);
+
+        /**
+         * Notification that a session is in a transitional state.
+         * 
+         * @param source The session the event occurred on.
+         * 
+         * @param response An code indentifying the details of the ongoing progress.
+         */
         void progressing(Session* source, ResponseCode response);
+
+        /**
+         * Notification that a ring "event" has occurred.
+         * 
+         * @param source The session the event occurred on.
+         * 
+         */
         void ringing(Session* source);
+
+        /**
+         * Notification that a session has completed.
+         * 
+         * @param source The session the event occurred on.
+         * 
+         * @param response An code describing the why the session stopped.
+         * 
+         */
         void stopped(Session* source, ResponseCode response);
+
+        /**
+         * Notification that a session has left the "held" state.
+         *
+         * @param source The session the event occurred on.
+         *
+         */
         void unheld(Session* source);
     };
 
+    /**
+     * A Session object encapsulates a session oriented dialogue with a peer
+     * agent. Registered SessionListener objects are notified of responses from
+     * the peer as the dialogue progresses.
+     * 
+     * @see SessionListener.
+     */
     interface Session
     {
+        /**
+         * Registers an instance of SessionListener with the current
+         * session. 
+         * 
+         * @param listener an instance of a SessionListener object.
+         *
+         * @return a SessionInfo object containing the current state of the session.
+         *       This allows "listeners" to be configured with a some initial state
+         *       to give context to future notifications.
+         *
+         * @see SessionListener
+         *
+         * @see SessionInfo
+         *
+         */
         SessionInfo addListener(SessionListener* listener);
+
+        /**
+         * Sends a connect message to the peer.
+         */
         void connect();
+
+        /**
+         * Sends a flash to the peer.
+         */
         void flash();
+
+        /**
+         * Retrieve the endpoint object that created the current session.
+         *
+         * @return The endpoint object that created the current session. 
+         *
+         * @see SessionEndpoint
+         *
+         */
         SessionEndpoint* getEndpoint();
+
+        /**
+         * Retrieve information about the current session's state.
+         *
+         * @return A SessionInfo instance with up to date information.
+         *
+         * @see SessionInfo.
+         *
+         */
         SessionInfo getInfo();
+
+        /**
+         * Retrieve a media session instance, if available, for the current session.
+         * A media session object may not be available at the time this is called. 
+         * For example, in SIP before media details are known.
+         *
+         * @return An AsteriskSCF media session for the current session. May be a
+         *   nil reference if the media part of the session has not been initialized.
+         */
         AsteriskSCF::Media::V1::Session* getMediaSession();
+
+        /**
+         * Sends a hold notification to the peer.
+         */
         void hold();
-        void progress();
+
+        /**
+         * Sends a progress notification to the peer 
+         *
+         * @param response A code detailing the current progress.
+         *
+         * @see ResponseCode.
+         */
+        void progress(ResponseCode response);
+
+        /**
+         * Removes a listener from the current list. Once removed, a listener
+         * no longer is notified of changes to the session.
+         */
         void removeListener(SessionListener* listener);
+
+        /**
+         * Send a ring notification to the peer. 
+         */
         void ring();
+
+        /**
+         * Start a session dialogue with a peer. 
+         */
         void start();
+
+        /**
+         * End the dialogue with the peer, sending the 
+         * provided response code if appropriate.
+         *
+         * @param response Code identifying the reason the dialog stopped.
+         *
+         */
         void stop(ResponseCode response);
+
+        /**
+         * Send a request to a connected endpoint to remove a "hold".
+         */
         void unhold();
     };
 
     sequence <Session*> SessionSeq;
 
+    /**
+     * Instances of SessionRouter attempt to establish communications 
+     * between a initiating session and a destination, where the destination
+     * session has not yet been established. The details of the operation
+     * are implementation specific but generally speaking the SessionRouter is
+     * responsible (by direct implementation or delegation) of locating and
+     * creating a session for a destination, creating a communication bridge 
+     * if required and adding the routed participants to it.
+     * 
+     * @see Bridging::V1::Bridge
+     * @see Bridging::V1::BridgeFactory
+     * @see Bridging::V1::BridgeListener
+     *
+     */
     interface SessionRouter
     {
+        /**
+         * Attempts to establish an end-to-end communication between an
+         * existing session and destination identified by an address or ID.
+         *
+         * @param source The initiating session.
+         * 
+         * @param destination The identifier for the destination.
+         */
         void routeSession(Session* source, string destination);
     };
 
+    /**
+     * Instances of SessionEndpoint implement a mechanism for creating Session
+     * objects that can communicate with peer entities (external or otherwise).
+     */
     interface SessionEndpoint extends AsteriskSCF::Core::Endpoint::V1::BaseEndpoint
     {
+        /** 
+         * Creates a session for the specified destination, optionally registering
+         * a SessionListener object for notification of changes to the session.
+         * 
+         * @param destination A stringified identifier or address for the destination.
+         * 
+         * @param callback A SessionListener object to be registered as a listener on the 
+         *    newly created session. May be a nil reference if an initial listener is not
+         *    required.
+         * 
+         * @return A newly created session object for the destination.
+         * 
+         */
         Session* createSession(string destination, SessionListener* callback);
+
+        /**
+         * Returns the active sessions for this session endpoint.
+         * 
+         * @return a sequence of Session proxies.
+         */
         SessionSeq getSessions();
     };
 

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list