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

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Wed Jun 15 07:13:15 CDT 2011


branch "nat-traversal" has been updated
       via  20f58b092c28497dad52c9840a7d69130ac154c2 (commit)
       via  00b730edd34255da7779db9b09ab2537c29de161 (commit)
       via  d44bebbfca8bd1136d0f398040c8a341c634233b (commit)
       via  d53d9219fd48076602d409d4786db2f1b225824a (commit)
       via  30733932401a81ec18e0fcddc81eff52be58c2f4 (commit)
       via  138ffe602078c9652cca5a5270439af27d695923 (commit)
      from  3921216ef70e789c5b09f5cc79591c0150758d57 (commit)

Summary of changes:
 AsteriskSCF/Media/RTP/MediaRTPIf.ice               |   22 ++-
 .../ISDNPartyIdentificationIf.ice                  |  108 +++++++++++
 .../PartyIdentificationIf.ice                      |  186 ++++++++++++++++++++
 .../SessionCommunicationsIf.ice                    |   16 +-
 AsteriskSCF/System/Component/ConfigurationIf.ice   |   19 ++
 AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice     |   10 +
 6 files changed, 349 insertions(+), 12 deletions(-)
 create mode 100644 AsteriskSCF/SessionCommunications/ISDNPartyIdentificationIf.ice
 create mode 100644 AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice


- Log -----------------------------------------------------------------
commit 20f58b092c28497dad52c9840a7d69130ac154c2
Author: Joshua Colp <jcolp at digium.com>
Date:   Tue Jun 7 19:44:18 2011 -0300

    Add slice files for party identification.

diff --git a/AsteriskSCF/SessionCommunications/ISDNPartyIdentificationIf.ice b/AsteriskSCF/SessionCommunications/ISDNPartyIdentificationIf.ice
new file mode 100644
index 0000000..82fb0fe
--- /dev/null
+++ b/AsteriskSCF/SessionCommunications/ISDNPartyIdentificationIf.ice
@@ -0,0 +1,108 @@
+/*
+ * Asterisk SCF -- An open-source communications framework.
+ *
+ * Copyright (C) 2011, 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
+
+#include <AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice>
+
+module AsteriskSCF
+{
+
+module SessionCommunications
+{
+
+module PartyIdentification
+{
+
+["suppress"]
+module V1
+{
+    /**
+     * ISDN derived class for name part of party identification
+     */
+    unsliceable class IsdnName extends Name
+    {
+	/**
+	 * Q.931 Presentation-indicator
+	 */
+	int presentation;
+
+	/**
+	 * Q.931 Screening-indicator
+	 */
+	int screening;
+    };
+
+    /**
+     * ISDN derived class for number part of party identification
+     */
+    unsliceable class IsdnNumber extends Number
+    {
+	/**
+	 * Q.931 Presentation-indicator
+	 */
+	int presentation;
+
+	/**
+	 * Q.931 Screening-indicator
+	 */
+	int screening;
+
+	/**
+	 * Q.931 Type-of-number
+	 */
+	int type_of_number;
+
+	/**
+	 * Q.931 Numbering-plan
+	 */
+	int numbering_plan;
+    };
+
+    /**
+     * ISDN derived class for combined identity
+     */
+    unsliceable class IsdnId extends Id
+    {
+	/**
+	 * Subaddress, if present
+	 */
+	Number subaddress;
+    };
+
+    /**
+     * ISDN derived class for calling party information
+     */
+    unsliceable class IsdnCaller extends Caller
+    {
+	/**
+	 * ANI identity information
+	 */
+	Id ani;
+
+	/**
+	 * ANI2 value
+	 */
+	int ani2;
+    };
+
+}; /* End of module V1 */
+
+}; /* End of module PartyIdentification */
+
+}; /* End of module SessionCommunications */
+
+}; /* End of module AsteriskSCF */
diff --git a/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice b/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
new file mode 100644
index 0000000..7046ec2
--- /dev/null
+++ b/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
@@ -0,0 +1,186 @@
+/*
+ * Asterisk SCF -- An open-source communications framework.
+ *
+ * Copyright (C) 2011, 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
+{
+
+module PartyIdentification
+{
+
+["suppress"]
+module V1
+{
+    /**
+     * String representation of the version of this interface
+     */
+    const string Version = "V1";
+
+    /**
+     * Base class for name part of party identification
+     */
+    unsliceable class Name
+    {
+	/**
+	 * String representation of the name
+	 */
+	string partyName;
+    };
+
+    /**
+     * Base class for number part of party identification
+     */
+    unsliceable class Number
+    {
+	/**
+	 * String representation of the number
+	 */
+	string partyNumber;
+    };
+
+    /**
+     * Base class for combined identity of name and number
+     */
+    unsliceable class Id
+    {
+	/**
+	 * Name of the party
+	 */
+	Name partyName;
+
+	/**
+	 * Number of the party
+	 */
+	Number partyNumber;
+    };
+
+    /**
+     * A sequence of identities
+     */
+    sequence<Id> IdSeq;
+
+    /**
+     * Base class for dialed party information
+     */
+    unsliceable class Dialed
+    {
+	/**
+	 * Number that was dialed
+	 */
+	Number partyNumber;
+    };
+
+    /**
+     * Base class for calling party information
+     */
+    unsliceable class Caller
+    {
+	/**
+	 * Identities of the caller
+	 */
+	IdSeq ids;
+    };
+
+    /**
+     * Derived class for connected line information, currently exactly like Caller
+     */
+    unsliceable class ConnectedLine extends Caller
+    {
+    };
+
+    /**
+     * Base class for redirecting information
+     */
+    unsliceable class Redirecting
+    {
+	/**
+	 * Party identification information for who the session is being redirected away from
+	 */
+	Id from;
+
+	/**
+	 * Party identification information for who the session is being redirected to
+	 */
+	Id to;
+
+	/**
+	 * Number of times the session has been redirected
+	 */
+	int count;
+    };
+
+    /**
+     * Interface for party identification retrieval and setting
+     */
+    interface IdentificationManager
+    {
+	/**
+	 * Method which retrieves caller party identification information
+	 *
+	 * @return Concrete class containing caller party information
+	 *
+	 * @see Caller
+	 */
+	idempotent Caller getCaller();
+
+	/**
+	 * Method which retrieves dialed party identification information
+	 *
+	 * @return Concrete class containing dialed party information
+	 *
+	 * @see Dialed
+	 */
+	idempotent Dialed getDialed();
+
+	/**
+	 * Method which retrieves redirecting party identification information
+	 *
+	 * @return Concrete class containing redirecting party information
+	 *
+	 * @see Redirecting
+	 */
+	idempotent Redirecting getRedirecting();
+
+	/**
+	 * Method which updates connected line party information
+	 *
+	 * @param party Connected line party information
+	 *
+	 * @see ConnectedLine
+	 */
+	void updateConnectedLine(ConnectedLine party);
+
+	/**
+	 * Method which updates redirecting party information
+	 *
+	 * @param party Redirecting party information
+	 *
+	 * @see Redirecting
+	 */
+	void updateRedirecting(Redirecting party);
+    };
+
+}; /* End of module V1 */
+
+}; /* End of module PartyIdentification */
+
+}; /* End of module SessionCommunications */
+
+}; /* End of module AsteriskSCF */

