updates, cleanups, and clarifications to the sample conf files. Uses more of the preprocessor variables for simplicity. FSBUILD-2 from Mark D. Anderson. Thanks Mark.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5034 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
7db63e84db
commit
48ca4cc864
|
@ -1,8 +1,8 @@
|
||||||
<!-- None of these paths are real if you want any of these options you need to really set them up -->
|
<!-- 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">
|
<configuration name="conference.conf" description="Audio Conference">
|
||||||
<!-- Advertise certian presence on startup . -->
|
<!-- Advertise certain presence on startup . -->
|
||||||
<advertise>
|
<advertise>
|
||||||
<room name="888@sub.mydomain.com" status="FreeSWITCH"/>
|
<room name="888@$${server_name}" status="FreeSWITCH"/>
|
||||||
</advertise>
|
</advertise>
|
||||||
|
|
||||||
<!-- These are the default keys that map when you do not specify a caller control group -->
|
<!-- These are the default keys that map when you do not specify a caller control group -->
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
<!--If no profile is specified it will default to "default"-->
|
<!--If no profile is specified it will default to "default"-->
|
||||||
<profile name="default">
|
<profile name="default">
|
||||||
<!-- Domain (for presence) -->
|
<!-- Domain (for presence) -->
|
||||||
<param name="domain" value="sub.mydomain.com"/>
|
<param name="domain" value="$${server_name}"/>
|
||||||
<!-- Sample Rate-->
|
<!-- Sample Rate-->
|
||||||
<param name="rate" value="8000"/>
|
<param name="rate" value="8000"/>
|
||||||
<!-- Number of milliseconds per frame -->
|
<!-- Number of milliseconds per frame -->
|
||||||
|
@ -81,9 +81,9 @@
|
||||||
<!-- Conference pin -->
|
<!-- Conference pin -->
|
||||||
<!--<param name="pin" value="12345"/>-->
|
<!--<param name="pin" value="12345"/>-->
|
||||||
<!-- Default Caller ID Name for outbound calls -->
|
<!-- Default Caller ID Name for outbound calls -->
|
||||||
<param name="caller-id-name" value="FreeSWITCH"/>
|
<param name="caller-id-name" value="$${outbound_caller_name}"/>
|
||||||
<!-- Default Caller ID Number for outbound calls -->
|
<!-- Default Caller ID Number for outbound calls -->
|
||||||
<param name="caller-id-number" value="8777423583"/>
|
<param name="caller-id-number" value="$${outbound_caller_id}"/>
|
||||||
</profile>
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<!-- Call the FreeSWITCH conference via SIP -->
|
<!-- Call the FreeSWITCH conference via SIP -->
|
||||||
<!--<extension name="FreeSWITCH Conference SIP">-->
|
<!--<extension name="FreeSWITCH Conference SIP">-->
|
||||||
<!--<condition field="destination_number" expression="^888$">-->
|
<!--<condition field="destination_number" expression="^888$">-->
|
||||||
<!--<action application="bridge" data="sofia/$${domain}/888@conference.freeswitch.org"/>-->
|
<!--<action application="bridge" data="sofia/$${sip_profile}/888@conference.freeswitch.org"/>-->
|
||||||
<!--</condition>-->
|
<!--</condition>-->
|
||||||
<!--</extension> -->
|
<!--</extension> -->
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
<!-- Request a certain tone/file to be played while you wait for the call to be answered-->
|
<!-- Request a certain tone/file to be played while you wait for the call to be answered-->
|
||||||
<action application="set" data="ringback=${us-ring}"/>
|
<action application="set" data="ringback=${us-ring}"/>
|
||||||
<!--<action application="set" data="ringback=/home/ring.wav"/>-->
|
<!--<action application="set" data="ringback=/home/ring.wav"/>-->
|
||||||
<action application="bridge" data="sofia/$${domain}/1234@conference.freeswitch.org"/>
|
<action application="bridge" data="sofia/$${sip_profile}/1234@conference.freeswitch.org"/>
|
||||||
</condition>
|
</condition>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
<!-- Start a dynamic conference and call someone at the same time -->
|
<!-- Start a dynamic conference and call someone at the same time -->
|
||||||
<extension name="2000">
|
<extension name="2000">
|
||||||
<condition field="destination_number" expression="^2000$">
|
<condition field="destination_number" expression="^2000$">
|
||||||
<action application="conference" data="bridge:mydynaconf:sofia/$${domain}/1234@conference.freeswitch.org"/>
|
<action application="conference" data="bridge:mydynaconf:sofia/$${sip_profile}/1234@conference.freeswitch.org"/>
|
||||||
</condition>
|
</condition>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,13 @@
|
||||||
|
|
||||||
<!-- Client Profile (Original mode) -->
|
<!-- Client Profile (Original mode) -->
|
||||||
<x-profile type="client">
|
<x-profile type="client">
|
||||||
<param name="name" value="$${domain}"/>
|
<param name="name" value="$${xmpp_client_profile}"/>
|
||||||
<param name="login" value="myjid@myserver.com/talk"/>
|
<param name="login" value="myjid@myserver.com/talk"/>
|
||||||
<param name="password" value="mypass"/>
|
<param name="password" value="mypass"/>
|
||||||
<param name="dialplan" value="XML"/>
|
<param name="dialplan" value="XML"/>
|
||||||
<param name="message" value="Jingle all the way"/>
|
<param name="message" value="Jingle all the way"/>
|
||||||
<param name="rtp-ip" value="auto"/>
|
<param name="rtp-ip" value="$${bind_server_ip}"/>
|
||||||
|
<!-- <param name="ext-rtp-ip" value="$${external_rtp_ip"/> -->
|
||||||
<param name="auto-login" value="true"/>
|
<param name="auto-login" value="true"/>
|
||||||
<!-- SASL "plain" or "md5" -->
|
<!-- SASL "plain" or "md5" -->
|
||||||
<param name="sasl" value="plain"/>
|
<param name="sasl" value="plain"/>
|
||||||
|
@ -23,9 +24,6 @@
|
||||||
<param name="tls" value="true"/>
|
<param name="tls" value="true"/>
|
||||||
<!-- disable to trade async for more calls -->
|
<!-- disable to trade async for more calls -->
|
||||||
<param name="use-rtp-timer" value="true"/>
|
<param name="use-rtp-timer" value="true"/>
|
||||||
<!-- or -->
|
|
||||||
<!-- <param name="rtp-ip" value="auto"/> -->
|
|
||||||
<!-- <param name="ext-rtp-ip" value="stun:stun.server.com"/> -->
|
|
||||||
<!-- default extension (if one cannot be determined) -->
|
<!-- default extension (if one cannot be determined) -->
|
||||||
<param name="exten" value="888"/>
|
<param name="exten" value="888"/>
|
||||||
<!-- VAD choose one -->
|
<!-- VAD choose one -->
|
||||||
|
@ -37,11 +35,10 @@
|
||||||
|
|
||||||
<!-- Component (Server to Server Login) -->
|
<!-- Component (Server to Server Login) -->
|
||||||
<x-profile type="component">
|
<x-profile type="component">
|
||||||
<!-- All traffic for *@sub.mydomain.com will come to you -->
|
<param name="name" value="$${xmpp_server_profile}"/>
|
||||||
<param name="name" value="$${subdomain}"/>
|
|
||||||
<param name="password" value="secret"/>
|
<param name="password" value="secret"/>
|
||||||
<param name="dialplan" value="XML"/>
|
<param name="dialplan" value="XML"/>
|
||||||
<param name="rtp-ip" value="auto"/>
|
<param name="rtp-ip" value="$${bind_server_ip}"/>
|
||||||
<param name="server" value="jabber.server.org:5347"/>
|
<param name="server" value="jabber.server.org:5347"/>
|
||||||
<!-- disable to trade async for more calls -->
|
<!-- disable to trade async for more calls -->
|
||||||
<param name="use-rtp-timer" value="true"/>
|
<param name="use-rtp-timer" value="true"/>
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
</settings>
|
</settings>
|
||||||
|
|
||||||
<routes>
|
<routes>
|
||||||
<route service="E2U+SIP" regex="sip:(.*)" replace="sofia/$${domain}/$1"/>
|
<route service="E2U+SIP" regex="sip:(.*)" replace="sofia/$${sip_profile}/$1"/>
|
||||||
<route service="E2U+IAX2" regex="iax2:(.*)" replace="iax/$1"/>
|
<route service="E2U+IAX2" regex="iax2:(.*)" replace="iax/$1"/>
|
||||||
<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${domain}/$1"/>
|
<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>
|
||||||
</routes>
|
</routes>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
|
@ -13,34 +13,115 @@
|
||||||
Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
|
Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!--#set "domain=mydomain.com"-->
|
<!-- Preprocessor Variables
|
||||||
<!--#set "subdomain=sub.mydomain.com"-->
|
These are introduced when configuration strings must be consistent across modules.
|
||||||
<!--#set "default_codecs=PCMU@20i"-->
|
-->
|
||||||
<!--my domain is $${domain}-->
|
<!-- sip_profile
|
||||||
|
Must be a domain name if you are being a registry server; otherwise
|
||||||
|
can be any string.
|
||||||
|
used by: sofia.conf.xml enum.conf.xml default_context.xml directory.xml
|
||||||
|
-->
|
||||||
|
<!--#set "sip_profile=mydomain.com"-->
|
||||||
|
<!-- xmpp_client_profile and xmpp_server_profile
|
||||||
|
xmpp_client_profile can be any string.
|
||||||
|
xmpp_server_profile is appended to "dingaling_" to form the database name
|
||||||
|
containing the "subscriptions" table.
|
||||||
|
used by: dingaling.conf.xml enum.conf.xml
|
||||||
|
-->
|
||||||
|
<!--#set "xmpp_client_profile=xmppc"-->
|
||||||
|
<!--#set "xmpp_server_profile=xmpps"-->
|
||||||
|
<!-- bind_server_ip
|
||||||
|
Can be an ip address, a dns name, or "auto".
|
||||||
|
This determines an ip address available on this host to bind.
|
||||||
|
If you are separating RTP and SIP traffic, you will want to have
|
||||||
|
use different addresses where this variable appears.
|
||||||
|
Used by: sofia.conf.xml dingaling.conf.xml
|
||||||
|
-->
|
||||||
|
<!--#set "bind_server_ip=auto"-->
|
||||||
|
<!-- external_rtp_ip
|
||||||
|
Used as the public IP address for SDP.
|
||||||
|
Can be an ip address or a string like "stun:stun.server.com"
|
||||||
|
If unspecified, the bind_server_ip value is used.
|
||||||
|
Used by: sofia.conf.xml dingaling.conf.xml
|
||||||
|
-->
|
||||||
|
<!--#set "external_rtp_ip=stun:stun.server.com"-->
|
||||||
|
<!-- server_name
|
||||||
|
A public ip address or DNS name that is used when advertising conference
|
||||||
|
presence or registering sip.
|
||||||
|
Used by: conference.conf.xml
|
||||||
|
-->
|
||||||
|
<!-- outbound_caller_id and outbound_caller_name
|
||||||
|
The caller ID telephone number we should use when calling out.
|
||||||
|
Used by: conference.conf.xml
|
||||||
|
-->
|
||||||
|
<!--#set "outbound_caller_name=FreeSWITCH"-->
|
||||||
|
<!--#set "outbound_caller_id=8777423583"-->
|
||||||
|
|
||||||
<section name="configuration" description="Various Configuration">
|
<section name="configuration" description="Various Configuration">
|
||||||
<!--#include "switch.conf.xml"-->
|
<!--#include "switch.conf.xml"-->
|
||||||
<!--#include "modules.conf.xml"-->
|
<!--#include "modules.conf.xml"-->
|
||||||
<!--#include "spidermonkey.conf.xml"-->
|
|
||||||
|
<!-- Order doesn't matter, but for clarity these are in same order as modules.conf.xml.
|
||||||
|
If they aren't loaded by modules.conf.xml, then they are ignored.
|
||||||
|
-->
|
||||||
|
<!-- Loggers -->
|
||||||
|
<!--#include "console.conf.xml"-->
|
||||||
|
<!--#include "syslog.conf.xml"-->
|
||||||
|
|
||||||
|
<!-- Multi-Faceted -->
|
||||||
|
<!--#include "enum.conf.xml"-->
|
||||||
|
|
||||||
|
<!-- XML Interfaces -->
|
||||||
|
<!--#include "xml_rpc.conf.xml"-->
|
||||||
|
<!--#include "xml_curl.conf.xml"-->
|
||||||
|
<!-- none for mod_xml_cdr -->
|
||||||
|
|
||||||
|
<!-- Event Handlers -->
|
||||||
|
<!--#include "cdr.conf.xml"-->
|
||||||
<!--#include "event_multicast.conf.xml"-->
|
<!--#include "event_multicast.conf.xml"-->
|
||||||
<!--#include "event_socket.conf.xml"-->
|
<!--#include "event_socket.conf.xml"-->
|
||||||
|
<!--#include "xmpp_event.conf.xml"-->
|
||||||
|
<!--#include "zeroconf.conf.xml"-->
|
||||||
|
|
||||||
|
<!-- Directory Interfaces -->
|
||||||
|
<!-- none for mod_ldap; dialplan_directory.conf.xml has ldap connection info -->
|
||||||
|
|
||||||
|
<!-- Endpoints -->
|
||||||
|
<!--#include "dingaling.conf.xml"-->
|
||||||
<!--#include "iax.conf.xml"-->
|
<!--#include "iax.conf.xml"-->
|
||||||
<!--#include "console.conf.xml"-->
|
|
||||||
<!--#include "sofia.conf.xml"-->
|
|
||||||
<!--#include "syslog.conf.xml"-->
|
|
||||||
<!--#include "woomera.conf.xml"-->
|
|
||||||
<!--#include "wanpipe.conf.xml"-->
|
|
||||||
<!--#include "portaudio.conf.xml"-->
|
<!--#include "portaudio.conf.xml"-->
|
||||||
<!--#include "alsa.conf.xml"-->
|
<!--#include "alsa.conf.xml"-->
|
||||||
<!--#include "zeroconf.conf.xml"-->
|
<!--#include "sofia.conf.xml"-->
|
||||||
<!--#include "xmpp_event.conf.xml"-->
|
<!--#include "wanpipe.conf.xml"-->
|
||||||
<!--#include "dialplan_directory.conf.xml"-->
|
<!--#include "woomera.conf.xml"-->
|
||||||
<!--#include "dingaling.conf.xml"-->
|
|
||||||
<!--#include "xml_curl.conf.xml"-->
|
<!-- Applications -->
|
||||||
<!--#include "xml_rpc.conf.xml"-->
|
<!-- none for mod_bridgecall, mod_commands, mod_echo, mod_park, mod_playback -->
|
||||||
<!--#include "rss.conf.xml"-->
|
|
||||||
<!--#include "conference.conf.xml"-->
|
<!--#include "conference.conf.xml"-->
|
||||||
<!--#include "enum.conf.xml"-->
|
<!-- ivr.conf is used by mod_dptools -->
|
||||||
<!--#include "ivr.conf.xml"-->
|
<!--#include "ivr.conf.xml"-->
|
||||||
|
|
||||||
|
<!-- Dialplan Interfaces -->
|
||||||
|
<!--#include "dialplan_directory.conf.xml"-->
|
||||||
|
<!-- mod_dialplan_xml is configured in the separate "dialplan" section. -->
|
||||||
|
|
||||||
|
<!-- Codec Interfaces -->
|
||||||
|
<!-- no configuration needed -->
|
||||||
|
<!-- File Format Interfaces -->
|
||||||
|
<!-- no configuration needed -->
|
||||||
|
<!-- Timers -->
|
||||||
|
<!-- no configuration needed -->
|
||||||
|
|
||||||
|
<!-- Languages -->
|
||||||
|
<!--#include "spidermonkey.conf.xml"-->
|
||||||
|
<!-- none for mod_perl -->
|
||||||
|
|
||||||
|
<!-- ASR /TTS -->
|
||||||
|
<!-- none for mod_cepstral -->
|
||||||
|
<!--#include "rss.conf.xml"-->
|
||||||
|
|
||||||
|
<!-- Say -->
|
||||||
|
<!-- none for mod_say_en -->
|
||||||
<!--#include "mod_cdr.conf.xml"-->
|
<!--#include "mod_cdr.conf.xml"-->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -48,6 +129,8 @@
|
||||||
<!--#include "default_context.xml"-->
|
<!--#include "default_context.xml"-->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<!-- mod_dingaling is reliant on the vcard data in the "directory" section. -->
|
||||||
|
<!-- mod_sofia is reliant on the user data for authorization -->
|
||||||
<section name="directory" description="User Directory">
|
<section name="directory" description="User Directory">
|
||||||
<!--#include "directory.xml"-->
|
<!--#include "directory.xml"-->
|
||||||
</section>
|
</section>
|
||||||
|
@ -66,3 +149,4 @@
|
||||||
|
|
||||||
</document>
|
</document>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<configuration name="sofia.conf" description="sofia Endpoint">
|
<configuration name="sofia.conf" description="sofia Endpoint">
|
||||||
<profiles>
|
<profiles>
|
||||||
<profile name="$${domain}">
|
<profile name="$${sip_profile}">
|
||||||
<!-- Outbound Registrations -->
|
<!-- Outbound Registrations -->
|
||||||
<gateways>
|
<gateways>
|
||||||
<!--<gateway name="asterlink.com">-->
|
<!--<gateway name="asterlink.com">-->
|
||||||
|
@ -28,12 +28,12 @@
|
||||||
<param name="sip-port" value="5060"/>
|
<param name="sip-port" value="5060"/>
|
||||||
<param name="dialplan" value="enum,XML"/>
|
<param name="dialplan" value="enum,XML"/>
|
||||||
<param name="dtmf-duration" value="100"/>
|
<param name="dtmf-duration" value="100"/>
|
||||||
<param name="codec-prefs" value="$${default_codecs}"/>
|
<param name="codec-prefs" value="PCMU@20i"/>
|
||||||
<param name="codec-ms" value="20"/>
|
<param name="codec-ms" value="20"/>
|
||||||
<param name="use-rtp-timer" value="true"/>
|
<param name="use-rtp-timer" value="true"/>
|
||||||
<param name="rtp-timer-name" value="soft"/>
|
<param name="rtp-timer-name" value="soft"/>
|
||||||
<param name="rtp-ip" value="auto"/>
|
<param name="rtp-ip" value="$${bind_server_ip}"/>
|
||||||
<param name="sip-ip" value="auto"/>
|
<param name="sip-ip" value="$${bind_server_ip}"/>
|
||||||
|
|
||||||
<!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
|
<!--If you don't want to pass through timestampes from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
|
||||||
<!--<param name="rtp-rewrite-timestampes" value="true"/>-->
|
<!--<param name="rtp-rewrite-timestampes" value="true"/>-->
|
||||||
|
@ -60,9 +60,8 @@
|
||||||
<!-- on authed calls, authenticate *all* the packets not just invite -->
|
<!-- on authed calls, authenticate *all* the packets not just invite -->
|
||||||
<!--<param name="auth-all-packets" value="true"/>-->
|
<!--<param name="auth-all-packets" value="true"/>-->
|
||||||
|
|
||||||
<!-- optional ; -->
|
<!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>-->
|
||||||
<!-- <param name="ext-rtp-ip" value="stun:stun.server.com"/>-->
|
|
||||||
<!-- <param name="ext-rtp-ip" value="100.101.102.103"/> -->
|
|
||||||
<!-- <param name="ext-sip-ip" value="100.101.102.103"/> -->
|
<!-- <param name="ext-sip-ip" value="100.101.102.103"/> -->
|
||||||
<!-- VAD choose one (out is a good choice); -->
|
<!-- VAD choose one (out is a good choice); -->
|
||||||
<!-- <param name="vad" value="in"/> -->
|
<!-- <param name="vad" value="in"/> -->
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/usr/bin/perl -w
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
combineconf.pl - expand #include PIs in a freeswitch conf file
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# cd conf
|
||||||
|
# ../scripts/combineconf.pl freeswitch.xml > freeswitch_combined.xml
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
This is recursive, and will take multiple input files on the command line.
|
||||||
|
|
||||||
|
You need to run it from the working directory that the relative include paths
|
||||||
|
except to be resolved from.
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Mark D. Anderson (mda@discerning.com)
|
||||||
|
Released under same terms as Perl, or alternatively the MPL.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
use IO::File;
|
||||||
|
|
||||||
|
sub filter_file {
|
||||||
|
my ($f) = @_;
|
||||||
|
my $fh = $f eq '-' ? \*STDIN : IO::File->new($f, 'r');
|
||||||
|
die "ERROR: Can't open $f: $!\n" unless $fh;
|
||||||
|
while(<$fh>) {
|
||||||
|
if (m/<!--#include\s+"(.*?)"/) {
|
||||||
|
filter_file($1);
|
||||||
|
}
|
||||||
|
else {print;}
|
||||||
|
}
|
||||||
|
undef $fh;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub main {
|
||||||
|
die "Usage: $0 file1 ...\nCombined output goes to stdout. Use '-' as the filename to use stdin." unless @ARGV;
|
||||||
|
for(@ARGV) {
|
||||||
|
filter_file($_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
Loading…
Reference in New Issue