I think you are dealing with a challenging issue with your SIP setup, I have a some additional areas to check
You can ensure that your NAT and firewall settings are correctly configured to allow SIP and RTP traffic through. You have disabled SIP ALG, make sure that there are no other features or settings on the router that could be interfering with SIP traffic. You can verify that the SIP and RTP ports are correctly configured in both FreePBX and Kamailio; Ensur there are no port mismatches or conflicts. Review your kamailio.cfg file for any potential misconfigurations related to NAT handling, SIP forwarding, RTP settings. You can analyze the logs from Kamailio and FreePBX, and review the PCAP files to identify any anomalies or errors. You can Ensure that the codecs being used between Teams & FreePBX are compatible. Try testing with different call scenarios to determine if the issue is consistent or specific to certain conditions; This might help narrow down the cause.