Inbound e-mail and social media posts

The following sequence diagram describes a typical inbound e-mail scenario. The scenario can be resumed in the following steps (step numbers are annotated in the diagram):

  1. MessageControl checks for new messages periodically in order to create new sessions.
  2. MessageControl requests ServerManager to create a session.
  3. ServerManager creates a session and sends Session::Create|Routing event to Router.
  4. Router request a ScriptEngine to run the initial script.
  5. The initial script request router to assign a service based on the service identifier for the created session.
  6. Router requests an assign service to ServerManager for that service ID.
  7. An assign service callback is sent to the original caller (the initial script) indicating that the operation was successful.
  8. ScriptEngine then launches the configured service script.
  9. Next, the service script enqueues the session for distribution.
  10. Router receives this request and searches for available agent to handle the session. A suitable agent is found and Router issues a Deliver request to ServerManager.
  11. ServerManager reserves the agent and creates an agent session.
  12. The deliver request is forwarded to MessageControl.
  13. OneAgentWeb accepts the message.
  14. ServerManager evolves the agent session state to Working – event is sent to OneAgent.
  15. The deliver operation is completed successfully and a callback is sent to MessageControl and then to Router.