[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "udptl" created.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Fri Sep 9 17:52:19 CDT 2011
branch "udptl" has been created
at 7d6522817a8647aff546751ffbe03fae5d98b1ac (commit)
- Log -----------------------------------------------------------------
commit 7d6522817a8647aff546751ffbe03fae5d98b1ac
Author: Joshua Colp <jcolp at digium.com>
Date: Fri Sep 9 19:57:56 2011 -0300
Add slice file for UDPTL media transport.
diff --git a/slice/AsteriskSCF/Media/UDPTL/MediaUDPTLIf.ice b/slice/AsteriskSCF/Media/UDPTL/MediaUDPTLIf.ice
new file mode 100644
index 0000000..60be41f
--- /dev/null
+++ b/slice/AsteriskSCF/Media/UDPTL/MediaUDPTLIf.ice
@@ -0,0 +1,218 @@
+/*
+ * 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.
+ */
+
+#include <AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice>
+#include <AsteriskSCF/Media/MediaIf.ice>
+
+module AsteriskSCF
+{
+
+module Media
+{
+
+module UDPTL
+{
+
+["suppress"]
+module V1
+{
+ /**
+ * String name of the service locator category for the UDPTL component service interface.
+ */
+ const string ComponentServiceDiscoveryCategory = "MediaUDPTLService";
+
+ /**
+ * String representation of the version of this interface
+ */
+ const string Version = "V1";
+
+ /**
+ * Extended discovery class for UDPTL media services.
+ */
+ unsliceable class UDPTLServiceLocatorParams extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
+ {
+ /**
+ * Whether IPv6 is to be used or not.
+ */
+ bool ipv6 = false;
+ };
+
+ /**
+ * Different error correction schemes that may be used.
+ */
+ enum ErrorCorrectionScheme
+ {
+ /**
+ * No error correction is to be used.
+ */
+ NONE,
+
+ /**
+ * Forward error correction is to be used.
+ */
+ FEC,
+
+ /**
+ * Redundancy is to be used.
+ */
+ REDUNDANCY,
+ };
+
+ /**
+ * Interface to a UDPTL stream source.
+ */
+ interface StreamSourceUDPTL extends AsteriskSCF::Media::V1::StreamSource
+ {
+ /**
+ * Method which retrieves the local listening IP address of this source.
+ *
+ * @return string A string representation of the IP address.
+ */
+ idempotent string getLocalAddress();
+
+ /**
+ * Method which retrieves the local listening port of this source.
+ *
+ * @return int An integer containing the port.
+ */
+ idempotent int getLocalPort();
+
+ /**
+ * Method which returns the maximum size we will accept for IFPs.
+ *
+ * @return int An integer containing the size.
+ */
+ idempotent int getLocalMaxIfp();
+ };
+
+ /**
+ * Exception thrown when an invalid address is passed in.
+ */
+ exception InvalidAddress
+ {
+ };
+
+ /**
+ * Interface to a UDPTL stream sink.
+ */
+ interface StreamSinkUDPTL extends AsteriskSCF::Media::V1::StreamSink
+ {
+ /**
+ * Method which changes the IP address and port that media will be sent to.
+ *
+ * @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) throws InvalidAddress;
+
+ /**
+ * Method which retrieves the remote IP address.
+ *
+ * @return string A string representation of the IP address.
+ */
+ idempotent string getRemoteAddress();
+
+ /**
+ * Method which retrieves the remote port.
+ *
+ * @return int An integer containing the port.
+ */
+ idempotent int getRemotePort();
+
+ /**
+ * Method which sets the maximum datagram size of this source.
+ *
+ * @param datagramSize Maximum datagram size.
+ */
+ void setFarMaxDatagram(int datagramSize);
+
+ /**
+ * Method which returns the maximum datagram size of this source.
+ *
+ * @return int An integer containing the maximum datagram.
+ */
+ idempotent int getFarMaxDatagram();
+
+ /**
+ * Method which returns the maximum IFP size of this source.
+ *
+ * @return int An integer containing the maximum IFP size.
+ */
+ idempotent int getFarMaxIfp();
+
+ /**
+ * Method which sets the error correction scheme to use.
+ *
+ * @param ErrorCorrectionScheme The error correction scheme to use.
+ */
+ void setErrorCorrectionScheme(ErrorCorrectionScheme scheme);
+
+ /**
+ * Method which gets the error correction scheme.
+ *
+ * @return ErrorCorrectionScheme Enum of the error correction scheme.
+ */
+ idempotent ErrorCorrectionScheme getErrorCorrectionScheme();
+ };
+
+ /**
+ * Interface to a UDPTL media session.
+ */
+ interface UDPTLSession extends AsteriskSCF::Media::V1::Session
+ {
+ /**
+ * Method which releases the UDPTL session. Once called the UDPTL session will no longer exist.
+ */
+ void release();
+ };
+
+ /**
+ * This exception will be thrown by the media service if the session cannot be allocated for some
+ * reason. It shall include a descriptive message as to why the request failed.
+ */
+ exception SessionAllocationFailure
+ {
+ string message;
+ };
+
+ /**
+ * Interface to a UDPTL media service.
+ */
+ interface UDPTLMediaService
+ {
+ /**
+ * Method which creates a new UDPTL session and returns a proxy to it.
+ *
+ * @param params Parameters to configure the UDPTL session with.
+ *
+ * @return UDPTLSession* A proxy to the new UDPTL session.
+ *
+ * @throws SessionAllocationFailure if the media service is unable to allocate a session
+ * to match the provided parameters.
+ */
+ UDPTLSession* allocate(UDPTLServiceLocatorParams params) throws SessionAllocationFailure;
+ };
+
+}; /* end module V1 */
+
+}; /* end module UDPTL */
+
+}; /* end module Media */
+
+}; /* end module AsteriskSCF */
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list