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'.
* 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.
* Fix MWI for Extensions that with 0
MWI was not turning off after messages were deleted for extensions that start with 0. This requires that real voicemail_id to be pulled from the database and not just taken from the destination number. To get around this we try to send mwi to the original vociemail_id (destination number) and voicemail_id_copy (from database). Index.lua is already doing something similar.
* Update listen_to_recording.lua
* Update menu_messages.lua