commit 00b730edd34255da7779db9b09ab2537c29de161
Author: Joshua Colp <jcolp at digium.com>
Date:   Mon May 23 11:43:26 2011 -0300

    Add an interface for the configuration replicator.

diff --git a/AsteriskSCF/System/Component/ConfigurationIf.ice b/AsteriskSCF/System/Component/ConfigurationIf.ice
index 4537fea..b2ecce2 100644
--- a/AsteriskSCF/System/Component/ConfigurationIf.ice
+++ b/AsteriskSCF/System/Component/ConfigurationIf.ice
@@ -175,6 +175,25 @@ module V1
        void removeConfigurationGroups(ConfigurationGroupSeq groups);
     };
 
+   /**
+    * Facet used to get a proxy to the configuration replicator from a state replicator.
+    */
+   const string ReplicatorFacet = "ConfigurationReplicator";
+
+   /**
+    * The configuration replicator interface provides the ability to register a listener
+    * that will receive any configuration pushed to the state replicator.
+    */
+   interface ConfigurationReplicator
+   {
+       /**
+        * Add a listener that will receive configuration updates.
+        *
+        * @param service A proxy to the listener.
+        */
+       void registerConfigurationService(AsteriskSCF::System::Configuration::V1::ConfigurationService *service);
+   };
+
 }; /* End of namespace V1 */
 
 }; /* End of namespace Configuration */

commit d44bebbfca8bd1136d0f398040c8a341c634233b
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu May 19 19:02:13 2011 -0500

    Add the threadStart and threadStop methods.

diff --git a/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice b/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice
index e3081ec..eb500a5 100644
--- a/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice
+++ b/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice
@@ -96,6 +96,16 @@ module V1
          * @param tpool A handle to the Pool
          */
         void queueEmptied(Pool tpool);
+
+        /**
+         * Run from a new thread when it starts.
+         */
+        void threadStart();
+
+        /**
+         * Run from a thraed when it finishes.
+         */
+        void threadStop();
     };
     
     /**

commit d53d9219fd48076602d409d4786db2f1b225824a
Author: Mark Michelson <mmichelson at digium.com>
Date:   Mon May 9 17:58:12 2011 -0500

    Add more amd stuff.

diff --git a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 7767cf7..7d53e82 100644
--- a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -300,7 +300,7 @@ module V1
          *
          * @see SessionInfo
          */
