Commit Graph

171 Commits

Author SHA1 Message Date
FusionPBX 846c4f63c5 Update index.lua 2019-10-07 15:38:19 -06:00
agree ad24e3131f Update index.lua (#4753)
* Update index.lua

* Update index.lua
2019-10-06 11:05:16 -07:00
FusionPBX 74798ca686 Update index.lua 2019-10-02 14:08:49 -06:00
FusionPBX 51a527b292 Update index.lua 2019-10-02 12:06:39 -06:00
FusionPBX 110d5ef979 Update index.lua 2019-10-02 02:46:57 -06:00
konradSC cf9d049292 Calculate timeout for Follow-me (#4528)
* Calculate timeout for Follow-me

Need to calculate the timeout for Enterprise RG members that have extensions with follow-me. 

The RG timeout should always take precedence over a follow-me timeout value. What we do is take the delay of the follow-me destination and subtract that from the ring group timeout to give us the total timeout of the destination. 

Example: 
RG 1: x1000 (Delay=0, Timeout=10)
RG 2: x2000 (Delay=10, Timeout=10)

x2000 has follow-me enabled
FM 1: x2000 (Delay=0, Timeout=15)
FM 2: x3000 (Delay=5, Timeout=20)

In this example we would want x2000 ring for 10 seconds and x3000 to ring for 5 seconds. 

What if we changed this... FM 2: x3000 (Delay 15, Timeout=20)

In this example we wouldn't want x3000 to ring at all because it would start to ring after the RG timeout has expired. Our calculated value would be a negative value, -5. These negative values don't work as leg_timeouts in the dialstring, so we need to test for them.

* Update index.lua

* Update index.lua
2019-09-09 14:05:53 -06:00
konradSC 33d4ad0685 Fix delay for external follow-me calls (#4526)
This is related to 9dcaddd814 (diff-b1f5588538149bd825603176ff81d714).

For internal calls the delay needs to be "Delay In Seconds * 500".
For external calls the delay needs to be "Delay In Seconds * 10000". 

For external calls I'm am just doubling the value set prior in the script.
2019-09-09 11:22:35 -06:00
konradSC fe532d04d2 Enterprise RG with Follow-Me (#4524)
We need to make sure that the delay for the leg takes into account the delay from the RG and from Follow-me. 

Also, let's use the timeout from the RG instead of the follow-me member
2019-09-09 10:50:31 -06:00
konradSC e0b29d031d Populate toll-allow for Enterprise Ring Groups (#4496)
Add toll_allow to dialstring for external numbers
2019-09-04 13:05:57 -06:00
FusionPBX 601198e01a Update index.lua 2019-09-02 08:32:50 -06:00
FusionPBX 0fa4daf938 Update index.lua 2019-09-01 08:05:43 -06:00
FusionPBX db53713f5f Update index.lua 2019-08-31 13:05:01 -06:00
FusionPBX 2c934bdb2b Update index.lua 2019-08-31 12:54:03 -06:00
FusionPBX ec73caf27d Update index.lua 2019-08-11 16:55:12 -06:00
FusionPBX 38d8120bfe Update index.lua 2019-06-28 13:12:04 -06:00
emaktech f44ed4370c Fix Ring Group Delay Timing (#4003)
This is going to sound really stupid but I have tested this extensively, submitted a Jira on it months ago (was told FS 1.6.20 was no longer supported) and it's still an issue. Please do not take my word for this and create a ring group to test the delay settings with a stopwatch and you should see the real vs set delay discrepancy.

In FreeSWITCH (both on 1.6.20 and 1.8.5) when sending leg_delay_start values, for whatever reason the actual time is double the value sent. The result of this is that if you send 1000ms as leg_delay_start the actual time the call will be delayed is 2000ms.

Because of this bad behavior, ring group delay settings end up being exactly double what is set. e.g. if you set 10s, you will have to wait 20s for the call to be initiated on leg b.

The easiest way to fix this behavior is to simply multiply leg_delay_start by half as much to get the right "real" delay time. Ugly, I know... I'm not sure if leg_delay_start value is passed elsewhere, I'm thinking this behavior may also be present in find me/follow me. If this gets accepted I will look for other locations where this behavior occurs and submit separate PRs if I find any other instances of this.
2019-06-21 22:04:14 -06:00
FusionPBX ce8ac1d3e2 Update index.lua 2019-06-03 08:24:13 -06:00
FusionPBX de1a35e912 Update index.lua 2019-06-01 15:07:49 -06:00
FusionPBX 7c74f9938a Update index.lua 2019-02-20 09:57:37 -07:00
FusionPBX b5c3bc27b7 Update index.lua 2019-02-20 08:34:18 -07:00
FusionPBX 3f074de023 Update index.lua 2019-02-12 18:22:35 -07:00
FusionPBX f0fce68afc Update index.lua 2019-02-02 18:00:59 -07:00
konradSC 432052ba26 Ring Groups with Follow-Me (#3970)
Two things:

1. Follow-me should only kick in when using "Enterprise". As it was written, follow-me was looked at for every strategy. 

2. Follow-me destinations were writing to 'destinations[x]'. They should write to 'destinations[key]' so they rewrite the current destination that is being analyzed.
2019-01-22 11:03:28 -07:00
FusionPBX c3e95ea2df Update index.lua 2019-01-03 17:20:33 -07:00
FusionPBX 48628785e8 Update index.lua 2018-12-23 12:07:24 -07:00
borisk1976 df9b83b1eb Update index.lua (#3953)
When bridge application ends with "originate_disposition: ALLOTTED_TIMEOUT" for example, the "missed call" feature doesn't work for ring group because of hangup hook isn't called. Should we just avoid using this channel variable or add additional processing at the end? Like for timeout action? I choose to call "missed" at the end of script. But may be we should add it to other places too?
2018-12-23 12:06:40 -07:00
FusionPBX 90de831e97 Update index.lua 2018-10-30 21:44:31 -06:00
FusionPBX ac5283379d Update index.lua 2018-10-05 13:42:49 -06:00
FusionPBX 575429e3c8 Update index.lua 2018-08-26 11:30:47 -06:00
FusionPBX d111f29f2d Update index.lua 2018-08-01 22:44:03 -06:00
FusionPBX 1e66c87b0c Update index.lua 2018-06-06 23:08:34 -06:00
FusionPBX f1dc3c906b Update index.lua 2018-06-06 21:10:23 -06:00
FusionPBX 7a05fc4f75 Update index.lua 2018-05-09 09:57:47 -06:00
konradSC ba27ac8770 Bug Fix: Wrong Variable Type (#3050)
The variable "external" is set as a String not as a Boolean. Changed the If statement to reflect.
2018-05-09 09:54:41 -06:00
FusionPBX 490803114b Update index.lua 2018-05-07 19:59:41 -06:00
FusionPBX d7411b2f23 Update index.lua 2018-05-06 13:10:08 -06:00
FusionPBX ed184562da Update index.lua 2018-04-25 21:19:31 -06:00
FusionPBX 34de964157 Update index.lua 2018-04-05 20:02:24 -06:00
FusionPBX 3f382c85ec Update index.lua 2018-03-24 15:45:11 -06:00
FusionPBX 36270f5d4b Update index.lua 2018-03-16 00:44:11 -06:00
FusionPBX b12a4ebae8 Ring Groups route_to_bridge was fixed re-add it to the code. 2018-02-11 10:22:25 -07:00
FusionPBX 22d668b39f Update index.lua 2018-02-10 15:48:18 -07:00
markjcrane 5cebe62047 Remove the code changes that used route to bridge code as it broke calling multiple external destinations for Ring Groups. 2018-02-08 11:33:08 -07:00
FusionPBX 5bc27f8d73 Update index.lua 2018-01-22 10:46:06 -07:00
FusionPBX 89e3835016 Update index.lua 2018-01-22 10:45:48 -07:00
FusionPBX df6a3ea31d Update index.lua 2018-01-22 10:32:25 -07:00
konradSC 9adb11398d Fix for Ring Groups with cfwd always & toll_allow (#2952)
This scenario was broken: 
A ring group member forwards their phone to a destination. The destination is an external number and the outbound route had a toll_allow condition. 

This error would be generated: [ERR] switch_cpp.cpp:1376 [route_to_bridge] Unsupportded condition: ${toll_allow}

This PR will get the toll_allow values from the RG member that is forwarding their phone. Then it will pass it to  'route_to_bridge.lua'.
2018-01-09 15:08:28 -07:00
konradSC e8b8f559c3 Ring Group Member - Call Forward (#2951)
After checking for Call Forward loops, set the destination_number to the call forward target.
2018-01-08 12:14:08 -07:00
Alexey Melnichuk ff5355e840 Add. Support variables in ring groups when use dierect dial (#2924)
Add. Support variables in ring groups when use direct dial
2017-11-29 00:20:45 -07:00
Alexey Melnichuk 679d4e1fb5 Add. Use `route_to_bridge` module to build routes for ring groups. (#2907)
* Add. Use `route_to_bridge` module to build routes fro ring groups.

This commit has several improvements
1. Select only needed fields. (do not select quite big XML text strings)
2. Filter routes also by context name
3. Filter dialplans also by hostname
4. Handle conditions based not only `destination_number`
5. Handle `break` and `continue` attributes for extensions
6. Escape vars inside dial-string
7. Add log messages similar as FS dialplan do

* Add. `route_to_bridge` set inline vars so it possible use then in next conditions.
Add. `route_to_bridge` can execute basic api commands from allowed lists.
`route_to_bridge` expand all known vars. If var is unknown then it pass as is.
Fix. `export nolocal:` action.

* Fix. Short variable names

* Add. some comments

* Fix. Do not try execute empty string

This produce error messages `[ERR] switch_cpp.cpp:759 No application specified`

* Fix. Export nolocal values.
2017-11-17 07:15:47 -07:00