Glad I could help! Do let us know if you need anything else!
@ChrisC_3CX
I watched it happening today with my own eyes with 3 different extensions at various times through the day. It was very hit or miss too. I attached a picture of the free/busy status of Extension 8059 and 8024 as these were two I caught while logging data.
I have one user in Costa Rica since a week ago and there calendar is set to "Show As" out of office. Two days ago they called me saying they were Available and they didn't know why. So I set there status to Out of Office again. Today I was testing to try and reproduce what I was seeing by manually changing my status, flipping on a calendar invite. Giving enough time for 3cx to grab my calendar status changes. all with verbose logging on and I couldn't reproduce it. I would never see 3CX set my status if I was already set to a status. So if I was set to Custom Status 2 aka Out of Office I would always show as Out of Office no matter my testing and waiting.
But then I noticed the vacation in Costa Rica Person flipped back to Available as I was testing. From What I saw in the verbose log at what I can only guess is the time of it flipping to Available were these logs that indicate a possible hour long meeting under there all day OOO status in outlook.
Hour long meeting started maybe?
2021/05/28 14:00:00.143|628|0011|Dbg|MYPHONE: UpdateDN - 0.2138ms
2021/05/28 14:00:00.146|628|0011|Trc|MYPHONE: CHECK PROFILE OVERRIDE: UpdateOrInsert schedule for 8059
2021/05/28 14:00:00.147|628|0011|Dbg|MYPHONE: Processed Updated.DN.73: 3.8988ms
Hour long meeting ended maybe?
2021/05/28 15:00:00.001|628|0011|Dbg|MYPHONE: UpdateDN - 0.1947ms
2021/05/28 15:00:00.002|628|0052|Trc|MYPHONE: Generate update event for 8059
2021/05/28 15:00:00.002|628|0052|Trc|MYPHONE: Put verification event for 8059
2021/05/28 15:00:00.002|628|0052|Dbg|MYPHONE: CHECK PROFILE OVERRIDE: Scheduled in 269999997.4399 ms
2021/05/28 15:00:00.004|628|0011|Dbg|MYPHONE: Processed verification of DN.78
2021/05/28 15:00:00.004|628|0011|Dbg|MYPHONE: Updated..0 is ready
2021/05/28 15:00:00.004|628|0011|Trc|MYPHONE: Verification message for DN 8059
2021/05/28 15:00:00.004|628|0011|Dbg|MYPHONE: ExtensionContacts.Count=45
Then me catching it and setting it back to Out of office-
2021/05/28 15:09:11.494|628|0086|Dbg|MYPHONE: 8025 sets Currentprofile of 8059 to Custom 2
Then I noticed for US holiday Extension 8024 was doing a half day. He set himself manually to Away and I observed and noticed in MS teams he was set to offline. I then noticed his away status in 3CX was set to DND, I checked his calendar and he had a short meeting. I then Watched his meeting end and it set his manual Away status to Available Which it's not supposed to do. In the logs I see the following for extension 8024 -
8024 is done for the day, he sets his status to away.
2021/05/28 15:10:00.691|628|0035|Dbg|MYPHONE: Incoming request: messageID=103. (traceid=0HM8EA3FIM7DB:00000001). Current requests: 1.
2021/05/28 15:10:00.691|628|0035|Dbg|MYPHONE: 8024 sets Currentprofile of 8024 to Away
2021/05/28 15:10:00.697|628|0007|Trc|MYPHONE: ###TRANSACTION.21393 started
2021/05/28 15:10:00.697|628|0007|Trc|MYPHONE: Transaction TRANSACTION starts
2021/05/28 15:10:00.703|628|0007|Trc|MYPHONE: +++TRANSACTION.21393 updated - elapsed 5.9918
2021/05/28 15:10:00.703|628|0035|Dbg|MYPHONE: _DAC([103 RequestChangeStatus]) - 00:00:00.0117848 - from 8024[cc977238-1c47-851d-0697-a80aa623a7fd]@10.0.2.10. Requests:1 -> 0 (traceid=0HM8EA3FIM7DB:00000001)
2021/05/28 15:10:00.703|628|0035|Trc|[Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker] Executed action ManagementConsoleJS.MyPhone.MyPhoneController.MPWebService (3CXManagementConsole) in 12.3662ms
2021/05/28 15:10:00.703|628|0035|Trc|[Microsoft.AspNetCore.Routing.EndpointMiddleware] Executed endpoint 'ManagementConsoleJS.MyPhone.MyPhoneController.MPWebService (3CXManagementConsole)'
2021/05/28 15:10:00.703|628|0035|Dbg|#352135 (traceid=0HM8EA3FIM7DB:00000001) STOP: POST
https://xxxx/MyPhone/MPWebService.asmx processed 00:00:00.0128594
2021/05/28 15:10:00.703|628|0035|Trc|[Microsoft.AspNetCore.Hosting.Diagnostics] Request finished in 13.0479ms 200 application/octet-stream
2021/05/28 15:10:00.704|628|0007|Trc|Updated DN:Wextension.60: 8024 - 0.0032ms
2021/05/28 15:10:00.704|628|0007|Trc|MYPHONE: Finalizing TRANSACTION.21393
2021/05/28 15:10:00.704|628|0007|Trc|MYPHONE: Transaction 21393 ends
2021/05/28 15:10:00.704|628|0007|Trc|MYPHONE: ---TRANSACTION.21393 finished 7.4412ms
Then 4PM I see this event for there extension.
2021/05/28 16:00:00.019|628|0011|Dbg|MYPHONE: UpdateDN - 0.2341ms
2021/05/28 16:00:00.023|628|0011|Trc|MYPHONE: CHECK PROFILE OVERRIDE: UpdateOrInsert schedule for 8024
2021/05/28 16:00:00.023|628|0011|Dbg|MYPHONE: CHECK PROFILE OVERRIDE: Scheduled in 899976.1093 ms
2021/05/28 16:00:00.024|628|0011|Dbg|MYPHONE: Processed Updated.DN.60: 5.3255ms
2021/05/28 16:00:00.024|628|0011|Dbg|MYPHONE: 0 refs of -1217 objects in the queue
2021/05/28 16:00:00.033|628|0007|Trc|MYPHONE: ###TRANSACTION.21408 started
2021/05/28 16:00:00.033|628|0007|Trc|MYPHONE: Transaction TRANSACTION starts
2021/05/28 16:00:00.038|628|0007|Trc|MYPHONE: +++TRANSACTION.21408 updated - elapsed 4.6182
2021/05/28 16:00:00.038|628|0011|Dbg|MYPHONE: Updated.DN.60 is ready
2021/05/28 16:00:00.038|628|0011|Trc|MYPHONE: DN.60 waits for transaction 21408 ready
2021/05/28 16:00:00.044|628|0007|Trc|MYPHONE: Finalizing TRANSACTION.21408
2021/05/28 16:00:00.044|628|0007|Trc|MYPHONE: Transaction 21408 ends
2021/05/28 16:00:00.045|628|0007|Trc|MYPHONE: ---TRANSACTION.21408 finished 11.5515ms
Then at 4:15PM I see this event for the meeting ending and he is not back to away as expected they are available.
2021/05/28 16:15:00.000|628|0033|Dbg|MYPHONE: CHECK PROFILE OVERRIDE: triggered check profile override
2021/05/28 16:15:00.000|628|0033|Trc|MYPHONE: Generate update event for 8024
2021/05/28 16:15:00.000|628|0033|Trc|MYPHONE: Put verification event for 8024
2021/05/28 16:15:00.000|628|0033|Dbg|MYPHONE: CHECK PROFILE OVERRIDE: Scheduled in 299999.4211 ms
2021/05/28 16:15:00.000|628|0011|Dbg|MYPHONE: Updated..0 is ready
2021/05/28 16:15:00.000|628|0011|Trc|MYPHONE: Verification message for DN 8024
2021/05/28 16:15:00.000|628|0011|Dbg|MYPHONE: ExtensionContacts.Count=45
So you can see those are the best I can see in the activity logs for the status changes that aren't supposed to happen. These are a big deal as we do not use the Q button for our call Queues. We use status as the thing that pulls the people from queues. We also use tiered calling and 8024 is Tier 1 and Tier 2 for various Queues and 8059 is Tier 2 when we have a tier 3. We can't have callers getting stuck at these users getting reverted back to available from the calendar sync. Is it best to just turn off the calendar sync?
I also added the freebusy view from outlook attached so you can see what there show as was in outlook.