Our app uses one-time passwords for 2FA. We use Twilio for delivering text messages and voice calls. However, according to their documentation (https://support.twilio.com/hc/en-us/articles/360016488474-Calling-Limitations-to-China) there are some regulations that do not allow such short voice calls:
Shorter contact use cases with calls averaging under three minutes (one-time passwords (OTPs), voice alerts, etc.) are incompatible with these new regulations
So, the question is, are there any ways of delivering OTPs via voice calls in China, maybe using some specific authorized local provider, or not?
So I have performed the research and unfortunately found out that international providers either say they do not support such scenario in the same way as Twilio communicated, or told that everything should work, but test shown that there are issues: some calls were missing, or reset automatically etc. Checked this with TeleSign, Nexmo, Plivo and CheckMobi.
In the end I decided to find a Chinese provider who can do the same work. Tencent and Huawei Cloud provide such functionality only for Chinese companies and calling APIs from Chinese web servers.
The solution that showed that it works at least in test environment is Submail: https://www.mysubmail.com/ They have everything (like web site, docs etc) in Chinese, but the support speaks English so I managed to do all the tests I wanted. The solution was not tested in production for now, so I'm still not 100% sure that it will work in all cases, but it is the best option I have found.