Hi Joel,
Thanks a lot for your feedback!
I don't worry about the first option because I have another one which I think should work.
Regarding the second option, would you kindly have a look at the attached workflow and provide some feedback. Here the entire workflow description:
1. A watcher makes periodical calls to a voice mail system (e.g. AAM).
2. The CallListener registers the call and AAM plays an announcement "Your call has been registered."
3. An external system monitor that the watcher has called the AAM.
What would be here the Interface to the external system and what would be the appropriate method?
void callAnswered(Call call) - provides only the called party information, that means AAM. But I prefer to monitor the calling party, which is the phone number of the watcher.
4. If for some reason the periodical call doesn't occur the external system generates a HTTP request for a callback.
5. CE precedes the request by creating a call a playing an announcement to the watcher: "Pls enter a PIN to authenticate yourself."
6a. If PIN matches the workflow begins at 1.
6b. If not or if the watcher doesn't answer the call the external system starts a new HTTP Request for Escalation by: Scopia, SMS and Email.
The same question here for the interface between external system and CE.
What would be the method to leverage by the external system to get the information that the correct PIN has been entered?
Or what would be the best method to ascertain that CE couldn't reach the watcher so a new HTTP Request for Escalation has to be started?
At step 3 and 6 I would prefer to outsource the Workflow to the external system to get the customer more control of what is happening in thy system and at step 6 to provide a flexible platform to administer the Escalation process. But maybe it is better to let the flow at certain stages inside of CE because of the interface functionality which would need to be exposed to the external system. What is your opinion?
Thank you so much for your help
Damian