Commit Graph
100 Commits
Author SHA1 Message Date
Alexey Melnichuk 62e88176c6 Fix. Remove global variable. 2015-12-01 14:35:17 +03:00
Alexey Melnichuk 7b738ef678 Fix. Use incorrect option name. 2015-11-30 16:04:13 +03:00
Alexey Melnichuk 971d03e4d4 Fix. Make channel uuid optional in email.
This needs for example if fax server could not create outgoing channel.
2015-11-30 15:36:11 +03:00
Alexey Melnichuk 969840751d Add. Translate to email2fax type message. 2015-11-30 14:54:39 +03:00
Alexey Melnichuk 183634a848 Fix. Create DB during web install. 2015-11-30 13:55:02 +03:00
Alexey Melnichuk aec2777f62 Fix. Send mail when fail create outbound channel. 2015-11-30 12:08:26 +03:00
Alexey Melnichuk c9be5948c0 Add. Send reply message after fax task done. 2015-11-30 11:57:09 +03:00
Alexey Melnichuk 3a5fc397ba Add. Text class to manage translate texts. 2015-11-30 10:22:55 +03:00
Alexey Melnichuk 46aa5f8049 Change. Move fax_queue to app/fax. 2015-11-28 11:40:54 +03:00
Alexey Melnichuk 2d515e81e2 Change. Rename v_mailto.bat to mailto.bat 2015-11-28 11:17:46 +03:00
Alexey Melnichuk 10aa126495 Fix. json encode x-headers 2015-11-27 16:29:52 +03:00
Alexey Melnichuk 84f3fde716 Add. send_mail wrapper function to freeswitch.email and v_mailto.php.
Fix. Send voicemail when set unknown language/dialect.
2015-11-27 15:47:14 +03:00
Alexey Melnichuk f01eb875c7 Fix. Use wrapper bat file to v_malito.php on Windows.
Tested on WAMP and OpenServer.
2015-11-27 14:50:08 +03:00
Alexey Melnichuk 990dd7b9ed Add. log session uuid 2015-11-26 17:41:48 +03:00
Alexey Melnichuk 5bc286d5e2 Fix. Remove task in next.lua (Fix preview commit) 2015-11-26 17:30:56 +03:00
Alexey Melnichuk a485be3883 Fix. Remove task in next.lua 2015-11-26 17:25:15 +03:00
Alexey Melnichuk 486004de02 Fix. problem when same session can release task multiple times.
It can be when originate has group dial-string. So it call `api_hangup_hook`
for each channel.
Now we release task in `retry.lua` only if originate success and this is same channel
which execute `exec.lua`.
If originate fail we release task `next.lua`
2015-11-26 17:23:33 +03:00
Alexey Melnichuk 4814d20dce Fix. cleanup old tasks. 2015-11-25 13:21:02 +03:00
Alexey Melnichuk b806a92cd1 Fix. Log output in retry.lua 2015-11-25 12:42:56 +03:00
Alexey Melnichuk 3f6b772420 Add. option to work with broken affected_rows FS 1.4 2015-11-24 18:49:21 +03:00
Alexey Melnichuk f34a2f330a Fix. Add split function (required by lazy_settings). 2015-11-24 14:26:21 +03:00
Alexey Melnichuk 573738fbbb Fix. path_join function when first argument is full path. 2015-11-24 13:54:04 +03:00
Alexey Melnichuk 3d643bbb2d Fix. Update language file. 2015-11-23 16:33:43 +03:00
Alexey Melnichuk 644060fe27 Fix. Use fax_dir only if we can not find fax file. 2015-11-23 15:51:05 +03:00
Alexey Melnichuk 6c52afa2c5 Add. Use fax queue to do fax forward. 2015-11-23 15:12:55 +03:00
Alexey Melnichuk ef38b27777 Change. Use function to deal with fax_queue in fax_send.php. 2015-11-23 14:57:44 +03:00
Alexey Melnichuk 506a829202 Fix. Poll several mail at once.
Problem causes by fax_send.php which change current dir and second call can not finding libraries.
2015-11-20 15:22:09 +03:00
Alexey Melnichuk 4219034bf5 Fix. Decode email message from quoted-printable/base64.
Fix. Allow set custom fonts to support non latin alphabet.
2015-11-20 14:45:06 +03:00
Alexey Melnichuk 7e5bbbfdaa Merge branch 'master' into fax_queue 2015-11-20 11:00:44 +03:00
Alexey Melnichuk 5e0947813c Add. Supports MySQL/SQLite to fax queue. 2015-11-20 10:38:51 +03:00
Alexey Melnichuk c81d00272f Fix. fax_emails.php relay on number cleanup in fax_send.php 2015-11-19 14:48:41 +03:00
Alexey Melnichuk 70ac60caf3 Add. Allow specify DTMF in parentheses in phone number.
E.g. `123456 (PP789)`
2015-11-19 14:30:06 +03:00
Alexey Melnichuk 6f46b72dc8 Add. Basic fax_queue_monitor script.
To start
 From cli: `luarun fax_queue_monitor.lua`
 Autostart with FS: Add `<param name="startup-script" value="fax_queue_monitor.lua"/>` to `lua.conf.xml`
 From shell: call from `script_dir` `lua fax_queue_monitor.lua` (require installed Lua and some additional libraries).

