[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "media-operation" created.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Thu Aug 11 17:23:14 CDT 2011
branch "media-operation" has been created
at cca38526f2d971f4f0d30b9c58cabebc1e65e01a (commit)
- Log -----------------------------------------------------------------
commit cca38526f2d971f4f0d30b9c58cabebc1e65e01a
Author: Mark Michelson <mmichelson at digium.com>
Date: Thu Aug 11 17:24:01 2011 -0500
Fix a typo.
diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
index 5e42c8c..05eae31 100644
--- a/slice/AsteriskSCF/Media/MediaOperationIf.ice
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -44,7 +44,7 @@ interface MediaOperationFactory
*/
MediaOperation* createMediaOperation(
StreamSource* source,
- StreamSource* sink);
+ StreamSink* sink);
};
struct MediaOperationAttributes
commit 823768da1bfe16e250faa1b0a43d4d3cef0827a3
Author: Mark Michelson <mmichelson at digium.com>
Date: Thu Aug 11 14:48:21 2011 -0500
Return a proxy to a media operation.
diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
index 3c50a68..5e42c8c 100644
--- a/slice/AsteriskSCF/Media/MediaOperationIf.ice
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -42,7 +42,7 @@ interface MediaOperationFactory
* @param source optional source of media that will enter the operation
* @param sink optional source of media that the operation will write to
*/
- MediaOperation createMediaOperation(
+ MediaOperation* createMediaOperation(
StreamSource* source,
StreamSource* sink);
};
commit 14078a4f6374d19b88b73b55d77eef8f23219b85
Author: Mark Michelson <mmichelson at digium.com>
Date: Thu Aug 11 14:05:48 2011 -0500
Create slice definitions for media operations.
diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
new file mode 100644
index 0000000..3c50a68
--- /dev/null
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -0,0 +1,77 @@
+/*
+ * 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/Media/MediaIf.ice>
+#include <AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice>
+
+module AsteriskSCF
+{
+
+module Media
+{
+
+module V1
+{
+
+interface MediaOperation
+{
+ StreamSource* getSource();
+ StreamSink* getSink();
+ void destroy();
+};
+
+interface MediaOperationFactory
+{
+ /**
+ * Create a new instance of a media operation.
+ * @param source optional source of media that will enter the operation
+ * @param sink optional source of media that the operation will write to
+ */
+ MediaOperation createMediaOperation(
+ StreamSource* source,
+ StreamSource* sink);
+};
+
+struct MediaOperationAttributes
+{
+ /**
+ * The input format for a specific operation
+ */
+ Format inputFormat;
+ /**
+ * The output format for a specific operation
+ */
+ Format outputFormat;
+ /**
+ * The cost of the operation.
+ * Lower cost indicates an "easier" translation,
+ * either because it is faster or uses fewer resources.
+ */
+ int cost;
+};
+
+sequence<MediaOperationAttributes> MediaOperationAttributesSeq;
+
+unsliceable class MediaOperationServiceLocatorParams extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
+{
+ MediaOperationAttributesSeq attributes;
+};
+
+}; /* end module V1 */
+}; /* end module Media */
+}; /* end module AsteriskSCF */
commit 01d21200cca061fed160a07cbfd06e6814cf585b
Author: Ken Hunt <ken.hunt at digium.com>
Date: Wed Aug 10 19:17:07 2011 -0500
Support for default session cookies and default session listeners.
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 615a6ce..8426ace 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -755,6 +755,35 @@ module V1
* @return a sequence of Session proxies.
*/
idempotent SessionSeq getSessions();
+
+ /**
+ * Adds a default SessionListener for sessions created for this endpoint.
+ * Does not alter existing sessions, but will add the listener to
+ * any sessions created henceforth, until the default listener
+ * is removed.
+ */
+ void addDefaultSessionListener(SessionListener* listener);
+
+ /**
+ * Removes a default SessionListener. Doesn't remove the
+ * the listener from any existing sessions, but rather
+ * stops adding the listener to future sessions.
+ */
+ void removeDefaultSessionListener(SessionListener* listener);
+
+ /**
+ * Adds default SessionCookies for sessions created for this endpoint.
+ * Does not alter any existing sessions, but any sessions created
+ * henceforth will have these cookies set.
+ */
+ void addDefaultSessionCookies(SessionCookies cookies);
+
+ /**
+ * Removes a set of default SessionCookies for sessions created for this endpoint.
+ * Doesn't remove cookies from any existing sessions, but new
+ * sessions for this endpoint will not have these cookies set.
+ */
+ void removeDefaultSessionCookies(SessionCookies cookies);
};
/**
diff --git a/slice/AsteriskSCF/System/ExceptionsIf.ice b/slice/AsteriskSCF/System/ExceptionsIf.ice
index f18a941..7a410ec 100644
--- a/slice/AsteriskSCF/System/ExceptionsIf.ice
+++ b/slice/AsteriskSCF/System/ExceptionsIf.ice
@@ -31,11 +31,26 @@ module V1
{
};
+ /**
+ * Exception thrown when a "null" handle is passed in where it is invalid to do so.
+ */
+ exception NullHandleException
+ {
+ };
+
exception InternalInitializationException
{
string message;
};
+ /**
+ * Exception thrown when an unknown object is requested.
+ */
+ exception UnknownObject
+ {
+ string identifier;
+ };
+
}; /* End of V1 */
}; /* End of System */
commit 89d5514fadac44681f7a38a627aa2728c7bb16c1
Author: Ken Hunt <ken.hunt at digium.com>
Date: Mon Aug 8 03:12:56 2011 -0500
Changes for base Component class (including expanded ServiceLocatorParams)
diff --git a/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice b/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice
index 44fab7f..e8d5f8a 100644
--- a/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice
+++ b/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice
@@ -52,13 +52,53 @@ module V1
/**
* Generic service locator parameters class that more specific parameter classes can extend.
+ * These parameters are used to register a service with the ServiceLocator, and to
+ * locate (i.e. query) the service.
+ *
+ * Note: The identity of the service is the unique combination of the service field and the
+ * id field, and the id field may be left empty. A service can be part of multiple categories.
*/
unsliceable class ServiceLocatorParams
{
+ /**
+ * Category for the service.
+ *
+ * When registering a service:
+ * - An optional category that the service
+ * should be considered a member of. The service
+ * can be added to multiple categories via multiple
+ * calls to addLocatorParams.
+ * @see ServiceManagement
+ *
+ * When locating:
+ * - An optional category to filter the results on.
+ */
+ string category;
+
+ /**
+ * Identifier for the service.
+ *
+ * When registering a service:
+ * - Identifier for the service. Can't be empty.
+ *
+ * When locating:
+ * - If left empty, locate will return all services within a specified category.
+ * - If category and service are both empty, all services registered with the given
+ * ServiceLocator are returned. In this case, the id field is ignored.
+ */
+ string service;
+
/**
- * Basic category for the service, such as bridge or channel service.
+ * Instance id within a replica group.
+ *
+ * When registering a service:
+ * - Identifier of a specific service instance.
+ *
+ * When locating:
+ * - Identifier of a specific instance. If left empty the default
+ * comparator will match on service (and category, if set) only.
*/
- string category;
+ string id;
};
/**
@@ -67,7 +107,7 @@ module V1
interface ServiceLocator
{
/**
- * Method which performs a locator request using provided parameters but only returns a single
+ * Method which performs a locator " using provided parameters but only returns a single
* proxy.
*
* @param params A concrete class containing parameters describing the service that is trying to be found.
diff --git a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index 535a729..5794b31 100644
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -30,6 +30,11 @@ module RTP
["suppress"]
module V1
{
+ /**
+ * String name of the service locator category for the RTP component service interface.
+ */
+ const string ComponentServiceDiscoveryCategory = "MediaRTPService";
+
/**
* String representation of the version of this interface
*/
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 1f16f64..615a6ce 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -758,9 +758,14 @@ module V1
};
/**
- * Category used for the bridge service.
+ * Category used to publish the Bridge Service's ComponentService interface.
*/
- const string BridgeServiceDiscoveryCategory = "BridgeService";
+ const string BridgeComponentServiceCategory = "BridgingComponentService";
+
+ /**
+ * Category used for the bridge manager.
+ */
+ const string BridgeManagerDiscoveryCategory = "BridgeManager";
/**
* The bridge throws an InvalidSessions exception if any of the sessions
diff --git a/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice b/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice
index b6db122..e3fe84f 100644
--- a/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice
+++ b/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice
@@ -83,7 +83,7 @@ module V1
/**
* A base class to enable arbitary parameter passing to the ComponentTest inteface.
*/
- class ComponentTestParam {};
+ unsliceable class ComponentTestParam {};
sequence<ComponentTestParam> ComponentTestParamSeq;
const string ComponentTestFacet = "TestFacet";
commit 1940c4d44f63e8818702868ba2144c3867ac3e3c
Author: David M. Lee <dlee at digium.com>
Date: Thu Aug 4 14:57:51 2011 -0500
Allow install-ice.xml to be run independently
diff --git a/install-ice-jar.xml b/install-ice-jar.xml
index 5402602..16568c2 100644
--- a/install-ice-jar.xml
+++ b/install-ice-jar.xml
@@ -13,6 +13,13 @@
uri="antlib:org.apache.maven.artifact.ant"
classpathref="maven-ant-tasks.classpath"/>
+ <!--
+ ~ This optional file contains the properties:
+ ~ release.repo.url - URL to deploy release artifacts
+ ~ snapshot.repo.url - URL to deploy snapshot artifacts
+ -->
+ <property file="${user.home}/.ant/repositories.properties"/>
+
<!-- Find ICE_HOME -->
<condition property="ice.home" value="${env.ICE_HOME}">
<available file="${env.ICE_HOME}"/>
commit 8ddb3e91e25814480efa90f215cf432c9f7fbb53
Author: David M. Lee <dlee at digium.com>
Date: Thu Aug 4 12:56:59 2011 -0500
Fixed comments for slice2java.
slice2java, with an unpatched libmcpp, doesn't properly handle trailing
C++-style comments.
diff --git a/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice b/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
index 9190677..dde63e9 100644
--- a/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
+++ b/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
@@ -121,7 +121,7 @@ interface Registrar
["amd"] BindingSeq getAORBindings(string aor);
};
-}; // end module V1
-}; // end module Registration
-}; // end module SIP
-}; // end module AsteriskSCF
+}; /* end module V1 */
+}; /* end module Registration */
+}; /* end module SIP */
+}; /* end module AsteriskSCF */
commit 70bab01f216615674306543f39daaf1c0a779365
Author: David M. Lee <dlee at digium.com>
Date: Thu Aug 4 12:54:06 2011 -0500
Allow auto-detection of ICE_HOME w/o env variable
diff --git a/build.xml b/build.xml
index 443d790..bac549a 100644
--- a/build.xml
+++ b/build.xml
@@ -27,7 +27,7 @@
classpathref="maven-ant-tasks.classpath"/>
<target name="init" depends="ice.fail-if-no-ice-home">
- <taskdef name="slice2java" classpath="${env.ICE_HOME}/lib/ant-ice.jar"
+ <taskdef name="slice2java" classpath="${ice.home}/lib/ant-ice.jar"
classname="Slice2JavaTask"/>
</target>
@@ -41,7 +41,7 @@
</fileset>
<includepath>
<pathelement location="slice"/>
- <pathelement location="${env.ICE_HOME}/slice"/>
+ <pathelement location="${ice.home}/slice"/>
</includepath>
</slice2java>
</target>
@@ -51,7 +51,7 @@
<mkdir dir="${classes-dir}"/>
<javac srcdir="${slice2java-dir}" destdir="${classes-dir}" debug="true">
<classpath>
- <pathelement location="${env.ICE_HOME}/lib/Ice.jar"/>
+ <pathelement location="${ice.home}/lib/Ice.jar"/>
</classpath>
</javac>
</target>
@@ -63,7 +63,7 @@
<javadoc destdir="${javadoc-dir}" use="true"
verbose="false">
<classpath>
- <pathelement location="${env.ICE_HOME}/lib/Ice.jar"/>
+ <pathelement location="${ice.home}/lib/Ice.jar"/>
</classpath>
<fileset dir="${slice2java-dir}">
<exclude name="**/*Holder.java"/>
diff --git a/install-ice-jar.xml b/install-ice-jar.xml
index 0da1dec..5402602 100644
--- a/install-ice-jar.xml
+++ b/install-ice-jar.xml
@@ -4,7 +4,6 @@
<property environment="env"/>
<property name="generated-pom-dir"
value="java/tmp/pom"/>
- <property name="ice.jar" location="${env.ICE_HOME}/lib/Ice.jar"/>
<property name="mvn.version" value="2.1.1"/>
@@ -14,14 +13,28 @@
uri="antlib:org.apache.maven.artifact.ant"
classpathref="maven-ant-tasks.classpath"/>
- <available property="ice-home-set" file="${env.ICE_HOME}"/>
+ <!-- Find ICE_HOME -->
+ <condition property="ice.home" value="${env.ICE_HOME}">
+ <available file="${env.ICE_HOME}"/>
+ </condition>
+ <condition property="ice.home" value="/opt/Ice-3.4">
+ <available file="/opt/Ice-3.4"/>
+ </condition>
+ <condition property="ice.home" value="/opt/Ice-3.4.2">
+ <available file="/opt/Ice-3.4.2"/>
+ </condition>
+ <condition property="ice.home" value="C:\Ice-3.4.2">
+ <available file="C:\Ice-3.4.2"/>
+ </condition>
- <target name="fail-if-no-ice-home" unless="ice-home-set">
+ <property name="ice.jar" location="${ice.home}/lib/Ice.jar"/>
+
+ <target name="fail-if-no-ice-home" unless="ice.home">
<fail message="ICE_HOME not set correctly (${env.ICE_HOME})"/>
</target>
<target name="get-ice-version" depends="fail-if-no-ice-home">
- <exec executable="${env.ICE_HOME}/bin/slice2java"
+ <exec executable="${ice.home}/bin/slice2java"
outputproperty="ice-version">
<arg value="--version"/>
</exec>
@@ -40,7 +53,7 @@
<copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
filtering="true" failonerror="true" overwrite="true"/>
<artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
- <artifact:install file="${env.ICE_HOME}/lib/Ice.jar"
+ <artifact:install file="${ice.home}/lib/Ice.jar"
pomrefid="ice-pom">
<attach file="java/Ice-sources.jar" classifier="sources"/>
</artifact:install>
@@ -51,7 +64,7 @@
<copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
filtering="true" failonerror="true" overwrite="true"/>
<artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
- <artifact:deploy file="${env.ICE_HOME}/lib/Ice.jar"
+ <artifact:deploy file="${ice.home}/lib/Ice.jar"
pomrefid="ice-pom">
<attach file="java/Ice-sources.jar" classifier="sources"/>
</artifact:deploy>
commit 00939724984dd002dacc8c165183ef8f582c5a5a
Author: David M. Lee <dlee at digium.com>
Date: Thu Aug 4 12:49:24 2011 -0500
Properly copy pom.xml updates
diff --git a/build.xml b/build.xml
index cc2fd0d..443d790 100644
--- a/build.xml
+++ b/build.xml
@@ -91,7 +91,7 @@
<target name="install" depends="package,ice.get-ice-version"
description="installs packages into local Maven repo">
<copy file="pom.xml.in" tofile="${generated-pom-dir}/pom.xml"
- filtering="true" failonerror="true"/>
+ filtering="true" failonerror="true" overwrite="true"/>
<artifact:pom id="pom" file="${generated-pom-dir}/pom.xml"/>
<artifact:install file="java/astscf-api.jar" pomrefid="pom">
<attach file="java/astscf-api-sources.jar"
@@ -116,7 +116,7 @@ Either configure in ~/.ant/repositories.properties, or configure using -D
<target name="deploy" depends="package,ice.get-ice-version,fail-if-no-snapshot-repo,fail-if-no-release-repo"
description="deploys packages into local Maven repo">
<copy file="pom.xml.in" tofile="${generated-pom-dir}/pom.xml"
- filtering="true" failonerror="true"/>
+ filtering="true" failonerror="true" overwrite="true"/>
<artifact:pom id="pom" file="${generated-pom-dir}/pom.xml"/>
<artifact:deploy file="java/astscf-api.jar" pomrefid="pom">
<attach file="java/astscf-api-sources.jar"
diff --git a/install-ice-jar.xml b/install-ice-jar.xml
index 902a118..0da1dec 100644
--- a/install-ice-jar.xml
+++ b/install-ice-jar.xml
@@ -38,7 +38,7 @@
<target name="install-ice" depends="get-ice-version,ice-src"
description="Installs ice.jar from ICE_HOME into local Maven repo">
<copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
- filtering="true" failonerror="true"/>
+ filtering="true" failonerror="true" overwrite="true"/>
<artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
<artifact:install file="${env.ICE_HOME}/lib/Ice.jar"
pomrefid="ice-pom">
@@ -49,7 +49,7 @@
<target name="deploy-ice" depends="get-ice-version,ice-src"
description="Deploys ice.jar from ICE_HOME into local Maven repo">
<copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
- filtering="true" failonerror="true"/>
+ filtering="true" failonerror="true" overwrite="true"/>
<artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
<artifact:deploy file="${env.ICE_HOME}/lib/Ice.jar"
pomrefid="ice-pom">
commit 710ddb716666de4e3a563dbe98c18ba989565d1d
Author: Mark Michelson <mmichelson at digium.com>
Date: Tue Aug 2 11:35:22 2011 -0500
Remove RTP items for now since I'm not trying to merge that support at this time.
diff --git a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index c0aa242..535a729 100644
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -274,7 +274,7 @@ module V1
* @throws SessionAllocationFailure if the media service is unable to allocate a session
* to match the provided parameters.
*/
- RTPSession* allocate(RTPServiceLocatorParams params, RTPOptions options, out RTPAllocationOutputs outputs) throws SessionAllocationFailure;
+ RTPSession* allocate(RTPServiceLocatorParams params) throws SessionAllocationFailure;
};
}; /* end module V1 */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 07f2ead..1f16f64 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -567,192 +567,6 @@ module V1
*/
interface TelephonySession extends Session
{
- TelephonyEventsSourceSeq getSources();
- TelephonyEventsSinkSeq getSinks();
- };
-
- unsliceable class TelephonyEvent
- {
- };
-
- unsliceable class BeginDTMFEvent extends TelephonyEvent
- {
- byte digit;
- };
-
- unsliceable class EndDTMFEvent extends TelephonyEvent
- {
- byte digit;
- int duration;
- };
-
- interface TelephonyEventSink;
- sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
- /**
- * A source for telephony events
- */
- interface TelephonyEventSource
- {
- /**
- * Add a new sink to send telephony events to
- */
- idempotent void addSink(TelephonyEventSink* sink);
- /**
- * Get a list of the sinks to which this source sends events
- */
- idempotent TelephonyEventSinkSeq getSinks();
- };
-
- sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
- /**
- * A place to send telephony events
- */
- interface TelephonyEventSink
- {
- /**
- * Send a telephony event to this sink
- */
- void write(TelephonyEvent event);
- /**
- * Set the source for this sink
- */
- idempotent void setSource(TelephonyEventSource* source);
- /**
- * Get the source for this sink
- */
- idempotent TelephonyEventSource* getSource();
- };
-
- /**
- * A telephony session is a session that is with a telephone or telephone
- * network. It has events associated with it that do not occur with other types
- * of sessions.
- */
- interface TelephonySession extends Session
- {
- TelephonyEventSourceSeq getSources();
- TelephonyEventSinkSeq getSinks();
- };
-
- unsliceable class TelephonyEvent
- {
- };
-
- unsliceable class BeginDTMFEvent extends TelephonyEvent
- {
- byte digit;
- };
-
- unsliceable class EndDTMFEvent extends TelephonyEvent
- {
- byte digit;
- int duration;
- };
-
- interface TelephonyEventsSource
- {
- idempotent void addSink(TelephonyEventsSink* sink);
- idempotent TelephonyEventSink* getSinks();
- };
-
- interface TelephonyEventsSink
- {
- void write(TelephonyEvent event);
- idempotent void setSource(TelephonyEventsSource* source);
- idempotent TelephonyEventsSource* getSource();
- };
-
- /**
- * A telephony session is a session that is with a telephone or telephone
- * network. It has events associated with it that do not occur with other types
- * of sessions.
- */
- interface TelephonySession extends Session
- {
- /**
- * Get a sequence of the telephony event sources for this session
- */
- ["amd"] TelephonyEventSourceSeq getSources();
- /**
- * Get a sequence of the telephony event sinks for this session
- */
- ["amd"] TelephonyEventSinkSeq getSinks();
- };
-
- unsliceable class TelephonyEvent
- {
- };
-
- unsliceable class BeginDTMFEvent extends TelephonyEvent
- {
- byte digit;
- };
-
- unsliceable class EndDTMFEvent extends TelephonyEvent
- {
- byte digit;
- int duration;
- };
-
- interface TelephonyEventSink;
- sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
- /**
- * A source for telephony events
- */
- interface TelephonyEventSource
- {
- /**
- * Add a new sink to send telephony events to
- */
- idempotent void addSink(TelephonyEventSink* sink);
- /**
- * Get a list of the sinks to which this source sends events
- */
- idempotent TelephonyEventSinkSeq getSinks();
- };
-
- sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
- /**
- * A place to send telephony events
- */
- interface TelephonyEventSink
- {
- /**
- * Send a telephony event to this sink
- */
- void write(TelephonyEvent event);
- /**
- * Set the source for this sink
- */
- idempotent void setSource(TelephonyEventSource* source);
- /**
- * Get the source for this sink
- */
- idempotent TelephonyEventSource* getSource();
- };
-
- /**
- * A telephony session is a session that is with a telephone or telephone
- * network. It has events associated with it that do not occur with other types
- * of sessions.
- */
- interface TelephonySession extends Session
- {
- TelephonyEventSourceSeq getSources();
- TelephonyEventSinkSeq getSinks();
- };
-
- /**
- * A telephony session is a session that is with a telephone or telephone
- * network. It has events associated with it that do not occur with other types
- * of sessions.
- */
- interface TelephonySession extends Session
- {
/**
* Get a sequence of the telephony event sources for this session
*/
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list