mozziemozz / M365CallFlowVisualizer

Reads a config from Microsoft 365 Phone System and renders them visually into a mermaid-js flowchart.
MIT License
91 stars 25 forks source link

Final-Call-Flow Action.. Disconnected (split shapes) vs Voicemail (single-shape) #15

Closed sjackson0109 closed 1 year ago

sjackson0109 commented 2 years ago

I've got multiple call-flows working really well.

Most of the call-flows are basic: AA with holidays and opening hours, primary call-queue and overflow call-queue. Some of those queues have voicemail triggered after X timeout (or +Y active callers).. but ultimately i have two scenarios that don't look consistent: A) Disconnected Calls AA > Business Hours Closed > Disconnect Call (shape 1) AA > Business Hours Open > Call-Queue Timeout > Disconnect Call (shape 2) AA > Business Hours Open > Call-Queue Max-Callers Threshold > Disconnect Call (shape 3) -or- B) Transfer to Voicemail AA > Business Hours Closed > Greeting > TransferToTarget > Voicemail Group (shape 1) AA > Business Hours Open > Greeting > TransferToTarget > Voicemail Group (shape 1) AA > Business Hours Open > Greeting > TransferToTarget > Voicemail Group (shape 1)

All the Voicemail Shapes have a single ID, so all the arrows link to the end-of-diagram shape called 'Voicemail Group'. The 'Disconnected Call' shapes must have different IDs.. as they are not linking in the same way.

Same is true on after the Call-Queue Agents pickup > 'Call Connected'.. there are two of these in most of my call-flows. Shouldn't this be one shape?

mozziemozz commented 2 years ago

Is there a screenshot missing with markups or what are the described shape numbers?

Right now, this works as intended. I was thinking about handling having a single node for all call connected or disconnect nodes too. But this will probably make the diagram look much more complicated. (Since the diagram is drawn automatically, you can't control where the links are crossing over etc.

I think the current diagram illustrates that a call can be answered or disconnected at each call queue or auto attendant.

Let me think about it and see what would need to be changed in the code in order to only have 1 single node for disconnect oder connected. But don't expect any update until march as I will be on holiday soon. 😊

sjackson0109 commented 2 years ago

'Disconnect Call' shapes 1, 2 and 3 image

Voicemail shape 1 image

sjackson0109 commented 2 years ago

I understand. Perhaps instead of using 'cqEnd$queueID' - try 'cqDisconnected'

mozziemozz commented 1 year ago

Hey mate, can you try v 2.9.9 in dev? I added two new params:

-CombineDisconnectCallNodes Specifies whether or not to only display one mermaid node for all disconnect actions. If this is enabled, diagrams are most likely less readable. This does not apply to "DisconnectCall" actions in holiday call handlings. Required: false Type: boolean Default value: false -CombineCallConnectedNodes Specifies whether or not to only display one mermaid node for all call connected noed. If this is enabled, diagrams are most likely less readable. Required: false Type: boolean Default value: false

If they are $true all "Call Connected" and "DisconnectCall" nodes, except for those on holiday call handlings. They will stay inside the subgraph because that would break the LR direction of the subgraph.

image

image