提交 48ca4cc8 authored 作者: Michael Jerris's avatar Michael Jerris

updates, cleanups, and clarifications to the sample conf files. Uses more of…

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
上级 7db63e84
<!-- 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">
<!-- Advertise certian presence on startup . -->
<!-- Advertise certain presence on startup . -->
<advertise>
<room name="888@sub.mydomain.com" status="FreeSWITCH"/>
<room name="888@$${server_name}" status="FreeSWITCH"/>
</advertise>
<!-- 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"-->
<profile name="default">
<!-- Domain (for presence) -->
<param name="domain" value="sub.mydomain.com"/>
<param name="domain" value="$${server_name}"/>
<!-- Sample Rate-->
<param name="rate" value="8000"/>
<!-- Number of milliseconds per frame -->
......@@ -81,9 +81,9 @@
<!-- Conference pin -->
<!--<param name="pin" value="12345"/>-->
<!-- 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 -->
<param name="caller-id-number" value="8777423583"/>
<param name="caller-id-number" value="$${outbound_caller_id}"/>
</profile>
</profiles>
</configuration>
......@@ -29,7 +29,7 @@
<!-- Call the FreeSWITCH conference via SIP -->
<!--<extension name="FreeSWITCH Conference SIP">-->
<!--<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>-->
<!--</extension> -->
......@@ -53,7 +53,7 @@
<!-- 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=/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>
</extension>
......@@ -67,7 +67,7 @@
<!-- 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:sofia/$${domain}/1234@conference.freeswitch.org"/>
<action application="conference" data="bridge:mydynaconf:sofia/$${sip_profile}/1234@conference.freeswitch.org"/>
</condition>
</extension>
......
......@@ -8,12 +8,13 @@
<!-- Client Profile (Original mode) -->
<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="password" value="mypass"/>
<param name="dialplan" value="XML"/>
<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"/>
<!-- SASL "plain" or "md5" -->
<param name="sasl" value="plain"/>
......@@ -23,9 +24,6 @@
<param name="tls" value="true"/>
<!-- disable to trade async for more calls -->
<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) -->
<param name="exten" value="888"/>
<!-- VAD choose one -->
......@@ -37,11 +35,10 @@
<!-- Component (Server to Server Login) -->
<x-profile type="component">
<!-- All traffic for *@sub.mydomain.com will come to you -->
<param name="name" value="$${subdomain}"/>
<param name="name" value="$${xmpp_server_profile}"/>
<param name="password" value="secret"/>
<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"/>
<!-- disable to trade async for more calls -->
<param name="use-rtp-timer" value="true"/>
......
......@@ -4,8 +4,8 @@
</settings>
<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+XMPP" regex="XMPP:(.*)" replace="dingaling/$${domain}/$1"/>
<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>
</routes>
</configuration>
......@@ -13,34 +13,115 @@
Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
-->
<!--#set "domain=mydomain.com"-->
<!--#set "subdomain=sub.mydomain.com"-->
<!--#set "default_codecs=PCMU@20i"-->
<!--my domain is $${domain}-->
<!-- Preprocessor Variables
These are introduced when configuration strings must be consistent across modules.
-->
<!-- 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">
<!--#include "switch.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_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 "console.conf.xml"-->
<!--#include "sofia.conf.xml"-->
<!--#include "syslog.conf.xml"-->
<!--#include "woomera.conf.xml"-->
<!--#include "wanpipe.conf.xml"-->
<!--#include "portaudio.conf.xml"-->
<!--#include "alsa.conf.xml"-->
<!--#include "zeroconf.conf.xml"-->
<!--#include "xmpp_event.conf.xml"-->
<!--#include "dialplan_directory.conf.xml"-->
<!--#include "dingaling.conf.xml"-->
<!--#include "xml_curl.conf.xml"-->
<!--#include "xml_rpc.conf.xml"-->
<!--#include "rss.conf.xml"-->
<!--#include "sofia.conf.xml"-->
<!--#include "wanpipe.conf.xml"-->
<!--#include "woomera.conf.xml"-->
<!-- Applications -->
<!-- none for mod_bridgecall, mod_commands, mod_echo, mod_park, mod_playback -->
<!--#include "conference.conf.xml"-->
<!--#include "enum.conf.xml"-->
<!-- ivr.conf is used by mod_dptools -->
<!--#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"-->
</section>
......@@ -48,6 +129,8 @@
<!--#include "default_context.xml"-->
</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">
<!--#include "directory.xml"-->
</section>
......@@ -66,3 +149,4 @@
</document>
<configuration name="sofia.conf" description="sofia Endpoint">
<profiles>
<profile name="$${domain}">
<profile name="$${sip_profile}">
<!-- Outbound Registrations -->
<gateways>
<!--<gateway name="asterlink.com">-->
......@@ -28,12 +28,12 @@
<param name="sip-port" value="5060"/>
<param name="dialplan" value="enum,XML"/>
<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="use-rtp-timer" value="true"/>
<param name="rtp-timer-name" value="soft"/>
<param name="rtp-ip" value="auto"/>
<param name="sip-ip" value="auto"/>
<param name="rtp-ip" value="$${bind_server_ip}"/>
<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)-->
<!--<param name="rtp-rewrite-timestampes" value="true"/>-->
......@@ -60,9 +60,8 @@
<!-- on authed calls, authenticate *all* the packets not just invite -->
<!--<param name="auth-all-packets" value="true"/>-->
<!-- optional ; -->
<!-- <param name="ext-rtp-ip" value="stun:stun.server.com"/>-->
<!-- <param name="ext-rtp-ip" value="100.101.102.103"/> -->
<!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>-->
<!-- <param name="ext-sip-ip" value="100.101.102.103"/> -->
<!-- VAD choose one (out is a good choice); -->
<!-- <param name="vad" value="in"/> -->
......
#!/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();
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论