[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
Mon Dec 19 16:10:35 CST 2011


branch "master" has been updated
       via  cc4688ee09c041560911a127f7d8bbf615f884b7 (commit)
       via  2d131fb37e5d7e26958a4e8ebab1834bf54be44d (commit)
       via  5633e5d190e1e490fe108583808c2feb5572d2da (commit)
       via  67b49913b4b02e87aeab0c79f4ce756bf0c33f39 (commit)
       via  6d3c833f9b9d44131d6738239b62f99b435fa1d3 (commit)
       via  8a390c3ad711cc3a727019128083a523fa4c19cf (commit)
      from  805907d78323c80802f17e1929ba1051bf2e1276 (commit)

Summary of changes:
 .../PartyIdentificationIf.ice                      |   69 +++++++++++++-
 .../SessionCommunicationsExtensionPointsIf.ice     |   38 +++++++
 .../SessionCommunicationsIf.ice                    |  105 ++++++++++++++------
 3 files changed, 179 insertions(+), 33 deletions(-)


- Log -----------------------------------------------------------------
commit cc4688ee09c041560911a127f7d8bbf615f884b7
Merge: 2d131fb 805907d
Author: Mark Michelson <mmichelson at digium.com>
Date:   Mon Dec 19 16:11:17 2011 -0600

    Merge branch 'master' of git.asterisk.org:asterisk-scf/release/slice


commit 2d131fb37e5d7e26958a4e8ebab1834bf54be44d
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Dec 2 16:02:44 2011 -0600

    Change to pass SessionInfo to addSessions and replaceSession so that
    identity information can be sent out.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 1202c50..b938374 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -95,37 +95,52 @@ module V1
      */
     class SessionInfo
     {
-    /**
-     * A proxy to the endpoint that initiated the current session.
-     */
-    SessionEndpoint* caller;
+        /**
+         * A proxy to the endpoint that initiated the current session.
+         */
+        SessionEndpoint* caller;
 
-    /**
-     * The duration of the 'connected' time for this session.
-     */
-    long connectedTime = 0;
+        /**
+         * The duration of the 'connected' time for this session.
+         */
+        long connectedTime = 0;
 
-    /**
-     * A textual description of the current state of the session. For
-     * example: pending, connected, hanging up.
-     */
-    string currentState;
+        /**
+         * A textual description of the current state of the session. For
+         * example: pending, connected, hanging up.
+         */
+        string currentState;
 
-    /**
-     * A proxy to the endpoint handling the destination session.
-     */
-    SessionEndpoint* destination;
+        /**
+         * A proxy to the endpoint handling the destination session.
+         */
+        SessionEndpoint* destination;
 
-    /**
-     * A textual description of this Session's role in the
-     * current communications.
-     */
-    string role;
+        /**
+         * 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;
+        /**
+         * When the session was initiated.
+         */
+        AsteriskSCF::System::Time::V1::TimeMarker startTime;
+
+        /**
+         * Id of the session
+         */
+        AsteriskSCF::SessionCommunications::PartyIdentification::V1::SessionOwnerId sessionOwner;
+
+        /**
+         * The connected line information for the session
+         */
+        AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine connectedLine;
+
+        /**
+         * The calling party for the session 
+         */
+        AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller callerID;
     };
 
     /**
@@ -816,8 +831,7 @@ module V1
                 string operationId,
                 Session* sessionToReplace,
                 Session* bridgedSession,
-                bool replaceSession,
-                AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine connectedLine)
+                bool replaceSession)
            throws SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
     };
 
@@ -962,6 +976,14 @@ module V1
      */
     interface BridgeListener;
 
+    struct SessionWithSessionInfo
+    {
+        Session* sessionProxy;
+        SessionInfo info;
+    };
+
+    sequence<SessionWithSessionInfo> SessionWithSessionInfoSeq;
+
     /**
      * Bridge object manages the association of multiple sessions in the process
      * of communicating with each other.
@@ -981,8 +1003,7 @@ module V1
          */
         ["amd"]
         void addSessions(
-            SessionSeq session,
-            AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLineSeq connectedLines)
+            SessionWithSessionInfoSeq sessionInfos)
             throws InvalidSessions, BridgeSessionOperationFailed;
 
         /**
@@ -1053,8 +1074,7 @@ module V1
          */
         ["amd"]
         void replaceSession(Session* sessionToReplace,
-            SessionSeq newSessions,
-            AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLineSeq newConnectedLines)
+            SessionWithSessionInfoSeq newSessionInfos)
             throws InvalidSessions, SessionNotFound, BridgeSessionOperationFailed;
 
         /**

commit 5633e5d190e1e490fe108583808c2feb5572d2da
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Nov 9 10:36:48 2011 -0600

    Take connected party information in method calls so that updates may be issued properly.

diff --git a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
index 4ed1014..dad00be 100644
--- a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
@@ -151,6 +151,8 @@ module V1
     {
     };
 
+    sequence<ConnectedLine> ConnectedLineSeq;
+
     /**
      * Redirection reasons are derived from SIP diversion RFC.
      */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index d4eeca0..1202c50 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -816,7 +816,8 @@ module V1
                 string operationId,
                 Session* sessionToReplace,
                 Session* bridgedSession,
