mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-30 23:24:18 +00:00
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:
1 parent
204e6cf43d
commit
ee5e2e0994
4 files changed
+2785
-31
No files matched your search
+91
-31
@@ -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-->
|
||||
|
||||
Reference in new issue
Block a user