To stop
  remove `fax_queue.tmp` file from `script_dir/run`
2015-11-19 13:19:59 +03:00
Alexey Melnichuk 18574dfe8b Fix. Use fax_send_mode option in fax_send.php file. 2015-11-19 13:13:47 +03:00
Alexey Melnichuk 83b26ff901 Fix. Display description as last item on fax_server page 2015-11-19 12:36:35 +03:00
Alexey Melnichuk 2b0aa44673 Remove some log. 2015-11-18 16:41:13 +03:00
Alexey Melnichuk 86b479e520 Rome some comments. 2015-11-18 16:32:00 +03:00
Alexey Melnichuk 871b632d49 Add. Lua part of fax_queue.
To poll active task you can run `luarun fax_queue_poll_once.lua`
2015-11-18 16:27:55 +03:00
Alexey Melnichuk 8abdbf3f0b Add. Web UI to configure fax_queue. 2015-11-18 15:37:41 +03:00
Alexey Melnichuk 3de12d6d1d Fix. Call intercept - a scenario where an outgoing call can be intercepted
This is same changes as in #1209.
2015-11-12 14:11:05 +03:00
Alexey Melnichuk a10e508972 Fix. multiple calls fax_send caused error.
Fix. require EventSocket implicitly.
Fix. require `test` class.
2015-11-12 14:00:01 +03:00
Alexey Melnichuk b285e636cc Fix. Intercept can find wrong channel. 2015-11-10 22:41:34 +03:00
Alexey Melnichuk 78acf51737 Fix. function name 2015-11-10 20:49:46 +03:00
Alexey Melnichuk 9f88d17e70 Fix. always escape quote. 2015-11-10 19:33:01 +03:00
Alexey Melnichuk 455a1a088f Fix. hungup_rx.lua works on Windows
1. Command should use only double quotes.
2. Application should not be quoted (I am not sure may be it is bug in FS `system` command).

So I use double quote on Windows and single quote on other system.
Also I quote strings only if they contain spaces.
To escape quote in string i just double it.
`you got "some text"` become to `you got ""some text"""`
2015-11-10 19:29:06 +03:00
Alexey Melnichuk 5052d1dce2 Fix. IVR menu option without arguments. 2015-11-10 17:56:40 +03:00
Alexey Melnichuk 6711b7aa8b Merge branch 'master' into intercept_load_balance
# Conflicts:
#	resources/install/scripts/intercept_group.lua
2015-11-10 12:30:45 +03:00
Alexey Melnichuk 0e5b10d265 Update. call_forward.lua script
Fix. Set outbound caller id
Remove. Nested if
Use. cache class
Use. database class
2015-11-09 16:55:35 +03:00
Alexey Melnichuk 4c6811ffb8 Merge branch 'master' into follow_me_lua 2015-11-09 16:45:57 +03:00
Alexey Melnichuk ddaae7eec5 Update follow_me.lua
1. Use `cache` class so now it generates memcache events.
2. Do not use nested if (simplify code)
3. Use local variables.
4. Remove redundant checks.
2015-11-05 18:02:08 +03:00
Alexey Melnichuk ec162d4238 Fix. Get DTMF in IVR when using phrases. 2015-10-30 17:33:26 +03:00
Alexey Melnichuk 7187766c11 Update comment. 2015-10-26 12:27:14 +03:00
Alexey Melnichuk fdb6e818a9 Use database class 2015-10-25 10:05:44 +03:00
Alexey Melnichuk fb3fb16002 Merge branch 'master' into show_channels 2015-10-25 10:00:05 +03:00
Alexey Melnichuk 8bbf8d6777 Use local variables. 2015-10-25 09:57:20 +03:00
Alexey Melnichuk c55de4769c Merge branch 'master' into intercept_load_balance
# Conflicts:
#	resources/install/scripts/resources/functions/database.lua
2015-10-25 09:34:19 +03:00
Alexey Melnichuk 6abb8a6783 Change. Allow use destination number as Outbound CallerID number for extension. 2015-10-23 15:05:24 +03:00
Alexey Melnichuk a56e1e94a3 Change. Use destination_caller_id_number as call follow_me caller id. 2015-10-23 14:55:48 +03:00
Alexey Melnichuk 42e45e24f4 Change. Use destination_caller_id_number as call forward caller id.
This is same value which uses by `Outbound CallerID Number` for extension.
2015-10-23 14:40:29 +03:00
Alexey Melnichuk 43cabfc255 Fix. Extension link on contact edit page. 2015-10-22 16:26:41 +03:00
Alexey Melnichuk ac724d46b6 Add. cache switchname 2015-10-20 20:29:57 +03:00
Alexey Melnichuk c7c299e050 Fix. Use api show channels like did not work on fusion with BDR. 2015-10-20 15:15:42 +03:00
Alexey Melnichuk 8afafe6beb Add. cache class emit MEMCACHE events. 2015-10-06 16:01:24 +04:00
Alexey Melnichuk dcd382817b Fix. use timeout handler in Enterprise ring group
see https://github.com/moteus/fusionpbx/commit/e5a0134ec6c36e44d0828301b20c9c194c25cd78#commitcomment-13601198
2015-10-06 11:05:15 +04:00
Alexey Melnichuk 5cf2e9acd0 Fix small bags and clear code in call_flow.
Move code to turn on/off BLF to separate function.
```Lua
presence_in.turn_lamp( toggle == "false",
  call_flow_feature_code.."@"..domain_name,
  call_flow_uuid
);
```

