Recently, I have tried to gain a better understanding of VOIP. I have a good enough understanding of what the phone does in terms of converting audio signals to UDP packets and I develop embedded firmware for a living so I'm no stranger to internet protocols or data formats. My question is: how does a VOIP server go about delivering that audio information to say a land line or wireless carrier? Is there some kind of DNS for phone numbers that gives you an IP address of a server where you can send the data? if so, what is the name of the protocol that is used to determine that information, and the protocol for transmitting the audio data once you know where to send it. I've tried to search for the information, but of course my searches are all swamped with irrelevant results. Also, where can I find documentation for implementing these protocols?
The most popular protocol for this is SIP/RTP (SIP for signaling and RTP for media). You will need a SIP server (softswitch) to handle this. To be able to route the calls to landline or mobile numbers, you will have to "interconnect" with carriers from your softswitch. Then you will just send the traffic to their server (the address what they told) again with SIP/RTP since most carriers have SIP support. Alternatively you can send the traffic to traditional PSTN (you will need a hardware for this: either a dedicated gateway or just a PCI slot in your softswitch).