mozziemozz / M365CallFlowVisualizer

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

Error when getting Holidays (Cannot bind argument to parameter 'VoiceAppId' because it is an empty string.) #44

Open tld6764 opened 3 months ago

tld6764 commented 3 months ago

I am getting an error on line 5193 where the script is getting the Holiday's. It appears the "$VoiceApp" variable being passed to the function is empty/blank. I put in a pause and had the script write out the variable but got nothing in return. Same for items that follow Holidays as well (Find after-hours, etc): 2024-07-22 14_24_48-Chat _ Insight Coms (External) _ Microsoft Teams

mozziemozz commented 3 months ago

it‘s most likely a config error. Please click through the call flow in TAC and check if all AAs/CQs have a resource account assigned and that they’re not deleted in Entra. And check if you have forwardings to users configured and that the Entra users are not deleted.

Let me know if that was the case, thanks.

sjackson0109 commented 3 months ago

Guess if you open the AA via teams admin centre. Look at the vacation association, I wager that one of the holiday associations has a missing/deleted holiday schedule attached.On 22 Jul 2024, at 20:30, Martin Heusser @.***> wrote: it‘s most likely a config error. Please click through the call flow in TAC and check if all AAs/CQs have a resource account assigned and that they’re not deleted in Entra. And check if you have forwardings to users configured and that the Entra users are not deleted. Let me know if that was the case, thanks.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

tld6764 commented 3 months ago

I've reviewed them all but have not found anything yet. This does seem like it would cause the issue. I'll keep looking. Oddly, if I loop through all of our call queues by themselves, everything works fine: .\M365CallFlowVisualizerV2.ps1 -Identity "2f5b0211-8447-47d5-b5fb-79e424a4f086" .\M365CallFlowVisualizerV2.ps1 -Identity "e56f445b-1f92-478e-b49a-c6d944f27b39" .\M365CallFlowVisualizerV2.ps1 -Identity "aedfd537-df08-4acb-b360-538a16d90deb" .\M365CallFlowVisualizerV2.ps1 -Identity "b0803293-8c6b-43c2-8d13-456a88971175" .\M365CallFlowVisualizerV2.ps1 -Identity "20135320-de18-4930-b324-02b5b909d179" .\M365CallFlowVisualizerV2.ps1 -Identity "4a6b5ac6-a122-4e8a-a932-9c4b62729a7f" .\M365CallFlowVisualizerV2.ps1 -Identity "750a0c80-f521-490d-a975-4849febf35c3" .\M365CallFlowVisualizerV2.ps1 -Identity "5bbd1962-9d1b-425f-98e4-724e5c00ef8d" If there are any variables or anything I can query to see why its blank, please let me know. Thank you all for the help so far!

mozziemozz commented 3 months ago

are you using the latest version from the repo? You can try to set the param -ShowNestedCallFlows $false to see if the error occurs on your top level AA or somewhere deeper. You can also check the contents of $mdContent and paste it on mermaid.live. It should tell you where the syntax error in mermaid is. Delete everything after the error so the diagram renders to this point and that should help you narrow it down where to look for the error in TAC.

genorex commented 2 months ago

@mozziemozz Just commenting on how I fixed this when I encountered it: The get resource accounts is using get-csonlineuser and mapping it to the same output of get-csonlineapplicationinstance. Which is a good fix for service principal connection However the filter is using 'features' which only appears if the resource account is licensed (required now). So if the resource account is not licensed it will not find it in the variable. I used the '*urn' or 'department' value instead. Ps: I'm using managed identity to connect to Teams.