Close temp file in call_flow_monitor because on Windows it prevent to remove it.
Connect/release to database inside call_flow_monitor loop.
Check successful connection to database in call_flow_monitor loop so monitor did not crash
if connection temporary lost.
2015-10-02 14:02:13 +04:00
Alexey Melnichuk 40356e4063 Fix. Clear the cache when callcenter config changed. 2015-09-28 12:10:31 +04:00
Alexey Melnichuk 7622fd4896 Change. Reduce search parent host name.
This can be done because child and parent channels have to be on same FS.
2015-09-28 11:35:12 +04:00
Alexey Melnichuk 5fab1a34f7 Add. Support intercept FIFO/CallCenter/Enterprise in load balancing mode.
Change. `intercept.lua` and `intercept_group.lua` merge in one `intercept.lua` file.
Call `intercept.lua` without arguments behave like `intercept_group.lua`.
2015-09-25 15:30:57 +04:00
Alexey Melnichuk 92baa64183 Add. intercept for fifo calls 2015-09-23 14:40:05 +04:00
Alexey Melnichuk 8976d5e5b3 Add. intercept for call center calls 2015-09-23 13:08:22 +04:00
Alexey Melnichuk e2edd740c3 Merge remote-tracking branch 'upstream/master' into intercept_enterprise_group 2015-09-23 09:54:43 +04:00
Alexey Melnichuk e5a0134ec6 Fix. Intercept enterprise ring group.
With enterprise call each outbound channel has its own call_uuid.
But we have to use `intercept` for call_uuid of inbound channel.
2015-09-22 19:33:41 +04:00
Alexey Melnichuk 1d4e62b2f5 Fix. Show CDR details when set showall 2015-09-18 12:04:52 +04:00
Alexey Melnichuk 7191eae559 Fix. cache.del method.
Fix. cache.set returns boolean value.
Add. basic self_test
2015-09-15 18:02:46 +04:00
Alexey Melnichuk 6304c470cf Fix. load file_exists function 2015-09-10 14:36:30 +04:00
Alexey Melnichuk ebb61f955c Add. database class
```Lua
local Database = require "resources.functions.database"
local dbh = Database.new('system')

--get the domain_uuid
if (domain_uuid == nil) and (domain_name ~= nil) then
  local sql = "SELECT domain_uuid FROM v_domains "
  sql = sql .. "WHERE domain_name='" .. domain_name .. "';"
  domain_uuid = dbh:first_value(sql)
end

local dbh_switch = Database.new('switch') -- check also SQLite file.

local row = dbh_switch:first_row(sql)
if row then
  ...
end
```
2015-09-10 14:29:13 +04:00
Alexey Melnichuk dcc08a2265 Fix. Not found is treat as success for delete operation. 2015-09-09 16:52:52 +04:00
Alexey Melnichuk 8391e996f0 Fix. Allow change Call Forward number without enable it. 2015-09-09 16:26:41 +04:00
Alexey Melnichuk 528d04b942 Add. Basic log class. 2015-09-09 10:45:49 +04:00
Alexey Melnichuk 4cb99be806 Add. Basic cache class
Fix. When memcache stopped and mod_memcache loaded dialplan did not build from DB.
2015-09-09 10:22:14 +04:00
Alexey Melnichuk 64cdc569b0 Fix. Start recording only after call start and only for certain extension.
Fix. Always use record dir with domain name like it does `user_record` extension.
2015-08-31 15:47:06 +04:00
Alexey Melnichuk 9ad23e65b5 Fix. Delete number-alias from cache when set DND/Follome/Forward. 2015-08-26 13:44:34 +04:00
Alexey Melnichuk 2d94062cca Fix. Escape hostname string. 2015-08-25 16:49:56 +04:00
Alexey Melnichuk 480f41f138 Fix. Display only profiles which related to specific FS. 2015-08-25 16:46:31 +04:00
Alexey Melnichuk 8fababb508 Fix. Display names for global gateways on SIP Status page. 2015-08-25 16:12:12 +04:00
Alexey Melnichuk 8c0bba7446 Fix. Start record when b-leg answer.
This fix problem when DID transfers to IVR.
After that user make direct-dial to extension.
IVR do transfer but a-leg already answered and
api_on_answer did not call.
2015-08-25 14:56:01 +04:00
Alexey Melnichuk 50d52a2c62 Fix. Parse ESL response more accurate.
Problem with commands that do not return Content (e.g. sendevent)
In this case `event_socket_request` go to busy wait cycle without chance to success.
On my system it require alot process time and may take >30 sec to save one extension.
2015-08-25 14:14:28 +04:00
Alexey Melnichuk c19cd89bc5 Fix. Delete some keys from memcache 2015-08-24 10:34:33 +04:00
Alexey Melnichuk d7bc826c30 Fx. Comment 2015-08-21 17:20:55 +04:00
Alexey Melnichuk 148d2b42f2 Add. Flag to switch mode for building dial-string.
You can configure ether you register with UserID=number-alias or UserID=Extension
In both cases to dial user you should use `user/<number-alias>@domain` or `user_data <number-alias>@domain`

