It depends on the technology that you use. You will probably need a small public service, yes even when you're doing WebRTC. With a project like https://oxism.com/trystero you could piggyback it on top of a public decentralized service like Nostr.
I went the DIY route (you can find the details as a parent comment). But, I had good luck with voip.ms as a SIP provider. It is inexpensive at $1.10/month for the phone number and $0.008/min for calling. And it has a pretty good history of user forums, wiki, etc for debugging hints with various hardware.