Commit Graph

858 Commits

Author SHA1 Message Date
DigiDaz 98a184c835 Fixed scripts to get multiserver memcache working (#1795) 2016-08-04 11:40:36 -06:00
FusionPBX 7693844dde Update index.lua
Set regex_match = false; before the loop.
2016-08-03 00:23:58 -06:00
Alexey Melnichuk f214625ead Change. Use `service::control` event to control services (#1790)
* Change. Use `service::control` event to control services

This is more FS way. E.g. sofia sends `sofia::register` event
and add all information to headers. So now `service` script
emit `fusion::service::control` event and each service responsible
for test its own name. This also allows add in future evnets to
e.g. monitor service status like `fusion::service::satus` so it
will be possible write service which will be restart services.

* Change. rename service name from `flow` to `call_flow`
2016-08-02 14:00:49 -06:00
FusionPBX 294acd84ff Update ivr.conf.lua
IVR Menu direct dial move it before the options defined by the users so that users can override it.
2016-08-02 10:17:02 -06:00
FusionPBX 795113c2b1 Update macro.lua
Add forward_add_intro to macro.lua.
2016-07-29 09:46:56 -06:00
Alexey Melnichuk e7c813a559 Simplify `is_uuid` function. (#1781)
* Simplify `is_uuid` function.

Also because it returns now value itself it possible write
```Lua
my_uuid = is_uuid(value1) or is_uuid(value2)
```

* Change. Ensure `is_uuid` returns only boolean value
2016-07-28 16:49:36 -06:00
Alexey Melnichuk 58ec22a759 Add. Support service stop command for odbc_pool. (#1782) 2016-07-28 08:16:54 -06:00
Mafoo 951bef85d4 BugFix-add missing default ringback to lua (#1682)
add processing of when ringback is set to default_ringback and correctly
set it to the current value of the globalvar for ringback
2016-07-27 20:06:41 -06:00
FusionPBX eef8fdbc12 Update index.lua
Improve on the call center agent status use agent_authorized true instead of auto_authorized.
2016-07-27 19:17:10 -06:00
DigiDaz 00b2449168 Allow * 22 login/logout of queue without password by adding variable auto_authorized to dialplan (#1776) 2016-07-27 19:13:50 -06:00
Alexey Melnichuk a73b8680cb Add `service` script and make timout optional for EventConsumer ctor (#1775)
* Change. Pass pid file first. Because there really no need pass timeout.
Add. `fsc` script to be able shutdown MWI and Call Flow subscribe services.

* Change. rename `fsc` to `service`.

* Change. Use `stop` command instead of `shutdown`
2016-07-26 11:58:37 -06:00
FusionPBX da6f71323c Update languages.lua
Don't cache the not found.
2016-07-24 00:22:18 -06:00
FusionPBX 92f9f45e6c Update languages.lua
When handling phrases get the specific phrase instead of all of them. Remove the code that tried to build the XML from the file system. Replace it with a 'not found' response so that FreeSWITCH will check the filesystem for the XML of the phrase that was not found.
2016-07-24 00:09:48 -06:00
FusionPBX b236a737bf Create is_uuid.lua
Add a new lua function to determine if a string is a uuid.
2016-07-23 13:40:57 -06:00
FusionPBX 90bd147d43 Update directory.lua
Add a timeout_destination option for directory.lua.
2016-07-22 11:48:29 -06:00
Mafoo 613b9c9bea Enhance Voicemail Emails (#1738)
* Renamed template variable account to voicemail_id and adjusted all
templates
* Added ${voicemail_description}
* Added ${voicemail_name_formatted} (will render the voicemail identifier in accordance with Default/Domain Settings > Voicemail > display_domain_name)
* Updated templates to be consistent spacing
* Updated templates to include use of ${voicemail_name_formatted}
* Changed ${account} to be voicemail_name_formatted instead of id
2016-07-22 09:23:03 -06:00
Alexey Melnichuk 207cf08e88 Fix. Properly stop (e.g. remove pid file) event consumer loop in case of error. (#1766) 2016-07-21 07:47:54 -06:00
pixel2920 c26fc36bd1 Add silence_stream to default voicemail message (#1761)
This corrects the issue in #1760, where the default voicemail message was not being played and instead skipped directly to recording (start recording tone).
2016-07-18 22:55:41 -06:00
FusionPBX fda0e722b4 Update conference.conf.lua
Add conference controls to the xml handler.
2016-07-17 15:42:14 -06:00
FusionPBX 338936c906 Update conference.conf.lua
Conference profile parameters are now working from the database.
2016-07-17 01:15:35 -06:00
FusionPBX 2373b38630 Update play_greeting.lua
Voicemail greeting will not play after being transferred from IVR #1749. Replace session:streamFile( with session:execute("playback", fixes this problem.
2016-07-15 08:43:53 -06:00
Alexey Melnichuk 10f460cfd2 Fix. Lua can not generate non CUSTOM event with subclass. (#1756)
There 2 way.
First one generate `MEMCACHE` event without subclass
Second generate `CUSTOM` event with subclass e.g. `fusion::memcache`
2016-07-14 11:33:54 -06:00
Alexey Melnichuk 1834be5042 Add. Support `onInterval` method to EventConsumer class (#1747)
* Add. Support `onInterval` method to EventConsumer class

Usage
```Lua
-- execute action each 30 sec
events:onInterval(30*1000, function() end)

-- execute action once after 5 min
events:onIntervalOnce(5*60*1000, function() end)
```

* Fix. Remove timers

* Fix. Reset timer before callback

It allows stop timer inside callback.
Also it produce more accurate interval invocation
if callback take quite a long time.
E.g. Interval = 10 sec and callback took 5 sec then
if we reset timer after this callback then gap between
invocation will be 15 sec.

* Add. Timers now have TimeEvent class type.

Add. `reset` method to IntervalTimer class.

```Lua
events:onIntervalOnce(1000, function(self, timer)
  -- timer has type TimeEvent

  -- restart timer so it will be invoke again
  timer:restart()

  -- or reset new interval
  -- timer:reset(5000)
end)
```

* Fix. Typo in variable name
2016-07-13 09:43:51 -06:00
Alexey Melnichuk 9da40dc7b1 Fix. Fusion set rate=48000 to all streams. (#1746) 2016-07-12 08:09:54 -06:00
Mafoo 9bc0fded96 BugFix-Add PROJECT_PATH for lua (#1740)
added project_path for lua to use where it needs to build urls
2016-07-08 13:12:37 -06:00
Alexey Melnichuk a52e9c3626 Add. EventConsumer class. (#1741)
Rewrite MWI and CallFlow subscribe handlers based on EventConsumer class.
Also on my test VirtualBox/Debian system Lua function `os.clock` produce
very strange result(delta ~0.015 for 1 second) so I switch to `os.time`.
Now to to stop this background Lua scripts it possible send CUSTOM event
with subclass `fusion::XXX::shutdown`. Where XXX is `mwi` or `flow`.

Usage of EventConsumer class
```Lua
-- create new object with timeout one minute
local events = EventConsumer.new(60000)

-- bind to some FS event
events:bind("SHUTDOW", function(self, name, event) ... end)

-- bind to another FS event with subclass
events:bind("CUSTOM::fusion::mwi::shutdown", function(self, name, event) ... end)

-- handle timeout event
events:on("TIMEOUT", function(self, name) ... end)

--run event loop
events:run()
```
2016-07-08 13:10:43 -06:00
FusionPBX 1a76484b5f Update local_stream.conf.lua
Set a default rate for chime list if one is not provided.
2016-07-06 16:27:22 -06:00
FusionPBX 0f84dbc9cd Update page.lua
Update page.lua add support for rtp_secure_media=true.
2016-07-06 14:48:00 -06:00
Alexey Melnichuk 79cdf70ebd Add. Support multiple events. (#1736)
Now subscriber stops and remove pid files when FS shutdown.
So if you use Status->Services you will see correct status.
2016-07-06 12:37:16 -06:00
Alexey Melnichuk 9e5ce425b5 Fix. `call_flow_monitor` use new field call_flow_alternate_label instead old `call_flow_anti_label` (#1730) 2016-07-04 09:32:22 -06:00
Alexey Melnichuk dc3575c05c Fix. Send message count in each MWI notify. (#1728)
* move send event code to separate function
* move get message count to separate function
2016-07-01 10:08:55 -06:00
FusionPBX 35149d0ff3 Update page.lua
Add leading zero support to page.lua.
2016-06-30 15:08:14 -06:00
FusionPBX 2b9311031d Update local_stream.conf.lua
Add a more generic query to make this code compatible with MySQL/Mariadb.
2016-06-30 10:03:32 -06:00
Alexey Melnichuk ba857b6acf Add. Event handler to support MWI. (#1720)
* Add. Event handler to support MWI.

* Fix. store cache only when get data from memcache

* Change. Use UUID as PID.
2016-06-30 09:55:37 -06:00
Alexey Melnichuk a6a6a1aaac Fix. `event_socket_mkdir` for Windows system. (#1724) 2016-06-30 08:11:52 -06:00
FusionPBX 3ca2b832ca Update local_stream.conf.lua
Changes to the conditions that build the name to make sure it builds it correctly.
2016-06-30 01:40:48 -06:00
FusionPBX 4bbf0983bf Update local_stream.conf.lua
Use the name/rate for global music on hold or domain_name/name/rate for local. If configuring as a default leave the /rate off the end of the string.
2016-06-30 01:18:17 -06:00
FusionPBX 05ff231f9a Update local_stream.conf.lua
Remove the default stream will handle it another way.
2016-06-29 17:19:21 -06:00
FusionPBX d884a18cc0 Update local_stream.conf.lua
Use UUID for the name of the stream. Add a default to handle systems using default.
2016-06-29 16:25:17 -06:00
FusionPBX 0354e137ea Update local_stream.conf.lua
Check if row.music_on_hold_timer_name is empty.
2016-06-28 12:24:31 -06:00
Alexey Melnichuk 873c7ad0a2 Change. remove CC configuration dependencies from mod_commands. (#1711) 2016-06-27 07:52:29 -06:00
Alexey Melnichuk ebfa71298d Add. option to store setting in memcache. (#1707) 2016-06-26 11:43:32 -06:00
Alexey Melnichuk 5a58cf1436 Fix. Set default values for max length settings (#1706) 2016-06-26 11:42:33 -06:00
Alexey Melnichuk c0739c4d40 Fix. Load required libraries in voicemail. (#1705) 2016-06-26 09:03:21 -06:00
FusionPBX c3463392eb Update ivr.conf.lua
If the IVR Menu recordings are base64 don't update the path.
2016-06-24 18:40:14 -06:00
markjcrane 4757123d4b Get the settings.recordings.storage_type for the ivr menu using xml handler. 2016-06-24 14:55:16 -06:00
Alexey Melnichuk 0a0383db9a Add. Handler for SUBSCRIBE method for call flow application. (#1701)
* Add. Handler for SUBSCRIBE method for call flow application.

Usage:
1. Run form fs_cli `luarun call_flow_subscribe`
2. Create new call flow extension and set feature code to `flow+<EXTENSION>`(e.g. `flow+401`).
3. Set on the phone BLF key to `flow+401`

This code based on `mod_valet_parking`.

* Add. prevent running 2 copy of script.

Remove some unused vars and simplify implementation.

* Fix. Use correct protocol for send event.

* Fix. Do escape SQL arguments

* Fix. escape `+` sign in call flow extension.
2016-06-24 10:32:19 -06:00
Mafoo f88691618e Enhance-make voicemail length configurable (#1702)
allow the voicemail max_lengths to be configured from domain/default
settings
2016-06-24 10:28:47 -06:00
FusionPBX 23fb7118a6 Update local_stream.conf.lua
Music on hold set the default timer name to 'soft'.
2016-06-23 16:42:12 -06:00
markjcrane af0c7cfe6a Uncomment two lines to restore the debug check. 2016-06-23 15:46:59 -06:00