+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Common.cs --
- *
- */\r
-using System;\r
-using System.Reflection;\r
-\r
-namespace FreeSwitch\r
-{\r
- public class Common\r
- {\r
- public static void DumpHex(string label, IntPtr pointer, int length)\r
- {\r
- Console.WriteLine("DUMP-{0}:", label);\r
-\r
- DumpHex(pointer, length);\r
- }\r
-\r
- public static void DumpProperties(string label, object dumpObject)\r
- {\r
- Type type = dumpObject.GetType();\r
- PropertyInfo[] properties = type.GetProperties();\r
-\r
- foreach (PropertyInfo p in properties)\r
- {\r
- Console.WriteLine("%%% - {0}: {1}:{2}", label, p.Name, p.GetValue(dumpObject, null));\r
- }\r
- }\r
-\r
- public static void DumpHex(IntPtr pointer, int length)\r
- {\r
- if (pointer == IntPtr.Zero)\r
- throw new NullReferenceException();\r
-\r
- for (int i = 0; i < length; i++)\r
- {\r
- IntPtr offset = new IntPtr(pointer.ToInt32() + i);\r
-\r
- if (i % 20 == 0)\r
- Console.Write("\n0x{0:x}: ", offset.ToInt32());\r
-\r
- Console.Write("{0:x2} ", System.Runtime.InteropServices.Marshal.ReadByte(offset));\r
- }\r
-\r
- Console.WriteLine("\n");\r
- }\r
- }\r
-}\r
+++ /dev/null
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
- <PropertyGroup>\r
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
- <ProductVersion>8.0.50727</ProductVersion>\r
- <SchemaVersion>2.0</SchemaVersion>\r
- <ProjectGuid>{251CAABC-16C3-4593-A491-603B908094E0}</ProjectGuid>\r
- <OutputType>Library</OutputType>\r
- <AppDesignerFolder>Properties</AppDesignerFolder>\r
- <RootNamespace>FreeSwitch</RootNamespace>\r
- <AssemblyName>FreeSwitch.NET</AssemblyName>\r
- <StartupObject>\r
- </StartupObject>\r
- <SignAssembly>true</SignAssembly>\r
- <AssemblyOriginatorKeyFile>public.snk</AssemblyOriginatorKeyFile>\r
- </PropertyGroup>\r
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
- <DebugSymbols>true</DebugSymbols>\r
- <DebugType>full</DebugType>\r
- <Optimize>false</Optimize>\r
- <OutputPath>..\..\debug\</OutputPath>\r
- <DefineConstants>DEBUG;TRACE</DefineConstants>\r
- <ErrorReport>prompt</ErrorReport>\r
- <WarningLevel>4</WarningLevel>\r
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
- <NoWarn>0649,0169</NoWarn>\r
- <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\r
- </PropertyGroup>\r
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
- <DebugType>pdbonly</DebugType>\r
- <Optimize>true</Optimize>\r
- <OutputPath>..\..\release\</OutputPath>\r
- <DefineConstants>TRACE</DefineConstants>\r
- <ErrorReport>prompt</ErrorReport>\r
- <WarningLevel>4</WarningLevel>\r
- <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\r
- <NoWarn>0649,0169</NoWarn>\r
- </PropertyGroup>\r
- <ItemGroup>\r
- <Reference Include="System" />\r
- <Reference Include="System.Data" />\r
- <Reference Include="System.Deployment" />\r
- <Reference Include="System.Drawing" />\r
- <Reference Include="System.Windows.Forms" />\r
- <Reference Include="System.Xml" />\r
- </ItemGroup>\r
- <ItemGroup>\r
- <Compile Include="Common.cs" />\r
- <Compile Include="Log.cs" />\r
- <Compile Include="Ivr.cs" />\r
- <Compile Include="Marshaling\BufferMarshaler.cs" />\r
- <Compile Include="Marshaling\CallerExtensionMarshaler.cs" />\r
- <Compile Include="Marshaling\CallerProfileMarshaler.cs" />\r
- <Compile Include="Marshaling\ChannelMarshaler.cs" />\r
- <Compile Include="Marshaling\ChannelTimetableMarshaler.cs" />\r
- <Compile Include="Marshaling\CodecMarshaler.cs" />\r
- <Compile Include="Marshaling\StateHandlerTableMarshaler.cs" />\r
- <Compile Include="Marshaling\TimerMarshaler.cs" />\r
- <Compile Include="Marshaling\SpeechHandleMarshaler.cs" />\r
- <Compile Include="Marshaling\StreamHandleMarshaler.cs" />\r
- <Compile Include="Marshaling\CoreSessionMarshaler.cs" />\r
- <Compile Include="Marshaling\EventMarshaler.cs" />\r
- <Compile Include="Marshaling\MemoryPoolMarshaler.cs" />\r
- <Compile Include="Marshaling\Types\BufferMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CallerExtensionMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CallerProfileMarshal.cs" />\r
- <Compile Include="Marshaling\FileHandleMarshaler.cs" />\r
- <Compile Include="Marshaling\Types\ChannelFlagMarshal.cs" />\r
- <Compile Include="Marshaling\Types\ChannelMarshal.cs" />\r
- <Compile Include="Marshaling\Types\ChannelStateMarshal.cs" />\r
- <Compile Include="Marshaling\Types\ChannelTimetableMarshal.cs" />\r
- <Compile Include="Marshaling\Types\ApplicationInterfaceMarshal.cs" />\r
- <Compile Include="Marshaling\Types\ApiInterfaceMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CodecImplementationMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CodecInterfaceMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CodecMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CodecTypeMarshal.cs" />\r
- <Compile Include="Marshaling\Types\StateHandlerTableMarshal.cs" />\r
- <Compile Include="Marshaling\Types\TimerMarshal.cs" />\r
- <Compile Include="Marshaling\Types\SpeechHandleMarshal.cs" />\r
- <Compile Include="Marshaling\Types\StreamHandleMarshal.cs" />\r
- <Compile Include="Marshaling\Types\TypesMarshal.cs" />\r
- <Compile Include="Marshaling\Types\FileHandleMarshal.cs" />\r
- <Compile Include="Marshaling\Types\LoadableModuleInterfaceMarshal.cs" />\r
- <Compile Include="Marshaling\Types\LoadableModuleMarshal.cs" />\r
- <Compile Include="Marshaling\Types\CoreSessionMarshal.cs" />\r
- <Compile Include="Marshaling\Types\EventMarshal.cs" />\r
- <Compile Include="Marshaling\Types\FrameMarshal.cs" />\r
- <Compile Include="Marshaling\Types\IOEventHooksMarshal.cs" />\r
- <Compile Include="Module.cs" />\r
- <Compile Include="Properties\AssemblyInfo.cs" />\r
- <Compile Include="Switch\CallerProfile.cs" />\r
- <Compile Include="Switch\Channel.cs" />\r
- <Compile Include="Switch\Console.cs" />\r
- <Compile Include="Switch\Log.cs" />\r
- <Compile Include="Switch\Event.cs" />\r
- <Compile Include="Switch\StreamHandle.cs" />\r
- <Compile Include="Switch\CoreSession.cs" />\r
- <Compile Include="Switch\Ivr.cs" />\r
- <Compile Include="Switch\LoadableModule.cs" />\r
- <Compile Include="Modules\Api.cs" />\r
- <Compile Include="Types\ApiFunction.cs" />\r
- <Compile Include="Types\ApplicationInterface.cs" />\r
- <Compile Include="Types\Buffer.cs" />\r
- <Compile Include="Types\CallerExtension.cs" />\r
- <Compile Include="Types\CallerProfile.cs" />\r
- <Compile Include="Types\Channel.cs" />\r
- <Compile Include="Types\ChannelFlag.cs" />\r
- <Compile Include="Types\ChannelState.cs" />\r
- <Compile Include="Types\ChannelTimetable.cs" />\r
- <Compile Include="Modules\Application.cs" />\r
- <Compile Include="Types\ApplicationFunction.cs" />\r
- <Compile Include="Types\CallCause.cs" />\r
- <Compile Include="Types\Codec.cs" />\r
- <Compile Include="Types\LogLevel.cs" />\r
- <Compile Include="Types\StateHandlerTable.cs" />\r
- <Compile Include="Types\Timer.cs" />\r
- <Compile Include="Types\SpeechHandle.cs" />\r
- <Compile Include="Types\EventCallback.cs" />\r
- <Compile Include="Types\EventType.cs" />\r
- <Compile Include="Types\InputCallbackFunction.cs" />\r
- <Compile Include="Types\InputType.cs" />\r
- <Compile Include="Types\ModuleInterfaces.cs" />\r
- <Compile Include="Types\StreamHandle.cs" />\r
- <Compile Include="Types\Module.cs" />\r
- <Compile Include="Types\DtmfCallbackFunction.cs" />\r
- <Compile Include="Types\FileHandle.cs" />\r
- <Compile Include="Types\MemoryPool.cs" />\r
- <Compile Include="Types\LoadableModule.cs" />\r
- <Compile Include="Types\LoadableModuleInterface.cs" />\r
- <Compile Include="Types\TextChannel.cs" />\r
- <Compile Include="Types\CoreSession.cs" />\r
- <Compile Include="Types\Event.cs" />\r
- <Compile Include="Types\Status.cs" />\r
- </ItemGroup>\r
- <ItemGroup>\r
- <None Include="Makefile" />\r
- <None Include="public.snk" />\r
- </ItemGroup>\r
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />\r
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
- Other similar extension points exist, see Microsoft.Common.targets.\r
- <Target Name="BeforeBuild">\r
- </Target>\r
- <Target Name="AfterBuild">\r
- </Target>\r
- -->\r
-</Project>
\ No newline at end of file
+++ /dev/null
-using System;\r
-using System.Runtime.InteropServices;\r
-using System.Text;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- public class Ivr\r
- {\r
- public static Status MultiThreadedBridge(CoreSession session, CoreSession peerSession, InputCallbackFunction dtmfCallback)\r
- {\r
- return Switch.switch_ivr_multi_threaded_bridge(session, peerSession, dtmfCallback, IntPtr.Zero, IntPtr.Zero);\r
- }\r
-\r
- public static Status Originate(CoreSession session, CoreSession peerSession, CallCause callCause, string data, uint timelimit)\r
- {\r
- IntPtr callCausePtr = Marshal.AllocHGlobal(4);\r
- IntPtr dataPtr = Marshal.StringToHGlobalAnsi(data);\r
-\r
- Marshal.StructureToPtr(callCause, callCausePtr, true);\r
-\r
- return Switch.switch_ivr_originate(session, ref peerSession, callCausePtr, dataPtr, timelimit, null, null, null, null);\r
- }\r
-\r
- public static Status RecordFile(CoreSession coreSession, FileHandle fileHandle, string file, DtmfCallbackFunction dtmfCallbackFunction)\r
- {\r
- Byte[] filename = Encoding.Default.GetBytes(file);\r
-\r
- Console.WriteLine("File: {0}", file);\r
-\r
- dtmfCallbackFunction(coreSession, "1");\r
- dtmfCallbackFunction(coreSession, "2");\r
- dtmfCallbackFunction(coreSession, "3");\r
-\r
- Encoding ansiEncoding = Encoding.GetEncoding(1252);\r
- //filename = Encoding.Convert(Encoding.Default, ansiEncoding, filename);\r
-\r
- Console.WriteLine("Filename: {0}", file);\r
- //Console.WriteLine("Status record: {0}", status.ToString());\r
- return Status.Success;\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-using System;\r
-using System.Runtime.InteropServices;\r
-using System.Text;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- public class Log\r
- {\r
- public static void Printf(LogLevel level, string message)\r
- {\r
- Switch.switch_log_printf(null, "File", "Func.NET", 123, level, message);\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-all: $(MODNAME).so
-
-$(MODNAME).so:
- /usr/local/freeswitch/bin/gmcs -debug -unsafe -t:library -keyfile:public.snk \
- -out:FreeSwitch.NET.dll -reference:Mono.Posix.dll \
- Properties/AssemblyInfo.cs \
- Marshaling/Types/ApiInterfaceMarshal.cs \
- Marshaling/Types/ApplicationInterfaceMarshal.cs \
- Marshaling/Types/BufferMarshal.cs \
- Marshaling/Types/CallerExtensionMarshal.cs \
- Marshaling/Types/CallerProfileMarshal.cs \
- Marshaling/Types/ChannelFlagMarshal.cs \
- Marshaling/Types/ChannelMarshal.cs \
- Marshaling/Types/ChannelStateMarshal.cs \
- Marshaling/Types/ChannelTimetableMarshal.cs \
- Marshaling/Types/CodecImplementationMarshal.cs \
- Marshaling/Types/CodecInterfaceMarshal.cs \
- Marshaling/Types/CodecMarshal.cs \
- Marshaling/Types/CodecTypeMarshal.cs \
- Marshaling/Types/CoreSessionMarshal.cs \
- Marshaling/Types/EventMarshal.cs \
- Marshaling/Types/FileHandleMarshal.cs \
- Marshaling/Types/FrameMarshal.cs \
- Marshaling/Types/IOEventHooksMarshal.cs \
- Marshaling/Types/LoadableModuleInterfaceMarshal.cs \
- Marshaling/Types/LoadableModuleMarshal.cs \
- Marshaling/Types/SpeechHandleMarshal.cs \
- Marshaling/Types/StateHandlerTableMarshal.cs \
- Marshaling/Types/StreamHandleMarshal.cs \
- Marshaling/Types/TypesMarshal.cs \
- Marshaling/Types/TimerMarshal.cs \
- Marshaling/BufferMarshaler.cs \
- Marshaling/CallerExtensionMarshaler.cs \
- Marshaling/CallerProfileMarshaler.cs \
- Marshaling/ChannelMarshaler.cs \
- Marshaling/ChannelTimetableMarshaler.cs \
- Marshaling/CodecMarshaler.cs \
- Marshaling/CoreSessionMarshaler.cs \
- Marshaling/EventMarshaler.cs \
- Marshaling/FileHandleMarshaler.cs \
- Marshaling/MemoryPoolMarshaler.cs \
- Marshaling/SpeechHandleMarshaler.cs \
- Marshaling/StateHandlerTableMarshaler.cs \
- Marshaling/StreamHandleMarshaler.cs \
- Marshaling/TimerMarshaler.cs \
- Modules/Api.cs \
- Modules/Application.cs \
- Switch/CallerProfile.cs \
- Switch/Channel.cs \
- Switch/Console.cs \
- Switch/CoreSession.cs \
- Switch/Event.cs \
- Switch/Ivr.cs \
- Switch/LoadableModule.cs \
- Switch/Log.cs \
- Switch/StreamHandle.cs \
- Types/ApiFunction.cs \
- Types/ApplicationFunction.cs \
- Types/ApplicationInterface.cs \
- Types/Buffer.cs \
- Types/CallCause.cs \
- Types/CallerExtension.cs \
- Types/CallerProfile.cs \
- Types/Channel.cs \
- Types/ChannelFlag.cs \
- Types/ChannelState.cs \
- Types/ChannelTimetable.cs \
- Types/Codec.cs \
- Types/CoreSession.cs \
- Types/DtmfCallbackFunction.cs \
- Types/InputCallbackFunction.cs \
- Types/InputType.cs \
- Types/Event.cs \
- Types/EventCallback.cs \
- Types/EventType.cs \
- Types/FileHandle.cs \
- Types/LoadableModule.cs \
- Types/LoadableModuleInterface.cs \
- Types/LogLevel.cs \
- Types/MemoryPool.cs \
- Types/Module.cs \
- Types/Status.cs \
- Types/SpeechHandle.cs \
- Types/StateHandlerTable.cs \
- Types/StreamHandle.cs \
- Types/TextChannel.cs \
- Types/Timer.cs \
- Common.cs \
- Module.cs \
- Ivr.cs \
- Log.cs \
-
-clean:
- rm -fr *.dll
-
-install:
- cp -f FreeSwitch.NET.dll /usr/local/freeswitch/lib/
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * BufferMarshaler.cs --
- *
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class BufferMarshaler : ICustomMarshaler\r
- {\r
- private static BufferMarshaler Instance = new BufferMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- FreeSwitch.Types.Buffer buffer = (FreeSwitch.Types.Buffer)obj;\r
-\r
- return buffer.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr bufferPtr)\r
- {\r
- FreeSwitch.Types.Buffer buffer = new FreeSwitch.Types.Buffer();\r
- BufferMarshal bufferMarshal = new BufferMarshal();\r
-\r
- Marshal.PtrToStructure(bufferPtr, bufferMarshal);\r
-\r
- buffer.marshaledObject = new HandleRef(bufferMarshal, bufferPtr);\r
-\r
- return buffer;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallerExtensionMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class CallerExtensionMarshaler : ICustomMarshaler\r
- {\r
- private static CallerExtensionMarshaler Instance = new CallerExtensionMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- CallerExtension callerExtension = (CallerExtension)obj;\r
-\r
- return callerExtension.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr callerExtensionPtr)\r
- {\r
- CallerExtensionMarshal callerExtensionMarshal = new CallerExtensionMarshal();\r
- CallerExtension callerExtension = new CallerExtension();\r
-\r
- Marshal.PtrToStructure(callerExtensionPtr, callerExtensionMarshal);\r
-\r
- callerExtension.marshaledObject = new HandleRef(callerExtensionMarshal, callerExtensionPtr);\r
-\r
- return callerExtension;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallerProfileMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class CallerProfileMarshaler : ICustomMarshaler\r
- {\r
-\r
- private static CallerProfileMarshaler Instance = new CallerProfileMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- CallerProfile callerProfile = (CallerProfile) obj;\r
-\r
- return callerProfile.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr callerProfilePtr)\r
- {\r
- CallerProfileMarshal callerProfileMarshal = new CallerProfileMarshal();\r
- CallerProfile callerProfile = new CallerProfile();\r
-\r
- Marshal.PtrToStructure(callerProfilePtr, callerProfileMarshal);\r
-\r
- callerProfile.marshaledObject = new HandleRef(callerProfileMarshal, callerProfilePtr);\r
-\r
- return callerProfile;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * ChannelMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class ChannelMarshaler : ICustomMarshaler\r
- {\r
- private static ChannelMarshaler Instance = new ChannelMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- Channel channel = (Channel) obj;\r
-\r
- return channel.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr ptr)\r
- {\r
- ChannelMarshal channelMarshal = new ChannelMarshal();\r
- Channel channel = new Channel();\r
-\r
- Marshal.PtrToStructure(ptr, channelMarshal);\r
-\r
- channel.marshaledObject = new HandleRef(channelMarshal, ptr);\r
-\r
- return channel;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * ChannelTimetableMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class ChannelTimetableMarshaler : ICustomMarshaler\r
- {\r
- private static ChannelTimetableMarshaler Instance = new ChannelTimetableMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- ChannelTimetable channelTimetable = (ChannelTimetable)obj;\r
-\r
- return channelTimetable.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr channelTimetablePtr)\r
- {\r
- ChannelTimetableMarshal channelTimetableMarshal = new ChannelTimetableMarshal();\r
- ChannelTimetable channelTimetable = new ChannelTimetable();\r
-\r
- Marshal.PtrToStructure(channelTimetablePtr, channelTimetableMarshal);\r
-\r
- channelTimetable.marshaledObject = new HandleRef(channelTimetableMarshal, channelTimetablePtr);\r
-\r
- return channelTimetable;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CodecMarshaler.cs --
- *
- */\r
-using System;\r
-using System.Collections;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class CodecMarshaler : ICustomMarshaler\r
- {\r
- private static CodecMarshaler Instance = new CodecMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- Codec streamHandleObj = (Codec)obj;\r
-\r
- return streamHandleObj.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr codecPtr)\r
- {\r
- CodecMarshal codecMarshal = new CodecMarshal();\r
- Codec codecObj = new Codec();\r
-\r
-\r
- Marshal.PtrToStructure(codecPtr, codecMarshal);\r
-\r
- codecObj.marshaledObject = new HandleRef(codecMarshal, codecPtr);\r
-\r
- return codecObj;\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CoreSessionMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class CoreSessionMarshaler : ICustomMarshaler\r
- {\r
- private static CoreSessionMarshaler Instance = new CoreSessionMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- CoreSession coreSession = (CoreSession)obj;\r
-\r
- Console.WriteLine("CoreSession: Marshalling Managed to Native");\r
-\r
- if (coreSession.marshaledObject.Handle != IntPtr.Zero)\r
- {\r
-\r
- Console.WriteLine("Returning: 0x{0:x}", coreSession.marshaledObject.Handle.ToInt32());\r
- return coreSession.marshaledObject.Handle;\r
- }\r
- else\r
- {\r
- CoreSessionMarshal coreSessionMarshal = new CoreSessionMarshal();\r
- IntPtr coreSessionPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(CoreSessionMarshal)));\r
-\r
- Marshal.StructureToPtr(coreSessionMarshal, coreSessionPtr, true);\r
-\r
- coreSession.marshaledObject = new HandleRef(coreSessionMarshal, coreSessionPtr);\r
-\r
- Console.WriteLine("CoreSession: NO OBJECT EXISTS OMG");\r
- Console.WriteLine("Returning: 0x{0:x}", coreSession.marshaledObject.Handle.ToInt32());\r
- return coreSession.marshaledObject.Handle;\r
- }\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr coreSessionPtr)\r
- {\r
- CoreSessionMarshal coreSessionMarshal = new CoreSessionMarshal();\r
- CoreSession coreSession = new CoreSession();\r
-\r
- Console.WriteLine("CoreSession: Marshalling Native to Managed");\r
-\r
- Marshal.PtrToStructure(coreSessionPtr, coreSessionMarshal);\r
-\r
- coreSession.marshaledObject = new HandleRef(coreSessionMarshal, coreSessionPtr);\r
-\r
- return coreSession;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * EventMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class EventMarshaler : ICustomMarshaler\r
- {\r
- private static EventMarshaler Instance = new EventMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- Event eventObj = (Event)obj;\r
-\r
- return eventObj.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr eventPtr)\r
- {\r
- EventMarshal eventMarshal = new EventMarshal();\r
- Event eventObj = new Event();\r
-\r
- Marshal.PtrToStructure(eventPtr, eventMarshal);\r
-\r
- eventObj.marshaledObject = new HandleRef(eventMarshal, eventPtr);\r
-\r
- return eventObj;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * FileHandleMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class FileHandleMarshaler : ICustomMarshaler\r
- {\r
- private static FileHandleMarshaler Instance = new FileHandleMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- FileHandle fileHandle = (FileHandle)obj;\r
-\r
- return fileHandle.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr file_handle)\r
- {\r
- FileHandleMarshal fileHandleMarshal = new FileHandleMarshal();\r
- FileHandle fileHandle = new FileHandle();\r
-\r
- fileHandle.marshaledObject = new HandleRef(fileHandleMarshal, file_handle);\r
-\r
- return fileHandle;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * MemoryPoolMarshaler.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class MemoryPoolMarshaler : ICustomMarshaler\r
- {\r
- private static MemoryPoolMarshaler Instance = new MemoryPoolMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- MemoryPool memoryPool = (MemoryPool) obj;\r
- \r
- return memoryPool.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr pool)\r
- {\r
- MemoryPool memoryPool = new MemoryPool();\r
-\r
- memoryPool.marshaledObject = new HandleRef(new IntPtr(), pool);\r
-\r
- return memoryPool;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * SpeechHandleMarshaler.cs --
- *
- */\r
-using System;\r
-using System.Collections;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class SpeechHandleMarshaler : ICustomMarshaler\r
- {\r
- private static SpeechHandleMarshaler Instance = new SpeechHandleMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- SpeechHandle speechHandleObj = (SpeechHandle)obj;\r
-\r
- return speechHandleObj.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr speechHandlePtr)\r
- {\r
- SpeechHandleMarshal speechHandleMarshal = new SpeechHandleMarshal();\r
- SpeechHandle speechHandleObj = new SpeechHandle();\r
-\r
- Marshal.PtrToStructure(speechHandlePtr, speechHandleMarshal);\r
-\r
- speechHandleObj.marshaledObject = new HandleRef(speechHandleMarshal, speechHandlePtr);\r
-\r
- return speechHandleObj;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * StateHandlerTableMarshaler.cs --
- *
- */\r
-using System;\r
-using System.Collections;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class StateHandlerTableMarshaler : ICustomMarshaler\r
- {\r
- private static StateHandlerTableMarshaler Instance = new StateHandlerTableMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- StateHandlerTable stateHandlerTableObj = (StateHandlerTable)obj;\r
-\r
- return stateHandlerTableObj.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr stateHandlerTablePtr)\r
- {\r
- StateHandlerTableMarshal stateHandlerTableMarshal = new StateHandlerTableMarshal();\r
- StateHandlerTable stateHandlerTableObj = new StateHandlerTable();\r
-\r
- Marshal.PtrToStructure(stateHandlerTablePtr, stateHandlerTableMarshal);\r
-\r
- stateHandlerTableObj.marshaledObject = new HandleRef(stateHandlerTableMarshal, stateHandlerTablePtr);\r
-\r
- return stateHandlerTableObj;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * StreamHandleMarshaler.cs --
- *
- */\r
-using System;\r
-using System.Collections;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class StreamHandleMarshaler : ICustomMarshaler\r
- {\r
- private static StreamHandleMarshaler Instance = new StreamHandleMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- StreamHandle streamHandleObj = (StreamHandle)obj;\r
-\r
- return streamHandleObj.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr streamHandlePtr)\r
- {\r
- StreamHandleMarshal streamHandleMarshal = new StreamHandleMarshal();\r
- StreamHandle streamHandleObj = new StreamHandle();\r
-\r
- Marshal.PtrToStructure(streamHandlePtr, streamHandleMarshal);\r
-\r
- streamHandleObj.marshaledObject = new HandleRef(streamHandleMarshal, streamHandlePtr);\r
-\r
- return streamHandleObj;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * TimerMarshaler.cs --
- *
- */\r
-using System;\r
-using System.Collections;\r
-using FreeSwitch.Marshaling.Types;\r
-using FreeSwitch.Types;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling\r
-{\r
- class TimerMarshaler : ICustomMarshaler\r
- {\r
- private static TimerMarshaler Instance = new TimerMarshaler();\r
-\r
- public static ICustomMarshaler GetInstance(string s)\r
- {\r
- return Instance;\r
- }\r
-\r
- public void CleanUpManagedData(object o)\r
- {\r
- }\r
-\r
- public void CleanUpNativeData(IntPtr pNativeData)\r
- {\r
- }\r
-\r
- public int GetNativeDataSize()\r
- {\r
- return IntPtr.Size;\r
- }\r
-\r
- public IntPtr MarshalManagedToNative(object obj)\r
- {\r
- Timer timerObj = (Timer)obj;\r
-\r
- return timerObj.marshaledObject.Handle;\r
- }\r
-\r
- public object MarshalNativeToManaged(IntPtr timerPtr)\r
- {\r
- TimerMarshal timerMarshal = new TimerMarshal();\r
- Timer timerObj = new Timer();\r
-\r
- Marshal.PtrToStructure(timerPtr, timerMarshal);\r
-\r
- timerObj.marshaledObject = new HandleRef(timerMarshal, timerPtr);\r
-\r
- return timerObj;\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ApiInterfaceMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class ApiInterfaceMarshal
- {
- //[MarshalAs(UnmanagedType.LPStr)]
- internal IntPtr interface_name;
- //[MarshalAs(UnmanagedType.LPStr)]
- internal IntPtr desc;
- internal ApiFunction function;\r
- internal IntPtr syntax;
- internal IntPtr next;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ApplicationInterfaceMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class ApplicationInterfaceMarshal
- {
- // [MarshalAs(UnmanagedType.LPStr)]
- internal IntPtr interface_name;
- internal ApplicationFunction application_function;
- // [MarshalAs(UnmanagedType.LPStr)]
- internal IntPtr long_desc;
- //[MarshalAs(UnmanagedType.LPStr)]
- internal IntPtr short_desc;
- //[MarshalAs(UnmanagedType.LPStr)]
- internal IntPtr syntax;
- internal IntPtr next;
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * BufferMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class BufferMarshal
- {
- [MarshalAs(UnmanagedType.LPStr)]
- internal string data;
- internal int used;
- internal int datalen;
- internal UInt32 id;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CallerExtensionMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class CallerExtensionMarshal
- {
- internal IntPtr extension_name;
- internal IntPtr extension_number;
- internal IntPtr current_application;
- internal IntPtr last_application;
- internal IntPtr applications;
- }
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallerProfileMarshal.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Marshaling.Types\r
-{\r
- [StructLayout(LayoutKind.Sequential)]\r
- internal class CallerProfileMarshal\r
- {\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string username;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string dialplan;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string caller_id_name;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string caller_id_number;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string network_addr;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string ani;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string ani2;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string rdnis;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string destination_number;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string source;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string chan_name;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string uuid;\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- internal string context;\r
- internal IntPtr next;\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelFlagMarshal.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Marshaling.Types
-{
- internal enum ChannelFlagMarshal
- {
- CF_SEND_AUDIO,
- CF_RECV_AUDIO,
- CF_ANSWERED,
- CF_OUTBOUND,
- CF_EARLY_MEDIA,
- CF_ORIGINATOR,
- CF_TRANSFER
- }
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * ChannelMarshal.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-\r
-namespace FreeSwitch.Marshaling.Types\r
-{\r
- [StructLayout(LayoutKind.Sequential)]\r
- internal class ChannelMarshal\r
- {\r
- internal IntPtr name;\r
- internal IntPtr dtmf_buffer;\r
- internal IntPtr dtmf_mutex;\r
- internal IntPtr flag_mutex;\r
- internal IntPtr profile_mutex;\r
- internal IntPtr session;\r
- internal ChannelState state;\r
- internal UInt32 flags;\r
- internal IntPtr caller_profile;\r
- internal IntPtr originator_caller_profile;\r
- internal IntPtr originatee_caller_profile;\r
- internal IntPtr caller_extension;\r
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=120)]\r
- internal byte[] state_handlers;\r
- internal int state_handler_index;\r
- internal IntPtr variables;\r
- internal IntPtr times;\r
- internal IntPtr private_info;\r
- internal IntPtr hangup_cause;\r
- internal int freq;\r
- internal int bits;\r
- internal int channels;\r
- internal int ms;\r
- internal int kbps;\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelStateMarshal.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Marshaling.Types
-{
- internal enum ChannelStateMarshal
- {
- CS_NEW,
- CS_INIT,
- CS_RING,
- CS_TRANSMIT,
- CS_EXECUTE,
- CS_LOOPBACK,
- CS_HANGUP,
- CS_DONE
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelTimetableMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class ChannelTimetableMarshal
- {
- internal Int64 created;
- internal Int64 answered;
- internal Int64 hungup;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CodecImplementationMarshal.cs --
- *
- */
-using System;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- internal class CodecImplementationMarshal
- {
- internal UInt32 samples_per_seconds;
- internal int bits_per_second;
- internal int microseconds_per_frame;
- internal UInt32 samples_per_frame;
- internal UInt32 bytes_per_frame;
- internal UInt32 encoded_bytes_per_frame;
- internal Byte number_of_channels;
- internal int pref_frames_per_packet;
- internal int max_frames_per_packet;
- //internal CodecInitMarshal init;
- //internal CodecEncodeMarshal encode;
- //internal CodecDecode decode;
- //internal CodecDestroy destroy;
- internal IntPtr next;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CodecInterfaceMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class CodecInterfaceMarshal
- {
- [MarshalAs(UnmanagedType.LPStr)]
- internal string interface_name;
- /*
- internal CodecImplementation application_function;
- [MarshalAs(UnmanagedType.LPStr)]
- internal string long_desc;
- [MarshalAs(UnmanagedType.LPStr)]
- internal string short_desc;
- [MarshalAs(UnmanagedType.LPStr)]
- internal string syntax;
- internal IntPtr next;
-}
-
-
-struct switch_codec_interface {
- ! the name of the interface
- const char *interface_name;
- ! a list of codec implementations related to the codec
- const switch_codec_implementation_t *implementations;
- const struct switch_codec_interface *next;
-};*/
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CodecMarshal.cs --
- *
- */
-using System;
-using System.Text;
-
-namespace FreeSwitch.Marshaling.Types
-{
- internal class CodecMarshal
- {
- internal IntPtr codec_interface;
- internal IntPtr implementation;
- internal IntPtr codec_settings;
- internal UInt32 flags;
- internal IntPtr memory_pool;
- internal IntPtr private_info;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CodecTypeMarshal.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Marshaling.Types
-{
- internal enum CodecTypesMarshal
- {
- SWITCH_CODEC_TYPE_AUDIO,
- SWITCH_CODEC_TYPE_VIDEO,
- SWITCH_CODEC_TYPE_T38,
- SWITCH_CODEC_TYPE_APP
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * CoreSessionMarshal.cs --
- *
- */
-using System;
-using System.Text;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential, Pack=1)]
- internal class CoreSessionMarshal
- {
- internal UInt32 id;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=80)]
- internal byte[] name;
- internal int thread_running;
- internal IntPtr pool;
- internal IntPtr channel;
- internal IntPtr thread;
- internal IntPtr endpoint_interface;
- internal IOEventHooksMarshal event_hooks;
- internal IntPtr read_codec;
- internal IntPtr write_codec;
- internal IntPtr raw_write_buffer;
- internal FrameMarshal raw_write_frame;
- internal FrameMarshal enc_write_frame;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=2048)]
- internal byte[] raw_write_buf;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=2048)]
- internal byte[] enc_write_buf;
- internal IntPtr raw_read_buffer;
- internal FrameMarshal raw_read_frame;
- internal FrameMarshal enc_read_frame;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=2048)]
- internal byte[] raw_read_buf;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=2048)]
- internal byte[] enc_read_buf;
- internal IntPtr read_resampler;
- internal IntPtr write_resampler;
- internal IntPtr mutex;
- internal IntPtr cond;
- internal IntPtr rwlock;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=128)]
- internal IntPtr[] streams;
- internal int stream_count;
- /* 36 + 1 char string, but need to grab 40 bytes */
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=40)]
- internal byte[] uuid_str;
- internal IntPtr private_info;
- internal IntPtr event_queue;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * EventMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class EventMarshal
- {
- internal EventType event_id;
- internal Priority priority;
- internal IntPtr owner;
- internal IntPtr subclass;
- internal IntPtr headers;
- internal IntPtr body;
- internal IntPtr bind_user_data;
- internal IntPtr event_user_data;
- internal IntPtr next;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- internal class EventHeaderMarshal
- {
- internal string name;
- internal string value;
- internal IntPtr next;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * FileHandleMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class FileHandleMarshal
- {
- internal IntPtr file_interface;
- internal UInt32 flags;
- internal IntPtr fd;
- internal uint samples;
- internal UInt32 samplerate;
- internal Byte channels;
- internal uint format;
- internal uint sections;
- internal int seekable;
- internal uint sample_count;
- internal int speed;
- internal IntPtr memory_pool;
- internal IntPtr private_info;
- internal Int64 pos;
- internal IntPtr audio_buffer;
- }
-
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * FrameMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class FrameMarshal
- {
- internal IntPtr codec;
- internal IntPtr source;
- internal IntPtr packet;
- internal UInt32 packetlen;
- internal IntPtr data;
- internal UInt32 datalen;
- internal UInt32 buflen;
- internal UInt32 samples;
- internal UInt32 rate;
- internal byte payload;
- internal UInt32 timestamp;
- internal byte flags;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * IOEventHooksMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class IOEventHooksMarshal
- {
- internal IntPtr outgoing_channel;
- internal IntPtr answer_channel;
- internal IntPtr receive_message;
- internal IntPtr receive_event;
- internal IntPtr read_frame;
- internal IntPtr write_frame;
- internal IntPtr kill_channel;
- internal IntPtr waitfor_read;
- internal IntPtr waitfor_write;
- internal IntPtr send_dtmf;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * LoadableModuleInterfaceMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class LoadableModuleInterfaceMarshal
- {
- internal IntPtr module_name;
- internal IntPtr endpoint_interface;
- internal IntPtr timer_interface;
- internal IntPtr dialplan_interface;
- internal IntPtr codec_interface;
- internal IntPtr application_interface;
- internal IntPtr api_interface;
- internal IntPtr file_interface;
- internal IntPtr speech_interface;
- internal IntPtr directory_interface;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * LoadableModuleMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
-
-
- [StructLayout(LayoutKind.Sequential)]
- public class LoadableModuleMarshal
- {
- public IntPtr filename;
- public IntPtr module_interface;
- public IntPtr lib;
- public ModuleLoad module_load;
- public ModuleReload module_reload;
- public ModulePause module_pause;
- public ModuleResume module_resume;
- public ModuleStatus module_status;
- public ModuleRuntime module_runtime;
- public ModuleShutdown module_shutdown;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * SpeechHandleMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class SpeechHandleMarshal
- {
- internal IntPtr speech_interface;
- internal UInt32 flags;
- internal IntPtr name;
- internal UInt32 rate;
- internal UInt32 speed;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=80)]
- internal byte[] voice;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst=80)]
- internal byte[] engine;
- internal IntPtr memory_pool;
- internal IntPtr private_info;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * StateHandlerTableMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class StateHandlerTableMarshal
- {
- internal IntPtr on_init;\r
- internal IntPtr on_ring;\r
- internal IntPtr on_execute;\r
- internal IntPtr on_hangup;\r
- internal IntPtr on_loopback;\r
- internal IntPtr on_transmit;\r
- internal IntPtr on_hold;
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * StreamHandleMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class StreamHandleMarshal
- {
- internal IntPtr write_function;
- internal IntPtr data;
- internal IntPtr end;
- internal int data_size;
- internal int data_len;
- internal int alloc_len;
- internal int alloc_chunk;
- internal IntPtr _event;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * TimerMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- [StructLayout(LayoutKind.Sequential)]
- internal class TimerMarshal
- {
- int interval;
- UInt32 flags;
- uint samples;
- uint samplecount;
- IntPtr timer_interface;\r
- IntPtr memory_pool;\r
- IntPtr private_info;\r
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * TypesMarshal.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Types;
-
-namespace FreeSwitch.Marshaling.Types
-{
- public delegate
- Status DtmfCallbackFunctionMarshal(
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CoreSessionMarshaler))]
- CoreSession session,
- string dtmf,
- IntPtr buf,
- uint buflen);
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Module.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Reflection;\r
-using System.Runtime.InteropServices;\r
-using System.Text;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Modules;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- /// <summary>\r
- /// Base class for all Freeswitch.NET modules\r
- /// </summary>\r
- /// <example>\r
- /// public class Example : Module\r
- /// {\r
- /// public Example()\r
- /// {\r
- /// AddApiInterface(new ExampleApi());\r
- /// AddApplicationInterface(new ExampleApplication());\r
- /// \r
- /// Register();\r
- /// } \r
- /// }\r
- /// </example>\r
- public class Module\r
- {\r
- private LoadableModuleInterfaceMarshal module_interface = new LoadableModuleInterfaceMarshal();\r
- private LoadableModuleMarshal module = new LoadableModuleMarshal();\r
-\r
- private ArrayList applicationInterfaces = new ArrayList();\r
- private ArrayList apiInterfaces = new ArrayList();\r
-\r
- private ModuleLoad load;\r
- private string name;\r
- private string filename = Assembly.GetCallingAssembly().GetName().Name;\r
- \r
- /// <summary>\r
- /// Module constructor\r
- /// </summary>\r
- public Module()\r
- {\r
- Console.WriteLine("*** Creating new module object");\r
-\r
- load = new ModuleLoad(Load);\r
- }\r
-\r
- /// <summary>\r
- /// Implementation of ModuleLoad Delegate\r
- /// </summary>\r
- /// <param name="module"></param>\r
- /// <param name="name"></param>\r
- /// <returns></returns>\r
- public Status Load(ref IntPtr module, string name)\r
- {\r
- /* Allocate some unmanaged mem for the ModuleInterface */\r
- module = Marshal.AllocHGlobal(Marshal.SizeOf(module_interface));\r
- \r
- /* Set the module_name field of the LoadableModuleInterface */\r
- module_interface.module_name = Marshal.StringToHGlobalAnsi(filename);\r
-\r
- if (apiInterfaces.Count > 0)\r
- {\r
- /* Grab the first ApiInterface in our array and add a pointer to this in our ModuleInterface*/\r
- Api apiIndex = (Api)apiInterfaces[0];\r
-\r
- module_interface.api_interface = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(ApiInterfaceMarshal)));\r
-\r
- Marshal.StructureToPtr(apiIndex.handle.Wrapper, module_interface.api_interface, true);\r
- }\r
-\r
- if (applicationInterfaces.Count > 0)\r
- {\r
- /* For each Application interface */\r
- Application applicationIndex = (Application)applicationInterfaces[0];\r
-\r
- module_interface.application_interface = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(ApplicationInterfaceMarshal)));\r
-\r
- Marshal.StructureToPtr(applicationIndex.handle.Wrapper, module_interface.application_interface, true);\r
- }\r
-\r
- /* Finally, marshal the moduleinterface class and return */\r
- Marshal.StructureToPtr(module_interface, module, true);\r
- \r
- return Status.Success;\r
- }\r
-\r
- /// <summary>\r
- /// AddApiInterface\r
- /// </summary>\r
- /// <param name="apiInterface"></param>\r
- public void AddApiInterface(Api apiInterface)\r
- {\r
- /* Create a new ApiInterface type and allocate unmanaged mem */\r
- ApiInterfaceMarshal apiInterfaceMarshal = new ApiInterfaceMarshal();\r
- IntPtr apiInterfacePtr = Marshal.AllocHGlobal(Marshal.SizeOf(apiInterfaceMarshal));\r
-\r
- /* Allocate umanaged mem to to interface fields so GC doesn't disturb them */\r
- apiInterfaceMarshal.interface_name = Marshal.StringToHGlobalAnsi(apiInterface.Name);\r
- apiInterfaceMarshal.desc = Marshal.StringToHGlobalAnsi(apiInterface.Description);\r
- apiInterfaceMarshal.syntax = Marshal.StringToHGlobalAnsi(apiInterface.Syntax);\r
- apiInterfaceMarshal.function = new ApiFunction(apiInterface.ApiFunction);\r
- \r
- /* Set the handle of the managed object */\r
- apiInterface.handle = new HandleRef(apiInterfaceMarshal, apiInterfacePtr);\r
-\r
- Marshal.StructureToPtr(apiInterfaceMarshal, apiInterface.handle.Handle, true);\r
-\r
- /* Check to see whether there is already an interface defined, if there is then\r
- * we want to set the *next pointer of the last element before adding the new\r
- * interface to the array\r
- */\r
- if (apiInterfaces.Count > 0)\r
- {\r
- Api apiInterfaceElement = (Api)apiInterfaces[apiInterfaces.Count - 1];\r
- ApiInterfaceMarshal apiInterfacePrev = (ApiInterfaceMarshal)apiInterfaceElement.handle.Wrapper;\r
-\r
- apiInterfacePrev.next = apiInterface.handle.Handle;\r
- }\r
-\r
- /* Finally, add our new interface to the array */\r
- apiInterfaces.Add(apiInterface);\r
- }\r
-\r
- /// <summary>\r
- /// AddApplicationInterface\r
- /// </summary>\r
- /// <param name="applicationInterface"></param>\r
- public void AddApplicationInterface(Application applicationInterface)\r
- {\r
- /* Create a new ApplicationInterface type and allocate unmanaged mem */\r
- ApplicationInterfaceMarshal applicationInterfaceMarshal = new ApplicationInterfaceMarshal();\r
- IntPtr applicationInterfacePtr = Marshal.AllocHGlobal(Marshal.SizeOf(applicationInterfaceMarshal));\r
-\r
- /* Allocate umanaged mem to to interface fields so GC doesn't disturb them */\r
- applicationInterfaceMarshal.interface_name = Marshal.StringToHGlobalAnsi(applicationInterface.Name);\r
- applicationInterfaceMarshal.syntax = Marshal.StringToHGlobalAnsi(applicationInterface.Syntax);\r
- applicationInterfaceMarshal.long_desc = Marshal.StringToHGlobalAnsi(applicationInterface.LongDescription);\r
- applicationInterfaceMarshal.short_desc = Marshal.StringToHGlobalAnsi(applicationInterface.ShortDescription);\r
-\r
- applicationInterfaceMarshal.application_function = new ApplicationFunction(applicationInterface.ApplicationFunction);\r
-\r
- /* Set the handle of the managed object */\r
- applicationInterface.handle = new HandleRef(applicationInterfaceMarshal, applicationInterfacePtr);\r
-\r
- Marshal.StructureToPtr(applicationInterfaceMarshal, applicationInterface.handle.Handle, true);\r
-\r
- /* Check to see whether there is already an interface defined, if there is then\r
- * we want to set the *next pointer of the last element before adding the new\r
- * interface to the array\r
- */\r
- if (applicationInterfaces.Count > 0)\r
- {\r
- Application applicationInterfaceElement = (Application)applicationInterfaces[applicationInterfaces.Count - 1];\r
- ApplicationInterfaceMarshal applicationInterfacePrev = (ApplicationInterfaceMarshal)applicationInterfaceElement.handle.Wrapper;\r
-\r
- applicationInterfacePrev.next = applicationInterface.handle.Handle;\r
- }\r
-\r
- /* Finally, add our new interface to the array */\r
- applicationInterfaces.Add(applicationInterface);\r
- }\r
-\r
- /// <summary>\r
- /// Register\r
- /// </summary>\r
- public void Register()\r
- {\r
- module.module_load = new ModuleLoad(Load);\r
-\r
- Switch.switch_loadable_module_build_dynamic(filename,\r
- module.module_load,\r
- module.module_runtime,\r
- module.module_shutdown);\r
- }\r
-\r
- public string Name\r
- {\r
- set { name = value; }\r
- get { return name; }\r
- }\r
- }\r
-} \r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Api.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-\r
-namespace FreeSwitch.Modules\r
-{\r
- public class Api\r
- {\r
- private string name;\r
- private string description;\r
- private string syntax;\r
- private ApiFunction apiFunction;\r
- public HandleRef handle;\r
-\r
- public string Name\r
- {\r
- set { name = value; }\r
- get { return name; }\r
- }\r
-\r
- public string Description\r
- {\r
- set { description = value; }\r
- get { return description; }\r
- }\r
-\r
- public string Syntax\r
- {\r
- set { syntax = value; }\r
- get { return syntax; }\r
- }\r
-\r
- public ApiFunction ApiFunction\r
- {\r
- set { apiFunction = value; }\r
- get { return apiFunction; }\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Application.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Modules\r
-{\r
- public class Application\r
- {\r
- private string name;\r
- private string longDescription;\r
- private string shortDescription;\r
- private string syntax;\r
- private ApplicationFunction applicationFunction;\r
- public HandleRef handle;\r
-\r
- public string Name\r
- {\r
- set { name = value; }\r
- get { return name; }\r
- }\r
-\r
- public string ShortDescription\r
- {\r
- set { shortDescription = value; }\r
- get { return shortDescription; }\r
- }\r
-\r
- public string LongDescription\r
- {\r
- set { longDescription = value; }\r
- get { return longDescription; }\r
- }\r
-\r
- public string Syntax\r
- {\r
- set { syntax = value; }\r
- get { return syntax; }\r
- }\r
-\r
- public ApplicationFunction ApplicationFunction\r
- {\r
- set { applicationFunction = value; }\r
- get { return applicationFunction; }\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle("Freeswitch API")]
-[assembly: AssemblyDescription("mod_mono allows you to load .NET assemblies that can interact with Freeswitch's module system.")]
\ No newline at end of file
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallerProfile.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.CompilerServices;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- public partial class Switch\r
- {\r
- /*\r
- * TODO: Figure out how to stop mono from trying to free the returned string.\r
- */\r
- [DllImport("freeswitch")]\r
- //[return: MarshalAs(UnmanagedType.LPStr)]\r
- public extern static\r
- IntPtr switch_caller_get_field_by_name(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerProfileMarshaler))]\r
- CallerProfile caller_profile,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string name);\r
- /*\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerProfileMarshaler))]\r
- public extern static\r
- CallerProfile switch_caller_profile_clone(\r
- [MarshalAs\r
- switch_core_session_t *session, switch_caller_profile_t *tocopy)\r
- */\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerProfileMarshaler))]\r
- public extern static\r
- CallerProfile switch_caller_profile_new(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(MemoryPoolMarshaler))]\r
- MemoryPool pool,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string username,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string dialplan,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string callerIdName,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string callerIdNumber,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string networkAddress,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string ani,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string ani2,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string rdnis,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string source,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string context,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string destinationNumber); \r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Channel.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.CompilerServices;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling;\r
-\r
-namespace FreeSwitch\r
-{\r
- public partial class Switch\r
- {\r
- [DllImport("freeswitch")]\r
- public extern static\r
- ChannelState switch_channel_set_state(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel,\r
- ChannelState channelState);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- ChannelState switch_channel_get_state(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_channel_answer(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- ChannelState switch_channel_perform_hangup(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string file,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string func,\r
- int line,\r
- CallCause hangup_cause);\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerExtensionMarshaler))]\r
- public extern static\r
- CallerExtension switch_channel_get_caller_extension(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel);\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CallerProfileMarshaler))]\r
- public extern static\r
- CallerProfile switch_channel_get_caller_profile(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ChannelMarshaler))]\r
- Channel channel);\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.LPStr)]\r
- public extern static\r
- string switch_channel_get_variable(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ChannelMarshaler))]\r
- Channel channel,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string varname);\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerProfileMarshaler))]\r
- public extern static\r
- CallerProfile switch_channel_get_originator_caller_profile(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel);\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CallerProfileMarshaler))]\r
- public extern static\r
- CallerProfile switch_channel_get_originatee_caller_profile(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(ChannelMarshaler))]\r
- Channel channel);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- ChannelState switch_channel_hangup(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel,\r
- CallCause hangup_cause);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- uint switch_channel_ready(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel);\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Console.cs --
- *
- */
-using System;
-using System.Runtime.CompilerServices;\r
-using System.Diagnostics;\r
-using System.Text;
-
-namespace FreeSwitch
-{
- public partial class Switch
- {\r
- }
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CoreSession.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.CompilerServices;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling;\r
-\r
-namespace FreeSwitch\r
-{\r
- public partial class Switch\r
- {\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- public extern static\r
- Channel switch_core_session_get_channel(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session);\r
-\r
- [DllImport("freeswitch")]\r
- [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(MemoryPoolMarshaler))]\r
- public extern static\r
- MemoryPool switch_core_session_get_pool(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_core_session_outgoing_channel(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string endpointName,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerProfileMarshaler))]\r
- CallerProfile caller_profile,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- ref CoreSession new_session,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(MemoryPoolMarshaler))]\r
- MemoryPool pool);\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Channel.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.CompilerServices;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling;\r
-\r
-namespace FreeSwitch\r
-{\r
- public partial class Switch\r
- {\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_event_bind(\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string id,\r
- EventType eventType,\r
- string subClassName,\r
- EventCallback callback,\r
- IntPtr userData);\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Ivr.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.CompilerServices;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- public partial class Switch\r
- {\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_sleep(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- UInt32 ms);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_park(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_collect_digits_callback(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- InputCallbackFunction dtmfCallback,\r
- IntPtr buf,\r
- uint buflen);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_collect_digits_count(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string buffer,\r
- uint buflen,\r
- uint maxdigits,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string terminators,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string terminator,\r
- uint timeout);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_record_session(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string file,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(FileHandleMarshaler))]\r
- FileHandle fh);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_stop_record_session(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string file);\r
-\r
- [DllImport("freeswitch")]\r
- extern public static\r
- Status switch_ivr_play_file(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(FileHandleMarshaler))]\r
- FileHandle fh,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string file,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string timer_name,\r
- InputCallbackFunction input_callback,\r
- IntPtr buf,\r
- uint buflen);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_record_file(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(FileHandleMarshaler))]\r
- FileHandle fh,\r
- IntPtr file,\r
- InputCallbackFunction input_callback,\r
- IntPtr buf,\r
- uint buflen);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_speak_text_handle(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(SpeechHandleMarshaler))]\r
- SpeechHandle sh,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CodecMarshaler))]\r
- Codec codec,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(TimerMarshaler))]\r
- Timer timer,\r
- InputCallbackFunction dtmfCallback,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string text,\r
- IntPtr buf,\r
- uint buflen);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_speak_text(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string tts_name,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string voice_name,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string timer_name,\r
- uint rate,\r
- InputCallbackFunction dtmfCallback,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string text,\r
- IntPtr buf,\r
- uint buflen);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_originate(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- ref CoreSession bleg,\r
- IntPtr cause,\r
- IntPtr bridgeto,\r
- UInt32 timelimit_sec,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(StateHandlerTableMarshaler))]\r
- StateHandlerTable table,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string cid_name_override,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string cid_num_override,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CallerProfileMarshaler))]\r
- CallerProfile caller_profile_override);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_multi_threaded_bridge(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession peer_session,\r
- InputCallbackFunction dtmfCallback,\r
- IntPtr session_data,\r
- IntPtr peer_session_data);\r
-\r
- [DllImport("freeswitch")]\r
- public extern static\r
- Status switch_ivr_session_transfer(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]\r
- CoreSession session,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string extension,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string dialplan,\r
- [MarshalAs(UnmanagedType.LPStr)]\r
- string context);\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * LoadableModule.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- /*\r
- * SWITCH_DECLARE(switch_status_t) switch_loadable_module_load_module(char *dir, char *fname)\r
- * SWITCH_DECLARE(switch_status_t) switch_loadable_module_build_dynamic(char *filename,\r
- * SWITCH_DECLARE(switch_status_t) switch_loadable_module_init()\r
- * SWITCH_DECLARE(void) switch_loadable_module_shutdown(void)\r
- * SWITCH_DECLARE(switch_endpoint_interface_t *) switch_loadable_module_get_endpoint_interface(char *name)\r
- * SWITCH_DECLARE(switch_codec_interface_t *) switch_loadable_module_get_codec_interface(char *name)\r
- * SWITCH_DECLARE(switch_dialplan_interface_t *) switch_loadable_module_get_dialplan_interface(char *name)\r
- * SWITCH_DECLARE(switch_timer_interface_t *) switch_loadable_module_get_timer_interface(char *name)\r
- * SWITCH_DECLARE(switch_application_interface_t *) switch_loadable_module_get_application_interface(char *name)\r
- * SWITCH_DECLARE(switch_api_interface_t *) switch_loadable_module_get_api_interface(char *name)\r
- * SWITCH_DECLARE(switch_file_interface_t *) switch_loadable_module_get_file_interface(char *name)\r
- * SWITCH_DECLARE(switch_speech_interface_t *) switch_loadable_module_get_speech_interface(char *name)\r
- * SWITCH_DECLARE(switch_directory_interface_t *) switch_loadable_module_get_directory_interface(char *name)\r
- * SWITCH_DECLARE(int) switch_loadable_module_get_codecs(switch_memory_pool_t *pool, switch_codec_interface_t **array,\r
- * SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_codec_interface_t **array,\r
- * SWITCH_DECLARE(switch_status_t) switch_api_execute(char *cmd, char *arg, char *retbuf, switch_size_t len)\r
- */\r
- public partial class Switch\r
- {\r
- [DllImport("__Internal")]\r
- public static extern\r
- Status\r
- switch_loadable_module_build_dynamic(\r
- string filename,\r
- [MarshalAs(UnmanagedType.FunctionPtr)]\r
- ModuleLoad switch_module_load,\r
- [MarshalAs(UnmanagedType.FunctionPtr)]\r
- ModuleRuntime switch_module_runtime,\r
- [MarshalAs(UnmanagedType.FunctionPtr)]\r
- ModuleShutdown switch_module_shutdown);\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Log.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.CompilerServices;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- /*\r
- src/switch_log.c:SWITCH_DECLARE(const char *) switch_log_level2str(switch_log_level_t level)\r
- src/switch_log.c:SWITCH_DECLARE(switch_log_level_t) switch_log_str2level(const char *str)\r
- src/switch_log.c:SWITCH_DECLARE(switch_status_t) switch_log_bind_logger(switch_log_function_t function, switch_log_level_t level)\r
- src/switch_log.c:SWITCH_DECLARE(void) switch_log_printf(switch_text_channel_t channel, char *file, const char *func, int line, switch_log_level_t level, char *fmt, ...)\r
- src/switch_log.c:SWITCH_DECLARE(switch_status_t) switch_log_init(switch_memory_pool_t *pool)\r
- src/switch_log.c:SWITCH_DECLARE(switch_status_t) switch_log_shutdown(void)\r
- */\r
- public partial class Switch\r
- {\r
- [DllImport("freeswitch")]\r
- public extern static\r
- void switch_log_printf(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(ChannelMarshaler))]\r
- Channel channel,\r
- string file,\r
- string func,\r
- int line,\r
- LogLevel level,\r
- string format);\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * LoadableModule.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Types;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch\r
-{\r
- /*\r
- * SWITCH_DECLARE(switch_status_t) switch_loadable_module_load_module(char *dir, char *fname)\r
- * SWITCH_DECLARE(switch_status_t) switch_loadable_module_build_dynamic(char *filename,\r
- * SWITCH_DECLARE(switch_status_t) switch_loadable_module_init()\r
- * SWITCH_DECLARE(void) switch_loadable_module_shutdown(void)\r
- * SWITCH_DECLARE(switch_endpoint_interface_t *) switch_loadable_module_get_endpoint_interface(char *name)\r
- * SWITCH_DECLARE(switch_codec_interface_t *) switch_loadable_module_get_codec_interface(char *name)\r
- * SWITCH_DECLARE(switch_dialplan_interface_t *) switch_loadable_module_get_dialplan_interface(char *name)\r
- * SWITCH_DECLARE(switch_timer_interface_t *) switch_loadable_module_get_timer_interface(char *name)\r
- * SWITCH_DECLARE(switch_application_interface_t *) switch_loadable_module_get_application_interface(char *name)\r
- * SWITCH_DECLARE(switch_api_interface_t *) switch_loadable_module_get_api_interface(char *name)\r
- * SWITCH_DECLARE(switch_file_interface_t *) switch_loadable_module_get_file_interface(char *name)\r
- * SWITCH_DECLARE(switch_speech_interface_t *) switch_loadable_module_get_speech_interface(char *name)\r
- * SWITCH_DECLARE(switch_directory_interface_t *) switch_loadable_module_get_directory_interface(char *name)\r
- * SWITCH_DECLARE(int) switch_loadable_module_get_codecs(switch_memory_pool_t *pool, switch_codec_interface_t **array,\r
- * SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_codec_interface_t **array,\r
- * SWITCH_DECLARE(switch_status_t) switch_api_execute(char *cmd, char *arg, char *retbuf, switch_size_t len)\r
- */\r
- public partial class Switch\r
- {\r
-\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ApiFunction.cs --
- *
- */
\ No newline at end of file
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ApplicationFunction.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
-
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ApplicationInterface.cs --
- *
- */
-using System;
-using System.Collections;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace FreeSwitch.Types
-{
- /*
- public class ApplicationInterface
- {
- private string interface_name;
- private IntPtr application_function;
- private string long_desc;
- private string short_desc;
- private string syntax;
- //const struct switch_application_interface *next;
- }
- * */
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Buffer.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Types
-{
- public class Buffer
- {
- internal HandleRef marshaledObject;
-
- public string Data
- {
- get { throw new NotImplementedException(); }
- }
-
- public int Used
- {
- get { throw new NotImplementedException(); }
- }
-
- public int Length
- {
- get { throw new NotImplementedException(); }
- }
- }
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallCause.cs -- \r
- *\r
- */\r
-using System;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public enum CallCause\r
- {\r
- Unallocated,\r
- NoRouteTransitNet,\r
- NoRouteDestination,\r
- ChannelUnacceptable,\r
- CallAwardedDelivered,\r
- NormalClearing,\r
- UserBusy,\r
- NoUserResponse,\r
- NoAnswer,\r
- CallRejected,\r
- NumberChanged,\r
- DestinationOutOfOrder,\r
- InvalidNumberFormat,\r
- FacilityRejected,\r
- ResponseToStatusEnquiry,\r
- NormalUnspecified,\r
- NormalCircuitCongestion,\r
- NetworkOutOfOrder,\r
- NormalTemporaryFailure,\r
- SwitchCongestion,\r
- AccessInfoDescarded,\r
- RequestedChannelUnavailable,\r
- PreEmpted,\r
- FacilityNotSubscribed,\r
- OutgoingCallBarred,\r
- IncomingCallBarred,\r
- BearerCapabilityNotAuth,\r
- BearerCapabilityNotAvail,\r
- BearerCapabilityNotImpl,\r
- ChanNotImplemented,\r
- FacilityNotImplemented,\r
- InvalidCallReference,\r
- IncompatibleDestination,\r
- InvalidMsgUnspecified,\r
- MandatoryIeMissing,\r
- MessageTypeNonExistant,\r
- WrongMessage,\r
- IoNonExistant,\r
- InvalidIeContents,\r
- WrongCallState,\r
- RecoveryOnTimeExpire,\r
- MandatoryIeLengthError,\r
- ProtocolError,\r
- Internetworking\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallerExtension.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public class CallerExtension\r
- {\r
- internal HandleRef marshaledObject;\r
-\r
- public string ExtensionName\r
- {\r
- get\r
- {\r
- CallerExtensionMarshal callerExtension = (CallerExtensionMarshal)marshaledObject.Wrapper;\r
-\r
- return Marshal.PtrToStringAnsi(callerExtension.extension_name);\r
- }\r
- }\r
-\r
- public string ExtensionNumber\r
- {\r
- get\r
- {\r
- CallerExtensionMarshal callerExtension = (CallerExtensionMarshal)marshaledObject.Wrapper;\r
-\r
- return Marshal.PtrToStringAnsi(callerExtension.extension_number);\r
- }\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CallerProfile.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public class CallerProfile\r
- {\r
- internal HandleRef marshaledObject;\r
-\r
- public static CallerProfile New(MemoryPool pool,\r
- string username,\r
- string dialplan,\r
- string callerIdName,\r
- string callerIdNumber,\r
- string networkAddress,\r
- string ani,\r
- string ani2,\r
- string rdnis,\r
- string source,\r
- string context,\r
- string destinationNumber)\r
- {\r
- return Switch.switch_caller_profile_new(pool, username, dialplan, callerIdName, callerIdNumber, networkAddress, ani, ani2, rdnis, source, context, destinationNumber);\r
- }\r
-\r
- public string GetFieldByName(string field)\r
- {\r
- IntPtr ptr;\r
- \r
- ptr = Switch.switch_caller_get_field_by_name(this, field);\r
-\r
- if (ptr != IntPtr.Zero)\r
- return Marshal.PtrToStringAnsi(ptr);\r
- else\r
- return "";\r
- }\r
-\r
-\r
- /*\r
- * Properties\r
- */\r
- public string Dialplan\r
- {\r
- get { return GetFieldByName("dialplan"); }\r
- }\r
-\r
- public string CallerIdName\r
- {\r
- get { return GetFieldByName("caller_id_name"); }\r
- }\r
-\r
- public string CallerIdNumber\r
- {\r
- get { return GetFieldByName("caller_id_number"); }\r
- }\r
-\r
- public string NetworkAddress\r
- {\r
- get { return GetFieldByName("network_addr"); }\r
- }\r
-\r
- public string Ani\r
- {\r
- get { return GetFieldByName("ani"); }\r
- }\r
-\r
- public string Ani2\r
- {\r
- get { return GetFieldByName("ani2"); }\r
- }\r
-\r
- public string Rdnis\r
- {\r
- get { return GetFieldByName("rdnis"); }\r
- }\r
-\r
- public string Source\r
- {\r
- get { return GetFieldByName("source"); }\r
- }\r
-\r
- public string Context\r
- {\r
- get { return GetFieldByName("context"); }\r
- }\r
-\r
- public string DestinationNumber\r
- {\r
- get { return GetFieldByName("destination_number"); }\r
- }\r
-\r
- public string ChannelName\r
- {\r
- get { return GetFieldByName("chan_name"); }\r
- }\r
-\r
- public string Uuid\r
- {\r
- get{ return GetFieldByName("uuid"); }\r
- }\r
-\r
- public string Username\r
- {\r
- get { return GetFieldByName("username"); }\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Channel.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- /*\r
- * char *name;\r
- switch_buffer_t *dtmf_buffer;\r
- switch_mutex_t *dtmf_mutex;\r
- switch_mutex_t *flag_mutex;\r
- switch_mutex_t *profile_mutex;\r
- switch_core_session_t *session;\r
- switch_channel_state_t state;\r
- uint32_t flags;\r
- switch_caller_profile_t *caller_profile;\r
- switch_caller_profile_t *originator_caller_profile;\r
- switch_caller_profile_t *originatee_caller_profile;\r
- switch_caller_extension_t *caller_extension;\r
- const switch_state_handler_table_t *state_handlers[SWITCH_MAX_STATE_HANDLERS];\r
- int state_handler_index;\r
- switch_hash_t *variables;\r
- switch_channel_timetable_t *times;\r
- void *private_info;\r
- switch_call_cause_t hangup_cause;\r
- int freq;\r
- int bits;\r
- int channels;\r
- int ms;\r
- int kbps;\r
- */\r
- public class Channel\r
- {\r
- internal HandleRef marshaledObject;\r
-\r
- public string Name\r
- {\r
- get\r
- {\r
- ChannelMarshal channel = (ChannelMarshal) marshaledObject.Wrapper;\r
-\r
- return Marshal.PtrToStringAnsi(channel.name);\r
- }\r
- }\r
-\r
- public Buffer DtmfBuffer\r
- {\r
- get\r
- {\r
- Console.WriteLine("Buffer");\r
- return new Buffer();\r
- //throw new NotImplementedException();\r
- }\r
- }\r
-\r
- public ChannelState State\r
- {\r
- set\r
- {\r
- Switch.switch_channel_set_state(this, value);\r
- }\r
- get\r
- {\r
- return Switch.switch_channel_get_state(this);\r
- }\r
- }\r
-\r
- public bool IsReady\r
- {\r
- get\r
- {\r
- uint isReady = Switch.switch_channel_ready(this);\r
-\r
- if (isReady != 0)\r
- return true;\r
- else\r
- return false;\r
- }\r
- }\r
-\r
- public ChannelFlag Flags\r
- {\r
- get\r
- {\r
- Console.WriteLine("ChannelFlag");\r
- return new ChannelFlag();\r
- //throw new NotImplementedException();\r
- }\r
- }\r
-\r
- public CallerProfile CallerProfile\r
- {\r
- get\r
- {\r
- return Switch.switch_channel_get_caller_profile(this);\r
- }\r
- }\r
-\r
- public CallerProfile OriginatorCallerProfile\r
- {\r
- get\r
- {\r
- return Switch.switch_channel_get_originator_caller_profile(this);\r
- }\r
- }\r
-\r
- public CallerProfile OriginateeCallerProfile\r
- {\r
- get\r
- {\r
- return Switch.switch_channel_get_originatee_caller_profile(this);\r
- }\r
- }\r
-\r
- public CallerExtension CallerExtension\r
- {\r
- get\r
- {\r
- return Switch.switch_channel_get_caller_extension(this);\r
- }\r
- }\r
-\r
- public ChannelTimetable Times\r
- {\r
- get\r
- {\r
- Console.WriteLine("Channel Timetable");\r
- return new ChannelTimetable();\r
- // throw new NotImplementedException();\r
- }\r
- }\r
-\r
- public int Freq\r
- {\r
- get\r
- {\r
- ChannelMarshal channel = (ChannelMarshal) marshaledObject.Wrapper;\r
-\r
- return channel.freq;\r
- }\r
- }\r
-\r
- public int Bits\r
- {\r
- get\r
- {\r
- ChannelMarshal channel = (ChannelMarshal) marshaledObject.Wrapper;\r
-\r
- return channel.bits;\r
- }\r
- }\r
-\r
- public int Channels\r
- {\r
- get\r
- {\r
- ChannelMarshal channel = (ChannelMarshal) marshaledObject.Wrapper;\r
-\r
- return channel.channels;\r
- }\r
- }\r
-\r
- public int Ms\r
- {\r
- get\r
- {\r
- ChannelMarshal channel = (ChannelMarshal) marshaledObject.Wrapper;\r
-\r
- return channel.ms;\r
- }\r
- }\r
-\r
- public int Kbps\r
- {\r
- get {\r
- ChannelMarshal channel = (ChannelMarshal) marshaledObject.Wrapper;\r
-\r
- return channel.kbps;\r
- }\r
- }\r
-\r
- public void PerformHangup()\r
- {\r
- Switch.switch_channel_perform_hangup(this, "file", "func", 100, CallCause.OutgoingCallBarred);\r
- }\r
-\r
- public Status Answer()\r
- {\r
- return Switch.switch_channel_answer(this);\r
- }\r
-\r
- public ChannelState Hangup(CallCause cause)\r
- {\r
- return Switch.switch_channel_perform_hangup(this, "file", "func", 666, cause);\r
- }\r
-\r
- public string GetVariable(string varname)\r
- {\r
- return Switch.switch_channel_get_variable(this, varname);\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelFlag.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
- public enum ChannelFlag
- {
- CF_SEND_AUDIO,
- CF_RECV_AUDIO,
- CF_ANSWERED,
- CF_OUTBOUND,
- CF_EARLY_MEDIA,
- CF_ORIGINATOR,
- CF_TRANSFER
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelState.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
- public enum ChannelState
- {
- CS_NEW,
- CS_INIT,
- CS_RING,
- CS_TRANSMIT,
- CS_EXECUTE,
- CS_LOOPBACK,
- CS_HANGUP,
- CS_DONE
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelTimetable.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-
-namespace FreeSwitch.Types
-{
- public class ChannelTimetable
- {
- internal HandleRef marshaledObject;
-
- public Int64 Created
- {
- get { throw new NotImplementedException(); }
- }
-
- public Int64 Answered
- {
- get { throw new NotImplementedException(); }
- }
-
- public Int64 Hungup
- {
- get { throw new NotImplementedException(); }
- }
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Codec.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;
-using FreeSwitch.Marshaling.Types;
-
-namespace FreeSwitch.Types
-{\r
- public class Codec
- {
- internal HandleRef marshaledObject;
-
- }
-}
\ No newline at end of file
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * CoreSession.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Runtime.InteropServices;\r
-using System.Text;\r
-using FreeSwitch.Marshaling.Types;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- /*\r
- * uint32_t id;\r
- char name[80];\r
- int thread_running;\r
- switch_memory_pool_t *pool;\r
- switch_channel_t *channel;\r
- switch_thread_t *thread;\r
- const switch_endpoint_interface_t *endpoint_interface;\r
- switch_io_event_hooks_t event_hooks;\r
- switch_codec_t *read_codec;\r
- switch_codec_t *write_codec;\r
-\r
- switch_buffer_t *raw_write_buffer;\r
- switch_frame_t raw_write_frame;\r
- switch_frame_t enc_write_frame;\r
- uint8_t raw_write_buf[SWITCH_RECCOMMENDED_BUFFER_SIZE];\r
- uint8_t enc_write_buf[SWITCH_RECCOMMENDED_BUFFER_SIZE];\r
-\r
- switch_buffer_t *raw_read_buffer;\r
- switch_frame_t raw_read_frame;\r
- switch_frame_t enc_read_frame;\r
- uint8_t raw_read_buf[SWITCH_RECCOMMENDED_BUFFER_SIZE];\r
- uint8_t enc_read_buf[SWITCH_RECCOMMENDED_BUFFER_SIZE];\r
-\r
-\r
- switch_audio_resampler_t *read_resampler;\r
- switch_audio_resampler_t *write_resampler;\r
-\r
- switch_mutex_t *mutex;\r
- switch_thread_cond_t *cond;\r
-\r
- switch_thread_rwlock_t *rwlock;\r
-\r
- void *streams[SWITCH_MAX_STREAMS];\r
- int stream_count;\r
-\r
- char uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1];\r
- void *private_info;\r
- switch_queue_t *event_queue;\r
- */\r
- public class CoreSession\r
- {\r
- public HandleRef marshaledObject;\r
-\r
- /*\r
- * Properties\r
- */\r
- public UInt32 Id\r
- {\r
- get\r
- {\r
- CoreSessionMarshal coreSessionMarshal = (CoreSessionMarshal)marshaledObject.Wrapper;\r
-\r
- return coreSessionMarshal.id;\r
- }\r
- }\r
-\r
- public string Name\r
- {\r
- get\r
- {\r
- CoreSessionMarshal coreSessionMarshal = (CoreSessionMarshal) marshaledObject.Wrapper;\r
-\r
- return Encoding.ASCII.GetString(coreSessionMarshal.name);\r
- }\r
- }\r
-\r
- public bool IsThreadRunning\r
- {\r
- get\r
- {\r
- CoreSessionMarshal coreSessionMarshal = (CoreSessionMarshal)marshaledObject.Wrapper;\r
- \r
- if (coreSessionMarshal.thread_running <= 0)\r
- return false;\r
- else\r
- return true;\r
- }\r
- }\r
-\r
- public MemoryPool Pool\r
- {\r
- get\r
- {\r
- return Switch.switch_core_session_get_pool(this);\r
- }\r
- }\r
-\r
-\r
- public Channel Channel\r
- {\r
- get\r
- {\r
- return Switch.switch_core_session_get_channel(this);\r
- }\r
- }\r
-\r
- public string Uuid\r
- {\r
- get\r
- {\r
- CoreSessionMarshal coreSessionMarshal = (CoreSessionMarshal)marshaledObject.Wrapper;\r
-\r
- return Encoding.ASCII.GetString(coreSessionMarshal.uuid_str);\r
- }\r
- }\r
-\r
-\r
- public CoreSession OutgoingChannel(string endpointName, CallerProfile callerProfile)\r
- {\r
- CoreSession newSession = new CoreSession();\r
- MemoryPool pool = new MemoryPool();\r
-\r
- Status status = Switch.switch_core_session_outgoing_channel(this, endpointName, callerProfile, ref newSession, pool);\r
-\r
- if (status != Status.Success)\r
- throw new Exception("Unsuccessful");\r
-\r
-\r
- return newSession;\r
- }\r
-\r
- public CoreSession()\r
- {\r
- //CoreSessionMarshal coreSessionMarshal = new CoreSessionMarshal();\r
- //IntPtr coreSessionPtr = Marshal.AllocHGlobal(Marshal.SizeOf(coreSessionMarshal));\r
-\r
- //marshaledObject = new HandleRef(coreSessionMarshal, coreSessionPtr);\r
- }\r
-\r
- public Status DtmfCallbackFunctionWrapper(CoreSession session, string dtmf, IntPtr buf, uint buflen)\r
- {\r
- return Status.Success;\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * DtmfCallbackFunction.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
- public delegate Status DtmfCallbackFunction(CoreSession session, string dtmf);
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Event.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public enum Priority\r
- {\r
- SWITCH_PRIORITY_NORMAL,\r
- SWITCH_PRIORITY_LOW,\r
- SWITCH_PRIORITY_HIGH\r
- }\r
-\r
- public class Event\r
- {\r
- internal HandleRef marshaledObject;\r
-\r
- public EventType EventId\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public Priority Priority\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public string Owner\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public IntPtr Subclass\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public ArrayList Headers\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public string Body\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public IntPtr BindUserData\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
-\r
- public IntPtr EventUserData\r
- {\r
- get { throw new NotImplementedException(); }\r
- }\r
- }\r
-\r
- [StructLayout(LayoutKind.Sequential)]\r
- public class EventSubclass\r
- {\r
- private string owner;\r
- private string name;\r
- }\r
-\r
- [StructLayout(LayoutKind.Sequential)]\r
- public class EventHeader\r
- {\r
- public string Name;\r
- public string Value;\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * EventCallback.cs --
- *
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public delegate void EventCallback(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(EventMarshaler))]
- Event _event);\r
-}
\ No newline at end of file
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * EventType.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public enum EventType\r
- {\r
- Custom,\r
- Create,\r
- Destroy,\r
- State,\r
- Answer,\r
- Hangup,\r
- Execute,\r
- Bridge,\r
- UnBridge,\r
- Progress,\r
- Outgoing,\r
- Park,\r
- UnPark,\r
- Api,\r
- Log,\r
- InboundChan,\r
- OutboundChan,\r
- Startup,\r
- Shutdown,\r
- Publish,\r
- UnPublish,\r
- Talk,\r
- NoTalk,\r
- SessionCrash,\r
- ModuleLoad,\r
- Dtmf,\r
- Message,\r
- Codec,\r
- BackgroundJob,\r
- All\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * FileHandle.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Marshaling.Types;
-
-namespace FreeSwitch.Types
-{
- public class FileHandle
- {
- internal HandleRef marshaledObject;
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * DtmfCallbackFunction.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Marshaling;
-
-namespace FreeSwitch.Types
-{
- public delegate Status InputCallbackFunction(
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CoreSessionMarshaler))]
- CoreSession session,
- [MarshalAs(UnmanagedType.LPStr)]
- string input,
- InputType inputType,
- [MarshalAs(UnmanagedType.LPStr)]
- string buffer,
- int bufferLength);
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ChannelState.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
- public enum InputType
- {
- INPUT_TYPE_DTMF,
- INPUT_TYPE_EVENT
- }
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * Channel.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public class LoadableModule\r
- {\r
- internal IntPtr address;\r
- \r
- private string name;\r
- private Buffer dtmfBuffer;\r
- internal IntPtr dtmf_mutex;\r
- internal IntPtr session;\r
- private ChannelState state;\r
- private ChannelFlag flags;\r
- private CallerProfile callerProfile;\r
- private CallerProfile originatorCallerProfile;\r
- private CallerProfile originateeCallerProfile;\r
- private CallerExtension callerExtension;\r
- internal byte[] state_handlers;\r
- internal int state_handler_index;\r
- internal IntPtr variables;\r
- private ChannelTimetable times;\r
- internal IntPtr privateInfo;\r
- private int freq;\r
- private int bits;\r
- private int channels;\r
- private int ms;\r
- private int kbps;\r
-\r
- public string Name\r
- {\r
- set { name = value; }\r
- get { return name; }\r
- }\r
-\r
- public Buffer DtmfBuffer\r
- {\r
- set { dtmfBuffer = value; }\r
- get { return dtmfBuffer; }\r
- }\r
-\r
- public ChannelState State\r
- {\r
- set { state = value; }\r
- get { return state; }\r
- }\r
-\r
- public ChannelFlag Flags\r
- {\r
- set { flags = value; }\r
- get { return flags; }\r
- }\r
-\r
- public CallerProfile CallerProfile\r
- {\r
- set { callerProfile = value; }\r
- get { return callerProfile; }\r
- }\r
-\r
- public CallerProfile OriginatorCallerProfile\r
- {\r
- set { originatorCallerProfile = value; }\r
- get { return originatorCallerProfile; }\r
- }\r
-\r
- public CallerProfile OriginateeCallerProfile\r
- {\r
- set { originateeCallerProfile = value; }\r
- get { return originateeCallerProfile; }\r
- }\r
-\r
- public CallerExtension CallerExtension\r
- {\r
- set { callerExtension = value; }\r
- get { return callerExtension; }\r
- }\r
-\r
- public ChannelTimetable Times\r
- {\r
- set { times = value; }\r
- get { return times; }\r
- }\r
-\r
- public int Freq\r
- {\r
- set { freq = value; }\r
- get { return freq; }\r
- }\r
-\r
- public int Bits\r
- {\r
- set { bits = value; }\r
- get { return bits; }\r
- }\r
-\r
- public int Channels\r
- {\r
- set { channels = value; }\r
- get { return channels; }\r
- }\r
-\r
- public int Ms\r
- {\r
- set { ms = value; }\r
- get { return ms; }\r
- }\r
-\r
- public int Kbps\r
- {\r
- set { kbps = value; }\r
- get { return kbps; }\r
- }\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * LoadableModuleInterfaces.cs --
- *
- */
-using System;
-using System.Collections;
-using System.Runtime.InteropServices;
-using System.Text;
-using FreeSwitch.Marshaling;
-
-namespace FreeSwitch.Types
-{
-
-
- //public delegate void ModuleLoad();
-
- public class LoadableModuleInterface
- {
- private string module_name;
- //private EndpointInterface endpoint_interface;
- //private TimerInterface timer_interface;
- //private DialplanInterface dialplan_interface;
- //private CodecInterface codec_interface;
- //private ApplicationInterface application_interface;
- //private ApiInterface api_interface;
- //private FileInterface file_interface;
- //private SpeechInterface speech_interface;
- //private DirectoryInterface directory_interface;
- }
-}
+++ /dev/null
-/* \r
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>\r
- *\r
- * Version: MPL 1.1\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
- *\r
- * Software distributed under the License is distributed on an "AS IS" basis,\r
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
- * for the specific language governing rights and limitations under the\r
- * License.\r
- *\r
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application\r
- *\r
- * The Initial Developer of the Original Code is\r
- * James Martelletti <james@nerdc0re.com>\r
- * Portions created by the Initial Developer are Copyright (C)\r
- * the Initial Developer. All Rights Reserved.\r
- *\r
- * Contributor(s):\r
- * \r
- * James Martelletti <james@nerdc0re.com>\r
- *\r
- *\r
- * LogLevel.cs -- \r
- *\r
- */\r
-using System;\r
-using System.Collections;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public enum LogLevel\r
- {\r
- Console,\r
- Debug,\r
- Info,\r
- Notice,\r
- Warning,\r
- Error,\r
- Crit,\r
- Alert,\r
- Emerg\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-using System;\r
-using System.Runtime.InteropServices;\r
-\r
-namespace FreeSwitch.Types\r
-{\r
- public class MemoryPool\r
- {\r
- public HandleRef marshaledObject;\r
- }\r
-}\r
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Module.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;
-using FreeSwitch.Marshaling;
-
-namespace FreeSwitch.Types
-{
- public delegate Status ModuleReload();
- public delegate bool ModulePause();
- public delegate bool ModuleResume();
- public delegate bool ModuleStatus();
- public delegate Status ModuleRuntime();
- public delegate bool ModuleShutdown();
- public delegate Status ModuleLoad(ref IntPtr module, string name);
-
- public delegate void
- ApplicationFunction(
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CoreSessionMarshaler))]
- CoreSession session,
- [MarshalAs(UnmanagedType.LPStr)]
- string data);
-
- public delegate Status
- ApiFunction(
- [MarshalAs(UnmanagedType.LPStr)]
- string input,
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CoreSessionMarshaler))]
- CoreSession session,
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(StreamHandleMarshaler))]
- StreamHandle streamHandle);
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * ApplicationInterface.cs --
- *
- */
-using System;
-using System.Collections;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace FreeSwitch.Types
-{
- /*
- public class ApplicationInterface
- {
- private string interface_name;
- private ApplicationFunction application_function;
- private string long_desc;
- private string short_desc;
- private string syntax;
- //const struct switch_application_interface *next;
-
- public string InterfaceName
- {
- get { return interface_name; }
- }
-
- public ApplicationFunction ApplicationFunction
- {
- get { return application_function; }
- }
-
- public string LongDesc
- {
- get { return long_desc; }
- }
-
- public string ShortDesc
- {
- get { return short_desc; }
- }
- }*/
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * SpeechHandle.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;
-using FreeSwitch.Marshaling.Types;
-
-namespace FreeSwitch.Types
-{
- /*\r
- internal IntPtr speech_interface;\r
- internal UInt32 flags;\r
- internal IntPtr name;\r
- internal UInt32 rate;\r
- internal UInt32 speed;\r
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 80)]\r
- internal byte[] voice;\r
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 80)]\r
- internal byte[] engine;\r
- internal IntPtr memory_pool;\r
- internal IntPtr private_info;\r
- */
- public class SpeechHandle
- {
- internal HandleRef marshaledObject;\r
- \r
- public UInt32 flags\r
- {\r
- get\r
- {\r
- SpeechHandleMarshal speechHandleMarshal = (SpeechHandleMarshal)marshaledObject.Wrapper;\r
-\r
- return speechHandleMarshal.flags;\r
- }\r
- }\r
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * StateHandlerTable.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;
-using FreeSwitch.Marshaling.Types;
-
-namespace FreeSwitch.Types
-{\r
- public class StateHandlerTable
- {
- internal HandleRef marshaledObject;
-
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Status.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
- public enum Status
- {
- Success,
- False,
- Timeout,
- Restart,
- Terminate,
- NotImplemented,
- MemoryError,
- NoOp,
- Resample,
- GeneralError,
- InUse,
- Break
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * StreamHandle.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;
-using FreeSwitch.Marshaling.Types;
-
-namespace FreeSwitch.Types
-{\r
- public delegate Status StreamHandleWriteFunction(\r
- [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(StreamHandleMarshaler))]
- StreamHandle streamHandle,\r
- [MarshalAs(UnmanagedType.LPStr)]
- string fmt);
-
- public class StreamHandle
- {
- internal HandleRef marshaledObject;
-
- public void Write(string data)
- {
- StreamHandleMarshal streamHandleMarshal = (StreamHandleMarshal)marshaledObject.Wrapper;
- StreamHandleWriteFunction writeFunction = (StreamHandleWriteFunction)Marshal.GetDelegateForFunctionPointer(streamHandleMarshal.write_function, typeof(StreamHandleWriteFunction));\r
-
- writeFunction(this, data);
- }
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * TextChannel.cs --
- *
- */
-using System;
-
-namespace FreeSwitch.Types
-{
- public enum TextChannel
- {
- ChannelIdConsole,
- ChannelIdConsoleClean,
- ChannelIdEvent
- }
-}
+++ /dev/null
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2006, James Martelletti <james@nerdc0re.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * James Martelletti <james@nerdc0re.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * James Martelletti <james@nerdc0re.com>
- *
- *
- * Timer.cs --
- *
- */
-using System;
-using System.Runtime.InteropServices;\r
-using FreeSwitch.Marshaling;
-using FreeSwitch.Marshaling.Types;
-
-namespace FreeSwitch.Types
-{\r
- public class Timer
- {
- internal HandleRef marshaledObject;
-
- }
-}