Open source toolkit for voice services; with special focus to the needs of medium- and low-income countries, scalable services, and interacting with vulnerable populations
Currently External Services allow a callflow to interact with other arbitrary code and storage, adding a lot of power to callflow control.
However, this requires the ability to host a service, define a manifest, and other tasks that are OK for integrating with big services but very high overhead for simple scripting needs.
Verboice needs to have a way for simple logic to be implemented without that hosting overhead -
I am suggesting here a project can have collection of 'Scripts' that follow the same paradigm as external services:
One can define a set of 'Script Steps' in the UI (maybe below or alongside External Services)
Each step is dictionary-in, dictionary-out as external services (twiml-out would be an advanced feature not needed for the moment)
Verboice can allow you to edit the script in the web page itself using javacript subsets
basic restrictions are put on the script to adequately sandbox and time out misbehaving scripts (eg no call outs to http?)
User would be able to choose the icon for each step from the exiting palette.
the script would have access to the caller phone book record to read and update variables, call metadata (channel name, phone number, MO/MT, time etc), and log information into the call detail record.
This would allow you to do basic but powerful things on variables (increments / decrements, counts, if-then-else logic, random branching, numbers-to-readout etc)
Maybe this is not something for Verboice or any particular tool - if we norm on a dict-in/dict-out convention for verboice, mbuilder, etc maybe these are just scripts you have in the 'Hub'
Original comment by edjez on 2014-11-05 22:55:37+00:00
Currently External Services allow a callflow to interact with other arbitrary code and storage, adding a lot of power to callflow control. However, this requires the ability to host a service, define a manifest, and other tasks that are OK for integrating with big services but very high overhead for simple scripting needs.
Verboice needs to have a way for simple logic to be implemented without that hosting overhead - I am suggesting here a project can have collection of 'Scripts' that follow the same paradigm as external services:
This would allow you to do basic but powerful things on variables (increments / decrements, counts, if-then-else logic, random branching, numbers-to-readout etc)