upated to latest git with additional modules
authorMazi Lo <OpenWRT@slickdeals.endjunk.com>
Sat, 21 May 2011 14:21:16 +0000 (14:21 +0000)
committerMazi Lo <OpenWRT@slickdeals.endjunk.com>
Sat, 21 May 2011 14:21:16 +0000 (14:21 +0000)
SVN-Revision: 26966

13 files changed:
net/freeswitch/Makefile
net/freeswitch/files/etc.minimal/autoload_configs/acl.conf.xml
net/freeswitch/files/etc.minimal/autoload_configs/callcenter.conf.xml [new file with mode: 0644]
net/freeswitch/files/etc.minimal/autoload_configs/modules.conf.xml
net/freeswitch/files/etc.minimal/autoload_configs/spandsp.conf.xml [new file with mode: 0644]
net/freeswitch/files/etc.minimal/autoload_configs/switch.conf.xml
net/freeswitch/files/etc.minimal/autoload_configs/syslog.conf.xml
net/freeswitch/files/etc.minimal/dialplan/default.xml
net/freeswitch/files/etc.minimal/dialplan/public.xml
net/freeswitch/files/etc.minimal/jingle_profiles/client.xml [new file with mode: 0644]
net/freeswitch/files/etc.minimal/jingle_profiles/server.xml [new file with mode: 0644]
net/freeswitch/patches/001-Makefile.am.patch
net/freeswitch/patches/003-src-mod-event_handlers-mod_event_zmq-Makefile.patch [new file with mode: 0644]

index 099d518740dbb79e89b878b12f6895647f094ba8..44633e13ce2a6fe550d5aad4d071f05f9f815fca 100644 (file)
@@ -14,7 +14,7 @@ PKG_RELEASE:=$(PKG_SOURCE_VERSION)
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=git://git.$(PKG_NAME).org/$(PKG_NAME).git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=86d757d61bd82a73a13fbc387f788c33436c295d
+PKG_SOURCE_VERSION:=2146583663a5067f6ff71df1e48c3bb900e89db8
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 
@@ -24,8 +24,12 @@ FS_MOD_AVAILABLE:= \
        alsa \
        amr \
        amrwb \
+       avmd \
        bv \
+       callcenter \
        cdr-csv \
+       cdr-pg-csv \
+       cdr-sqlite \
        celt \
        cepstral \
        cidlookup \
@@ -36,6 +40,7 @@ FS_MOD_AVAILABLE:= \
        console \
        curl \
        dahdi-codec \
+       db \
        dialplan-asterisk \
        dialplan-directory \
        dialplan-xml \
@@ -49,6 +54,7 @@ FS_MOD_AVAILABLE:= \
        esf \
        event-multicast \
        event-socket \
+       event-zmq \
        expr \
        fifo \
        file-string \
@@ -60,6 +66,7 @@ FS_MOD_AVAILABLE:= \
        h323 \
        hash \
        ilbc \
+       java \
        lcr \
        ldap \
        local-stream \
@@ -83,8 +90,10 @@ FS_MOD_AVAILABLE:= \
        say-en \
        say-es \
        say-fr \
+       say-hu \
        say-it \
        say-nl \
+       say-pt \
        say-ru \
        say-th \
        say-zh \
@@ -100,7 +109,6 @@ FS_MOD_AVAILABLE:= \
        sndfile \
        snom \
        sofia \
-       soundtouch \
        spandsp \
        speex \
        spidermonkey \
@@ -113,6 +121,7 @@ FS_MOD_AVAILABLE:= \
        stress \
        syslog \
        tone-stream \
+       tts-commandline \
        unimrcp \
        valet-parking \
        vmd \
@@ -194,21 +203,25 @@ $(call Package/$(PKG_NAME)/Default)
                +$(PKG_NAME)-mod-codec2 \
                +$(PKG_NAME)-mod-commands \
                +$(PKG_NAME)-mod-conference \
-               +$(PKG_NAME)-mod-syslog \
                +$(PKG_NAME)-mod-curl \
                +$(PKG_NAME)-mod-dialplan-xml \
+               +$(PKG_NAME)-mod-dingaling \
                +$(PKG_NAME)-mod-dptools \
                +$(PKG_NAME)-mod-event-socket \
                +$(PKG_NAME)-mod-g723-1 \
+               +$(PKG_NAME)-mod-g729 \
                +$(PKG_NAME)-mod-hash \
                +$(PKG_NAME)-mod-ilbc \
                +$(PKG_NAME)-mod-local-stream \
                +$(PKG_NAME)-mod-logfile \
                +$(PKG_NAME)-mod-lua \
                +$(PKG_NAME)-mod-native-file \
+               +$(PKG_NAME)-mod-siren \
                +$(PKG_NAME)-mod-sndfile \
                +$(PKG_NAME)-mod-sofia \
+               +$(PKG_NAME)-mod-spandsp \
                +$(PKG_NAME)-mod-speex \
+               +$(PKG_NAME)-mod-syslog \
                +$(PKG_NAME)-mod-tone-stream \
                +$(PKG_NAME)-mod-xml-curl \
                +$(PKG_NAME)-mod-xml-rpc \
@@ -222,7 +235,6 @@ $(call Package/$(PKG_NAME)/Default)
                +$(PKG_NAME)-config-minimal \
                +$(PKG_NAME)-mod-codec2 \
                +$(PKG_NAME)-mod-commands \
-               +$(PKG_NAME)-mod-syslog \
                +$(PKG_NAME)-mod-dialplan-xml \
                +$(PKG_NAME)-mod-dptools \
                +$(PKG_NAME)-mod-event-socket \
@@ -230,6 +242,7 @@ $(call Package/$(PKG_NAME)/Default)
                +$(PKG_NAME)-mod-local-stream \
                +$(PKG_NAME)-mod-sndfile \
                +$(PKG_NAME)-mod-sofia \
+               +$(PKG_NAME)-mod-syslog \
                +$(PKG_NAME)-mod-tone-stream \
                +$(PKG_NAME)-tools
 endef
@@ -307,6 +320,7 @@ FS_TARGET_CFLAGS:= ${TARGET_CFLAGS} -DLUA_USE_LINUX $(FPIC) -std=gnu99 -Wno-form
 FS_TARGET_CXXFLAGS:= ${TARGET_CXXFLAGS} -DLUA_USE_LINUX $(FPIC) -Wno-format
 FS_TARGET_CPPFLAGS:= -I. -I./lua ${TARGET_CPPFLAGS}
 
+
 CONFIGURE_ARGS+= \
        --prefix="/usr/share/$(PKG_NAME)" \
        --bindir="/usr/bin" \
@@ -314,17 +328,14 @@ CONFIGURE_ARGS+= \
        --sysconfdir="/etc/$(PKG_NAME)" \
        --with-modinstdir="/usr/lib/$(PKG_NAME)" \
        --enable-ipv6 \
-       --disable-zrtp \
+       --enable-optimization \
        --with-random="/dev/urandom" \
-       --without-mysql \
-       $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-cdr-pg-csv),--with-pgsql="$(STAGING_DIR)/usr",--without-pgsql) \
        $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-celt),--with-ogg="$(STAGING_DIR)/usr",--without-iogg) \
-       $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-curl),--with-libcurl="$(STAGING_DIR)/usr",--without-libcurl) \
+       $(if ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-curl)|$(CONFIG_PACKAGE_$(PKG_NAME)-mod-xml-cdr)|$(CONFIG_PACKAGE_$(PKG_NAME)-mod-xml-curl)),--with-libcurl="$(STAGING_DIR)/usr",--without-libcurl) \
        $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-dingaling),--with-openssl="$(STAGING_DIR)/usr",--without-openssl) \
        $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-java),--with-java="$(STAGING_DIR)/usr",--without-java) \
        $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-spandsp),--enable-builtin-tiff,) \
-       $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-xml-cdr),--with-libcurl="$(STAGING_DIR)/usr",--without-libcurl) \
-       $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-xml-curl),--with-libcurl="$(STAGING_DIR)/usr",--without-libcurl) \
+
 
 CONFIGURE_VARS+= \
        config_TARGET_CC="${TARGET_CC}" \
@@ -366,7 +377,7 @@ define Build/Prepare
        $(call Prepare/json-c)
        $(call Prepare/sounds-en)
        $(call Prepare/sounds-moh)
-       (cd $(PKG_BUILD_DIR); [ -h noreg ] || touch noreg)      # Just to shut up Cluecon reg.
+       (cd $(PKG_BUILD_DIR); [ -h noreg ] || touch noreg)      # Just to shut up Cluecon reg. msg.
        (cd $(PKG_BUILD_DIR); $(AM_TOOL_PATHS) ./bootstrap.sh)
 endef
 
@@ -516,9 +527,12 @@ $(eval $(call BuildPackage,$(PKG_NAME)-config-minimal))
 $(eval $(call BuildPlugin,alsa,Alsa endpoint,mod_alsa,,))
 $(eval $(call BuildPlugin,amr,GSM-AMR codec,mod_amr,,))
 $(eval $(call BuildPlugin,amrwb,GSM-AMRWB,mod_amrwb,,))
+$(eval $(call BuildPlugin,avmd,Advanced Voice Mail Detection,mod_avmd,,))
 $(eval $(call BuildPlugin,bv,codec mod_bv,mod_bv,,))
+$(eval $(call BuildPlugin,callcenter,Call Center,mod_callcenter,,))
 $(eval $(call BuildPlugin,cdr-csv,CSV-CDR handler,mod_cdr_csv,,))
-$(eval $(call BuildPlugin,cdr-pg-csv,Postgress CDR handler,mod_cdr_pg_csv,,+postgresql @BROKEN))
+$(eval $(call BuildPlugin,cdr-pg-csv,Postgress CDR handler,mod_cdr_pg_csv,,+postgresql))
+$(eval $(call BuildPlugin,cdr-sqlite,SQLite3 CDR handler,mod_cdr_sqlite,,+sqlite3))
 $(eval $(call BuildPlugin,celt,CELT ultra-low delay codec,mod_celt,,+libogg))
 $(eval $(call BuildPlugin,cepstral,Cepstral interface,mod_cepstral,,@BROKEN)) # needs <swift.h>
 $(eval $(call BuildPlugin,cidlookup,applications mod_cidlookup,mod_cidlookup,,))
@@ -529,6 +543,7 @@ $(eval $(call BuildPlugin,conference,Conference room,mod_conference,,))
 $(eval $(call BuildPlugin,console,Console logger,mod_console,,))
 $(eval $(call BuildPlugin,curl,HTTP request,mod_curl,,+libcurl))
 $(eval $(call BuildPlugin,dahdi-codec,DAHDI codecs,mod_dahdi_codec,,))
+$(eval $(call BuildPlugin,db,Dialplan & API to a database backend,mod_db,,))
 $(eval $(call BuildPlugin,dialplan-asterisk,Asterisk dialplan parser,mod_dialplan_asterisk,,))
 $(eval $(call BuildPlugin,dialplan-directory,Dialplan-Directory interface,mod_dialplan_directory,,))
 $(eval $(call BuildPlugin,dialplan-xml,Dialplan-XML interface,mod_dialplan_xml,,))
@@ -538,13 +553,14 @@ $(eval $(call BuildPlugin,distributor,application mod_distributor,mod_distributo
 $(eval $(call BuildPlugin,dptools,Dialplan tools,mod_dptools,,))
 $(eval $(call BuildPlugin,easyroute,DID routing,mod_easyroute,,))
 $(eval $(call BuildPlugin,enum,ENUM routing,mod_enum,,))
-$(eval $(call BuildPlugin,erlang-event,Erlang event handler,mod_erlang_event,,@BROKEN)) # needs <ei.h>
+$(eval $(call BuildPlugin,erlang-event,Erlang event handler,mod_erlang_event,,+erlang))
 $(eval $(call BuildPlugin,esf,Extra SIP Functionality,mod_esf,,))
 $(eval $(call BuildPlugin,event-multicast,Multicast event handler,mod_event_multicast,,))
 $(eval $(call BuildPlugin,event-socket,Socket event handler,mod_event_socket,,))
+$(eval $(call BuildPlugin,event-zmq,Socket event handler by Zero MQ,mod_event_zmq,,))
 $(eval $(call BuildPlugin,expr,Expression evaluation,mod_expr,,))
 $(eval $(call BuildPlugin,fifo,FIFO,mod_fifo,,))
-$(eval $(call BuildPlugin,file-string,File streaming,mod_file_string,,@OBSOLETE))
+$(eval $(call BuildPlugin,file-string,File streaming,mod_file_string,,@OBSOLETE)) # merged into dptools
 $(eval $(call BuildPlugin,flite,Festival TTS,mod_flite,,@(!(armeb||avr32)||BROKEN)))
 $(eval $(call BuildPlugin,fsv,Video,mod_fsv,,))
 $(eval $(call BuildPlugin,g723-1,G.723.1 codec,mod_g723_1,,))
@@ -552,8 +568,8 @@ $(eval $(call BuildPlugin,g729,G.729 codec,mod_g729,,))
 $(eval $(call BuildPlugin,h26x,H26X linear codec,mod_h26x,,))
 $(eval $(call BuildPlugin,h323,h323 endpoint,mod_h323,,@BROKEN)) # missing header files (other packages needed)
 $(eval $(call BuildPlugin,hash,API for manipulating a hash table,mod_hash,,))
-$(eval $(call BuildPlugin,java,Java language interface,mod_java,,@BROKEN)) # needs java
 $(eval $(call BuildPlugin,ilbc,ILBC codec,mod_ilbc,,))
+$(eval $(call BuildPlugin,java,Java language interface,mod_java,,@BROKEN)) # needs java
 $(eval $(call BuildPlugin,lcr,Least Cost Routing,mod_lcr,,))
 $(eval $(call BuildPlugin,ldap,LDAP interface,mod_ldap,,@BROKEN)) # fails in openldap
 $(eval $(call BuildPlugin,local-stream,Local streaming,mod_local_stream,,))
@@ -577,24 +593,25 @@ $(eval $(call BuildPlugin,say-de,German say,mod_say_de,,))
 $(eval $(call BuildPlugin,say-en,English say,mod_say_en,,))
 $(eval $(call BuildPlugin,say-es,Spanish say,mod_say_es,,))
 $(eval $(call BuildPlugin,say-fr,French say,mod_say_fr,,))
+$(eval $(call BuildPlugin,say-hu,Hungarian say,mod_say_hu,,))
 $(eval $(call BuildPlugin,say-it,Italian say,mod_say_it,,))
 $(eval $(call BuildPlugin,say-nl,Dutch say,mod_say_nl,,))
+$(eval $(call BuildPlugin,say-pt,Portugeese say,mod_say_pt,,))
 $(eval $(call BuildPlugin,say-ru,Russian say,mod_say_ru,,))
-$(eval $(call BuildPlugin,say-th,mod_th say,mod_say_th,,))
+$(eval $(call BuildPlugin,say-th,Thai say,mod_say_th,,))
 $(eval $(call BuildPlugin,say-zh,Chineese say,mod_say_zh,,))
-$(eval $(call BuildPlugin,shell-stream,,mod_shell_stream,,))
+$(eval $(call BuildPlugin,shell-stream,Shell stream,mod_shell_stream,,))
 $(eval $(call BuildPlugin,shout,MP3 and Shoutcast stream,mod_shout,,@BROKEN)) # needs Ogg/Vorbis
 $(eval $(call BuildPlugin,silk,codec mod_silk,mod_silk,,))
-$(eval $(call BuildPlugin,siren,G.722.1 codec,mod_siren,,@BROKEN)) # fails in libg722_1 - attempts to execute cross-compiled binary on host
+$(eval $(call BuildPlugin,siren,G.722.1 codec,mod_siren,,))
 $(eval $(call BuildPlugin,skinny,endpoint mod_skinny,mod_skinny,,))
 $(eval $(call BuildPlugin,skypopen,Skype compatible endpoint,mod_skypopen,,@BROKEN)) # needs <X11/Xlib.h>
 $(eval $(call BuildPlugin,sangoma-codec,codec sangoma-codec,mod_sangoma_codec,,@BROKEN)) # Untested
 $(eval $(call BuildPlugin,snapshot,application mod_snapshot,mod_snapshot,,))
-$(eval $(call BuildPlugin,snipe-hunt,application mod_snipe_hunt,mod_snipe_hunt,,))
 $(eval $(call BuildPlugin,sndfile,Multi-Format file transcoder,mod_sndfile,,))
+$(eval $(call BuildPlugin,snipe-hunt,application mod_snipe_hunt,mod_snipe_hunt,,))
 $(eval $(call BuildPlugin,snom,SNOM specific features,mod_snom,,))
 $(eval $(call BuildPlugin,sofia,SIP,mod_sofia,,))
-$(eval $(call BuildPlugin,soundtouch,Sound effects,mod_soundtouch,,@BROKEN)) # fails in soundtouch
 $(eval $(call BuildPlugin,spandsp,Span DSP,mod_spandsp,,+libjpeg))
 $(eval $(call BuildPlugin,speex,Speex codec,mod_speex,,))
 $(eval $(call BuildPlugin,spidermonkey,JavaScript,mod_spidermonkey,,@BROKEN)) # fails in js
@@ -607,6 +624,7 @@ $(eval $(call BuildPlugin,spy,User spy,mod_spy,,))
 $(eval $(call BuildPlugin,stress,application mod_stress,mod_stress,,))
 $(eval $(call BuildPlugin,syslog,SysLog logger,mod_syslog,,))
 $(eval $(call BuildPlugin,tone-stream,Tone generation stream,mod_tone_stream,,))
+$(eval $(call BuildPlugin,tts-commandline,ASR TTS cli,mod_tts_commandline,,))
 $(eval $(call BuildPlugin,unimrcp,MRCP interface,mod_unimrcp,,))
 $(eval $(call BuildPlugin,valet-parking,application mod_valet_parking,mod_valet_parking,,))
 $(eval $(call BuildPlugin,vmd,VoiceMail beep detection,mod_vmd,,))
index 51839d35f62de76d2b3c8b280ef191ae7918d2c7..0c117d07bfde2f6c7fb959515a9264d56a800721 100644 (file)
@@ -9,12 +9,10 @@
         loopback.auto - ACL for your local lan.
     -->
 
-    <!-- 
-      <list name="lan" default="allow">
-        <node type="deny" cidr="192.168.42.0/24"/>
-        <node type="allow" cidr="192.168.42.42/32"/>
-      </list>
-    -->
+    <list name="lan" default="allow">
+      <node type="deny" cidr="192.168.42.0/24"/>
+      <node type="allow" cidr="192.168.42.42/32"/>
+    </list>
 
     <!--
        This will traverse the directory adding all users 
        digest authenticated.
     -->
     <list name="domains" default="deny">
+      <!-- domain= is special it scans the domain from the directory to build the ACL -->
       <node type="allow" domain="$${domain}"/>
+      <!-- use cidr= if you wish to allow ip ranges to this domains acl. -->
+      <!-- <node type="allow" cidr="192.168.0.0/24"/> -->
     </list>
 
   </network-lists>
diff --git a/net/freeswitch/files/etc.minimal/autoload_configs/callcenter.conf.xml b/net/freeswitch/files/etc.minimal/autoload_configs/callcenter.conf.xml
new file mode 100644 (file)
index 0000000..a069413
--- /dev/null
@@ -0,0 +1,38 @@
+<configuration name="callcenter.conf" description="CallCenter">
+  <settings>
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+    <!--<param name="dbname" value="/dev/shm/callcenter.db"/>-->
+  </settings>
+
+  <queues>
+
+    <queue name="support@default">
+      <param name="strategy" value="longest-idle-agent"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <!--<param name="record-template" value="$${base_dir}/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}.${destination_number}.${caller_id_number}.${uuid}.wav"/>-->
+      <param name="time-base-score" value="system"/>
+      <param name="max-wait-time" value="0"/>
+      <param name="max-wait-time-with-no-agent" value="0"/>
+      <param name="max-wait-time-with-no-agent-time-reached" value="5"/>
+      <param name="tier-rules-apply" value="false"/>
+      <param name="tier-rule-wait-second" value="300"/>
+      <param name="tier-rule-wait-multiply-level" value="true"/>
+      <param name="tier-rule-no-agent-no-wait" value="false"/>
+      <param name="discard-abandoned-after" value="60"/>
+      <param name="abandoned-resume-allowed" value="false"/>
+    </queue>
+
+  </queues>
+
+<!-- WARNING: Configuration of XML Agents will be updated into the DB upon restart. -->
+<!-- WARNING: Configuration of XML Tiers will reset the level and position if those were supplied. -->
+<!-- WARNING: Agents and Tiers XML config shouldn't be used in a multi FS shared DB setup (Not currently supported anyway) -->
+  <agents>
+    <!--<agent name="1000@default" type="callback" contact="[call_timeout=10]user/1000@default" status="Available" max-no-answer="3" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" />-->
+  </agents>
+  <tiers>
+    <!-- If no level or position is provided, they will default to 1.  You should do this to keep db value on restart. -->
+    <!-- <tier agent="1000@default" queue="support@default" level="1" position="1"/> -->
+  </tiers>
+
+</configuration> 
index 009978a1f2815cd1ff55311e74734f19eae266b7..e73a07cdf92b917fdf3340d77b82e5dfabe16d70 100644 (file)
@@ -2,15 +2,15 @@
   <modules>
     
     <!-- Loggers (I'd load these first) -->
-    <!-- <load module="mod_console"/> -->
-    <!-- <load module="mod_logfile"/> -->
+    <load module="mod_console"/>
+    <load module="mod_logfile"/>
     <load module="mod_syslog"/>
 
     <!--<load module="mod_yaml"/>-->
 
     <!-- Multi-Faceted -->
     <!-- mod_enum is a dialplan interface, an application interface and an api command interface -->
-    <!-- <load module="mod_enum"/> -->
+    <load module="mod_enum"/>
 
     <!-- XML Interfaces -->
     <!-- <load module="mod_xml_rpc"/> -->
 
     <!-- Event Handlers -->
     <!-- <load module="mod_cdr_csv"/> -->
+    <!-- <load module="mod_cdr_sqlite"/> -->
     <!-- <load module="mod_event_multicast"/> -->
     <load module="mod_event_socket"/>
+    <!-- <load module="mod_event_zmq"/> -->
     <!-- <load module="mod_zeroconf"/> -->
+    <!-- <load module="mod_erlang_event"/> -->
+    <!-- <load module="mod_snmp"/> -->
 
     <!-- Directory Interfaces -->
     <!-- <load module="mod_ldap"/> -->
 
     <!-- Endpoints -->
-    <!-- <load module="mod_dingaling"/> -->
+    <load module="mod_dingaling"/>
     <!-- <load module="mod_portaudio"/> -->
     <!-- <load module="mod_alsa"/> -->
     <load module="mod_sofia"/>
-    <!-- <load module="mod_loopback"/> -->
+    <load module="mod_loopback"/>
     <!-- <load module="mod_woomera"/> -->
+    <!-- <load module="mod_freetdm"/> -->
     <!-- <load module="mod_openzap"/> -->
     <!-- <load module="mod_unicall"/> -->
+    <!-- <load module="mod_skinny"/> -->
+    <!-- <load module="mod_khomp"/>   -->
 
     <!-- Applications -->
     <load module="mod_commands"/>
     <!-- <load module="mod_conference"/> -->
+    <load module="mod_db"/>
     <load module="mod_dptools"/>
     <!-- <load module="mod_expr"/> -->
     <!-- <load module="mod_fifo"/> -->
+    <load module="mod_hash"/>
     <!-- <load module="mod_voicemail"/> -->
     <!--<load module="mod_directory"/>-->
-    <!--<load module="mod_fax"/>-->
+    <!--<load module="mod_distributor"/>-->
     <!--<load module="mod_lcr"/>-->
-    <!-- <load module="mod_limit"/> -->
     <!-- <load module="mod_esf"/> -->
     <!-- <load module="mod_fsv"/> -->
     <!-- <load module="mod_cluechoo"/> -->
     <!-- <load module="mod_valet_parking"/> -->
+    <!--<load module="mod_fsk"/>-->
     <!--<load module="mod_spy"/>-->
     <!-- <load module="mod_curl"/> -->
 
     <!-- SNOM Module -->
     <!--<load module="mod_snom"/>-->
 
+    <!-- This one only works on Linux for now -->
+    <!--<load module="mod_ladspa"/>-->
+
     <!-- Dialplan Interfaces -->
     <!-- <load module="mod_dialplan_directory"/> -->
     <load module="mod_dialplan_xml"/>
     <!-- <load module="mod_dialplan_asterisk"/> -->
 
     <!-- Codec Interfaces -->
-    <load module="mod_voipcodecs"/>
-    <!-- <load module="mod_g723_1"/> -->
-    <!-- <load module="mod_g729"/> -->
+    <!-- <load module="mod_spandsp"/> -->
+    <load module="mod_g723_1"/>
+    <load module="mod_g729"/>
     <!-- <load module="mod_amr"/> -->
-    <!-- <load module="mod_ilbc"/> -->
+    <load module="mod_ilbc"/>
     <!-- <load module="mod_speex"/> -->
     <!-- <load module="mod_h26x"/> -->
-    <!-- <load module="mod_siren"/> -->
+    <load module="mod_siren"/>
     <!--<load module="mod_celt"/>-->
+    <!--<load module="mod_opus"/>-->
 
     <!-- File Format Interfaces -->
     <load module="mod_sndfile"/>
-    <!-- <load module="mod_native_file"/> -->
+    <load module="mod_native_file"/>
+
     <!--For icecast/mp3 streams/files-->
     <!--<load module="mod_shout"/>-->
+
     <!--For local streams (play all the files in a directory)-->
     <load module="mod_local_stream"/>
     <load module="mod_tone_stream"/>
-    <!-- <load module="mod_file_string"/> -->
 
     <!-- Timers -->
+    <!-- <load module="mod_timerfd"/> -->
 
     <!-- Languages -->
+    <load module="mod_lua"/>
     <!-- <load module="mod_spidermonkey"/> -->
     <!-- <load module="mod_perl"/> -->
     <!-- <load module="mod_python"/> -->
     <!-- <load module="mod_java"/> -->
-    <load module="mod_lua"/>
 
     <!-- ASR /TTS -->
     <!-- <load module="mod_flite"/> -->
     <!-- <load module="mod_rss"/> -->
     
     <!-- Say -->
-    <!-- <load module="mod_say_en"/> -->
+    <load module="mod_say_en"/>
     <!-- <load module="mod_say_ru"/> -->
     <!-- <load module="mod_say_zh"/> -->
 
diff --git a/net/freeswitch/files/etc.minimal/autoload_configs/spandsp.conf.xml b/net/freeswitch/files/etc.minimal/autoload_configs/spandsp.conf.xml
new file mode 100644 (file)
index 0000000..aed847f
--- /dev/null
@@ -0,0 +1,73 @@
+<configuration name="spandsp.conf" description="Tone detector descriptors">
+   <descriptors>
+
+     <!-- These tones are defined in Annex to ITU Operational Bulletin No. 781 - 1.II.2003 -->
+     <!-- Various Tones Used in National Networks (According to ITU-T Recommendation E.180)(03/1998) -->
+
+     <!-- North America -->
+     <descriptor name="1">
+       <tone name="CED_TONE">
+         <element freq1="2100" freq2="0" min="500" max="0"/>
+       </tone>
+       <tone name="SIT">
+         <element freq1="950" freq2="0" min="256" max="400"/>
+         <element freq1="1400" freq2="0" min="256" max="400"/>
+         <element freq1="1800" freq2="0" min="256" max="400"/>
+       </tone>
+       <tone name="REORDER_TONE">
+         <element freq1="480" freq2="620" min="224" max="272"/>
+         <element freq1="0" freq2="0" min="224" max="272"/>
+       </tone>
+       <tone name="BUSY_TONE">
+         <element freq1="480" freq2="620" min="464" max="516"/>
+         <element freq1="0" freq2="0" min="464" max="516"/>
+       </tone>
+     </descriptor>
+
+     <!-- United Kingdom -->
+     <descriptor name="44">
+       <tone name="CED_TONE">
+         <element freq1="2100" freq2="0" min="500" max="0"/>
+       </tone>
+       <tone name="SIT">
+         <element freq1="950" freq2="0" min="256" max="400"/>
+         <element freq1="1400" freq2="0" min="256" max="400"/>
+         <element freq1="1800" freq2="0" min="256" max="400"/>
+       </tone>
+       <tone name="REORDER_TONE">
+         <element freq1="400" freq2="0" min="368" max="416"/>
+         <element freq1="0" freq2="0" min="336" max="368"/>
+         <element freq1="400" freq2="0" min="256" max="288"/>
+         <element freq1="0" freq2="0" min="512" max="544"/>
+       </tone>
+       <tone name="BUSY_TONE">
+         <element freq1="400" freq2="0" min="352" max="384"/>
+         <element freq1="0" freq2="0" min="352" max="384"/>
+         <element freq1="400" freq2="0" min="352" max="384"/>
+         <element freq1="0" freq2="0" min="352" max="384"/>
+       </tone>
+     </descriptor>
+
+     <!-- Germany -->
+     <descriptor name="49">
+       <tone name="CED_TONE">
+         <element freq1="2100" freq2="0" min="500" max="0"/>
+       </tone>
+       <tone name="SIT">
+         <element freq1="900" freq2="0" min="256" max="400"/>
+         <element freq1="1400" freq2="0" min="256" max="400"/>
+         <element freq1="1800" freq2="0" min="256" max="400"/>
+       </tone>
+       <tone name="REORDER_TONE">
+         <element freq1="425" freq2="0" min="224" max="272"/>
+         <element freq1="0" freq2="0" min="224" max="272"/>
+       </tone>
+       <tone name="BUSY_TONE">
+         <element freq1="425" freq2="0" min="464" max="516"/>
+         <element freq1="0" freq2="0" min="464" max="516"/>
+       </tone>
+     </descriptor>
+   </descriptors>
+
+</configuration>
+
index 88b2fed78b897868977d011d50d12a05a11d17aa..b0f0c53fef97c110297a9708e0c6c377ad03adef 100644 (file)
     <key name="12" value="version"/>
   </cli-keybindings> 
   
+  <default-ptimes>
+    <!-- set this to override the 20ms assumption of various codecs in the sdp with no ptime defined -->
+    <!--<codec name="G729" ptime="40"/>-->
+  </default-ptimes>
+  
   <settings>
     <!--Colorize the Console -->
     <param name="colorize-console" value="true"/>
-    <!--Most channels to allow at once -->
+
+    <!-- Run the timer at 20ms by default and drop down as needed unless you set 1m-timer=true which was previous default -->
+    <!-- <param name="1ms-timer" value="true"/> -->
+
+    <!--
+    Set the Switch Name for HA environments.
+    When setting the switch name, it will override the system hostname for all DB and CURL requests
+    allowing cluster environments such as RHCS to have identical FreeSWITCH configurations but run
+    as different hostnames.
+    -->
+    <!-- <param name="switchname" value="freeswitch"/>-->
+
+    <!-- maximum number of simo db handles open -->
+    <param name="max-db-handles" value="50"/>
+    <!-- maximum number of seconds to wait for a new db handle before failing -->
+    <param name="db-handle-timeout" value="10"/>
+
+    <!-- minimum idle CPU before refusing calls -->
+    <!--<param name="min-idle-cpu" value="25"/>-->
+
+    <!--
+       Max number of sessions to allow at any given time.
+       
+       NOTICE: If you're driving 28 T1's in a single box you should set this to 644*2 or 1288
+       this will ensure you're able to use the entire DS3 without a problem.  Otherwise you'll
+       be 144 channels short of always filling that DS3 up which can translate into waste.
+    -->
     <param name="max-sessions" value="1000"/>
     <!--Most channels to create per second -->
     <param name="sessions-per-second" value="30"/>
                 value is lower-bounded by min_dtmf_duration and upper-bounded by
                 max-dtmf-duration\. -->
     <!--<param name="default-dtmf-duration" value="2000"/>-->
+    <!--
+         If you want to send out voicemail notifications via Windows you'll need to change the mailer-app
+         variable to the setting below:
+     
+       <param name="mailer-app" value="msmtp"/>
+         Do not change mailer-app-args.
+         You will also need to download a sendmail clone for Windows (msmtp). This version works without issue:
+         http://msmtp.sourceforge.net/index.html. Download and copy the .exe to %winddir%\system32.
+         You'll need to create a small config file for smtp credentials (host name, authentication, tls, etc.) in
+         %USERPROFILE%\Application Data\ called "msmtprc.txt". Below is a sample copy of this file:
+         ###################################
+         # The SMTP server of the provider.
+         account provider
+         host smtp.myisp.com
+         from john@myisp.com
+         auth login
+         user johndoe
+         password mypassword
+         # Set a default account
+         account default : provider
+         ###################################
+         
+ -->    
     <param name="mailer-app" value="sendmail"/>
     <param name="mailer-app-args" value="-t"/>
     <param name="dump-cores" value="yes"/>
+    <!-- enable verbose-channel-events to dump every detail about a channel on every event  -->
+    <!--<param name="verbose-channel-events" value="no"/>-->
     <!--RTP port range -->
     <!--<param name="rtp-start-port" value="16384"/>-->
     <!--<param name="rtp-end-port" value="32768"/>-->
     <param name="rtp-enable-zrtp" value="true"/>
     <!-- <param name="core-db-dsn" value="dsn:username:password" /> -->
+    <!-- Allow to specify the sqlite db at a different location (In this example, move it to ramdrive for better performance on most linux distro (note, you loose the data if you reboot)) -->
+    <!-- <param name="core-db-name" value="/dev/shm/core.db" /> -->
+    <!-- The system will create all the db schemas automatically, set this to false to avoid this behaviour-->
+    <!--<param name="auto-create-schemas" value="true"/>-->
+    <!-- <param name="core-dbtype" value="MSSQL"/> -->
+    <!-- Allow multiple registrations to the same account in the central registration table -->
+    <!-- <param name="multiple-registrations" value="true"/> -->
   </settings>
 
 </configuration>
index 0c8d4768ed3110910e6ce74c0139ee986f8b5701..636a12c8c1c8ce1d6db3cd3eb5bdd093f4c0076b 100644 (file)
@@ -11,7 +11,7 @@
   <settings>
     <param name="facility" value="user"/>
     <param name="ident" value="freeswitch"/>
-    <param name="loglevel" value="info"/>
+    <param name="loglevel" value="warning"/>
        <!-- Uncomment the following line to log uuids in syslogs (when applicable) -->
     <!-- <param name="uuid" value="true"/> -->
   </settings>
index c366370fc6f7533a02d0ac5b731c379212fc24b0..a368ee5d512b6a6ab4cdec34c2209967230e6e47 100644 (file)
       </condition>
     </extension>
 
+    <extension name="google_in" continue="true">
+      <condition field="caller_id_name" expression="^(Google Voice|(.*)gmail.com(.*))$">
+        <action application="log" data="Google Voice Call Incoming"/>
+        <action application="set" data="execute_on_answer=send_dtmf 1"/>
+      </condition>
+    </extension>             
+
     <!-- 
         dial the extension (1000-1004) for 2 minutes before giving up 
         otherwise hang up after a successful bridge (hangup_after-bridge=true).
index 77cc51f7524e699f6dbc9309ffddd37df809e1c2..b54aff9b4fade6d787a4a71148c4256e67acf74a 100644 (file)
@@ -27,6 +27,7 @@
     <extension name="outside_call" continue="true">
       <condition>
        <action application="set" data="outside_call=true"/>
+       <action application="set" data="RFC2822_DATE=${strftime(%a, %d %b %Y %T %z)}"/>
       </condition>
     </extension>
 
@@ -37,7 +38,7 @@
     </extension>
 
     <extension name="public_extensions">
-      <condition field="destination_number" expression="^(100[0-4])$">
+      <condition field="destination_number" expression="^(10[01][0-9])$">
        <action application="transfer" data="$1 XML default"/>
       </condition>
     </extension>
        You can place files in the public directory to get included.
     -->
     <X-PRE-PROCESS cmd="include" data="public/*.xml"/>
+    <!--
+       If you have made it this far lets challenge the caller and if they authenticate
+       lets try what they dialed in the default context. (commented out by default)
+    -->
+    <!--
+    <extension name="check_auth" continue="true">
+      <condition field="${sip_authorized}" expression="^true$" break="never">
+       <anti-action application="respond" data="407"/>
+      </condition>
+    </extension>
+    
+    <extension name="transfer_to_default">
+      <condition>
+       <action application="transfer" data="${destination_number} XML default"/>
+      </condition>
+    </extension>
+    -->
   </context>
 </include>
diff --git a/net/freeswitch/files/etc.minimal/jingle_profiles/client.xml b/net/freeswitch/files/etc.minimal/jingle_profiles/client.xml
new file mode 100644 (file)
index 0000000..cac7069
--- /dev/null
@@ -0,0 +1,32 @@
+<include>
+  <!-- Client Profile (Original mode) -->
+  <!-- to use this profile take the x- away from the open and close tags so its <profile> and </profile> -->
+  <x-profile type="client">
+    <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="context" value="public"/>
+    <param name="message" value="Jingle all the way"/>
+    <param name="rtp-ip" value="$${bind_server_ip}"/>
+    <!-- <param name="ext-rtp-ip" value="auto-nat"/> -->
+    <param name="auto-login" value="true"/>
+    <!-- SASL "plain" or "md5" -->
+    <param name="sasl" value="plain"/>
+    <!-- if the server where the jabber is hosted is not the same as the one in the jid -->
+    <!--<param name="server" value="alternate.server.com"/>-->
+    <!-- Enable TLS or not -->
+    <param name="tls" value="true"/>
+    <!-- disable to trade async for more calls -->
+    <param name="use-rtp-timer" value="true"/>
+    <!-- default extension (if one cannot be determined) -->
+    <param name="exten" value="888"/>
+    <!-- VAD choose one -->
+    <!-- <param name="vad" value="in"/> -->
+    <!-- <param name="vad" value="out"/> -->
+    <!--<param name="vad" value="both"/>-->
+    <!--<param name="avatar" value="/path/to/tiny.jpg"/>-->
+    <!--<param name="candidate-acl" value="wan.auto"/>-->
+    <param name="local-network-acl" value="localnet.auto"/>
+  </x-profile>
+</include>
diff --git a/net/freeswitch/files/etc.minimal/jingle_profiles/server.xml b/net/freeswitch/files/etc.minimal/jingle_profiles/server.xml
new file mode 100644 (file)
index 0000000..b60dc27
--- /dev/null
@@ -0,0 +1,21 @@
+<include>
+  <!-- Component (Server to Server Login) -->
+  <!-- to use this profile take the x- away from the open and close tags so its <profile> and </profile> -->
+  <x-profile type="component">
+    <param name="name" value="$${xmpp_server_profile}"/>
+    <param name="password" value="secret"/>
+    <param name="dialplan" value="XML"/>
+    <param name="context" value="public"/>
+    <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"/>
+    <!-- "_auto_" means the extension will be automaticly set to the called jid -->
+    <param name="exten" value="_auto_"/>
+    <!--<param name="vad" value="both"/>-->
+    <!--<param name="avatar" value="/path/to/tiny.jpg"/>-->
+    <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+    <!--<param name="candidate-acl" value="wan.auto"/>-->
+  </x-profile>
+</include>
index a9b1d3a9453af11a10e8cd936f3a2f38269bf571..85da299dfa113c601e9de921fdf12edeff1b3dc4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -292,7 +292,7 @@ endif
+@@ -295,7 +295,7 @@ endif
  ##
  fs_encode_SOURCES = src/fs_encode.c
  fs_encode_CFLAGS = $(AM_CFLAGS)
@@ -9,7 +9,7 @@
  fs_encode_LDADD = libfreeswitch.la
  
  ##
-@@ -300,7 +300,7 @@ fs_encode_LDADD = libfreeswitch.la
+@@ -303,7 +303,7 @@ fs_encode_LDADD = libfreeswitch.la
  ##
  tone2wav_SOURCES = src/tone2wav.c
  tone2wav_CFLAGS  = $(AM_CFLAGS)
diff --git a/net/freeswitch/patches/003-src-mod-event_handlers-mod_event_zmq-Makefile.patch b/net/freeswitch/patches/003-src-mod-event_handlers-mod_event_zmq-Makefile.patch
new file mode 100644 (file)
index 0000000..54dade4
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/src/mod/event_handlers/mod_event_zmq/Makefile
++++ b/src/mod/event_handlers/mod_event_zmq/Makefile
+@@ -1,6 +1,6 @@
+ BASE=../../../..
+-ZMQ=zeromq-2.1.4
++ZMQ=zeromq-2.1.7
+ ZMQ_BASEURL=http://download.zeromq.org