Commit Graph

907 Commits

Author SHA1 Message Date
FusionPBX 983680491b Update index.lua
Set regex_match = false; before the loop.
2016-08-03 00:23:58 -06:00
Alexey Melnichuk 868c7dd153 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 2ab876d5c4 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 c87e0f6f05 Update macro.lua
Add forward_add_intro to macro.lua.
2016-07-29 09:46:56 -06:00
Alexey Melnichuk 91ce171472 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 daa3d72014 Add. Support service stop command for odbc_pool. (#1782) 2016-07-28 08:16:54 -06:00
Mafoo e3a3bbcd9f 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 5a66d97dc2 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 f08094dea1 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 d47151ba8d 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 e8ab1e4a89 Update languages.lua
Don't cache the not found.
2016-07-24 00:22:18 -06:00
FusionPBX 32f803a1b3 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 2c0452d591 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 12b79ad24f Update directory.lua
Add a timeout_destination option for directory.lua.
2016-07-22 11:48:29 -06:00
Mafoo 4ed30bfe53 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 149064f5e1 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 e1feb2364d 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 77712fcbf9 Update conference.conf.lua
Add conference controls to the xml handler.
2016-07-17 15:42:14 -06:00
FusionPBX da8349207a Update conference.conf.lua
Conference profile parameters are now working from the database.
2016-07-17 01:15:35 -06:00
FusionPBX 3bf7b917d4 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 d2ce44736a 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 9076df2302 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 44196ae739 Fix. Fusion set rate=48000 to all streams. (#1746) 2016-07-12 08:09:54 -06:00
Mafoo 904a52434a 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 cae644c8a1 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 39bc0cad29 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 0d73573770 Update page.lua
Update page.lua add support for rtp_secure_media=true.
2016-07-06 14:48:00 -06:00
Alexey Melnichuk 3d1f5b6866 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 68d65bf835 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 b7506b5b18 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 849f8fd050 Update page.lua
Add leading zero support to page.lua.
2016-06-30 15:08:14 -06:00
FusionPBX 069ad5d580 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 8a72e2afd8 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 65d9424078 Fix. `event_socket_mkdir` for Windows system. (#1724) 2016-06-30 08:11:52 -06:00
FusionPBX 2f9c1a7c9f 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 b0c69d6703 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 bc670abb32 Update local_stream.conf.lua
Remove the default stream will handle it another way.
2016-06-29 17:19:21 -06:00
FusionPBX eb8b64dcd3 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 bc46191440 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 2d49b1b211 Change. remove CC configuration dependencies from mod_commands. (#1711) 2016-06-27 07:52:29 -06:00
Alexey Melnichuk f8c2904aaf Add. option to store setting in memcache. (#1707) 2016-06-26 11:43:32 -06:00
Alexey Melnichuk a4dfa0c04d Fix. Set default values for max length settings (#1706) 2016-06-26 11:42:33 -06:00
Alexey Melnichuk 7a9a4bc3da Fix. Load required libraries in voicemail. (#1705) 2016-06-26 09:03:21 -06:00
FusionPBX 8f26972c20 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 3e2dea7b70 Get the settings.recordings.storage_type for the ivr menu using xml handler. 2016-06-24 14:55:16 -06:00
Alexey Melnichuk 61d6f0be6c 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 628c825201 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 653a5e007d Update local_stream.conf.lua
Music on hold set the default timer name to 'soft'.
2016-06-23 16:42:12 -06:00
markjcrane 6af584afd5 Uncomment two lines to restore the debug check. 2016-06-23 15:46:59 -06:00
markjcrane 8c7be13133 Add full path to the music on hold chime list. 2016-06-23 15:29:14 -06:00
markjcrane 022247c280 Update music_on_hold_timer to timer_name. 2016-06-23 13:35:53 -06:00
markjcrane 9e175c3d3b Add sip_h_X- prefix to the accountcode in pin_number.lua. 2016-06-22 15:05:33 -06:00
markjcrane 6847889d76 Add domain_uuid check to pin_number.lua. 2016-06-22 13:52:43 -06:00
markjcrane 2fbcf0dddb Remove some trailing spaces and update the copyright year in pin_number.lua. 2016-06-21 19:37:25 -06:00
markjcrane 54354361c0 Add database support to pin_number.lua. 2016-06-21 19:34:17 -06:00
markjcrane 6d6a3a3574 Increase the voicemail greeting length that is allowed to 90 seconds. 2016-06-21 18:35:05 -06:00
markjcrane 7e801f0b76 Correct the variable name. 2016-06-13 19:06:59 -06:00
markjcrane 0ae7d5e2e4 Replace the variable with the path to the sounds directory. 2016-06-13 19:04:23 -06:00
markjcrane bd6b2fb18f Rename local_stream.lua to local_stream.conf.lua. 2016-06-13 18:50:41 -06:00
markjcrane e026c3e5e6 Add local_stream.lua to xml_handler. 2016-06-13 18:30:32 -06:00
FusionPBX 52b5652319 Update call_flow.lua
Call flow feature code update to play the right audio file.
2016-06-12 14:14:52 -06:00
FusionPBX 6ee20145fe Update call_flow.lua
Inside call_flow.lua rename anti to alternate.
2016-06-12 14:02:57 -06:00
FusionPBX 612098e1bc Update call_flow.lua
Rename the variables in call_flow.lua to match. New variables call_flow_sound and call_flow_alternate_sound.
2016-06-11 10:02:31 -06:00
Alexey Melnichuk 03e62d9e91 Add. Support sound prompts on call flow. (#1645)
This file uses new way to load recordings from DB.
2016-06-11 07:33:16 -06:00
Chris Black cfc20ca9bf Add ability for directory to use mod_flite or mod_cepstral (#1644) 2016-06-10 16:07:11 -06:00
Alexey Melnichuk add8222cff Add. Support `bridge` mode to call forward from Lua. (#1631) 2016-06-08 07:33:55 -06:00
Chris Black 43543f8b0c remove SMS (#1612) 2016-05-24 12:57:46 -06:00
Chris Black a78d09cfd5 Add support for twilio (#1610)
added support for twilio and made it a bit easier to add support for
other carriers as well.
2016-05-24 02:02:36 -06:00
Chris Black 93fe11851b Flowroute SMS (#1603)
* Fix Yealink provisioning for contacts/groups

Fix the Yealink provision templates to allow for directory_extensions,
groups and users.

* Fix group_uuid and user_uuid messup

* Yealink directory and provisioning changes

Includes the changes from PR 1582 with some fixes to the SQL.

Also merged all the directory_* options into ONE directory.xml

Will need to call the it with any of these:

http://mydomain/app/provision/?file=directory.xml&contacts=groups

http://mydomain/app/provision/?file=directory.xml&contacts=users

http://mydomain/app/provision/?file=directory.xml&contacts=extensions

http://mydomain/app/provision/?file=directory.xml&contacts=all

* Flow route SMS
2016-05-19 12:09:49 -06:00
Alexey Melnichuk 619912324c Fix. Use correct database for Call Center while FS load. (#1597)
Problem that `mod_commands` may load after than `mod_callcenter` and there no function `global_getvar`
So current code just create database with name `INVALID COMMAND!.db`.
2016-05-13 08:03:48 -06:00
FusionPBX 38c43217ce Update intercept.lua
Account for core.db in intercept.lua
2016-05-12 23:06:45 -06:00
markjcrane 295e63c704 Commented out the new database handle --local dbh = Database.new('switch') as it has a bug when freeswitch is using the DSN with the PostgreSQL driver. This change works around this problem by using the original database handler. 2016-05-12 20:43:57 -06:00
FusionPBX cdba087744 Merge pull request #1553 from moteus/intercept_direction
Add. optional intercept only inbound/outbound calls.
2016-04-18 22:54:03 -06:00
FusionPBX 5b779b5882 Merge pull request #1450 from daniel-lucio/patch-3
Wrong variable in freeswitch.email
2016-04-18 21:20:44 -06:00
Alexey Melnichuk 07b2858852 Add. optional intercept only inbound/outbound calls.
Note.
  * `inbound` is call to some extension
  * `outbound` is call from some extension to external number.

Currently there no way to find call from extension to extension as `outbound`
2016-04-18 16:06:27 +03:00
markjcrane c630449636 Remove contact_email from v_contacts table as this was replaced by the v_contact_emails table. 2016-04-14 10:40:25 -06:00
Alexey Melnichuk d824e80f06 Fix. send fax file as PDF in response message 2016-04-05 13:48:50 +03:00
markjcrane 7f082bdef3 Add a missing permission on backup. 2016-04-04 19:51:22 -06:00
markjcrane 3ad26f1965 Change expire["sofia_conf"] to expire["sofia"] and expire["acl_conf"] to expire["acl"]. Then add a default value to prevent nil errors when the conf.lua script has not been updated. 2016-04-02 08:32:43 -06:00
markjcrane 38858b3f6b Remove the the condition on the direct dial. 2016-03-29 20:57:47 -06:00
markjcrane ec4f523caf Rollback changes to is_local.lua determined that switching to regex would lower perfomance adding an 'or' with a search for prefix would perform better. 2016-03-27 20:44:14 -06:00
markjcrane 2cd979b30c A global domain is optional. Using public context instead. 2016-03-27 04:46:01 -06:00
FusionPBX 71cdf97e5a Merge pull request #1512 from schraegervogel/master
initialize call_context
2016-03-27 04:25:22 -06:00
FusionPBX 0831a99dd0 Merge pull request #1510 from moteus/databas_role
Add. `role` to be able select database backend in constructor.
2016-03-25 15:52:47 -06:00
schraegervogel 919b383c6e initialize call_context
If you use xml_locate dialplan from fs_cli, you get an error, to prevent this I intialized call_context with the "domain"-var
2016-03-25 17:28:10 +01:00
Alexey Melnichuk 93e50ff1df Add. `role` to be able select database backend in constructor.
To configure use `database.backend` option
It can be a string value like `database.backend = 'native'`.
So it will always use same backend.
Or it can be a table value like
```Lua
database.backend = {
  main   = 'native';
  base64 = '';
}
```
Role `database.backend.main` is predefined and it equal to `native` if not set.
If there no role when Database class creates or role unknown role `main` is used
```Lua
dbh = Database.new('system') -- uses role `main`
dbh = Database.new('system', 'main') -- same as previews
dbh = Database.new('system', 'base64') -- uses role `base64`
dbh = Database.new('system', 'test')   -- uses role `main`
```
2016-03-25 10:04:48 +03:00
FusionPBX 4ce2bb5c8f Update acl.conf.lua
Change expire acl.conf to acl_conf
2016-03-25 01:00:43 -06:00
markjcrane 4a31b2343e Change to the new context require renaming two variables to be consistent and to prevent a problem. 2016-03-24 23:08:23 -06:00
markjcrane 0047f48f45 Use regex with is_local. 2016-03-24 18:43:51 -06:00
markjcrane 08ea915070 In the IVR Menu make sure direct dial checks if the destination is an extension before sending the call to it. 2016-03-23 12:49:32 -06:00
markjcrane 33aed1c15d Update the disa.lua to prevent errors when caller hangs up before the destination is called. 2016-03-23 11:42:20 -06:00
markjcrane fafe273c18 Fix a spelling mistake in xml handler ivr.conf.lua. 2016-03-20 00:49:21 -06:00
markjcrane 2a280afea9 Fix direct dial for IVR using the xml handler. 2016-03-19 18:13:49 -06:00
markjcrane 61987425af Merge branch 'master' of https://github.com/fusionpbx/fusionpbx 2016-03-11 14:21:28 -07:00
markjcrane c11459fae8 Get the domain_name from the array. 2016-03-11 14:21:08 -07:00
FusionPBX ee0df44e0d Merge pull request #1461 from mafoo/BugFix-ring_groups
corrected function definition
2016-03-11 13:25:20 -07:00
FusionPBX 260bf24100 Merge pull request #1479 from mafoo/WhitespaceClean-resources/install/scripts
WhitespaceClean-resources/install/scripts
2016-03-11 13:20:17 -07:00
markjcrane f5c2222f97 Prevent custom sip port from breaking provision.lua and add prevent nil concatenation errors. 2016-03-11 10:31:11 -07:00
mafoo 0eb7d5ddac WhitespaceClean-resources/install/scripts
whitespace pass over files
for reference regex that was used s/[ \t]+(\r?\n)/\1/
2016-03-11 13:21:52 +00:00
markjcrane 66ba2802bd The last two changes to xml handler dialplan.lua did not work well with global dialplans. Removed some of the changes to fix the regression. 2016-03-11 00:58:52 -07:00