From 1d0761b97a75508e7a97c96525cfd82f062e9554 Mon Sep 17 00:00:00 2001
From: Leif Jackson <ljackson@jjcons.com>
Date: Thu, 15 Jul 2010 04:17:00 +0000
Subject: [PATCH] Example minimal freeswitch config handling auto created conf
 numbers  ^8{4}$ e.g. 85115 which seems to be the default.  Thus 80000 thru
 89999.

---
 bbb-voice-conference/config/freeswitch/README |  28 +
 .../conf.orig/autoload_configs/acl.conf.xml   |  29 +
 .../autoload_configs/cdr_csv.conf.xml         |  22 +
 .../autoload_configs/cdr_pg_csv.conf.xml      |  23 +
 .../autoload_configs/cidlookup.conf.xml       |  33 +
 .../autoload_configs/conference.conf.xml      | 189 ++++
 .../autoload_configs/console.conf.xml         |  58 ++
 .../dialplan_directory.conf.xml               |   9 +
 .../autoload_configs/dingaling.conf.xml       |   9 +
 .../autoload_configs/directory.conf.xml       |  19 +
 .../autoload_configs/distributor.conf.xml     |  10 +
 .../autoload_configs/easyroute.conf.xml       |  25 +
 .../conf.orig/autoload_configs/enum.conf.xml  |  13 +
 .../autoload_configs/erlang_event.conf.xml    |  14 +
 .../autoload_configs/event_multicast.conf.xml |  13 +
 .../autoload_configs/event_socket.conf.xml    |   9 +
 .../conf.orig/autoload_configs/fax.conf.xml   |  12 +
 .../conf.orig/autoload_configs/fifo.conf.xml  |  10 +
 .../conf.orig/autoload_configs/ivr.conf.xml   |   5 +
 .../conf.orig/autoload_configs/java.conf.xml  |  13 +
 .../conf.orig/autoload_configs/lcr.conf.xml   |  62 ++
 .../conf.orig/autoload_configs/limit.conf.xml |   5 +
 .../autoload_configs/local_stream.conf.xml    |  49 +
 .../autoload_configs/logfile.conf.xml         |  26 +
 .../conf.orig/autoload_configs/lua.conf.xml   |  30 +
 .../autoload_configs/memcache.conf.xml        |   6 +
 .../autoload_configs/modules.conf.xml         | 110 ++
 .../autoload_configs/nibblebill.conf.xml      |  50 +
 .../conf.orig/autoload_configs/opal.conf.xml  |  18 +
 .../conf.orig/autoload_configs/osp.conf.xml   |  55 +
 .../conf.orig/autoload_configs/perl.conf.xml  |  16 +
 .../autoload_configs/pocketsphinx.conf.xml    |  12 +
 .../autoload_configs/portaudio.conf.xml       |  35 +
 .../post_load_modules.conf.xml                |   4 +
 .../autoload_configs/python.conf.xml          |  16 +
 .../conf.orig/autoload_configs/rss.conf.xml   |   7 +
 .../autoload_configs/sangoma_codec.conf.xml   |  32 +
 .../conf.orig/autoload_configs/shout.conf.xml |   8 +
 .../autoload_configs/skinny.conf.xml          |   6 +
 .../conf.orig/autoload_configs/sofia.conf.xml |  18 +
 .../autoload_configs/spandsp.conf.xml         |  73 ++
 .../autoload_configs/spidermonkey.conf.xml    |   8 +
 .../autoload_configs/switch.conf.xml          |  85 ++
 .../autoload_configs/syslog.conf.xml          |  18 +
 .../autoload_configs/timezones.conf.xml       | 551 ++++++++++
 .../autoload_configs/tts_commandline.conf.xml |  15 +
 .../autoload_configs/unicall.conf.xml         |  25 +
 .../autoload_configs/unimrcp.conf.xml         |  22 +
 .../autoload_configs/voicemail.conf.xml       |  67 ++
 .../autoload_configs/xml_cdr.conf.xml         |  71 ++
 .../autoload_configs/xml_curl.conf.xml        |  47 +
 .../autoload_configs/xml_rpc.conf.xml         |  10 +
 .../autoload_configs/zeroconf.conf.xml        |   6 +
 .../freeswitch/conf.orig/dialplan/default.xml | 773 ++++++++++++++
 .../dialplan/default/00_pizza_demo.xml        |   9 +
 .../dialplan/default/01_example.com.xml       |  30 +
 .../conf.orig/dialplan/default/99999_enum.xml |   8 +
 .../conf.orig/dialplan/features.xml           |  59 ++
 .../freeswitch/conf.orig/dialplan/public.xml  |  67 ++
 .../dialplan/public/00_inbound_did.xml        |  18 +
 .../conf.orig/dialplan/skinny-patterns.xml    |  30 +
 .../dialplan/skinny-patterns/20-Demo.xml      |   8 +
 .../skinny-patterns/20-Local_extension.xml    |  13 +
 .../dialplan/skinny-patterns/90-External.xml  |   8 +
 .../skinny-patterns/99-Default_Drop.xml       |   9 +
 .../conf.orig/directory/default.xml           |  78 ++
 .../conf.orig/directory/default/1000.xml      |  18 +
 .../conf.orig/directory/default/1001.xml      |  18 +
 .../conf.orig/directory/default/1002.xml      |  18 +
 .../conf.orig/directory/default/1003.xml      |  18 +
 .../conf.orig/directory/default/1004.xml      |  18 +
 .../conf.orig/directory/default/1005.xml      |  18 +
 .../conf.orig/directory/default/1006.xml      |  18 +
 .../conf.orig/directory/default/1007.xml      |  18 +
 .../conf.orig/directory/default/1008.xml      |  18 +
 .../conf.orig/directory/default/1009.xml      |  18 +
 .../conf.orig/directory/default/1010.xml      |  18 +
 .../conf.orig/directory/default/1011.xml      |  18 +
 .../conf.orig/directory/default/1012.xml      |  18 +
 .../conf.orig/directory/default/1013.xml      |  18 +
 .../conf.orig/directory/default/1014.xml      |  18 +
 .../conf.orig/directory/default/1015.xml      |  18 +
 .../conf.orig/directory/default/1016.xml      |  18 +
 .../conf.orig/directory/default/1017.xml      |  18 +
 .../conf.orig/directory/default/1018.xml      |  18 +
 .../conf.orig/directory/default/1019.xml      |  18 +
 .../conf.orig/directory/default/bbbuser.xml   |  28 +
 .../conf.orig/directory/default/brian.xml     |  92 ++
 .../conf.orig/directory/default/default.xml   |  26 +
 .../directory/default/example.com.xml         |  26 +
 .../directory/default/skinny-example.xml      |  34 +
 .../freeswitch/conf.orig/extensions.conf      |  21 +
 .../freeswitch/conf.orig/freeswitch.serial    | Bin 0 -> 13 bytes
 .../freeswitch/conf.orig/freeswitch.xml       |  67 ++
 .../freeswitch/conf.orig/fur_elise.ttml       |  83 ++
 .../conf.orig/ivr_menus/demo_ivr.xml          |  64 ++
 .../conf.orig/jingle_profiles/client.xml      |  32 +
 .../conf.orig/jingle_profiles/server.xml      |  21 +
 .../freeswitch/conf.orig/lang/de/de.xml       |   7 +
 .../conf.orig/lang/de/demo/demo.xml           |  71 ++
 .../freeswitch/conf.orig/lang/de/vm/tts.xml   | 214 ++++
 .../conf.orig/lang/en/demo/demo-ivr.xml       | 148 +++
 .../conf.orig/lang/en/demo/demo.xml           |  71 ++
 .../conf.orig/lang/en/dir/sounds.xml          | 121 +++
 .../freeswitch/conf.orig/lang/en/dir/tts.xml  |  96 ++
 .../freeswitch/conf.orig/lang/en/en.xml       |   8 +
 .../conf.orig/lang/en/vm/sounds.xml           | 404 +++++++
 .../freeswitch/conf.orig/lang/en/vm/tts.xml   | 239 +++++
 .../conf.orig/lang/fr/demo/demo.xml           |  18 +
 .../conf.orig/lang/fr/dir/sounds.xml          | 121 +++
 .../freeswitch/conf.orig/lang/fr/dir/tts.xml  | 101 ++
 .../freeswitch/conf.orig/lang/fr/fr.xml       |   8 +
 .../conf.orig/lang/fr/vm/sounds.xml           | 246 +++++
 .../conf.orig/lang/ru/demo/demo-ivr.xml       | 145 +++
 .../conf.orig/lang/ru/demo/demo.xml           | 100 ++
 .../conf.orig/lang/ru/dir/sounds.xml          | 121 +++
 .../freeswitch/conf.orig/lang/ru/dir/tts.xml  |  96 ++
 .../freeswitch/conf.orig/lang/ru/ru.xml       |   9 +
 .../conf.orig/lang/ru/vm/sounds.xml           | 365 +++++++
 .../freeswitch/conf.orig/lang/ru/vm/tts.xml   | 239 +++++
 .../config/freeswitch/conf.orig/mime.types    | 983 ++++++++++++++++++
 .../mrcp_profiles/loquendo-7-mrcp-v2.xml      |  32 +
 .../mrcp_profiles/nuance-1.0.0-mrcp-v1.xml    |  39 +
 .../mrcp_profiles/nuance-5.0-mrcp-v1.xml      |  39 +
 .../mrcp_profiles/nuance-5.0-mrcp-v2.xml      |  43 +
 .../mrcp_profiles/unimrcpserver-mrcp-v1.xml   |  27 +
 .../voxeo-prophecy-8.0-mrcp-v1.xml            |  27 +
 .../freeswitch/conf.orig/notify-voicemail.tpl |  42 +
 .../conf.orig/sip_profiles/external.xml       |  78 ++
 .../sip_profiles/external/example.xml         |  34 +
 .../conf.orig/sip_profiles/internal-ipv6.xml  | 129 +++
 .../conf.orig/sip_profiles/internal.xml       | 313 ++++++
 .../sip_profiles/internal/example.xml         |  37 +
 .../conf.orig/skinny_profiles/internal.xml    |  21 +
 .../config/freeswitch/conf.orig/tetris.ttml   |  69 ++
 .../config/freeswitch/conf.orig/vars.xml      | 241 +++++
 .../config/freeswitch/conf.orig/voicemail.tpl |  42 +
 .../config/freeswitch/conf.orig/web-vm.tpl    |  13 +
 .../conf/autoload_configs/acl.conf.xml        |  29 +
 .../conf/autoload_configs/cdr_csv.conf.xml    |  22 +
 .../conf/autoload_configs/conference.conf.xml | 189 ++++
 .../conf/autoload_configs/console.conf.xml    |  58 ++
 .../conf/autoload_configs/enum.conf.xml       |  13 +
 .../autoload_configs/event_socket.conf.xml    |   9 +
 .../autoload_configs/local_stream.conf.xml    |  49 +
 .../conf/autoload_configs/logfile.conf.xml    |  26 +
 .../conf/autoload_configs/modules.conf.xml    | 110 ++
 .../post_load_modules.conf.xml                |   4 +
 .../conf/autoload_configs/sofia.conf.xml      |  18 +
 .../autoload_configs/spidermonkey.conf.xml    |   9 +
 .../conf/autoload_configs/switch.conf.xml     |  85 ++
 .../conf/autoload_configs/syslog.conf.xml     |  18 +
 .../conf/autoload_configs/timezones.conf.xml  | 551 ++++++++++
 .../conf/autoload_configs/zeroconf.conf.xml   |   6 +
 .../freeswitch/conf/dialplan/default.xml      | 122 +++
 .../conf/dialplan/default/99999_enum.xml      |   8 +
 .../freeswitch/conf/dialplan/features.xml     |  59 ++
 .../freeswitch/conf/dialplan/public.xml       |  67 ++
 .../conf/dialplan/public/00_inbound_did.xml   |  18 +
 .../freeswitch/conf/directory/default.xml     |  44 +
 .../conf/directory/default/1000.xml           |  18 +
 .../conf/directory/default/1001.xml           |  18 +
 .../conf/directory/default/1002.xml           |  18 +
 .../conf/directory/default/1003.xml           |  18 +
 .../conf/directory/default/1004.xml           |  18 +
 .../conf/directory/default/1005.xml           |  18 +
 .../conf/directory/default/1006.xml           |  18 +
 .../conf/directory/default/1007.xml           |  18 +
 .../conf/directory/default/1008.xml           |  18 +
 .../conf/directory/default/1009.xml           |  18 +
 .../conf/directory/default/1010.xml           |  18 +
 .../conf/directory/default/1011.xml           |  18 +
 .../conf/directory/default/1012.xml           |  18 +
 .../conf/directory/default/1013.xml           |  18 +
 .../conf/directory/default/1014.xml           |  18 +
 .../conf/directory/default/1015.xml           |  18 +
 .../conf/directory/default/1016.xml           |  18 +
 .../conf/directory/default/1017.xml           |  18 +
 .../conf/directory/default/1018.xml           |  18 +
 .../conf/directory/default/1019.xml           |  18 +
 .../conf/directory/default/bbbuser.xml        |  28 +
 .../config/freeswitch/conf/extensions.conf    |  21 +
 .../config/freeswitch/conf/freeswitch.serial  | Bin 0 -> 13 bytes
 .../config/freeswitch/conf/freeswitch.xml     |  67 ++
 .../config/freeswitch/conf/fur_elise.ttml     |  83 ++
 .../config/freeswitch/conf/lang/de/de.xml     |   7 +
 .../freeswitch/conf/lang/de/demo/demo.xml     |  71 ++
 .../config/freeswitch/conf/lang/de/vm/tts.xml | 214 ++++
 .../freeswitch/conf/lang/en/demo/demo-ivr.xml | 148 +++
 .../freeswitch/conf/lang/en/demo/demo.xml     |  71 ++
 .../freeswitch/conf/lang/en/dir/sounds.xml    | 121 +++
 .../freeswitch/conf/lang/en/dir/tts.xml       |  96 ++
 .../config/freeswitch/conf/lang/en/en.xml     |   8 +
 .../freeswitch/conf/lang/en/vm/sounds.xml     | 404 +++++++
 .../config/freeswitch/conf/lang/en/vm/tts.xml | 239 +++++
 .../freeswitch/conf/lang/fr/demo/demo.xml     |  18 +
 .../freeswitch/conf/lang/fr/dir/sounds.xml    | 121 +++
 .../freeswitch/conf/lang/fr/dir/tts.xml       | 101 ++
 .../config/freeswitch/conf/lang/fr/fr.xml     |   8 +
 .../freeswitch/conf/lang/fr/vm/sounds.xml     | 246 +++++
 .../freeswitch/conf/lang/ru/demo/demo-ivr.xml | 145 +++
 .../freeswitch/conf/lang/ru/demo/demo.xml     | 100 ++
 .../freeswitch/conf/lang/ru/dir/sounds.xml    | 121 +++
 .../freeswitch/conf/lang/ru/dir/tts.xml       |  96 ++
 .../config/freeswitch/conf/lang/ru/ru.xml     |   9 +
 .../freeswitch/conf/lang/ru/vm/sounds.xml     | 365 +++++++
 .../config/freeswitch/conf/lang/ru/vm/tts.xml | 239 +++++
 .../config/freeswitch/conf/mime.types         | 983 ++++++++++++++++++
 .../freeswitch/conf/sip_profiles/external.xml |  78 ++
 .../conf/sip_profiles/external/example.xml    |  34 +
 .../conf/sip_profiles/internal-ipv6.xml       | 129 +++
 .../freeswitch/conf/sip_profiles/internal.xml | 313 ++++++
 .../conf/sip_profiles/internal/example.xml    |  37 +
 .../config/freeswitch/conf/tetris.ttml        |  69 ++
 .../config/freeswitch/conf/vars.xml           | 241 +++++
 .../config/freeswitch/conf/voicemail.tpl      |  42 +
 .../config/freeswitch/conf/web-vm.tpl         |  13 +
 217 files changed, 16187 insertions(+)
 create mode 100644 bbb-voice-conference/config/freeswitch/README
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/acl.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_csv.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_pg_csv.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cidlookup.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/conference.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/console.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dialplan_directory.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dingaling.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/directory.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/distributor.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/easyroute.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/enum.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/erlang_event.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_multicast.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_socket.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fax.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fifo.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/ivr.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/java.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lcr.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/limit.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/local_stream.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/logfile.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lua.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/memcache.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/modules.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/nibblebill.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/opal.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/osp.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/perl.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/pocketsphinx.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/portaudio.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/post_load_modules.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/python.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/rss.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sangoma_codec.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/shout.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/skinny.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sofia.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spandsp.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spidermonkey.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/switch.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/syslog.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/timezones.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/tts_commandline.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unicall.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unimrcp.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/voicemail.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_cdr.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_curl.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_rpc.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/zeroconf.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/00_pizza_demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/01_example.com.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/99999_enum.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/features.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public/00_inbound_did.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Local_extension.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/90-External.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/99-Default_Drop.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1000.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1001.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1002.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1003.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1004.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1005.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1006.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1007.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1008.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1009.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1010.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1011.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1012.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1013.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1014.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1015.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1016.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1017.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1018.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1019.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/bbbuser.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/brian.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/default.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/example.com.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/directory/default/skinny-example.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/extensions.conf
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.serial
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/fur_elise.ttml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/ivr_menus/demo_ivr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/client.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/server.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/de/de.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/de/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/de/vm/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo-ivr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/en.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/fr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/vm/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo-ivr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/ru.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mime.types
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/loquendo-7-mrcp-v2.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-1.0.0-mrcp-v1.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v1.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v2.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/unimrcpserver-mrcp-v1.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/voxeo-prophecy-8.0-mrcp-v1.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/notify-voicemail.tpl
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external/example.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal-ipv6.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal/example.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/skinny_profiles/internal.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/tetris.ttml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/vars.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/voicemail.tpl
 create mode 100644 bbb-voice-conference/config/freeswitch/conf.orig/web-vm.tpl
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/acl.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/cdr_csv.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/conference.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/console.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/enum.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/event_socket.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/local_stream.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/logfile.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/modules.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/post_load_modules.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/sofia.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/spidermonkey.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/switch.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/syslog.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/timezones.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/autoload_configs/zeroconf.conf.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/dialplan/default.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/dialplan/default/99999_enum.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/dialplan/features.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/dialplan/public.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/dialplan/public/00_inbound_did.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1000.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1001.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1002.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1003.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1004.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1005.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1006.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1007.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1008.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1009.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1010.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1011.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1012.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1013.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1014.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1015.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1016.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1017.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1018.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/1019.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/directory/default/bbbuser.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/extensions.conf
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/freeswitch.serial
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/freeswitch.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/fur_elise.ttml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/de/de.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/de/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/de/vm/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo-ivr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/dir/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/dir/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/en.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/vm/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/en/vm/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/fr/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/fr/fr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/fr/vm/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo-ivr.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/ru.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/sounds.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/tts.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/mime.types
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/sip_profiles/external.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/sip_profiles/external/example.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal-ipv6.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal/example.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/tetris.ttml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/vars.xml
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/voicemail.tpl
 create mode 100644 bbb-voice-conference/config/freeswitch/conf/web-vm.tpl

diff --git a/bbb-voice-conference/config/freeswitch/README b/bbb-voice-conference/config/freeswitch/README
new file mode 100644
index 0000000000..da93b0673a
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/README
@@ -0,0 +1,28 @@
+Version 1.0.6 of Freeswitch or greater tested on the git master 
+ commit 1eb4b79c15feb81e4eb5370c911267c4f11e3d52
+ Date:   Wed Jun 16 01:12:47 2010 +0200
+
+this conf dir is the freeswitch config setup for a bbbuser and 
+ auto created conferences dialed via sip from the regex ^8{4}$ 
+ meaning that you can use this for auto generated confrence 
+ handling for confrence ids between 80000 and 89999
+
+To install this config you would move /usr/local/freeswitch/conf to /usr/local/freeswitch/conf.dist
+mv /usr/local/freeswitch/conf /usr/local/freeswitch/conf.dist
+and 
+cp -a conf /usr/local/freeswitch/
+
+conf.orig dir is what was installed by freeswitch by default 
+ with my mods to support just 85{3} conf ids but also includes
+ all the extra demo and example stuff.
+
+NOTE: you must double check this config if you intend to have 
+ the freeswitch server on a public facing interface. 
+ It defaults to localhost for the event socket inteface.
+
+ I run my server in a test environment with 
+  /usr/local/freeswitch/bin/freeswitch -hp -nc
+ and then interact with it via
+  /usr/local/freeswitch/bin/fs_cli
+
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/acl.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/acl.conf.xml
new file mode 100644
index 0000000000..a1708a55f3
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/acl.conf.xml
@@ -0,0 +1,29 @@
+<configuration name="acl.conf" description="Network Lists">
+  <network-lists>
+    <!-- 
+	 These ACL's are automatically created on startup.
+
+	 rfc1918.auto  - RFC1918 Space
+	 nat.auto      - RFC1918 Excluding your local lan.
+	 localnet.auto - ACL for your local lan.
+	 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>
+
+    <!--
+	This will traverse the directory adding all users 
+	with the cidr= tag to this ACL, when this ACL matches
+	the users variables and params apply as if they 
+	digest authenticated.
+    -->
+    <list name="domains" default="deny">
+      <node type="allow" domain="$${domain}"/>
+    </list>
+
+  </network-lists>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_csv.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_csv.conf.xml
new file mode 100644
index 0000000000..bcefd460b4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_csv.conf.xml
@@ -0,0 +1,22 @@
+<configuration name="cdr_csv.conf" description="CDR CSV Format">
+  <settings>
+    <!-- 'cdr-csv' will always be appended to log-base -->
+    <!--<param name="log-base" value="/var/log"/>-->
+    <param name="default-template" value="example"/>
+    <!-- This is like the info app but after the call is hung up -->
+    <!--<param name="debug" value="true"/>-->
+    <param name="rotate-on-hup" value="true"/>
+    <!-- may be a b or ab -->
+    <param name="legs" value="a"/>
+	<!-- Only log in Master.csv -->
+	<!-- <param name="master-file-only" value="true"/> -->
+  </settings>
+  <templates>
+    <template name="sql">INSERT INTO cdr VALUES ("${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}");</template>
+    <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+    <template name="snom">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${call_clientcode}","${sip_rtp_rxstat}","${sip_rtp_txstat}","${sofia_record_file}"</template>
+    <template name="linksys">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${sip_p_rtp_stat}"</template>
+    <template name="asterisk">"${accountcode}","${caller_id_number}","${destination_number}","${context}","${caller_id}","${channel_name}","${bridge_channel}","${last_app}","${last_arg}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${amaflags}","${uuid}","${userfield}"</template>
+  </templates>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_pg_csv.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_pg_csv.conf.xml
new file mode 100644
index 0000000000..ec62053190
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cdr_pg_csv.conf.xml
@@ -0,0 +1,23 @@
+<configuration name="cdr_pg_csv.conf" description="CDR PG CSV Format">
+  <settings>
+    <!-- 'cdr-pg-csv' will always be appended to log-base -->
+    <!--<param name="log-base" value="/var/log"/>-->
+    <param name="default-template" value="example"/>
+    <!-- This is like the info app but after the call is hung up -->
+    <!--<param name="debug" value="true"/>-->
+    <param name="rotate-on-hup" value="true"/>
+    <!-- may be a b or ab -->
+    <param name="legs" value="a"/>
+    <param name="debug" value="true"/>
+    <!-- The parameters for pqconnectdb(), see there -->
+    <param name="db-info" value="host=localhost dbname=cdr connect_timeout=10" />
+  </settings>
+  <templates>
+    <template name="sql">INSERT INTO cdr VALUES ("${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}");</template>
+    <template name="example">"${local_ip_v4}","${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_hangup_disposition}","${ani}"</template>
+    <template name="snom">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${call_clientcode}","${sip_rtp_rxstat}","${sip_rtp_txstat}","${sofia_record_file}"</template>
+    <template name="linksys">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${sip_p_rtp_stat}"</template>
+    <template name="asterisk">"${accountcode}","${caller_id_number}","${destination_number}","${context}","${caller_id}","${channel_name}","${bridge_channel}","${last_app}","${last_arg}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${amaflags}","${uuid}","${userfield}"</template>
+  </templates>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cidlookup.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cidlookup.conf.xml
new file mode 100644
index 0000000000..a30f9f5c10
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/cidlookup.conf.xml
@@ -0,0 +1,33 @@
+<configuration name="cidlookup.conf" description="cidlookup Configuration">
+  <settings>
+    <!-- comment out url to not setup a url based lookup -->
+    <param name="url" value="http://query.voipcnam.com/query.php?api_key=MYAPIKEY&number=${caller_id_number}"/>
+
+    <!-- comment out whitepages-apikey to not use whitepages.com, you must
+         get an API key from http://developer.whitepages.com/ -->
+    <param name="whitepages-apikey" value="MYAPIKEY"/>
+
+    <!-- set to false to not cache (in memcache) results from the url query -->
+    <param name="cache" value="true"/>
+    <!-- expire is in seconds -->
+    <param name="cache-expire" value="86400"/>
+
+    <param name="odbc-dsn" value="phone:phone:phone"/>
+
+    <!-- comment out sql to not setup a database (directory) lookup -->
+    <param name="sql" value="
+     SELECT name||' ('||type||')' AS name 
+      FROM phonebook p JOIN numbers n ON p.id = n.phonebook_id
+      WHERE n.number='${caller_id_number}' 
+      LIMIT 1
+      "/>
+    <!-- comment out citystate-sql to not setup a database (city/state) 
+         lookup -->
+    <param name="citystate-sql" value="
+     SELECT ratecenter||' '||state as name
+      FROM npa_nxx_company_ocn
+      WHERE npa = ${caller_id_number:1:3} AND nxx = ${caller_id_number:4:3}
+      LIMIT 1
+      "/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/conference.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/conference.conf.xml
new file mode 100644
index 0000000000..fa3e87a139
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/conference.conf.xml
@@ -0,0 +1,189 @@
+<!-- http://wiki.freeswitch.org/wiki/Mod_conference --> 
+<!-- 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 certain presence on startup . -->
+  <advertise>
+    <room name="3001@$${domain}" status="FreeSWITCH"/>
+  </advertise>
+
+  <!-- These are the default keys that map when you do not specify a caller control group -->	
+  <!-- Note: none and default are reserved names for group names.  Disabled if dist-dtmf member flag is set. -->	
+  <caller-controls>
+    <group name="default">
+      <control action="mute" digits="0"/>
+      <control action="deaf mute" digits="*"/>
+      <control action="energy up" digits="9"/>
+      <control action="energy equ" digits="8"/>
+      <control action="energy dn" digits="7"/>
+      <control action="vol talk up" digits="3"/>
+      <control action="vol talk zero" digits="2"/>
+      <control action="vol talk dn" digits="1"/>
+      <control action="vol listen up" digits="6"/>
+      <control action="vol listen zero" digits="5"/>
+      <control action="vol listen dn" digits="4"/>
+      <control action="hangup" digits="#"/>
+    </group>
+  </caller-controls>
+
+  <!-- Profiles are collections of settings you can reference by name. -->
+  <profiles>
+    <!--If no profile is specified it will default to "default"-->
+    <profile name="default">
+      <!-- Domain (for presence) -->
+      <param name="domain" value="$${domain}"/>
+      <!-- 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"/>
+
+      <!--Can be | delim of waste|mute|deaf|dist-dtmf waste will always transmit data to each channel
+          even during silence.  dist-dtmf propagates dtmfs to all other members, but channel controls
+	  via dtmf will be disabled. -->
+      <param name="member-flags" value="mute"/>
+
+      <!-- Name of the caller control group to use for this profile -->
+      <!-- <param name="caller-controls" value="some name"/> -->
+      <!-- TTS Engine to use -->
+      <!--<param name="tts-engine" value="cepstral"/>-->
+      <!-- TTS Voice to use -->
+      <!--<param name="tts-voice" value="david"/>-->
+
+      <!-- If TTS is enabled all audio-file params beginning with -->
+      <!-- 'say:' will be considered text to say with TTS -->
+      <!-- Set a default path here so you can use relative paths in the other sound params-->
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <!-- File to play to acknowledge succees -->
+      <!--<param name="ack-sound" value="beep.wav"/>-->
+      <!-- File to play to acknowledge failure -->
+      <!--<param name="nack-sound" value="beeperr.wav"/>-->
+      <!-- File to play to acknowledge muted -->
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <!-- File to play to acknowledge unmuted -->
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <!-- File to play if you are alone in the conference -->
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <!-- File to play endlessly (nobody will ever be able to talk) -->
+      <!--<param name="perpetual-sound" value="perpetual.wav"/>-->
+      <!-- File to play when you're alone (music on hold)-->
+      <param name="moh-sound" value="$${hold_music}"/>
+      <!-- File to play when you join the conference -->
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <!-- File to play when you leave the conference -->
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <!-- File to play when you ae ejected from the conference -->
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <!-- File to play when the conference is locked -->
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <!-- File to play when the conference is locked during the call-->
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <!-- File to play when the conference is unlocked during the call-->
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <!-- File to play to prompt for a pin -->
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <!-- File to play to when the pin is invalid -->
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <!-- Conference pin -->
+      <!--<param name="pin" value="12345"/>-->
+      <!-- Default Caller ID Name for outbound calls -->
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <!-- Default Caller ID Number for outbound calls -->
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <!-- Suppress start and stop talking events -->
+      <!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
+      <!-- enable comfort noise generation -->
+      <param name="comfort-noise" value="true"/>
+      <!-- Uncomment auto-record to toggle recording every conference call. -->
+      <!-- Another valid value is   shout://user:pass@server.com/live.mp3   -->
+      <!--
+      <param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+      -->
+    </profile>
+
+    <profile name="wideband">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="16000"/>
+      <param name="interval" value="20"/>
+      <param name="energy-level" value="300"/>
+      <param name="member-flags" value="mute"/>
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+      <!--<param name="tts-engine" value="flite"/>-->
+      <!--<param name="tts-voice" value="kal16"/>-->
+    </profile>
+
+    <profile name="ultrawideband">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="32000"/>
+      <param name="interval" value="20"/>
+      <param name="energy-level" value="300"/>
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+      <!--<param name="tts-engine" value="flite"/>-->
+      <!--<param name="tts-voice" value="kal16"/>-->
+    </profile>
+
+    <profile name="cdquality">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="48000"/>
+      <param name="interval" value="10"/>
+      <param name="energy-level" value="300"/>
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+    </profile>
+
+    <profile name="sla">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="16000"/>
+      <param name="interval" value="20"/>
+      <param name="caller-controls" value="none"/>
+      <param name="energy-level" value="200"/>
+      <param name="moh-sound" value="silence"/>
+      <param name="comfort-noise" value="true"/>
+    </profile>
+
+  </profiles>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/console.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/console.conf.xml
new file mode 100644
index 0000000000..95d42e4ec0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/console.conf.xml
@@ -0,0 +1,58 @@
+<configuration name="console.conf" description="Console Logger">
+  <!-- pick a file name, a function name or 'all' -->
+  <!-- map as many as you need for specific debugging -->
+  <mappings>
+    <!-- 
+      name can be a file name, function name or 'all' 
+      value is one or more of debug,info,notice,warning,err,crit,alert,all
+      See examples below
+
+
+      The following map is the default, which is all debug levels enabled:
+      <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+
+
+      Example: the following turns on debugging for error and critical levels only
+      <map name="all" value="err,crit"/>
+
+      NOTE: using map name="all" will override any other settings!  If you 
+            want a more specific set of console messages then you will need
+            to specify which files and/or functions you want to have debug
+            messages.  One option is to turn on just the more critical 
+            messages with map name="all", then specify the other types of 
+            console messages you want to see for various files and functions.
+
+      Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
+               levels for various modules and functions
+
+        <map name="all" value="err,crit,alert"/>
+        <map name="switch_loadable_module_process" value="all"/>
+        <map name="mod_local_stream.c" value="warning,debug"/>
+        <map name="mod_sndfile.c" value="warning,info,debug"/>
+     -->
+    <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+    <map name="sofia.c"                     value="notice"/>
+    <map name="switch_core_state_machine.c" value="notice"/>      
+    
+    <!--
+      You can use or modify this sample set of mappings.  It turns on higher
+      level messages for all modules and then specifies extra lower level
+      messages for OpenZAP, Sofia, and switch core messages.
+      
+    <map name="all"                         value="warning,err,crit,alert"/>
+    <map name="zap_analog.c"                value="all"/>
+    <map name="zap_io.c"                    value="all"/>
+    <map name="zap_isdn.c"                  value="all"/>
+    <map name="zap_zt.c"                    value="all"/>
+    <map name="mod_openzap"                 value="all"/>
+    <map name="sofia.c"                     value="notice"/>
+    <map name="switch_core_state_machine.c" value="all"/>      
+    
+    -->
+  </mappings>
+  <settings>
+    <!-- comment or set to false for no color logging -->
+    <param name="colorize" value="true"/>
+    <param name="loglevel" value="$${console_loglevel}"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dialplan_directory.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dialplan_directory.conf.xml
new file mode 100644
index 0000000000..e4edcd6b15
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dialplan_directory.conf.xml
@@ -0,0 +1,9 @@
+<configuration name="dialplan_directory.conf" description="Dialplan Directory">
+  <settings>
+    <param name="directory-name" value="ldap"/>
+    <param name="host" value="ldap.freeswitch.org"/>
+    <param name="dn" value="cn=Manager,dc=freeswitch,dc=org"/>
+    <param name="pass" value="test"/>
+    <param name="base" value="dc=freeswitch,dc=org"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dingaling.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dingaling.conf.xml
new file mode 100644
index 0000000000..e68c8b4b44
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/dingaling.conf.xml
@@ -0,0 +1,9 @@
+<configuration name="dingaling.conf" description="XMPP Jingle Endpoint">
+  <settings>
+    <param name="debug" value="0"/>
+    <param name="codec-prefs" value="PCMU"/>
+  </settings>
+
+  <X-PRE-PROCESS cmd="include" data="../jingle_profiles/*.xml"/>
+
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/directory.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/directory.conf.xml
new file mode 100644
index 0000000000..7d99dc1e71
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/directory.conf.xml
@@ -0,0 +1,19 @@
+<configuration name="directory.conf" description="Directory">
+  <settings>
+  </settings>
+  <profiles>
+    <profile name="default">
+      <param name="max-menu-attempts" value="3"/>
+      <param name="min-search-digits" value="3"/>
+      <param name="terminator-key" value="#"/>
+      <param name="digit-timeout" value="3000"/>
+      <param name="max-result" value="5"/>
+      <param name="next-key" value="6"/>
+      <param name="prev-key" value="4"/>
+      <param name="switch-order-key" value="*"/>
+      <param name="select-name-key" value="1"/>
+      <param name="new-search-key" value="3"/>
+      <param name="search-order" value="last_name"/>
+    </profile>
+  </profiles>
+</configuration> 
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/distributor.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/distributor.conf.xml
new file mode 100644
index 0000000000..a03b1ee810
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/distributor.conf.xml
@@ -0,0 +1,10 @@
+<configuration name="distributor.conf" description="Distributor Configuration">
+  <lists>
+    <!-- every 10 calls to test you will get foo1 once and foo2 9 times...yes NINE TIMES! -->
+    <!-- this is not the same as 100 with 10 and 90 that would do foo1 10 times in a row then foo2 90 times in a row -->
+    <list name="test" total-weight="10">
+      <node name="foo1" weight="1"/>
+      <node name="foo2" weight="9"/>
+    </list>
+  </lists>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/easyroute.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/easyroute.conf.xml
new file mode 100644
index 0000000000..7cd490942f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/easyroute.conf.xml
@@ -0,0 +1,25 @@
+<configuration name="easyroute.conf" description="EasyRoute Module">
+  <settings>
+    <!-- These are kind Obvious -->
+    <param name="db-username" value="root"/>
+    <param name="db-password" value="password"/>
+    <param name="db-dsn" value="easyroute"/>
+
+    <!-- Default Technology and profile -->
+    <param name="default-techprofile" value="sofia/default"/>
+    
+    <!-- IP or Hostname of Default Route -->
+    <param name="default-gateway" value="192.168.66.6"/>
+
+    <!-- Customer Query. Use this with Care!!! We are not responsible if you mess
+         This up!!! Query *MUST* return columns in the following order!
+	 gateway varchar(128) - contains destination gateway host:port pair (ex: 192.168.1.1:5060 )
+	 group varchar(128) - contains optional group name
+	 call_limit varchar(16) - contains optional call limit
+	 tech_prefix varchar(128) - tech prefix used to build dial string (ex: sofia/default )
+	 acctcode varchar(128) - used to set channel variable acctcode for logging into the CDRs
+	 destination_number varchar(16) - Number returning for the query for building the dial string. (ex: 18005551212) 
+	 See Documentation on the Wiki for further information -->
+    <!-- <param name="custom-query" value="call  FS_GET_SIP_LOCATION(%s);"/> -->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/enum.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/enum.conf.xml
new file mode 100644
index 0000000000..0304d0dacd
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/enum.conf.xml
@@ -0,0 +1,13 @@
+<configuration name="enum.conf" description="ENUM Module">
+  <settings>
+    <param name="default-root" value="e164.org"/>
+    <param name="default-isn-root" value="freenum.org"/>
+    <param name="query-timeout" value="10"/>
+    <param name="auto-reload" value="true"/>
+  </settings>
+
+  <routes>
+    <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1"/>
+    <!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
+  </routes>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/erlang_event.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/erlang_event.conf.xml
new file mode 100644
index 0000000000..ec14e21a25
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/erlang_event.conf.xml
@@ -0,0 +1,14 @@
+<configuration name="erlang_event.conf" description="Erlang Socket Client">
+  <settings>
+    <param name="listen-ip" value="0.0.0.0"/>
+    <param name="listen-port" value="8031"/>
+    <param name="cookie" value="ClueCon"/>
+    <param name="shortname" value="true"/>
+    <!-- in additon to cookie, optionally restrict by ACL -->
+    <!--<param name="apply-inbound-acl" value="lan"/>-->
+    <!-- alternative is "binary" -->
+    <!--<param name="encoding" value="string"/>--> 
+    <!-- provide compatability with previous OTP release (use with care) -->
+    <!--<param name="compat-rel" value="12"/> -->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_multicast.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_multicast.conf.xml
new file mode 100644
index 0000000000..b362ebc459
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_multicast.conf.xml
@@ -0,0 +1,13 @@
+<configuration name="event_multicast.conf" description="Multicast Event">
+  <settings>
+    <param name="address" value="225.1.1.1"/>
+    <param name="port" value="4242"/>
+    <param name="bindings" value="all"/>
+    <param name="ttl" value="1"/>
+    <!-- Uncomment this to enable pre-shared key encryption on the packets. -->
+    <!-- For this option to work, you'll need to have the openssl development -->
+    <!-- headers installed when you ran ./configure -->
+    <!-- <param name="psk" value="ClueCon"/> -->
+  </settings>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_socket.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_socket.conf.xml
new file mode 100644
index 0000000000..7f1de2abd0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/event_socket.conf.xml
@@ -0,0 +1,9 @@
+<configuration name="event_socket.conf" description="Socket Client">
+  <settings>
+    <param name="nat-map" value="false"/>
+    <param name="listen-ip" value="0.0.0.0"/>
+    <param name="listen-port" value="8021"/>
+    <param name="password" value="ClueCon"/>
+    <param name="apply-inbound-acl" value="localnet.auto"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fax.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fax.conf.xml
new file mode 100644
index 0000000000..c7d825665e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fax.conf.xml
@@ -0,0 +1,12 @@
+<configuration name="fax.conf" description="FAX application configuration">
+    <settings>
+	<param name="use-ecm"		value="true"/>
+	<param name="verbose"		value="false"/>
+	<param name="disable-v17"	value="false"/>
+	<param name="ident"		value="SpanDSP Fax Ident"/>
+	<param name="header"		value="SpanDSP Fax Header"/>
+
+	<param name="spool-dir"		value="/tmp"/>
+	<param name="file-prefix"	value="faxrx"/>
+    </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fifo.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fifo.conf.xml
new file mode 100644
index 0000000000..b1db4dd2bd
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/fifo.conf.xml
@@ -0,0 +1,10 @@
+<configuration name="fifo.conf" description="FIFO Configuration">
+  <settings>
+    <param name="delete-all-outbound-member-on-startup" value="false"/>
+  </settings>
+  <fifos>
+    <fifo name="cool_fifo@$${domain}" importance="0">
+      <!--<member timeout="60" simo="1" lag="20">{member_wait=nowait}user/1005@$${domain}</member>-->
+    </fifo>
+  </fifos>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/ivr.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/ivr.conf.xml
new file mode 100644
index 0000000000..bd4e73dedf
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/ivr.conf.xml
@@ -0,0 +1,5 @@
+<configuration name="ivr.conf" description="IVR menus">
+  <menus>
+    <X-PRE-PROCESS cmd="include" data="../ivr_menus/*.xml"/>
+  </menus>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/java.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/java.conf.xml
new file mode 100644
index 0000000000..3d1a3b5e5b
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/java.conf.xml
@@ -0,0 +1,13 @@
+<configuration name="java.conf" description="Java Plug-Ins">
+  <!-- Path to the Java 1.6 virtual machine to use -->
+  <javavm path="/usr/java/jdk1.6.0/jre/lib/i386/client/libjvm.so"/>
+  <!-- Options to pass to Java -->
+  <options>
+    <!-- Your class path (make sure freeswitch.jar is on it) -->
+    <option value="-Djava.class.path=$${base_dir}/scripts/freeswitch.jar"/>
+    <!-- Enable remote debugging -->
+    <option value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:8000"/>
+  </options>
+  <startup class="net/cog/fs/system/Control" method="startup" arg="start up arg"/>
+  <shutdown class="net/cog/fs/system/Control" method="shutdown" arg="shutdown arg"/>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lcr.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lcr.conf.xml
new file mode 100644
index 0000000000..7ab710782f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lcr.conf.xml
@@ -0,0 +1,62 @@
+<configuration name="lcr.conf" description="LCR Configuration">
+  <settings>
+    <param name="odbc-dsn" value="freeswitch-mysql:freeswitch:Fr33Sw1tch"/>
+<!--    <param name="odbc-dsn" value="freeswitch-pgsql:freeswitch:Fr33Sw1tch"/> -->
+  </settings>
+  <profiles>
+    <profile name="default">
+      <param name="id" value="0"/>
+      <param name="order_by" value="rate,quality,reliability"/>
+    </profile>
+    <profile name="qual_rel">
+      <param name="id" value="1"/>
+      <param name="order_by" value="quality,reliability"/>
+    </profile>
+    <profile name="rel_qual">
+      <param name="id" value="2"/>
+      <param name="order_by" value="reliability,quality"/>
+    </profile>
+<!-- 
+  Some samples of how to do custom SQL:
+
+    =============================================================
+    PostgreSQL with contrib prefix module which supports fast
+    prefix queries.  Ideal option.
+    =============================================================
+    <profile name="pg_prefix">
+      <param name="custom_sql" value="
+SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix
+FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits_prefix @> '%q'
+AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end
+ORDER BY digits DESC, random();
+      "/>
+    </profile>
+
+    =============================================================
+    PostgreSQL with contrib prefix module which supports fast
+    prefix queries.  Ideal option.  Alternate syntax which requies
+    a session but allows variable substitution.
+    =============================================================
+    <profile name="pg_prefix2">
+      <param name="custom_sql" value="
+SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix
+FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits_prefix @> '${lcr_query_digits}'
+AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end
+ORDER BY digits DESC, random();
+      "/>
+    </profile>
+
+    =============================================================
+    Demonstrates use of computed inlist.
+    =============================================================
+    <profile name="inlist">
+      <param name="custom_sql" value="
+SELECT l.digits, c.carrier_name, l.rate, cg.prefix AS gw_prefix, cg.suffix AS gw_suffix, l.lead_strip, l.trail_strip, l.prefix, l.suffix
+FROM lcr l JOIN carriers c ON l.carrier_id=c.id JOIN carrier_gateway cg ON c.id=cg.carrier_id WHERE c.enabled = '1' AND cg.enabled = '1' AND l.enabled = '1' AND digits IN (${lcr_query_expanded_digits})
+AND CURRENT_TIMESTAMP BETWEEN date_start AND date_end
+ORDER BY digits DESC, random();
+      "/>
+    </profile>
+-->
+  </profiles>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/limit.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/limit.conf.xml
new file mode 100644
index 0000000000..26b0f8549a
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/limit.conf.xml
@@ -0,0 +1,5 @@
+<configuration name="limit.conf" description="LIMIT Configuration">
+  <settings>
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/local_stream.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/local_stream.conf.xml
new file mode 100644
index 0000000000..94a5665392
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/local_stream.conf.xml
@@ -0,0 +1,49 @@
+<configuration name="local_stream.conf" description="stream files from local dir">
+  <!-- fallback to default if requested moh class isn't found -->
+  <directory name="default" path="$${sounds_dir}/music/8000">
+    <param name="rate" value="8000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+    <!-- list of short files to break in with every so often -->
+    <!--<param name="chime-list" value="file1.wav,file2.wav"/>-->
+    <!-- frequency of break-in (seconds)-->
+    <!--<param name="chime-freq" value="30"/>-->
+    <!-- limit to how many seconds the file will play -->
+    <!--<param name="chime-max" value="500"/>-->
+  </directory>
+
+  <directory name="moh/8000" path="$${sounds_dir}/music/8000">
+    <param name="rate" value="8000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+
+  <directory name="moh/16000" path="$${sounds_dir}/music/16000">
+    <param name="rate" value="16000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+
+  <directory name="moh/32000" path="$${sounds_dir}/music/32000">
+    <param name="rate" value="32000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+  <!--
+  <directory name="moh/48000" path="$${sounds_dir}/music/48000">
+    <param name="rate" value="48000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="10"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+  -->
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/logfile.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/logfile.conf.xml
new file mode 100644
index 0000000000..57f276c4ea
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/logfile.conf.xml
@@ -0,0 +1,26 @@
+<configuration name="logfile.conf" description="File Logging">
+  <settings>
+   <!-- true to auto rotate on HUP, false to open/close -->
+   <param name="rotate-on-hup" value="true"/>
+  </settings>
+  <profiles>
+    <profile name="default">
+      <settings>
+        <!-- File to log to -->
+	<!--<param name="logfile" value="/var/log/freeswitch.log"/>-->
+        <!-- At this length in bytes rotate the log file (0 for never) -->
+        <param name="rollover" value="10485760"/>
+		<!-- Uncomment to prefix all log lines by the session's uuid  -->
+		<!-- <param name="uuid" value="true" /> -->
+      </settings>
+      <mappings>
+	<!-- 
+	     name can be a file name, function name or 'all' 
+	     value is one or more of debug,info,notice,warning,err,crit,alert,all
+	     Please see comments in console.conf.xml for more information
+	-->
+	<map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+      </mappings>
+    </profile>
+  </profiles>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lua.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lua.conf.xml
new file mode 100644
index 0000000000..1eb594f0b5
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/lua.conf.xml
@@ -0,0 +1,30 @@
+<configuration name="lua.conf" description="LUA Configuration">
+  <settings>
+
+    <!-- 
+    Specify local directories that will be searched for LUA modules
+    These entries will be pre-pended to the LUA_CPATH environment variable
+    -->
+    <!-- <param name="module-directory" value="/usr/lib/lua/5.1/?.so"/> -->
+    <!-- <param name="module-directory" value="/usr/local/lib/lua/5.1/?.so"/> -->
+
+    <!-- 
+    Specify local directories that will be searched for LUA scripts
+    These entries will be pre-pended to the LUA_PATH environment variable
+    -->
+    <!-- <param name="script-directory" value="/usr/local/lua/?.lua"/> -->
+    <!-- <param name="script-directory" value="$${base_dir}/scripts/?.lua"/> -->
+
+    <!--<param name="xml-handler-script" value="/dp.lua"/>-->
+    <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+    <!--
+	The following options identifies a lua script that is launched
+	at startup and may live forever in the background.
+	You can define multiple lines, one for each script you 
+	need to run.
+    -->
+    <!--<param name="startup-script" value="startup_script_1.lua"/>-->
+    <!--<param name="startup-script" value="startup_script_2.lua"/>-->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/memcache.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/memcache.conf.xml
new file mode 100644
index 0000000000..dc0173f986
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/memcache.conf.xml
@@ -0,0 +1,6 @@
+<configuration name="memcache.conf" description="memcache Configuration">
+  <settings>
+    <!-- comma sep list of servers: eg:  localhost,otherhost:port,anotherone -->
+    <param name="memcache-servers" value="localhost"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/modules.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/modules.conf.xml
new file mode 100644
index 0000000000..47707192fc
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/modules.conf.xml
@@ -0,0 +1,110 @@
+<configuration name="modules.conf" description="Modules">
+  <modules>
+    
+    <!-- Loggers (I'd load these first) -->
+    <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"/>
+
+    <!-- XML Interfaces -->
+    <!-- <load module="mod_xml_rpc"/> -->
+    <!-- <load module="mod_xml_curl"/> -->
+    <!-- <load module="mod_xml_cdr"/> -->
+
+    <!-- Event Handlers -->
+    <load module="mod_cdr_csv"/>
+    <!-- <load module="mod_event_multicast"/> -->
+    <load module="mod_event_socket"/>
+    <!-- <load module="mod_zeroconf"/> -->
+
+    <!-- Directory Interfaces -->
+    <!-- <load module="mod_ldap"/> -->
+
+    <!-- Endpoints -->
+    <!-- <load module="mod_dingaling"/> -->
+    <!-- <load module="mod_portaudio"/> -->
+    <!-- <load module="mod_alsa"/> -->
+    <load module="mod_sofia"/>
+    <load module="mod_loopback"/>
+    <!-- <load module="mod_woomera"/> -->
+    <!-- <load module="mod_openzap"/> -->
+    <!-- <load module="mod_unicall"/> -->
+    <!-- <load module="mod_skinny"/> -->
+
+    <!-- Applications -->
+    <load module="mod_commands"/>
+    <load module="mod_conference"/>
+    <load module="mod_dptools"/>
+    <load module="mod_expr"/>
+    <load module="mod_fifo"/>
+    <load module="mod_voicemail"/>
+    <!--<load module="mod_directory"/>-->
+    <!--<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_spy"/>-->
+
+    <!-- SNOM Module -->
+    <!--<load module="mod_snom"/>-->
+
+    <!-- Dialplan Interfaces -->
+    <!-- <load module="mod_dialplan_directory"/> -->
+    <load module="mod_dialplan_xml"/>
+    <load module="mod_dialplan_asterisk"/>
+
+    <!-- Codec Interfaces -->
+    <load module="mod_spandsp"/>
+    <load module="mod_g723_1"/>
+    <load module="mod_g729"/>
+    <load module="mod_amr"/>
+    <load module="mod_ilbc"/>
+    <load module="mod_speex"/>
+    <load module="mod_h26x"/>
+    <load module="mod_siren"/>
+    <!--<load module="mod_celt"/>-->
+
+    <!-- File Format Interfaces -->
+    <load module="mod_sndfile"/>
+    <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 -->
+
+    <!-- Languages -->
+    <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_pocketsphinx"/> -->
+    <!-- <load module="mod_cepstral"/> -->
+    <!-- <load module="mod_tts_commandline"/> -->
+    <!-- <load module="mod_rss"/> -->
+    
+    <!-- Say -->
+    <load module="mod_say_en"/>
+    <load module="mod_say_ru"/>
+    <!-- <load module="mod_say_zh"/> -->
+
+    <!-- Third party modules -->
+    <!--<load module="mod_nibblebill"/>-->
+
+  </modules>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/nibblebill.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/nibblebill.conf.xml
new file mode 100644
index 0000000000..ed1c9332c8
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/nibblebill.conf.xml
@@ -0,0 +1,50 @@
+<configuration name="nibblebill.conf" description="Nibble Billing">
+  <settings>
+    <!-- See http://wiki.freeswitch.org/wiki/Mod_nibblebill for help with these options -->
+
+    <!-- Information for connecting to your database -->
+    <param name="db_username" value="bandwidth.com"/>
+    <param name="db_password" value="password"/>
+    <param name="db_dsn" value="bandwidth.com"/>
+
+    <!-- The database table where your CASH column is located -->
+    <param name="db_table" value="accounts"/>
+
+    <!-- The column name where we store the value of the account -->
+    <param name="db_column_cash" value="cash"/>
+
+    <!-- The column name for the unique ID identifying the account -->
+    <param name="db_column_account" value="id"/>
+
+    <!-- Custom SQL for loading current balance - overrides column names
+         channel vars are interpreted.
+         field nibble_balance is used for balance info
+
+    <param name="custom_sql_lookup" value="SELECT cash AS nibble_balance FROM accounts WHERE account_code='${nibble_account}'"/>
+    -->
+
+    <!-- Custom SQL for loading current balance - overrides column names
+         channel vars are interpreted.
+         nibble_increment is the amount to update
+
+    <param name="custom_sql_save" value="UPDATE accounts SET cash=cash-${nibble_increment} WHERE account_code='${nibble_account}'"/>
+    -->
+
+
+    <!-- Default heartbeat interval. Set to 'off' for no heartbeat (i.e. bill only at end of call) -->
+    <param name="global_heartbeat" value="60"/>
+
+    <!-- By default, warn a caller when their balance is at $5.00. You can set this to a negative number. -->
+    <param name="lowbal_amt" value="5"/>
+    <param name="lowbal_action" value="play ding"/>
+
+    <!-- By default, terminate a caller when their balance hits $0.00. You can set this to a negative number. -->
+    <param name="nobal_amt" value="0"/>
+    <param name="nobal_action" value="hangup"/>
+
+    <!-- If a call goes beyond a certain dollar amount, flag or terminate it -->
+    <param name="percall_max_amt" value="100"/>
+    <param name="percall_action" value="hangup"/>
+
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/opal.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/opal.conf.xml
new file mode 100644
index 0000000000..1133227499
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/opal.conf.xml
@@ -0,0 +1,18 @@
+<configuration name="opal.conf" description="Opal Endpoints">
+  <settings>
+    <param name="trace-level" value="4"/>
+    <param name="context" value="default"/>
+    <param name="dialplan" value="XML"/>
+    <param name="codec-prefs" value="PCMU"/>
+    <param name="gk-address" value=""/>    <!-- empty to disable, "*" to search LAN -->
+    <param name="gk-identifer" value=""/>  <!-- optional name of gk -->
+    <param name="gk-interface" value=""/>  <!-- optional listener interface name -->
+  </settings>
+  <listeners>
+    <listener name="default">
+      <param name="h323-ip" value="$${local_ip_v4}"/>
+      <param name="h323-port" value="1720"/>
+    </listener>
+  </listeners>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/osp.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/osp.conf.xml
new file mode 100644
index 0000000000..168490b3db
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/osp.conf.xml
@@ -0,0 +1,55 @@
+<configuration name="osp.conf" description="OSP Module Configuration">
+	<settings>
+		<!-- Debug info flag -->
+		<param name="debug-info" value="disabled"/>
+		<!-- Log level for debug info -->
+		<param name="log-level" value="info"/>
+		<!-- Crypto hareware accelerate is disabled by default -->
+		<param name="crypto-hardware" value="disabled"/>
+		<!-- SIP settings -->
+		<param name="sip" module="sofia" profile="external"/>
+		<!-- H.323 settings -->
+		<!-- <param name="h323" module="h323" profile="external"/> -->
+		<!-- IAX settings -->
+		<!-- <param name="iax" module="iax" profile="external"/> -->
+		<!-- Skype settings -->
+		<!-- <param name="skype" module="skypopen" profile="external"/> -->
+		<!-- Default destination protocol -->
+		<param name="default-protocol" value="sip"/>
+	</settings>
+
+	<profiles>
+	<!-- Default OSP provider profile -->
+		<profile name="default">
+			<!-- Service point URLs, up to 8 allowed -->
+			<!-- <param name="service-point-url" value="http://osptestserver.transnexus.com:1080/osp"/> -->
+			<!-- <param name="service-point-url" value="https://127.0.0.1:1443/osp"/> -->
+			<param name="service-point-url" value="http://127.0.0.1:1080/osp"/>
+
+			<!-- FreeSWITCH IP address for OSP -->
+			<param name="device-ip" value="127.0.0.1:5080"/>
+
+			<!-- SSL lifetime in seconds -->
+			<param name="ssl-lifetime" value="300"/>
+			<!-- HTTP max connections, 1~1000 -->
+			<param name="http-max-connections" value="20"/>
+			<!-- HTTP persistence in seconds -->
+			<param name="http-persistence" value="60"/>
+			<!-- HTTP retry delay in seconds, 0~10 -->
+			<param name="http-retry-delay" value="0"/>
+			<!-- HTTP retry limit, 0~100 -->
+			<param name="http-retry-limit" value="2"/>
+			<!-- HTTP timeout in milliseconds, 200~60000 -->
+			<param name="http-timeout" value="10000"/>
+
+			<!-- OSP service type, voice or npquery -->
+			<param name="service-type" value="voice"/>
+			<!-- Max number of destinations -->
+			<param name="max-destinations" value="5"/>
+
+			<!-- SIP features -->
+			<!-- Add "user=phone" URI parameter in outbound SIP messages -->
+			<param name="user-phone" value="disabled"/>
+		</profile>
+	</profiles>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/perl.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/perl.conf.xml
new file mode 100644
index 0000000000..b2435000ff
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/perl.conf.xml
@@ -0,0 +1,16 @@
+<configuration name="perl.conf" description="PERL Configuration">
+  <settings>
+    <!--<param name="xml-handler-script" value="/tmp/xml.pl"/>-->
+    <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+    <!--
+	The following options identifies a perl script that is launched	
+	at startup and may live forever in the background.
+	You can define multiple lines, one for each script you 
+	need to run.
+    -->
+    <!--param name="startup-script" value="startup_script_1.pl"/-->
+    <!--param name="startup-script" value="startup_script_2.pl"/-->
+
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/pocketsphinx.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/pocketsphinx.conf.xml
new file mode 100644
index 0000000000..3bf7d5e575
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/pocketsphinx.conf.xml
@@ -0,0 +1,12 @@
+<configuration name="pocketsphinx.conf" description="PocketSphinx ASR Configuration">
+  <settings>
+    <param name="threshold" value="400"/>
+    <param name="silence-hits" value="25"/>
+    <param name="listen-hits" value="1"/>
+    <param name="auto-reload" value="true"/>
+    <!--<param name="language-weight" value="1"/>-->
+    <!--<param name="narrowband-model" value="communicator"/>-->
+    <!--<param name="wideband-model" value="wsj1"/>-->
+    <!--<param name="dictionary" value="default.dic"/>-->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/portaudio.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/portaudio.conf.xml
new file mode 100644
index 0000000000..1f758de896
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/portaudio.conf.xml
@@ -0,0 +1,35 @@
+<configuration name="portaudio.conf" description="Soundcard Endpoint">
+  <settings>
+    <!-- indev, outdev, ringdev: 
+	 partial case sensitive string match on something in the name 
+	 or the device number prefixed with # eg "#1" (or blank for default) -->
+
+    <!-- device to use for input -->
+    <param name="indev" value=""/>
+    <!-- device to use for output -->
+    <param name="outdev" value=""/>
+
+    <!--device to use for inbound ring -->
+    <!--<param name="ringdev" value=""/>-->
+    <!--File to play as the ring sound -->
+    <!--<param name="ring-file" value="/sounds/ring.wav"/>-->
+    <!--Number of seconds to pause between rings -->
+    <!--<param name="ring-interval" value="5"/>-->
+    <!--Enable or Disable dual_streams-->
+    <!--<param name="dual-streams" value="true"/>-->
+
+    <!--file to play when calls are on hold-->
+    <param name="hold-file" value="$${hold_music}"/>
+    <!--Timer to use for hold music (i'd leave this one commented)-->
+    <!--<param name="timer-name" value="soft"/>-->
+
+    <!--Default dialplan and caller-id info -->
+    <param name="dialplan" value="XML"/>
+    <param name="cid-name" value="$${outbound_caller_name}"/>
+    <param name="cid-num" value="$${outbound_caller_id}"/>
+
+    <!--audio sample rate and interval -->
+    <param name="sample-rate" value="48000"/>
+    <param name="codec-ms" value="20"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/post_load_modules.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/post_load_modules.conf.xml
new file mode 100644
index 0000000000..8f4e132fa4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/post_load_modules.conf.xml
@@ -0,0 +1,4 @@
+<configuration name="post_load_modules.conf" description="Modules">
+  <modules>
+  </modules>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/python.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/python.conf.xml
new file mode 100644
index 0000000000..d3a8fdc755
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/python.conf.xml
@@ -0,0 +1,16 @@
+<configuration name="python.conf" description="PYTHON Configuration">
+  <settings>
+    <!--<param name="xml-handler-script" value="dp"/>-->
+    <!--<param name="xml-handler-bindings" value="dialplan"/>-->
+
+    <!--
+	The following options identifies a py module that is launched
+	at startup and may live forever in the background.
+	You can define multiple lines, one for each script you 
+	need to run.
+    -->
+    <!--<param name="startup-script" value="startup_script_1"/>-->
+    <!--<param name="startup-script" value="startup_script_2"/>-->
+
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/rss.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/rss.conf.xml
new file mode 100644
index 0000000000..f8c4f6d2b4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/rss.conf.xml
@@ -0,0 +1,7 @@
+<configuration name="rss.conf" description="RSS Parser">
+  <feeds>
+    <!-- Just download the files to wherever and refer to them here -->
+    <!-- <feed name="Slash Dot">/home/rss/rss.rss</feed> -->
+    <!-- <feed name="News Forge">/home/rss/newsforge.rss</feed> -->
+  </feeds>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sangoma_codec.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sangoma_codec.conf.xml
new file mode 100644
index 0000000000..9176a41d3a
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sangoma_codec.conf.xml
@@ -0,0 +1,32 @@
+<configuration name="sangoma_codec.conf" description="Sangoma Codec Configuration">
+
+	<settings>
+		<!--
+		Comma separated list of codecs to register with FreeSWITCH, 
+		by default (if this parameter is not set) all available codecs are registered.
+		Valid codec values are: PCMU,PCMA,L16,G729,G726-32,GSM
+		<param name="load" value="all"/>
+		-->
+
+		<!-- List of codecs to not register with FreeSWITCH, by default this is empty,
+	        but you may want to not load PCMU and PCMA or may be others to not use your 
+	        vocallo resources in codecs that are done well and fast in software.	
+		<param name="noload" value="PCMU,PCMA"/>
+		-->
+	</settings>
+
+	<vocallos> 
+
+		<!-- The name of the vocallo is the ethernet device name as displayed by ifconfig -->
+		<vocallo name="eth5">
+			<!-- Starting UDP port for the vocallo -->
+			<param name="baseudp" value="5000"/>
+			<!-- Starting IP address to use for the vocallo modules -->
+			<param name="vocalloaddr" value="10.1.1.100"/>
+		</vocallo>
+
+	</vocallos>
+
+
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/shout.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/shout.conf.xml
new file mode 100644
index 0000000000..3f381e6278
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/shout.conf.xml
@@ -0,0 +1,8 @@
+<configuration name="shout.conf" description="mod shout config">
+  <settings>
+    <!-- Don't change these unless you are insane -->
+    <!--<param name="decoder" value="i586"/>-->
+    <!--<param name="volume" value=".1"/>-->
+    <!--<param name="outscale" value="8192"/>-->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/skinny.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/skinny.conf.xml
new file mode 100644
index 0000000000..6a878fcd71
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/skinny.conf.xml
@@ -0,0 +1,6 @@
+<configuration name="skinny.conf" description="Skinny Endpoints">
+  <profiles>
+    <X-PRE-PROCESS cmd="include" data="../skinny_profiles/*.xml"/>
+  </profiles>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sofia.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sofia.conf.xml
new file mode 100644
index 0000000000..24252d08ce
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/sofia.conf.xml
@@ -0,0 +1,18 @@
+<configuration name="sofia.conf" description="sofia Endpoint">
+
+  <global_settings>
+    <param name="log-level" value="0"/>
+    <!-- <param name="auto-restart" value="false"/> -->
+    <param name="debug-presence" value="0"/>
+  </global_settings>
+
+  <!--
+      The rabbit hole goes deep.  This includes all the
+      profiles in the sip_profiles directory that is up
+      one level from this directory.
+  -->
+  <profiles>
+    <X-PRE-PROCESS cmd="include" data="../sip_profiles/*.xml"/>
+  </profiles>
+
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spandsp.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spandsp.conf.xml
new file mode 100644
index 0000000000..aed847fe3d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spandsp.conf.xml
@@ -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>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spidermonkey.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spidermonkey.conf.xml
new file mode 100644
index 0000000000..2e6dc6a166
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/spidermonkey.conf.xml
@@ -0,0 +1,8 @@
+<configuration name="spidermonkey.conf" description="Spider Monkey JavaScript Plug-Ins">
+  <modules>
+    <load module="mod_spidermonkey_teletone"/>
+    <load module="mod_spidermonkey_core_db"/>
+    <load module="mod_spidermonkey_socket"/>
+    <!--<load module="mod_spidermonkey_odbc"/>-->
+  </modules>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/switch.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/switch.conf.xml
new file mode 100644
index 0000000000..03bc993372
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/switch.conf.xml
@@ -0,0 +1,85 @@
+<configuration name="switch.conf" description="Core Configuration">
+
+  <cli-keybindings>
+    <key name="1" value="help"/>
+    <key name="2" value="status"/>
+    <key name="3" value="show channels"/>
+    <key name="4" value="show calls"/>
+    <key name="5" value="sofia status"/>
+    <key name="6" value="reloadxml"/>
+    <key name="7" value="console loglevel 0"/>
+    <key name="8" value="console loglevel 7"/>
+    <key name="9" value="sofia status profile internal"/>
+    <key name="10" value="sofia profile internal siptrace on"/>
+    <key name="11" value="sofia profile internal siptrace off"/>
+    <key name="12" value="version"/>
+  </cli-keybindings> 
+  
+  <settings>
+    <!--Colorize the Console -->
+    <param name="colorize-console" value="true"/>
+    <!--Most channels to allow at once -->
+    <param name="max-sessions" value="1000"/>
+    <!--Most channels to create per second -->
+    <param name="sessions-per-second" value="30"/>
+    <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
+    <param name="loglevel" value="debug"/>
+	<!-- The min-dtmf-duration specifies the minimum DTMF duration to use on 
+	     outgoing events. Events shorter than this will be increased in duration
+		 to match min_dtmf_duration. You cannot configure a dtmf duration on a 
+		 profile that is less than this setting. You may increase this value,
+		 but cannot set it lower than 400. This value cannot exceed 
+		 max-dtmf-duration. -->
+    <!--<param name="min-dtmf-duration" value="400"/>-->
+	<!-- The max-dtmf-duration caps the playout of a DTMF event at the specified
+	     duration. Events exceeding this duration will be truncated to this
+		 duration. You cannot configure a duration on a profile that exceeds
+		 this setting. This setting can be lowered, but cannot exceed 192000. 
+		 This setting cannot be set lower than min_dtmf_duration. -->
+    <!--<param name="max-dtmf-duration" value="192000"/>-->
+	<!-- The default_dtmf_duration specifies the DTMF duration to use on
+	     originated DTMF events or on events that are received without a
+		 duration specified. This value can be increased or lowered. This
+		 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"/>
+ 
+         Donot 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" /> -->
+  </settings>
+
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/syslog.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/syslog.conf.xml
new file mode 100644
index 0000000000..636a12c8c1
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/syslog.conf.xml
@@ -0,0 +1,18 @@
+<configuration name="syslog.conf" description="Syslog Logger">
+  <!-- SYSLOG -->
+  <!-- emerg   - system is unusable  -->
+  <!-- alert   - action must be taken immediately  -->
+  <!-- crit    - critical conditions  -->
+  <!-- err     - error conditions  -->
+  <!-- warning - warning conditions  -->
+  <!-- notice  - normal, but significant, condition  -->
+  <!-- info    - informational message  -->
+  <!-- debug   - debug-level message -->
+  <settings>
+    <param name="facility" value="user"/>
+    <param name="ident" value="freeswitch"/>
+    <param name="loglevel" value="warning"/>
+	<!-- Uncomment the following line to log uuids in syslogs (when applicable) -->
+    <!-- <param name="uuid" value="true"/> -->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/timezones.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/timezones.conf.xml
new file mode 100644
index 0000000000..85c805ff25
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/timezones.conf.xml
@@ -0,0 +1,551 @@
+<configuration name="timezones.conf" description="Timezones">
+    <timezones>
+	<zone name="Africa/Abidjan" value="GMT0" />
+	<zone name="Africa/Accra" value="GMT0" />
+	<zone name="Africa/Addis_Ababa" value="EAT-3" />
+	<zone name="Africa/Algiers" value="CET-1" />
+	<zone name="Africa/Asmara" value="EAT-3" />
+	<zone name="Africa/Asmera" value="EAT-3" />
+	<zone name="Africa/Bamako" value="GMT0" />
+	<zone name="Africa/Bangui" value="WAT-1" />
+	<zone name="Africa/Banjul" value="GMT0" />
+	<zone name="Africa/Bissau" value="GMT0" />
+	<zone name="Africa/Blantyre" value="CAT-2" />
+	<zone name="Africa/Brazzaville" value="WAT-1" />
+	<zone name="Africa/Bujumbura" value="CAT-2" />
+	<zone name="Africa/Cairo" value="EEST" />
+	<zone name="Africa/Casablanca" value="WET0" />
+	<zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Africa/Conakry" value="GMT0" />
+	<zone name="Africa/Dakar" value="GMT0" />
+	<zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+	<zone name="Africa/Djibouti" value="EAT-3" />
+	<zone name="Africa/Douala" value="WAT-1" />
+	<zone name="Africa/El_Aaiun" value="WET0" />
+	<zone name="Africa/Freetown" value="GMT0" />
+	<zone name="Africa/Gaborone" value="CAT-2" />
+	<zone name="Africa/Harare" value="CAT-2" />
+	<zone name="Africa/Johannesburg" value="SAST-2" />
+	<zone name="Africa/Kampala" value="EAT-3" />
+	<zone name="Africa/Khartoum" value="EAT-3" />
+	<zone name="Africa/Kigali" value="CAT-2" />
+	<zone name="Africa/Kinshasa" value="WAT-1" />
+	<zone name="Africa/Lagos" value="WAT-1" />
+	<zone name="Africa/Libreville" value="WAT-1" />
+	<zone name="Africa/Lome" value="GMT0" />
+	<zone name="Africa/Luanda" value="WAT-1" />
+	<zone name="Africa/Lubumbashi" value="CAT-2" />
+	<zone name="Africa/Lusaka" value="CAT-2" />
+	<zone name="Africa/Malabo" value="WAT-1" />
+	<zone name="Africa/Maputo" value="CAT-2" />
+	<zone name="Africa/Maseru" value="SAST-2" />
+	<zone name="Africa/Mbabane" value="SAST-2" />
+	<zone name="Africa/Mogadishu" value="EAT-3" />
+	<zone name="Africa/Monrovia" value="GMT0" />
+	<zone name="Africa/Nairobi" value="EAT-3" />
+	<zone name="Africa/Ndjamena" value="WAT-1" />
+	<zone name="Africa/Niamey" value="WAT-1" />
+	<zone name="Africa/Nouakchott" value="GMT0" />
+	<zone name="Africa/Ouagadougou" value="GMT0" />
+	<zone name="Africa/Porto-Novo" value="WAT-1" />
+	<zone name="Africa/Sao_Tome" value="GMT0" />
+	<zone name="Africa/Timbuktu" value="GMT0" />
+	<zone name="Africa/Tripoli" value="EET-2" />
+	<zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+	<zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+	<zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Anguilla" value="AST4" />
+	<zone name="America/Antigua" value="AST4" />
+	<zone name="America/Araguaina" value="BRT3" />
+	<zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/San_Luis" value="ART3" />
+	<zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Aruba" value="AST4" />
+	<zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+	<zone name="America/Atikokan" value="EST5" />
+	<zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+	<zone name="America/Bahia" value="BRT3" />
+	<zone name="America/Barbados" value="AST4" />
+	<zone name="America/Belem" value="BRT3" />
+	<zone name="America/Belize" value="CST6" />
+	<zone name="America/Blanc-Sablon" value="AST4" />
+	<zone name="America/Boa_Vista" value="AMT4" />
+	<zone name="America/Bogota" value="COT5" />
+	<zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+	<zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Caracas" value="VET4:30" />
+	<zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Cayenne" value="GFT3" />
+	<zone name="America/Cayman" value="EST5" />
+	<zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+	<zone name="America/Coral_Harbour" value="EST5" />
+	<zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Costa_Rica" value="CST6" />
+	<zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+	<zone name="America/Curacao" value="AST4" />
+	<zone name="America/Danmarkshavn" value="GMT0" />
+	<zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Dawson_Creek" value="MST7" />
+	<zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Dominica" value="AST4" />
+	<zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Eirunepe" value="ACT5" />
+	<zone name="America/El_Salvador" value="CST6" />
+	<zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+	<zone name="America/Fortaleza" value="BRT3" />
+	<zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Godthab" value="WGST" />
+	<zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+	<zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Grenada" value="AST4" />
+	<zone name="America/Guadeloupe" value="AST4" />
+	<zone name="America/Guatemala" value="CST6" />
+	<zone name="America/Guayaquil" value="ECT5" />
+	<zone name="America/Guyana" value="GYT4" />
+	<zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+	<zone name="America/Hermosillo" value="MST7" />
+	<zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Jamaica" value="EST5" />
+	<zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/La_Paz" value="BOT4" />
+	<zone name="America/Lima" value="PET5" />
+	<zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Maceio" value="BRT3" />
+	<zone name="America/Managua" value="CST6" />
+	<zone name="America/Manaus" value="AMT4" />
+	<zone name="America/Marigot" value="AST4" />
+	<zone name="America/Martinique" value="AST4" />
+	<zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+	<zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+	<zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+	<zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Montserrat" value="AST4" />
+	<zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Noronha" value="FNT2" />
+	<zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Panama" value="EST5" />
+	<zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Paramaribo" value="SRT3" />
+	<zone name="America/Phoenix" value="MST7" />
+	<zone name="America/Port-au-Prince" value="EST5" />
+	<zone name="America/Porto_Acre" value="ACT5" />
+	<zone name="America/Port_of_Spain" value="AST4" />
+	<zone name="America/Porto_Velho" value="AMT4" />
+	<zone name="America/Puerto_Rico" value="AST4" />
+	<zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Recife" value="BRT3" />
+	<zone name="America/Regina" value="CST6" />
+	<zone name="America/Resolute" value="EST5" />
+	<zone name="America/Rio_Branco" value="ACT5" />
+	<zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Santiago" value="CLST" />
+	<zone name="America/Santo_Domingo" value="AST4" />
+	<zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+	<zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+	<zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/St_Barthelemy" value="AST4" />
+	<zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+	<zone name="America/St_Kitts" value="AST4" />
+	<zone name="America/St_Lucia" value="AST4" />
+	<zone name="America/St_Thomas" value="AST4" />
+	<zone name="America/St_Vincent" value="AST4" />
+	<zone name="America/Swift_Current" value="CST6" />
+	<zone name="America/Tegucigalpa" value="CST6" />
+	<zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+	<zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Tortola" value="AST4" />
+	<zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Virgin" value="AST4" />
+	<zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+	<zone name="Antarctica/Casey" value="WST-8" />
+	<zone name="Antarctica/Davis" value="DAVT-7" />
+	<zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+	<zone name="Antarctica/Mawson" value="MAWT-6" />
+	<zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+	<zone name="Antarctica/Palmer" value="CLST" />
+	<zone name="Antarctica/Rothera" value="ROTT3" />
+	<zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+	<zone name="Antarctica/Syowa" value="SYOT-3" />
+	<zone name="Antarctica/Vostok" value="VOST-6" />
+
+	<zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+	<zone name="Asia/Aden" value="AST-3" />
+	<zone name="Asia/Almaty" value="ALMT-6" />
+	<zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+	<zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Aqtau" value="AQTT-5" />
+	<zone name="Asia/Aqtobe" value="AQTT-5" />
+	<zone name="Asia/Ashgabat" value="TMT-5" />
+	<zone name="Asia/Ashkhabad" value="TMT-5" />
+	<zone name="Asia/Baghdad" value="AST-3" />
+	<zone name="Asia/Bahrain" value="AST-3" />
+	<zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+	<zone name="Asia/Bangkok" value="ICT-7" />
+	<zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+	<zone name="Asia/Bishkek" value="KGT-6" />
+	<zone name="Asia/Brunei" value="BNT-8" />
+	<zone name="Asia/Calcutta" value="IST-5:30" />
+	<zone name="Asia/Choibalsan" value="CHOT-9" />
+	<zone name="Asia/Chongqing" value="CST-8" />
+	<zone name="Asia/Chungking" value="CST-8" />
+	<zone name="Asia/Colombo" value="IST-5:30" />
+	<zone name="Asia/Dacca" value="BDT-6" />
+	<zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+	<zone name="Asia/Dhaka" value="BDT-6" />
+	<zone name="Asia/Dili" value="TLT-9" />
+	<zone name="Asia/Dubai" value="GST-4" />
+	<zone name="Asia/Dushanbe" value="TJT-5" />
+	<zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+	<zone name="Asia/Harbin" value="CST-8" />
+	<zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+	<zone name="Asia/Hong_Kong" value="HKT-8" />
+	<zone name="Asia/Hovd" value="HOVT-7" />
+	<zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Asia/Jakarta" value="WIT-7" />
+	<zone name="Asia/Jayapura" value="EIT-9" />
+	<zone name="Asia/Jerusalem" value="IDDT" />
+	<zone name="Asia/Kabul" value="AFT-4:30" />
+	<zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Karachi" value="PKT-5" />
+	<zone name="Asia/Kashgar" value="CST-8" />
+	<zone name="Asia/Katmandu" value="NPT-5:45" />
+	<zone name="Asia/Kolkata" value="IST-5:30" />
+	<zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+	<zone name="Asia/Kuching" value="MYT-8" />
+	<zone name="Asia/Kuwait" value="AST-3" />
+	<zone name="Asia/Macao" value="CST-8" />
+	<zone name="Asia/Macau" value="CST-8" />
+	<zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Makassar" value="CIT-8" />
+	<zone name="Asia/Manila" value="PHT-8" />
+	<zone name="Asia/Muscat" value="GST-4" />
+	<zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Oral" value="ORAT-5" />
+	<zone name="Asia/Phnom_Penh" value="ICT-7" />
+	<zone name="Asia/Pontianak" value="WIT-7" />
+	<zone name="Asia/Pyongyang" value="KST-9" />
+	<zone name="Asia/Qatar" value="AST-3" />
+	<zone name="Asia/Qyzylorda" value="QYZT-6" />
+	<zone name="Asia/Rangoon" value="MMT-6:30" />
+	<zone name="Asia/Riyadh" value="AST-3" />
+	<zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+	<zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+	<zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+	<zone name="Asia/Saigon" value="ICT-7" />
+	<zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Samarkand" value="UZT-5" />
+	<zone name="Asia/Seoul" value="KST-9" />
+	<zone name="Asia/Shanghai" value="CST-8" />
+	<zone name="Asia/Singapore" value="SGT-8" />
+	<zone name="Asia/Taipei" value="CST-8" />
+	<zone name="Asia/Tashkent" value="UZT-5" />
+	<zone name="Asia/Tbilisi" value="GET-4" />
+	<zone name="Asia/Tehran" value="IRDT" />
+	<zone name="Asia/Tel_Aviv" value="IDDT" />
+	<zone name="Asia/Thimbu" value="BTT-6" />
+	<zone name="Asia/Thimphu" value="BTT-6" />
+	<zone name="Asia/Tokyo" value="JST-9" />
+	<zone name="Asia/Ujung_Pandang" value="CIT-8" />
+	<zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+	<zone name="Asia/Ulan_Bator" value="ULAT-8" />
+	<zone name="Asia/Urumqi" value="CST-8" />
+	<zone name="Asia/Vientiane" value="ICT-7" />
+	<zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+	<zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+	<zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Cape_Verde" value="CVT1" />
+	<zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Reykjavik" value="GMT0" />
+	<zone name="Atlantic/South_Georgia" value="GST2" />
+	<zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+	<zone name="Atlantic/St_Helena" value="GMT0" />
+
+	<zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Brisbane" value="EST-10" />
+	<zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Darwin" value="CST-9:30" />
+	<zone name="Australia/Eucla" value="CWST-8:45" />
+	<zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+	<zone name="Australia/Lindeman" value="EST-10" />
+	<zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+	<zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/North" value="CST-9:30" />
+	<zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Perth" value="WST-8" />
+	<zone name="Australia/Queensland" value="EST-10" />
+	<zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/West" value="WST-8" />
+	<zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+	<zone name="Brazil/Acre" value="ACT5" />
+	<zone name="Brazil/DeNoronha" value="FNT2" />
+	<zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+	<zone name="Brazil/West" value="AMT4" />
+
+	<zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/East-Saskatchewan" value="CST6" />
+	<zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+	<zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Saskatchewan" value="CST6" />
+	<zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+	<zone name="Chile/Continental" value="CLST" />
+	<zone name="Chile/EasterIsland" value="EASST" />
+
+	<zone name="Etc/GMT" value="GMT0" />
+	<zone name="Etc/GMT0" value="GMT0" />
+	<zone name="Etc/GMT-0" value="GMT0" />
+	<zone name="Etc/GMT+0" value="GMT0" />
+	<zone name="Etc/GMT-1" value="GMT-1" />
+	<zone name="Etc/GMT+1" value="GMT+1" />
+	<zone name="Etc/GMT-10" value="GMT-10" />
+	<zone name="Etc/GMT+10" value="GMT+10" />
+	<zone name="Etc/GMT-11" value="GMT-11" />
+	<zone name="Etc/GMT+11" value="GMT+11" />
+	<zone name="Etc/GMT-12" value="GMT-12" />
+	<zone name="Etc/GMT+12" value="GMT+12" />
+	<zone name="Etc/GMT-13" value="GMT-13" />
+	<zone name="Etc/GMT-14" value="GMT-14" />
+	<zone name="Etc/GMT-2" value="GMT-2" />
+	<zone name="Etc/GMT+2" value="GMT+2" />
+	<zone name="Etc/GMT-3" value="GMT-3" />
+	<zone name="Etc/GMT+3" value="GMT+3" />
+	<zone name="Etc/GMT-4" value="GMT-4" />
+	<zone name="Etc/GMT+4" value="GMT+4" />
+	<zone name="Etc/GMT-5" value="GMT-5" />
+	<zone name="Etc/GMT+5" value="GMT+5" />
+	<zone name="Etc/GMT-6" value="GMT-6" />
+	<zone name="Etc/GMT+6" value="GMT+6" />
+	<zone name="Etc/GMT-7" value="GMT-7" />
+	<zone name="Etc/GMT+7" value="GMT+7" />
+	<zone name="Etc/GMT-8" value="GMT-8" />
+	<zone name="Etc/GMT+8" value="GMT+8" />
+	<zone name="Etc/GMT-9" value="GMT-9" />
+	<zone name="Etc/GMT+9" value="GMT+9" />
+	<zone name="Etc/Greenwich" value="GMT0" />
+	<zone name="Etc/UCT" value="UCT0" />
+	<zone name="Etc/Universal" value="UTC0" />
+	<zone name="Etc/UTC" value="UTC0" />
+	<zone name="Etc/Zulu" value="UTC0" />
+
+	<zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+	<zone name="Indian/Antananarivo" value="EAT-3" />
+	<zone name="Indian/Chagos" value="IOT-6" />
+	<zone name="Indian/Christmas" value="CXT-7" />
+	<zone name="Indian/Cocos" value="CCT-6:30" />
+	<zone name="Indian/Comoro" value="EAT-3" />
+	<zone name="Indian/Kerguelen" value="TFT-5" />
+	<zone name="Indian/Mahe" value="SCT-4" />
+	<zone name="Indian/Maldives" value="MVT-5" />
+	<zone name="Indian/Mauritius" value="MUT-4" />
+	<zone name="Indian/Mayotte" value="EAT-3" />
+	<zone name="Indian/Reunion" value="RET-4" />
+
+	<zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+	<zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+	<zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+	<zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+	<zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+	<zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+	<zone name="Pacific/Apia" value="WST11" />
+	<zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+	<zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+	<zone name="Pacific/Easter" value="EASST" />
+	<zone name="Pacific/Efate" value="VUT-11" />
+	<zone name="Pacific/Enderbury" value="PHOT-13" />
+	<zone name="Pacific/Fakaofo" value="TKT10" />
+	<zone name="Pacific/Fiji" value="FJT-12" />
+	<zone name="Pacific/Funafuti" value="TVT-12" />
+	<zone name="Pacific/Galapagos" value="GALT6" />
+	<zone name="Pacific/Gambier" value="GAMT9" />
+	<zone name="Pacific/Guadalcanal" value="SBT-11" />
+	<zone name="Pacific/Guam" value="ChST-10" />
+	<zone name="Pacific/Honolulu" value="HST10" />
+	<zone name="Pacific/Johnston" value="HST10" />
+	<zone name="Pacific/Kiritimati" value="LINT-14" />
+	<zone name="Pacific/Kosrae" value="KOST-11" />
+	<zone name="Pacific/Kwajalein" value="MHT-12" />
+	<zone name="Pacific/Majuro" value="MHT-12" />
+	<zone name="Pacific/Marquesas" value="MART9:30" />
+	<zone name="Pacific/Midway" value="SST11" />
+	<zone name="Pacific/Nauru" value="NRT-12" />
+	<zone name="Pacific/Niue" value="NUT11" />
+	<zone name="Pacific/Norfolk" value="NFT-11:30" />
+	<zone name="Pacific/Noumea" value="NCT-11" />
+	<zone name="Pacific/Pago_Pago" value="SST11" />
+	<zone name="Pacific/Palau" value="PWT-9" />
+	<zone name="Pacific/Pitcairn" value="PST8" />
+	<zone name="Pacific/Ponape" value="PONT-11" />
+	<zone name="Pacific/Port_Moresby" value="PGT-10" />
+	<zone name="Pacific/Rarotonga" value="CKT10" />
+	<zone name="Pacific/Saipan" value="ChST-10" />
+	<zone name="Pacific/Samoa" value="SST11" />
+	<zone name="Pacific/Tahiti" value="TAHT10" />
+	<zone name="Pacific/Tarawa" value="GILT-12" />
+	<zone name="Pacific/Tongatapu" value="TOT-13" />
+	<zone name="Pacific/Truk" value="TRUT-10" />
+	<zone name="Pacific/Wake" value="WAKT-12" />
+	<zone name="Pacific/Wallis" value="WFT-12" />
+	<zone name="Pacific/Yap" value="TRUT-10" />
+
+	<zone name="SystemV/AST4" value="AST4" />
+	<zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/CST6" value="CST6" />
+	<zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/EST5" value="EST5" />
+	<zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/HST10" value="HST10" />
+	<zone name="SystemV/MST7" value="MST7" />
+	<zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/PST8" value="PST8" />
+	<zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/YST9" value="GAMT9" />
+	<zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+	<zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+	<zone name="US/Arizona" value="MST7" />
+	<zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="US/Hawaii" value="HST10" />
+	<zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="US/Samoa" value="SST11" />
+    </timezones>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/tts_commandline.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/tts_commandline.conf.xml
new file mode 100644
index 0000000000..eb816431be
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/tts_commandline.conf.xml
@@ -0,0 +1,15 @@
+<configuration name="tts_commandline.conf" description="TextToSpeech Commandline configuration">
+    <settings>
+	<!--
+	Some variables will be replaced :
+	${text}: input text (quoted)
+	${rate}: sample rate (example: 8000)
+	${voice}: voice_name passed to TTS(quoted)
+	${file}: output file (quoted, including .wav extension)
+    
+    Example commands can be found at:
+    http://wiki.freeswitch.org/wiki/Mod_tts_commandline#Example_commands
+	-->
+	<param name="command" value="echo ${text} | text2wave -f ${rate} > ${file}"/>
+    </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unicall.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unicall.conf.xml
new file mode 100644
index 0000000000..eeaa0782f7
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unicall.conf.xml
@@ -0,0 +1,25 @@
+<configuration name="unicall.conf" description="Unicall Configuration">
+  <settings>
+    <param name="context" value="default"/>
+    <param name="dialplan" value="XML"/>
+    <param name="suppress-dtmf-tone" value="true"/>
+  </settings>
+  <spans>
+    <span id="1">
+      <param name="protocol-class" value="mfcr2"/>
+      <param name="protocol-variant" value="ar"/>
+      <param name="protocol-end" value="peer"/>
+      <param name="outgoing-allowed" value="true"/>
+      <param name="dialplan" value="XML"/>
+      <param name="context" value="default"/>
+    </span>
+    <span id="2">
+      <param name="protocol-class" value="mfcr2"/>
+      <param name="protocol-variant" value="ar"/>
+      <param name="protocol-end" value="peer"/>
+      <param name="outgoing-allowed" value="true"/>
+      <param name="dialplan" value="XML"/>
+      <param name="context" value="default"/>
+    </span>
+  </spans>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unimrcp.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unimrcp.conf.xml
new file mode 100644
index 0000000000..452936bf7c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/unimrcp.conf.xml
@@ -0,0 +1,22 @@
+<configuration name="unimrcp.conf" description="UniMRCP Client">
+  <settings>
+    <!-- UniMRCP profile to use for TTS -->
+    <param name="default-tts-profile" value="voxeo-prophecy8.0-mrcp1"/>
+    <!-- UniMRCP profile to use for ASR -->
+    <param name="default-asr-profile" value="voxeo-prophecy8.0-mrcp1"/>
+    <!-- UniMRCP logging level to appear in freeswitch.log.  Options are:
+         EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG -->
+    <param name="log-level" value="DEBUG"/>
+    <!-- Enable events for profile creation, open, and close -->
+    <param name="enable-profile-events" value="false"/>
+
+    <param name="max-connection-count" value="100"/>
+    <param name="offer-new-connection" value="1"/>
+  </settings>
+
+  <profiles>
+    <X-PRE-PROCESS cmd="include" data="../mrcp_profiles/*.xml"/>
+  </profiles>
+
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/voicemail.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/voicemail.conf.xml
new file mode 100644
index 0000000000..14ad98b41c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/voicemail.conf.xml
@@ -0,0 +1,67 @@
+<configuration name="voicemail.conf" description="Voicemail">
+  <settings>
+  </settings>
+  <profiles>
+    <profile name="default">
+      <param name="file-extension" value="wav"/>
+      <param name="terminator-key" value="#"/>
+      <param name="max-login-attempts" value="3"/>
+      <param name="digit-timeout" value="10000"/>
+      <param name="min-record-len" value="3"/>
+      <param name="max-record-len" value="300"/>
+      <param name="max-retries" value="3"/>
+      <param name="tone-spec" value="%(1000, 0, 640)"/>
+      <param name="callback-dialplan" value="XML"/>
+      <param name="callback-context" value="default"/>
+      <param name="play-new-messages-key" value="1"/>
+      <param name="play-saved-messages-key" value="2"/>
+      <param name="login-keys" value="0"/>
+      <param name="main-menu-key" value="0"/>
+      <param name="config-menu-key" value="5"/>
+      <param name="record-greeting-key" value="1"/>
+      <param name="choose-greeting-key" value="2"/>
+      <param name="change-pass-key" value="6"/>
+      <param name="record-name-key" value="3"/>
+      <param name="record-file-key" value="3"/>
+      <param name="listen-file-key" value="1"/>
+      <param name="save-file-key" value="2"/>
+      <param name="delete-file-key" value="7"/>
+      <param name="undelete-file-key" value="8"/>
+      <param name="email-key" value="4"/>
+      <param name="pause-key" value="0"/>
+      <param name="restart-key" value="1"/>
+      <param name="ff-key" value="6"/>
+      <param name="rew-key" value="4"/>
+      <param name="skip-greet-key" value="#"/>
+      <!--<param name="previous-message-key" value=""/>-->
+      <!--<param name="next-message-key" value=""/>-->
+      <!--<param name="skip-info-key" value=""/>-->
+      <param name="record-silence-threshold" value="200"/>
+      <param name="record-silence-hits" value="2"/>
+      <param name="web-template-file" value="web-vm.tpl"/>
+      <!-- if you need to change the sample rate of the recorded files e.g. gmail voicemail player -->
+      <!--<param name="record-sample-rate" value="11025"/>-->
+      <!-- the next two both must be set for this to be enabled
+           the extension is in the format of <dest> [<dialplan>] [<context>]
+       -->
+      <param name="operator-extension" value="operator XML default"/>
+      <param name="operator-key" value="9"/>
+      <param name="vmain-extension" value="vmain XML default"/>
+      <param name="vmain-key" value="*"/>
+      <!-- playback created files as soon as they were recorded by default -->
+      <!--<param name="auto-playback-recordings" value="true"/>-->
+      <email>
+	<param name="template-file" value="voicemail.tpl"/>
+	<param name="notify-template-file" value="notify-voicemail.tpl"/>
+	<!-- this is the format voicemail_time will have -->
+        <param name="date-fmt" value="%A, %B %d %Y, %I %M %p"/>
+        <param name="email-from" value="${voicemail_account}@${voicemail_domain}"/>
+      </email>
+      <!--<param name="storage-dir" value="/tmp"/>-->
+      <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+      <!--<param name="record-comment" value="Your Comment"/>-->
+      <!--<param name="record-title" value="Your Title"/>-->
+      <!--<param name="record-copyright" value="Your Copyright"/>-->
+    </profile>
+  </profiles>
+</configuration> 
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_cdr.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_cdr.conf.xml
new file mode 100644
index 0000000000..6f8ef0deb5
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_cdr.conf.xml
@@ -0,0 +1,71 @@
+<configuration name="xml_cdr.conf" description="XML CDR CURL logger">
+  <settings>
+    <!-- the url to post to if blank web posting is disabled  -->
+    <!-- <param name="url" value="http://localhost/cdr_curl/post.php"/> -->
+
+    <!-- optional: credentials to send to web server -->
+    <!--    <param name="cred" value="user:pass"/> -->
+
+    <!-- the total number of retries (not counting the first 'try') to post to webserver incase of failure -->
+    <!-- <param name="retries" value="2"/> -->
+
+    <!-- delay between retries in seconds, default is 5 seconds -->
+    <!-- <param name="delay" value="1"/> -->
+
+    <!-- Log via http and on disk, default is false -->
+    <!-- <param name="log-http-and-disk" value="true"/> -->
+
+    <!-- optional: if not present we do not log every record to disk -->
+    <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank value will default to ${prefix}/logs/xml_cdr -->
+    <param name="log-dir" value=""/>
+
+    <!-- optional: if not present we do log the b leg -->
+    <!-- true or false if we should create a cdr for the b leg of a call-->
+    <param name="log-b-leg" value="false"/>
+    
+    <!-- optional: if not present, all filenames are the uuid of the call -->
+    <!-- true or false if a leg files are prefixed "a_" -->
+    <param name="prefix-a-leg" value="true"/>
+
+    <!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
+    <param name="encode" value="true"/>
+
+    <!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting --> 
+    <!--<param name="disable-100-continue" value="true"/>--> 
+    
+    <!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
+    <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->
+    <!-- <param name="err-log-dir" value="/tmp"/> -->
+
+    <!-- which auhtentification scheme to use. Supported values are: basic, digest, NTLM, GSS-NEGOTIATE or "any" for automatic detection -->
+    <!--<param name="auth-scheme" value="basic"/>--> 
+
+    <!-- optional: this will enable the CA root certificate check by libcurl to
+         verify that the certificate was issued by a major Certificate Authority.
+         note: default value is disabled. only enable if you want this! -->
+    <!--<param name="enable-cacert-check" value="true"/>-->
+    <!-- optional: verify that the server is actually the one listed in the cert -->
+    <!-- <param name="enable-ssl-verifyhost" value="true"/> -->
+
+    <!-- optional: these options can be used to specify custom SSL certificates
+         to use for HTTPS communications. Either use both options or neither.
+         Specify your public key with 'ssl-cert-path' and the private key with
+         'ssl-key-path'. If your private key has a password, specify it with
+         'ssl-key-password'. -->
+    <!-- <param name="ssl-cert-path" value="$${base_dir}/conf/certs/public_key.pem"/> -->
+    <!-- <param name="ssl-key-path" value="$${base_dir}/conf/certs/private_key.pem"/> -->
+    <!-- <param name="ssl-key-password" value="MyPrivateKeyPassword"/> -->
+
+    <!-- optional: use a custom CA certificate in PEM format to verify the peer
+         with. This is useful if you are acting as your own certificate authority.
+         note: only makes sense if used in combination with "enable-cacert-check." -->
+    <!-- <param name="ssl-cacert-file" value="$${base_dir}/conf/certs/cacert.pem"/> -->
+
+    <!-- optional: specify the SSL version to force HTTPS to use. Valid options are
+         "SSLv3" and "TLSv1". Otherwise libcurl will auto-negotiate the version. -->
+    <!-- <param name="ssl-version" value="TLSv1"/> -->
+
+    <!-- optional: enables cookies and stores them in the specified file. -->
+    <!-- <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> -->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_curl.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_curl.conf.xml
new file mode 100644
index 0000000000..21e0af6b68
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_curl.conf.xml
@@ -0,0 +1,47 @@
+<configuration name="xml_curl.conf" description="cURL XML Gateway">
+  <bindings>
+    <binding name="example">
+      <!-- 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 -->
+      <!-- <param name="gateway-url" value="http://www.freeswitch.org/gateway.xml" bindings="dialplan"/> -->
+      <!-- set this to provide authentication credentials to the server -->
+      <!--<param name="gateway-credentials" value="muser:mypass"/>-->
+      <!--<param name="auth-scheme" value="basic"/>-->
+
+      <!-- optional: this will enable the CA root certificate check by libcurl to
+           verify that the certificate was issued by a major Certificate Authority.
+           note: default value is disabled. only enable if you want this! -->
+      <!--<param name="enable-cacert-check" value="true"/>-->
+      <!-- optional: verify that the server is actually the one listed in the cert -->
+      <!-- <param name="enable-ssl-verifyhost" value="true"/> -->
+
+      <!-- optional: these options can be used to specify custom SSL certificates
+           to use for HTTPS communications. Either use both options or neither.
+           Specify your public key with 'ssl-cert-path' and the private key with
+           'ssl-key-path'. If your private key has a password, specify it with
+           'ssl-key-password'. -->
+      <!-- <param name="ssl-cert-path" value="$${base_dir}/conf/certs/public_key.pem"/> -->
+      <!-- <param name="ssl-key-path" value="$${base_dir}/conf/certs/private_key.pem"/> -->
+      <!-- <param name="ssl-key-password" value="MyPrivateKeyPassword"/> -->
+      <!-- optional timeout -->
+      <!-- <param name="timeout" value="10"/> -->
+
+      <!-- optional: use a custom CA certificate in PEM format to verify the peer
+           with. This is useful if you are acting as your own certificate authority.
+           note: only makes sense if used in combination with "enable-cacert-check." -->
+      <!-- <param name="ssl-cacert-file" value="$${base_dir}/conf/certs/cacert.pem"/> -->
+
+      <!-- optional: specify the SSL version to force HTTPS to use. Valid options are
+           "SSLv3" and "TLSv1". Otherwise libcurl will auto-negotiate the version. -->
+      <!-- <param name="ssl-version" value="TLSv1"/> -->
+
+      <!-- optional: enables cookies and stores them in the specified file. -->
+      <!-- <param name="cookie-file" value="/tmp/cookie-mod_xml_curl.txt"/> -->
+
+      <!-- one or more of these imply you want to pick the exact variables that are transmitted -->
+      <!--<param name="enable-post-var" value="Unique-ID"/>-->
+    </binding>
+  </bindings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_rpc.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_rpc.conf.xml
new file mode 100644
index 0000000000..714a909907
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/xml_rpc.conf.xml
@@ -0,0 +1,10 @@
+<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 -->
+    <param name="auth-realm" value="freeswitch"/>
+    <param name="auth-user" value="freeswitch"/>
+    <param name="auth-pass" value="works"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/zeroconf.conf.xml b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/zeroconf.conf.xml
new file mode 100644
index 0000000000..84c1a46171
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/autoload_configs/zeroconf.conf.xml
@@ -0,0 +1,6 @@
+<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
+  <settings>
+    <param name="publish" value="yes"/>
+    <param name="browse" value="_sip._udp"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default.xml
new file mode 100644
index 0000000000..5e388ffdbb
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default.xml
@@ -0,0 +1,773 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    NOTICE:
+    
+    This context is usually accessed via authenticated callers on the sip profile on port 5060 
+    or transfered callers from the public context which arrived via the sip profile on port 5080.
+    
+    Authenticated users will use the user_context variable on the user to determine what context
+    they can access.  You can also add a user in the directory with the cidr= attribute acl.conf.xml
+    will build the domains ACL using this value.
+-->
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+  <context name="default">
+
+    <extension name="unloop">
+      <condition field="${unroll_loops}" expression="^true$"/>
+      <condition field="${sip_looped_call}" expression="^true$">
+	<action application="deflect" data="${destination_number}"/>
+      </condition>
+    </extension>
+
+    <!-- Example of doing things based on time of day. 
+
+	 year = 4 digit year. Example year="2009"
+	 yday = 1-365
+	 mon = 1-12
+	 mday = 1-31
+	 week = 1-52
+	 mweek= 1-6
+	 wday = 1-7
+	 hour = 0-23
+	 minute = 0-59
+	 minute-of-day = 1-1440
+	 
+	 Example:
+	 <condition minute-of-day="540-1080"> (9am to 6pm EVERY day)
+	 do something ...
+	 </condition>
+    -->
+    <extension name="tod_example" continue="true">
+      <condition wday="2-6" hour="9-18">
+	<action application="set" data="open=true"/>
+      </condition>
+    </extension>
+
+    <!-- Example of routing based on holidays
+
+	This example covers all US Federal holidays except for inauguration day.
+    -->
+
+    <extension name="holiday_example" continue="true">
+      <condition mday="1" mon="1">
+	<!-- new year's day -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition wday="2" mweek="3" mon="1">
+	<!-- martin luther king day is the 3rd monday in january -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition wday="2" mweek="3" mon="2">
+	<!-- president's day is the 3rd monday in february -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition wday="2" mon="5" mday="25-31">
+	<!-- memorial day is the last monday in may (the only monday between the 25th and the 31st) -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition mday="4" mon="7">
+	<!-- independence day -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition wday="2" mweek="1" mon="9">
+	<!-- labor day is the 1st monday in september -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition wday="2" mweek="2" mon="10">
+	<!-- columbus day is the 2nd monday in october -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition mday="11" mon="11">
+	<!-- veteran's day -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition wday="5-6" mweek="4" mon="11">
+	<!-- thanksgiving is the 4th thursday in november and usually there's an extension for black friday -->
+	<action application="set" data="open=false"/>
+      </condition>
+      <condition mday="25" mon="12">
+	<!-- Christmas -->
+	<action application="set" data="open=false"/>
+      </condition>
+    </extension>
+
+    <extension name="global-intercept">
+      <condition field="destination_number" expression="^886$">
+	<action application="answer"/>
+	<action application="intercept" data="${hash(select/${domain_name}-last_dial/global)}"/>
+	<action application="sleep" data="2000"/>
+      </condition>
+    </extension>
+
+    <extension name="group-intercept">
+      <condition field="destination_number" expression="^\*8$">
+	<action application="answer"/>
+	<action application="intercept" data="${hash(select/${domain_name}-last_dial/${callgroup})}"/>
+	<action application="sleep" data="2000"/>
+      </condition>
+    </extension>
+
+    <extension name="intercept-ext">
+      <condition field="destination_number" expression="^\*\*(\d+)$">
+	<action application="answer"/>
+	<action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/$1)}"/>
+	<action application="sleep" data="2000"/>
+      </condition>
+    </extension>
+
+    <extension name="redial">
+      <condition field="destination_number" expression="^(redial|870)$">
+	<action application="transfer" data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/>
+      </condition>
+    </extension>
+
+    <extension name="global" continue="true">
+      <condition field="${call_debug}" expression="^true$" break="never">
+	<action application="info"/>
+      </condition>
+      <!--
+	  This is an example of how to auto detect if telephone-event is missing and activate inband detection 
+      -->
+      <!--
+      <condition field="${switch_r_sdp}" expression="a=rtpmap:(\d+)\stelephone-event/8000" break="never">
+	<action application="set" data="rtp_payload_number=$1"/>
+	<anti-action application="start_dtmf"/>
+      </condition>
+      -->
+      <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">
+	<action application="set" data="sip_secure_media=true"/>
+	<!-- Offer SRTP on outbound legs if we have it on inbound. -->
+	<!-- <action application="export" data="sip_secure_media=true"/> -->
+      </condition>
+
+      <condition>
+	<action application="hash" data="insert/${domain_name}-spymap/${caller_id_number}/${uuid}"/>
+	<action application="hash" data="insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}"/>
+	<action application="hash" data="insert/${domain_name}-last_dial/global/${uuid}"/>
+      </condition>
+    </extension>
+
+    <!-- If sip_req_host is not a local domain then this has to be an external sip uri -->
+    <!--
+    <extension name="external_sip_uri" continue="true">
+      <condition field="source" expression="mod_sofia"/>
+      <condition field="${outside_call}" expression="^$"/>
+      <condition field="${domain_exists(${sip_req_host})}" expression="true">
+	<anti-action application="bridge" data="sofia/${use_profile}/${sip_to_uri}"/>
+      </condition>
+    </extension>
+    -->
+    <!--
+	Snom button demo, call 9000 to make button 2 mapped to transfer the current call to a conference
+    -->
+
+    <extension name="snom-demo-2">
+      <condition field="destination_number" expression="^9001$">
+	<action application="eval" data="${snom_bind_key(2 off DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message notused)}"/>
+	<action application="transfer" data="3000"/>
+      </condition>
+    </extension>
+    
+    <extension name="snom-demo-1">
+      <condition field="destination_number" expression="^9000$">
+	<!--<key> <light> <label> <user> <host> <profile> <action_name> <action>-->
+	<action application="eval" data="${snom_bind_key(2 on DND ${sip_from_user} ${sip_from_host} ${sofia_profile_name} message api+uuid_transfer ${uuid} 9001)}"/>
+	<action application="playback" data="$${hold_music}"/>
+      </condition>
+    </extension>
+
+    <extension name="eavesdrop">
+      <condition field="destination_number" expression="^88(\d{4})$|^\*0(.*)$">
+	<action application="answer"/>
+	<action application="eavesdrop" data="${hash(select/${domain_name}-spymap/$1)}"/>
+      </condition>
+    </extension>
+
+    <extension name="eavesdrop">
+      <condition field="destination_number" expression="^779$">
+	<action application="answer"/>
+	<action application="set" data="eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)"/>
+	<action application="set" data="eavesdrop_indicate_new=tone_stream://%(500, 0, 620)"/>
+	<action application="set" data="eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)"/>
+	<action application="eavesdrop" data="all"/>
+      </condition>
+    </extension>
+
+    <extension name="call_return">
+      <condition field="destination_number" expression="^\*69$|^869$|^lcr$">
+	<action application="transfer" data="${hash(select/${domain_name}-call_return/${caller_id_number})}"/>
+      </condition>
+    </extension>
+
+    <extension name="del-group">
+      <condition field="destination_number" expression="^80(\d{2})$">
+	<action application="answer"/>
+	<action application="group" data="delete:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}"/>
+	<action application="gentones" data="%(1000, 0, 320)"/>
+      </condition>
+    </extension>
+
+    <extension name="add-group">
+      <condition field="destination_number" expression="^81(\d{2})$">
+	<action application="answer"/>
+	<action application="group" data="insert:$1@${domain_name}:${sofia_contact(${sip_from_user}@${domain_name})}"/>
+	<action application="gentones" data="%(1000, 0, 640)"/>
+      </condition>
+    </extension>
+
+    <extension name="call-group-simo">
+      <condition field="destination_number" expression="^82(\d{2})$">
+	<action application="bridge" data="{leg_timeout=15,ignore_early_media=true}${group(call:$1@${domain_name})}"/>
+      </condition>
+    </extension>
+
+    <extension name="call-group-order">
+      <condition field="destination_number" expression="^83(\d{2})$">
+	<action application="bridge" data="{leg_timeout=15,ignore_early_media=true}${group(call:$1@${domain_name}:order)}"/>
+      </condition>
+    </extension>
+
+    <extension name="extension-intercom">
+      <condition field="destination_number" expression="^8(10[01][0-9])$">
+	<action application="set" data="dialed_extension=$1"/>
+	<action application="export" data="sip_auto_answer=true"/>
+	<action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+      </condition>
+    </extension>
+
+    <!-- 
+	 dial the extension (1000-1019) for 30 seconds and go to voicemail if the 
+	 call fails (continue_on_fail=true), otherwise hang up after a successful
+	 bridge (hangup_after-bridge=true) 
+    -->
+    <extension name="Local_Extension">
+      <condition field="destination_number" expression="^(10[01][0-9])$">
+	<action application="set" data="dialed_extension=$1"/>
+	<action application="export" data="dialed_extension=$1"/>
+	<!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> -->
+	<action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
+	<action application="bind_meta_app" data="2 b s record_session::$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+	<action application="bind_meta_app" data="3 b s execute_extension::cf XML features"/>
+	<action application="set" data="ringback=${us-ring}"/>
+	<action application="set" data="transfer_ringback=$${hold_music}"/>
+	<action application="set" data="call_timeout=30"/>
+	<!-- <action application="set" data="sip_exclude_contact=${network_addr}"/> -->
+	<action application="set" data="hangup_after_bridge=true"/>
+	<!--<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
+	<action application="set" data="continue_on_fail=true"/>
+	<action application="hash" data="insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}"/>
+	<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
+	<action application="set" data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>
+	<!--<action application="export" data="nolocal:sip_secure_media=${user_data(${dialed_extension}@${domain_name} var sip_secure_media)}"/>-->
+	<action application="hash" data="insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}"/>
+	<action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
+	<action application="answer"/>
+	<action application="sleep" data="1000"/>
+	<action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/>
+      </condition>
+    </extension>
+
+    <extension name="Local_Extension_Skinny">
+      <condition field="destination_number" expression="^(20[01][0-9])$">
+        <action application="bridge" data="skinny/internal/${destination_number}"/>
+      </condition>
+    </extension>
+
+    <extension name="group_dial_sales">
+      <condition field="destination_number" expression="^2000$">
+	<action application="bridge" data="${group_call(sales@${domain_name})}"/>
+      </condition>
+    </extension>
+
+    <extension name="group_dial_support">
+      <condition field="destination_number" expression="^2001$">
+	<action application="bridge" data="group/support@${domain_name}"/>
+      </condition>
+    </extension>
+
+    <extension name="group_dial_billing">
+      <condition field="destination_number" expression="^2002$">
+	<action application="bridge" data="group/billing@${domain_name}"/>
+      </condition>
+    </extension>
+
+    <!-- voicemail operator extension -->
+    <extension name="operator">
+      <condition field="destination_number" expression="^(operator|0)$">
+	<action application="set" data="transfer_ringback=$${hold_music}"/>
+	<action application="transfer" data="1000 XML features"/>
+      </condition>
+    </extension>
+
+    <!-- voicemail main extension -->
+    <extension name="vmain">
+      <condition field="destination_number" expression="^vmain$|^4000$|^\*98$">
+	<action application="answer"/>
+	<action application="sleep" data="1000"/>
+	<action application="voicemail" data="check default ${domain_name}"/>  
+      </condition>
+    </extension>
+
+    <!-- 
+	 This extension is used by mod_portaudio so you can pa call sip:someone@example.com
+	 mod_portaudio will pass the entire string to the dialplan for routing.
+    -->
+    <extension name="sip_uri">
+      <condition field="destination_number" expression="^sip:(.*)$">
+	<action application="bridge" data="sofia/${use_profile}/$1"/>
+      </condition>
+    </extension>
+
+    <!--
+	start a dynamic conference with the settings of the "default" conference profile in conference.conf.xml
+    -->            
+    <extension name="nb_conferences">
+      <condition field="destination_number" expression="^(30\d{2})$">
+	<action application="answer"/>
+	<action application="conference" data="$1-${domain_name}@default"/>
+      </condition>
+    </extension>
+
+    <!-- BBB testing -->
+
+    <extension name="bbb_conferences">
+      <condition field="destination_number" expression="^(85\d{3})$">
+	  <action application="answer"/>
+	  <action application="conference" data="$1@wideband"/>
+      </condition>
+    </extension>
+
+    <extension name="wb_conferences">
+      <condition field="destination_number" expression="^(31\d{2})$">
+	<action application="answer"/>
+	<action application="conference" data="$1-${domain_name}@wideband"/>
+      </condition>
+    </extension>
+
+    <extension name="uwb_conferences">
+      <condition field="destination_number" expression="^(32\d{2})$">
+	<action application="answer"/>
+	<action application="conference" data="$1-${domain_name}@ultrawideband"/>
+      </condition>
+    </extension>
+    <!-- MONO 48kHz conferences -->
+    <extension name="cdquality_conferences">
+      <condition field="destination_number" expression="^(33\d{2})$">
+	<action application="answer"/>
+	<action application="conference" data="$1-${domain_name}@cdquality"/>
+      </condition>
+    </extension>
+    
+    <!-- dial the FreeSWITCH conference via SIP-->
+    <extension name="freeswitch_public_conf_via_sip">
+      <condition field="destination_number" expression="^9(888|8888|1616|3232)$">
+	<action application="export" data="hold_music=silence"/>
+	<!-- 
+	     This will take the SAS from the b-leg and send it to the display on the a-leg phone.
+	     Known working with Polycom and Snom maybe others.
+	-->
+	<!--
+	<action application="set" data="exec_after_bridge_app=${sched_api(+4 zrtp expand uuid_display ${uuid} \${uuid_getvar(\${uuid_getvar(${uuid} signal_bond)} zrtp_sas1_string )}  \${uuid_getvar(\${uuid_getvar(${uuid} signal_bond)} zrtp_sas2_string )} )}"/>
+	<action application="export" data="nolocal:zrtp_secure_media=true"/>
+	-->
+	<action application="bridge" data="sofia/${use_profile}/$1@conference.freeswitch.org"/>
+      </condition>
+    </extension>
+
+    <!--
+	This extension will start a conference and invite a group.
+	At anytime the participant can dial *2 to bridge directly to the boss. 
+	All other callers are then hung up on.
+    -->
+    <extension name="mad_boss_intercom">
+      <condition field="destination_number" expression="^0911$">
+	<action application="set" data="conference_auto_outcall_caller_id_name=Mad Boss1"/>
+	<action application="set" data="conference_auto_outcall_caller_id_number=0911"/>
+	<action application="set" data="conference_auto_outcall_timeout=60"/>
+	<action application="set" data="conference_auto_outcall_flags=mute"/>
+	<action application="set" data="conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer='bind_meta_app 2 a s1 transfer::intercept:${uuid} inline'}"/>
+	<action application="set" data="sip_exclude_contact=${network_addr}"/>
+	<action application="conference_set_auto_outcall" data="${group_call(sales)}"/>
+	<action application="conference" data="madboss_intercom1@default+flags{endconf|deaf}"/>
+      </condition>
+    </extension>
+
+    <!--
+	This extension will start a conference and invite a few of people.
+	At anytime the participant can dial *2 to bridge directly to the boss. 
+	All other callers are then hung up on.
+    -->
+    <extension name="mad_boss_intercom">
+      <condition field="destination_number" expression="^0912$">
+	<action application="set" data="conference_auto_outcall_caller_id_name=Mad Boss2"/>
+	<action application="set" data="conference_auto_outcall_caller_id_number=0912"/>
+	<action application="set" data="conference_auto_outcall_timeout=60"/>
+	<action application="set" data="conference_auto_outcall_flags=mute"/>
+	<action application="set" data="conference_auto_outcall_prefix={sip_auto_answer=true,execute_on_answer='bind_meta_app 2 a s1 transfer::intercept:${uuid} inline'}"/>
+	<action application="set" data="sip_exclude_contact=${network_addr}"/>
+	<action application="conference_set_auto_outcall" data="loopback/9999"/>
+	<action application="conference" data="madboss_intercom2@default+flags{endconf|deaf}"/>
+      </condition>
+    </extension>
+
+    <!--This extension will start a conference and invite several people upon entering -->
+    <extension name="mad_boss">
+      <condition field="destination_number" expression="^0913$">
+	<!--These params effect the outcalls made once you join-->
+	<action application="set" data="conference_auto_outcall_caller_id_name=Mad Boss"/>
+	<action application="set" data="conference_auto_outcall_caller_id_number=0911"/>
+	<action application="set" data="conference_auto_outcall_timeout=60"/>
+	<action application="set" data="conference_auto_outcall_flags=none"/>
+	<!--<action application="set" data="conference_auto_outcall_announce=say:You have been called into an emergency conference"/>-->
+	<!--Add as many of these as you need, These are the people you are going to call-->
+	<action application="conference_set_auto_outcall" data="loopback/9999"/>
+	<action application="conference" data="madboss3@default"/>
+      </condition>
+    </extension>
+
+    <!-- a sample IVR  -->
+    <extension name="ivr_demo">
+      <condition field="destination_number" expression="^5000$">
+        <action application="answer"/>
+        <action application="sleep" data="2000"/>
+	<action application="ivr" data="demo_ivr"/>
+      </condition>
+    </extension>
+
+    <!-- Create a conference on the fly and pull someone in at the same time. --> 
+    <extension name="dynamic_conference">
+      <condition field="destination_number" expression="^5001$">
+	<action application="conference" data="bridge:mydynaconf:sofia/${use_profile}/1234@conference.freeswitch.org"/>
+      </condition>
+    </extension>
+
+    <extension name="rtp_multicast_page">
+      <condition field="destination_number" expression="^pagegroup$|^7243$">
+	<action application="answer"/>
+	<action application="esf_page_group"/>
+      </condition>
+    </extension>
+
+    <!-- 
+	 Parking extensions... transferring calls to 5900 will park them in a queue.
+    -->
+    <extension name="park">
+      <condition field="destination_number" expression="^5900$">
+	<action application="set" data="fifo_music=$${hold_music}"/>
+	<action application="fifo" data="5900@${domain_name} in"/>
+      </condition>
+    </extension>
+
+    <!-- 
+	 Parking pickup extension.  Calling 5901 will pickup the call.
+    -->
+    <extension name="unpark">
+      <condition field="destination_number" expression="^5901$">
+	<action application="answer"/>
+	<action application="fifo" data="5900@${domain_name} out nowait"/>
+      </condition>
+    </extension>
+
+    <!-- 
+	 Valet park retrieval, works with valet_park extension below.
+	 Retrieve a valet parked call by dialing 6000 + park number + #
+    -->
+    <extension name="valet_park">
+      <condition field="destination_number" expression="^(6000)$">
+	<action application="answer"/>
+	<action application="valet_park" data="valet_parking_lot ask 1 11 10000 ivr/ivr-enter_ext_pound.wav"/>
+      </condition>
+    </extension>
+
+    <!-- 
+	 Valet park 6001-6099.  Blind x-fer to 6001, 6002, etc. to valet park the call.
+	 Dial 6001, 6002, etc. to retrieve a call that is already valet parked.
+	 After call is retrieved, park extension is free for another call.
+    -->
+    <extension name="valet_park">
+      <condition field="destination_number" expression="^(60\d[1-9])$">
+	<action application="answer"/>
+	<action application="valet_park" data="valet_parking_lot $1"/>
+      </condition>
+    </extension>
+
+
+    <!--
+	This extension is used with Snom phones.  
+	
+	Set a function key to park+lot (lot being a number or name.)
+	Set type to Park+Orbit.  You can then park and pickup using 
+	the softkey on the phone.  Should work with other phones.
+    -->
+    <extension name="park">
+      <condition field="source" expression="mod_sofia"/>
+      <condition field="destination_number" expression="park\+(\d+)">
+	<action application="fifo" data="$1@${domain_name} in undef $${hold_music}"/>
+      </condition>
+    </extension> 
+    <!--
+	The extension is parking pickup with a to param of the fifo we are calling 
+	Some phones send things like orbit= and you can extract that info.
+    -->
+    <extension name="unpark">
+      <condition field="source" expression="mod_sofia"/>
+      <condition field="destination_number" expression="^parking$"/>
+      <condition field="${sip_to_params}" expression="fifo\=(\d+)">
+	<action application="answer"/>
+	<action application="fifo" data="$1@${domain_name} out nowait"/>
+      </condition>
+    </extension>
+
+    <!--
+       This extension is used with Linksys phones.
+
+       Set a Phone tab option Call Park Serv to yes. You can park and
+       pickup using soft keys "park" and "unpark" found during
+       active call when moving navigation button. The other option
+       is to use phone's star codes (defaults to *38 and *39).
+    -->
+    <extension name="park">
+      <condition field="source" expression="mod_sofia"/>
+      <condition field="destination_number" expression="callpark"/>
+      <condition field="${sip_refer_to}">
+	<expression><![CDATA[<sip:callpark@${domain_name};orbit=(\d+)>]]></expression>
+	<action application="fifo" data="$1@${domain_name} in undef $${hold_music}"/>
+      </condition>
+    </extension>
+    
+    <!--
+       This extension is used with Linksys phones.
+
+       The extension is parking pickup with a to param of the fifo
+       we are calling. Linksys sends orbit=<parkingslotnumber>
+       and we extract that info.
+    -->
+    <extension name="unpark">
+      <condition field="source" expression="mod_sofia"/>
+      <condition field="destination_number" expression="pickup"/>
+      <condition field="${sip_to_params}" expression="orbit\=(\d+)">
+	<action application="answer"/>
+	<action application="fifo" data="$1@${domain_name} out nowait"/>
+       </condition>
+    </extension>
+
+    <!--
+	Here are some examples of how to override the ringback heard by the
+	far end.  You have two variables that you can use to override this.
+	
+	ringback          - used when a call isn't answered. (early media)
+	transfer_ringback - used when the call is already answered. (post answer)
+    -->
+
+    <!-- Demonstration of how to override the ringback in various situations -->
+    <extension name="wait">
+      <condition field="destination_number" expression="^wait$">
+	<action application="pre_answer"/>
+	<action application="sleep" data="20000"/>
+	<action application="answer"/>
+	<action application="sleep" data="1000"/>
+	<action application="playback" data="voicemail/vm-goodbye.wav"/>
+	<action application="hangup"/>
+      </condition>
+    </extension>
+    
+    <extension name="fax_receive">
+      <condition field="destination_number" expression="^9178$">
+	<action application="answer" />
+	<action application="playback" data="silence_stream://2000"/>
+	<action application="rxfax" data="/tmp/rxfax.tif"/>
+	<action application="hangup"/>
+      </condition>
+    </extension>
+
+    <extension name="fax_transmit">
+      <condition field="destination_number" expression="^9179$">
+	<action application="txfax" data="/tmp/txfax.tif"/>
+	<action application="hangup"/>
+      </condition>
+    </extension>
+
+    <!-- Send a 180 and let the far end generate ringback. -->
+    <extension name="ringback_180">
+      <condition field="destination_number" expression="^9180$">
+	<action application="ring_ready"/>
+	<action application="sleep" data="20000"/>
+	<action application="answer"/>
+	<action application="sleep" data="1000"/>
+	<action application="playback" data="voicemail/vm-goodbye.wav"/>
+	<action application="hangup"/>
+      </condition>
+    </extension>
+
+    <!-- Send a 183 and send uk-ring as the ringtone. (early media) -->
+    <extension name="ringback_183_uk_ring">
+      <condition field="destination_number" expression="^9181$">
+	<action application="set" data="ringback=$${uk-ring}"/>
+	<action application="bridge" data="loopback/wait"/>
+      </condition>
+    </extension>
+
+    <!-- Send a 183 and use music as the ringtone. (early media) -->
+    <extension name="ringback_183_music_ring">
+      <condition field="destination_number" expression="^9182$">
+	<action application="set" data="ringback=$${hold_music}"/>
+	<action application="bridge" data="loopback/wait"/>
+      </condition>
+    </extension>
+
+    <!-- Answer the call and use music as the ringtone. (post answer) -->
+    <extension name="ringback_post_answer_uk_ring">
+      <condition field="destination_number" expression="^9183$">
+	<action application="set" data="transfer_ringback=$${uk-ring}"/>
+	<action application="answer"/>
+	<action application="bridge" data="loopback/wait"/>
+      </condition>
+    </extension>
+
+    <!-- Answer the call and use music as the ringtone. (post answer) -->
+    <extension name="ringback_post_answer_music">
+      <condition field="destination_number" expression="^9184$">
+	<action application="set" data="transfer_ringback=$${hold_music}"/>
+	<action application="answer"/>
+	<action application="bridge" data="loopback/wait"/>
+      </condition>
+    </extension>
+
+    <extension name="ClueCon">
+      <condition field="destination_number" expression="^9191$">
+        <action application="set" data="effective_caller_id_name=ClueCon IVR"/>
+        <action application="bridge" data="sofia/$${domain}/2000@bkw.org"/>
+      </condition>
+    </extension>
+
+    <extension name="show_info">
+      <condition field="destination_number" expression="^9192$">
+	<action application="answer"/>
+	<action application="info"/>
+	<action application="sleep" data="250"/>
+	<action application="hangup"/>
+      </condition>
+    </extension>
+
+    <extension name="video_record">
+      <condition field="destination_number" expression="^9193$">
+	<action application="answer"/>
+	<action application="record_fsv" data="/tmp/testrecord.fsv"/>
+      </condition>
+    </extension>
+
+    <extension name="video_playback">
+      <condition field="destination_number" expression="^9194$">
+	<action application="answer"/>
+	<action application="play_fsv" data="/tmp/testrecord.fsv"/>
+      </condition>
+    </extension>
+
+    <extension name="delay_echo">
+      <condition field="destination_number" expression="^9195$">
+	<action application="answer"/>
+	<action application="delay_echo" data="5000"/>
+      </condition>
+    </extension>
+
+    <extension name="echo">
+      <condition field="destination_number" expression="^9196$">
+	<action application="answer"/>
+	<action application="echo"/>
+      </condition>
+    </extension>
+
+    <extension name="milliwatt">
+      <condition field="destination_number" expression="^9197$">
+	<action application="answer"/>
+	<action application="playback" data="tone_stream://%(251,0,1004);loops=-1"/>
+      </condition>
+    </extension>
+
+    <extension name="tone_stream">
+      <condition field="destination_number" expression="^9198$">
+	<action application="answer"/>
+	<action application="playback" data="tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10"/>
+      </condition>
+    </extension>
+
+    <!-- install zrtp_agent.lua into scripts (ZRTP == 9787) -->
+    <extension name="zrtp_enrollement">
+      <condition field="destination_number" expression="^9787$">
+	<action application="answer"/>
+	<action application="lua" data="zrtp_agent.lua"/>
+      </condition>
+    </extension>
+
+    <!--
+	You will no longer hear the bong tone.  The wav file is playing stating the call is secure.
+	The file will not play unless you have both TLS and SRTP active.
+    -->
+
+    <extension name="hold_music">
+      <condition field="destination_number" expression="^9664$"/>
+      <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$">
+	<action application="answer"/>
+	<action application="execute_extension" data="is_secure XML features"/>
+	<action application="playback" data="$${hold_music}"/>
+	<anti-action application="set" data="zrtp_secure_media=true"/>
+	<anti-action application="answer"/>
+	<anti-action application="playback" data="silence_stream://2000"/>
+	<anti-action application="execute_extension" data="is_zrtp_secure XML features"/>
+	<anti-action application="playback" data="$${hold_music}"/>
+      </condition>
+    </extension>
+
+    <!--
+	You can place files in the default directory to get included.
+    -->
+    <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+    
+    <!--
+	WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+	
+	Anything you put below this line will usually get ignored due to the file in 
+	default/99999_enum.xml as it will transfer the call to the enum dialplan.
+
+	WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+    -->
+
+    <!--
+    <extension name="refer">
+      <condition field="${sip_refer_to}">
+	<expression><![CDATA[<sip:${destination_number}@${domain_name}>]]></expression>
+      </condition>
+      <condition field="${sip_refer_to}">
+	<expression><![CDATA[<sip:(.*)@(.*)>]]></expression>
+	<action application="set" data="refer_user=$1"/>
+	<action application="set" data="refer_domain=$2"/>
+	<action application="info"/>
+	<action application="bridge" data="sofia/${use_profile}/${refer_user}@${refer_domain}"/>
+      </condition>
+    </extension>
+    -->
+    <!--
+	This is an example of how to override the RURI on an outgoing invite to a registered contact.
+    -->
+    <!--
+    <extension name="ruri">
+      <condition field="destination_number" expression="^ruri$">
+	<action application="bridge" data="sofia/${ruri_profile}/${ruri_user}${regex(${sofia_contact(${ruri_contact})}|^[^\@]+(.*)|%1)}"/>
+      </condition>
+    </extension>
+    
+    <extension name="7004">
+      <condition field="destination_number" expression="^7004$">
+	<action application="set" data="ruri_profile=default"/>
+	<action application="set" data="ruri_user=2000"/>
+	<action application="set" data="ruri_contact=1001@${domain_name}"/>
+	<action application="execute_extension" data="ruri"/>
+      </condition>
+    </extension>
+    -->
+
+    <!-- SEE WARNING ABOVE IF YOU ARE TRYING TO ADD EXTENSIONS HERE! -->
+
+  </context>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/00_pizza_demo.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/00_pizza_demo.xml
new file mode 100644
index 0000000000..e7fcca204a
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/00_pizza_demo.xml
@@ -0,0 +1,9 @@
+<include>
+  <extension name="pizza_demo">
+    <condition field="destination_number" expression="^(pizza|74992)$"/>
+    <condition field="${module_exists(mod_spidermonkey)}" expression="true"/>
+    <condition field="${module_exists(mod_pocketsphinx)}" expression="true">
+      <action application="javascript" data="ps_pizza.js"/>
+    </condition>
+  </extension>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/01_example.com.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/01_example.com.xml
new file mode 100644
index 0000000000..bd61cd2788
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/01_example.com.xml
@@ -0,0 +1,30 @@
+<include>
+
+  <extension name="local.example.com">
+    <condition field="${toll_allow}" expression="local"/>
+    <condition field="destination_number" expression="^(\d{7})$">
+      <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+      <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+      <action application="bridge" data="sofia/gateway/${default_gateway}/1${default_areacode}$1"/>
+    </condition>
+  </extension>
+
+  <extension name="domestic.example.com">
+    <condition field="${toll_allow}" expression="domestic"/>
+    <condition field="destination_number" expression="^(\d{11})$">
+      <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+      <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+      <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+    </condition>
+  </extension>
+
+  <extension name="international.example.com">
+    <condition field="${toll_allow}" expression="international"/>
+    <condition field="destination_number" expression="^(011\d+)$">
+      <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
+      <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
+      <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
+    </condition>
+  </extension>
+
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/99999_enum.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/99999_enum.xml
new file mode 100644
index 0000000000..6fd2151859
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/default/99999_enum.xml
@@ -0,0 +1,8 @@
+<include>
+  <extension name="enum">
+    <condition field="${module_exists(mod_enum)}" expression="true"/>
+    <condition field="destination_number" expression="^(.*)$">
+      <action application="transfer" data="$1 enum"/>
+    </condition>
+  </extension>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/features.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/features.xml
new file mode 100644
index 0000000000..901b3091b7
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/features.xml
@@ -0,0 +1,59 @@
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+  <context name="features">
+
+    <!-- In call Transfer for phones without a transfer button -->
+    <extension name="dx">
+      <condition field="destination_number" expression="^dx$">
+	<action application="answer"/>
+	<action application="read" data="11 11 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
+	<action application="execute_extension" data="is_transfer XML features"/>
+      </condition>
+    </extension>
+
+    <extension name="is_transfer">
+      <condition field="destination_number" expression="^is_transfer$"/>
+      <condition field="${digits}" expression="^(\d+)$">
+	<action application="transfer" data="-bleg ${digits} XML default"/>
+	<anti-action application="eval" data="cancel transfer"/>
+      </condition>
+    </extension>
+
+    <!-- Used to transfer both legs into a conference -->
+    <extension name="cf">
+      <condition field="destination_number" expression="^cf$">
+	<action application="answer"/>
+	<action application="transfer" data="-both 30${dialed_extension:2} XML default"/>
+      </condition>
+    </extension>
+
+    <extension name="please_hold">
+      <condition field="destination_number" expression="^(10[01][0-9])$">
+	<action application="set" data="transfer_ringback=$${hold_music}"/>
+	<action application="answer"/>
+	<action application="sleep" data="1500"/>
+	<action application="playback" data="ivr/ivr-hold_connect_call.wav"/>
+	<action application="transfer" data="$1 XML default"/>
+      </condition>
+    </extension>
+
+    <extension name="is_zrtp_secure" continue="true">
+      <condition field="${zrtp_secure_media_confirmed}" expression="^true$">
+	<action application="sleep" data="1000"/>
+	<action application="playback" data="misc/call_secured.wav"/>
+	<anti-action application="eval" data="not_secure"/>
+      </condition>
+    </extension>
+
+    <extension name="is_secure" continue="true">
+      <!-- Only Truly consider it secure if its TLS and SRTP --> 
+      <condition field="${sip_via_protocol}" expression="tls"/>
+      <condition field="${sip_secure_media_confirmed}" expression="^true$">
+	<action application="sleep" data="1000"/>
+	<action application="playback" data="misc/call_secured.wav"/>
+	<anti-action application="eval" data="not_secure"/>
+      </condition>
+    </extension>
+
+  </context>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public.xml
new file mode 100644
index 0000000000..14e2e1a3d8
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public.xml
@@ -0,0 +1,67 @@
+<!--
+    NOTICE:
+
+    This context is usually accessed via the external sip profile listening on port 5080.
+    
+    It is recommended to have separate inbound and outbound contexts.  Not only for security
+    but clearing up why you would need to do such a thing.  You don't want outside un-authenticated
+    callers hitting your default context which allows dialing calls thru your providers and results 
+    in Toll Fraud.
+-->
+
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+  <context name="public">
+
+    <extension name="unloop">
+      <condition field="${unroll_loops}" expression="^true$"/>
+      <condition field="${sip_looped_call}" expression="^true$">
+	<action application="deflect" data="${destination_number}"/>
+      </condition>
+    </extension>
+    <!--
+	Tag anything pass thru here as an outside_call so you can make sure not
+	to create any routing loops based on the conditions that it came from 
+	the outside of the switch.  
+    -->
+    <extension name="outside_call" continue="true">
+      <condition>
+	<action application="set" data="outside_call=true"/>
+      </condition>
+    </extension>
+
+    <extension name="call_debug" continue="true">
+      <condition field="${call_debug}" expression="^true$" break="never">
+	<action application="info"/>
+      </condition>
+    </extension>
+
+    <extension name="public_extensions">
+      <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/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public/00_inbound_did.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public/00_inbound_did.xml
new file mode 100644
index 0000000000..d40b3ab2c9
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/public/00_inbound_did.xml
@@ -0,0 +1,18 @@
+<include>
+  <extension name="public_did">
+    <condition field="destination_number" expression="^(5551212)$">
+      <!--
+	  If you're hosting multiple domains you will want to set the
+	  target_domain on these calls so they hit the proper domain after you
+	  transfer the caller into the default context. 
+	  
+	  $${domain} is the default domain set from vars.xml but you can set it
+	  to any domain you have setup in your user directory.
+
+      --> 
+      <action application="set" data="domain_name=$${domain}"/>
+      <!-- This example maps the DID 5551212 to ring 1000 in the default context -->
+      <action application="transfer" data="1000 XML default"/>
+    </condition>
+  </extension>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns.xml
new file mode 100644
index 0000000000..a78b83bdc7
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    NOTICE:
+
+    This context is used for skinny to match dialed number
+
+    The special applications:
+    - skinny-route tells skinny to route the call
+    - skinny-drop tells skinny to drop the call
+    - skinny-wait tells skinny to wait 'data' seconds for more numbers before drop
+-->
+<!-- http://wiki.freeswitch.org/wiki/Mod_skinny -->
+<include>
+  <context name="skinny-patterns">
+    <!--
+    Wait 10 seconds for another digit by default
+    -->
+    <extension name="Default">
+      <condition>
+        <action application="skinny-wait" data="10"/>
+      </condition>
+    </extension>
+
+    <!--
+	You can place files in the skinny-patterns directory to get included.
+    -->
+    <X-PRE-PROCESS cmd="include" data="skinny-patterns/*.xml"/>
+    
+  </context>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Demo.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Demo.xml
new file mode 100644
index 0000000000..0246fe29a4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Demo.xml
@@ -0,0 +1,8 @@
+<include>
+  <extension name="Demo">
+    <condition field="destination_number" expression="^(9[0-9]{3})$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Local_extension.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Local_extension.xml
new file mode 100644
index 0000000000..7e8c51859b
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/20-Local_extension.xml
@@ -0,0 +1,13 @@
+<include>
+  <extension name="Local_Extension">
+    <condition field="destination_number" expression="^(10[01][0-9])$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+  <extension name="Local_Extension_Skinny">
+    <condition field="destination_number" expression="^(20[01][0-9])$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/90-External.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/90-External.xml
new file mode 100644
index 0000000000..706bf74027
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/90-External.xml
@@ -0,0 +1,8 @@
+<include>
+  <extension name="External">
+    <condition field="destination_number" expression="^(0[0-9]{10,})$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/99-Default_Drop.xml b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/99-Default_Drop.xml
new file mode 100644
index 0000000000..897fd8fb94
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/dialplan/skinny-patterns/99-Default_Drop.xml
@@ -0,0 +1,9 @@
+<include>
+  <!-- drop long dialed number -->
+  <extension name="Default_Drop">
+    <condition field="destination_number" expression="^(.{14,})$">
+      <action application="skinny-drop"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default.xml
new file mode 100644
index 0000000000..1e583033a9
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default.xml
@@ -0,0 +1,78 @@
+<!--
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+    
+    FreeSWITCH works off the concept of users and domains just like email.
+    You have users that are in domains for example 1000@domain.com.
+    
+    When freeswitch gets a register packet it looks for the user in the directory
+    based on the from or to domain in the packet depending on how your sofia profile
+    is configured.  Out of the box the default domain will be the IP address of the
+    machine running FreeSWITCH.  This IP can be found by typing "sofia status" at the
+    CLI.  You will register your phones to the IP and not the hostname by default.
+    If you wish to register using the domain please open vars.xml in the root conf
+    directory and set the default domain to the hostname you desire.  Then you would
+    use the domain name in the client instead of the IP address to register 
+    with FreeSWITCH.
+    
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+-->
+
+<include>
+  <!--the domain or ip (the right hand side of the @ in the addr-->
+  <domain name="$${domain}">
+    <params>
+      <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
+    </params>
+
+    <variables>
+      <variable name="record_stereo" value="true"/>
+      <variable name="default_gateway" value="$${default_provider}"/>
+      <variable name="default_areacode" value="$${default_areacode}"/>
+      <variable name="transfer_fallback_extension" value="operator"/>
+    </variables>
+
+    <groups>
+      <group name="default">
+	<users>
+	  <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+	</users>
+      </group>
+
+      <group name="sales">
+	<users>
+	  <!--
+	      type="pointer" is a pointer so you can have the 
+	      same user in multiple groups.  It basically means
+	      to keep searching for the user in the directory.
+	  -->
+	  <user id="1000" type="pointer"/>
+	  <user id="1001" type="pointer"/>
+	  <user id="1002" type="pointer"/>
+	  <user id="1003" type="pointer"/>
+	  <user id="1004" type="pointer"/>
+	</users>
+      </group>
+
+      <group name="billing">
+	<users>
+	  <user id="1005" type="pointer"/>
+	  <user id="1006" type="pointer"/>
+	  <user id="1007" type="pointer"/>
+	  <user id="1008" type="pointer"/>
+	  <user id="1009" type="pointer"/>
+	</users>
+      </group>
+
+      <group name="support">
+	<users>
+	  <user id="1010" type="pointer"/>
+	  <user id="1011" type="pointer"/>
+	  <user id="1012" type="pointer"/>
+	  <user id="1013" type="pointer"/>
+	  <user id="1014" type="pointer"/>
+	</users>
+      </group>
+    </groups>
+
+  </domain>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1000.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1000.xml
new file mode 100644
index 0000000000..9bee406ddf
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1000.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1000">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1000"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1000"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1000"/>
+      <variable name="effective_caller_id_number" value="1000"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1001.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1001.xml
new file mode 100644
index 0000000000..97c1931c51
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1001.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1001">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1001"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1001"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1001"/>
+      <variable name="effective_caller_id_number" value="1001"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1002.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1002.xml
new file mode 100644
index 0000000000..d33691d100
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1002.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1002">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1002"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1002"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1002"/>
+      <variable name="effective_caller_id_number" value="1002"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1003.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1003.xml
new file mode 100644
index 0000000000..f8b5926c9d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1003.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1003">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1003"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1003"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1003"/>
+      <variable name="effective_caller_id_number" value="1003"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1004.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1004.xml
new file mode 100644
index 0000000000..c3e7da5722
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1004.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1004">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1004"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1004"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1004"/>
+      <variable name="effective_caller_id_number" value="1004"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1005.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1005.xml
new file mode 100644
index 0000000000..0e1165f43f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1005.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1005">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1005"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1005"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1005"/>
+      <variable name="effective_caller_id_number" value="1005"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1006.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1006.xml
new file mode 100644
index 0000000000..beaaa7e9fc
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1006.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1006">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1006"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1006"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1006"/>
+      <variable name="effective_caller_id_number" value="1006"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1007.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1007.xml
new file mode 100644
index 0000000000..10470a5045
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1007.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1007">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1007"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1007"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1007"/>
+      <variable name="effective_caller_id_number" value="1007"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1008.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1008.xml
new file mode 100644
index 0000000000..0e63fcfde0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1008.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1008">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1008"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1008"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1008"/>
+      <variable name="effective_caller_id_number" value="1008"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1009.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1009.xml
new file mode 100644
index 0000000000..24db7f8152
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1009.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1009">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1009"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1009"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1009"/>
+      <variable name="effective_caller_id_number" value="1009"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1010.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1010.xml
new file mode 100644
index 0000000000..6d8e0c1bab
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1010.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1010">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1010"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1010"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1010"/>
+      <variable name="effective_caller_id_number" value="1010"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1011.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1011.xml
new file mode 100644
index 0000000000..79d731de5e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1011.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1011">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1011"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1011"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1011"/>
+      <variable name="effective_caller_id_number" value="1011"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1012.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1012.xml
new file mode 100644
index 0000000000..3839824fbc
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1012.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1012">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1012"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1012"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1012"/>
+      <variable name="effective_caller_id_number" value="1012"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1013.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1013.xml
new file mode 100644
index 0000000000..6f9c8e4753
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1013.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1013">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1013"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1013"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1013"/>
+      <variable name="effective_caller_id_number" value="1013"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1014.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1014.xml
new file mode 100644
index 0000000000..6a554c0650
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1014.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1014">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1014"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1014"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1014"/>
+      <variable name="effective_caller_id_number" value="1014"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1015.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1015.xml
new file mode 100644
index 0000000000..e94b8886a0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1015.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1015">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1015"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1015"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1015"/>
+      <variable name="effective_caller_id_number" value="1015"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1016.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1016.xml
new file mode 100644
index 0000000000..4f856fc7be
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1016.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1016">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1016"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1016"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1016"/>
+      <variable name="effective_caller_id_number" value="1016"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1017.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1017.xml
new file mode 100644
index 0000000000..b0e43a0238
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1017.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1017">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1017"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1017"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1017"/>
+      <variable name="effective_caller_id_number" value="1017"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1018.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1018.xml
new file mode 100644
index 0000000000..6d7071942d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1018.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1018">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1018"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1018"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1018"/>
+      <variable name="effective_caller_id_number" value="1018"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1019.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1019.xml
new file mode 100644
index 0000000000..f23a95f4ba
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/1019.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1019">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1019"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1019"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1019"/>
+      <variable name="effective_caller_id_number" value="1019"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/bbbuser.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/bbbuser.xml
new file mode 100644
index 0000000000..f4781d7820
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/bbbuser.xml
@@ -0,0 +1,28 @@
+<include>
+  <!--
+      ipauth if you have an cidr= in the user attributes ie cidr="1.2.3.4/32"  
+      see <node type="allow" domain="$${domain}"/> in default acl.conf.xml 
+  -->
+  <user id="bbbuser" cidr="192.168.1.0/24">
+    <params>
+      <!-- omit password for authless registration -->
+      <param name="password" value="secret"/>
+      <!-- What this user is allowed to acces --> 
+      <!--<param name="http-allowed-api" value="jsapi,voicemail,status"/> -->
+    </params>
+    <variables>
+      <!--all variables here will be set on all inbound calls that originate from this user -->
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="BigBlueButton"/>
+      <variable name="effective_caller_id_number" value="1000"/>
+      <!-- Don't write a CDR if this is false valid values are: true, false, a_leg and b_leg -->
+      <variable name="process_cdr" value="true"/>
+      <!-- sip_secure_media will offer mandatory SRTP on invite AES_CM_128_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80 or true-->
+      <variable name="sip_secure_media" value="false"/>
+    </variables>
+
+    <vcard>
+      <!-- insert optional compliant vcard xml here-->
+    </vcard>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/brian.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/brian.xml
new file mode 100644
index 0000000000..05fe0c8324
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/brian.xml
@@ -0,0 +1,92 @@
+<include>
+  <!--
+      ipauth if you have an cidr= in the user attributes ie cidr="1.2.3.4/32"  
+      see <node type="allow" domain="$${domain}"/> in default acl.conf.xml 
+  -->
+  <user id="brian" cidr="192.0.2.0/24">
+    <!-- Outbound Registrations Related to this user -->
+    <gateways>
+      <!--<gateway name="asterlink.com">-->
+      <!--/// account username *required* ///-->
+      <!--<param name="username" value="cluecon"/>-->
+      <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+      <!--<param name="realm" value="asterlink.com"/>-->
+      <!--/// username to use in from: *optional* same as  username, if blank ///-->
+      <!--<param name="from-user" value="cluecon"/>-->
+      <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
+      <!--<param name="from-domain" value="asterlink.com"/>-->
+      <!--/// account password *required* ///-->
+      <!--<param name="password" value="2007"/>--> 
+      <!--/// replace the INVITE from user with the channel's caller-id ///-->
+      <!--<param name="caller-id-in-from" value="false"/>-->
+      <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+      <!--<param name="extension" value="cluecon"/>-->
+      <!--/// proxy host: *optional* same as realm, if blank ///-->
+      <!--<param name="proxy" value="asterlink.com"/>-->
+      <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+      <!--<param name="register-proxy" value="mysbc.com"/>-->
+      <!--/// expire in seconds: *optional* 3600, if blank ///-->
+      <!--<param name="expire-seconds" value="60"/>-->
+      <!--/// do not register ///-->
+      <!--<param name="register" value="false"/>-->
+      <!-- which transport to use for register -->
+      <!--<param name="register-transport" value="udp"/>-->
+      <!--How many seconds before a retry when a failure or timeout occurs -->
+      <!--<param name="retry-seconds" value="30"/>-->
+      <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+      <!--<param name="caller-id-in-from" value="false"/>-->
+      <!--extra sip params to send in the contact-->
+      <!--<param name="contact-params" value="tport=tcp"/>-->
+      <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+      <!--<param name="ping" value="25"/>-->
+      <!--</gateway>-->
+    </gateways>
+    <params>
+      <!-- omit password for authless registration -->
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="9999"/><!--if vm-password is omitted password param is used-->
+      <!--<param name="email-addr" value="me@mydomain.com"/>-->
+      <!--<param name="vm-delete-file" value="true"/>-->
+      <!--<param name="vm-attach-file" value="true"/>-->
+      <!--<param name="vm-mailto" value="me@mydomain.com"/>-->
+      <!--<param name="vm-email-all-messages" value="true"/>-->
+      <!-- optionally use this instead if you want to store the hash of user:domain:pass-->
+      <!--<param name="a1-hash" value="c6440e5de50b403206989679159de89a"/>-->
+      <!-- What this user is allowed to acces --> 
+      <!--<param name="http-allowed-api" value="jsapi,voicemail,status"/> -->
+    </params>
+    <variables>
+      <!--all variables here will be set on all inbound calls that originate from this user -->
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Brian West"/>
+      <variable name="effective_caller_id_number" value="1000"/>
+      <!-- Don't write a CDR if this is false valid values are: true, false, a_leg and b_leg -->
+      <variable name="process_cdr" value="true"/>
+      <!-- sip_secure_media will offer mandatory SRTP on invite AES_CM_128_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80 or true-->
+      <variable name="sip_secure_media" value="true"/>
+      <!-- limit the max number of outgoing calls for this user -->
+      <!--<variable name="max_calls" value="2"/>-->
+
+      <!-- send presence information if FS is configured to do so -->
+      <!--<variable name="presence_id" value="1000@$${domain}"/>-->
+
+      <!-- set these to take advantage of a dialplan localized to this user -->
+      <!--<variable name="numbering_plan" value="US"/>-->
+      <!--<variable name="default_area_code" value="434"/>-->
+      <!--<variable name="default_gateway" value="asterlink.com"/>-->
+      <!--  
+	   NDLB-connectile-dysfunction - Rewrite contact ip and port
+	   NDLB-tls-connectile-dysfunction - Rewrite contact port only.
+      -->
+      <!--<variable name="sip-force-contact" value="NDLB-connectile-dysfunction"/>-->
+      <!--<variable name="sip-force-expires" value="10"/>-->
+      <!--<variable name="sip-register-gateway" value="cluecon.com"/>-->
+      <!-- Set the file format for a specific user -->
+      <!--<variable name="vm_message_ext" value="mp3"/> -->
+    </variables>
+
+    <vcard>
+      <!-- insert optional compliant vcard xml here-->
+    </vcard>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/default.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/default.xml
new file mode 100644
index 0000000000..5db60112dc
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/default.xml
@@ -0,0 +1,26 @@
+<include>
+  <user id="default"> <!--if id is numeric mailbox param is not necessary-->
+    <!--
+	ATTENTION PLEASE READ THIS... (I know you won't but you've been warrned)
+	
+	Let it be known that this user can register without a password but since we do not assign
+	this user a user_context and we don't authenticate this user they will be put in context 'public'.
+	
+	This isn't a security issue as the endpoint would be put into the same context 'public' as the 
+	sofia profile that starts on 5080 by default. If you're paranoid just remove this file and 
+	remove the external profile also.
+	
+	If you're this paranoid you might wanna go buy some more tinfoil and disconnect from the internets.
+	
+	Cuz we all know the internets is for pr0n anyway.
+
+    -->
+    <variables>
+      <!--all variables here will be set on all inbound calls that originate from this user -->
+      <!-- set these to take advantage of a dialplan localized to this user -->
+      <variable name="numbering_plan" value="$${default_country}"/>
+      <variable name="default_areacode" value="$${default_areacode}"/>
+      <variable name="default_gateway" value="$${default_provider}"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/example.com.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/example.com.xml
new file mode 100644
index 0000000000..42a33ddbf3
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/example.com.xml
@@ -0,0 +1,26 @@
+<!--
+    Shell provider account should work with most providers.
+
+-->
+<include>
+  <user id="$${default_provider}">
+    <gateways>
+      <gateway name="$${default_provider}">
+	<param name="username" value="$${default_provider_username}"/>
+	<param name="password" value="$${default_provider_password}"/>
+	<param name="from-user" value="$${default_provider_username}"/>
+	<param name="from-domain" value="$${default_provider_from_domain}"/>
+	<param name="expire-seconds" value="600"/>
+	<param name="register" value="$${default_provider_register}"/>
+	<param name="retry-seconds" value="30"/>
+	<param name="extension" value="$${default_provider_contact}"/>
+	<!--<param name="contact-params" value="domain_name=$${domain}"/>-->
+	<param name="context" value="public"/>
+      </gateway>
+    </gateways>
+    <params>
+      <param name="password" value="$${default_provider_password}"/>
+    </params>
+  </user>
+</include>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/skinny-example.xml b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/skinny-example.xml
new file mode 100644
index 0000000000..f99725976f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/directory/default/skinny-example.xml
@@ -0,0 +1,34 @@
+<include>
+ <user id="SEP001120AABBCC">
+   <params>
+    <!-- for devices requesting firmware via SCCP, like ATA186
+    <param name="skinny-firmware-version" value="ATA030101SCCP04"
+    -->
+    <param name="foo" value="bar"/>
+   </params>
+   <skinny>
+    <buttons>
+      <!--
+      position: 1..
+      type: one of line, speed-dial
+      label: button label
+      -->
+      <!--
+      value is the directory number (or user)
+      caller-name is shown to the calling party during call
+      -->
+      <button position="1" type="Line" label="Line 1" value="2001" caller-name="Calling as 2001"/>
+      <button position="3" type="Line" label="Shared Line 10" value="2010" caller-name="Calling as 2010"/>
+      <!--
+      value is the directory number to call
+      -->
+      <button position="5" type="SpeedDial" label="Test" value="2011"/>
+      <!--
+      value is the URL
+      -->
+      <button position="6" type="ServiceUrl" label="Some URL" value="http://phone-xml.berbee.com/menu.xml"/>
+    </buttons>
+   </skinny>
+  </user>
+</include>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/extensions.conf b/bbb-voice-conference/config/freeswitch/conf.orig/extensions.conf
new file mode 100644
index 0000000000..f2c922efce
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/extensions.conf
@@ -0,0 +1,21 @@
+[default]
+
+; Things you're used to....
+exten => music,n,Dial(SIP/1234@conference.freeswitch.org|120)
+
+exten => _1XXXXX,n,set(cool=${EXTEN})
+exten => _1XXXXX,n,set(myvar=true)
+exten => _1XXXXX,n,Goto(default|music)
+exten => 2137991400/1000,n,Goto(default|music)
+
+
+; Some new magic you can do....
+exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,enum($1)
+exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,bridge(${enum_auto_route})
+
+; instead of exten, put anything about the call you would rather match on.
+; either the names of a field in caller_profile or a string of variables to expand.
+caller_id_number => 2137991400,n,Goto(default|music) 
+${sip_from_user} => bill,n,Goto(default|music)
+
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.serial b/bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.serial
new file mode 100644
index 0000000000000000000000000000000000000000..d72590a059566000bd7d5f646582fe46f9b3c2f5
GIT binary patch
literal 13
UcmYc`NVG68G)PQLG%;cT02t;2M*si-

literal 0
HcmV?d00001

diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.xml b/bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.xml
new file mode 100644
index 0000000000..80e7728e0d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/freeswitch.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+    
+    This is the FreeSWITCH default config.  Everything you see before you now traverses 
+    down into all the directories including files which include more files.  The default
+    config comes out of the box already working in most situations as a PBX.  This will
+    allow you to get started testing and playing with various things in FreeSWITCH.
+    
+    Before you start to modify this default please visit this wiki page:
+    
+    http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Some_stuff_to_try_out.21
+    
+    If all else fails you can read our FAQ located at:
+    
+    http://wiki.freeswitch.org/wiki/FreeSwitch_FAQ
+    
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+-->
+<document type="freeswitch/xml">
+  <!--#comment 
+      All comments starting with #command will be preprocessed and never sent to the xml parser
+      Valid instructions:
+      #include ==> Include another file to this exact point
+                   (partial xml should be encased in <include></include> tags)
+      #set     ==> Set a global variable (can be expanded during preprocessing with $$ variables)
+                   (note the double $$ which denotes preprocessor variables)
+      #comment ==> A general comment such as this
+      
+      The preprocessor will compile the full xml document to ${prefix}/log/freeswitch.xml.fsxml
+      Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
+      
+      The same can be achieved with the <X-PRE-PROCESS> tag where the attrs 'cmd' and 'data' are
+      parsed in the same way.
+  -->
+  <!--#comment
+      vars.xml contains all the #set directives for the preprocessor.
+  -->
+  <X-PRE-PROCESS cmd="include" data="vars.xml"/>
+
+  <section name="configuration" description="Various Configuration">
+    <X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>
+  </section>
+  
+  <section name="dialplan" description="Regex/XML Dialplan">
+    <X-PRE-PROCESS cmd="include" data="dialplan/*.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">
+    <X-PRE-PROCESS cmd="include" data="directory/*.xml"/>
+  </section>
+
+  <!-- phrases section (under development still) -->
+  <section name="phrases" description="Speech Phrase Management">
+    <macros>
+      <X-PRE-PROCESS cmd="include" data="lang/de/*.xml"/>
+      <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/>
+      <X-PRE-PROCESS cmd="include" data="lang/fr/*.xml"/>
+      <X-PRE-PROCESS cmd="include" data="lang/ru/*.xml"/>
+    </macros>
+  </section>
+
+</document>
+
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/fur_elise.ttml b/bbb-voice-conference/config/freeswitch/conf.orig/fur_elise.ttml
new file mode 100644
index 0000000000..6e6ef03724
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/fur_elise.ttml
@@ -0,0 +1,83 @@
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 415)
+%(167, 0, 494)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 523)
+%(167, 0, 494)
+%(167, 0, 440)
+%(167, 0, 0)
+%(167, 0, 494)
+%(167, 0, 523)
+%(167, 0, 587)
+%(333, 0, 659)
+%(167, 0, 0)
+%(167, 0, 392)
+%(167, 0, 698)
+%(167, 0, 784)
+%(333, 0, 587)
+%(167, 0, 0)
+%(167, 0, 349)
+%(167, 0, 659)
+%(167, 0, 587)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 587)
+%(167, 0, 523)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 659)
+%(167, 0, 1319)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/ivr_menus/demo_ivr.xml b/bbb-voice-conference/config/freeswitch/conf.orig/ivr_menus/demo_ivr.xml
new file mode 100644
index 0000000000..72deef78e4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/ivr_menus/demo_ivr.xml
@@ -0,0 +1,64 @@
+<include>
+  <!-- demo IVR setup -->
+  <!-- demo IVR, Main Menu -->
+  <menu name="demo_ivr"
+      greet-long="phrase:demo_ivr_main_menu"
+      greet-short="phrase:demo_ivr_main_menu_short"
+      invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
+      exit-sound="voicemail/vm-goodbye.wav"
+      confirm-macro=""
+      confirm-key=""
+      tts-engine="flite"
+      tts-voice="rms"
+      confirm-attempts="3"
+      timeout="10000"
+      inter-digit-timeout="2000"
+      max-failures="3"
+      max-timeouts="3"
+      digit-len="4">
+
+    <!-- The following are the definitions for the digits the user dials -->
+    <!-- Digit 1 transfer caller to the public FreeSWITCH conference -->
+    <entry action="menu-exec-app" digits="1" param="bridge sofia/$${domain}/888@conference.freeswitch.org"/>
+    <entry action="menu-exec-app" digits="2" param="transfer 9996 XML default"/>    <!-- FS echo -->
+    <entry action="menu-exec-app" digits="3" param="transfer 9999 XML default"/>    <!-- MOH -->
+    <entry action="menu-exec-app" digits="4" param="transfer 9991 XML default"/>    <!-- ClueCon -->
+    <entry action="menu-exec-app" digits="5" param="transfer 1234*256 enum"/>       <!-- Screaming monkeys -->
+    <entry action="menu-sub" digits="6" param="demo_ivr_submenu"/>                  <!-- demo sub menu -->
+    <!-- Using a regex in the digits tag lets you define a dial pattern for the caller
+         You may define multiple regexes if you need a different pattern for some reason -->
+    <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML features"/> 
+    <entry action="menu-top" digits="9"/>          <!-- Repeat this menu -->
+  </menu>
+
+  <!-- Demo IVR, Sub Menu -->
+  <menu name="demo_ivr_submenu"
+      greet-long="phrase:demo_ivr_sub_menu"
+      greet-short="phrase:demo_ivr_sub_menu_short"
+      invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
+      exit-sound="voicemail/vm-goodbye.wav"
+      timeout="15000"
+      max-failures="3"
+      max-timeouts="3">
+
+    <!-- The demo IVR sub menu prompt basically just says, "press star to return to previous menu..." -->
+    <entry action="menu-top" digits="*"/>
+   </menu>
+
+
+<!-- TTS sample; non-functional but it demonstrates say: and TTS -->
+<!--
+  <menu name="demo3"
+      greet-long="say:Press 1 to join the conference, Press 2 to join the other conference"
+      greet-short="say:Press 1 to join the conference, Press 2 to join the other conference"
+      invalid-sound="say:invalid extension"
+      exit-sound="say:exit sound"
+      timeout ="15000"
+      max-failures="3">
+    <entry action="menu-exit" digits="*"/>
+    <entry action="menu-play-sound" digits="1" param="say:You pressed 1"/>
+    <entry action="menu-exec-app" digits="2" param="transfert 1000 XML default"/>
+    <entry action="menu-exec-app" digits="3" param="transfert 1001 XML default"/>
+  </menu>
+-->
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/client.xml b/bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/client.xml
new file mode 100644
index 0000000000..66c34929a3
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/client.xml
@@ -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/bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/server.xml b/bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/server.xml
new file mode 100644
index 0000000000..b60dc27ea6
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/jingle_profiles/server.xml
@@ -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>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/de.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/de.xml
new file mode 100644
index 0000000000..5239489f75
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/de.xml
@@ -0,0 +1,7 @@
+<include>
+  <language name="de" sound-path="/snds" tts-engine="cepstral" tts-voice="david">
+    <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/>
+    <!--voicemail_de_tts is purely implemented with tts, we need a files based implementation too -->
+    <X-PRE-PROCESS cmd="include" data="vm/tts.xml"/>
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/demo/demo.xml
new file mode 100644
index 0000000000..61582b2052
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/demo/demo.xml
@@ -0,0 +1,71 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+    <macro name="msgcount">
+      <input pattern="(.*)">
+	<match>
+	  <action function="execute" data="sleep(1000)"/>
+	  <action function="play-file" data="voicemail/vm-you_have.wav"/>
+	  <action function="say" data="$1" method="pronounced" type="items"/>
+	  <action function="play-file" data="voicemail/vm-messages.wav"/>
+	  <!-- or -->
+	  <!--<action function="speak-text" data="Sie haben $1 Nachrichten"/>-->
+	</match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="iterated" type="ip_address"/>
+	  <action function="say" data="$1" method="pronounced" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+	<match>
+	  <action function="speak-text" data="Sie haben $1 Minuten, $2 Sekunden übrig $strftime(%Y-%m-%d)"/>
+	  <action function="break"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="Die Eingabe war ungültig."/>
+	</nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sek">
+	<match>
+	  <action function="speak-text" data="Sie haben $1 Minuten, $2 Sekunden übrig $strftime(%Y-%m-%d)"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="Die Eingabe war ungültig."/>
+	</nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/vm/tts.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/vm/tts.xml
new file mode 100644
index 0000000000..7a8f18cf50
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/de/vm/tts.xml
@@ -0,0 +1,214 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Bitte geben Sie Ihren Benutzernamen ein, gefolgt von $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Bitte geben Sie Ihr Passwort ein, gefolgt von $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Falsche Benutzerdaten."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Willkommen in Ihrem Postfach."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Auf Wiedersehen."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Zu viele Fehlversuche."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^1:(.*)$">
+      <match>
+	<action function="speak-text" data="Sie haben 1 $2 Nachricht im Ordner ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^([0,2-9]+):(.*)$">
+      <match>
+	<action function="speak-text" data="Sie haben $1 $2 Nachrichten im Ordner ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Um neue Nachrichten zu hören, drücken Sie $1. Um gespeicherte Nachrichten zu hören, drücken Sie $2, Für erweiterte Optionen, drücken Sie $3. Zum beenden drücken Sie $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Um eine Ansage aufzunehmen, drücken Sie $1. Um eine Ansage auszuwählen, drücken Sie $2. Um ihren Namen aufzunehmen, drücken Sie $3. Um zum Hauptmenü zurückzukehren, drücken Sie $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Sprechen Sie Ihren Namen nach dem Ton, drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Um die Aufzeichnung anzuhören, drücken Sie $1. Um die Aufzeichnung zu speichern, drücken Sie $2. Für eine erneute Aufnahme drücken Sie $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Drücken Sie $1 um diese Nachricht als wichtig zu markieren. Um fortzufahren drücken Sie $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Drücken Sie $1 um die Nachricht erneut zu hören. Um die Nachricht zu speichern, drücken Sie $2. Zum löschen der Nachricht drücken Sie $3. Für die Weiterleitung als Email, drücken Sie $4."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Wählen Sie eine Ansage zwischen 1 und 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Ungültige Eingabe."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Zeichnen Sie Ihre Ansage nach dem Ton auf. Drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Sprechen Sie nach dem Ton. Drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Ansage $1 ausgewählt."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 ist nicht verfügbar."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(.*)$">
+      <match>
+	<action function="speak-text" data="$1 Nachricht Nummer $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Nachricht $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$strftime($1|%A, %B %d %Y, %I %M %p)"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo-ivr.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo-ivr.xml
new file mode 100644
index 0000000000..ec7d7bccd2
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo-ivr.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+
+  <macro name="demo_ivr_count">
+    <input pattern="^(\d+)$">
+      <match>
+        <action function="play-file" data="voicemail/vm-you_have.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="demo_ivr_main_menu" pause="100"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
+    <input pattern="(.*)">
+      <match>
+        <!-- string together several existing sound files to create one long greeting -->
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
+        <action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
+        <!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
+
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
+        <action function="play-file" data="silence_stream://1500"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Register for ClueCon -->
+        <action function="play-file" data="ivr/ivr-register_for_cluecon.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 6: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/6.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="play-file" data="silence_stream://2000"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_main_menu_short" pause="100"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="silence_stream://1000"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="play-file" data="silence_stream://2000"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
+  <macro name="demo_ivr_sub_menu">
+    <input pattern="(.*)">
+      <match>
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
+
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_sub_menu_short"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo.xml
new file mode 100644
index 0000000000..e3e6f02142
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/demo/demo.xml
@@ -0,0 +1,71 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+    <macro name="msgcount">
+      <input pattern="(.*)">
+	<match>
+	  <action function="execute" data="sleep(1000)"/>
+	  <action function="play-file" data="voicemail/vm-you_have.wav"/>
+	  <action function="say" data="$1" method="pronounced" type="items"/>
+	  <action function="play-file" data="voicemail/vm-messages.wav"/>
+	  <!-- or -->
+	  <!--<action function="speak-text" data="you have $1 messages"/>-->
+	</match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="iterated" type="ip_address"/>
+	  <action function="say" data="$1" method="pronounced" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	  <action function="break"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sec">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/sounds.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/sounds.xml
new file mode 100644
index 0000000000..02d6b3671f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/sounds.xml
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-enter-person.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+                <action function="play-file" data="directory/dir-enter-person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-first_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-specify_mininum_first.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="play-file" data="directory/dir-no_match_entry.wav"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-result_match.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-to_many_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-no_more_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-result_number.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-at_extension.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="play-file" data="directory/dir-to_select_entry.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_next.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_prev.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-to_make_new_search.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/tts.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/tts.xml
new file mode 100644
index 0000000000..67ae5ab265
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/dir/tts.xml
@@ -0,0 +1,96 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person last name"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person first name"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by first name, press $2"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by last name, press $2"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="You need to specify a minimum the first $1 letters of the person name, try again."/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="speak-text" data="Your search match no user on this system, try again."/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1 result match your search"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Your search returned too many result, please try again"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="No more result"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Result number $1"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="speak-text" data="To select this entry press $1, for the next entry press $2, for the previous entry press $3, to make a new search press $4"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="at extension $1"/>
+			</match>
+		</input>
+	</macro>
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/en.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/en.xml
new file mode 100644
index 0000000000..6bd5a7d5fb
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/en.xml
@@ -0,0 +1,8 @@
+<include>
+  <language name="en" sound-path="$${sounds_dir}/en/us/callie" tts-engine="cepstral" tts-voice="callie">
+    <X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
+    <!--voicemail_en_tts is purely implemented with tts, we have the files based one that is the default. -->
+    <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>  <!-- vm/tts.xml if you want to use tts and have cepstral -->
+    <X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/>  <!-- dir/tts.xml if you want to use tts and have cepstral -->
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/sounds.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/sounds.xml
new file mode 100644
index 0000000000..5a090411d7
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/sounds.xml
@@ -0,0 +1,404 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_id.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_pass.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-fail_auth.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<!--<action function="play-file" data="voicemail/vm-hello.wav"/> -->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-goodbye.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-abort.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^(1):(.*)$" break_on_match="true">
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-$2.wav"/> 
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-$2.wav"/> 
+	<action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<!-- To listen to new messages -->
+	<action function="play-file" data="voicemail/vm-listen_new.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To listen to saved messages -->
+	<action function="play-file" data="voicemail/vm-listen_saved.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- For advanced options -->
+	<action function="play-file" data="voicemail/vm-advanced.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To exit -->
+	<action function="play-file" data="voicemail/vm-to_exit.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_phonetic"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<!-- To record a greeting -->
+	<action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To choose greeting -->
+	<action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To record your name -->
+	<action function="play-file" data="voicemail/vm-record_name2.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To change password -->
+	<action function="play-file" data="voicemail/vm-change_password.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To return to main menu -->
+	<action function="play-file" data="voicemail/vm-main_menu.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_name1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-rerecord.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-mark-urgent.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-continue.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_add_intro.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-send_message_now.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
+	<action function="play-file" data="voicemail/vm-followed_by.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-return_call.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-to_forward.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-return_call.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-to_forward.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_greeting.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_message.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-greeting.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-selected.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-person.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-not_available.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-$1.wav"/> 
+	<action function="play-file" data="voicemail/vm-message_number.wav"/>
+	<action function="say" data="$2" method="pronounced" type="items"/> 
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+  <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
+  <macro name="voicemail_ack"> 
+    <input pattern="^(too-small)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-too-small.wav"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="current_date_time"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_disk_quota_exceeded">
+    <input pattern="^(.*)$">
+        <match>
+            <action function="play-file" data="voicemail/vm-mailbox_full.wav"/>
+        </match>
+    </input>
+  </macro>
+
+  <macro name="valet_announce_ext">
+    <input pattern="^([^\:]+):(.*)$">
+      <match>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="valet_lot_full">
+    <input pattern="^(.*)$">
+      <match>
+        <action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="valet_lot_empty">
+    <input pattern="^(.*)$">
+      <match>
+        <action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
+      </match>
+    </input>
+  </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/tts.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/tts.xml
new file mode 100644
index 0000000000..1fc877d50e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/en/vm/tts.xml
@@ -0,0 +1,239 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your i d, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your password, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="login incorrect."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="welcome to your voicemail."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="goodbye."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="too many failed attempts."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^1:(.*)$" break_on_match="true">
+      <match>
+	<action function="speak-text" data="you have 1 $1 message in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+	<action function="speak-text" data="you have $1 $2 messages in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to new messages, press $1, To listen to saved messages, press $2, For advanced options, press $3, to exit, press $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To record a greeting, press $1, To choose a greeting, press $2, To record your name, press $3, to change your password, press $5, to return to the main menu, press $5."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="at the tone, please record your name, press any key or stop talking to end the recording."/>
+
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording, press $1, To save the recording, press $2, To re record, press $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To mark this message urgent, press $1, To continue, press $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="$1 is not a valid extension."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="enter the extension you wish to forward to, then press $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="To record an announcement, press $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording again, press $1, To save the recording, press $2,  To delete the recording, press $3, to forward the recording to your email, press $4, to call the caller now, press $5, To forward this message to another extension, press $6."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="choose a greeting between 1 and 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="invalid value."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your greeting at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your message at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="greeting $1 selected."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 is not available."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(.*)$">
+      <match>
+	<action function="speak-text" data="$1 message number $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="message $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="${strftime($1|%A, %B %d %Y, %I:%M %p)}"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/demo/demo.xml
new file mode 100644
index 0000000000..80660203a3
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/demo/demo.xml
@@ -0,0 +1,18 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+<macro name="msgcount">
+  <input pattern="(.*)">
+    <match>
+      <action function="play-file" data="tuas.wav"/>
+      <action function="say" data="$1" method="pronounced" type="items"/>
+      <action function="play-file" data="messages.wav"/>
+    </match>
+  </input>
+</macro>
+<macro name="timeleft">
+  <input pattern="(\d+):(\d+)">
+    <match>
+      <action function="speak-text" data="il reste $1 minutes et $2 secondes"/>
+    </match>
+  </input>
+</macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/sounds.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/sounds.xml
new file mode 100644
index 0000000000..02d6b3671f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/sounds.xml
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-enter-person.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+                <action function="play-file" data="directory/dir-enter-person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-first_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-specify_mininum_first.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="play-file" data="directory/dir-no_match_entry.wav"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-result_match.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-to_many_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-no_more_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-result_number.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-at_extension.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="play-file" data="directory/dir-to_select_entry.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_next.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_prev.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-to_make_new_search.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/tts.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/tts.xml
new file mode 100644
index 0000000000..1f5b0caa63
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/dir/tts.xml
@@ -0,0 +1,101 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Veuillez entrer les premières lettres du nom de famille"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Veuillez entrer les premières lettres du prénom"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="pour chercher par prénom, tapez $2"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="pour chercher par nom de famille, tapez $2"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(1)$">
+			<match>
+				<action function="speak-text" data="Vous devez entrer au minimum une lettre du nom de la personne, essayez encore"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Vous devez entrer au minimum $1 lettres du nom de la personne, essayer encore"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="speak-text" data="Votre recherche n'a retournée aucun résultat, essayez encore"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1 résultats correspondent à votre recherche"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Votre recherche retourne trop de résultats, essayer encore"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Fin des résultats."/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Résultat numéro $1"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="speak-text" data="Pour sélectionner ce nom, tapez $1, pour le nom suivant tapez $2, pour le nom précédent, tapez $3, pour faire une nouvelle recherche, tapez $4"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="au poste $1"/>
+			</match>
+		</input>
+	</macro>
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/fr.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/fr.xml
new file mode 100644
index 0000000000..12bec06f20
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/fr.xml
@@ -0,0 +1,8 @@
+<include>
+  <language name="fr" sound-path="/snds" tts-engine="cepstral" tts-voice="david">
+    <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/>
+    <!--voicemail_fr_tts is purely implemented with tts, we need a files based implementation too -->
+	<X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>
+	<X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/>  <!-- dir/tts.xml if you want to use tts and have cepstral -->
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/vm/sounds.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/vm/sounds.xml
new file mode 100644
index 0000000000..55190a6bac
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/fr/vm/sounds.xml
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Entrez votre Identification, suivi par $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Entrez votre code, suivi par $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Identification incorrecte."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Bienvenue sur votre répondeur."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Au revoir."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Trop de tentatives ont échouées."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^([^:]+):urgent-new">
+      <match>
+	<action function="speak-text" data="Vous avez $1 nouveaux messages urgents dans le répertoire ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^([^:]+):new">
+      <match>
+	<action function="speak-text" data="Vous avez $1 nouveaux messages dans le répertoire ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^([^:]+):saved">
+      <match>
+	<action function="speak-text" data="Vous avez $1 messages sauvegardés dans le répertoire ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Pour écouter les nouveaux messages, tapez $1, Pour écouter les messages enregistrés, tapez $2, Pour les options avancées, tapez $3, pour sortir, tapez $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="pour enregistrer un message d'accueil, tapez $1, Pour choisir votre message d'accueil, tapez $2, Pour enregistrer votre nom, tapez $3, Pour changer votre mot de passe, tapez $4, Pour retourner au menu principal, tapez $5."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="enregistrez votre nom après le bip, puis tapez une touche, ou arrêtez de parler pour arrêter l'enregistrement."/>
+
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Pour écouter l'enregistrement, tapez $1, pour sauvegarder l'enregistrement, tapez $2, Pour réenregistrer, tapez $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Pour indiquer que ce message est urgent, tapez $1, Pour continuer, tapez $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])(:(.*))?$">
+      <match>
+	<action function="speak-text" 
+		data="Pour réécouter l'enregistrement à nouveau, tapez $1, Pour sauvegarder l'enregistrement, tapez $2, Pour supprimer l'enregistrement, tapez $3, pour transférer l'enregistrement à votre email $8, tapez $4, Pour appeler l'auteur du message, tapez $5, Pour transférer ce message à un autre numéro, tapez $6."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="choisissez un message d'accueil entre 1 et 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="valeur incorrecte."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="enregistrez votre message d'accueil après le bip, puis tapez une touche ou arrêtez de parler pour arrêter l'enregistrement."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="enregistrez votre message après le bip, puis tapez une touche ou arrêtez de parler pour arrêter l'enregistrement."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="message d'accueil numéro $1 sélectionné."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 n'est pas disponible."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^new:(.*)$">
+      <match>
+	<action function="speak-text" data="nouveau message numéro $1."/>
+      </match>
+    </input>
+    <input pattern="^saved:(.*)$">
+      <match>
+	<action function="speak-text" data="message sauvegardé numéro $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(too-small)$">
+      <match>
+	<action function="speak-text" data="message trop court"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+	<action function="speak-text" data="message supprimé"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+	<action function="speak-text" data="message sauvegardé"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+	<action function="speak-text" data="message envoyé"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+	<action function="speak-text" data="message marqué urgent"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="${strftime($1|%e/%m/%Y, %H heures %M)}"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
\ No newline at end of file
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo-ivr.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo-ivr.xml
new file mode 100644
index 0000000000..8c6f3f8624
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo-ivr.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+
+  <macro name="demo_ivr_count">
+    <input pattern="^(\d+)$">
+      <match>
+        <action function="play-file" data="voicemail/vm-you_have.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="demo_ivr_main_menu" pause="250"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
+    <input pattern="(.*)">
+      <match>
+        <!-- string together several existing sound files to create one long greeting -->
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
+        <action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
+        <!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
+
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
+        <action function="execute" data="sleep(1500)"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="execute" data="sleep(2000)"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_main_menu_short" pause="250"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="execute" data="sleep(1000)"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="execute" data="sleep(2000)"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
+  <macro name="demo_ivr_sub_menu">
+    <input pattern="(.*)">
+      <match>
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
+
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_sub_menu_short"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo.xml
new file mode 100644
index 0000000000..7e450fbc83
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/demo/demo.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+    <macro name="saymoney">
+     <input pattern="(.*)">
+        <match>
+	  <action function="say" data="$1" method="pronounced" type="currency"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="msgcount">
+      <input pattern="(.*)">
+	<match>
+	  <action function="execute" data="sleep(1000)"/>
+	  <action function="play-file" data="voicemail/vm-you_have.wav"/>
+	  <action function="say" data="$1" method="pronounced" type="items"/>
+	  <action function="play-file" data="voicemail/vm-messages.wav"/>
+	  <!-- or -->
+	  <!--<action function="speak-text" data="you have $1 messages"/>-->
+	</match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="saydatetime">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec2">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="CURRENT_DATE_TIME"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr-interated">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="iterated" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	  <action function="break"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sec">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/sounds.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/sounds.xml
new file mode 100644
index 0000000000..02d6b3671f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/sounds.xml
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-enter-person.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+                <action function="play-file" data="directory/dir-enter-person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-first_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-specify_mininum_first.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="play-file" data="directory/dir-no_match_entry.wav"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-result_match.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-to_many_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-no_more_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-result_number.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-at_extension.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="play-file" data="directory/dir-to_select_entry.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_next.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_prev.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-to_make_new_search.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/tts.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/tts.xml
new file mode 100644
index 0000000000..67ae5ab265
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/dir/tts.xml
@@ -0,0 +1,96 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person last name"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person first name"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by first name, press $2"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by last name, press $2"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="You need to specify a minimum the first $1 letters of the person name, try again."/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="speak-text" data="Your search match no user on this system, try again."/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1 result match your search"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Your search returned too many result, please try again"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="No more result"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Result number $1"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="speak-text" data="To select this entry press $1, for the next entry press $2, for the previous entry press $3, to make a new search press $4"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="at extension $1"/>
+			</match>
+		</input>
+	</macro>
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/ru.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/ru.xml
new file mode 100644
index 0000000000..25d63b6110
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/ru.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--тестовые файлы Вы звуковые файлы можно взять тут svn co http://svn.freeswitch.ru/bbv/mod_say_ru/ru/  -->
+<include>
+  <language name="ru" sound-path="$${sounds_dir}/ru/RU/elena" tts-engine="cepstral" tts-voice="elena">
+    <X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
+    <!--voicemail_en_tts is purely implemented with tts, we have the files based one that is the default. -->
+    <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>  <!-- vm/tts.xml if you want to use tts and have cepstral -->
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/sounds.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/sounds.xml
new file mode 100644
index 0000000000..ffd9ec5d8c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/sounds.xml
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="utf-8"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_id.wav"/>
+<!--	<action function="say" data="$1" method="pronounced" type="name_spelled"/>-->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_pass.wav"/>
+<!-- лишнее и так долго	<action function="say" data="$1" method="pronounced" type="name_spelled"/>-->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-fail_auth.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-hello.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-goodbye.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-abort.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^(\d+[0,2-9]1|[2-9]1|1):(.*)$"> <!--1, и всё что больше 20-ти 21,31,41 ..   -->
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="MESSAGES"/>
+	<action function="play-file" data="voicemail/vm-$2.wav"/> 
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+<!--	<action function="play-file" data="voicemail/vm-in_folder.wav"/>-->
+      </match>
+    </input>
+    <!-- от 10 до 19 и ноль   --> <!-- от 5до 9 и больше 20-ти 25-29   -->
+    <input pattern="^(\d+1[0-9]|1[0-9]|0|\d+[0-9][0,5-9]|[2-9][0,5-9]|[0,5-9]):(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="MESSAGES"/>
+	<action function="play-file" data="voicemail/vm-$2x.wav"/> 
+	<action function="play-file" data="voicemail/vm-messagex.wav"/>
+<!--	<action function="play-file" data="voicemail/vm-in_folder.wav"/>-->
+      </match>
+    </input>
+    <input pattern="^(\d+[0,2-9][2-4]|[2-9][2-4]|[2-4]):(.*)$"> 
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="MESSAGES"/>
+	<action function="play-file" data="voicemail/vm-$2x.wav"/> 
+	<action function="play-file" data="voicemail/vm-messages.wav"/>
+	<action function="play-file" data="voicemail/vm-in_folder.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_new.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_saved.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-advanced.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_phonetic"/>
+	<action function="play-file" data="voicemail/vm-to_exit.wav"/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-record_name2.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-change_password.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-main_menu.wav"/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_name1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-rerecord.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-mark-urgent.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-continue.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_add_intro.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-send_message_now.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
+	<action function="play-file" data="voicemail/vm-followed_by.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):(.*)$">
+      <match>
+        <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-return_call.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+        <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-return_call.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_greeting.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_message.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-greeting.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-selected.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-person.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-not_available.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-$1.wav"/> 
+	<action function="play-file" data="voicemail/vm-message_number.wav"/>
+	<action function="say" data="$2" method="pronounced" type="items"/> 
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+  <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
+  <macro name="voicemail_ack"> 
+    <input pattern="^(too-small)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-too-small.wav"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="current_date_time"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/tts.xml b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/tts.xml
new file mode 100644
index 0000000000..1fc877d50e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/lang/ru/vm/tts.xml
@@ -0,0 +1,239 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your i d, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your password, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="login incorrect."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="welcome to your voicemail."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="goodbye."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="too many failed attempts."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^1:(.*)$" break_on_match="true">
+      <match>
+	<action function="speak-text" data="you have 1 $1 message in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+	<action function="speak-text" data="you have $1 $2 messages in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to new messages, press $1, To listen to saved messages, press $2, For advanced options, press $3, to exit, press $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To record a greeting, press $1, To choose a greeting, press $2, To record your name, press $3, to change your password, press $5, to return to the main menu, press $5."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="at the tone, please record your name, press any key or stop talking to end the recording."/>
+
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording, press $1, To save the recording, press $2, To re record, press $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To mark this message urgent, press $1, To continue, press $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="$1 is not a valid extension."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="enter the extension you wish to forward to, then press $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="To record an announcement, press $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording again, press $1, To save the recording, press $2,  To delete the recording, press $3, to forward the recording to your email, press $4, to call the caller now, press $5, To forward this message to another extension, press $6."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="choose a greeting between 1 and 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="invalid value."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your greeting at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your message at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="greeting $1 selected."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 is not available."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(.*)$">
+      <match>
+	<action function="speak-text" data="$1 message number $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="message $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="${strftime($1|%A, %B %d %Y, %I:%M %p)}"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mime.types b/bbb-voice-conference/config/freeswitch/conf.orig/mime.types
new file mode 100644
index 0000000000..34d5fc9055
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mime.types
@@ -0,0 +1,983 @@
+# This is a comment. I love comments.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s).  Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077.  The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type					Extensions
+application/activemessage
+application/andrew-inset			ez
+application/applefile
+application/atom+xml				atom
+application/atomcat+xml				atomcat
+application/atomicmail
+application/atomsvc+xml				atomsvc
+application/auth-policy+xml
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/ccxml+xml				ccxml
+application/cellml+xml
+application/cnrp+xml
+application/commonground
+application/conference-info+xml
+application/cpl+xml
+application/csta+xml
+application/cstadata+xml
+application/cybercash
+application/davmount+xml			davmount
+application/dca-rft
+application/dec-dx
+application/dialog-info+xml
+application/dicom
+application/dns
+application/dvcs
+application/ecmascript				ecma
+application/edi-consent
+application/edi-x12
+application/edifact
+application/epp+xml
+application/eshop
+application/fastinfoset
+application/fastsoap
+application/fits
+application/font-tdpfr				pfr
+application/h224
+application/http
+application/hyperstudio				stk
+application/iges
+application/im-iscomposing+xml
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/javascript				js
+application/json				json
+application/kpml-request+xml
+application/kpml-response+xml
+application/mac-binhex40			hqx
+application/mac-compactpro			cpt
+application/macwriteii
+application/marc				mrc
+application/mathematica				ma nb mb
+application/mathml+xml				mathml
+application/mbms-associated-procedure-description+xml
+application/mbms-deregister+xml
+application/mbms-envelope+xml
+application/mbms-msk+xml
+application/mbms-msk-response+xml
+application/mbms-protection-description+xml
+application/mbms-reception-report+xml
+application/mbms-register+xml
+application/mbms-register-response+xml
+application/mbms-user-service-description+xml
+application/mbox				mbox
+application/mediaservercontrol+xml		mscml
+application/mikey
+application/mp4					mp4s
+application/mpeg4-generic
+application/mpeg4-iod
+application/mpeg4-iod-xmt
+application/msword				doc dot
+application/mxf					mxf
+application/nasdata
+application/news-message-id
+application/news-transmission
+application/nss
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+application/oda					oda
+application/oebps-package+xml
+application/ogg					ogg
+application/parityfec
+application/pdf					pdf
+application/pgp-encrypted			pgp
+application/pgp-keys
+application/pgp-signature			asc sig
+application/pics-rules				prf
+application/pidf+xml
+application/pkcs10				p10
+application/pkcs7-mime				p7m p7c
+application/pkcs7-signature			p7s
+application/pkix-cert				cer
+application/pkix-crl				crl
+application/pkix-pkipath			pkipath
+application/pkixcmp				pki
+application/pls+xml				pls
+application/poc-settings+xml
+application/postscript				ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww				cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml				rdf
+application/reginfo+xml				rif
+application/relax-ng-compact-syntax		rnc
+application/remote-printing
+application/resource-lists+xml			rl
+application/riscos
+application/rlmi+xml
+application/rls-services+xml			rs
+application/rsd+xml				rsd
+application/rss+xml				rss
+application/rtf					rtf
+application/rtx
+application/samlassertion+xml
+application/samlmetadata+xml
+application/sbml+xml				sbml
+application/sdp					sdp
+application/set-payment
+application/set-payment-initiation		setpay
+application/set-registration
+application/set-registration-initiation		setreg
+application/sgml
+application/sgml-open-catalog
+application/shf+xml				shf
+application/sieve
+application/simple-filter+xml
+application/simple-message-summary
+application/simplesymbolcontainer
+application/slate
+application/smil
+application/smil+xml				smi smil
+application/soap+fastinfoset
+application/soap+xml
+application/spirits-event+xml
+application/srgs				gram
+application/srgs+xml				grxml
+application/ssml+xml				ssml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vividence.scriptfile
+application/vnd.3gpp.bsf+xml
+application/vnd.3gpp.pic-bw-large		plb
+application/vnd.3gpp.pic-bw-small		psb
+application/vnd.3gpp.pic-bw-var			pvb
+application/vnd.3gpp.sms
+application/vnd.3gpp2.bcmcsinfo+xml
+application/vnd.3gpp2.sms
+application/vnd.3m.post-it-notes		pwn
+application/vnd.accpac.simply.aso		aso
+application/vnd.accpac.simply.imp		imp
+application/vnd.acucobol			acu
+application/vnd.acucorp				atc acutc
+application/vnd.adobe.xdp+xml			xdp
+application/vnd.adobe.xfdf			xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami			ami
+application/vnd.anser-web-certificate-issue-initiation	cii
+application/vnd.anser-web-funds-transfer-initiation	fti
+application/vnd.antix.game-component		atx
+application/vnd.apple.installer+xml		mpkg
+application/vnd.audiograph			aep
+application/vnd.autopackage
+application/vnd.avistar+xml
+application/vnd.blueice.multipass		mpm
+application/vnd.bmi				bmi
+application/vnd.businessobjects			rep
+application/vnd.cab-jscript
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cendio.thinlinc.clientconf
+application/vnd.chemdraw+xml			cdxml
+application/vnd.chipnuts.karaoke-mmd		mmd
+application/vnd.cinderella			cdy
+application/vnd.cirpack.isdn-ext
+application/vnd.claymore			cla
+application/vnd.clonk.c4group			c4g c4d c4f c4p c4u
+application/vnd.commerce-battelle
+application/vnd.commonspace			csp cst
+application/vnd.contact.cmsg			cdbcmsg
+application/vnd.cosmocaller			cmc
+application/vnd.crick.clicker			clkx
+application/vnd.crick.clicker.keyboard		clkk
+application/vnd.crick.clicker.palette		clkp
+application/vnd.crick.clicker.template		clkt
+application/vnd.crick.clicker.wordbank		clkw
+application/vnd.criticaltools.wbs+xml		wbs
+application/vnd.ctc-posml			pml
+application/vnd.cups-pdf
+application/vnd.cups-postscript
+application/vnd.cups-ppd			ppd
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl				curl
+application/vnd.cybank
+application/vnd.data-vision.rdz			rdz
+application/vnd.denovo.fcselayout-link		fe_launch
+application/vnd.dna				dna
+application/vnd.dolby.mlp			mlp
+application/vnd.dpgraph				dpg
+application/vnd.dreamfactory			dfac
+application/vnd.dvb.esgcontainer
+application/vnd.dvb.ipdcesgaccess
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart			mag
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven				nml
+application/vnd.epson.esf			esf
+application/vnd.epson.msf			msf
+application/vnd.epson.quickanime		qam
+application/vnd.epson.salt			slt
+application/vnd.epson.ssf			ssf
+application/vnd.ericsson.quickcall
+application/vnd.eszigno3+xml			es3 et3
+application/vnd.eudora.data
+application/vnd.ezpix-album			ez2
+application/vnd.ezpix-package			ez3
+application/vnd.fdf				fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit			gph
+application/vnd.fluxtime.clip			ftc
+application/vnd.framemaker			fm frame maker
+application/vnd.frogans.fnc			fnc
+application/vnd.frogans.ltf			ltf
+application/vnd.fsc.weblaunch			fsc
+application/vnd.fujitsu.oasys			oas
+application/vnd.fujitsu.oasys2			oa2
+application/vnd.fujitsu.oasys3			oa3
+application/vnd.fujitsu.oasysgp			fg5
+application/vnd.fujitsu.oasysprs		bh2
+application/vnd.fujixerox.art-ex
+application/vnd.fujixerox.art4
+application/vnd.fujixerox.hbpl
+application/vnd.fujixerox.ddd			ddd
+application/vnd.fujixerox.docuworks		xdw
+application/vnd.fujixerox.docuworks.binder	xbd
+application/vnd.fut-misnet
+application/vnd.fuzzysheet			fzs
+application/vnd.genomatix.tuxedo		txd
+application/vnd.google-earth.kml+xml		kml
+application/vnd.google-earth.kmz		kmz
+application/vnd.grafeq				gqf gqs
+application/vnd.gridmp
+application/vnd.groove-account			gac
+application/vnd.groove-help			ghf
+application/vnd.groove-identity-message		gim
+application/vnd.groove-injector			grv
+application/vnd.groove-tool-message		gtm
+application/vnd.groove-tool-template		tpl
+application/vnd.groove-vcard			vcg
+application/vnd.handheld-entertainment+xml	zmm
+application/vnd.hbci				hbci
+application/vnd.hcl-bireports
+application/vnd.hhe.lesson-player		les
+application/vnd.hp-hpgl				hpgl
+application/vnd.hp-hpid				hpid
+application/vnd.hp-hps				hps
+application/vnd.hp-jlyt				jlt
+application/vnd.hp-pcl				pcl
+application/vnd.hp-pclxl			pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword		x3d
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay			mpy
+application/vnd.ibm.modcap			afp listafp list3820
+application/vnd.ibm.rights-management		irm
+application/vnd.ibm.secure-container		sc
+application/vnd.igloader			igl
+application/vnd.immervision-ivp			ivp
+application/vnd.immervision-ivu			ivu
+application/vnd.informedcontrol.rms+xml
+application/vnd.intercon.formnet		xpw xpx
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo			qbo
+application/vnd.intu.qfx			qfx
+application/vnd.ipunplugged.rcprofile		rcprofile
+application/vnd.irepository.package+xml		irp
+application/vnd.is-xpr				xpr
+application/vnd.jam				jam
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jcp.javame.midlet-rms		rms
+application/vnd.jisp				jisp
+application/vnd.kahootz				ktz ktr
+application/vnd.kde.karbon			karbon
+application/vnd.kde.kchart			chrt
+application/vnd.kde.kformula			kfo
+application/vnd.kde.kivio			flw
+application/vnd.kde.kontour			kon
+application/vnd.kde.kpresenter			kpr kpt
+application/vnd.kde.kspread			ksp
+application/vnd.kde.kword			kwd kwt
+application/vnd.kenameaapp			htke
+application/vnd.kidspiration			kia
+application/vnd.kinar				kne knp
+application/vnd.koan				skp skd skt skm
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop	lbd
+application/vnd.llamagraphics.life-balance.exchange+xml	lbe
+application/vnd.lotus-1-2-3			123
+application/vnd.lotus-approach			apr
+application/vnd.lotus-freelance			pre
+application/vnd.lotus-notes			nsf
+application/vnd.lotus-organizer			org
+application/vnd.lotus-screencam			scm
+application/vnd.lotus-wordpro			lwp
+application/vnd.macports.portpkg		portpkg
+application/vnd.marlin.drm.actiontoken+xml
+application/vnd.marlin.drm.conftoken+xml
+application/vnd.marlin.drm.mdcf
+application/vnd.mcd				mcd
+application/vnd.medcalcdata			mc1
+application/vnd.mediastation.cdkey		cdkey
+application/vnd.meridian-slingshot
+application/vnd.mfer				mwf
+application/vnd.mfmp				mfm
+application/vnd.micrografx.flo			flo
+application/vnd.micrografx.igx			igx
+application/vnd.mif				mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf			daf
+application/vnd.mobius.dis			dis
+application/vnd.mobius.mbk			mbk
+application/vnd.mobius.mqy			mqy
+application/vnd.mobius.msl			msl
+application/vnd.mobius.plc			plc
+application/vnd.mobius.txf			txf
+application/vnd.mophun.application		mpn
+application/vnd.mophun.certificate		mpc
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml	xul
+application/vnd.ms-artgalry			cil
+application/vnd.ms-asf				asf
+application/vnd.ms-cab-compressed		cab
+application/vnd.ms-excel			xls xlm xla xlc xlt xlw
+application/vnd.ms-fontobject			eot
+application/vnd.ms-htmlhelp			chm
+application/vnd.ms-ims				ims
+application/vnd.ms-lrm				lrm
+application/vnd.ms-playready.initiator+xml
+application/vnd.ms-powerpoint			ppt pps pot
+application/vnd.ms-project			mpp mpt
+application/vnd.ms-tnef
+application/vnd.ms-wmdrm.lic-chlg-req
+application/vnd.ms-wmdrm.lic-resp
+application/vnd.ms-wmdrm.meter-chlg-req
+application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-works			wps wks wcm wdb
+application/vnd.ms-wpl				wpl
+application/vnd.ms-xpsdocument			xps
+application/vnd.mseq				mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician			mus
+application/vnd.ncd.control
+application/vnd.nervana
+application/vnd.netfpx
+application/vnd.neurolanguage.nlu		nlu
+application/vnd.noblenet-directory		nnd
+application/vnd.noblenet-sealer			nns
+application/vnd.noblenet-web			nnw
+application/vnd.nokia.catalogs
+application/vnd.nokia.conml+wbxml
+application/vnd.nokia.conml+xml
+application/vnd.nokia.isds-radio-presets
+application/vnd.nokia.iptv.config+xml
+application/vnd.nokia.landmark+wbxml
+application/vnd.nokia.landmark+xml
+application/vnd.nokia.landmarkcollection+xml
+application/vnd.nokia.n-gage.ac+xml
+application/vnd.nokia.n-gage.data		ngdat
+application/vnd.nokia.n-gage.symbian.install	n-gage
+application/vnd.nokia.ncd
+application/vnd.nokia.pcd+wbxml
+application/vnd.nokia.pcd+xml
+application/vnd.nokia.radio-preset		rpst
+application/vnd.nokia.radio-presets		rpss
+application/vnd.novadigm.edm			edm
+application/vnd.novadigm.edx			edx
+application/vnd.novadigm.ext			ext
+application/vnd.oasis.opendocument.chart		odc
+application/vnd.oasis.opendocument.chart-template	otc
+application/vnd.oasis.opendocument.formula		odf
+application/vnd.oasis.opendocument.formula-template	otf
+application/vnd.oasis.opendocument.graphics		odg
+application/vnd.oasis.opendocument.graphics-template	otg
+application/vnd.oasis.opendocument.image		odi
+application/vnd.oasis.opendocument.image-template	oti
+application/vnd.oasis.opendocument.presentation		odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet		ods
+application/vnd.oasis.opendocument.spreadsheet-template	ots
+application/vnd.oasis.opendocument.text			odt
+application/vnd.oasis.opendocument.text-master		otm
+application/vnd.oasis.opendocument.text-template	ott
+application/vnd.oasis.opendocument.text-web		oth
+application/vnd.obn
+application/vnd.olpc-sugar			xo
+application/vnd.oma-scws-config
+application/vnd.oma-scws-http-request
+application/vnd.oma-scws-http-response
+application/vnd.oma.bcast.associated-procedure-parameter+xml
+application/vnd.oma.bcast.drm-trigger+xml
+application/vnd.oma.bcast.imd+xml
+application/vnd.oma.bcast.notification+xml
+application/vnd.oma.bcast.sgboot
+application/vnd.oma.bcast.sgdd+xml
+application/vnd.oma.bcast.sgdu
+application/vnd.oma.bcast.simple-symbol-container
+application/vnd.oma.bcast.smartcard-trigger+xml
+application/vnd.oma.bcast.sprov+xml
+application/vnd.oma.dd2+xml			dd2
+application/vnd.oma.drm.risd+xml
+application/vnd.oma.group-usage-list+xml
+application/vnd.oma.poc.groups+xml
+application/vnd.oma.xcap-directory+xml
+application/vnd.omads-email+xml
+application/vnd.omads-file+xml
+application/vnd.omads-folder+xml
+application/vnd.omaloc-supl-init
+application/vnd.openofficeorg.extension		oxt
+application/vnd.osa.netdeploy
+application/vnd.osgi.dp				dp
+application/vnd.otps.ct-kip+xml
+application/vnd.palm				prc pdb pqa oprc
+application/vnd.paos.xml
+application/vnd.pg.format			str
+application/vnd.pg.osasli			ei6
+application/vnd.piaccess.application-licence
+application/vnd.picsel				efif
+application/vnd.poc.group-advertisement+xml
+application/vnd.pocketlearn			plf
+application/vnd.powerbuilder6			pbd
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.preminet
+application/vnd.previewsystems.box		box
+application/vnd.proteus.magazine		mgz
+application/vnd.publishare-delta-tree		qps
+application/vnd.pvi.ptid1			ptid
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.qualcomm.brew-app-res
+application/vnd.quark.quarkxpress		qxd qxt qwd qwt qxl qxb
+application/vnd.rapid
+application/vnd.recordare.musicxml		mxl
+application/vnd.recordare.musicxml+xml
+application/vnd.renlearn.rlprint
+application/vnd.rn-realmedia			rm
+application/vnd.ruckus.download
+application/vnd.s3sms
+application/vnd.scribus
+application/vnd.sealed.3df
+application/vnd.sealed.csf
+application/vnd.sealed.doc
+application/vnd.sealed.eml
+application/vnd.sealed.mht
+application/vnd.sealed.net
+application/vnd.sealed.ppt
+application/vnd.sealed.tiff
+application/vnd.sealed.xls
+application/vnd.sealedmedia.softseal.html
+application/vnd.sealedmedia.softseal.pdf
+application/vnd.seemail				see
+application/vnd.sema				sema
+application/vnd.semd				semd
+application/vnd.semf				semf
+application/vnd.shana.informed.formdata		ifm
+application/vnd.shana.informed.formtemplate	itp
+application/vnd.shana.informed.interchange	iif
+application/vnd.shana.informed.package		ipk
+application/vnd.simtech-mindmapper		twd twds
+application/vnd.smaf				mmf
+application/vnd.solent.sdkm+xml			sdkm sdkd
+application/vnd.spotfire.dxp			dxp
+application/vnd.spotfire.sfs			sfs
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.sun.wadl+xml
+application/vnd.sus-calendar			sus susp
+application/vnd.svd				svd
+application/vnd.swiftview-ics
+application/vnd.syncml+xml			xsm
+application/vnd.syncml.dm+wbxml			bdm
+application/vnd.syncml.dm+xml			xdm
+application/vnd.syncml.ds.notification
+application/vnd.tao.intent-module-archive	tao
+application/vnd.tmobile-livetv			tmo
+application/vnd.trid.tpt			tpt
+application/vnd.triscape.mxs			mxs
+application/vnd.trueapp				tra
+application/vnd.truedoc
+application/vnd.ufdl				ufd ufdl
+application/vnd.uiq.theme			utz
+application/vnd.umajin				umj
+application/vnd.unity				unityweb
+application/vnd.uoml+xml			uoml
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx				vcx
+application/vnd.vd-study
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio				vsd vst vss vsw
+application/vnd.visionary			vis
+application/vnd.vividence.scriptfile
+application/vnd.vsf				vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml			wbxml
+application/vnd.wap.wmlc			wmlc
+application/vnd.wap.wmlscriptc			wmlsc
+application/vnd.webturbo			wtb
+application/vnd.wfa.wsc
+application/vnd.wordperfect			wpd
+application/vnd.wqd				wqd
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf				stf
+application/vnd.wv.csp+wbxml
+application/vnd.wv.csp+xml
+application/vnd.wv.ssp+xml
+application/vnd.xara				xar
+application/vnd.xfdl				xfdl
+application/vnd.xmpie.cpkg
+application/vnd.xmpie.dpkg
+application/vnd.xmpie.plan
+application/vnd.xmpie.ppkg
+application/vnd.xmpie.xlim
+application/vnd.yamaha.hv-dic			hvd
+application/vnd.yamaha.hv-script		hvs
+application/vnd.yamaha.hv-voice			hvp
+application/vnd.yamaha.smaf-audio		saf
+application/vnd.yamaha.smaf-phrase		spf
+application/vnd.yellowriver-custom-menu		cmp
+application/vnd.zzazz.deck+xml			zaz
+application/voicexml+xml			vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/winhlp				hlp
+application/wita
+application/wordperfect5.1
+application/wsdl+xml				wsdl
+application/wspolicy+xml			wspolicy
+application/x-ace-compressed			ace
+application/x-bcpio				bcpio
+application/x-bittorrent			torrent
+application/x-bzip				bz
+application/x-bzip2				bz2 boz
+application/x-cdlink				vcd
+application/x-chat				chat
+application/x-chess-pgn				pgn
+application/x-compress
+application/x-cpio				cpio
+application/x-csh				csh
+application/x-director				dcr dir dxr fgd
+application/x-dvi				dvi
+application/x-futuresplash			spl
+application/x-gtar				gtar
+application/x-gzip
+application/x-hdf				hdf
+application/x-latex				latex
+application/x-ms-wmd				wmd
+application/x-ms-wmz				wmz
+application/x-msaccess				mdb
+application/x-msbinder				obd
+application/x-mscardfile			crd
+application/x-msclip				clp
+application/x-msdownload			exe dll com bat msi
+application/x-msmediaview			mvb m13 m14
+application/x-msmetafile			wmf
+application/x-msmoney				mny
+application/x-mspublisher			pub
+application/x-msschedule			scd
+application/x-msterminal			trm
+application/x-mswrite				wri
+application/x-netcdf				nc cdf
+application/x-pkcs12				p12 pfx
+application/x-pkcs7-certificates		p7b spc
+application/x-pkcs7-certreqresp			p7r
+application/x-rar-compressed			rar
+application/x-sh				sh
+application/x-shar				shar
+application/x-shockwave-flash			swf
+application/x-stuffit				sit
+application/x-stuffitx				sitx
+application/x-sv4cpio				sv4cpio
+application/x-sv4crc				sv4crc
+application/x-tar				tar
+application/x-tcl				tcl
+application/x-tex				tex
+application/x-texinfo				texinfo texi
+application/x-ustar				ustar
+application/x-wais-source			src
+application/x-x509-ca-cert			der crt
+application/x400-bp
+application/xcap-att+xml
+application/xcap-caps+xml
+application/xcap-el+xml
+application/xcap-error+xml
+application/xcap-ns+xml
+application/xenc+xml				xenc
+application/xhtml+xml				xhtml xht
+application/xml					xml xsl
+application/xml-dtd				dtd
+application/xml-external-parsed-entity
+application/xmpp+xml
+application/xop+xml				xop
+application/xslt+xml				xslt
+application/xspf+xml				xspf
+application/xv+xml				mxml xhvml xvml xvm
+application/zip					zip
+audio/32kadpcm
+audio/3gpp
+audio/3gpp2
+audio/ac3
+audio/amr
+audio/amr-wb
+audio/amr-wb+
+audio/asc
+audio/basic					au snd
+audio/bv16
+audio/bv32
+audio/clearmode
+audio/cn
+audio/dat12
+audio/dls
+audio/dsr-es201108
+audio/dsr-es202050
+audio/dsr-es202211
+audio/dsr-es202212
+audio/dvi4
+audio/eac3
+audio/evrc
+audio/evrc-qcp
+audio/evrc0
+audio/evrc1
+audio/evrcb
+audio/evrcb0
+audio/evrcb1
+audio/g722
+audio/g7221
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g7291
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/ilbc
+audio/l16
+audio/l20
+audio/l24
+audio/l8
+audio/lpc
+audio/midi					mid midi kar rmi
+audio/mobile-xmf
+audio/mp4					mp4a
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg					mpga mp2 mp2a mp3 m2a m3a
+audio/mpeg4-generic
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/rtp-enc-aescm128
+audio/rtp-midi
+audio/rtx
+audio/smv
+audio/smv0
+audio/smv-qcp
+audio/sp-midi
+audio/t140c
+audio/t38
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vmr-wb
+audio/vnd.3gpp.iufp
+audio/vnd.4sb
+audio/vnd.audiokoz
+audio/vnd.celp
+audio/vnd.cisco.nse
+audio/vnd.cmles.radio-events
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds				eol
+audio/vnd.dlna.adts
+audio/vnd.dolby.mlp
+audio/vnd.everad.plj
+audio/vnd.hns.audio
+audio/vnd.lucent.voice				lvp
+audio/vnd.nokia.mobile-xmf
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800			ecelp4800
+audio/vnd.nuera.ecelp7470			ecelp7470
+audio/vnd.nuera.ecelp9600			ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.sealedmedia.softseal.mpeg
+audio/vnd.vmx.cvsd
+audio/wav					wav
+audio/x-aiff					aif aiff aifc
+audio/x-mpegurl					m3u
+audio/x-ms-wax					wax
+audio/x-ms-wma					wma
+audio/x-pn-realaudio				ram ra
+audio/x-pn-realaudio-plugin			rmp
+audio/x-wav					wav
+chemical/x-cdx					cdx
+chemical/x-cif					cif
+chemical/x-cmdf					cmdf
+chemical/x-cml					cml
+chemical/x-csml					csml
+chemical/x-pdb					pdb
+chemical/x-xyz					xyz
+image/bmp					bmp
+image/cgm					cgm
+image/fits
+image/g3fax					g3
+image/gif					gif
+image/ief					ief
+image/jp2
+image/jpeg					jpeg jpg jpe
+image/jpm
+image/jpx
+image/naplps
+image/png					png
+image/prs.btif					btif
+image/prs.pti
+image/svg+xml					svg svgz
+image/t38
+image/tiff					tiff tif
+image/tiff-fx
+image/vnd.adobe.photoshop			psd
+image/vnd.cns.inf2
+image/vnd.djvu					djvu djv
+image/vnd.dwg					dwg
+image/vnd.dxf					dxf
+image/vnd.fastbidsheet				fbs
+image/vnd.fpx					fpx
+image/vnd.fst					fst
+image/vnd.fujixerox.edmics-mmr			mmr
+image/vnd.fujixerox.edmics-rlc			rlc
+image/vnd.globalgraphics.pgb
+image/vnd.microsoft.icon			ico
+image/vnd.mix
+image/vnd.ms-modi				mdi
+image/vnd.net-fpx				npx
+image/vnd.sealed.png
+image/vnd.sealedmedia.softseal.gif
+image/vnd.sealedmedia.softseal.jpg
+image/vnd.svf
+image/vnd.wap.wbmp				wbmp
+image/vnd.xiff					xif
+image/x-cmu-raster				ras
+image/x-cmx					cmx
+image/x-icon
+image/x-pcx					pcx
+image/x-pict					pic pct
+image/x-portable-anymap				pnm
+image/x-portable-bitmap				pbm
+image/x-portable-graymap			pgm
+image/x-portable-pixmap				ppm
+image/x-rgb					rgb
+image/x-xbitmap					xbm
+image/x-xpixmap					xpm
+image/x-xwindowdump				xwd
+message/cpim
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822					eml mime
+message/s-http
+message/sip
+message/sipfrag
+message/tracking-status
+model/iges					igs iges
+model/mesh					msh mesh silo
+model/vnd.dwf					dwf
+model/vnd.flatland.3dml
+model/vnd.gdl					gdl
+model/vnd.gs.gdl
+model/vnd.gtw					gtw
+model/vnd.moml+xml
+model/vnd.mts					mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu					vtu
+model/vrml					wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar					ics ifb
+text/css					css
+text/csv					csv
+text/directory
+text/dns
+text/enriched
+text/html					html htm
+text/parityfec
+text/plain					txt text conf def list log in
+text/prs.fallenstein.rst
+text/prs.lines.tag				dsc
+text/red
+text/rfc822-headers
+text/richtext					rtx
+text/rtf
+text/rtp-enc-aescm128
+text/rtx
+text/sgml					sgml sgm
+text/t140
+text/tab-separated-values			tsv
+text/troff					t tr roff man me ms
+text/uri-list					uri uris urls
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.esmertec.theme-descriptor
+text/vnd.fly					fly
+text/vnd.fmi.flexstor				flx
+text/vnd.in3d.3dml				3dml
+text/vnd.in3d.spot				spot
+text/vnd.iptc.newsml
+text/vnd.iptc.nitf
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor		jad
+text/vnd.trolltech.linguist
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml				wml
+text/vnd.wap.wmlscript				wmls
+text/x-asm					s asm
+text/x-c					c cc cxx cpp h hh dic
+text/x-fortran					f for f77 f90
+text/x-pascal					p pas
+text/x-java-source				java
+text/x-setext					etx
+text/x-uuencode					uu
+text/x-vcalendar				vcs
+text/x-vcard					vcf
+text/xml
+text/xml-external-parsed-entity
+video/3gpp					3gp
+video/3gpp-tt
+video/3gpp2					3g2
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261					h261
+video/h263					h263
+video/h263-1998
+video/h263-2000
+video/h264					h264
+video/jpeg					jpgv
+video/jpm					jpm jpgm
+video/mj2					mj2 mjp2
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4					mp4 mp4v mpg4
+video/mp4v-es
+video/mpeg					mpeg mpg mpe m1v m2v
+video/mpeg4-generic
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime					qt mov
+video/raw
+video/rtp-enc-aescm128
+video/rtx
+video/smpte292m
+video/vc1
+video/vnd.dlna.mpeg-tts
+video/vnd.fvt					fvt
+video/vnd.hns.video
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl				mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.nokia.videovoip
+video/vnd.objectvideo
+video/vnd.sealed.mpeg1
+video/vnd.sealed.mpeg4
+video/vnd.sealed.swf
+video/vnd.sealedmedia.softseal.mov
+video/vnd.vivo					viv
+video/x-fli					fli
+video/x-ms-asf					asf asx
+video/x-ms-wm					wm
+video/x-ms-wmv					wmv
+video/x-ms-wmx					wmx
+video/x-ms-wvx					wvx
+video/x-msvideo					avi
+video/x-sgi-movie				movie
+x-conference/x-cooltalk				ice
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/loquendo-7-mrcp-v2.xml b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/loquendo-7-mrcp-v2.xml
new file mode 100644
index 0000000000..dcf42821f5
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/loquendo-7-mrcp-v2.xml
@@ -0,0 +1,32 @@
+<include>
+  <!-- Loquendo MRCP Server 7 MRCPv2 -->
+  <profile name="loquendo7-mrcp2" version="2">
+    <!--param name="client-ext-ip" value="auto"-->
+    <param name="client-ip" value="auto"/>
+    <param name="client-port" value="5090"/>
+    <param name="server-ip" value="10.5.5.152"/>
+    <param name="server-port" value="5060"/>
+    <!--param name="force-destination" value="1"/-->
+    <param name="sip-transport" value="udp"/>
+    <!--param name="ua-name" value="FreeSWITCH"/-->
+    <!--param name="sdp-origin" value="FreeSWITCH"/-->
+    <!--param name="rtp-ext-ip" value="auto"/-->
+    <param name="rtp-ip" value="auto"/>
+    <param name="rtp-port-min" value="4000"/>
+    <param name="rtp-port-max" value="5000"/>
+    <!--param name="playout-delay" value="50"/-->
+    <!--param name="max-playout-delay" value="200"/-->
+    <!--param name="ptime" value="20"/-->
+    <param name="codecs" value="PCMU PCMA L16/96/8000"/>
+    <param name="jsgf-mime-type" value="application/jsgf"/>
+
+    <!-- Add any default MRCP params for SPEAK requests here -->
+    <synthparams>
+    </synthparams>
+
+    <!-- Add any default MRCP params for RECOGNIZE requests here -->
+    <recogparams>
+      <!--param name="start-input-timers" value="false"/-->
+    </recogparams>
+  </profile>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-1.0.0-mrcp-v1.xml b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-1.0.0-mrcp-v1.xml
new file mode 100644
index 0000000000..0700dec629
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-1.0.0-mrcp-v1.xml
@@ -0,0 +1,39 @@
+<include>
+  <!-- Nuance MRCP 1.0.0 Server -->
+  <profile name="nuance-mrcp1" version="1">
+    <param name="server-ip" value="10.5.5.152"/>
+    <param name="server-port" value="554"/>
+    <param name="resource-location" value=""/>
+    <param name="speechsynth" value="synthesizer"/>
+    <param name="speechrecog" value="recognizer"/>
+    <!--param name="rtp-ext-ip" value="auto"/-->
+    <param name="rtp-ip" value="auto"/>
+    <param name="rtp-port-min" value="4000"/>
+    <param name="rtp-port-max" value="5000"/>
+    <!-- enable/disable rtcp support -->
+    <param name="rtcp" value="1"/>
+    <!-- rtcp bye policies (rtcp must be enabled first)
+         0 - disable rtcp bye
+         1 - send rtcp bye at the end of session
+         2 - send rtcp bye also at the end of each talkspurt (input)
+    -->
+    <param name="rtcp-bye" value="2"/>
+    <!-- rtcp transmission interval in msec (set 0 to disable) -->
+    <param name="rtcp-tx-interval" value="5000"/>
+    <!-- period (timeout) to check for new rtcp messages in msec (set 0 to disable) -->
+    <param name="rtcp-rx-resolution" value="1000"/>
+    <!--param name="playout-delay" value="50"/-->
+    <!--param name="max-playout-delay" value="200"/-->
+    <!--param name="ptime" value="20"/-->
+    <param name="codecs" value="PCMU PCMA L16/96/8000"/>
+
+    <!-- Add any default MRCP params for SPEAK requests here -->
+    <synthparams>
+    </synthparams>
+
+    <!-- Add any default MRCP params for RECOGNIZE requests here -->
+    <recogparams>
+      <!--param name="start-input-timers" value="false"/-->
+    </recogparams>
+  </profile>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v1.xml b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v1.xml
new file mode 100644
index 0000000000..3c4938a66d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v1.xml
@@ -0,0 +1,39 @@
+<include>
+  <!-- Nuance Speech Server 5.0 MRCPv1 -->
+  <profile name="nuance5-mrcp1" version="1">
+    <param name="server-ip" value="10.5.5.152"/>
+    <param name="server-port" value="4900"/>
+    <param name="resource-location" value="media"/>
+    <param name="speechsynth" value="speechsynthesizer"/>
+    <param name="speechrecog" value="speechrecognizer"/>
+    <!--param name="rtp-ext-ip" value="auto"/-->
+    <param name="rtp-ip" value="auto"/>
+    <param name="rtp-port-min" value="4000"/>
+    <param name="rtp-port-max" value="5000"/>
+    <!-- enable/disable rtcp support -->
+    <param name="rtcp" value="1"/>
+    <!-- rtcp bye policies (rtcp must be enabled first)
+             0 - disable rtcp bye
+             1 - send rtcp bye at the end of session
+             2 - send rtcp bye also at the end of each talkspurt (input)
+      -->
+    <param name="rtcp-bye" value="2"/>
+    <!-- rtcp transmission interval in msec (set 0 to disable) -->
+    <param name="rtcp-tx-interval" value="5000"/>
+    <!-- period (timeout) to check for new rtcp messages in msec (set 0 to disable) -->
+    <param name="rtcp-rx-resolution" value="1000"/>
+    <!--param name="playout-delay" value="50"/-->
+    <!--param name="max-playout-delay" value="200"/-->
+    <!--param name="ptime" value="20"/-->
+    <param name="codecs" value="PCMU PCMA L16/96/8000"/>
+
+    <!-- Add any default MRCP params for SPEAK requests here -->
+    <synthparams>
+    </synthparams>
+
+    <!-- Add any default MRCP params for RECOGNIZE requests here -->
+    <recogparams>
+      <!--param name="start-input-timers" value="false"/-->
+    </recogparams>
+  </profile>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v2.xml b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v2.xml
new file mode 100644
index 0000000000..b53cba0984
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/nuance-5.0-mrcp-v2.xml
@@ -0,0 +1,43 @@
+<include>
+  <!-- Nuance Speech Server 5.0 MRCPv2 -->
+  <profile name="nuance5-mrcp2" version="2">
+    <!--param name="client-ext-ip" value="auto"-->
+    <param name="client-ip" value="auto"/>
+    <param name="client-port" value="5090"/>
+    <param name="server-ip" value="10.5.5.152"/>
+    <param name="server-port" value="5060"/>
+    <!--param name="force-destination" value="1"/-->
+    <param name="sip-transport" value="udp"/>
+    <!--param name="ua-name" value="FreeSWITCH"/-->
+    <!--param name="sdp-origin" value="FreeSWITCH"/-->
+    <!--param name="rtp-ext-ip" value="auto"/-->
+    <param name="rtp-ip" value="auto"/>
+    <param name="rtp-port-min" value="4000"/>
+    <param name="rtp-port-max" value="5000"/>
+    <!-- enable/disable rtcp support -->
+    <param name="rtcp" value="1"/>
+    <!-- rtcp bye policies (rtcp must be enabled first)
+             0 - disable rtcp bye
+             1 - send rtcp bye at the end of session
+             2 - send rtcp bye also at the end of each talkspurt (input)
+    -->
+    <param name="rtcp-bye" value="2"/>
+    <!-- rtcp transmission interval in msec (set 0 to disable) -->
+    <param name="rtcp-tx-interval" value="5000"/>
+    <!-- period (timeout) to check for new rtcp messages in msec (set 0 to disable) -->
+    <param name="rtcp-rx-resolution" value="1000"/>
+    <!--param name="playout-delay" value="50"/-->
+    <!--param name="max-playout-delay" value="200"/-->
+    <!--param name="ptime" value="20"/-->
+    <param name="codecs" value="PCMU PCMA L16/96/8000"/>
+
+    <!-- Add any default MRCP params for SPEAK requests here -->
+    <synthparams>
+    </synthparams>
+
+    <!-- Add any default MRCP params for RECOGNIZE requests here -->
+    <recogparams>
+      <!--param name="start-input-timers" value="false"/-->
+    </recogparams>
+  </profile>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/unimrcpserver-mrcp-v1.xml b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/unimrcpserver-mrcp-v1.xml
new file mode 100644
index 0000000000..fe02b1582f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/unimrcpserver-mrcp-v1.xml
@@ -0,0 +1,27 @@
+<include>
+  <!-- UniMRCP Server MRCPv1 -->
+  <profile name="unimrcpserver-mrcp1" version="1">
+    <param name="server-ip" value="10.5.5.152"/>
+    <param name="server-port" value="1554"/>
+    <param name="resource-location" value=""/>
+    <param name="speechsynth" value="speechsynthesizer"/>
+    <param name="speechrecog" value="speechrecognizer"/>
+    <!--param name="rtp-ext-ip" value="auto"/-->
+    <param name="rtp-ip" value="auto"/>
+    <param name="rtp-port-min" value="4000"/>
+    <param name="rtp-port-max" value="5000"/>
+    <!--param name="playout-delay" value="50"/-->
+    <!--param name="max-playout-delay" value="200"/-->
+    <!--param name="ptime" value="20"/-->
+    <param name="codecs" value="PCMU PCMA L16/96/8000"/>
+
+    <!-- Add any default MRCP params for SPEAK requests here -->
+    <synthparams>
+    </synthparams>
+
+    <!-- Add any default MRCP params for RECOGNIZE requests here -->
+    <recogparams>
+      <!--param name="start-input-timers" value="false"/-->
+    </recogparams>
+  </profile>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/voxeo-prophecy-8.0-mrcp-v1.xml b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/voxeo-prophecy-8.0-mrcp-v1.xml
new file mode 100644
index 0000000000..fb1d0ee287
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/mrcp_profiles/voxeo-prophecy-8.0-mrcp-v1.xml
@@ -0,0 +1,27 @@
+<include>
+  <!-- Voxeo Prophecy 8.0 MRCPv1 -->
+  <profile name="voxeo-prophecy8.0-mrcp1" version="1">
+    <param name="server-ip" value="99.185.85.31"/>
+    <param name="server-port" value="554"/>
+    <param name="resource-location" value=""/>
+    <param name="speechsynth" value="synthesizer"/>
+    <param name="speechrecog" value="recognizer"/>
+    <!--param name="rtp-ext-ip" value="auto"/-->
+    <param name="rtp-ip" value="auto"/>
+    <param name="rtp-port-min" value="4000"/>
+    <param name="rtp-port-max" value="5000"/>
+    <!--param name="playout-delay" value="50"/-->
+    <!--param name="max-playout-delay" value="200"/-->
+    <!--param name="ptime" value="20"/-->
+    <param name="codecs" value="PCMU PCMA L16/96/8000"/>
+
+    <!-- Add any default MRCP params for SPEAK requests here -->
+    <synthparams>
+    </synthparams>
+
+    <!-- Add any default MRCP params for RECOGNIZE requests here -->
+    <recogparams>
+      <!--param name="start-input-timers" value="false"/-->
+    </recogparams>
+  </profile>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/notify-voicemail.tpl b/bbb-voice-conference/config/freeswitch/conf.orig/notify-voicemail.tpl
new file mode 100644
index 0000000000..0b08dbe966
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/notify-voicemail.tpl
@@ -0,0 +1,42 @@
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}@${voicemail_domain}>
+To: <${voicemail_notify_email}>
+Subject: Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}
+X-Priority: ${voicemail_priority}
+X-Mailer: FreeSWITCH
+
+Content-Type: multipart/alternative; 
+	boundary="000XXX000"
+
+--000XXX000
+Content-Type: text/plain; charset=ISO-8859-1; Format=Flowed
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+Created: ${voicemail_time}
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}>
+Duration: ${voicemail_message_len}
+Account: ${voicemail_account}@${voicemail_domain}
+
+--000XXX000
+Content-Type: text/html; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}</title>
+<meta content="text/html; charset=iso-8859-1" http-equiv="content-type"/>
+</head>
+<body>
+
+<font face=arial>
+<b>Message From "${voicemail_caller_id_name}" <A HREF="tel:${voicemail_caller_id_number}">${voicemail_caller_id_number}</A></b><br>
+<hr noshade size=1>
+Created: ${voicemail_time}<br>
+Duration: ${voicemail_message_len}<br>
+Account: ${voicemail_account}@${voicemail_domain}<br>
+
+</body>
+</html>
+--000XXX000--
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external.xml b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external.xml
new file mode 100644
index 0000000000..8f1076364c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external.xml
@@ -0,0 +1,78 @@
+<profile name="external">
+  <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files --> 
+  <!-- This profile is only for outbound registrations to providers -->
+  <gateways>
+    <X-PRE-PROCESS cmd="include" data="external/*.xml"/>
+  </gateways>
+
+  <aliases>
+    <!-- 
+    <alias name="outbound"/>
+    <alias name="nat"/>
+    -->
+  </aliases>
+
+  <domains>
+    <domain name="all" alias="false" parse="true"/>
+  </domains>
+
+  <settings>
+    <param name="debug" value="0"/>
+	<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
+	<!-- <param name="shutdown-on-fail" value="true"/> -->
+    <param name="sip-trace" value="no"/>
+    <param name="rfc2833-pt" value="101"/>
+    <param name="sip-port" value="$${external_sip_port}"/>
+    <param name="dialplan" value="XML"/>
+    <param name="context" value="public"/>
+    <param name="dtmf-duration" value="2000"/>
+    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/>
+    <param name="hold-music" value="$${hold_music}"/>
+    <param name="rtp-timer-name" value="soft"/>
+    <!--<param name="enable-100rel" value="true"/>-->
+    <!-- This could be set to "passive" -->
+    <param name="local-network-acl" value="localnet.auto"/>
+    <param name="manage-presence" value="false"/>
+
+    <!-- used to share presence info across sofia profiles 
+	 manage-presence needs to be set to passive on this profile
+	 if you want it to behave as if it were the internal profile 
+	 for presence.
+    -->
+    <!-- Name of the db to use for this profile -->
+    <!--<param name="dbname" value="share_presence"/>-->
+    <!--<param name="presence-hosts" value="$${domain}"/>-->
+    <!--<param name="force-register-domain" value="$${domain}"/>-->
+    <!--all inbound reg will stored in the db using this domain -->
+    <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+    <!-- ************************************************* -->
+
+    <!--<param name="aggressive-nat-detection" value="true"/>-->
+    <param name="inbound-codec-negotiation" value="generous"/>
+    <param name="nonce-ttl" value="60"/>
+    <param name="auth-calls" value="false"/>
+    <!--
+	DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
+    -->
+    <param name="rtp-ip" value="$${local_ip_v4}"/>
+    <param name="sip-ip" value="$${local_ip_v4}"/>
+    <param name="ext-rtp-ip" value="auto-nat"/>
+    <param name="ext-sip-ip" value="auto-nat"/>
+    <param name="rtp-timeout-sec" value="300"/>
+    <param name="rtp-hold-timeout-sec" value="1800"/>
+    <!--<param name="enable-3pcc" value="true"/>-->
+
+    <!-- TLS: disabled by default, set to "true" to enable -->
+    <param name="tls" value="$${external_ssl_enable}"/>
+    <!-- additional bind parameters for TLS -->
+    <param name="tls-bind-params" value="transport=tls"/>
+    <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) -->
+    <param name="tls-sip-port" value="$${external_tls_port}"/>
+    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+    <param name="tls-cert-dir" value="$${external_ssl_dir}"/>
+    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+    <param name="tls-version" value="$${sip_tls_version}"/>
+
+  </settings>
+</profile>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external/example.xml b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external/example.xml
new file mode 100644
index 0000000000..7ac8db1186
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/external/example.xml
@@ -0,0 +1,34 @@
+<include>
+  <!--<gateway name="asterlink.com">-->
+  <!--/// account username *required* ///-->
+  <!--<param name="username" value="cluecon"/>-->
+  <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+  <!--<param name="realm" value="asterlink.com"/>-->
+  <!--/// username to use in from: *optional* same as  username, if blank ///-->
+  <!--<param name="from-user" value="cluecon"/>-->
+  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
+  <!--<param name="from-domain" value="asterlink.com"/>-->
+  <!--/// account password *required* ///-->
+  <!--<param name="password" value="2007"/>--> 
+  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+  <!--<param name="extension" value="cluecon"/>-->
+  <!--/// proxy host: *optional* same as realm, if blank ///-->
+  <!--<param name="proxy" value="asterlink.com"/>-->
+  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+  <!--<param name="register-proxy" value="mysbc.com"/>-->
+  <!--/// expire in seconds: *optional* 3600, if blank ///-->
+  <!--<param name="expire-seconds" value="60"/>-->
+  <!--/// do not register ///-->
+  <!--<param name="register" value="false"/>-->
+  <!-- which transport to use for register -->
+  <!--<param name="register-transport" value="udp"/>-->
+  <!--How many seconds before a retry when a failure or timeout occurs -->
+  <!--<param name="retry-seconds" value="30"/>-->
+  <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+  <!--<param name="caller-id-in-from" value="false"/>-->
+  <!--extra sip params to send in the contact-->
+  <!--<param name="contact-params" value="tport=tcp"/>-->
+  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+  <!--<param name="ping" value="25"/>-->
+  <!--</gateway>-->
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal-ipv6.xml b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal-ipv6.xml
new file mode 100644
index 0000000000..37ff58b310
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal-ipv6.xml
@@ -0,0 +1,129 @@
+<profile name="internal-ipv6">
+  <!--
+      This is an example of a sofia profile setup to listen on IPv6.
+  -->
+  <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+  <!--aliases are other names that will work as a valid profile name for this profile-->
+  <settings>
+    <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+    <param name="debug" value="0"/>
+    <param name="sip-trace" value="no"/>
+    <param name="context" value="public"/>
+    <param name="rfc2833-pt" value="101"/>
+    <!-- port to bind to for sip traffic -->
+    <param name="sip-port" value="$${internal_sip_port}"/>
+    <param name="dialplan" value="XML"/>
+    <param name="dtmf-duration" value="2000"/>
+    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="use-rtp-timer" value="true"/>
+    <param name="rtp-timer-name" value="soft"/>
+    <!-- ip address to use for rtp -->
+    <param name="rtp-ip" value="$${local_ip_v6}"/>
+    <!-- ip address to bind to -->
+    <param name="sip-ip" value="$${local_ip_v6}"/>
+    <param name="hold-music" value="$${hold_music}"/>
+    <!--<param name="enable-100rel" value="false"/>-->
+    <param name="apply-inbound-acl" value="domains"/>
+    <!--<param name="apply-register-acl" value="domains"/>-->
+    <!--<param name="dtmf-type" value="info"/>-->
+    <param name="record-template" value="$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+    <!--enable to use presence and mwi -->
+    <param name="manage-presence" value="true"/>
+    <!-- This setting is for AAL2 bitpacking on G726 -->
+    <!-- <param name="bitpacking" value="aal2"/> -->
+    <!--max number of open dialogs in proceeding -->
+    <!--<param name="max-proceeding" value="1000"/>-->
+    <!--session timers for all call to expire after the specified seconds -->
+    <!--<param name="session-timeout" value="1800"/>-->
+    <!--<param name="multiple-registrations" value="true"/>-->
+    <!--set to 'greedy' if you want your codec list to take precedence -->
+    <param name="inbound-codec-negotiation" value="generous"/>
+    <!-- if you want to send any special bind params of your own -->
+    <!--<param name="bind-params" value="transport=udp"/>-->
+    <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+    <!-- TLS: disabled by default, set to "true" to enable -->
+    <param name="tls" value="$${internal_ssl_enable}"/>
+    <!-- additional bind parameters for TLS -->
+    <param name="tls-bind-params" value="transport=tls"/>
+    <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+    <param name="tls-sip-port" value="$${internal_tls_port}"/>
+    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+    <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+    <param name="tls-version" value="$${sip_tls_version}"/>
+    
+    <!--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-timestamps" value="true"/>-->
+    <!--<param name="pass-rfc2833" value="true"/>-->
+    <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+    
+    <!--Uncomment to set all inbound calls to no media mode-->
+    <!--<param name="inbound-bypass-media" value="true"/>-->
+
+    <!--Uncomment to set all inbound calls to proxy media mode-->
+    <!--<param name="inbound-proxy-media" value="true"/>-->
+    
+    <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+    <!--<param name="inbound-late-negotiation" value="true"/>-->
+    
+    <!-- this lets anything register -->
+    <!--  comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+    <!-- <param name="accept-blind-reg" value="true"/> -->
+
+    <!-- accept any authentication without actually checking (not a good feature for most people) -->
+    <!-- <param name="accept-blind-auth" value="true"/> -->
+    
+    <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+    <!-- <param name="suppress-cng" value="true"/> -->
+    
+    <!--TTL for nonce in sip auth-->
+    <param name="nonce-ttl" value="60"/>
+    <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec 
+	that the originator is using-->
+    <!--<param name="disable-transcoding" value="true"/>-->
+    <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+    <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+    <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+    <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+    <param name="auth-calls" value="$${internal_auth_calls}"/>
+    <!-- on authed calls, authenticate *all* the packets not just invite -->
+    <param name="auth-all-packets" value="false"/>
+    <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> -->
+    <!-- <param name="ext-sip-ip" value="$${external_sip_ip}"/> -->
+    <!-- rtp inactivity timeout -->
+    <param name="rtp-timeout-sec" value="300"/>
+    <param name="rtp-hold-timeout-sec" value="1800"/>
+    <!-- VAD choose one (out is a good choice); -->
+    <!-- <param name="vad" value="in"/> -->
+    <!-- <param name="vad" value="out"/> -->
+    <!-- <param name="vad" value="both"/> -->
+    <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+    <!--
+	These are enabled to make the default config work better out of the box.
+	If you need more than ONE domain you'll need to not use these options.
+
+    -->
+    <!--all inbound reg will look in this domain for the users -->
+    <param name="force-register-domain" value="$${domain}"/>
+    <!--all inbound reg will stored in the db using this domain -->
+    <param name="force-register-db-domain" value="$${domain}"/>
+    <!-- disable register and transfer which may be undesirable in a public switch -->
+    <!--<param name="disable-transfer" value="true"/>-->
+    <!--<param name="disable-register" value="true"/>-->
+    <!--<param name="enable-3pcc" value="true"/>-->
+    <!-- use stun when specified (default is true) -->
+    <!--<param name="stun-enabled" value="true"/>-->
+    <!-- use stun when specified (default is true) -->
+    <!-- set to true to have the profile determine stun is not useful and turn it off globally-->
+    <!--<param name="stun-auto-disable" value="true"/>-->
+
+	 <!-- the following can be used as workaround with bogus SRV/NAPTR records -->
+	 <!--<param name="disable-srv" value="false" />-->
+	 <!--<param name="disable-naptr" value="false" />-->
+
+  </settings>
+</profile>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal.xml b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal.xml
new file mode 100644
index 0000000000..dd1595d5ba
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal.xml
@@ -0,0 +1,313 @@
+<profile name="internal">
+  <!--
+      This is a sofia sip profile/user agent.  This will service exactly one ip and port.
+      In FreeSWITCH you can run multiple sip user agents on their own ip and port.
+      
+      When you hear someone say "sofia profile" this is what they are talking about.
+  -->
+  
+  <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+  <!--aliases are other names that will work as a valid profile name for this profile-->
+  <aliases>
+    <!--
+    <alias name="default"/>
+    -->
+  </aliases>
+  <!-- Outbound Registrations -->
+  <gateways>
+    <X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
+  </gateways>
+  
+  <domains>
+    <!-- indicator to parse the directory for domains with parse="true" to get gateways-->
+    <!--<domain name="$${domain}" parse="true"/>-->
+    <!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
+    <!--<domain name="all" alias="true" parse="true"/>-->
+    <domain name="all" alias="true" parse="false"/> 
+  </domains>
+  
+  <settings>
+    <!--
+	When calls are in no media this will bring them back to media
+	when you press the hold button.
+    -->
+    <!--<param name="media-option" value="resume-media-on-hold"/> -->
+    <!--
+	This will allow a call after an attended transfer go back to 
+	 bypass media after an attended transfer.
+    -->
+    <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+    <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+    <param name="debug" value="0"/>
+	<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
+	<!-- <param name="shutdown-on-fail" value="true"/> -->
+    <param name="sip-trace" value="no"/>
+    <param name="log-auth-failures" value="true"/>
+    <param name="context" value="public"/>
+    <param name="rfc2833-pt" value="101"/>
+    <!-- port to bind to for sip traffic -->
+    <param name="sip-port" value="$${internal_sip_port}"/>
+    <param name="dialplan" value="XML"/>
+    <param name="dtmf-duration" value="2000"/>
+    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="rtp-timer-name" value="soft"/>
+    <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+    <param name="rtp-ip" value="$${local_ip_v4}"/>
+    <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+    <param name="sip-ip" value="$${local_ip_v4}"/>
+    <param name="hold-music" value="$${hold_music}"/>
+    <param name="apply-nat-acl" value="nat.auto"/>
+
+    <!-- extended info parsing -->
+    <!-- <param name="extended-info-parsing" value="true"/> -->
+
+    <!--<param name="aggressive-nat-detection" value="true"/>-->
+    <!--
+	There are known issues (asserts and segfaults) when 100rel is enabled.
+	It is not recommended to enable 100rel at this time.
+    -->
+    <!--<param name="enable-100rel" value="true"/>-->
+    <!-- Enable Compact SIP headers. -->
+    <!--<param name="enable-compact-headers" value="true"/>-->
+    <!--
+	enable/disable session timers 
+    -->
+    <!--<param name="enable-timer" value="false"/>-->
+    <!--<param name="minimum-session-expires" value="120"/>-->
+    <param name="apply-inbound-acl" value="domains"/>
+    <!--
+	This defines your local network, by default we detect your local network
+	and create this localnet.auto ACL for this.
+    -->
+    <param name="local-network-acl" value="localnet.auto"/>
+    <!--<param name="apply-register-acl" value="domains"/>-->
+    <!--<param name="dtmf-type" value="info"/>-->
+
+
+    <!-- 'true' means every time 'first-only' means on the first register -->
+    <!--<param name="send-message-query-on-register" value="true"/>-->
+    
+      
+
+    <!-- Caller-ID type (choose one, can be overridden by inbound call type and/or sip_cid_type channel variable -->
+    <!-- Remote-Party-ID header -->
+    <!--<param name="caller-id-type" value="rpid"/>-->
+
+    <!-- P-*-Identity family of headers -->
+    <!--<param name="caller-id-type" value="pid"/>-->
+
+    <!-- neither one -->
+    <!--<param name="caller-id-type" value="none"/>-->
+
+
+
+    <param name="record-path" value="$${recordings_dir}"/>
+    <param name="record-template" value="${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+    <!--enable to use presence -->
+    <param name="manage-presence" value="true"/>
+    <!--<param name="manage-shared-appearance" value="true"/>-->
+    <!-- used to share presence info across sofia profiles -->
+    <!-- Name of the db to use for this profile -->
+    <!--<param name="dbname" value="share_presence"/>-->
+    <!--<param name="presence-hosts" value="$${domain}"/>-->
+    <!-- ************************************************* -->
+    
+    <!-- This setting is for AAL2 bitpacking on G726 -->
+    <!-- <param name="bitpacking" value="aal2"/> -->
+    <!--max number of open dialogs in proceeding -->
+    <!--<param name="max-proceeding" value="1000"/>-->
+    <!--session timers for all call to expire after the specified seconds -->
+    <!--<param name="session-timeout" value="1800"/>-->
+    <!-- Can be 'true' or 'contact' -->
+    <!--<param name="multiple-registrations" value="contact"/>-->
+    <!--set to 'greedy' if you want your codec list to take precedence -->
+    <param name="inbound-codec-negotiation" value="generous"/>
+    <!-- if you want to send any special bind params of your own -->
+    <!--<param name="bind-params" value="transport=udp"/>-->
+    <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+    <!-- TLS: disabled by default, set to "true" to enable -->
+    <param name="tls" value="$${internal_ssl_enable}"/>
+    <!-- additional bind parameters for TLS -->
+    <param name="tls-bind-params" value="transport=tls"/>
+    <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+    <param name="tls-sip-port" value="$${internal_tls_port}"/>
+    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+    <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+    <param name="tls-version" value="$${sip_tls_version}"/>
+
+    <!-- turn on auto-flush during bridge (skip timer sleep when the socket already has data) 
+	 (reduces delay on latent connections default true, must be disabled explicitly)-->
+    <!--<param name="rtp-autoflush-during-bridge" value="false"/>-->
+    
+    <!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
+    <!--<param name="rtp-rewrite-timestamps" value="true"/>-->
+    <!--<param name="pass-rfc2833" value="true"/>-->
+    <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+    
+    <!--Uncomment to set all inbound calls to no media mode-->
+    <!--<param name="inbound-bypass-media" value="true"/>-->
+
+    <!--Uncomment to set all inbound calls to proxy media mode-->
+    <!--<param name="inbound-proxy-media" value="true"/>-->
+    
+    <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+    <!--<param name="inbound-late-negotiation" value="true"/>-->
+    
+    <!-- this lets anything register -->
+    <!--  comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+    <!-- <param name="accept-blind-reg" value="true"/> -->
+
+    <!-- accept any authentication without actually checking (not a good feature for most people) -->
+    <!-- <param name="accept-blind-auth" value="true"/> -->
+    
+    <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+    <!-- <param name="suppress-cng" value="true"/> -->
+    
+    <!--TTL for nonce in sip auth-->
+    <param name="nonce-ttl" value="60"/>
+    <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec 
+	that the originator is using-->
+    <!--<param name="disable-transcoding" value="true"/>-->
+    <!-- Handle 302 Redirect in the dialplan -->
+    <!--<param name="manual-redirect" value="true"/> -->
+    <!-- Disable Transfer -->
+    <!--<param name="disable-transfer" value="true"/> -->
+    <!-- Disable Register -->
+    <!--<param name="disable-register" value="true"/> -->
+    <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+    <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+    <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+    <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+    <param name="auth-calls" value="$${internal_auth_calls}"/>
+    <!-- Force the user and auth-user to match. -->
+    <param name="inbound-reg-force-matching-username" value="true"/>
+    <!-- on authed calls, authenticate *all* the packets not just invite -->
+    <param name="auth-all-packets" value="false"/>
+    
+    <!-- external_sip_ip
+      Used as the public IP address for SDP.
+      Can be an one of:
+           ip address            - "12.34.56.78"
+           a stun server lookup  - "stun:stun.server.com"
+           a DNS name            - "host:host.server.com"
+           auto                  - Use guessed ip.
+           auto-nat              - Use ip learned from NAT-PMP or UPNP
+       -->
+    <param name="ext-rtp-ip" value="auto-nat"/>
+    <param name="ext-sip-ip" value="auto-nat"/>
+
+    <!-- rtp inactivity timeout -->
+    <param name="rtp-timeout-sec" value="300"/>
+    <param name="rtp-hold-timeout-sec" value="1800"/>
+    <!-- VAD choose one (out is a good choice); -->
+    <!-- <param name="vad" value="in"/> -->
+    <!-- <param name="vad" value="out"/> -->
+    <!-- <param name="vad" value="both"/> -->
+    <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+    <!--
+	These are enabled to make the default config work better out of the box.
+	If you need more than ONE domain you'll need to not use these options.
+
+    -->
+    <!--all inbound reg will look in this domain for the users -->
+    <param name="force-register-domain" value="$${domain}"/>
+    <!--force the domain in subscriptions to this value -->
+    <param name="force-subscription-domain" value="$${domain}"/>
+    <!--all inbound reg will stored in the db using this domain -->
+    <param name="force-register-db-domain" value="$${domain}"/>
+
+    <!-- enable rtcp on every channel also can be done per leg basis with rtcp_audio_interval_msec variable set to passthru to pass it across a call-->
+    <!--<param name="rtcp-audio-interval-msec" value="5000"/>-->
+    <!--<param name="rtcp-video-interval-msec" value="5000"/>-->
+
+    <!--force suscription expires to a lower value than requested-->
+    <!--<param name="force-subscription-expires" value="60"/>-->
+    <!-- disable register and transfer which may be undesirable in a public switch -->
+    <!--<param name="disable-transfer" value="true"/>-->
+    <!--<param name="disable-register" value="true"/>-->
+
+    <!-- 
+	 enable-3pcc can be set to either 'true' or 'proxy', true accepts the call
+	 right away, proxy waits until the call has been answered then sends accepts
+    -->
+    <!--<param name="enable-3pcc" value="true"/>-->
+	
+    <!-- use at your own risk or if you know what this does.-->
+    <!--<param name="NDLB-force-rport" value="true"/>-->
+    <!--
+	Choose the realm challenge key. Default is auto_to if not set. 
+	
+	auto_from  - uses the from field as the value for the sip realm.
+	auto_to    - uses the to field as the value for the sip realm.
+	<anyvalue> - you can input any value to use for the sip realm.
+
+	If you want URL dialing to work you'll want to set this to auto_from.
+	
+	If you use any other value besides auto_to or auto_from you'll loose
+	the ability to do multiple domains.
+	
+	Note: comment out to restore the behavior before 2008-09-29
+
+    -->
+    <param name="challenge-realm" value="auto_from"/>
+    <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+    <!-- on inbound calls make the uuid of the session equal to the sip call id of that call -->
+    <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+    <!-- on outbound calls set the callid to match the uuid of the session -->
+    <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+    <!-- set to false disable this feature -->
+    <!--<param name="rtp-autofix-timing" value="false"/>-->
+
+    <!-- set this param to false if your gateway for some reason hates X- headers that it is supposed to ignore-->
+    <!--<param name="pass-callee-id" value="false"/>-->
+
+    <!-- clear clears them all or supply the name to add or the name prefixed with ~ to remove
+	 valid values:
+
+	 clear
+	 CISCO_SKIP_MARK_BIT_2833
+	 SONUS_SEND_INVALID_TIMESTAMP_2833
+
+    -->
+    <!--<param name="auto-rtp-bugs" data="clear"/>-->
+
+	 <!-- the following can be used as workaround with bogus SRV/NAPTR records -->
+	 <!--<param name="disable-srv" value="false" />-->
+	 <!--<param name="disable-naptr" value="false" />-->
+
+	<!-- The following can be used to fine-tune timers within sofia's transport layer 
+		 Those settings are for advanced users and can safely be left as-is -->
+		
+	<!-- Initial retransmission interval (in milliseconds).
+		Set the T1 retransmission interval used by the SIP transaction engine. 
+		The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G. 	 -->
+	<!-- <param name="timer-T1" value="500" /> -->
+	
+	<!--  Transaction timeout (defaults to T1 * 64).
+		Set the T1x64 timeout value used by the SIP transaction engine.
+		The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine. 
+		The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1. -->
+	<!-- <param name="timer-T1X64" value="32000" /> -->
+	
+	
+	<!-- Maximum retransmission interval (in milliseconds).
+		Set the maximum retransmission interval used by the SIP transaction engine. 
+		The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine. 
+		Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially 
+		until the timer B fires.  -->
+	<!-- <param name="timer-T2" value="4000" /> -->
+		
+	<!--
+		Transaction lifetime (in milliseconds).
+		Set the lifetime for completed transactions used by the SIP transaction engine. 
+		A completed transaction is kept around for the duration of T4 in order to catch late responses. 
+		The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K. -->
+	<!-- <param name="timer-T4" value="4000" /> -->
+    
+  </settings>
+</profile>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal/example.xml b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal/example.xml
new file mode 100644
index 0000000000..fc061f96d1
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/sip_profiles/internal/example.xml
@@ -0,0 +1,37 @@
+<include>
+  <!--<gateway name="asterlink.com">-->
+  <!--/// account username *required* ///-->
+  <!--<param name="username" value="cluecon"/>-->
+  <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+  <!--<param name="realm" value="asterlink.com"/>-->
+  <!--/// username to use in from: *optional* same as  username, if blank ///-->
+  <!--<param name="from-user" value="cluecon"/>-->
+  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
+  <!--<param name="from-domain" value="asterlink.com"/>-->
+  <!--/// account password *required* ///-->
+  <!--<param name="password" value="2007"/>--> 
+  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+  <!--<param name="extension" value="cluecon"/>-->
+  <!--/// proxy host: *optional* same as realm, if blank ///-->
+  <!--<param name="proxy" value="asterlink.com"/>-->
+  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+  <!--<param name="register-proxy" value="mysbc.com"/>-->
+  <!--/// expire in seconds: *optional* 3600, if blank ///-->
+  <!--<param name="expire-seconds" value="60"/>-->
+  <!--/// do not register ///-->
+  <!--<param name="register" value="false"/>-->
+  <!-- which transport to use for register -->
+  <!--<param name="register-transport" value="udp"/>-->
+  <!--How many seconds before a retry when a failure or timeout occurs -->
+  <!--<param name="retry-seconds" value="30"/>-->
+  <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+  <!--<param name="caller-id-in-from" value="false"/>-->
+  <!--extra sip params to send in the contact-->
+  <!--<param name="contact-params" value="tport=tcp"/>-->
+  <!-- Put the extension in the contact -->
+  <!--<param name="extension-in-contact" value="true"/>-->
+  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+  <!--<param name="ping" value="25"/>-->
+  <!--<param name="cid-type" value="rpid"/>-->
+  <!--</gateway>-->
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/skinny_profiles/internal.xml b/bbb-voice-conference/config/freeswitch/conf.orig/skinny_profiles/internal.xml
new file mode 100644
index 0000000000..eaa493c047
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/skinny_profiles/internal.xml
@@ -0,0 +1,21 @@
+<profile name="internal">
+  <settings>
+    <param name="domain" value="$${domain}"/>
+    <param name="ip" value="$${local_ip_v4}"/>
+    <param name="port" value="2000"/>
+    <param name="patterns-dialplan" value="XML"/>
+    <param name="patterns-context" value="skinny-patterns"/>
+    <param name="dialplan" value="XML"/>
+    <param name="context" value="default"/>
+    <param name="keep-alive" value="60"/>
+    <param name="date-format" value="D/M/Y"/>
+    <param name="odbc-dsn" value=""/>
+    <param name="debug" value="4"/>
+  </settings>
+  <device-types>
+    <device-type id="Cisco ATA 186">
+        <param name="firmware-version" value="ATA030101SCCP04"/>
+    </device-type>
+  </device-types>
+</profile>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/tetris.ttml b/bbb-voice-conference/config/freeswitch/conf.orig/tetris.ttml
new file mode 100644
index 0000000000..2e33a5d69a
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/tetris.ttml
@@ -0,0 +1,69 @@
+%(428,0,659,494)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(107,0,659,494)
+%(107,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(428,0,330,440)
+%(214,0,330,440)
+%(214,0,523,440)
+%(428,0,659,523)
+%(214,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(214,0,494,440)
+%(214,0,494,415)
+%(214,0,523,440)
+%(428,0,587,494)
+%(428,0,659,523)
+%(428,0,523,440)
+%(428,0,330,440)
+%(857,0,330,440)
+%(214,0,0,0)
+%(428,0,587,349)
+%(214,0,698,440)
+%(214,0,880,523)
+%(107,0,880,523)
+%(107,0,880,523)
+%(214,0,784,494)
+%(214,0,698,440)
+%(642,0,659,392)
+%(214,0,523,330)
+%(214,0,659,392)
+%(107,0,659,440)
+%(107,0,659,392)
+%(214,0,587,349)
+%(214,0,523,330)
+%(214,0,494,415)
+%(214,0,494,330)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(214,0,587,415)
+%(214,0,659,523)
+%(214,0,659,415)
+%(214,0,523,440)
+%(214,0,523,330)
+%(428,0,440,330)
+%(428,0,440,330)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,247,208)
+%(857,0,262,220)
+%(857,0,220,165)
+%(857,0,208,165)
+%(428,0,247,208)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,208,165)
+%(428,0,262,220)
+%(428,0,330,262)
+%(857,0,440,330)
+%(857,0,415,294)
+%(857,0,0,0)
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/vars.xml b/bbb-voice-conference/config/freeswitch/conf.orig/vars.xml
new file mode 100644
index 0000000000..7ec4d0475c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/vars.xml
@@ -0,0 +1,241 @@
+<include>
+  <!-- Preprocessor Variables
+       These are introduced when configuration strings must be consistent across modules. 
+       NOTICE: YOU CAN NOT COMMENT OUT AN X-PRE-PROCESS line, Remove the line instead.
+       
+       WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
+       
+       YOU SHOULD CHANGE THIS default_password value if you don't want to be subject to any
+       toll fraud in the future.  It's your responsibility to secure your own system.
+       
+       This default config is used to demonstrate the feature set of FreeSWITCH.
+       
+       WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
+  -->
+  <X-PRE-PROCESS cmd="set" data="default_password=1234"/>
+  <!-- Did you change it yet? -->
+
+  <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
+
+  <!--
+      This setting is what sets the default domain FreeSWITCH will use if all else fails.
+      
+      FreeSWICH will default to $${local_ip_v4} unless changed.  Changing this setting does 
+      affect the sip authentication.  Please review conf/directory/default.xml for more
+      information on this topic.
+  -->
+  <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
+  <X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
+  <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+  <X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
+
+  <!--
+      Enable ZRTP globally you can override this on a per channel basis
+      
+      http://wiki.freeswitch.org/wiki/ZRTP (on how to enable zrtp)
+  -->
+  <X-PRE-PROCESS cmd="set" data="zrtp_secure_media=true"/>
+
+  <!-- 
+       Examples of codec options: (module must be compiled and loaded)
+       
+       codecname[@8000h|16000h|32000h[@XXi]]
+       
+       XX is the frame size must be multples allowed for the codec
+       FreeSWITCH can support 10-120ms on some codecs. 
+       We do not support exceeding the MTU of the RTP packet.
+
+
+       iLBC@30i         - iLBC using mode=30 which will win in all cases.
+       DVI4@8000h@20i   - IMA ADPCM 8kHz using 20ms ptime. (multiples of 10)
+       DVI4@16000h@40i  - IMA ADPCM 16kHz using 40ms ptime. (multiples of 10)
+       speex@8000h@20i  - Speex 8kHz using 20ms ptime.
+       speex@16000h@20i - Speex 16kHz using 20ms ptime.
+       speex@32000h@20i - Speex 32kHz using 20ms ptime.
+       BV16             - BroadVoice 16kb/s narrowband, 8kHz
+       BV32             - BroadVoice 32kb/s wideband, 16kHz
+       G7221@16000h     - G722.1 16kHz (aka Siren 7)
+       G7221@32000h     - G722.1C 32kHz (aka Siren 14)
+       CELT@32000h      - CELT 32kHz, only 10ms supported
+       CELT@48000h      - CELT 48kHz, only 10ms supported
+       GSM@40i          - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
+       G722             - G722 16kHz using default 20ms ptime. (multiples of 10)
+       PCMU             - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)
+       PCMA             - G711 8kHz alaw using default 20ms ptime. (multiples of 10)
+       G726-16          - G726 16kbit adpcm using default 20ms ptime. (multiples of 10)
+       G726-24          - G726 24kbit adpcm using default 20ms ptime. (multiples of 10)
+       G726-32          - G726 32kbit adpcm using default 20ms ptime. (multiples of 10)
+       G726-40          - G726 40kbit adpcm using default 20ms ptime. (multiples of 10)
+       AAL2-G726-16     - Same as G726-16 but using AAL2 packing. (multiples of 10)
+       AAL2-G726-24     - Same as G726-24 but using AAL2 packing. (multiples of 10)
+       AAL2-G726-32     - Same as G726-32 but using AAL2 packing. (multiples of 10)
+       AAL2-G726-40     - Same as G726-40 but using AAL2 packing. (multiples of 10)
+       LPC              - LPC10 using 90ms ptime (only supports 90ms at this time in FreeSWITCH)
+       L16              - L16 isn't recommended for VoIP but you can do it. L16 can exceed the MTU rather quickly.
+       
+       These are the passthru audio codecs:
+       
+       G729             - G729 in passthru mode. (mod_g729)
+       G723             - G723.1 in passthru mode. (mod_g723_1)
+       AMR              - AMR in passthru mode. (mod_amr)
+       
+       These are the passthru video codecs: (mod_h26x)
+       
+       H261             - H.261 Video
+       H263             - H.263 Video
+       H263-1998        - H.263-1998 Video
+       H263-2000        - H.263-2000 Video
+       H264             - H.264 Video
+       
+       RTP Dynamic Payload Numbers currently used in FreeSWITCH and what for.
+
+       96  - AMR
+       97  - iLBC (30)
+       98  - iLBC (20)
+       99  - Speex 8kHz, 16kHz, 32kHz
+       100 -
+       101 - telephone-event
+       102 -
+       103 - 
+       104 - 
+       105 - 
+       106 - BV16
+       107 - G722.1 (16kHz)
+       108 -
+       109 -
+       110 -
+       111 -
+       112 -
+       113 -
+       114 - CELT 32kHz, 48kHz
+       115 - G722.1C (32kHz)
+       116 -
+       117 - SILK 8kHz
+       118 - SILK 12kHz
+       119 - SILK 16kHz
+       120 - SILK 24kHz
+       121 - AAL2-G726-40 && G726-40
+       122 - AAL2-G726-32 && G726-32
+       123 - AAL2-G726-24 && G726-24
+       124 - AAL2-G726-16 && G726-16
+       125 - 
+       126 -
+       127 - BV32
+
+  -->
+  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=speex@16000h@20i,speex@8000h@20iG7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
+  <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
+
+  <!--
+      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 
+  --> 
+
+  <X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
+  <X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
+  <!-- 
+       THIS IS ONLY USED FOR DINGALING
+
+       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: dingaling.conf.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
+
+  <!-- NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+       
+       If you're going to load test FreeSWITCH please input real IP addresses
+       for external_rtp_ip and external_sip_ip
+  -->
+
+  <!-- external_rtp_ip
+       Can be an one of:
+           ip address: "12.34.56.78"
+           a stun server lookup: "stun:stun.server.com"
+           a DNS name: "host:host.server.com"
+       where fs.mydomain.com is a DNS A record-useful when fs is on
+       a dynamic IP address, and uses a dynamic DNS updater.
+       If unspecified, the bind_server_ip value is used.
+       Used by: sofia.conf.xml dingaling.conf.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
+
+  <!-- external_sip_ip
+      Used as the public IP address for SDP.
+       Can be an one of:
+           ip address: "12.34.56.78"
+           a stun server lookup: "stun:stun.server.com"
+           a DNS name: "host:host.server.com"
+       where fs.mydomain.com is a DNS A record-useful when fs is on
+       a dynamic IP address, and uses a dynamic DNS updater.
+       If unspecified, the bind_server_ip value is used.
+       Used by: sofia.conf.xml dingaling.conf.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+
+  <!-- unroll-loops
+       Used to turn on sip loopback unrolling.
+  --> 
+  <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
+
+  <!-- outbound_caller_id and outbound_caller_name
+       The caller ID telephone number we should use when calling out.
+       Used by: conference.conf.xml and user directory for default
+       outbound callerid name and number.
+  -->
+  <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
+  <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
+
+  <!-- various debug and defaults -->
+  <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
+  <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+  <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
+  <X-PRE-PROCESS cmd="set" data="default_country=US"/>
+
+  <X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2200,400,450)"/>
+  <X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440.0,480.0)"/>
+  <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440.0,0.0)"/>
+  <X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425.0,0.0)"/>
+  <X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425,0)"/>
+  <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+  <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+  <!--
+      Setting up your default sip provider is easy.
+      Below are some values that should work in most cases.
+      
+      These are for conf/directory/default/example.com.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/>
+  <!-- true or false -->
+  <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
+
+  <!--
+      SIP and TLS settings. http://wiki.freeswitch.org/wiki/Tls
+  -->
+  <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1"/>
+
+  <!-- Internal SIP Profile -->
+  <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
+  <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
+  <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
+  <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
+  <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
+
+  <!-- External SIP Profile -->
+  <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
+  <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
+  <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
+  <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
+  <X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/voicemail.tpl b/bbb-voice-conference/config/freeswitch/conf.orig/voicemail.tpl
new file mode 100644
index 0000000000..aede2b8f08
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/voicemail.tpl
@@ -0,0 +1,42 @@
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}@${voicemail_domain}>
+To: <${voicemail_email}>
+Subject: Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}
+X-Priority: ${voicemail_priority}
+X-Mailer: FreeSWITCH
+
+Content-Type: multipart/alternative; 
+	boundary="000XXX000"
+
+--000XXX000
+Content-Type: text/plain; charset=ISO-8859-1; Format=Flowed
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+Created: ${voicemail_time}
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}>
+Duration: ${voicemail_message_len}
+Account: ${voicemail_account}@${voicemail_domain}
+
+--000XXX000
+Content-Type: text/html; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}</title>
+<meta content="text/html; charset=iso-8859-1" http-equiv="content-type"/>
+</head>
+<body>
+
+<font face=arial>
+<b>Message From "${voicemail_caller_id_name}" <A HREF="tel:${voicemail_caller_id_number}">${voicemail_caller_id_number}</A></b><br>
+<hr noshade size=1>
+Created: ${voicemail_time}<br>
+Duration: ${voicemail_message_len}<br>
+Account: ${voicemail_account}@${voicemail_domain}<br>
+
+</body>
+</html>
+--000XXX000--
diff --git a/bbb-voice-conference/config/freeswitch/conf.orig/web-vm.tpl b/bbb-voice-conference/config/freeswitch/conf.orig/web-vm.tpl
new file mode 100644
index 0000000000..1c6563320b
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf.orig/web-vm.tpl
@@ -0,0 +1,13 @@
+<title>FreeSWITCH Voicemail</title>
+<body bgcolor=eeeeee>
+
+<table bgcolor=ffffff width=75% align=center style="border-style:inset;border-width:2px">
+<tr><td bgcolor=1010ff align=center valign=center style="border-style:inset;border-width:2px">
+<font face=arial size=+2 color=ffffff>Voicemail Messages</font>
+</td></tr>
+<tr><td>
+
+<!break>
+
+</td></tr>
+</table>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/acl.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/acl.conf.xml
new file mode 100644
index 0000000000..a1708a55f3
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/acl.conf.xml
@@ -0,0 +1,29 @@
+<configuration name="acl.conf" description="Network Lists">
+  <network-lists>
+    <!-- 
+	 These ACL's are automatically created on startup.
+
+	 rfc1918.auto  - RFC1918 Space
+	 nat.auto      - RFC1918 Excluding your local lan.
+	 localnet.auto - ACL for your local lan.
+	 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>
+
+    <!--
+	This will traverse the directory adding all users 
+	with the cidr= tag to this ACL, when this ACL matches
+	the users variables and params apply as if they 
+	digest authenticated.
+    -->
+    <list name="domains" default="deny">
+      <node type="allow" domain="$${domain}"/>
+    </list>
+
+  </network-lists>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/cdr_csv.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/cdr_csv.conf.xml
new file mode 100644
index 0000000000..bcefd460b4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/cdr_csv.conf.xml
@@ -0,0 +1,22 @@
+<configuration name="cdr_csv.conf" description="CDR CSV Format">
+  <settings>
+    <!-- 'cdr-csv' will always be appended to log-base -->
+    <!--<param name="log-base" value="/var/log"/>-->
+    <param name="default-template" value="example"/>
+    <!-- This is like the info app but after the call is hung up -->
+    <!--<param name="debug" value="true"/>-->
+    <param name="rotate-on-hup" value="true"/>
+    <!-- may be a b or ab -->
+    <param name="legs" value="a"/>
+	<!-- Only log in Master.csv -->
+	<!-- <param name="master-file-only" value="true"/> -->
+  </settings>
+  <templates>
+    <template name="sql">INSERT INTO cdr VALUES ("${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}");</template>
+    <template name="example">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}"</template>
+    <template name="snom">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}", "${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${call_clientcode}","${sip_rtp_rxstat}","${sip_rtp_txstat}","${sofia_record_file}"</template>
+    <template name="linksys">"${caller_id_name}","${caller_id_number}","${destination_number}","${context}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${uuid}","${bleg_uuid}","${accountcode}","${read_codec}","${write_codec}","${sip_user_agent}","${sip_p_rtp_stat}"</template>
+    <template name="asterisk">"${accountcode}","${caller_id_number}","${destination_number}","${context}","${caller_id}","${channel_name}","${bridge_channel}","${last_app}","${last_arg}","${start_stamp}","${answer_stamp}","${end_stamp}","${duration}","${billsec}","${hangup_cause}","${amaflags}","${uuid}","${userfield}"</template>
+  </templates>
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/conference.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/conference.conf.xml
new file mode 100644
index 0000000000..fa3e87a139
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/conference.conf.xml
@@ -0,0 +1,189 @@
+<!-- http://wiki.freeswitch.org/wiki/Mod_conference --> 
+<!-- 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 certain presence on startup . -->
+  <advertise>
+    <room name="3001@$${domain}" status="FreeSWITCH"/>
+  </advertise>
+
+  <!-- These are the default keys that map when you do not specify a caller control group -->	
+  <!-- Note: none and default are reserved names for group names.  Disabled if dist-dtmf member flag is set. -->	
+  <caller-controls>
+    <group name="default">
+      <control action="mute" digits="0"/>
+      <control action="deaf mute" digits="*"/>
+      <control action="energy up" digits="9"/>
+      <control action="energy equ" digits="8"/>
+      <control action="energy dn" digits="7"/>
+      <control action="vol talk up" digits="3"/>
+      <control action="vol talk zero" digits="2"/>
+      <control action="vol talk dn" digits="1"/>
+      <control action="vol listen up" digits="6"/>
+      <control action="vol listen zero" digits="5"/>
+      <control action="vol listen dn" digits="4"/>
+      <control action="hangup" digits="#"/>
+    </group>
+  </caller-controls>
+
+  <!-- Profiles are collections of settings you can reference by name. -->
+  <profiles>
+    <!--If no profile is specified it will default to "default"-->
+    <profile name="default">
+      <!-- Domain (for presence) -->
+      <param name="domain" value="$${domain}"/>
+      <!-- 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"/>
+
+      <!--Can be | delim of waste|mute|deaf|dist-dtmf waste will always transmit data to each channel
+          even during silence.  dist-dtmf propagates dtmfs to all other members, but channel controls
+	  via dtmf will be disabled. -->
+      <param name="member-flags" value="mute"/>
+
+      <!-- Name of the caller control group to use for this profile -->
+      <!-- <param name="caller-controls" value="some name"/> -->
+      <!-- TTS Engine to use -->
+      <!--<param name="tts-engine" value="cepstral"/>-->
+      <!-- TTS Voice to use -->
+      <!--<param name="tts-voice" value="david"/>-->
+
+      <!-- If TTS is enabled all audio-file params beginning with -->
+      <!-- 'say:' will be considered text to say with TTS -->
+      <!-- Set a default path here so you can use relative paths in the other sound params-->
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <!-- File to play to acknowledge succees -->
+      <!--<param name="ack-sound" value="beep.wav"/>-->
+      <!-- File to play to acknowledge failure -->
+      <!--<param name="nack-sound" value="beeperr.wav"/>-->
+      <!-- File to play to acknowledge muted -->
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <!-- File to play to acknowledge unmuted -->
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <!-- File to play if you are alone in the conference -->
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <!-- File to play endlessly (nobody will ever be able to talk) -->
+      <!--<param name="perpetual-sound" value="perpetual.wav"/>-->
+      <!-- File to play when you're alone (music on hold)-->
+      <param name="moh-sound" value="$${hold_music}"/>
+      <!-- File to play when you join the conference -->
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <!-- File to play when you leave the conference -->
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <!-- File to play when you ae ejected from the conference -->
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <!-- File to play when the conference is locked -->
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <!-- File to play when the conference is locked during the call-->
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <!-- File to play when the conference is unlocked during the call-->
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <!-- File to play to prompt for a pin -->
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <!-- File to play to when the pin is invalid -->
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <!-- Conference pin -->
+      <!--<param name="pin" value="12345"/>-->
+      <!-- Default Caller ID Name for outbound calls -->
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <!-- Default Caller ID Number for outbound calls -->
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <!-- Suppress start and stop talking events -->
+      <!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
+      <!-- enable comfort noise generation -->
+      <param name="comfort-noise" value="true"/>
+      <!-- Uncomment auto-record to toggle recording every conference call. -->
+      <!-- Another valid value is   shout://user:pass@server.com/live.mp3   -->
+      <!--
+      <param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+      -->
+    </profile>
+
+    <profile name="wideband">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="16000"/>
+      <param name="interval" value="20"/>
+      <param name="energy-level" value="300"/>
+      <param name="member-flags" value="mute"/>
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+      <!--<param name="tts-engine" value="flite"/>-->
+      <!--<param name="tts-voice" value="kal16"/>-->
+    </profile>
+
+    <profile name="ultrawideband">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="32000"/>
+      <param name="interval" value="20"/>
+      <param name="energy-level" value="300"/>
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+      <!--<param name="tts-engine" value="flite"/>-->
+      <!--<param name="tts-voice" value="kal16"/>-->
+    </profile>
+
+    <profile name="cdquality">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="48000"/>
+      <param name="interval" value="10"/>
+      <param name="energy-level" value="300"/>
+      <param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
+      <param name="muted-sound" value="conference/conf-muted.wav"/>
+      <param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
+      <param name="alone-sound" value="conference/conf-alone.wav"/>
+      <param name="moh-sound" value="$${hold_music}"/>
+      <param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
+      <param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
+      <param name="kicked-sound" value="conference/conf-kicked.wav"/>
+      <param name="locked-sound" value="conference/conf-locked.wav"/>
+      <param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
+      <param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
+      <param name="pin-sound" value="conference/conf-pin.wav"/>
+      <param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
+      <param name="caller-id-name" value="$${outbound_caller_name}"/>
+      <param name="caller-id-number" value="$${outbound_caller_id}"/>
+      <param name="comfort-noise" value="true"/>
+    </profile>
+
+    <profile name="sla">
+      <param name="domain" value="$${domain}"/>
+      <param name="rate" value="16000"/>
+      <param name="interval" value="20"/>
+      <param name="caller-controls" value="none"/>
+      <param name="energy-level" value="200"/>
+      <param name="moh-sound" value="silence"/>
+      <param name="comfort-noise" value="true"/>
+    </profile>
+
+  </profiles>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/console.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/console.conf.xml
new file mode 100644
index 0000000000..95d42e4ec0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/console.conf.xml
@@ -0,0 +1,58 @@
+<configuration name="console.conf" description="Console Logger">
+  <!-- pick a file name, a function name or 'all' -->
+  <!-- map as many as you need for specific debugging -->
+  <mappings>
+    <!-- 
+      name can be a file name, function name or 'all' 
+      value is one or more of debug,info,notice,warning,err,crit,alert,all
+      See examples below
+
+
+      The following map is the default, which is all debug levels enabled:
+      <map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+
+
+      Example: the following turns on debugging for error and critical levels only
+      <map name="all" value="err,crit"/>
+
+      NOTE: using map name="all" will override any other settings!  If you 
+            want a more specific set of console messages then you will need
+            to specify which files and/or functions you want to have debug
+            messages.  One option is to turn on just the more critical 
+            messages with map name="all", then specify the other types of 
+            console messages you want to see for various files and functions.
+
+      Example: turn on ERROR, CRIT, ALERT for all modules, then specify other
+               levels for various modules and functions
+
+        <map name="all" value="err,crit,alert"/>
+        <map name="switch_loadable_module_process" value="all"/>
+        <map name="mod_local_stream.c" value="warning,debug"/>
+        <map name="mod_sndfile.c" value="warning,info,debug"/>
+     -->
+    <map name="all" value="console,debug,info,notice,warning,err,crit,alert"/>
+    <map name="sofia.c"                     value="notice"/>
+    <map name="switch_core_state_machine.c" value="notice"/>      
+    
+    <!--
+      You can use or modify this sample set of mappings.  It turns on higher
+      level messages for all modules and then specifies extra lower level
+      messages for OpenZAP, Sofia, and switch core messages.
+      
+    <map name="all"                         value="warning,err,crit,alert"/>
+    <map name="zap_analog.c"                value="all"/>
+    <map name="zap_io.c"                    value="all"/>
+    <map name="zap_isdn.c"                  value="all"/>
+    <map name="zap_zt.c"                    value="all"/>
+    <map name="mod_openzap"                 value="all"/>
+    <map name="sofia.c"                     value="notice"/>
+    <map name="switch_core_state_machine.c" value="all"/>      
+    
+    -->
+  </mappings>
+  <settings>
+    <!-- comment or set to false for no color logging -->
+    <param name="colorize" value="true"/>
+    <param name="loglevel" value="$${console_loglevel}"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/enum.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/enum.conf.xml
new file mode 100644
index 0000000000..0304d0dacd
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/enum.conf.xml
@@ -0,0 +1,13 @@
+<configuration name="enum.conf" description="ENUM Module">
+  <settings>
+    <param name="default-root" value="e164.org"/>
+    <param name="default-isn-root" value="freenum.org"/>
+    <param name="query-timeout" value="10"/>
+    <param name="auto-reload" value="true"/>
+  </settings>
+
+  <routes>
+    <route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1"/>
+    <!--<route service="E2U+XMPP" regex="XMPP:(.*)" replace="dingaling/$${xmpp_server_profile}/$1"/>-->
+  </routes>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/event_socket.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/event_socket.conf.xml
new file mode 100644
index 0000000000..227b8860f8
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/event_socket.conf.xml
@@ -0,0 +1,9 @@
+<configuration name="event_socket.conf" description="Socket Client">
+  <settings>
+    <param name="nat-map" value="false"/>
+    <param name="listen-ip" value="127.0.0.1"/>
+    <param name="listen-port" value="8021"/>
+    <param name="password" value="ClueCon"/>
+    <param name="apply-inbound-acl" value="localnet.auto"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/local_stream.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/local_stream.conf.xml
new file mode 100644
index 0000000000..94a5665392
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/local_stream.conf.xml
@@ -0,0 +1,49 @@
+<configuration name="local_stream.conf" description="stream files from local dir">
+  <!-- fallback to default if requested moh class isn't found -->
+  <directory name="default" path="$${sounds_dir}/music/8000">
+    <param name="rate" value="8000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+    <!-- list of short files to break in with every so often -->
+    <!--<param name="chime-list" value="file1.wav,file2.wav"/>-->
+    <!-- frequency of break-in (seconds)-->
+    <!--<param name="chime-freq" value="30"/>-->
+    <!-- limit to how many seconds the file will play -->
+    <!--<param name="chime-max" value="500"/>-->
+  </directory>
+
+  <directory name="moh/8000" path="$${sounds_dir}/music/8000">
+    <param name="rate" value="8000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+
+  <directory name="moh/16000" path="$${sounds_dir}/music/16000">
+    <param name="rate" value="16000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+
+  <directory name="moh/32000" path="$${sounds_dir}/music/32000">
+    <param name="rate" value="32000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="20"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+  <!--
+  <directory name="moh/48000" path="$${sounds_dir}/music/48000">
+    <param name="rate" value="48000"/>
+    <param name="shuffle" value="true"/>
+    <param name="channels" value="1"/>
+    <param name="interval" value="10"/>
+    <param name="timer-name" value="soft"/>
+  </directory>
+  -->
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/logfile.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/logfile.conf.xml
new file mode 100644
index 0000000000..57f276c4ea
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/logfile.conf.xml
@@ -0,0 +1,26 @@
+<configuration name="logfile.conf" description="File Logging">
+  <settings>
+   <!-- true to auto rotate on HUP, false to open/close -->
+   <param name="rotate-on-hup" value="true"/>
+  </settings>
+  <profiles>
+    <profile name="default">
+      <settings>
+        <!-- File to log to -->
+	<!--<param name="logfile" value="/var/log/freeswitch.log"/>-->
+        <!-- At this length in bytes rotate the log file (0 for never) -->
+        <param name="rollover" value="10485760"/>
+		<!-- Uncomment to prefix all log lines by the session's uuid  -->
+		<!-- <param name="uuid" value="true" /> -->
+      </settings>
+      <mappings>
+	<!-- 
+	     name can be a file name, function name or 'all' 
+	     value is one or more of debug,info,notice,warning,err,crit,alert,all
+	     Please see comments in console.conf.xml for more information
+	-->
+	<map name="all" value="debug,info,notice,warning,err,crit,alert"/>
+      </mappings>
+    </profile>
+  </profiles>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/modules.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/modules.conf.xml
new file mode 100644
index 0000000000..94961f1d81
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/modules.conf.xml
@@ -0,0 +1,110 @@
+<configuration name="modules.conf" description="Modules">
+  <modules>
+    
+    <!-- Loggers (I'd load these first) -->
+    <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"/> 
+
+    <!-- XML Interfaces -->
+    <!-- <load module="mod_xml_rpc"/> -->
+    <!-- <load module="mod_xml_curl"/> -->
+    <!-- <load module="mod_xml_cdr"/> -->
+
+    <!-- Event Handlers -->
+    <load module="mod_cdr_csv"/>
+    <!-- <load module="mod_event_multicast"/> -->
+    <load module="mod_event_socket"/>
+    <!-- <load module="mod_zeroconf"/> -->
+
+    <!-- Directory Interfaces -->
+    <!-- <load module="mod_ldap"/> -->
+
+    <!-- Endpoints -->
+    <!-- <load module="mod_dingaling"/> -->
+    <!-- <load module="mod_portaudio"/> -->
+    <!-- <load module="mod_alsa"/> -->
+    <load module="mod_sofia"/>
+    <load module="mod_loopback"/>
+    <!-- <load module="mod_woomera"/> -->
+    <!-- <load module="mod_openzap"/> -->
+    <!-- <load module="mod_unicall"/> -->
+    <!-- <load module="mod_skinny"/> -->
+
+    <!-- Applications -->
+    <load module="mod_commands"/>
+    <load module="mod_conference"/>
+    <load module="mod_dptools"/>
+    <load module="mod_expr"/>
+    <!-- <load module="mod_fifo"/> -->
+    <!-- <load module="mod_voicemail"/> -->
+    <!--<load module="mod_directory"/>-->
+    <!--<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_spy"/>-->
+
+    <!-- SNOM Module -->
+    <!--<load module="mod_snom"/>-->
+
+    <!-- Dialplan Interfaces -->
+    <!-- <load module="mod_dialplan_directory"/> -->
+    <load module="mod_dialplan_xml"/>
+    <load module="mod_dialplan_asterisk"/>
+
+    <!-- Codec Interfaces -->
+    <!-- <load module="mod_spandsp"/> -->
+    <load module="mod_g723_1"/>
+    <load module="mod_g729"/>
+    <load module="mod_amr"/>
+    <load module="mod_ilbc"/>
+    <load module="mod_speex"/>
+    <load module="mod_h26x"/>
+    <load module="mod_siren"/>
+    <!--<load module="mod_celt"/>-->
+
+    <!-- File Format Interfaces -->
+    <load module="mod_sndfile"/>
+    <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 -->
+
+    <!-- Languages -->
+    <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_pocketsphinx"/> -->
+    <!-- <load module="mod_cepstral"/> -->
+    <!-- <load module="mod_tts_commandline"/> -->
+    <!-- <load module="mod_rss"/> -->
+    
+    <!-- Say -->
+    <load module="mod_say_en"/>
+    <load module="mod_say_ru"/>
+    <!-- <load module="mod_say_zh"/> -->
+
+    <!-- Third party modules -->
+    <!--<load module="mod_nibblebill"/>-->
+
+  </modules>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/post_load_modules.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/post_load_modules.conf.xml
new file mode 100644
index 0000000000..8f4e132fa4
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/post_load_modules.conf.xml
@@ -0,0 +1,4 @@
+<configuration name="post_load_modules.conf" description="Modules">
+  <modules>
+  </modules>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/sofia.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/sofia.conf.xml
new file mode 100644
index 0000000000..24252d08ce
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/sofia.conf.xml
@@ -0,0 +1,18 @@
+<configuration name="sofia.conf" description="sofia Endpoint">
+
+  <global_settings>
+    <param name="log-level" value="0"/>
+    <!-- <param name="auto-restart" value="false"/> -->
+    <param name="debug-presence" value="0"/>
+  </global_settings>
+
+  <!--
+      The rabbit hole goes deep.  This includes all the
+      profiles in the sip_profiles directory that is up
+      one level from this directory.
+  -->
+  <profiles>
+    <X-PRE-PROCESS cmd="include" data="../sip_profiles/*.xml"/>
+  </profiles>
+
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/spidermonkey.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/spidermonkey.conf.xml
new file mode 100644
index 0000000000..dbd54a7711
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/spidermonkey.conf.xml
@@ -0,0 +1,9 @@
+<configuration name="spidermonkey.conf" description="Spider Monkey JavaScript Plug-Ins">
+  <modules>
+    <load module="mod_spidermonkey_teletone"/>
+    <load module="mod_spidermonkey_core_db"/>
+    <load module="mod_spidermonkey_socket"/>
+    <load module="mod_spidermonkey_curl"/>
+    <!--<load module="mod_spidermonkey_odbc"/>-->
+  </modules>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/switch.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/switch.conf.xml
new file mode 100644
index 0000000000..03bc993372
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/switch.conf.xml
@@ -0,0 +1,85 @@
+<configuration name="switch.conf" description="Core Configuration">
+
+  <cli-keybindings>
+    <key name="1" value="help"/>
+    <key name="2" value="status"/>
+    <key name="3" value="show channels"/>
+    <key name="4" value="show calls"/>
+    <key name="5" value="sofia status"/>
+    <key name="6" value="reloadxml"/>
+    <key name="7" value="console loglevel 0"/>
+    <key name="8" value="console loglevel 7"/>
+    <key name="9" value="sofia status profile internal"/>
+    <key name="10" value="sofia profile internal siptrace on"/>
+    <key name="11" value="sofia profile internal siptrace off"/>
+    <key name="12" value="version"/>
+  </cli-keybindings> 
+  
+  <settings>
+    <!--Colorize the Console -->
+    <param name="colorize-console" value="true"/>
+    <!--Most channels to allow at once -->
+    <param name="max-sessions" value="1000"/>
+    <!--Most channels to create per second -->
+    <param name="sessions-per-second" value="30"/>
+    <!-- Default Global Log Level - value is one of debug,info,notice,warning,err,crit,alert -->
+    <param name="loglevel" value="debug"/>
+	<!-- The min-dtmf-duration specifies the minimum DTMF duration to use on 
+	     outgoing events. Events shorter than this will be increased in duration
+		 to match min_dtmf_duration. You cannot configure a dtmf duration on a 
+		 profile that is less than this setting. You may increase this value,
+		 but cannot set it lower than 400. This value cannot exceed 
+		 max-dtmf-duration. -->
+    <!--<param name="min-dtmf-duration" value="400"/>-->
+	<!-- The max-dtmf-duration caps the playout of a DTMF event at the specified
+	     duration. Events exceeding this duration will be truncated to this
+		 duration. You cannot configure a duration on a profile that exceeds
+		 this setting. This setting can be lowered, but cannot exceed 192000. 
+		 This setting cannot be set lower than min_dtmf_duration. -->
+    <!--<param name="max-dtmf-duration" value="192000"/>-->
+	<!-- The default_dtmf_duration specifies the DTMF duration to use on
+	     originated DTMF events or on events that are received without a
+		 duration specified. This value can be increased or lowered. This
+		 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"/>
+ 
+         Donot 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" /> -->
+  </settings>
+
+</configuration>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/syslog.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/syslog.conf.xml
new file mode 100644
index 0000000000..636a12c8c1
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/syslog.conf.xml
@@ -0,0 +1,18 @@
+<configuration name="syslog.conf" description="Syslog Logger">
+  <!-- SYSLOG -->
+  <!-- emerg   - system is unusable  -->
+  <!-- alert   - action must be taken immediately  -->
+  <!-- crit    - critical conditions  -->
+  <!-- err     - error conditions  -->
+  <!-- warning - warning conditions  -->
+  <!-- notice  - normal, but significant, condition  -->
+  <!-- info    - informational message  -->
+  <!-- debug   - debug-level message -->
+  <settings>
+    <param name="facility" value="user"/>
+    <param name="ident" value="freeswitch"/>
+    <param name="loglevel" value="warning"/>
+	<!-- Uncomment the following line to log uuids in syslogs (when applicable) -->
+    <!-- <param name="uuid" value="true"/> -->
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/timezones.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/timezones.conf.xml
new file mode 100644
index 0000000000..85c805ff25
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/timezones.conf.xml
@@ -0,0 +1,551 @@
+<configuration name="timezones.conf" description="Timezones">
+    <timezones>
+	<zone name="Africa/Abidjan" value="GMT0" />
+	<zone name="Africa/Accra" value="GMT0" />
+	<zone name="Africa/Addis_Ababa" value="EAT-3" />
+	<zone name="Africa/Algiers" value="CET-1" />
+	<zone name="Africa/Asmara" value="EAT-3" />
+	<zone name="Africa/Asmera" value="EAT-3" />
+	<zone name="Africa/Bamako" value="GMT0" />
+	<zone name="Africa/Bangui" value="WAT-1" />
+	<zone name="Africa/Banjul" value="GMT0" />
+	<zone name="Africa/Bissau" value="GMT0" />
+	<zone name="Africa/Blantyre" value="CAT-2" />
+	<zone name="Africa/Brazzaville" value="WAT-1" />
+	<zone name="Africa/Bujumbura" value="CAT-2" />
+	<zone name="Africa/Cairo" value="EEST" />
+	<zone name="Africa/Casablanca" value="WET0" />
+	<zone name="Africa/Ceuta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Africa/Conakry" value="GMT0" />
+	<zone name="Africa/Dakar" value="GMT0" />
+	<zone name="Africa/Dar_es_Salaam" value="EAT-3" />
+	<zone name="Africa/Djibouti" value="EAT-3" />
+	<zone name="Africa/Douala" value="WAT-1" />
+	<zone name="Africa/El_Aaiun" value="WET0" />
+	<zone name="Africa/Freetown" value="GMT0" />
+	<zone name="Africa/Gaborone" value="CAT-2" />
+	<zone name="Africa/Harare" value="CAT-2" />
+	<zone name="Africa/Johannesburg" value="SAST-2" />
+	<zone name="Africa/Kampala" value="EAT-3" />
+	<zone name="Africa/Khartoum" value="EAT-3" />
+	<zone name="Africa/Kigali" value="CAT-2" />
+	<zone name="Africa/Kinshasa" value="WAT-1" />
+	<zone name="Africa/Lagos" value="WAT-1" />
+	<zone name="Africa/Libreville" value="WAT-1" />
+	<zone name="Africa/Lome" value="GMT0" />
+	<zone name="Africa/Luanda" value="WAT-1" />
+	<zone name="Africa/Lubumbashi" value="CAT-2" />
+	<zone name="Africa/Lusaka" value="CAT-2" />
+	<zone name="Africa/Malabo" value="WAT-1" />
+	<zone name="Africa/Maputo" value="CAT-2" />
+	<zone name="Africa/Maseru" value="SAST-2" />
+	<zone name="Africa/Mbabane" value="SAST-2" />
+	<zone name="Africa/Mogadishu" value="EAT-3" />
+	<zone name="Africa/Monrovia" value="GMT0" />
+	<zone name="Africa/Nairobi" value="EAT-3" />
+	<zone name="Africa/Ndjamena" value="WAT-1" />
+	<zone name="Africa/Niamey" value="WAT-1" />
+	<zone name="Africa/Nouakchott" value="GMT0" />
+	<zone name="Africa/Ouagadougou" value="GMT0" />
+	<zone name="Africa/Porto-Novo" value="WAT-1" />
+	<zone name="Africa/Sao_Tome" value="GMT0" />
+	<zone name="Africa/Timbuktu" value="GMT0" />
+	<zone name="Africa/Tripoli" value="EET-2" />
+	<zone name="Africa/Tunis" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Africa/Windhoek" value="WAT-1WAST,M9.1.0,M4.1.0" />
+
+	<zone name="America/Adak" value="HAST10HADT,M3.2.0,M11.1.0" />
+	<zone name="America/Anchorage" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Anguilla" value="AST4" />
+	<zone name="America/Antigua" value="AST4" />
+	<zone name="America/Araguaina" value="BRT3" />
+	<zone name="America/Argentina/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/ComodRivadavia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/La_Rioja" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Rio_Gallegos" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/San_Juan" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/San_Luis" value="ART3" />
+	<zone name="America/Argentina/Tucuman" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Argentina/Ushuaia" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Aruba" value="AST4" />
+	<zone name="America/Asuncion" value="PYT4PYST,M10.3.0/0,M3.2.0/0" />
+	<zone name="America/Atikokan" value="EST5" />
+	<zone name="America/Atka" value="HAST10HADT,M3.2.0,M11.1.0" />
+	<zone name="America/Bahia" value="BRT3" />
+	<zone name="America/Barbados" value="AST4" />
+	<zone name="America/Belem" value="BRT3" />
+	<zone name="America/Belize" value="CST6" />
+	<zone name="America/Blanc-Sablon" value="AST4" />
+	<zone name="America/Boa_Vista" value="AMT4" />
+	<zone name="America/Bogota" value="COT5" />
+	<zone name="America/Boise" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Buenos_Aires" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Cambridge_Bay" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Campo_Grande" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+	<zone name="America/Cancun" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Caracas" value="VET4:30" />
+	<zone name="America/Catamarca" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Cayenne" value="GFT3" />
+	<zone name="America/Cayman" value="EST5" />
+	<zone name="America/Chicago" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Chihuahua" value="MST7MDT,M4.1.0,M10.5.0" />
+	<zone name="America/Coral_Harbour" value="EST5" />
+	<zone name="America/Cordoba" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Costa_Rica" value="CST6" />
+	<zone name="America/Cuiaba" value="AMT4AMST,M10.2.0/0,M2.3.0/0" />
+	<zone name="America/Curacao" value="AST4" />
+	<zone name="America/Danmarkshavn" value="GMT0" />
+	<zone name="America/Dawson" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Dawson_Creek" value="MST7" />
+	<zone name="America/Denver" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Detroit" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Dominica" value="AST4" />
+	<zone name="America/Edmonton" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Eirunepe" value="ACT5" />
+	<zone name="America/El_Salvador" value="CST6" />
+	<zone name="America/Ensenada" value="PST8PDT,M4.1.0,M10.5.0" />
+	<zone name="America/Fortaleza" value="BRT3" />
+	<zone name="America/Fort_Wayne" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Glace_Bay" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Godthab" value="WGST" />
+	<zone name="America/Goose_Bay" value="AST4ADT,M3.2.0/0:01,M11.1.0/0:01" />
+	<zone name="America/Grand_Turk" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Grenada" value="AST4" />
+	<zone name="America/Guadeloupe" value="AST4" />
+	<zone name="America/Guatemala" value="CST6" />
+	<zone name="America/Guayaquil" value="ECT5" />
+	<zone name="America/Guyana" value="GYT4" />
+	<zone name="America/Halifax" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Havana" value="CST5CDT,M3.3.0/0,M10.5.0/1" />
+	<zone name="America/Hermosillo" value="MST7" />
+	<zone name="America/Indiana/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Knox" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Marengo" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Petersburg" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indianapolis" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Tell_City" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Vevay" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Vincennes" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Indiana/Winamac" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Inuvik" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/Iqaluit" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Jamaica" value="EST5" />
+	<zone name="America/Jujuy" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Juneau" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Kentucky/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Kentucky/Monticello" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Knox_IN" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/La_Paz" value="BOT4" />
+	<zone name="America/Lima" value="PET5" />
+	<zone name="America/Los_Angeles" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Louisville" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Maceio" value="BRT3" />
+	<zone name="America/Managua" value="CST6" />
+	<zone name="America/Manaus" value="AMT4" />
+	<zone name="America/Marigot" value="AST4" />
+	<zone name="America/Martinique" value="AST4" />
+	<zone name="America/Mazatlan" value="MST7MDT,M4.1.0,M10.5.0" />
+	<zone name="America/Mendoza" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Menominee" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Merida" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Mexico_City" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Miquelon" value="PMST3PMDT,M3.2.0,M11.1.0" />
+	<zone name="America/Moncton" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Monterrey" value="CST6CDT,M4.1.0,M10.5.0" />
+	<zone name="America/Montevideo" value="UYT3UYST,M10.1.0,M3.2.0" />
+	<zone name="America/Montreal" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Montserrat" value="AST4" />
+	<zone name="America/Nassau" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/New_York" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Nipigon" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Nome" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Noronha" value="FNT2" />
+	<zone name="America/North_Dakota/Center" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/North_Dakota/New_Salem" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Panama" value="EST5" />
+	<zone name="America/Pangnirtung" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Paramaribo" value="SRT3" />
+	<zone name="America/Phoenix" value="MST7" />
+	<zone name="America/Port-au-Prince" value="EST5" />
+	<zone name="America/Porto_Acre" value="ACT5" />
+	<zone name="America/Port_of_Spain" value="AST4" />
+	<zone name="America/Porto_Velho" value="AMT4" />
+	<zone name="America/Puerto_Rico" value="AST4" />
+	<zone name="America/Rainy_River" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Rankin_Inlet" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Recife" value="BRT3" />
+	<zone name="America/Regina" value="CST6" />
+	<zone name="America/Resolute" value="EST5" />
+	<zone name="America/Rio_Branco" value="ACT5" />
+	<zone name="America/Rosario" value="ART3ARST,M10.1.0/0,M3.3.0/0" />
+	<zone name="America/Santiago" value="CLST" />
+	<zone name="America/Santo_Domingo" value="AST4" />
+	<zone name="America/Sao_Paulo" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+	<zone name="America/Scoresbysund" value="EGT1EGST,M3.5.0/0,M10.5.0/1" />
+	<zone name="America/Shiprock" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="America/St_Barthelemy" value="AST4" />
+	<zone name="America/St_Johns" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+	<zone name="America/St_Kitts" value="AST4" />
+	<zone name="America/St_Lucia" value="AST4" />
+	<zone name="America/St_Thomas" value="AST4" />
+	<zone name="America/St_Vincent" value="AST4" />
+	<zone name="America/Swift_Current" value="CST6" />
+	<zone name="America/Tegucigalpa" value="CST6" />
+	<zone name="America/Thule" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="America/Thunder_Bay" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Tijuana" value="PST8PDT,M4.1.0,M10.5.0" />
+	<zone name="America/Toronto" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="America/Tortola" value="AST4" />
+	<zone name="America/Vancouver" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Virgin" value="AST4" />
+	<zone name="America/Whitehorse" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="America/Winnipeg" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="America/Yakutat" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="America/Yellowknife" value="MST7MDT,M3.2.0,M11.1.0" />
+
+	<zone name="Antarctica/Casey" value="WST-8" />
+	<zone name="Antarctica/Davis" value="DAVT-7" />
+	<zone name="Antarctica/DumontDUrville" value="DDUT-10" />
+	<zone name="Antarctica/Mawson" value="MAWT-6" />
+	<zone name="Antarctica/McMurdo" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+	<zone name="Antarctica/Palmer" value="CLST" />
+	<zone name="Antarctica/Rothera" value="ROTT3" />
+	<zone name="Antarctica/South_Pole" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+	<zone name="Antarctica/Syowa" value="SYOT-3" />
+	<zone name="Antarctica/Vostok" value="VOST-6" />
+
+	<zone name="Arctic/Longyearbyen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+	<zone name="Asia/Aden" value="AST-3" />
+	<zone name="Asia/Almaty" value="ALMT-6" />
+	<zone name="Asia/Amman" value="EET-2EEST,M3.5.4/0,M10.5.5/1" />
+	<zone name="Asia/Anadyr" value="ANAT-12ANAST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Aqtau" value="AQTT-5" />
+	<zone name="Asia/Aqtobe" value="AQTT-5" />
+	<zone name="Asia/Ashgabat" value="TMT-5" />
+	<zone name="Asia/Ashkhabad" value="TMT-5" />
+	<zone name="Asia/Baghdad" value="AST-3" />
+	<zone name="Asia/Bahrain" value="AST-3" />
+	<zone name="Asia/Baku" value="AZT-4AZST,M3.5.0/4,M10.5.0/5" />
+	<zone name="Asia/Bangkok" value="ICT-7" />
+	<zone name="Asia/Beirut" value="EET-2EEST,M3.5.0/0,M10.5.0/0" />
+	<zone name="Asia/Bishkek" value="KGT-6" />
+	<zone name="Asia/Brunei" value="BNT-8" />
+	<zone name="Asia/Calcutta" value="IST-5:30" />
+	<zone name="Asia/Choibalsan" value="CHOT-9" />
+	<zone name="Asia/Chongqing" value="CST-8" />
+	<zone name="Asia/Chungking" value="CST-8" />
+	<zone name="Asia/Colombo" value="IST-5:30" />
+	<zone name="Asia/Dacca" value="BDT-6" />
+	<zone name="Asia/Damascus" value="EET-2EEST,M4.1.5/0,J274/0" />
+	<zone name="Asia/Dhaka" value="BDT-6" />
+	<zone name="Asia/Dili" value="TLT-9" />
+	<zone name="Asia/Dubai" value="GST-4" />
+	<zone name="Asia/Dushanbe" value="TJT-5" />
+	<zone name="Asia/Gaza" value="EET-2EEST,J91/0,M9.2.4" />
+	<zone name="Asia/Harbin" value="CST-8" />
+	<zone name="Asia/Ho_Chi_Minh" value="ICT-7" />
+	<zone name="Asia/Hong_Kong" value="HKT-8" />
+	<zone name="Asia/Hovd" value="HOVT-7" />
+	<zone name="Asia/Irkutsk" value="IRKT-8IRKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Asia/Jakarta" value="WIT-7" />
+	<zone name="Asia/Jayapura" value="EIT-9" />
+	<zone name="Asia/Jerusalem" value="IDDT" />
+	<zone name="Asia/Kabul" value="AFT-4:30" />
+	<zone name="Asia/Kamchatka" value="PETT-12PETST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Karachi" value="PKT-5" />
+	<zone name="Asia/Kashgar" value="CST-8" />
+	<zone name="Asia/Katmandu" value="NPT-5:45" />
+	<zone name="Asia/Kolkata" value="IST-5:30" />
+	<zone name="Asia/Krasnoyarsk" value="KRAT-7KRAST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Kuala_Lumpur" value="MYT-8" />
+	<zone name="Asia/Kuching" value="MYT-8" />
+	<zone name="Asia/Kuwait" value="AST-3" />
+	<zone name="Asia/Macao" value="CST-8" />
+	<zone name="Asia/Macau" value="CST-8" />
+	<zone name="Asia/Magadan" value="MAGT-11MAGST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Makassar" value="CIT-8" />
+	<zone name="Asia/Manila" value="PHT-8" />
+	<zone name="Asia/Muscat" value="GST-4" />
+	<zone name="Asia/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Asia/Novosibirsk" value="NOVT-6NOVST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Omsk" value="OMST-6OMSST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Oral" value="ORAT-5" />
+	<zone name="Asia/Phnom_Penh" value="ICT-7" />
+	<zone name="Asia/Pontianak" value="WIT-7" />
+	<zone name="Asia/Pyongyang" value="KST-9" />
+	<zone name="Asia/Qatar" value="AST-3" />
+	<zone name="Asia/Qyzylorda" value="QYZT-6" />
+	<zone name="Asia/Rangoon" value="MMT-6:30" />
+	<zone name="Asia/Riyadh" value="AST-3" />
+	<zone name="Asia/Riyadh87" value="zzz-3:07:04" />
+	<zone name="Asia/Riyadh88" value="zzz-3:07:04" />
+	<zone name="Asia/Riyadh89" value="zzz-3:07:04" />
+	<zone name="Asia/Saigon" value="ICT-7" />
+	<zone name="Asia/Sakhalin" value="SAKT-10SAKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Samarkand" value="UZT-5" />
+	<zone name="Asia/Seoul" value="KST-9" />
+	<zone name="Asia/Shanghai" value="CST-8" />
+	<zone name="Asia/Singapore" value="SGT-8" />
+	<zone name="Asia/Taipei" value="CST-8" />
+	<zone name="Asia/Tashkent" value="UZT-5" />
+	<zone name="Asia/Tbilisi" value="GET-4" />
+	<zone name="Asia/Tehran" value="IRDT" />
+	<zone name="Asia/Tel_Aviv" value="IDDT" />
+	<zone name="Asia/Thimbu" value="BTT-6" />
+	<zone name="Asia/Thimphu" value="BTT-6" />
+	<zone name="Asia/Tokyo" value="JST-9" />
+	<zone name="Asia/Ujung_Pandang" value="CIT-8" />
+	<zone name="Asia/Ulaanbaatar" value="ULAT-8" />
+	<zone name="Asia/Ulan_Bator" value="ULAT-8" />
+	<zone name="Asia/Urumqi" value="CST-8" />
+	<zone name="Asia/Vientiane" value="ICT-7" />
+	<zone name="Asia/Vladivostok" value="VLAT-10VLAST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Yakutsk" value="YAKT-9YAKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Yekaterinburg" value="YEKT-5YEKST,M3.5.0,M10.5.0/3" />
+	<zone name="Asia/Yerevan" value="AMT-4AMST,M3.5.0,M10.5.0/3" />
+
+	<zone name="Atlantic/Azores" value="AZOT1AZOST,M3.5.0/0,M10.5.0/1" />
+	<zone name="Atlantic/Bermuda" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="Atlantic/Canary" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Cape_Verde" value="CVT1" />
+	<zone name="Atlantic/Faeroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Faroe" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Jan_Mayen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Atlantic/Madeira" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Atlantic/Reykjavik" value="GMT0" />
+	<zone name="Atlantic/South_Georgia" value="GST2" />
+	<zone name="Atlantic/Stanley" value="FKT4FKST,M9.1.0,M4.3.0" />
+	<zone name="Atlantic/St_Helena" value="GMT0" />
+
+	<zone name="Australia/ACT" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Adelaide" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Brisbane" value="EST-10" />
+	<zone name="Australia/Broken_Hill" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Canberra" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Currie" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Darwin" value="CST-9:30" />
+	<zone name="Australia/Eucla" value="CWST-8:45" />
+	<zone name="Australia/Hobart" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/LHI" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+	<zone name="Australia/Lindeman" value="EST-10" />
+	<zone name="Australia/Lord_Howe" value="LHST-10:30LHST-11,M10.1.0,M4.1.0" />
+	<zone name="Australia/Melbourne" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/North" value="CST-9:30" />
+	<zone name="Australia/NSW" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Perth" value="WST-8" />
+	<zone name="Australia/Queensland" value="EST-10" />
+	<zone name="Australia/South" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Sydney" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Tasmania" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/Victoria" value="EST-10EST,M10.1.0,M4.1.0/3" />
+	<zone name="Australia/West" value="WST-8" />
+	<zone name="Australia/Yancowinna" value="CST-9:30CST,M10.1.0,M4.1.0/3" />
+
+	<zone name="Brazil/Acre" value="ACT5" />
+	<zone name="Brazil/DeNoronha" value="FNT2" />
+	<zone name="Brazil/East" value="BRT3BRST,M10.2.0/0,M2.3.0/0" />
+	<zone name="Brazil/West" value="AMT4" />
+
+	<zone name="Canada/Atlantic" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/East-Saskatchewan" value="CST6" />
+	<zone name="Canada/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Newfoundland" value="NST3:30NDT,M3.2.0/0:01,M11.1.0/0:01" />
+	<zone name="Canada/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="Canada/Saskatchewan" value="CST6" />
+	<zone name="Canada/Yukon" value="PST8PDT,M3.2.0,M11.1.0" />
+
+	<zone name="Chile/Continental" value="CLST" />
+	<zone name="Chile/EasterIsland" value="EASST" />
+
+	<zone name="Etc/GMT" value="GMT0" />
+	<zone name="Etc/GMT0" value="GMT0" />
+	<zone name="Etc/GMT-0" value="GMT0" />
+	<zone name="Etc/GMT+0" value="GMT0" />
+	<zone name="Etc/GMT-1" value="GMT-1" />
+	<zone name="Etc/GMT+1" value="GMT+1" />
+	<zone name="Etc/GMT-10" value="GMT-10" />
+	<zone name="Etc/GMT+10" value="GMT+10" />
+	<zone name="Etc/GMT-11" value="GMT-11" />
+	<zone name="Etc/GMT+11" value="GMT+11" />
+	<zone name="Etc/GMT-12" value="GMT-12" />
+	<zone name="Etc/GMT+12" value="GMT+12" />
+	<zone name="Etc/GMT-13" value="GMT-13" />
+	<zone name="Etc/GMT-14" value="GMT-14" />
+	<zone name="Etc/GMT-2" value="GMT-2" />
+	<zone name="Etc/GMT+2" value="GMT+2" />
+	<zone name="Etc/GMT-3" value="GMT-3" />
+	<zone name="Etc/GMT+3" value="GMT+3" />
+	<zone name="Etc/GMT-4" value="GMT-4" />
+	<zone name="Etc/GMT+4" value="GMT+4" />
+	<zone name="Etc/GMT-5" value="GMT-5" />
+	<zone name="Etc/GMT+5" value="GMT+5" />
+	<zone name="Etc/GMT-6" value="GMT-6" />
+	<zone name="Etc/GMT+6" value="GMT+6" />
+	<zone name="Etc/GMT-7" value="GMT-7" />
+	<zone name="Etc/GMT+7" value="GMT+7" />
+	<zone name="Etc/GMT-8" value="GMT-8" />
+	<zone name="Etc/GMT+8" value="GMT+8" />
+	<zone name="Etc/GMT-9" value="GMT-9" />
+	<zone name="Etc/GMT+9" value="GMT+9" />
+	<zone name="Etc/Greenwich" value="GMT0" />
+	<zone name="Etc/UCT" value="UCT0" />
+	<zone name="Etc/Universal" value="UTC0" />
+	<zone name="Etc/UTC" value="UTC0" />
+	<zone name="Etc/Zulu" value="UTC0" />
+
+	<zone name="Europe/Amsterdam" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Andorra" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Athens" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Belfast" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Belgrade" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Berlin" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Bratislava" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Brussels" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Bucharest" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Budapest" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Chisinau" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Copenhagen" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Dublin" value="GMT0IST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Gibraltar" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Guernsey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Helsinki" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Isle_of_Man" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Istanbul" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Jersey" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Kaliningrad" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Kiev" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Lisbon" value="WET0WEST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Ljubljana" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/London" value="GMT0BST,M3.5.0/1,M10.5.0" />
+	<zone name="Europe/Luxembourg" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Madrid" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Malta" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Mariehamn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Minsk" value="EET-2EEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Monaco" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Moscow" value="MSK-3MSD,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Nicosia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Oslo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Paris" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Podgorica" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Prague" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Riga" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Rome" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Samara" value="SAMT-4SAMST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/San_Marino" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Sarajevo" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Simferopol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Skopje" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Sofia" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Stockholm" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Tallinn" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Tirane" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Tiraspol" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Uzhgorod" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Vaduz" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Vatican" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Vienna" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Vilnius" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Volgograd" value="VOLT-3VOLST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Warsaw" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Zagreb" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+	<zone name="Europe/Zaporozhye" value="EET-2EEST,M3.5.0/3,M10.5.0/4" />
+	<zone name="Europe/Zurich" value="CET-1CEST,M3.5.0,M10.5.0/3" />
+
+	<zone name="Indian/Antananarivo" value="EAT-3" />
+	<zone name="Indian/Chagos" value="IOT-6" />
+	<zone name="Indian/Christmas" value="CXT-7" />
+	<zone name="Indian/Cocos" value="CCT-6:30" />
+	<zone name="Indian/Comoro" value="EAT-3" />
+	<zone name="Indian/Kerguelen" value="TFT-5" />
+	<zone name="Indian/Mahe" value="SCT-4" />
+	<zone name="Indian/Maldives" value="MVT-5" />
+	<zone name="Indian/Mauritius" value="MUT-4" />
+	<zone name="Indian/Mayotte" value="EAT-3" />
+	<zone name="Indian/Reunion" value="RET-4" />
+
+	<zone name="Mexico/BajaNorte" value="PST8PDT,M4.1.0,M10.5.0" />
+	<zone name="Mexico/BajaSur" value="MST7MDT,M4.1.0,M10.5.0" />
+	<zone name="Mexico/General" value="CST6CDT,M4.1.0,M10.5.0" />
+
+	<zone name="Mideast/Riyadh87" value="zzz-3:07:04" />
+	<zone name="Mideast/Riyadh88" value="zzz-3:07:04" />
+	<zone name="Mideast/Riyadh89" value="zzz-3:07:04" />
+
+	<zone name="Pacific/Apia" value="WST11" />
+	<zone name="Pacific/Auckland" value="NZST-12NZDT,M9.5.0,M4.1.0/3" />
+	<zone name="Pacific/Chatham" value="CHAST-12:45CHADT,M9.5.0/2:45,M4.1.0/3:45" />
+	<zone name="Pacific/Easter" value="EASST" />
+	<zone name="Pacific/Efate" value="VUT-11" />
+	<zone name="Pacific/Enderbury" value="PHOT-13" />
+	<zone name="Pacific/Fakaofo" value="TKT10" />
+	<zone name="Pacific/Fiji" value="FJT-12" />
+	<zone name="Pacific/Funafuti" value="TVT-12" />
+	<zone name="Pacific/Galapagos" value="GALT6" />
+	<zone name="Pacific/Gambier" value="GAMT9" />
+	<zone name="Pacific/Guadalcanal" value="SBT-11" />
+	<zone name="Pacific/Guam" value="ChST-10" />
+	<zone name="Pacific/Honolulu" value="HST10" />
+	<zone name="Pacific/Johnston" value="HST10" />
+	<zone name="Pacific/Kiritimati" value="LINT-14" />
+	<zone name="Pacific/Kosrae" value="KOST-11" />
+	<zone name="Pacific/Kwajalein" value="MHT-12" />
+	<zone name="Pacific/Majuro" value="MHT-12" />
+	<zone name="Pacific/Marquesas" value="MART9:30" />
+	<zone name="Pacific/Midway" value="SST11" />
+	<zone name="Pacific/Nauru" value="NRT-12" />
+	<zone name="Pacific/Niue" value="NUT11" />
+	<zone name="Pacific/Norfolk" value="NFT-11:30" />
+	<zone name="Pacific/Noumea" value="NCT-11" />
+	<zone name="Pacific/Pago_Pago" value="SST11" />
+	<zone name="Pacific/Palau" value="PWT-9" />
+	<zone name="Pacific/Pitcairn" value="PST8" />
+	<zone name="Pacific/Ponape" value="PONT-11" />
+	<zone name="Pacific/Port_Moresby" value="PGT-10" />
+	<zone name="Pacific/Rarotonga" value="CKT10" />
+	<zone name="Pacific/Saipan" value="ChST-10" />
+	<zone name="Pacific/Samoa" value="SST11" />
+	<zone name="Pacific/Tahiti" value="TAHT10" />
+	<zone name="Pacific/Tarawa" value="GILT-12" />
+	<zone name="Pacific/Tongatapu" value="TOT-13" />
+	<zone name="Pacific/Truk" value="TRUT-10" />
+	<zone name="Pacific/Wake" value="WAKT-12" />
+	<zone name="Pacific/Wallis" value="WFT-12" />
+	<zone name="Pacific/Yap" value="TRUT-10" />
+
+	<zone name="SystemV/AST4" value="AST4" />
+	<zone name="SystemV/AST4ADT" value="AST4ADT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/CST6" value="CST6" />
+	<zone name="SystemV/CST6CDT" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/EST5" value="EST5" />
+	<zone name="SystemV/EST5EDT" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/HST10" value="HST10" />
+	<zone name="SystemV/MST7" value="MST7" />
+	<zone name="SystemV/MST7MDT" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/PST8" value="PST8" />
+	<zone name="SystemV/PST8PDT" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="SystemV/YST9" value="GAMT9" />
+	<zone name="SystemV/YST9YDT" value="AKST9AKDT,M3.2.0,M11.1.0" />
+
+	<zone name="US/Alaska" value="AKST9AKDT,M3.2.0,M11.1.0" />
+	<zone name="US/Aleutian" value="HAST10HADT,M3.2.0,M11.1.0" />
+	<zone name="US/Arizona" value="MST7" />
+	<zone name="US/Central" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="US/Eastern" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="US/East-Indiana" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="US/Hawaii" value="HST10" />
+	<zone name="US/Indiana-Starke" value="CST6CDT,M3.2.0,M11.1.0" />
+	<zone name="US/Michigan" value="EST5EDT,M3.2.0,M11.1.0" />
+	<zone name="US/Mountain" value="MST7MDT,M3.2.0,M11.1.0" />
+	<zone name="US/Pacific" value="PST8PDT,M3.2.0,M11.1.0" />
+	<zone name="US/Samoa" value="SST11" />
+    </timezones>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/autoload_configs/zeroconf.conf.xml b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/zeroconf.conf.xml
new file mode 100644
index 0000000000..84c1a46171
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/autoload_configs/zeroconf.conf.xml
@@ -0,0 +1,6 @@
+<configuration name="zeroconf.conf" description="Zeroconf Event Handler">
+  <settings>
+    <param name="publish" value="yes"/>
+    <param name="browse" value="_sip._udp"/>
+  </settings>
+</configuration>
diff --git a/bbb-voice-conference/config/freeswitch/conf/dialplan/default.xml b/bbb-voice-conference/config/freeswitch/conf/dialplan/default.xml
new file mode 100644
index 0000000000..8566a7ff86
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/dialplan/default.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    NOTICE:
+    
+    This context is usually accessed via authenticated callers on the sip profile on port 5060 
+    or transfered callers from the public context which arrived via the sip profile on port 5080.
+    
+    Authenticated users will use the user_context variable on the user to determine what context
+    they can access.  You can also add a user in the directory with the cidr= attribute acl.conf.xml
+    will build the domains ACL using this value.
+-->
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+  <context name="default">
+
+    <extension name="unloop">
+      <condition field="${unroll_loops}" expression="^true$"/>
+      <condition field="${sip_looped_call}" expression="^true$">
+	<action application="deflect" data="${destination_number}"/>
+      </condition>
+    </extension>
+
+      <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">
+	<action application="set" data="sip_secure_media=true"/>
+	<!-- Offer SRTP on outbound legs if we have it on inbound. -->
+	<!-- <action application="export" data="sip_secure_media=true"/> -->
+      </condition>
+
+<!--
+      <condition>
+	<action application="hash" data="insert/${domain_name}-spymap/${caller_id_number}/${uuid}"/>
+	<action application="hash" data="insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}"/>
+	<action application="hash" data="insert/${domain_name}-last_dial/global/${uuid}"/>
+      </condition>
+    </extension>
+
+    <extension name="eavesdrop">
+      <condition field="destination_number" expression="^88(\d{4})$|^\*0(.*)$">
+	<action application="answer"/>
+	<action application="eavesdrop" data="${hash(select/${domain_name}-spymap/$1)}"/>
+      </condition>
+    </extension>
+
+    <extension name="eavesdrop">
+      <condition field="destination_number" expression="^779$">
+	<action application="answer"/>
+	<action application="set" data="eavesdrop_indicate_failed=tone_stream://%(500, 0, 320)"/>
+	<action application="set" data="eavesdrop_indicate_new=tone_stream://%(500, 0, 620)"/>
+	<action application="set" data="eavesdrop_indicate_idle=tone_stream://%(250, 0, 920)"/>
+	<action application="eavesdrop" data="all"/>
+      </condition>
+    </extension>
+-->
+
+    <!-- BBB testing -->
+
+    <extension name="bbb_conferences">
+      <condition field="destination_number" expression="^(8\d{4})$">
+	  <action application="answer"/>
+	  <action application="conference" data="$1@wideband"/>
+	  <!-- <action application="conference" data="$1@wideband"/> -->
+      </condition>
+    </extension>
+
+    <extension name="echo">
+      <condition field="destination_number" expression="^9196$">
+	<action application="answer"/>
+	<action application="echo"/>
+      </condition>
+    </extension>
+
+    <extension name="milliwatt">
+      <condition field="destination_number" expression="^9197$">
+	<action application="answer"/>
+	<action application="playback" data="tone_stream://%(251,0,1004);loops=-1"/>
+      </condition>
+    </extension>
+
+    <extension name="tone_stream">
+      <condition field="destination_number" expression="^9198$">
+	<action application="answer"/>
+	<action application="playback" data="tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10"/>
+      </condition>
+    </extension>
+
+    <!--
+	You will no longer hear the bong tone.  The wav file is playing stating the call is secure.
+	The file will not play unless you have both TLS and SRTP active.
+    -->
+
+    <extension name="hold_music">
+      <condition field="destination_number" expression="^9664$"/>
+      <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$">
+	<action application="answer"/>
+	<action application="execute_extension" data="is_secure XML features"/>
+	<action application="playback" data="$${hold_music}"/>
+	<anti-action application="set" data="zrtp_secure_media=true"/>
+	<anti-action application="answer"/>
+	<anti-action application="playback" data="silence_stream://2000"/>
+	<anti-action application="execute_extension" data="is_zrtp_secure XML features"/>
+	<anti-action application="playback" data="$${hold_music}"/>
+      </condition>
+    </extension>
+
+    <!--
+	You can place files in the default directory to get included.
+    -->
+    <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+    
+    <!--
+	WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+	
+	Anything you put below this line will usually get ignored due to the file in 
+	default/99999_enum.xml as it will transfer the call to the enum dialplan.
+
+	WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+    -->
+
+    <!-- SEE WARNING ABOVE IF YOU ARE TRYING TO ADD EXTENSIONS HERE! -->
+
+  </context>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/dialplan/default/99999_enum.xml b/bbb-voice-conference/config/freeswitch/conf/dialplan/default/99999_enum.xml
new file mode 100644
index 0000000000..6fd2151859
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/dialplan/default/99999_enum.xml
@@ -0,0 +1,8 @@
+<include>
+  <extension name="enum">
+    <condition field="${module_exists(mod_enum)}" expression="true"/>
+    <condition field="destination_number" expression="^(.*)$">
+      <action application="transfer" data="$1 enum"/>
+    </condition>
+  </extension>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/dialplan/features.xml b/bbb-voice-conference/config/freeswitch/conf/dialplan/features.xml
new file mode 100644
index 0000000000..901b3091b7
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/dialplan/features.xml
@@ -0,0 +1,59 @@
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+  <context name="features">
+
+    <!-- In call Transfer for phones without a transfer button -->
+    <extension name="dx">
+      <condition field="destination_number" expression="^dx$">
+	<action application="answer"/>
+	<action application="read" data="11 11 'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
+	<action application="execute_extension" data="is_transfer XML features"/>
+      </condition>
+    </extension>
+
+    <extension name="is_transfer">
+      <condition field="destination_number" expression="^is_transfer$"/>
+      <condition field="${digits}" expression="^(\d+)$">
+	<action application="transfer" data="-bleg ${digits} XML default"/>
+	<anti-action application="eval" data="cancel transfer"/>
+      </condition>
+    </extension>
+
+    <!-- Used to transfer both legs into a conference -->
+    <extension name="cf">
+      <condition field="destination_number" expression="^cf$">
+	<action application="answer"/>
+	<action application="transfer" data="-both 30${dialed_extension:2} XML default"/>
+      </condition>
+    </extension>
+
+    <extension name="please_hold">
+      <condition field="destination_number" expression="^(10[01][0-9])$">
+	<action application="set" data="transfer_ringback=$${hold_music}"/>
+	<action application="answer"/>
+	<action application="sleep" data="1500"/>
+	<action application="playback" data="ivr/ivr-hold_connect_call.wav"/>
+	<action application="transfer" data="$1 XML default"/>
+      </condition>
+    </extension>
+
+    <extension name="is_zrtp_secure" continue="true">
+      <condition field="${zrtp_secure_media_confirmed}" expression="^true$">
+	<action application="sleep" data="1000"/>
+	<action application="playback" data="misc/call_secured.wav"/>
+	<anti-action application="eval" data="not_secure"/>
+      </condition>
+    </extension>
+
+    <extension name="is_secure" continue="true">
+      <!-- Only Truly consider it secure if its TLS and SRTP --> 
+      <condition field="${sip_via_protocol}" expression="tls"/>
+      <condition field="${sip_secure_media_confirmed}" expression="^true$">
+	<action application="sleep" data="1000"/>
+	<action application="playback" data="misc/call_secured.wav"/>
+	<anti-action application="eval" data="not_secure"/>
+      </condition>
+    </extension>
+
+  </context>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/dialplan/public.xml b/bbb-voice-conference/config/freeswitch/conf/dialplan/public.xml
new file mode 100644
index 0000000000..14e2e1a3d8
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/dialplan/public.xml
@@ -0,0 +1,67 @@
+<!--
+    NOTICE:
+
+    This context is usually accessed via the external sip profile listening on port 5080.
+    
+    It is recommended to have separate inbound and outbound contexts.  Not only for security
+    but clearing up why you would need to do such a thing.  You don't want outside un-authenticated
+    callers hitting your default context which allows dialing calls thru your providers and results 
+    in Toll Fraud.
+-->
+
+<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
+<include>
+  <context name="public">
+
+    <extension name="unloop">
+      <condition field="${unroll_loops}" expression="^true$"/>
+      <condition field="${sip_looped_call}" expression="^true$">
+	<action application="deflect" data="${destination_number}"/>
+      </condition>
+    </extension>
+    <!--
+	Tag anything pass thru here as an outside_call so you can make sure not
+	to create any routing loops based on the conditions that it came from 
+	the outside of the switch.  
+    -->
+    <extension name="outside_call" continue="true">
+      <condition>
+	<action application="set" data="outside_call=true"/>
+      </condition>
+    </extension>
+
+    <extension name="call_debug" continue="true">
+      <condition field="${call_debug}" expression="^true$" break="never">
+	<action application="info"/>
+      </condition>
+    </extension>
+
+    <extension name="public_extensions">
+      <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/bbb-voice-conference/config/freeswitch/conf/dialplan/public/00_inbound_did.xml b/bbb-voice-conference/config/freeswitch/conf/dialplan/public/00_inbound_did.xml
new file mode 100644
index 0000000000..d40b3ab2c9
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/dialplan/public/00_inbound_did.xml
@@ -0,0 +1,18 @@
+<include>
+  <extension name="public_did">
+    <condition field="destination_number" expression="^(5551212)$">
+      <!--
+	  If you're hosting multiple domains you will want to set the
+	  target_domain on these calls so they hit the proper domain after you
+	  transfer the caller into the default context. 
+	  
+	  $${domain} is the default domain set from vars.xml but you can set it
+	  to any domain you have setup in your user directory.
+
+      --> 
+      <action application="set" data="domain_name=$${domain}"/>
+      <!-- This example maps the DID 5551212 to ring 1000 in the default context -->
+      <action application="transfer" data="1000 XML default"/>
+    </condition>
+  </extension>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default.xml
new file mode 100644
index 0000000000..6b4d787523
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default.xml
@@ -0,0 +1,44 @@
+<!--
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+    
+    FreeSWITCH works off the concept of users and domains just like email.
+    You have users that are in domains for example 1000@domain.com.
+    
+    When freeswitch gets a register packet it looks for the user in the directory
+    based on the from or to domain in the packet depending on how your sofia profile
+    is configured.  Out of the box the default domain will be the IP address of the
+    machine running FreeSWITCH.  This IP can be found by typing "sofia status" at the
+    CLI.  You will register your phones to the IP and not the hostname by default.
+    If you wish to register using the domain please open vars.xml in the root conf
+    directory and set the default domain to the hostname you desire.  Then you would
+    use the domain name in the client instead of the IP address to register 
+    with FreeSWITCH.
+    
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+-->
+
+<include>
+  <!--the domain or ip (the right hand side of the @ in the addr-->
+  <domain name="$${domain}">
+    <params>
+      <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>
+    </params>
+
+    <variables>
+      <variable name="record_stereo" value="true"/>
+      <variable name="default_gateway" value="$${default_provider}"/>
+      <variable name="default_areacode" value="$${default_areacode}"/>
+      <variable name="transfer_fallback_extension" value="operator"/>
+    </variables>
+
+    <groups>
+      <group name="default">
+	<users>
+	  <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
+	</users>
+      </group>
+
+    </groups>
+
+  </domain>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1000.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1000.xml
new file mode 100644
index 0000000000..9bee406ddf
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1000.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1000">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1000"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1000"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1000"/>
+      <variable name="effective_caller_id_number" value="1000"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1001.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1001.xml
new file mode 100644
index 0000000000..97c1931c51
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1001.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1001">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1001"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1001"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1001"/>
+      <variable name="effective_caller_id_number" value="1001"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1002.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1002.xml
new file mode 100644
index 0000000000..d33691d100
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1002.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1002">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1002"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1002"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1002"/>
+      <variable name="effective_caller_id_number" value="1002"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1003.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1003.xml
new file mode 100644
index 0000000000..f8b5926c9d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1003.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1003">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1003"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1003"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1003"/>
+      <variable name="effective_caller_id_number" value="1003"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1004.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1004.xml
new file mode 100644
index 0000000000..c3e7da5722
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1004.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1004">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1004"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1004"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1004"/>
+      <variable name="effective_caller_id_number" value="1004"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1005.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1005.xml
new file mode 100644
index 0000000000..0e1165f43f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1005.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1005">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1005"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1005"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1005"/>
+      <variable name="effective_caller_id_number" value="1005"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1006.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1006.xml
new file mode 100644
index 0000000000..beaaa7e9fc
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1006.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1006">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1006"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1006"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1006"/>
+      <variable name="effective_caller_id_number" value="1006"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1007.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1007.xml
new file mode 100644
index 0000000000..10470a5045
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1007.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1007">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1007"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1007"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1007"/>
+      <variable name="effective_caller_id_number" value="1007"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1008.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1008.xml
new file mode 100644
index 0000000000..0e63fcfde0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1008.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1008">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1008"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1008"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1008"/>
+      <variable name="effective_caller_id_number" value="1008"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1009.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1009.xml
new file mode 100644
index 0000000000..24db7f8152
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1009.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1009">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1009"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1009"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1009"/>
+      <variable name="effective_caller_id_number" value="1009"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1010.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1010.xml
new file mode 100644
index 0000000000..6d8e0c1bab
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1010.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1010">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1010"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1010"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1010"/>
+      <variable name="effective_caller_id_number" value="1010"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1011.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1011.xml
new file mode 100644
index 0000000000..79d731de5e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1011.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1011">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1011"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1011"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1011"/>
+      <variable name="effective_caller_id_number" value="1011"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1012.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1012.xml
new file mode 100644
index 0000000000..3839824fbc
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1012.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1012">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1012"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1012"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1012"/>
+      <variable name="effective_caller_id_number" value="1012"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1013.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1013.xml
new file mode 100644
index 0000000000..6f9c8e4753
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1013.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1013">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1013"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1013"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1013"/>
+      <variable name="effective_caller_id_number" value="1013"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1014.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1014.xml
new file mode 100644
index 0000000000..6a554c0650
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1014.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1014">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1014"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1014"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1014"/>
+      <variable name="effective_caller_id_number" value="1014"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1015.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1015.xml
new file mode 100644
index 0000000000..e94b8886a0
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1015.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1015">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1015"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1015"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1015"/>
+      <variable name="effective_caller_id_number" value="1015"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1016.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1016.xml
new file mode 100644
index 0000000000..4f856fc7be
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1016.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1016">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1016"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1016"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1016"/>
+      <variable name="effective_caller_id_number" value="1016"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1017.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1017.xml
new file mode 100644
index 0000000000..b0e43a0238
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1017.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1017">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1017"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1017"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1017"/>
+      <variable name="effective_caller_id_number" value="1017"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1018.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1018.xml
new file mode 100644
index 0000000000..6d7071942d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1018.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1018">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1018"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1018"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1018"/>
+      <variable name="effective_caller_id_number" value="1018"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/1019.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/1019.xml
new file mode 100644
index 0000000000..f23a95f4ba
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/1019.xml
@@ -0,0 +1,18 @@
+<include>
+  <user id="1019">
+    <params>
+      <param name="password" value="$${default_password}"/>
+      <param name="vm-password" value="1019"/>
+    </params>
+    <variables>
+      <variable name="toll_allow" value="domestic,international,local"/>
+      <variable name="accountcode" value="1019"/>
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="Extension 1019"/>
+      <variable name="effective_caller_id_number" value="1019"/>
+      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
+      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
+      <variable name="callgroup" value="techsupport"/>
+    </variables>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/directory/default/bbbuser.xml b/bbb-voice-conference/config/freeswitch/conf/directory/default/bbbuser.xml
new file mode 100644
index 0000000000..1d9b6188ef
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/directory/default/bbbuser.xml
@@ -0,0 +1,28 @@
+<include>
+  <!--
+      ipauth if you have an cidr= in the user attributes ie cidr="1.2.3.4/32"  
+      see <node type="allow" domain="$${domain}"/> in default acl.conf.xml 
+  -->
+  <user id="bbbuser">
+    <params>
+      <!-- omit password for authless registration -->
+      <param name="password" value="secret"/>
+      <!-- What this user is allowed to acces --> 
+      <!--<param name="http-allowed-api" value="jsapi,voicemail,status"/> -->
+    </params>
+    <variables>
+      <!--all variables here will be set on all inbound calls that originate from this user -->
+      <variable name="user_context" value="default"/>
+      <variable name="effective_caller_id_name" value="BigBlueButton"/>
+      <variable name="effective_caller_id_number" value="1000"/>
+      <!-- Don't write a CDR if this is false valid values are: true, false, a_leg and b_leg -->
+      <variable name="process_cdr" value="true"/>
+      <!-- sip_secure_media will offer mandatory SRTP on invite AES_CM_128_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_80 or true-->
+      <variable name="sip_secure_media" value="false"/>
+    </variables>
+
+    <vcard>
+      <!-- insert optional compliant vcard xml here-->
+    </vcard>
+  </user>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/extensions.conf b/bbb-voice-conference/config/freeswitch/conf/extensions.conf
new file mode 100644
index 0000000000..184e3758eb
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/extensions.conf
@@ -0,0 +1,21 @@
+[default]
+
+; Things you're used to....
+;exten => music,n,Dial(SIP/1234@conference.freeswitch.org|120)
+
+;exten => _1XXXXX,n,set(cool=${EXTEN})
+;exten => _1XXXXX,n,set(myvar=true)
+;exten => _1XXXXX,n,Goto(default|music)
+;exten => 2137991400/1000,n,Goto(default|music)
+
+
+; Some new magic you can do....
+;exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,enum($1)
+;exten => ~^(18(0{2}|8{2}|7{2}|6{2})\d{7})$,n,bridge(${enum_auto_route})
+
+; instead of exten, put anything about the call you would rather match on.
+; either the names of a field in caller_profile or a string of variables to expand.
+;caller_id_number => 2137991400,n,Goto(default|music) 
+;${sip_from_user} => bill,n,Goto(default|music)
+
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/freeswitch.serial b/bbb-voice-conference/config/freeswitch/conf/freeswitch.serial
new file mode 100644
index 0000000000000000000000000000000000000000..d72590a059566000bd7d5f646582fe46f9b3c2f5
GIT binary patch
literal 13
UcmYc`NVG68G)PQLG%;cT02t;2M*si-

literal 0
HcmV?d00001

diff --git a/bbb-voice-conference/config/freeswitch/conf/freeswitch.xml b/bbb-voice-conference/config/freeswitch/conf/freeswitch.xml
new file mode 100644
index 0000000000..80e7728e0d
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/freeswitch.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+    
+    This is the FreeSWITCH default config.  Everything you see before you now traverses 
+    down into all the directories including files which include more files.  The default
+    config comes out of the box already working in most situations as a PBX.  This will
+    allow you to get started testing and playing with various things in FreeSWITCH.
+    
+    Before you start to modify this default please visit this wiki page:
+    
+    http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Some_stuff_to_try_out.21
+    
+    If all else fails you can read our FAQ located at:
+    
+    http://wiki.freeswitch.org/wiki/FreeSwitch_FAQ
+    
+    NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 
+-->
+<document type="freeswitch/xml">
+  <!--#comment 
+      All comments starting with #command will be preprocessed and never sent to the xml parser
+      Valid instructions:
+      #include ==> Include another file to this exact point
+                   (partial xml should be encased in <include></include> tags)
+      #set     ==> Set a global variable (can be expanded during preprocessing with $$ variables)
+                   (note the double $$ which denotes preprocessor variables)
+      #comment ==> A general comment such as this
+      
+      The preprocessor will compile the full xml document to ${prefix}/log/freeswitch.xml.fsxml
+      Don't modify it while freeswitch is running cos it is mem mapped in most cases =D
+      
+      The same can be achieved with the <X-PRE-PROCESS> tag where the attrs 'cmd' and 'data' are
+      parsed in the same way.
+  -->
+  <!--#comment
+      vars.xml contains all the #set directives for the preprocessor.
+  -->
+  <X-PRE-PROCESS cmd="include" data="vars.xml"/>
+
+  <section name="configuration" description="Various Configuration">
+    <X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>
+  </section>
+  
+  <section name="dialplan" description="Regex/XML Dialplan">
+    <X-PRE-PROCESS cmd="include" data="dialplan/*.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">
+    <X-PRE-PROCESS cmd="include" data="directory/*.xml"/>
+  </section>
+
+  <!-- phrases section (under development still) -->
+  <section name="phrases" description="Speech Phrase Management">
+    <macros>
+      <X-PRE-PROCESS cmd="include" data="lang/de/*.xml"/>
+      <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/>
+      <X-PRE-PROCESS cmd="include" data="lang/fr/*.xml"/>
+      <X-PRE-PROCESS cmd="include" data="lang/ru/*.xml"/>
+    </macros>
+  </section>
+
+</document>
+
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/fur_elise.ttml b/bbb-voice-conference/config/freeswitch/conf/fur_elise.ttml
new file mode 100644
index 0000000000..6e6ef03724
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/fur_elise.ttml
@@ -0,0 +1,83 @@
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 415)
+%(167, 0, 494)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
+%(167, 0, 0)
+%(167, 0, 262)
+%(167, 0, 330)
+%(167, 0, 440)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 523)
+%(167, 0, 494)
+%(167, 0, 440)
+%(167, 0, 0)
+%(167, 0, 494)
+%(167, 0, 523)
+%(167, 0, 587)
+%(333, 0, 659)
+%(167, 0, 0)
+%(167, 0, 392)
+%(167, 0, 698)
+%(167, 0, 784)
+%(333, 0, 587)
+%(167, 0, 0)
+%(167, 0, 349)
+%(167, 0, 659)
+%(167, 0, 587)
+%(333, 0, 523)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 587)
+%(167, 0, 523)
+%(333, 0, 494)
+%(167, 0, 0)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 330)
+%(167, 0, 659)
+%(167, 0, 659)
+%(167, 0, 1319)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 622)
+%(167, 0, 659)
+%(167, 0, 494)
+%(167, 0, 554)
+%(167, 0, 523)
+%(333, 0, 440)
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/de/de.xml b/bbb-voice-conference/config/freeswitch/conf/lang/de/de.xml
new file mode 100644
index 0000000000..5239489f75
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/de/de.xml
@@ -0,0 +1,7 @@
+<include>
+  <language name="de" sound-path="/snds" tts-engine="cepstral" tts-voice="david">
+    <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/>
+    <!--voicemail_de_tts is purely implemented with tts, we need a files based implementation too -->
+    <X-PRE-PROCESS cmd="include" data="vm/tts.xml"/>
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/de/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf/lang/de/demo/demo.xml
new file mode 100644
index 0000000000..61582b2052
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/de/demo/demo.xml
@@ -0,0 +1,71 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+    <macro name="msgcount">
+      <input pattern="(.*)">
+	<match>
+	  <action function="execute" data="sleep(1000)"/>
+	  <action function="play-file" data="voicemail/vm-you_have.wav"/>
+	  <action function="say" data="$1" method="pronounced" type="items"/>
+	  <action function="play-file" data="voicemail/vm-messages.wav"/>
+	  <!-- or -->
+	  <!--<action function="speak-text" data="Sie haben $1 Nachrichten"/>-->
+	</match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="iterated" type="ip_address"/>
+	  <action function="say" data="$1" method="pronounced" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+	<match>
+	  <action function="speak-text" data="Sie haben $1 Minuten, $2 Sekunden übrig $strftime(%Y-%m-%d)"/>
+	  <action function="break"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="Die Eingabe war ungültig."/>
+	</nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sek">
+	<match>
+	  <action function="speak-text" data="Sie haben $1 Minuten, $2 Sekunden übrig $strftime(%Y-%m-%d)"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="Die Eingabe war ungültig."/>
+	</nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/de/vm/tts.xml b/bbb-voice-conference/config/freeswitch/conf/lang/de/vm/tts.xml
new file mode 100644
index 0000000000..7a8f18cf50
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/de/vm/tts.xml
@@ -0,0 +1,214 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Bitte geben Sie Ihren Benutzernamen ein, gefolgt von $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Bitte geben Sie Ihr Passwort ein, gefolgt von $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Falsche Benutzerdaten."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Willkommen in Ihrem Postfach."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Auf Wiedersehen."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Zu viele Fehlversuche."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^1:(.*)$">
+      <match>
+	<action function="speak-text" data="Sie haben 1 $2 Nachricht im Ordner ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^([0,2-9]+):(.*)$">
+      <match>
+	<action function="speak-text" data="Sie haben $1 $2 Nachrichten im Ordner ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Um neue Nachrichten zu hören, drücken Sie $1. Um gespeicherte Nachrichten zu hören, drücken Sie $2, Für erweiterte Optionen, drücken Sie $3. Zum beenden drücken Sie $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Um eine Ansage aufzunehmen, drücken Sie $1. Um eine Ansage auszuwählen, drücken Sie $2. Um ihren Namen aufzunehmen, drücken Sie $3. Um zum Hauptmenü zurückzukehren, drücken Sie $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Sprechen Sie Ihren Namen nach dem Ton, drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Um die Aufzeichnung anzuhören, drücken Sie $1. Um die Aufzeichnung zu speichern, drücken Sie $2. Für eine erneute Aufnahme drücken Sie $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Drücken Sie $1 um diese Nachricht als wichtig zu markieren. Um fortzufahren drücken Sie $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Drücken Sie $1 um die Nachricht erneut zu hören. Um die Nachricht zu speichern, drücken Sie $2. Zum löschen der Nachricht drücken Sie $3. Für die Weiterleitung als Email, drücken Sie $4."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Wählen Sie eine Ansage zwischen 1 und 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Ungültige Eingabe."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Zeichnen Sie Ihre Ansage nach dem Ton auf. Drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Sprechen Sie nach dem Ton. Drücken Sie eine beliebige Taste oder hören Sie auf zu sprechen um die Aufnahme zu beenden."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Ansage $1 ausgewählt."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 ist nicht verfügbar."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(.*)$">
+      <match>
+	<action function="speak-text" data="$1 Nachricht Nummer $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="Nachricht $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$strftime($1|%A, %B %d %Y, %I %M %p)"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo-ivr.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo-ivr.xml
new file mode 100644
index 0000000000..ec7d7bccd2
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo-ivr.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+
+  <macro name="demo_ivr_count">
+    <input pattern="^(\d+)$">
+      <match>
+        <action function="play-file" data="voicemail/vm-you_have.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="demo_ivr_main_menu" pause="100"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
+    <input pattern="(.*)">
+      <match>
+        <!-- string together several existing sound files to create one long greeting -->
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
+        <action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
+        <!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
+
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
+        <action function="play-file" data="silence_stream://1500"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Register for ClueCon -->
+        <action function="play-file" data="ivr/ivr-register_for_cluecon.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 6: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/6.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="play-file" data="silence_stream://2000"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_main_menu_short" pause="100"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="silence_stream://1000"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="play-file" data="silence_stream://2000"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
+  <macro name="demo_ivr_sub_menu">
+    <input pattern="(.*)">
+      <match>
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
+
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_sub_menu_short"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo.xml
new file mode 100644
index 0000000000..e3e6f02142
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/demo/demo.xml
@@ -0,0 +1,71 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+    <macro name="msgcount">
+      <input pattern="(.*)">
+	<match>
+	  <action function="execute" data="sleep(1000)"/>
+	  <action function="play-file" data="voicemail/vm-you_have.wav"/>
+	  <action function="say" data="$1" method="pronounced" type="items"/>
+	  <action function="play-file" data="voicemail/vm-messages.wav"/>
+	  <!-- or -->
+	  <!--<action function="speak-text" data="you have $1 messages"/>-->
+	</match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="iterated" type="ip_address"/>
+	  <action function="say" data="$1" method="pronounced" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	  <action function="break"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sec">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/dir/sounds.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/dir/sounds.xml
new file mode 100644
index 0000000000..02d6b3671f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/dir/sounds.xml
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-enter-person.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+                <action function="play-file" data="directory/dir-enter-person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-first_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-specify_mininum_first.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="play-file" data="directory/dir-no_match_entry.wav"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-result_match.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-to_many_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-no_more_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-result_number.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-at_extension.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="play-file" data="directory/dir-to_select_entry.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_next.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_prev.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-to_make_new_search.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/dir/tts.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/dir/tts.xml
new file mode 100644
index 0000000000..67ae5ab265
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/dir/tts.xml
@@ -0,0 +1,96 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person last name"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person first name"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by first name, press $2"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by last name, press $2"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="You need to specify a minimum the first $1 letters of the person name, try again."/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="speak-text" data="Your search match no user on this system, try again."/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1 result match your search"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Your search returned too many result, please try again"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="No more result"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Result number $1"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="speak-text" data="To select this entry press $1, for the next entry press $2, for the previous entry press $3, to make a new search press $4"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="at extension $1"/>
+			</match>
+		</input>
+	</macro>
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/en.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/en.xml
new file mode 100644
index 0000000000..6bd5a7d5fb
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/en.xml
@@ -0,0 +1,8 @@
+<include>
+  <language name="en" sound-path="$${sounds_dir}/en/us/callie" tts-engine="cepstral" tts-voice="callie">
+    <X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
+    <!--voicemail_en_tts is purely implemented with tts, we have the files based one that is the default. -->
+    <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>  <!-- vm/tts.xml if you want to use tts and have cepstral -->
+    <X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/>  <!-- dir/tts.xml if you want to use tts and have cepstral -->
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/vm/sounds.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/vm/sounds.xml
new file mode 100644
index 0000000000..5a090411d7
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/vm/sounds.xml
@@ -0,0 +1,404 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_id.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_pass.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-fail_auth.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<!--<action function="play-file" data="voicemail/vm-hello.wav"/> -->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-goodbye.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-abort.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^(1):(.*)$" break_on_match="true">
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-$2.wav"/> 
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-$2.wav"/> 
+	<action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<!-- To listen to new messages -->
+	<action function="play-file" data="voicemail/vm-listen_new.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To listen to saved messages -->
+	<action function="play-file" data="voicemail/vm-listen_saved.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- For advanced options -->
+	<action function="play-file" data="voicemail/vm-advanced.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To exit -->
+	<action function="play-file" data="voicemail/vm-to_exit.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_phonetic"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<!-- To record a greeting -->
+	<action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To choose greeting -->
+	<action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To record your name -->
+	<action function="play-file" data="voicemail/vm-record_name2.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To change password -->
+	<action function="play-file" data="voicemail/vm-change_password.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+	<action function="execute" data="sleep(100)"/>
+
+	<!-- To return to main menu -->
+	<action function="play-file" data="voicemail/vm-main_menu.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_name1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-rerecord.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-mark-urgent.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-continue.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_add_intro.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-send_message_now.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
+	<action function="play-file" data="voicemail/vm-followed_by.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-return_call.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-to_forward.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-return_call.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-to_forward.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_greeting.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_message.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-greeting.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-selected.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-person.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-not_available.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-$1.wav"/> 
+	<action function="play-file" data="voicemail/vm-message_number.wav"/>
+	<action function="say" data="$2" method="pronounced" type="items"/> 
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+  <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
+  <macro name="voicemail_ack"> 
+    <input pattern="^(too-small)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-too-small.wav"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="current_date_time"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_disk_quota_exceeded">
+    <input pattern="^(.*)$">
+        <match>
+            <action function="play-file" data="voicemail/vm-mailbox_full.wav"/>
+        </match>
+    </input>
+  </macro>
+
+  <macro name="valet_announce_ext">
+    <input pattern="^([^\:]+):(.*)$">
+      <match>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="valet_lot_full">
+    <input pattern="^(.*)$">
+      <match>
+        <action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="valet_lot_empty">
+    <input pattern="^(.*)$">
+      <match>
+        <action function="play-file" data="tone_stream://%(275,10,600);%(275,100,300)"/>
+      </match>
+    </input>
+  </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/en/vm/tts.xml b/bbb-voice-conference/config/freeswitch/conf/lang/en/vm/tts.xml
new file mode 100644
index 0000000000..1fc877d50e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/en/vm/tts.xml
@@ -0,0 +1,239 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your i d, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your password, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="login incorrect."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="welcome to your voicemail."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="goodbye."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="too many failed attempts."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^1:(.*)$" break_on_match="true">
+      <match>
+	<action function="speak-text" data="you have 1 $1 message in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+	<action function="speak-text" data="you have $1 $2 messages in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to new messages, press $1, To listen to saved messages, press $2, For advanced options, press $3, to exit, press $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To record a greeting, press $1, To choose a greeting, press $2, To record your name, press $3, to change your password, press $5, to return to the main menu, press $5."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="at the tone, please record your name, press any key or stop talking to end the recording."/>
+
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording, press $1, To save the recording, press $2, To re record, press $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To mark this message urgent, press $1, To continue, press $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="$1 is not a valid extension."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="enter the extension you wish to forward to, then press $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="To record an announcement, press $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording again, press $1, To save the recording, press $2,  To delete the recording, press $3, to forward the recording to your email, press $4, to call the caller now, press $5, To forward this message to another extension, press $6."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="choose a greeting between 1 and 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="invalid value."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your greeting at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your message at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="greeting $1 selected."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 is not available."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(.*)$">
+      <match>
+	<action function="speak-text" data="$1 message number $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="message $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="${strftime($1|%A, %B %d %Y, %I:%M %p)}"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/fr/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf/lang/fr/demo/demo.xml
new file mode 100644
index 0000000000..80660203a3
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/fr/demo/demo.xml
@@ -0,0 +1,18 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+<macro name="msgcount">
+  <input pattern="(.*)">
+    <match>
+      <action function="play-file" data="tuas.wav"/>
+      <action function="say" data="$1" method="pronounced" type="items"/>
+      <action function="play-file" data="messages.wav"/>
+    </match>
+  </input>
+</macro>
+<macro name="timeleft">
+  <input pattern="(\d+):(\d+)">
+    <match>
+      <action function="speak-text" data="il reste $1 minutes et $2 secondes"/>
+    </match>
+  </input>
+</macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/sounds.xml b/bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/sounds.xml
new file mode 100644
index 0000000000..02d6b3671f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/sounds.xml
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-enter-person.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+                <action function="play-file" data="directory/dir-enter-person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-first_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-specify_mininum_first.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="play-file" data="directory/dir-no_match_entry.wav"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-result_match.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-to_many_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-no_more_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-result_number.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-at_extension.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="play-file" data="directory/dir-to_select_entry.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_next.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_prev.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-to_make_new_search.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/tts.xml b/bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/tts.xml
new file mode 100644
index 0000000000..1f5b0caa63
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/fr/dir/tts.xml
@@ -0,0 +1,101 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Veuillez entrer les premières lettres du nom de famille"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Veuillez entrer les premières lettres du prénom"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="pour chercher par prénom, tapez $2"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="pour chercher par nom de famille, tapez $2"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(1)$">
+			<match>
+				<action function="speak-text" data="Vous devez entrer au minimum une lettre du nom de la personne, essayez encore"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Vous devez entrer au minimum $1 lettres du nom de la personne, essayer encore"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="speak-text" data="Votre recherche n'a retournée aucun résultat, essayez encore"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1 résultats correspondent à votre recherche"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Votre recherche retourne trop de résultats, essayer encore"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Fin des résultats."/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Résultat numéro $1"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="speak-text" data="Pour sélectionner ce nom, tapez $1, pour le nom suivant tapez $2, pour le nom précédent, tapez $3, pour faire une nouvelle recherche, tapez $4"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="au poste $1"/>
+			</match>
+		</input>
+	</macro>
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/fr/fr.xml b/bbb-voice-conference/config/freeswitch/conf/lang/fr/fr.xml
new file mode 100644
index 0000000000..12bec06f20
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/fr/fr.xml
@@ -0,0 +1,8 @@
+<include>
+  <language name="fr" sound-path="/snds" tts-engine="cepstral" tts-voice="david">
+    <X-PRE-PROCESS cmd="include" data="demo/demo.xml"/>
+    <!--voicemail_fr_tts is purely implemented with tts, we need a files based implementation too -->
+	<X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>
+	<X-PRE-PROCESS cmd="include" data="dir/sounds.xml"/>  <!-- dir/tts.xml if you want to use tts and have cepstral -->
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/fr/vm/sounds.xml b/bbb-voice-conference/config/freeswitch/conf/lang/fr/vm/sounds.xml
new file mode 100644
index 0000000000..55190a6bac
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/fr/vm/sounds.xml
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Entrez votre Identification, suivi par $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Entrez votre code, suivi par $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Identification incorrecte."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Bienvenue sur votre répondeur."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Au revoir."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="Trop de tentatives ont échouées."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^([^:]+):urgent-new">
+      <match>
+	<action function="speak-text" data="Vous avez $1 nouveaux messages urgents dans le répertoire ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^([^:]+):new">
+      <match>
+	<action function="speak-text" data="Vous avez $1 nouveaux messages dans le répertoire ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^([^:]+):saved">
+      <match>
+	<action function="speak-text" data="Vous avez $1 messages sauvegardés dans le répertoire ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Pour écouter les nouveaux messages, tapez $1, Pour écouter les messages enregistrés, tapez $2, Pour les options avancées, tapez $3, pour sortir, tapez $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="pour enregistrer un message d'accueil, tapez $1, Pour choisir votre message d'accueil, tapez $2, Pour enregistrer votre nom, tapez $3, Pour changer votre mot de passe, tapez $4, Pour retourner au menu principal, tapez $5."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="enregistrez votre nom après le bip, puis tapez une touche, ou arrêtez de parler pour arrêter l'enregistrement."/>
+
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Pour écouter l'enregistrement, tapez $1, pour sauvegarder l'enregistrement, tapez $2, Pour réenregistrer, tapez $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="Pour indiquer que ce message est urgent, tapez $1, Pour continuer, tapez $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])(:(.*))?$">
+      <match>
+	<action function="speak-text" 
+		data="Pour réécouter l'enregistrement à nouveau, tapez $1, Pour sauvegarder l'enregistrement, tapez $2, Pour supprimer l'enregistrement, tapez $3, pour transférer l'enregistrement à votre email $8, tapez $4, Pour appeler l'auteur du message, tapez $5, Pour transférer ce message à un autre numéro, tapez $6."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="choisissez un message d'accueil entre 1 et 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="valeur incorrecte."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="enregistrez votre message d'accueil après le bip, puis tapez une touche ou arrêtez de parler pour arrêter l'enregistrement."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="enregistrez votre message après le bip, puis tapez une touche ou arrêtez de parler pour arrêter l'enregistrement."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="message d'accueil numéro $1 sélectionné."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 n'est pas disponible."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^new:(.*)$">
+      <match>
+	<action function="speak-text" data="nouveau message numéro $1."/>
+      </match>
+    </input>
+    <input pattern="^saved:(.*)$">
+      <match>
+	<action function="speak-text" data="message sauvegardé numéro $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(too-small)$">
+      <match>
+	<action function="speak-text" data="message trop court"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+	<action function="speak-text" data="message supprimé"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+	<action function="speak-text" data="message sauvegardé"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+	<action function="speak-text" data="message envoyé"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+	<action function="speak-text" data="message marqué urgent"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="${strftime($1|%e/%m/%Y, %H heures %M)}"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
\ No newline at end of file
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo-ivr.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo-ivr.xml
new file mode 100644
index 0000000000..8c6f3f8624
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo-ivr.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+
+  <macro name="demo_ivr_count">
+    <input pattern="^(\d+)$">
+      <match>
+        <action function="play-file" data="voicemail/vm-you_have.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-messages.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="demo_ivr_main_menu" pause="250"> <!-- See conf/autoload_config/ivr.conf.xml for an example on how to use this macro in an IVR -->
+    <input pattern="(.*)">
+      <match>
+        <!-- string together several existing sound files to create one long greeting -->
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-this_ivr_will_let_you_test_features.wav"/>
+        <action function="play-file" data="ivr/ivr-you_may_exit_by_hanging_up.wav"/>
+        <!-- note that you can do more than just play files, e.g. have pauses and do TTS -->
+
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="play-file" data="ivr/ivr-enter_ext_pound.wav"/>
+        <action function="execute" data="sleep(1500)"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="execute" data="sleep(2000)"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_main_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_main_menu_short" pause="250"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option 1: Call FreeSWITCH conference-->
+        <action function="execute" data="sleep(1000)"/>
+        <action function="play-file" data="ivr/ivr-to_call_the_freeswitch_conference.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/1.wav"/>
+
+        <!-- Menu option 2: Do FreeSWITCH echo test -->
+        <action function="play-file" data="ivr/ivr-to_do_a_freeswitch_echo_test.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/2.wav"/>
+
+        <!-- Menu option 3: Listen to Music on Hold -->
+        <action function="play-file" data="ivr/ivr-to_listen_to_moh.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/3.wav"/>
+
+        <!-- Menu option 4: Hear a sample submenu -->
+        <action function="play-file" data="ivr/ivr-to_hear_sample_submenu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/4.wav"/>
+
+        <!-- Menu option 5: Listen to screaming monkeys -->
+        <action function="play-file" data="ivr/ivr-to_hear_screaming_monkeys.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/5.wav"/>
+
+        <!-- Menu option 9: Repeat these options -->
+        <action function="play-file" data="ivr/ivr-to_repeat_these_options.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/9.wav"/>
+        <action function="execute" data="sleep(2000)"/>
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the "long" greeting for the demo_ivr_sub_menu -->
+  <macro name="demo_ivr_sub_menu">
+    <input pattern="(.*)">
+      <match>
+        <action function="play-file" data="ivr/ivr-welcome_to_freeswitch.wav"/>
+        <action function="play-file" data="ivr/ivr-sample_submenu.wav"/>
+
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+  <!-- The following macro is the same as demo_ivr_sub_menu except it is the "short" version -->
+  <!-- The short version has all the options but not the initial greeting -->
+  <macro name="demo_ivr_sub_menu_short"> 
+    <input pattern="(.*)">
+      <match>
+        <!-- Menu option *: Return to top menu -->
+        <action function="play-file" data="ivr/ivr-to_return_to_previous_menu.wav"/>
+        <action function="play-file" data="ivr/ivr-please.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="play-file" data="digits/star.wav"/>
+
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo.xml
new file mode 100644
index 0000000000..7e450fbc83
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/demo/demo.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+    <macro name="saymoney">
+     <input pattern="(.*)">
+        <match>
+	  <action function="say" data="$1" method="pronounced" type="currency"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="msgcount">
+      <input pattern="(.*)">
+	<match>
+	  <action function="execute" data="sleep(1000)"/>
+	  <action function="play-file" data="voicemail/vm-you_have.wav"/>
+	  <action function="say" data="$1" method="pronounced" type="items"/>
+	  <action function="play-file" data="voicemail/vm-messages.wav"/>
+	  <!-- or -->
+	  <!--<action function="speak-text" data="you have $1 messages"/>-->
+	</match>
+      </input>
+    </macro>
+    <macro name="saydate">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="saydatetime">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="current_date_time"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="time_measurement"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="timespec2">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="CURRENT_DATE_TIME"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr-interated">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="iterated" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="ip-addr">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="ip_address"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="spell-phonetic">
+      <input pattern="(.*)">
+	<match>
+	  <action function="say" data="$1" method="pronounced" type="name_phonetic"/>
+	</match>
+      </input>
+    </macro>
+    <macro name="tts-timeleft">
+      <!-- The parser will visit each <input> tag and execute the actions in <match> or <nomatch> depending on the pattern param -->
+      <!-- If the function "break" is encountered all parsing will cease -->
+      <input pattern="(\d+):(\d+)">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	  <action function="break"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+      <input pattern="(\d+) min (\d+) sec">
+	<match>
+	  <action function="speak-text" data="You have $1 minutes, $2 seconds remaining $strftime(%Y-%m-%d)"/>
+	</match>
+	<nomatch>
+	  <action function="speak-text" data="That input was invalid."/>
+	</nomatch>
+      </input>
+    </macro>
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/sounds.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/sounds.xml
new file mode 100644
index 0000000000..02d6b3671f
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/sounds.xml
@@ -0,0 +1,121 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-enter-person.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+                <action function="play-file" data="directory/dir-enter-person.wav"/>
+                <action function="play-file" data="directory/dir-first_name.wav"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-first_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="play-file" data="directory/dir-to_search_by.wav"/>
+				<action function="play-file" data="directory/dir-last_name.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-specify_mininum_first.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-letters_of_person_name.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="play-file" data="directory/dir-no_match_entry.wav"/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+				<action function="play-file" data="directory/dir-result_match.wav"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-to_many_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-no_more_result.wav"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-result_number.wav"/>
+				<action function="say" data="$1" method="pronounced" type="items"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="play-file" data="directory/dir-at_extension.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="play-file" data="directory/dir-to_select_entry.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_next.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-for_prev.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+				<action function="play-file" data="directory/dir-to_make_new_search.wav"/>
+				<action function="play-file" data="directory/dir-press.wav"/>
+				<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/tts.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/tts.xml
new file mode 100644
index 0000000000..67ae5ab265
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/dir/tts.xml
@@ -0,0 +1,96 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+
+	<macro name="directory_intro">
+		<input pattern="^(last_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person last name"/>
+			</match>
+		</input>
+		<input pattern="^(first_name)" break_on_match="false">
+			<match>
+				<action function="speak-text" data="Please enter the first few digit of the person first name"/>
+			</match>
+		</input>
+		<input pattern="^(last_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by first name, press $2"/>
+			</match>
+		</input>
+		<input pattern="^(first_name):([0-9#*])$" break_on_match="false">
+			<match>
+				<action function="speak-text" data="to search by last name, press $2"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_min_search_digits">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="You need to specify a minimum the first $1 letters of the person name, try again."/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count">
+		<input pattern="^0$" break_on_match="true">
+			<match>
+				<action function="speak-text" data="Your search match no user on this system, try again."/>
+			</match>
+		</input>
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1 result match your search"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_count_too_large">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Your search returned too many result, please try again"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_last">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="No more result"/>
+			</match>
+		</input>
+
+	</macro>
+
+	<macro name="directory_result_item">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="Result number $1"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_menu">
+		<input pattern="^([0-9#*]),([0-9#*]),([0-9#*]),([0-9#*])$">
+			<match>
+				<action function="speak-text" data="To select this entry press $1, for the next entry press $2, for the previous entry press $3, to make a new search press $4"/>
+			</match>
+		</input>
+	</macro>
+
+	<macro name="directory_result_at">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="at extension $1"/>
+			</match>
+		</input>
+	</macro>
+	<macro name="directory_result_say_name">
+		<input pattern="^(.*)$">
+			<match>
+				<action function="speak-text" data="$1"/>
+			</match>
+		</input>
+	</macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/ru.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/ru.xml
new file mode 100644
index 0000000000..25d63b6110
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/ru.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--тестовые файлы Вы звуковые файлы можно взять тут svn co http://svn.freeswitch.ru/bbv/mod_say_ru/ru/  -->
+<include>
+  <language name="ru" sound-path="$${sounds_dir}/ru/RU/elena" tts-engine="cepstral" tts-voice="elena">
+    <X-PRE-PROCESS cmd="include" data="demo/*.xml"/> <!-- Note: this now grabs whole subdir, previously grabbed only demo.xml -->
+    <!--voicemail_en_tts is purely implemented with tts, we have the files based one that is the default. -->
+    <X-PRE-PROCESS cmd="include" data="vm/sounds.xml"/>  <!-- vm/tts.xml if you want to use tts and have cepstral -->
+  </language>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/sounds.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/sounds.xml
new file mode 100644
index 0000000000..ffd9ec5d8c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/sounds.xml
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="utf-8"?>
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_id.wav"/>
+<!--	<action function="say" data="$1" method="pronounced" type="name_spelled"/>-->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-enter_pass.wav"/>
+<!-- лишнее и так долго	<action function="say" data="$1" method="pronounced" type="name_spelled"/>-->
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-fail_auth.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-hello.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-goodbye.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="play-file" data="voicemail/vm-abort.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^(\d+[0,2-9]1|[2-9]1|1):(.*)$"> <!--1, и всё что больше 20-ти 21,31,41 ..   -->
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="MESSAGES"/>
+	<action function="play-file" data="voicemail/vm-$2.wav"/> 
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+<!--	<action function="play-file" data="voicemail/vm-in_folder.wav"/>-->
+      </match>
+    </input>
+    <!-- от 10 до 19 и ноль   --> <!-- от 5до 9 и больше 20-ти 25-29   -->
+    <input pattern="^(\d+1[0-9]|1[0-9]|0|\d+[0-9][0,5-9]|[2-9][0,5-9]|[0,5-9]):(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="MESSAGES"/>
+	<action function="play-file" data="voicemail/vm-$2x.wav"/> 
+	<action function="play-file" data="voicemail/vm-messagex.wav"/>
+<!--	<action function="play-file" data="voicemail/vm-in_folder.wav"/>-->
+      </match>
+    </input>
+    <input pattern="^(\d+[0,2-9][2-4]|[2-9][2-4]|[2-4]):(.*)$"> 
+      <match>
+	<action function="play-file" data="voicemail/vm-you_have.wav"/>
+	<action function="say" data="$1" method="pronounced" type="MESSAGES"/>
+	<action function="play-file" data="voicemail/vm-$2x.wav"/> 
+	<action function="play-file" data="voicemail/vm-messages.wav"/>
+	<action function="play-file" data="voicemail/vm-in_folder.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_new.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_saved.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-advanced.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_phonetic"/>
+	<action function="play-file" data="voicemail/vm-to_exit.wav"/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-to_record_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-choose_greeting.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-record_name2.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$4" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-change_password.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$5" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-main_menu.wav"/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_name1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-save_recording.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$3" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-rerecord.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-mark-urgent.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-continue.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_add_intro.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-send_message_now.wav"/>
+	<action function="play-file" data="voicemail/vm-press.wav"/>
+	<action function="say" data="$2" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="play-file" data="voicemail/vm-forward_enter_ext.wav"/>
+	<action function="play-file" data="voicemail/vm-followed_by.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-that_was_an_invalid_ext.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):(.*)$">
+      <match>
+        <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-forward_to_email.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$4" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-return_call.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+        <action function="play-file" data="voicemail/vm-listen_to_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$1" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-save_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$2" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-delete_recording.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$3" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-return_call.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$5" method="pronounced" type="name_spelled"/>
+        <action function="play-file" data="voicemail/vm-to_forward.wav"/>
+        <action function="play-file" data="voicemail/vm-press.wav"/>
+        <action function="say" data="$6" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_choose.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-choose_greeting_fail.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_greeting.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-record_message.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-greeting.wav"/>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+	<action function="play-file" data="voicemail/vm-selected.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-person.wav"/>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+	<action function="play-file" data="voicemail/vm-not_available.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(\d+)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="items"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(\d+)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-$1.wav"/> 
+	<action function="play-file" data="voicemail/vm-message_number.wav"/>
+	<action function="say" data="$2" method="pronounced" type="items"/> 
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="name_spelled"/>
+      </match>
+    </input>
+  </macro>
+  <!-- Note: Update this to marked-urgent,emailed and saved once new sound files are recorded -->
+  <macro name="voicemail_ack"> 
+    <input pattern="^(too-small)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-too-small.wav"/>
+      </match>
+    </input>
+    <input pattern="^(deleted)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(saved)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(emailed)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+    <input pattern="^(marked-urgent)$">
+      <match>
+	<action function="play-file" data="voicemail/vm-message.wav"/>
+	<action function="play-file" data="voicemail/vm-$1.wav"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="say" data="$1" method="pronounced" type="current_date_time"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/tts.xml b/bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/tts.xml
new file mode 100644
index 0000000000..1fc877d50e
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/lang/ru/vm/tts.xml
@@ -0,0 +1,239 @@
+<include><!--This line will be ignored it's here to validate the xml and is optional -->
+  <macro name="voicemail_enter_id">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your i d, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_enter_pass">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="please enter your password, followed by $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_fail_auth">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="login incorrect."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_hello">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="welcome to your voicemail."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_goodbye">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="goodbye."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_abort">
+    <input pattern="(.*)">
+      <match>
+	<action function="speak-text" data="too many failed attempts."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_message_count">
+    <input pattern="^1:(.*)$" break_on_match="true">
+      <match>
+	<action function="speak-text" data="you have 1 $1 message in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+    <input pattern="^(\d+):(.*)$">
+      <match>
+	<action function="speak-text" data="you have $1 $2 messages in folder ${voicemail_current_folder}."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to new messages, press $1, To listen to saved messages, press $2, For advanced options, press $3, to exit, press $4."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_config_menu">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To record a greeting, press $1, To choose a greeting, press $2, To record your name, press $3, to change your password, press $5, to return to the main menu, press $5."/>
+      </match>
+    </input>
+  </macro>
+
+
+  <macro name="voicemail_record_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="at the tone, please record your name, press any key or stop talking to end the recording."/>
+
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording, press $1, To save the recording, press $2, To re record, press $3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_urgent_check">
+    <input pattern="^([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To mark this message urgent, press $1, To continue, press $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_invalid_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="$1 is not a valid extension."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_message_enter_extension">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="enter the extension you wish to forward to, then press $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_forward_prepend">
+    <input pattern="^([0-9#*])$">
+      <match>
+	<action function="speak-text" data="To record an announcement, press $1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_listen_file_check">
+    <input pattern="^([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*]):([0-9#*])$">
+      <match>
+	<action function="speak-text" 
+		data="To listen to the recording again, press $1, To save the recording, press $2,  To delete the recording, press $3, to forward the recording to your email, press $4, to call the caller now, press $5, To forward this message to another extension, press $6."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="choose a greeting between 1 and 3."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_choose_greeting_fail">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="invalid value."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your greeting at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_record_message">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="record your message at the tone, press any key or stop talking to end the recording."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_greeting_selected">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="greeting $1 selected."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_play_greeting">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1 is not available."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_message_number">
+    <input pattern="^([a-z]+):(.*)$">
+      <match>
+	<action function="speak-text" data="$1 message number $2."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_phone_number">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_name">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="$1."/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_ack">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="message $1"/>
+      </match>
+    </input>
+  </macro>
+
+  <macro name="voicemail_say_date">
+    <input pattern="^(.*)$">
+      <match>
+	<action function="speak-text" data="${strftime($1|%A, %B %d %Y, %I:%M %p)}"/>
+      </match>
+    </input>
+  </macro>
+
+</include><!--This line will be ignored it's here to validate the xml and is optional -->
diff --git a/bbb-voice-conference/config/freeswitch/conf/mime.types b/bbb-voice-conference/config/freeswitch/conf/mime.types
new file mode 100644
index 0000000000..34d5fc9055
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/mime.types
@@ -0,0 +1,983 @@
+# This is a comment. I love comments.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s).  Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077.  The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type					Extensions
+application/activemessage
+application/andrew-inset			ez
+application/applefile
+application/atom+xml				atom
+application/atomcat+xml				atomcat
+application/atomicmail
+application/atomsvc+xml				atomsvc
+application/auth-policy+xml
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/ccxml+xml				ccxml
+application/cellml+xml
+application/cnrp+xml
+application/commonground
+application/conference-info+xml
+application/cpl+xml
+application/csta+xml
+application/cstadata+xml
+application/cybercash
+application/davmount+xml			davmount
+application/dca-rft
+application/dec-dx
+application/dialog-info+xml
+application/dicom
+application/dns
+application/dvcs
+application/ecmascript				ecma
+application/edi-consent
+application/edi-x12
+application/edifact
+application/epp+xml
+application/eshop
+application/fastinfoset
+application/fastsoap
+application/fits
+application/font-tdpfr				pfr
+application/h224
+application/http
+application/hyperstudio				stk
+application/iges
+application/im-iscomposing+xml
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/javascript				js
+application/json				json
+application/kpml-request+xml
+application/kpml-response+xml
+application/mac-binhex40			hqx
+application/mac-compactpro			cpt
+application/macwriteii
+application/marc				mrc
+application/mathematica				ma nb mb
+application/mathml+xml				mathml
+application/mbms-associated-procedure-description+xml
+application/mbms-deregister+xml
+application/mbms-envelope+xml
+application/mbms-msk+xml
+application/mbms-msk-response+xml
+application/mbms-protection-description+xml
+application/mbms-reception-report+xml
+application/mbms-register+xml
+application/mbms-register-response+xml
+application/mbms-user-service-description+xml
+application/mbox				mbox
+application/mediaservercontrol+xml		mscml
+application/mikey
+application/mp4					mp4s
+application/mpeg4-generic
+application/mpeg4-iod
+application/mpeg4-iod-xmt
+application/msword				doc dot
+application/mxf					mxf
+application/nasdata
+application/news-message-id
+application/news-transmission
+application/nss
+application/ocsp-request
+application/ocsp-response
+application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc
+application/oda					oda
+application/oebps-package+xml
+application/ogg					ogg
+application/parityfec
+application/pdf					pdf
+application/pgp-encrypted			pgp
+application/pgp-keys
+application/pgp-signature			asc sig
+application/pics-rules				prf
+application/pidf+xml
+application/pkcs10				p10
+application/pkcs7-mime				p7m p7c
+application/pkcs7-signature			p7s
+application/pkix-cert				cer
+application/pkix-crl				crl
+application/pkix-pkipath			pkipath
+application/pkixcmp				pki
+application/pls+xml				pls
+application/poc-settings+xml
+application/postscript				ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww				cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml				rdf
+application/reginfo+xml				rif
+application/relax-ng-compact-syntax		rnc
+application/remote-printing
+application/resource-lists+xml			rl
+application/riscos
+application/rlmi+xml
+application/rls-services+xml			rs
+application/rsd+xml				rsd
+application/rss+xml				rss
+application/rtf					rtf
+application/rtx
+application/samlassertion+xml
+application/samlmetadata+xml
+application/sbml+xml				sbml
+application/sdp					sdp
+application/set-payment
+application/set-payment-initiation		setpay
+application/set-registration
+application/set-registration-initiation		setreg
+application/sgml
+application/sgml-open-catalog
+application/shf+xml				shf
+application/sieve
+application/simple-filter+xml
+application/simple-message-summary
+application/simplesymbolcontainer
+application/slate
+application/smil
+application/smil+xml				smi smil
+application/soap+fastinfoset
+application/soap+xml
+application/spirits-event+xml
+application/srgs				gram
+application/srgs+xml				grxml
+application/ssml+xml				ssml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vividence.scriptfile
+application/vnd.3gpp.bsf+xml
+application/vnd.3gpp.pic-bw-large		plb
+application/vnd.3gpp.pic-bw-small		psb
+application/vnd.3gpp.pic-bw-var			pvb
+application/vnd.3gpp.sms
+application/vnd.3gpp2.bcmcsinfo+xml
+application/vnd.3gpp2.sms
+application/vnd.3m.post-it-notes		pwn
+application/vnd.accpac.simply.aso		aso
+application/vnd.accpac.simply.imp		imp
+application/vnd.acucobol			acu
+application/vnd.acucorp				atc acutc
+application/vnd.adobe.xdp+xml			xdp
+application/vnd.adobe.xfdf			xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami			ami
+application/vnd.anser-web-certificate-issue-initiation	cii
+application/vnd.anser-web-funds-transfer-initiation	fti
+application/vnd.antix.game-component		atx
+application/vnd.apple.installer+xml		mpkg
+application/vnd.audiograph			aep
+application/vnd.autopackage
+application/vnd.avistar+xml
+application/vnd.blueice.multipass		mpm
+application/vnd.bmi				bmi
+application/vnd.businessobjects			rep
+application/vnd.cab-jscript
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cendio.thinlinc.clientconf
+application/vnd.chemdraw+xml			cdxml
+application/vnd.chipnuts.karaoke-mmd		mmd
+application/vnd.cinderella			cdy
+application/vnd.cirpack.isdn-ext
+application/vnd.claymore			cla
+application/vnd.clonk.c4group			c4g c4d c4f c4p c4u
+application/vnd.commerce-battelle
+application/vnd.commonspace			csp cst
+application/vnd.contact.cmsg			cdbcmsg
+application/vnd.cosmocaller			cmc
+application/vnd.crick.clicker			clkx
+application/vnd.crick.clicker.keyboard		clkk
+application/vnd.crick.clicker.palette		clkp
+application/vnd.crick.clicker.template		clkt
+application/vnd.crick.clicker.wordbank		clkw
+application/vnd.criticaltools.wbs+xml		wbs
+application/vnd.ctc-posml			pml
+application/vnd.cups-pdf
+application/vnd.cups-postscript
+application/vnd.cups-ppd			ppd
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl				curl
+application/vnd.cybank
+application/vnd.data-vision.rdz			rdz
+application/vnd.denovo.fcselayout-link		fe_launch
+application/vnd.dna				dna
+application/vnd.dolby.mlp			mlp
+application/vnd.dpgraph				dpg
+application/vnd.dreamfactory			dfac
+application/vnd.dvb.esgcontainer
+application/vnd.dvb.ipdcesgaccess
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart			mag
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven				nml
+application/vnd.epson.esf			esf
+application/vnd.epson.msf			msf
+application/vnd.epson.quickanime		qam
+application/vnd.epson.salt			slt
+application/vnd.epson.ssf			ssf
+application/vnd.ericsson.quickcall
+application/vnd.eszigno3+xml			es3 et3
+application/vnd.eudora.data
+application/vnd.ezpix-album			ez2
+application/vnd.ezpix-package			ez3
+application/vnd.fdf				fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit			gph
+application/vnd.fluxtime.clip			ftc
+application/vnd.framemaker			fm frame maker
+application/vnd.frogans.fnc			fnc
+application/vnd.frogans.ltf			ltf
+application/vnd.fsc.weblaunch			fsc
+application/vnd.fujitsu.oasys			oas
+application/vnd.fujitsu.oasys2			oa2
+application/vnd.fujitsu.oasys3			oa3
+application/vnd.fujitsu.oasysgp			fg5
+application/vnd.fujitsu.oasysprs		bh2
+application/vnd.fujixerox.art-ex
+application/vnd.fujixerox.art4
+application/vnd.fujixerox.hbpl
+application/vnd.fujixerox.ddd			ddd
+application/vnd.fujixerox.docuworks		xdw
+application/vnd.fujixerox.docuworks.binder	xbd
+application/vnd.fut-misnet
+application/vnd.fuzzysheet			fzs
+application/vnd.genomatix.tuxedo		txd
+application/vnd.google-earth.kml+xml		kml
+application/vnd.google-earth.kmz		kmz
+application/vnd.grafeq				gqf gqs
+application/vnd.gridmp
+application/vnd.groove-account			gac
+application/vnd.groove-help			ghf
+application/vnd.groove-identity-message		gim
+application/vnd.groove-injector			grv
+application/vnd.groove-tool-message		gtm
+application/vnd.groove-tool-template		tpl
+application/vnd.groove-vcard			vcg
+application/vnd.handheld-entertainment+xml	zmm
+application/vnd.hbci				hbci
+application/vnd.hcl-bireports
+application/vnd.hhe.lesson-player		les
+application/vnd.hp-hpgl				hpgl
+application/vnd.hp-hpid				hpid
+application/vnd.hp-hps				hps
+application/vnd.hp-jlyt				jlt
+application/vnd.hp-pcl				pcl
+application/vnd.hp-pclxl			pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword		x3d
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay			mpy
+application/vnd.ibm.modcap			afp listafp list3820
+application/vnd.ibm.rights-management		irm
+application/vnd.ibm.secure-container		sc
+application/vnd.igloader			igl
+application/vnd.immervision-ivp			ivp
+application/vnd.immervision-ivu			ivu
+application/vnd.informedcontrol.rms+xml
+application/vnd.intercon.formnet		xpw xpx
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo			qbo
+application/vnd.intu.qfx			qfx
+application/vnd.ipunplugged.rcprofile		rcprofile
+application/vnd.irepository.package+xml		irp
+application/vnd.is-xpr				xpr
+application/vnd.jam				jam
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jcp.javame.midlet-rms		rms
+application/vnd.jisp				jisp
+application/vnd.kahootz				ktz ktr
+application/vnd.kde.karbon			karbon
+application/vnd.kde.kchart			chrt
+application/vnd.kde.kformula			kfo
+application/vnd.kde.kivio			flw
+application/vnd.kde.kontour			kon
+application/vnd.kde.kpresenter			kpr kpt
+application/vnd.kde.kspread			ksp
+application/vnd.kde.kword			kwd kwt
+application/vnd.kenameaapp			htke
+application/vnd.kidspiration			kia
+application/vnd.kinar				kne knp
+application/vnd.koan				skp skd skt skm
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop	lbd
+application/vnd.llamagraphics.life-balance.exchange+xml	lbe
+application/vnd.lotus-1-2-3			123
+application/vnd.lotus-approach			apr
+application/vnd.lotus-freelance			pre
+application/vnd.lotus-notes			nsf
+application/vnd.lotus-organizer			org
+application/vnd.lotus-screencam			scm
+application/vnd.lotus-wordpro			lwp
+application/vnd.macports.portpkg		portpkg
+application/vnd.marlin.drm.actiontoken+xml
+application/vnd.marlin.drm.conftoken+xml
+application/vnd.marlin.drm.mdcf
+application/vnd.mcd				mcd
+application/vnd.medcalcdata			mc1
+application/vnd.mediastation.cdkey		cdkey
+application/vnd.meridian-slingshot
+application/vnd.mfer				mwf
+application/vnd.mfmp				mfm
+application/vnd.micrografx.flo			flo
+application/vnd.micrografx.igx			igx
+application/vnd.mif				mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf			daf
+application/vnd.mobius.dis			dis
+application/vnd.mobius.mbk			mbk
+application/vnd.mobius.mqy			mqy
+application/vnd.mobius.msl			msl
+application/vnd.mobius.plc			plc
+application/vnd.mobius.txf			txf
+application/vnd.mophun.application		mpn
+application/vnd.mophun.certificate		mpc
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml	xul
+application/vnd.ms-artgalry			cil
+application/vnd.ms-asf				asf
+application/vnd.ms-cab-compressed		cab
+application/vnd.ms-excel			xls xlm xla xlc xlt xlw
+application/vnd.ms-fontobject			eot
+application/vnd.ms-htmlhelp			chm
+application/vnd.ms-ims				ims
+application/vnd.ms-lrm				lrm
+application/vnd.ms-playready.initiator+xml
+application/vnd.ms-powerpoint			ppt pps pot
+application/vnd.ms-project			mpp mpt
+application/vnd.ms-tnef
+application/vnd.ms-wmdrm.lic-chlg-req
+application/vnd.ms-wmdrm.lic-resp
+application/vnd.ms-wmdrm.meter-chlg-req
+application/vnd.ms-wmdrm.meter-resp
+application/vnd.ms-works			wps wks wcm wdb
+application/vnd.ms-wpl				wpl
+application/vnd.ms-xpsdocument			xps
+application/vnd.mseq				mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician			mus
+application/vnd.ncd.control
+application/vnd.nervana
+application/vnd.netfpx
+application/vnd.neurolanguage.nlu		nlu
+application/vnd.noblenet-directory		nnd
+application/vnd.noblenet-sealer			nns
+application/vnd.noblenet-web			nnw
+application/vnd.nokia.catalogs
+application/vnd.nokia.conml+wbxml
+application/vnd.nokia.conml+xml
+application/vnd.nokia.isds-radio-presets
+application/vnd.nokia.iptv.config+xml
+application/vnd.nokia.landmark+wbxml
+application/vnd.nokia.landmark+xml
+application/vnd.nokia.landmarkcollection+xml
+application/vnd.nokia.n-gage.ac+xml
+application/vnd.nokia.n-gage.data		ngdat
+application/vnd.nokia.n-gage.symbian.install	n-gage
+application/vnd.nokia.ncd
+application/vnd.nokia.pcd+wbxml
+application/vnd.nokia.pcd+xml
+application/vnd.nokia.radio-preset		rpst
+application/vnd.nokia.radio-presets		rpss
+application/vnd.novadigm.edm			edm
+application/vnd.novadigm.edx			edx
+application/vnd.novadigm.ext			ext
+application/vnd.oasis.opendocument.chart		odc
+application/vnd.oasis.opendocument.chart-template	otc
+application/vnd.oasis.opendocument.formula		odf
+application/vnd.oasis.opendocument.formula-template	otf
+application/vnd.oasis.opendocument.graphics		odg
+application/vnd.oasis.opendocument.graphics-template	otg
+application/vnd.oasis.opendocument.image		odi
+application/vnd.oasis.opendocument.image-template	oti
+application/vnd.oasis.opendocument.presentation		odp
+application/vnd.oasis.opendocument.presentation-template otp
+application/vnd.oasis.opendocument.spreadsheet		ods
+application/vnd.oasis.opendocument.spreadsheet-template	ots
+application/vnd.oasis.opendocument.text			odt
+application/vnd.oasis.opendocument.text-master		otm
+application/vnd.oasis.opendocument.text-template	ott
+application/vnd.oasis.opendocument.text-web		oth
+application/vnd.obn
+application/vnd.olpc-sugar			xo
+application/vnd.oma-scws-config
+application/vnd.oma-scws-http-request
+application/vnd.oma-scws-http-response
+application/vnd.oma.bcast.associated-procedure-parameter+xml
+application/vnd.oma.bcast.drm-trigger+xml
+application/vnd.oma.bcast.imd+xml
+application/vnd.oma.bcast.notification+xml
+application/vnd.oma.bcast.sgboot
+application/vnd.oma.bcast.sgdd+xml
+application/vnd.oma.bcast.sgdu
+application/vnd.oma.bcast.simple-symbol-container
+application/vnd.oma.bcast.smartcard-trigger+xml
+application/vnd.oma.bcast.sprov+xml
+application/vnd.oma.dd2+xml			dd2
+application/vnd.oma.drm.risd+xml
+application/vnd.oma.group-usage-list+xml
+application/vnd.oma.poc.groups+xml
+application/vnd.oma.xcap-directory+xml
+application/vnd.omads-email+xml
+application/vnd.omads-file+xml
+application/vnd.omads-folder+xml
+application/vnd.omaloc-supl-init
+application/vnd.openofficeorg.extension		oxt
+application/vnd.osa.netdeploy
+application/vnd.osgi.dp				dp
+application/vnd.otps.ct-kip+xml
+application/vnd.palm				prc pdb pqa oprc
+application/vnd.paos.xml
+application/vnd.pg.format			str
+application/vnd.pg.osasli			ei6
+application/vnd.piaccess.application-licence
+application/vnd.picsel				efif
+application/vnd.poc.group-advertisement+xml
+application/vnd.pocketlearn			plf
+application/vnd.powerbuilder6			pbd
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.preminet
+application/vnd.previewsystems.box		box
+application/vnd.proteus.magazine		mgz
+application/vnd.publishare-delta-tree		qps
+application/vnd.pvi.ptid1			ptid
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.qualcomm.brew-app-res
+application/vnd.quark.quarkxpress		qxd qxt qwd qwt qxl qxb
+application/vnd.rapid
+application/vnd.recordare.musicxml		mxl
+application/vnd.recordare.musicxml+xml
+application/vnd.renlearn.rlprint
+application/vnd.rn-realmedia			rm
+application/vnd.ruckus.download
+application/vnd.s3sms
+application/vnd.scribus
+application/vnd.sealed.3df
+application/vnd.sealed.csf
+application/vnd.sealed.doc
+application/vnd.sealed.eml
+application/vnd.sealed.mht
+application/vnd.sealed.net
+application/vnd.sealed.ppt
+application/vnd.sealed.tiff
+application/vnd.sealed.xls
+application/vnd.sealedmedia.softseal.html
+application/vnd.sealedmedia.softseal.pdf
+application/vnd.seemail				see
+application/vnd.sema				sema
+application/vnd.semd				semd
+application/vnd.semf				semf
+application/vnd.shana.informed.formdata		ifm
+application/vnd.shana.informed.formtemplate	itp
+application/vnd.shana.informed.interchange	iif
+application/vnd.shana.informed.package		ipk
+application/vnd.simtech-mindmapper		twd twds
+application/vnd.smaf				mmf
+application/vnd.solent.sdkm+xml			sdkm sdkd
+application/vnd.spotfire.dxp			dxp
+application/vnd.spotfire.sfs			sfs
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.sun.wadl+xml
+application/vnd.sus-calendar			sus susp
+application/vnd.svd				svd
+application/vnd.swiftview-ics
+application/vnd.syncml+xml			xsm
+application/vnd.syncml.dm+wbxml			bdm
+application/vnd.syncml.dm+xml			xdm
+application/vnd.syncml.ds.notification
+application/vnd.tao.intent-module-archive	tao
+application/vnd.tmobile-livetv			tmo
+application/vnd.trid.tpt			tpt
+application/vnd.triscape.mxs			mxs
+application/vnd.trueapp				tra
+application/vnd.truedoc
+application/vnd.ufdl				ufd ufdl
+application/vnd.uiq.theme			utz
+application/vnd.umajin				umj
+application/vnd.unity				unityweb
+application/vnd.uoml+xml			uoml
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx				vcx
+application/vnd.vd-study
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio				vsd vst vss vsw
+application/vnd.visionary			vis
+application/vnd.vividence.scriptfile
+application/vnd.vsf				vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml			wbxml
+application/vnd.wap.wmlc			wmlc
+application/vnd.wap.wmlscriptc			wmlsc
+application/vnd.webturbo			wtb
+application/vnd.wfa.wsc
+application/vnd.wordperfect			wpd
+application/vnd.wqd				wqd
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf				stf
+application/vnd.wv.csp+wbxml
+application/vnd.wv.csp+xml
+application/vnd.wv.ssp+xml
+application/vnd.xara				xar
+application/vnd.xfdl				xfdl
+application/vnd.xmpie.cpkg
+application/vnd.xmpie.dpkg
+application/vnd.xmpie.plan
+application/vnd.xmpie.ppkg
+application/vnd.xmpie.xlim
+application/vnd.yamaha.hv-dic			hvd
+application/vnd.yamaha.hv-script		hvs
+application/vnd.yamaha.hv-voice			hvp
+application/vnd.yamaha.smaf-audio		saf
+application/vnd.yamaha.smaf-phrase		spf
+application/vnd.yellowriver-custom-menu		cmp
+application/vnd.zzazz.deck+xml			zaz
+application/voicexml+xml			vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/winhlp				hlp
+application/wita
+application/wordperfect5.1
+application/wsdl+xml				wsdl
+application/wspolicy+xml			wspolicy
+application/x-ace-compressed			ace
+application/x-bcpio				bcpio
+application/x-bittorrent			torrent
+application/x-bzip				bz
+application/x-bzip2				bz2 boz
+application/x-cdlink				vcd
+application/x-chat				chat
+application/x-chess-pgn				pgn
+application/x-compress
+application/x-cpio				cpio
+application/x-csh				csh
+application/x-director				dcr dir dxr fgd
+application/x-dvi				dvi
+application/x-futuresplash			spl
+application/x-gtar				gtar
+application/x-gzip
+application/x-hdf				hdf
+application/x-latex				latex
+application/x-ms-wmd				wmd
+application/x-ms-wmz				wmz
+application/x-msaccess				mdb
+application/x-msbinder				obd
+application/x-mscardfile			crd
+application/x-msclip				clp
+application/x-msdownload			exe dll com bat msi
+application/x-msmediaview			mvb m13 m14
+application/x-msmetafile			wmf
+application/x-msmoney				mny
+application/x-mspublisher			pub
+application/x-msschedule			scd
+application/x-msterminal			trm
+application/x-mswrite				wri
+application/x-netcdf				nc cdf
+application/x-pkcs12				p12 pfx
+application/x-pkcs7-certificates		p7b spc
+application/x-pkcs7-certreqresp			p7r
+application/x-rar-compressed			rar
+application/x-sh				sh
+application/x-shar				shar
+application/x-shockwave-flash			swf
+application/x-stuffit				sit
+application/x-stuffitx				sitx
+application/x-sv4cpio				sv4cpio
+application/x-sv4crc				sv4crc
+application/x-tar				tar
+application/x-tcl				tcl
+application/x-tex				tex
+application/x-texinfo				texinfo texi
+application/x-ustar				ustar
+application/x-wais-source			src
+application/x-x509-ca-cert			der crt
+application/x400-bp
+application/xcap-att+xml
+application/xcap-caps+xml
+application/xcap-el+xml
+application/xcap-error+xml
+application/xcap-ns+xml
+application/xenc+xml				xenc
+application/xhtml+xml				xhtml xht
+application/xml					xml xsl
+application/xml-dtd				dtd
+application/xml-external-parsed-entity
+application/xmpp+xml
+application/xop+xml				xop
+application/xslt+xml				xslt
+application/xspf+xml				xspf
+application/xv+xml				mxml xhvml xvml xvm
+application/zip					zip
+audio/32kadpcm
+audio/3gpp
+audio/3gpp2
+audio/ac3
+audio/amr
+audio/amr-wb
+audio/amr-wb+
+audio/asc
+audio/basic					au snd
+audio/bv16
+audio/bv32
+audio/clearmode
+audio/cn
+audio/dat12
+audio/dls
+audio/dsr-es201108
+audio/dsr-es202050
+audio/dsr-es202211
+audio/dsr-es202212
+audio/dvi4
+audio/eac3
+audio/evrc
+audio/evrc-qcp
+audio/evrc0
+audio/evrc1
+audio/evrcb
+audio/evrcb0
+audio/evrcb1
+audio/g722
+audio/g7221
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g7291
+audio/g729d
+audio/g729e
+audio/gsm
+audio/gsm-efr
+audio/ilbc
+audio/l16
+audio/l20
+audio/l24
+audio/l8
+audio/lpc
+audio/midi					mid midi kar rmi
+audio/mobile-xmf
+audio/mp4					mp4a
+audio/mp4a-latm
+audio/mpa
+audio/mpa-robust
+audio/mpeg					mpga mp2 mp2a mp3 m2a m3a
+audio/mpeg4-generic
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/rtp-enc-aescm128
+audio/rtp-midi
+audio/rtx
+audio/smv
+audio/smv0
+audio/smv-qcp
+audio/sp-midi
+audio/t140c
+audio/t38
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vmr-wb
+audio/vnd.3gpp.iufp
+audio/vnd.4sb
+audio/vnd.audiokoz
+audio/vnd.celp
+audio/vnd.cisco.nse
+audio/vnd.cmles.radio-events
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds				eol
+audio/vnd.dlna.adts
+audio/vnd.dolby.mlp
+audio/vnd.everad.plj
+audio/vnd.hns.audio
+audio/vnd.lucent.voice				lvp
+audio/vnd.nokia.mobile-xmf
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800			ecelp4800
+audio/vnd.nuera.ecelp7470			ecelp7470
+audio/vnd.nuera.ecelp9600			ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.sealedmedia.softseal.mpeg
+audio/vnd.vmx.cvsd
+audio/wav					wav
+audio/x-aiff					aif aiff aifc
+audio/x-mpegurl					m3u
+audio/x-ms-wax					wax
+audio/x-ms-wma					wma
+audio/x-pn-realaudio				ram ra
+audio/x-pn-realaudio-plugin			rmp
+audio/x-wav					wav
+chemical/x-cdx					cdx
+chemical/x-cif					cif
+chemical/x-cmdf					cmdf
+chemical/x-cml					cml
+chemical/x-csml					csml
+chemical/x-pdb					pdb
+chemical/x-xyz					xyz
+image/bmp					bmp
+image/cgm					cgm
+image/fits
+image/g3fax					g3
+image/gif					gif
+image/ief					ief
+image/jp2
+image/jpeg					jpeg jpg jpe
+image/jpm
+image/jpx
+image/naplps
+image/png					png
+image/prs.btif					btif
+image/prs.pti
+image/svg+xml					svg svgz
+image/t38
+image/tiff					tiff tif
+image/tiff-fx
+image/vnd.adobe.photoshop			psd
+image/vnd.cns.inf2
+image/vnd.djvu					djvu djv
+image/vnd.dwg					dwg
+image/vnd.dxf					dxf
+image/vnd.fastbidsheet				fbs
+image/vnd.fpx					fpx
+image/vnd.fst					fst
+image/vnd.fujixerox.edmics-mmr			mmr
+image/vnd.fujixerox.edmics-rlc			rlc
+image/vnd.globalgraphics.pgb
+image/vnd.microsoft.icon			ico
+image/vnd.mix
+image/vnd.ms-modi				mdi
+image/vnd.net-fpx				npx
+image/vnd.sealed.png
+image/vnd.sealedmedia.softseal.gif
+image/vnd.sealedmedia.softseal.jpg
+image/vnd.svf
+image/vnd.wap.wbmp				wbmp
+image/vnd.xiff					xif
+image/x-cmu-raster				ras
+image/x-cmx					cmx
+image/x-icon
+image/x-pcx					pcx
+image/x-pict					pic pct
+image/x-portable-anymap				pnm
+image/x-portable-bitmap				pbm
+image/x-portable-graymap			pgm
+image/x-portable-pixmap				ppm
+image/x-rgb					rgb
+image/x-xbitmap					xbm
+image/x-xpixmap					xpm
+image/x-xwindowdump				xwd
+message/cpim
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822					eml mime
+message/s-http
+message/sip
+message/sipfrag
+message/tracking-status
+model/iges					igs iges
+model/mesh					msh mesh silo
+model/vnd.dwf					dwf
+model/vnd.flatland.3dml
+model/vnd.gdl					gdl
+model/vnd.gs.gdl
+model/vnd.gtw					gtw
+model/vnd.moml+xml
+model/vnd.mts					mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu					vtu
+model/vrml					wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar					ics ifb
+text/css					css
+text/csv					csv
+text/directory
+text/dns
+text/enriched
+text/html					html htm
+text/parityfec
+text/plain					txt text conf def list log in
+text/prs.fallenstein.rst
+text/prs.lines.tag				dsc
+text/red
+text/rfc822-headers
+text/richtext					rtx
+text/rtf
+text/rtp-enc-aescm128
+text/rtx
+text/sgml					sgml sgm
+text/t140
+text/tab-separated-values			tsv
+text/troff					t tr roff man me ms
+text/uri-list					uri uris urls
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.esmertec.theme-descriptor
+text/vnd.fly					fly
+text/vnd.fmi.flexstor				flx
+text/vnd.in3d.3dml				3dml
+text/vnd.in3d.spot				spot
+text/vnd.iptc.newsml
+text/vnd.iptc.nitf
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor		jad
+text/vnd.trolltech.linguist
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml				wml
+text/vnd.wap.wmlscript				wmls
+text/x-asm					s asm
+text/x-c					c cc cxx cpp h hh dic
+text/x-fortran					f for f77 f90
+text/x-pascal					p pas
+text/x-java-source				java
+text/x-setext					etx
+text/x-uuencode					uu
+text/x-vcalendar				vcs
+text/x-vcard					vcf
+text/xml
+text/xml-external-parsed-entity
+video/3gpp					3gp
+video/3gpp-tt
+video/3gpp2					3g2
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261					h261
+video/h263					h263
+video/h263-1998
+video/h263-2000
+video/h264					h264
+video/jpeg					jpgv
+video/jpm					jpm jpgm
+video/mj2					mj2 mjp2
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4					mp4 mp4v mpg4
+video/mp4v-es
+video/mpeg					mpeg mpg mpe m1v m2v
+video/mpeg4-generic
+video/mpv
+video/nv
+video/parityfec
+video/pointer
+video/quicktime					qt mov
+video/raw
+video/rtp-enc-aescm128
+video/rtx
+video/smpte292m
+video/vc1
+video/vnd.dlna.mpeg-tts
+video/vnd.fvt					fvt
+video/vnd.hns.video
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl				mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.nokia.videovoip
+video/vnd.objectvideo
+video/vnd.sealed.mpeg1
+video/vnd.sealed.mpeg4
+video/vnd.sealed.swf
+video/vnd.sealedmedia.softseal.mov
+video/vnd.vivo					viv
+video/x-fli					fli
+video/x-ms-asf					asf asx
+video/x-ms-wm					wm
+video/x-ms-wmv					wmv
+video/x-ms-wmx					wmx
+video/x-ms-wvx					wvx
+video/x-msvideo					avi
+video/x-sgi-movie				movie
+x-conference/x-cooltalk				ice
diff --git a/bbb-voice-conference/config/freeswitch/conf/sip_profiles/external.xml b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/external.xml
new file mode 100644
index 0000000000..8f1076364c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/external.xml
@@ -0,0 +1,78 @@
+<profile name="external">
+  <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files --> 
+  <!-- This profile is only for outbound registrations to providers -->
+  <gateways>
+    <X-PRE-PROCESS cmd="include" data="external/*.xml"/>
+  </gateways>
+
+  <aliases>
+    <!-- 
+    <alias name="outbound"/>
+    <alias name="nat"/>
+    -->
+  </aliases>
+
+  <domains>
+    <domain name="all" alias="false" parse="true"/>
+  </domains>
+
+  <settings>
+    <param name="debug" value="0"/>
+	<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
+	<!-- <param name="shutdown-on-fail" value="true"/> -->
+    <param name="sip-trace" value="no"/>
+    <param name="rfc2833-pt" value="101"/>
+    <param name="sip-port" value="$${external_sip_port}"/>
+    <param name="dialplan" value="XML"/>
+    <param name="context" value="public"/>
+    <param name="dtmf-duration" value="2000"/>
+    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/>
+    <param name="hold-music" value="$${hold_music}"/>
+    <param name="rtp-timer-name" value="soft"/>
+    <!--<param name="enable-100rel" value="true"/>-->
+    <!-- This could be set to "passive" -->
+    <param name="local-network-acl" value="localnet.auto"/>
+    <param name="manage-presence" value="false"/>
+
+    <!-- used to share presence info across sofia profiles 
+	 manage-presence needs to be set to passive on this profile
+	 if you want it to behave as if it were the internal profile 
+	 for presence.
+    -->
+    <!-- Name of the db to use for this profile -->
+    <!--<param name="dbname" value="share_presence"/>-->
+    <!--<param name="presence-hosts" value="$${domain}"/>-->
+    <!--<param name="force-register-domain" value="$${domain}"/>-->
+    <!--all inbound reg will stored in the db using this domain -->
+    <!--<param name="force-register-db-domain" value="$${domain}"/>-->
+    <!-- ************************************************* -->
+
+    <!--<param name="aggressive-nat-detection" value="true"/>-->
+    <param name="inbound-codec-negotiation" value="generous"/>
+    <param name="nonce-ttl" value="60"/>
+    <param name="auth-calls" value="false"/>
+    <!--
+	DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS!
+    -->
+    <param name="rtp-ip" value="$${local_ip_v4}"/>
+    <param name="sip-ip" value="$${local_ip_v4}"/>
+    <param name="ext-rtp-ip" value="auto-nat"/>
+    <param name="ext-sip-ip" value="auto-nat"/>
+    <param name="rtp-timeout-sec" value="300"/>
+    <param name="rtp-hold-timeout-sec" value="1800"/>
+    <!--<param name="enable-3pcc" value="true"/>-->
+
+    <!-- TLS: disabled by default, set to "true" to enable -->
+    <param name="tls" value="$${external_ssl_enable}"/>
+    <!-- additional bind parameters for TLS -->
+    <param name="tls-bind-params" value="transport=tls"/>
+    <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) -->
+    <param name="tls-sip-port" value="$${external_tls_port}"/>
+    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+    <param name="tls-cert-dir" value="$${external_ssl_dir}"/>
+    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+    <param name="tls-version" value="$${sip_tls_version}"/>
+
+  </settings>
+</profile>
diff --git a/bbb-voice-conference/config/freeswitch/conf/sip_profiles/external/example.xml b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/external/example.xml
new file mode 100644
index 0000000000..7ac8db1186
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/external/example.xml
@@ -0,0 +1,34 @@
+<include>
+  <!--<gateway name="asterlink.com">-->
+  <!--/// account username *required* ///-->
+  <!--<param name="username" value="cluecon"/>-->
+  <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+  <!--<param name="realm" value="asterlink.com"/>-->
+  <!--/// username to use in from: *optional* same as  username, if blank ///-->
+  <!--<param name="from-user" value="cluecon"/>-->
+  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
+  <!--<param name="from-domain" value="asterlink.com"/>-->
+  <!--/// account password *required* ///-->
+  <!--<param name="password" value="2007"/>--> 
+  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+  <!--<param name="extension" value="cluecon"/>-->
+  <!--/// proxy host: *optional* same as realm, if blank ///-->
+  <!--<param name="proxy" value="asterlink.com"/>-->
+  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+  <!--<param name="register-proxy" value="mysbc.com"/>-->
+  <!--/// expire in seconds: *optional* 3600, if blank ///-->
+  <!--<param name="expire-seconds" value="60"/>-->
+  <!--/// do not register ///-->
+  <!--<param name="register" value="false"/>-->
+  <!-- which transport to use for register -->
+  <!--<param name="register-transport" value="udp"/>-->
+  <!--How many seconds before a retry when a failure or timeout occurs -->
+  <!--<param name="retry-seconds" value="30"/>-->
+  <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+  <!--<param name="caller-id-in-from" value="false"/>-->
+  <!--extra sip params to send in the contact-->
+  <!--<param name="contact-params" value="tport=tcp"/>-->
+  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+  <!--<param name="ping" value="25"/>-->
+  <!--</gateway>-->
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal-ipv6.xml b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal-ipv6.xml
new file mode 100644
index 0000000000..37ff58b310
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal-ipv6.xml
@@ -0,0 +1,129 @@
+<profile name="internal-ipv6">
+  <!--
+      This is an example of a sofia profile setup to listen on IPv6.
+  -->
+  <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+  <!--aliases are other names that will work as a valid profile name for this profile-->
+  <settings>
+    <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+    <param name="debug" value="0"/>
+    <param name="sip-trace" value="no"/>
+    <param name="context" value="public"/>
+    <param name="rfc2833-pt" value="101"/>
+    <!-- port to bind to for sip traffic -->
+    <param name="sip-port" value="$${internal_sip_port}"/>
+    <param name="dialplan" value="XML"/>
+    <param name="dtmf-duration" value="2000"/>
+    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="use-rtp-timer" value="true"/>
+    <param name="rtp-timer-name" value="soft"/>
+    <!-- ip address to use for rtp -->
+    <param name="rtp-ip" value="$${local_ip_v6}"/>
+    <!-- ip address to bind to -->
+    <param name="sip-ip" value="$${local_ip_v6}"/>
+    <param name="hold-music" value="$${hold_music}"/>
+    <!--<param name="enable-100rel" value="false"/>-->
+    <param name="apply-inbound-acl" value="domains"/>
+    <!--<param name="apply-register-acl" value="domains"/>-->
+    <!--<param name="dtmf-type" value="info"/>-->
+    <param name="record-template" value="$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+    <!--enable to use presence and mwi -->
+    <param name="manage-presence" value="true"/>
+    <!-- This setting is for AAL2 bitpacking on G726 -->
+    <!-- <param name="bitpacking" value="aal2"/> -->
+    <!--max number of open dialogs in proceeding -->
+    <!--<param name="max-proceeding" value="1000"/>-->
+    <!--session timers for all call to expire after the specified seconds -->
+    <!--<param name="session-timeout" value="1800"/>-->
+    <!--<param name="multiple-registrations" value="true"/>-->
+    <!--set to 'greedy' if you want your codec list to take precedence -->
+    <param name="inbound-codec-negotiation" value="generous"/>
+    <!-- if you want to send any special bind params of your own -->
+    <!--<param name="bind-params" value="transport=udp"/>-->
+    <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+    <!-- TLS: disabled by default, set to "true" to enable -->
+    <param name="tls" value="$${internal_ssl_enable}"/>
+    <!-- additional bind parameters for TLS -->
+    <param name="tls-bind-params" value="transport=tls"/>
+    <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+    <param name="tls-sip-port" value="$${internal_tls_port}"/>
+    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+    <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+    <param name="tls-version" value="$${sip_tls_version}"/>
+    
+    <!--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-timestamps" value="true"/>-->
+    <!--<param name="pass-rfc2833" value="true"/>-->
+    <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+    
+    <!--Uncomment to set all inbound calls to no media mode-->
+    <!--<param name="inbound-bypass-media" value="true"/>-->
+
+    <!--Uncomment to set all inbound calls to proxy media mode-->
+    <!--<param name="inbound-proxy-media" value="true"/>-->
+    
+    <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+    <!--<param name="inbound-late-negotiation" value="true"/>-->
+    
+    <!-- this lets anything register -->
+    <!--  comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+    <!-- <param name="accept-blind-reg" value="true"/> -->
+
+    <!-- accept any authentication without actually checking (not a good feature for most people) -->
+    <!-- <param name="accept-blind-auth" value="true"/> -->
+    
+    <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+    <!-- <param name="suppress-cng" value="true"/> -->
+    
+    <!--TTL for nonce in sip auth-->
+    <param name="nonce-ttl" value="60"/>
+    <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec 
+	that the originator is using-->
+    <!--<param name="disable-transcoding" value="true"/>-->
+    <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+    <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+    <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+    <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+    <param name="auth-calls" value="$${internal_auth_calls}"/>
+    <!-- on authed calls, authenticate *all* the packets not just invite -->
+    <param name="auth-all-packets" value="false"/>
+    <!-- <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> -->
+    <!-- <param name="ext-sip-ip" value="$${external_sip_ip}"/> -->
+    <!-- rtp inactivity timeout -->
+    <param name="rtp-timeout-sec" value="300"/>
+    <param name="rtp-hold-timeout-sec" value="1800"/>
+    <!-- VAD choose one (out is a good choice); -->
+    <!-- <param name="vad" value="in"/> -->
+    <!-- <param name="vad" value="out"/> -->
+    <!-- <param name="vad" value="both"/> -->
+    <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+    <!--
+	These are enabled to make the default config work better out of the box.
+	If you need more than ONE domain you'll need to not use these options.
+
+    -->
+    <!--all inbound reg will look in this domain for the users -->
+    <param name="force-register-domain" value="$${domain}"/>
+    <!--all inbound reg will stored in the db using this domain -->
+    <param name="force-register-db-domain" value="$${domain}"/>
+    <!-- disable register and transfer which may be undesirable in a public switch -->
+    <!--<param name="disable-transfer" value="true"/>-->
+    <!--<param name="disable-register" value="true"/>-->
+    <!--<param name="enable-3pcc" value="true"/>-->
+    <!-- use stun when specified (default is true) -->
+    <!--<param name="stun-enabled" value="true"/>-->
+    <!-- use stun when specified (default is true) -->
+    <!-- set to true to have the profile determine stun is not useful and turn it off globally-->
+    <!--<param name="stun-auto-disable" value="true"/>-->
+
+	 <!-- the following can be used as workaround with bogus SRV/NAPTR records -->
+	 <!--<param name="disable-srv" value="false" />-->
+	 <!--<param name="disable-naptr" value="false" />-->
+
+  </settings>
+</profile>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal.xml b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal.xml
new file mode 100644
index 0000000000..dd1595d5ba
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal.xml
@@ -0,0 +1,313 @@
+<profile name="internal">
+  <!--
+      This is a sofia sip profile/user agent.  This will service exactly one ip and port.
+      In FreeSWITCH you can run multiple sip user agents on their own ip and port.
+      
+      When you hear someone say "sofia profile" this is what they are talking about.
+  -->
+  
+  <!-- http://wiki.freeswitch.org/wiki/Sofia_Configuration_Files -->
+  <!--aliases are other names that will work as a valid profile name for this profile-->
+  <aliases>
+    <!--
+    <alias name="default"/>
+    -->
+  </aliases>
+  <!-- Outbound Registrations -->
+  <gateways>
+    <X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
+  </gateways>
+  
+  <domains>
+    <!-- indicator to parse the directory for domains with parse="true" to get gateways-->
+    <!--<domain name="$${domain}" parse="true"/>-->
+    <!-- indicator to parse the directory for domains with parse="true" to get gateways and alias every domain to this profile -->
+    <!--<domain name="all" alias="true" parse="true"/>-->
+    <domain name="all" alias="true" parse="false"/> 
+  </domains>
+  
+  <settings>
+    <!--
+	When calls are in no media this will bring them back to media
+	when you press the hold button.
+    -->
+    <!--<param name="media-option" value="resume-media-on-hold"/> -->
+    <!--
+	This will allow a call after an attended transfer go back to 
+	 bypass media after an attended transfer.
+    -->
+    <!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
+    <!-- <param name="user-agent-string" value="FreeSWITCH Rocks!"/> -->
+    <param name="debug" value="0"/>
+	<!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. -->
+	<!-- <param name="shutdown-on-fail" value="true"/> -->
+    <param name="sip-trace" value="no"/>
+    <param name="log-auth-failures" value="true"/>
+    <param name="context" value="public"/>
+    <param name="rfc2833-pt" value="101"/>
+    <!-- port to bind to for sip traffic -->
+    <param name="sip-port" value="$${internal_sip_port}"/>
+    <param name="dialplan" value="XML"/>
+    <param name="dtmf-duration" value="2000"/>
+    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
+    <param name="rtp-timer-name" value="soft"/>
+    <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+    <param name="rtp-ip" value="$${local_ip_v4}"/>
+    <!-- ip address to bind to, DO NOT USE HOSTNAMES ONLY IP ADDRESSES -->
+    <param name="sip-ip" value="$${local_ip_v4}"/>
+    <param name="hold-music" value="$${hold_music}"/>
+    <param name="apply-nat-acl" value="nat.auto"/>
+
+    <!-- extended info parsing -->
+    <!-- <param name="extended-info-parsing" value="true"/> -->
+
+    <!--<param name="aggressive-nat-detection" value="true"/>-->
+    <!--
+	There are known issues (asserts and segfaults) when 100rel is enabled.
+	It is not recommended to enable 100rel at this time.
+    -->
+    <!--<param name="enable-100rel" value="true"/>-->
+    <!-- Enable Compact SIP headers. -->
+    <!--<param name="enable-compact-headers" value="true"/>-->
+    <!--
+	enable/disable session timers 
+    -->
+    <!--<param name="enable-timer" value="false"/>-->
+    <!--<param name="minimum-session-expires" value="120"/>-->
+    <param name="apply-inbound-acl" value="domains"/>
+    <!--
+	This defines your local network, by default we detect your local network
+	and create this localnet.auto ACL for this.
+    -->
+    <param name="local-network-acl" value="localnet.auto"/>
+    <!--<param name="apply-register-acl" value="domains"/>-->
+    <!--<param name="dtmf-type" value="info"/>-->
+
+
+    <!-- 'true' means every time 'first-only' means on the first register -->
+    <!--<param name="send-message-query-on-register" value="true"/>-->
+    
+      
+
+    <!-- Caller-ID type (choose one, can be overridden by inbound call type and/or sip_cid_type channel variable -->
+    <!-- Remote-Party-ID header -->
+    <!--<param name="caller-id-type" value="rpid"/>-->
+
+    <!-- P-*-Identity family of headers -->
+    <!--<param name="caller-id-type" value="pid"/>-->
+
+    <!-- neither one -->
+    <!--<param name="caller-id-type" value="none"/>-->
+
+
+
+    <param name="record-path" value="$${recordings_dir}"/>
+    <param name="record-template" value="${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
+    <!--enable to use presence -->
+    <param name="manage-presence" value="true"/>
+    <!--<param name="manage-shared-appearance" value="true"/>-->
+    <!-- used to share presence info across sofia profiles -->
+    <!-- Name of the db to use for this profile -->
+    <!--<param name="dbname" value="share_presence"/>-->
+    <!--<param name="presence-hosts" value="$${domain}"/>-->
+    <!-- ************************************************* -->
+    
+    <!-- This setting is for AAL2 bitpacking on G726 -->
+    <!-- <param name="bitpacking" value="aal2"/> -->
+    <!--max number of open dialogs in proceeding -->
+    <!--<param name="max-proceeding" value="1000"/>-->
+    <!--session timers for all call to expire after the specified seconds -->
+    <!--<param name="session-timeout" value="1800"/>-->
+    <!-- Can be 'true' or 'contact' -->
+    <!--<param name="multiple-registrations" value="contact"/>-->
+    <!--set to 'greedy' if you want your codec list to take precedence -->
+    <param name="inbound-codec-negotiation" value="generous"/>
+    <!-- if you want to send any special bind params of your own -->
+    <!--<param name="bind-params" value="transport=udp"/>-->
+    <!--<param name="unregister-on-options-fail" value="true"/>-->
+
+    <!-- TLS: disabled by default, set to "true" to enable -->
+    <param name="tls" value="$${internal_ssl_enable}"/>
+    <!-- additional bind parameters for TLS -->
+    <param name="tls-bind-params" value="transport=tls"/>
+    <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
+    <param name="tls-sip-port" value="$${internal_tls_port}"/>
+    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
+    <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
+    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
+    <param name="tls-version" value="$${sip_tls_version}"/>
+
+    <!-- turn on auto-flush during bridge (skip timer sleep when the socket already has data) 
+	 (reduces delay on latent connections default true, must be disabled explicitly)-->
+    <!--<param name="rtp-autoflush-during-bridge" value="false"/>-->
+    
+    <!--If you don't want to pass through timestamps from 1 RTP call to another (on a per call basis with rtp_rewrite_timestamps chanvar)-->
+    <!--<param name="rtp-rewrite-timestamps" value="true"/>-->
+    <!--<param name="pass-rfc2833" value="true"/>-->
+    <!--If you have ODBC support and a working dsn you can use it instead of SQLite-->
+    <!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
+    
+    <!--Uncomment to set all inbound calls to no media mode-->
+    <!--<param name="inbound-bypass-media" value="true"/>-->
+
+    <!--Uncomment to set all inbound calls to proxy media mode-->
+    <!--<param name="inbound-proxy-media" value="true"/>-->
+    
+    <!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
+    <!--<param name="inbound-late-negotiation" value="true"/>-->
+    
+    <!-- this lets anything register -->
+    <!--  comment the next line and uncomment one or both of the other 2 lines for call authentication -->
+    <!-- <param name="accept-blind-reg" value="true"/> -->
+
+    <!-- accept any authentication without actually checking (not a good feature for most people) -->
+    <!-- <param name="accept-blind-auth" value="true"/> -->
+    
+    <!-- suppress CNG on this profile or per call with the 'suppress_cng' variable -->
+    <!-- <param name="suppress-cng" value="true"/> -->
+    
+    <!--TTL for nonce in sip auth-->
+    <param name="nonce-ttl" value="60"/>
+    <!--Uncomment if you want to force the outbound leg of a bridge to only offer the codec 
+	that the originator is using-->
+    <!--<param name="disable-transcoding" value="true"/>-->
+    <!-- Handle 302 Redirect in the dialplan -->
+    <!--<param name="manual-redirect" value="true"/> -->
+    <!-- Disable Transfer -->
+    <!--<param name="disable-transfer" value="true"/> -->
+    <!-- Disable Register -->
+    <!--<param name="disable-register" value="true"/> -->
+    <!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
+    <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
+    <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
+    <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
+    <param name="auth-calls" value="$${internal_auth_calls}"/>
+    <!-- Force the user and auth-user to match. -->
+    <param name="inbound-reg-force-matching-username" value="true"/>
+    <!-- on authed calls, authenticate *all* the packets not just invite -->
+    <param name="auth-all-packets" value="false"/>
+    
+    <!-- external_sip_ip
+      Used as the public IP address for SDP.
+      Can be an one of:
+           ip address            - "12.34.56.78"
+           a stun server lookup  - "stun:stun.server.com"
+           a DNS name            - "host:host.server.com"
+           auto                  - Use guessed ip.
+           auto-nat              - Use ip learned from NAT-PMP or UPNP
+       -->
+    <param name="ext-rtp-ip" value="auto-nat"/>
+    <param name="ext-sip-ip" value="auto-nat"/>
+
+    <!-- rtp inactivity timeout -->
+    <param name="rtp-timeout-sec" value="300"/>
+    <param name="rtp-hold-timeout-sec" value="1800"/>
+    <!-- VAD choose one (out is a good choice); -->
+    <!-- <param name="vad" value="in"/> -->
+    <!-- <param name="vad" value="out"/> -->
+    <!-- <param name="vad" value="both"/> -->
+    <!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
+    <!--
+	These are enabled to make the default config work better out of the box.
+	If you need more than ONE domain you'll need to not use these options.
+
+    -->
+    <!--all inbound reg will look in this domain for the users -->
+    <param name="force-register-domain" value="$${domain}"/>
+    <!--force the domain in subscriptions to this value -->
+    <param name="force-subscription-domain" value="$${domain}"/>
+    <!--all inbound reg will stored in the db using this domain -->
+    <param name="force-register-db-domain" value="$${domain}"/>
+
+    <!-- enable rtcp on every channel also can be done per leg basis with rtcp_audio_interval_msec variable set to passthru to pass it across a call-->
+    <!--<param name="rtcp-audio-interval-msec" value="5000"/>-->
+    <!--<param name="rtcp-video-interval-msec" value="5000"/>-->
+
+    <!--force suscription expires to a lower value than requested-->
+    <!--<param name="force-subscription-expires" value="60"/>-->
+    <!-- disable register and transfer which may be undesirable in a public switch -->
+    <!--<param name="disable-transfer" value="true"/>-->
+    <!--<param name="disable-register" value="true"/>-->
+
+    <!-- 
+	 enable-3pcc can be set to either 'true' or 'proxy', true accepts the call
+	 right away, proxy waits until the call has been answered then sends accepts
+    -->
+    <!--<param name="enable-3pcc" value="true"/>-->
+	
+    <!-- use at your own risk or if you know what this does.-->
+    <!--<param name="NDLB-force-rport" value="true"/>-->
+    <!--
+	Choose the realm challenge key. Default is auto_to if not set. 
+	
+	auto_from  - uses the from field as the value for the sip realm.
+	auto_to    - uses the to field as the value for the sip realm.
+	<anyvalue> - you can input any value to use for the sip realm.
+
+	If you want URL dialing to work you'll want to set this to auto_from.
+	
+	If you use any other value besides auto_to or auto_from you'll loose
+	the ability to do multiple domains.
+	
+	Note: comment out to restore the behavior before 2008-09-29
+
+    -->
+    <param name="challenge-realm" value="auto_from"/>
+    <!--<param name="disable-rtp-auto-adjust" value="true"/>-->
+    <!-- on inbound calls make the uuid of the session equal to the sip call id of that call -->
+    <!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
+    <!-- on outbound calls set the callid to match the uuid of the session -->
+    <!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
+    <!-- set to false disable this feature -->
+    <!--<param name="rtp-autofix-timing" value="false"/>-->
+
+    <!-- set this param to false if your gateway for some reason hates X- headers that it is supposed to ignore-->
+    <!--<param name="pass-callee-id" value="false"/>-->
+
+    <!-- clear clears them all or supply the name to add or the name prefixed with ~ to remove
+	 valid values:
+
+	 clear
+	 CISCO_SKIP_MARK_BIT_2833
+	 SONUS_SEND_INVALID_TIMESTAMP_2833
+
+    -->
+    <!--<param name="auto-rtp-bugs" data="clear"/>-->
+
+	 <!-- the following can be used as workaround with bogus SRV/NAPTR records -->
+	 <!--<param name="disable-srv" value="false" />-->
+	 <!--<param name="disable-naptr" value="false" />-->
+
+	<!-- The following can be used to fine-tune timers within sofia's transport layer 
+		 Those settings are for advanced users and can safely be left as-is -->
+		
+	<!-- Initial retransmission interval (in milliseconds).
+		Set the T1 retransmission interval used by the SIP transaction engine. 
+		The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G. 	 -->
+	<!-- <param name="timer-T1" value="500" /> -->
+	
+	<!--  Transaction timeout (defaults to T1 * 64).
+		Set the T1x64 timeout value used by the SIP transaction engine.
+		The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine. 
+		The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1. -->
+	<!-- <param name="timer-T1X64" value="32000" /> -->
+	
+	
+	<!-- Maximum retransmission interval (in milliseconds).
+		Set the maximum retransmission interval used by the SIP transaction engine. 
+		The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine. 
+		Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially 
+		until the timer B fires.  -->
+	<!-- <param name="timer-T2" value="4000" /> -->
+		
+	<!--
+		Transaction lifetime (in milliseconds).
+		Set the lifetime for completed transactions used by the SIP transaction engine. 
+		A completed transaction is kept around for the duration of T4 in order to catch late responses. 
+		The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K. -->
+	<!-- <param name="timer-T4" value="4000" /> -->
+    
+  </settings>
+</profile>
+
diff --git a/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal/example.xml b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal/example.xml
new file mode 100644
index 0000000000..fc061f96d1
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/sip_profiles/internal/example.xml
@@ -0,0 +1,37 @@
+<include>
+  <!--<gateway name="asterlink.com">-->
+  <!--/// account username *required* ///-->
+  <!--<param name="username" value="cluecon"/>-->
+  <!--/// auth realm: *optional* same as gateway name, if blank ///-->
+  <!--<param name="realm" value="asterlink.com"/>-->
+  <!--/// username to use in from: *optional* same as  username, if blank ///-->
+  <!--<param name="from-user" value="cluecon"/>-->
+  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
+  <!--<param name="from-domain" value="asterlink.com"/>-->
+  <!--/// account password *required* ///-->
+  <!--<param name="password" value="2007"/>--> 
+  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
+  <!--<param name="extension" value="cluecon"/>-->
+  <!--/// proxy host: *optional* same as realm, if blank ///-->
+  <!--<param name="proxy" value="asterlink.com"/>-->
+  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
+  <!--<param name="register-proxy" value="mysbc.com"/>-->
+  <!--/// expire in seconds: *optional* 3600, if blank ///-->
+  <!--<param name="expire-seconds" value="60"/>-->
+  <!--/// do not register ///-->
+  <!--<param name="register" value="false"/>-->
+  <!-- which transport to use for register -->
+  <!--<param name="register-transport" value="udp"/>-->
+  <!--How many seconds before a retry when a failure or timeout occurs -->
+  <!--<param name="retry-seconds" value="30"/>-->
+  <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
+  <!--<param name="caller-id-in-from" value="false"/>-->
+  <!--extra sip params to send in the contact-->
+  <!--<param name="contact-params" value="tport=tcp"/>-->
+  <!-- Put the extension in the contact -->
+  <!--<param name="extension-in-contact" value="true"/>-->
+  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
+  <!--<param name="ping" value="25"/>-->
+  <!--<param name="cid-type" value="rpid"/>-->
+  <!--</gateway>-->
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/tetris.ttml b/bbb-voice-conference/config/freeswitch/conf/tetris.ttml
new file mode 100644
index 0000000000..2e33a5d69a
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/tetris.ttml
@@ -0,0 +1,69 @@
+%(428,0,659,494)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(107,0,659,494)
+%(107,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(428,0,330,440)
+%(214,0,330,440)
+%(214,0,523,440)
+%(428,0,659,523)
+%(214,0,587,494)
+%(214,0,523,440)
+%(214,0,494,415)
+%(214,0,494,440)
+%(214,0,494,415)
+%(214,0,523,440)
+%(428,0,587,494)
+%(428,0,659,523)
+%(428,0,523,440)
+%(428,0,330,440)
+%(857,0,330,440)
+%(214,0,0,0)
+%(428,0,587,349)
+%(214,0,698,440)
+%(214,0,880,523)
+%(107,0,880,523)
+%(107,0,880,523)
+%(214,0,784,494)
+%(214,0,698,440)
+%(642,0,659,392)
+%(214,0,523,330)
+%(214,0,659,392)
+%(107,0,659,440)
+%(107,0,659,392)
+%(214,0,587,349)
+%(214,0,523,330)
+%(214,0,494,415)
+%(214,0,494,330)
+%(214,0,494,415)
+%(214,0,523,440)
+%(214,0,587,494)
+%(214,0,587,415)
+%(214,0,659,523)
+%(214,0,659,415)
+%(214,0,523,440)
+%(214,0,523,330)
+%(428,0,440,330)
+%(428,0,440,330)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,247,208)
+%(857,0,262,220)
+%(857,0,220,165)
+%(857,0,208,165)
+%(428,0,247,208)
+%(428,0,0,0)
+%(857,0,330,262)
+%(857,0,262,220)
+%(857,0,294,247)
+%(857,0,208,165)
+%(428,0,262,220)
+%(428,0,330,262)
+%(857,0,440,330)
+%(857,0,415,294)
+%(857,0,0,0)
diff --git a/bbb-voice-conference/config/freeswitch/conf/vars.xml b/bbb-voice-conference/config/freeswitch/conf/vars.xml
new file mode 100644
index 0000000000..7ec4d0475c
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/vars.xml
@@ -0,0 +1,241 @@
+<include>
+  <!-- Preprocessor Variables
+       These are introduced when configuration strings must be consistent across modules. 
+       NOTICE: YOU CAN NOT COMMENT OUT AN X-PRE-PROCESS line, Remove the line instead.
+       
+       WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
+       
+       YOU SHOULD CHANGE THIS default_password value if you don't want to be subject to any
+       toll fraud in the future.  It's your responsibility to secure your own system.
+       
+       This default config is used to demonstrate the feature set of FreeSWITCH.
+       
+       WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
+  -->
+  <X-PRE-PROCESS cmd="set" data="default_password=1234"/>
+  <!-- Did you change it yet? -->
+
+  <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>
+
+  <!--
+      This setting is what sets the default domain FreeSWITCH will use if all else fails.
+      
+      FreeSWICH will default to $${local_ip_v4} unless changed.  Changing this setting does 
+      affect the sip authentication.  Please review conf/directory/default.xml for more
+      information on this topic.
+  -->
+  <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
+  <X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
+  <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
+  <X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
+
+  <!--
+      Enable ZRTP globally you can override this on a per channel basis
+      
+      http://wiki.freeswitch.org/wiki/ZRTP (on how to enable zrtp)
+  -->
+  <X-PRE-PROCESS cmd="set" data="zrtp_secure_media=true"/>
+
+  <!-- 
+       Examples of codec options: (module must be compiled and loaded)
+       
+       codecname[@8000h|16000h|32000h[@XXi]]
+       
+       XX is the frame size must be multples allowed for the codec
+       FreeSWITCH can support 10-120ms on some codecs. 
+       We do not support exceeding the MTU of the RTP packet.
+
+
+       iLBC@30i         - iLBC using mode=30 which will win in all cases.
+       DVI4@8000h@20i   - IMA ADPCM 8kHz using 20ms ptime. (multiples of 10)
+       DVI4@16000h@40i  - IMA ADPCM 16kHz using 40ms ptime. (multiples of 10)
+       speex@8000h@20i  - Speex 8kHz using 20ms ptime.
+       speex@16000h@20i - Speex 16kHz using 20ms ptime.
+       speex@32000h@20i - Speex 32kHz using 20ms ptime.
+       BV16             - BroadVoice 16kb/s narrowband, 8kHz
+       BV32             - BroadVoice 32kb/s wideband, 16kHz
+       G7221@16000h     - G722.1 16kHz (aka Siren 7)
+       G7221@32000h     - G722.1C 32kHz (aka Siren 14)
+       CELT@32000h      - CELT 32kHz, only 10ms supported
+       CELT@48000h      - CELT 48kHz, only 10ms supported
+       GSM@40i          - GSM 8kHz using 40ms ptime. (GSM is done in multiples of 20, Default is 20ms)
+       G722             - G722 16kHz using default 20ms ptime. (multiples of 10)
+       PCMU             - G711 8kHz ulaw using default 20ms ptime. (multiples of 10)
+       PCMA             - G711 8kHz alaw using default 20ms ptime. (multiples of 10)
+       G726-16          - G726 16kbit adpcm using default 20ms ptime. (multiples of 10)
+       G726-24          - G726 24kbit adpcm using default 20ms ptime. (multiples of 10)
+       G726-32          - G726 32kbit adpcm using default 20ms ptime. (multiples of 10)
+       G726-40          - G726 40kbit adpcm using default 20ms ptime. (multiples of 10)
+       AAL2-G726-16     - Same as G726-16 but using AAL2 packing. (multiples of 10)
+       AAL2-G726-24     - Same as G726-24 but using AAL2 packing. (multiples of 10)
+       AAL2-G726-32     - Same as G726-32 but using AAL2 packing. (multiples of 10)
+       AAL2-G726-40     - Same as G726-40 but using AAL2 packing. (multiples of 10)
+       LPC              - LPC10 using 90ms ptime (only supports 90ms at this time in FreeSWITCH)
+       L16              - L16 isn't recommended for VoIP but you can do it. L16 can exceed the MTU rather quickly.
+       
+       These are the passthru audio codecs:
+       
+       G729             - G729 in passthru mode. (mod_g729)
+       G723             - G723.1 in passthru mode. (mod_g723_1)
+       AMR              - AMR in passthru mode. (mod_amr)
+       
+       These are the passthru video codecs: (mod_h26x)
+       
+       H261             - H.261 Video
+       H263             - H.263 Video
+       H263-1998        - H.263-1998 Video
+       H263-2000        - H.263-2000 Video
+       H264             - H.264 Video
+       
+       RTP Dynamic Payload Numbers currently used in FreeSWITCH and what for.
+
+       96  - AMR
+       97  - iLBC (30)
+       98  - iLBC (20)
+       99  - Speex 8kHz, 16kHz, 32kHz
+       100 -
+       101 - telephone-event
+       102 -
+       103 - 
+       104 - 
+       105 - 
+       106 - BV16
+       107 - G722.1 (16kHz)
+       108 -
+       109 -
+       110 -
+       111 -
+       112 -
+       113 -
+       114 - CELT 32kHz, 48kHz
+       115 - G722.1C (32kHz)
+       116 -
+       117 - SILK 8kHz
+       118 - SILK 12kHz
+       119 - SILK 16kHz
+       120 - SILK 24kHz
+       121 - AAL2-G726-40 && G726-40
+       122 - AAL2-G726-32 && G726-32
+       123 - AAL2-G726-24 && G726-24
+       124 - AAL2-G726-16 && G726-16
+       125 - 
+       126 -
+       127 - BV32
+
+  -->
+  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=speex@16000h@20i,speex@8000h@20iG7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
+  <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
+
+  <!--
+      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 
+  --> 
+
+  <X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
+  <X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
+  <!-- 
+       THIS IS ONLY USED FOR DINGALING
+
+       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: dingaling.conf.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
+
+  <!-- NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
+       
+       If you're going to load test FreeSWITCH please input real IP addresses
+       for external_rtp_ip and external_sip_ip
+  -->
+
+  <!-- external_rtp_ip
+       Can be an one of:
+           ip address: "12.34.56.78"
+           a stun server lookup: "stun:stun.server.com"
+           a DNS name: "host:host.server.com"
+       where fs.mydomain.com is a DNS A record-useful when fs is on
+       a dynamic IP address, and uses a dynamic DNS updater.
+       If unspecified, the bind_server_ip value is used.
+       Used by: sofia.conf.xml dingaling.conf.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
+
+  <!-- external_sip_ip
+      Used as the public IP address for SDP.
+       Can be an one of:
+           ip address: "12.34.56.78"
+           a stun server lookup: "stun:stun.server.com"
+           a DNS name: "host:host.server.com"
+       where fs.mydomain.com is a DNS A record-useful when fs is on
+       a dynamic IP address, and uses a dynamic DNS updater.
+       If unspecified, the bind_server_ip value is used.
+       Used by: sofia.conf.xml dingaling.conf.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
+
+  <!-- unroll-loops
+       Used to turn on sip loopback unrolling.
+  --> 
+  <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
+
+  <!-- outbound_caller_id and outbound_caller_name
+       The caller ID telephone number we should use when calling out.
+       Used by: conference.conf.xml and user directory for default
+       outbound callerid name and number.
+  -->
+  <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
+  <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
+
+  <!-- various debug and defaults -->
+  <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
+  <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
+  <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
+  <X-PRE-PROCESS cmd="set" data="default_country=US"/>
+
+  <X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2200,400,450)"/>
+  <X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440.0,480.0)"/>
+  <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440.0,0.0)"/>
+  <X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425.0,0.0)"/>
+  <X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425,0)"/>
+  <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
+  <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
+  <!--
+      Setting up your default sip provider is easy.
+      Below are some values that should work in most cases.
+      
+      These are for conf/directory/default/example.com.xml
+  -->
+  <X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/>
+  <!-- true or false -->
+  <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
+  <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
+
+  <!--
+      SIP and TLS settings. http://wiki.freeswitch.org/wiki/Tls
+  -->
+  <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1"/>
+
+  <!-- Internal SIP Profile -->
+  <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
+  <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
+  <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
+  <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
+  <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
+
+  <!-- External SIP Profile -->
+  <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
+  <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
+  <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
+  <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
+  <X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/ssl"/>
+</include>
diff --git a/bbb-voice-conference/config/freeswitch/conf/voicemail.tpl b/bbb-voice-conference/config/freeswitch/conf/voicemail.tpl
new file mode 100644
index 0000000000..aede2b8f08
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/voicemail.tpl
@@ -0,0 +1,42 @@
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}@${voicemail_domain}>
+To: <${voicemail_email}>
+Subject: Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}
+X-Priority: ${voicemail_priority}
+X-Mailer: FreeSWITCH
+
+Content-Type: multipart/alternative; 
+	boundary="000XXX000"
+
+--000XXX000
+Content-Type: text/plain; charset=ISO-8859-1; Format=Flowed
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+Created: ${voicemail_time}
+From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}>
+Duration: ${voicemail_message_len}
+Account: ${voicemail_account}@${voicemail_domain}
+
+--000XXX000
+Content-Type: text/html; charset=ISO-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Voicemail from "${voicemail_caller_id_name}" <${voicemail_caller_id_number}> ${voicemail_message_len}</title>
+<meta content="text/html; charset=iso-8859-1" http-equiv="content-type"/>
+</head>
+<body>
+
+<font face=arial>
+<b>Message From "${voicemail_caller_id_name}" <A HREF="tel:${voicemail_caller_id_number}">${voicemail_caller_id_number}</A></b><br>
+<hr noshade size=1>
+Created: ${voicemail_time}<br>
+Duration: ${voicemail_message_len}<br>
+Account: ${voicemail_account}@${voicemail_domain}<br>
+
+</body>
+</html>
+--000XXX000--
diff --git a/bbb-voice-conference/config/freeswitch/conf/web-vm.tpl b/bbb-voice-conference/config/freeswitch/conf/web-vm.tpl
new file mode 100644
index 0000000000..1c6563320b
--- /dev/null
+++ b/bbb-voice-conference/config/freeswitch/conf/web-vm.tpl
@@ -0,0 +1,13 @@
+<title>FreeSWITCH Voicemail</title>
+<body bgcolor=eeeeee>
+
+<table bgcolor=ffffff width=75% align=center style="border-style:inset;border-width:2px">
+<tr><td bgcolor=1010ff align=center valign=center style="border-style:inset;border-width:2px">
+<font face=arial size=+2 color=ffffff>Voicemail Messages</font>
+</td></tr>
+<tr><td>
+
+<!break>
+
+</td></tr>
+</table>
-- 
GitLab