Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The answer to your question really depends on what you want to do with it. Here are 2 examples of how I have gone about it:</p> <p>I developed the software for Go2Call.Com (now owned by <a href="http://www.deltathree.com/" rel="noreferrer">Deltathree</a>), and it was used for PC-to-Phone calling. In Go2Call's case, it was a Java applet for the dialer frontend that called a Windows DLL written in C++. From there, it spoke a proprietary protocol to talk to the servers which in turn sent the call to regular landlines.</p> <p>A few years later, I wrote a web-based (ActiveX control) that would allow PC-to-PC or PC-to-Phone calling, and it used the standard <a href="http://en.wikipedia.org/wiki/H.323" rel="noreferrer">H.323</a> protocol.</p> <p>I would recommend starting out by figuring out what your end goal is and then looking up the necessary protocols and technologies to accomplish it.</p> <p>For PC-to-PC, you can do whatever you want if both people use your software. In that case, you can figure out how VOIP works (including compression codecs, etc.) and implement it however you want.</p> <p>For PC-to-Phone or when you want to call someone else's software, I'd recommend <a href="http://en.wikipedia.org/wiki/Session_Initiation_Protocol" rel="noreferrer">SIP</a> since it's probably the most popular protocol. H.323 is still prevalent, but SIP seems to be taking over.</p> <p>Sorry this doesn't probably tell you everything, but there's a lot to it. Hopefully, this will get you started in the right direction.</p> <p>Update: Since you mentioned PC-to-PC, <a href="http://www.packetizer.com/standards/" rel="noreferrer">Packetizer</a> has a list of standards and quite a bit of info I used way back when I did a lot of VoIP programming.</p> <p>As far as books go, the books I've seen so far aren't programming-related but more about using VoIP software and installing VoIP networks.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload