add a new software conference module (mod_conference)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1770 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
204e6cf43d
commit
ee5e2e0994
|
@ -7,7 +7,7 @@
|
|||
<load module="mod_console"/>
|
||||
<!-- <load module="mod_syslog"/> -->
|
||||
|
||||
<!-- XML Interfaces -->
|
||||
<!-- XML Interfaces -->
|
||||
<!-- <load module="mod_xml_rpc"/> -->
|
||||
|
||||
<!-- Event Handlers -->
|
||||
|
@ -59,6 +59,10 @@
|
|||
<!-- ASR /TTS -->
|
||||
<!-- <load module="mod_cepstral"/> -->
|
||||
<!-- <load module="mod_rss"/> -->
|
||||
|
||||
<!-- Conference Bridges -->
|
||||
<!--<load module="mod_conference"/>-->
|
||||
|
||||
</modules>
|
||||
</configuration>
|
||||
|
||||
|
@ -107,12 +111,12 @@
|
|||
<param name="dialplan" value="XML"/>
|
||||
<param name="dtmf-duration" value="100"/>
|
||||
<param name="codec-prefs" value="PCMU,PCMA"/>
|
||||
<!-- Payload number to bind DTMF to-->
|
||||
<!-- Payload number to bind DTMF to-->
|
||||
<param name="rfc2833-pt" value="101"/>
|
||||
<!-- disable to trade async for more calls -->
|
||||
<param name="use-rtp-timer" value="true"/>
|
||||
<!-- auto sense NAT issues and adjust accordingly -->
|
||||
<param name="use-rtp-auto-adjust" value="true"/>
|
||||
<!-- disable to trade async for more calls -->
|
||||
<param name="use-rtp-timer" value="true"/>
|
||||
<!-- auto sense NAT issues and adjust accordingly -->
|
||||
<param name="use-rtp-auto-adjust" value="true"/>
|
||||
<!-- pick one (default if not specified is 'guess'); -->
|
||||
<param name="rtp-ip" value="guess"/>
|
||||
<!-- <param name-"rtp-ip" value="10.0.0.1"/> -->
|
||||
|
@ -228,8 +232,8 @@
|
|||
<param name="message" value="Jingle all the way"/>
|
||||
<param name="rtp-ip" value="10.0.0.1"/>
|
||||
<param name="auto-login" value="true"/>
|
||||
<!-- disable to trade async for more calls -->
|
||||
<param name="use-rtp-timer" value="true"/>
|
||||
<!-- disable to trade async for more calls -->
|
||||
<param name="use-rtp-timer" value="true"/>
|
||||
<!-- or -->
|
||||
<!-- <param name="rtp-ip" value="my_lan_ip"/> -->
|
||||
<!-- <param name="ext-rtp-ip" value="stun:stun.server.com"/> -->
|
||||
|
@ -243,16 +247,16 @@
|
|||
</configuration>
|
||||
<configuration name="xml_rpc.conf" description="XML RPC">
|
||||
<settings>
|
||||
<!-- The port where you want to run the http service (default 8080) -->
|
||||
<param name="http-port" value="8080"/>
|
||||
<!-- if all 3 of the following params exist all http traffic will require auth -->
|
||||
<!-- The port where you want to run the http service (default 8080) -->
|
||||
<param name="http-port" value="8080"/>
|
||||
<!-- if all 3 of the following params exist all http traffic will require auth -->
|
||||
<param name="auth-realm" value="freeswitch"/>
|
||||
<param name="auth-user" value="freeswitch"/>
|
||||
<param name="auth-pass" value="works"/>
|
||||
<!-- The url to a gateway cgi that can generate xml similar to
|
||||
what's in this file only on-the-fly (leave it commented if you dont
|
||||
need it) -->
|
||||
<!-- one or more |-delim of configuration|directory|dialplan -->
|
||||
<!-- one or more |-delim of configuration|directory|dialplan -->
|
||||
<!-- <param name="gateway-url" value="http://www.server.com/gateway.cgi" bindings="configuration"/> -->
|
||||
</settings>
|
||||
</configuration>
|
||||
|
@ -265,6 +269,48 @@
|
|||
</feeds>
|
||||
</configuration>
|
||||
|
||||
<!-- None of these paths are real if you want any of these options
|
||||
you need to really set them up -->
|
||||
<configuration name="conference.conf" description="Audio Conference">
|
||||
<!-- Profiles are collections of settings you can reference by name. -->
|
||||
<profiles>
|
||||
<profile name="default">
|
||||
<!-- Sample Rate-->
|
||||
<param name="rate" value="8000"/>
|
||||
<!-- Number of milliseconds per frame -->
|
||||
<param name="interval" value="20"/>
|
||||
<!-- Energy level required for audio to be sent to the other users -->
|
||||
<param name="energy_level" value="300"/>
|
||||
<!-- File to play to acknowledge succees -->
|
||||
<!--<param name="ack_sound" value="/soundfiles/beep.wav"/>-->
|
||||
<!-- File to play to acknowledge failure -->
|
||||
<!--<param name="nack_sound" value="/soundfiles/beeperr.wav"/>-->
|
||||
<!-- File to play to acknowledge muted -->
|
||||
<!--<param name="muted_sound" value="/soundfiles/muted.wav"/>-->
|
||||
<!-- File to play to acknowledge unmuted -->
|
||||
<!--<param name="unmuted_sound" value="/soundfiles/unmuted.wav"/>-->
|
||||
<!-- File to play if you are alone in the conference -->
|
||||
<!--<param name="alone_sound" value="/soundfiles/yactopitc.wav"/>-->
|
||||
<!-- File to play when you join the conference -->
|
||||
<!--<param name="enter_sound" value="/soundfiles/welcome.wav"/>-->
|
||||
<!-- File to play when you leave the conference -->
|
||||
<!--<param name="exit_sound" value="/soundfiles/exit.wav"/>-->
|
||||
<!-- File to play when you ae ejected from the conference -->
|
||||
<!--<param name="kicked_sound" value="/soundfiles/kicked.wav"/>-->
|
||||
<!-- File to play when the conference is locked -->
|
||||
<!--<param name="locked_sound" value="/soundfiles/locked.wav"/>-->
|
||||
<!-- File to play to prompt for a pin -->
|
||||
<!--<param name="pin_sound" value="/soundfiles/pin.wav"/>-->
|
||||
<!-- File to play to when the pin is invalid -->
|
||||
<!--<param name="bad_pin_sound" value="/soundfiles/invalid-pin.wav"/>-->
|
||||
<!-- Conference pin -->
|
||||
<!--<param name="pin" value="12345"/>-->
|
||||
</profile>
|
||||
</profiles>
|
||||
<rooms>
|
||||
<room name="freeswitch" profile="default"/>
|
||||
</rooms>
|
||||
</configuration>
|
||||
</section>
|
||||
<section name="dialplan" description="Regex/XML Dialplan">
|
||||
<!-- Valid fields in conditions:
|
||||
|
@ -274,17 +320,31 @@
|
|||
|
||||
<!-- *NOTE* The special context name 'any' will match any context -->
|
||||
<context name="default">
|
||||
<extension name="tollfree">
|
||||
<condition field="destination_number" expression="^(18[0{2}8{2}7{2}6{2}]\d{7})">
|
||||
<action application="bridge" data="exosip/$1-freeswitch@voip.trxtel.com"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="tollfree">
|
||||
<condition field="destination_number" expression="^(18[0{2}8{2}7{2}6{2}]\d{7})">
|
||||
<action application="bridge" data="exosip/$1-freeswitch@voip.trxtel.com"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="devconf">
|
||||
<condition field="destination_number" expression="^888$">
|
||||
<action application="bridge" data="exosip/888@66.250.68.194"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="devconf">
|
||||
<condition field="destination_number" expression="^888$">
|
||||
<action application="bridge" data="exosip/888@66.250.68.194"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<!-- Enter an existing conference -->
|
||||
<extension name="1000">
|
||||
<condition field="destination_number" expression="^1000$">
|
||||
<action application="conference" data="1000"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<!-- Start a dynamic conference and call someone at the same time -->
|
||||
<extension name="2000">
|
||||
<condition field="destination_number" expression="^2000$">
|
||||
<action application="conference" data="bridge:mydynaconf:exosip/1234@66.250.68.194"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<!-- if the destination is an exact match on the extension name
|
||||
you do not need any regex in the condition -->
|
||||
|
@ -294,30 +354,30 @@
|
|||
<!-- extensions starting with 4, all the numbers after 4 form a numeric filename
|
||||
continue=true means keep looking for more extensions to match
|
||||
*NOTE* The entire dialplan is parsed ONCE when the call starts
|
||||
so any call info acquired after the various actions cannot
|
||||
be taken into consideration.
|
||||
so any call info acquired after the various actions cannot
|
||||
be taken into consideration.
|
||||
|
||||
The first match will play a beep and the second one plays
|
||||
the desired file. This is for demo purposes both actions
|
||||
could have been under the same <extension> tag as well.
|
||||
-->
|
||||
The first match will play a beep and the second one plays
|
||||
the desired file. This is for demo purposes both actions
|
||||
could have been under the same <extension> tag as well.
|
||||
-->
|
||||
<extension name="playsound1" continue="true">
|
||||
<condition field="source" expression="mod_exosip"/>
|
||||
<condition field="destination_number" expression="^4(\d+)">
|
||||
<action application="playback" data="/var/sounds/beep.gsm"/>
|
||||
</condition>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="playsound2">
|
||||
<condition field="source" expression="mod_exosip"/>
|
||||
<condition field="destination_number" expression="^4(\d+)">
|
||||
<action application="playback" data="/root/$1.raw"/>
|
||||
</condition>
|
||||
</condition>
|
||||
</extension>
|
||||
<!-- send everything with a certian RDNIS to Wanpipe ISDN -->
|
||||
<extension name="To PRI">
|
||||
<condition field="rdnis" expression="8881231234"/>
|
||||
<condition field="destination_number" expression="(.*)">
|
||||
<action application="bridge" data="wanpipe/a/a/$1"/>
|
||||
<action application="bridge" data="wanpipe/a/a/$1"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<!-- Call *MUST* originate from mod_iax and also be dialing ext 9999-->
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,209 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="mod_conference"
|
||||
ProjectGUID="{C24FB505-05D7-4319-8485-7540B44C8603}"
|
||||
RootNamespace="mod_conference"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)include";"$(InputDir)..\..\..\..\libs\include""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="4"
|
||||
WarnAsError="true"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_conference.dll"
|
||||
LinkIncremental="2"
|
||||
AdditionalLibraryDirectories="..\..\..\..\w32\vsnet\$(OutDir)"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/mod_conference.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary="$(OutDir)/mod_conference.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""$(InputDir)..\..\..\include";"$(InputDir)include";"$(InputDir)..\..\..\..\libs\include""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_EXPORTS"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="4"
|
||||
WarnAsError="true"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="..\..\..\..\w32\vsnet\$(OutDir)/mod/mod_conference.dll"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\..\..\w32\vsnet\$(OutDir)"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
ImportLibrary="$(OutDir)/mod_conference.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\mod_conference.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -208,6 +208,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_rss", "..\..\src\mod\ap
|
|||
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_conference", "..\..\src\mod\applications\mod_conference\mod_conference.vcproj", "{C24FB505-05D7-4319-8485-7540B44C8603}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{202D7A4E-760D-4D0E-AFA1-D7459CED30FF} = {202D7A4E-760D-4D0E-AFA1-D7459CED30FF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
|
@ -354,6 +359,10 @@ Global
|
|||
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4}.Release|Win32.Build.0 = Release|Win32
|
||||
{C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C24FB505-05D7-4319-8485-7540B44C8603}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C24FB505-05D7-4319-8485-7540B44C8603}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -376,6 +385,7 @@ Global
|
|||
{0E2C6395-13B9-46E5-9264-8859D346018D} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
|
||||
{30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
|
||||
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
|
||||
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
|
||||
{3A5B9131-F20C-4A85-9447-6C1610941CEE} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
|
||||
{5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
|
||||
{FE3540C5-3303-46E0-A69E-D92F775687F1} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
|
||||
|
|
Loading…
Reference in New Issue