-        SessionInfo addListener(SessionListener* listener);
+        ["amd"] SessionInfo addListener(SessionListener* listener);
 
         /**
          * Request that an indication be performed on a session.
@@ -313,7 +313,7 @@ module V1
          *
          * @see IndicationException
          */
-        void indicate(Indication event) throws IndicationException;
+        ["amd"] void indicate(Indication event) throws IndicationException;
 
         /**
          * Method which retrieves a proxy to the endpoint object that created the current session.
@@ -322,7 +322,7 @@ module V1
          *
          * @see SessionEndpoint
          */
-        SessionEndpoint* getEndpoint();
+        ["amd"] SessionEndpoint* getEndpoint();
 
         /**
          * Method which retrieves information about the current session's state.
@@ -331,7 +331,7 @@ module V1
          *
          * @see SessionInfo
          */
-        SessionInfo getInfo();
+        ["amd"] SessionInfo getInfo();
 
         /**
          * Retrieve a media session instance, if available, for the current session.
@@ -341,7 +341,7 @@ module V1
          * @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();
+        ["amd"] AsteriskSCF::Media::V1::Session* getMediaSession();
 
         /**
          * Removes a listener from the current list. Once removed, a listener
@@ -371,7 +371,7 @@ module V1
          *
          * @throws NotBridged if the session is not currently in a bridge.
          */
-        Bridge* getBridge() throws NotBridged;
+        ["amd"] Bridge* getBridge() throws NotBridged;
 
         /**
          * Set the Bridge for this session.
@@ -382,7 +382,7 @@ module V1
          *
          * @return A current copy of the session information.
          */
-        ["amd"]SessionInfo setBridge(Bridge* newBridge, SessionListener* listener);
+        ["amd"] SessionInfo setBridge(Bridge* newBridge, SessionListener* listener);
 
         /**
          * Removes this Session from it's associated Bridge.
@@ -391,7 +391,7 @@ module V1
          *
          * @throws NotBridged if the session is not currently in a bridge.
          */
-        void removeBridge(SessionListener* listener) throws NotBridged;
+        ["amd"] void removeBridge(SessionListener* listener) throws NotBridged;
     };
 
     /**

commit 30733932401a81ec18e0fcddc81eff52be58c2f4
Author: Mark Michelson <mmichelson at digium.com>
Date:   Mon May 9 16:34:09 2011 -0500

    Make Session::setBridge use AMD

diff --git a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index e2629dc..7767cf7 100644
--- a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -382,7 +382,7 @@ module V1
          *
          * @return A current copy of the session information.
          */
-        SessionInfo setBridge(Bridge* newBridge, SessionListener* listener);
+        ["amd"]SessionInfo setBridge(Bridge* newBridge, SessionListener* listener);
 
         /**
          * Removes this Session from it's associated Bridge.

commit 138ffe602078c9652cca5a5270439af27d695923
Author: Joshua Colp <jcolp at digium.com>
Date:   Sun May 8 11:57:15 2011 -0300

    Add support for IPv6.

diff --git a/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index b0cee7f..8687f30 100644
--- a/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -43,6 +43,11 @@ module V1
        * A sequence of formats that the RTP media service is expected to transport.
        */
       AsteriskSCF::Media::V1::FormatSeq formats;
+
+      /**
+       * Whether IPv6 is to be used or not.
+       */
+      bool ipv6 = false;
    };
 
    /**
@@ -66,6 +71,13 @@ module V1
    };
 
    /**
+    * Exception thrown when an invalid address is passed in.
+    */
+   exception InvalidAddress
+   {
+   };
+
+   /**
     * Interface to an RTP stream sink.
     */
    interface StreamSinkRTP extends AsteriskSCF::Media::V1::StreamSink
@@ -73,11 +85,13 @@ module V1
       /**
        * Method which changes the IP address and port that media will be sent to.
        *
-       * @param address A string representation of the IP address.
+       * @param address A string representation of the  address.
        *
        * @param port An integer containing the port.
+       *
+       * @throws InvalidAddress when the address passed in is invalid.
        */
-      void setRemoteDetails(string address, int port);
+      void setRemoteDetails(string address, int port) throws InvalidAddress;
 
       /**
        * Method which retrieves the remote IP address.
@@ -146,11 +160,11 @@ module V1
       /**
        * Method which creates a new RTP session and returns a proxy to it.
        *
-       * @param formats The media formats the session is expected to carry.
+       * @param params Parameters to configure the RTP session with.
        *
        * @return RTPSession* A proxy to the new RTP session.
        */
-      RTPSession* allocate(AsteriskSCF::Media::V1::FormatSeq formats);
+      RTPSession* allocate(RTPServiceLocatorParams params);
    };
 
 }; /*  end module V1 */

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list