-                bool replaceSession)
+                bool replaceSession,
+                AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine connectedLine)
            throws SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
     };
 
@@ -979,8 +980,10 @@ module V1
          * @see InvalidSessions
          */
         ["amd"]
-        void addSessions(SessionSeq session)
-        throws InvalidSessions, BridgeSessionOperationFailed;
+        void addSessions(
+            SessionSeq session,
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLineSeq connectedLines)
+            throws InvalidSessions, BridgeSessionOperationFailed;
 
         /**
          * Abruptly destroy the bridge. Sessions will not be stopped.
@@ -1049,7 +1052,9 @@ module V1
          * @throws SessionNotFound if the session to be replaced is not on the bridge.
          */
         ["amd"]
-        void replaceSession(Session* sessionToReplace, SessionSeq newSessions)
+        void replaceSession(Session* sessionToReplace,
+            SessionSeq newSessions,
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLineSeq newConnectedLines)
             throws InvalidSessions, SessionNotFound, BridgeSessionOperationFailed;
 
         /**

commit 67b49913b4b02e87aeab0c79f4ce756bf0c33f39
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Oct 13 18:52:57 2011 -0500

    Fix a syntax error.

diff --git a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
index bb01a0f..4ed1014 100644
--- a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
@@ -172,7 +172,7 @@ module V1
     unsliceable class RedirectionReason
     {
         Reason why;
-    }
+    };
 
     /**
      * Describes an instance of redirection. 

commit 6d3c833f9b9d44131d6738239b62f99b435fa1d3
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Oct 13 14:29:19 2011 -0500

    Add reason to redirections and privacy to identities.

diff --git a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
index a0e11f1..bb01a0f 100644
--- a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
@@ -58,6 +58,38 @@ module V1
     };
 
     /**
+     * Indication of the desire for privacy by a party.
+     */
+    unsliceable class Privacy
+    {
+        /**
+         * If set true, then the user has requested that
+         * the identity remain private.
+         */
+        bool isPrivate;
+    };
+
+    /**
+     * Privacy information specific to user-generated
+     * identities
+     */
+    unsliceable class UserNumberPrivacy extends Privacy
+    {
+        /**
+         * Indicates if the number has been screened
+         */
+        bool isScreened;
+    };
+
+    /**
+     * Privacy information specific to identities
+     * from the network
+     */
+    unsliceable class NetworkNumberPrivacy extends Privacy
+    {
+    };
+
+    /**
      * Base class for combined identity of name and number
      */
     unsliceable class Id
@@ -71,6 +103,11 @@ module V1
          * Number of the party
          */
         Number partyNumber;
+
+        /**
+         * Privacy information for this identity
+         */
+        Privacy partyPrivacy;
     };
 
     /**
@@ -115,6 +152,29 @@ module V1
     };
 
     /**
+     * Redirection reasons are derived from SIP diversion RFC.
+     */
+    enum Reason
+    {
+        Unknown,
+        UserBusy,
+        NoAnswer,
+        Unavailable,
+        Unconditional,
+        TimeOfDay,
+        DoNotDisturb,
+        Deflection,
+        FollowMe,
+        OutOfService,
+        Away
+    };
+
+    unsliceable class RedirectionReason
+    {
+        Reason why;
+    }
+
+    /**
      * Describes an instance of redirection. 
      */
     unsliceable class Redirection
@@ -127,7 +187,12 @@ module V1
         /**
          * Party identification information for who the session is being redirected to
          */
-        Id toId; 
+        Id toId;
+
+        /**
+         * Reason for the redirection
+         */
+        RedirectionReason reason;
     };
     sequence <Redirection> RedirectionSeq;
 

