[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "party-id" created.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Thu Oct 13 18:53:07 CDT 2011


branch "party-id" has been created
        at  67b49913b4b02e87aeab0c79f4ce756bf0c33f39 (commit)

- Log -----------------------------------------------------------------
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/integration/slice.git



More information about the asterisk-scf-commits mailing list