Need test setting of presence_id for case when UserID=Extension.
2015-08-21 16:57:13 +04:00
Alexey Melnichuk fdfa8f715f Change. Store data in cache based on UserID.
Change. Support register with AuthID==UserID==Extension for extension with number-alias.

1. We need only one record in memcache.
  When we get SIP request we can find record by userid.
  When we want check AuthID we do `user_data userid@domain attr id`
  which also search record by userid.
2. We do not need check AuthID if we get record from DB. There already has check.

So we can reduce number of request to
* if there no record in memcached
 - one memcache get (returns not found)
 - database auth
 - one memcache set
* if record in memcache
 - one memcache get to retrieve XML
 - one memcache get to check Extension==AuthID
2015-08-21 16:18:52 +04:00
Alexey Melnichuk 67a1392194 Fix. clear cache also for number_alias. 2015-08-21 13:22:07 +04:00
Alexey Melnichuk 897b32be80 Fix. Verify number-alias and user id.
This replaces `inbound-reg-force-matching-username` profile option.
So if your extension has number-alias you can use
UserID=number-alias
AuthID=Extension

It also supports such check on INVITE not only on REGISTER.
2015-08-20 12:27:27 +04:00
Alexey Melnichuk 72cb20f6c4 Revert. Both legs can control of call. 2015-08-19 10:06:22 +04:00
Alexey Melnichuk 42a15cab44 Fix. Concatenate record extension 2015-08-18 15:49:56 +04:00
Alexey Melnichuk b0ce96ee03 Fix. Set voicemail ID. 2015-08-18 15:42:14 +04:00
Alexey Melnichuk 8442ea979e Change. Use bind_bind_digit instead of bind_meta_app.
Change. Allow transfer and turn on recordings only for authorized users.
Fix. Use record_ext in recording in ring_group.

This allow configure other dtmf sequence like `*#` and `##`
2015-08-18 15:38:41 +04:00
Alexey Melnichuk 7c18a6585d Fix. Eavesdrop by operator_panel with extension with number-aliases 2015-08-17 16:46:53 +04:00
Alexey Melnichuk a4b609c746 Fix. Operator panel with extension with number alias. 2015-08-14 15:10:21 +04:00
Alexey Melnichuk f50c2a4d46 Change. Use toll_allow of extension who set follow me. 2015-08-14 13:35:50 +04:00