[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