I have a OnePlus One phone that has worked great for a long time, but for the past few months, my call quality has been inconsistent. I am on the newest stock rom - Cyanogen12.1.1-YOG7DAS2K1, build LMY48Y - Android 5.1.1. Even though my signal bar shows strong signal, the person on the other end says I keep cutting out and they can't hear what I'm saying. I can always hear the other person fine. This continues for the duration of the call. If I call back, they can then hear me okay. If not, I'll call back a 3rd time. Once connected, my voice either cuts out the whole call or it doesn't. (This doesn't change during the call).
How would I go about troubleshooting this? I'm on Straight Talk with AT&T coverage, and my signal strength is always showing very high. I get 20+ Mb/s download speeds with LTE. I'm not sure if this is a hardware, software, or cell service issue. Is it worth doing a factory reset on my phone or changing the ROM, such as going to their newer OxygenOS?