commit 8a390c3ad711cc3a727019128083a523fa4c19cf
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Oct 13 13:54:11 2011 -0500

    Add Caller and Redirections to routeSession and createBridge operations

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
index 86de504..d464a95 100755
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
@@ -196,6 +196,34 @@ module V1
     sequence<ForwardingConnectedLinePartyIdHook*> ForwardingConnectedLinePartyIdHookSeq;
 
     /**
+     * Hook into party identification Caller record
+     * for modifying Caller information being sent to a 
+     * specific Session. 
+     */
+    interface ForwardingCallerPartyIdHook
+    {
+        /**
+         * This hook is called when ConnectedLine updates are being sent to a particular
+         * session. The caller provides the session that will receive the ConnectedLine information
+         * to the hook, as well as the session that sent the updated record.
+         * This hook is expected to return the original ConnectedLine record
+         * or an updated version of it. 
+         *
+         * @param sendingSession The session that has sent ConnectedLine information.
+         * @param destinationSession The session that will receive the ConnectedLine information.
+         * @param[out] receivedConnectedLine The data received from the sending session.
+         * @param[out] replacementConnectedLine Modified data to be used.
+         * @return A HookResult indicating whether the hook was successful
+         */
+        AsteriskSCF::System::Hook::V1::HookResult modifyForwardingCaller(
+            AsteriskSCF::SessionCommunications::V1::Session *sendingSession, 
+            AsteriskSCF::SessionCommunications::V1::Session *destinationSession, 
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller receivedCaller,
+            out AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller replacementCaller);
+    };
+    sequence<ForwardingCallerPartyIdHook*> ForwardingCallerPartyIdHookSeq;
+
+    /**
      * Hook into party identification Redirections record. This hook
      * allows modifying a Redirections record prior to sending it to
      * each connected Session that may be affected.
@@ -237,6 +265,11 @@ module V1
         void addForwardingConnectedLinePartyIdHook(ForwardingConnectedLinePartyIdHook* hook);
 
         /**
+         * Add a hook to invoke when forwarding ConnectedLine party id. 
+         */
+        void addForwardingCallerPartyIdHook(ForwardingCallerPartyIdHook* hook);
+
+        /**
          * Add a hook to invoke when forwarding Redirections party id record. 
          */
         void addForwardingRedirectionsPartyIdHook(ForwardingRedirectionsPartyIdHook* hook);
@@ -252,6 +285,11 @@ module V1
         void removeForwardingConnectedLinePartyIdHook(ForwardingConnectedLinePartyIdHook* hook);
 
         /**
+         * Remove a forwarding ConnectedLine hook
+         */
+        void removeForwardingCallerPartyIdHook(ForwardingCallerPartyIdHook* hook);
+
+        /**
          * Remove a forwarding Redirections hook
          */
         void removeForwardingRedirectionsPartyIdHook(ForwardingRedirectionsPartyIdHook* hook);
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 4127870..d4eeca0 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -360,6 +360,15 @@ module V1
          void updateConnectedLine(AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine connectedLine);
 
          /**
+          * Method which updates caller party identification. 
+          *
+          * @param connectedLine Caller party information.
+          *
+          * @see Asterisk::SessionCommunications::PartyIdentifcation::V1::Caller
+          */
+         void updateCallerID(AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller callerID);
+
+         /**
           * Method which provides notification of redirections that have occurred. 
           *
           * @param redirections Redirections that have occurred
@@ -727,8 +736,11 @@ module V1
          * @throws BridgingException if the bridge could not be setup properly.
          */
         ["amd"]
-        void routeSession(string operationId, Session* source, string destination,
-                AsteriskSCF::SessionCommunications::ExtensionPoints::V1::SessionCreationHook* oneShotHook)
+        void routeSession(string operationId, Session* source,
+            string destination,
+            AsteriskSCF::SessionCommunications::ExtensionPoints::V1::SessionCreationHook* oneShotHook,
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller callerID,
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections redirects)
            throws AsteriskSCF::Core::Routing::V1::DestinationNotFoundException,
            EndpointUnreachableException, SessionCreationException,
            SourceTerminatedPreBridgingException, BridgingException ;
@@ -1162,7 +1174,11 @@ module V1
          * @return Bridge* Returns a proxy to the newly created bridge.
          */
         ["amd"]
-        Bridge* createBridge(SessionSeq sessions, BridgeListener* listener);
+        Bridge* createBridge(Session* initiator,
+            SessionSeq destinations,
+            BridgeListener* listener,
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller callerID,
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirections redirects);
 
         /**
          * Method called to remove a listener from the bridge manager.

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


-- 
asterisk-scf/release/slice.git



More information about the asterisk-scf-commits mailing list