Scenario One (1):
This scenario will link two computers to each other. Like a point-to-point Telephone, or Intercom. Since VoIP requires a static (or known) IP Address - one of the two computers must be connected to the internet with a "Static" or dedicated IP address - or the two will have to utilize
a "Host" Web address as a coordination point. This "Host" will keep a an accessible "Log" that will show the individuals "current" IP address that they are connected to the Internet with. In this scenario the first person will look at the Web Site and find the IP address of the friend that he/she wants to call. The web-site will most likely have a "ping" feature (similar to that irritating, but effective, "Uh-Oh" that Instant Messaging uses). This will alert the friend that somebody wants to "talk" with them. The friend need only activate their VoIP Talk Program, pick up their phone and talk.
Since this scenario is centered around only two computers: One Master and One Slave. There will be no need for Authenticating of passwords. In the next scenario we will cover the authentication (even though we will touch upon multiple clients here - we do so to inform the reader how really simple it all can be.
1st - Who is going to be the server or Master Station?The Master Station is the computer that has a static IP address assigned. For our VoIP system we will also need an assigned IP Address for the VoIP. This address will be used by the VoIP Software to provide connection via the Internet ("the Cloud). This does double duty as well. The VoIP Master can be contacted by any number of VoIP Clients (your friends computer is a VoIP client. Since the Master VoIP Station has a "known" IP Address, it is simple for the clients to alert the Master that they are available, and provide their "known IP Address" via a "Ping". This is exactly how the http protocol works on the web. Your computer sends a "ping" packet which contains your IP Address to the web server. The web server uses the IP Routing Delivery Header (containing all the IP transitions used to get to it) and negotiates a Service Request Transfer (SRT) ping. This ping is sent to your computer (giving you "connecting to...." message.). Once the SRT is Acknowledged by your computer TCP-IP Stack Controller, the Web Site starts sending packets. The TCP-IP Stack Controller then starts assembling the packets, noting their send order and parity bits (used to define the order the web page should be assembled in to get the desired result). Once a sufficient number of packets are received to make up a segment of the page - the packets are assembled and outputted to the Video Graphics Interpreter, which assembles the actual video display (The Page).
For our purposes, the packets will be voice packets. It may or may not take more than ten to twenty packets per second of voice (depending upon the data sampling rate set in the VoIP Software. In either case, once enough packets are received the Voice is outputted to the Sound card. Note: VoIP uses a little known Telecomm Protocol called "Flooding". This means that there are literally hundreds of identical packets being routed every which way across the internet to assure that a useable amount are received. Packet one may be sent from New York to London - then to Frankfurt Germany - and on to Paris France, Packet One may be duplicated and sent from New York to Madrid Spain - then on to Paris France. It may be duplicated three, four, five, or even twenty times and sent on to another router address somewhere in Europe, or even Asia. The Internet being so Dynamic will allow for one of the packets to get to the destination first - This will occupy packet one. This is repeated for each and every packet. Even though the packets are all sent sequentially, they do not necessarily arrive in sequence. But one a packet number is received and verified - the duplicates of that packet are tossed out by the TCP-IP Stack controller. In the TRON (I'm sorry I digressed) Uhmmm... In the Internet World there can be only one of every packet in the TCP-IP Stack. It's like musical chairs. there is a set of chairs allocated for every packet number. All the duplicate packets are dancing to the music until one arrives - then the music stops, and the packets not yet in the slot are toast.
The purpose of the Host VoIP is one of control. the Host keeps track of where all the clients are by updating based upon ping packets received from the clients. This way if somebody needs to call the call can be connected. If one client needs to call another client: The client sends the Host a ping with an ACK Request. The ACK Request contains the ID of the other client. The host looks up the "other" Clients current IP address and attaches it to the ACKR (Acknowledge request reply). the client now has the IP address of the other client. But::: The other client doesn't know who the client calling is so.... Hmm,,, Ping rejected... But how do we fix this? Simple.. The Host VoIP sends two ACKRs, one to the requesting client, and another in an ACK ping to the client to be contacted. The ACK Ping to the 2nd client contains the "known IP address" of the requesting client. So when the Requesting Client sends a Service Request Ping to the Called Client - it knows who they are and starts the TCP-IP Communications Controller stack to start sending and receiving Packets (We call this tossing and catching packets).
The Client Computer's Client VoIP software is slightly less intensive than the Host VoIP.
The Client Computer's Client VoIP software has only to "remember" the Host VoIP IP Address. Since the Host.Master VoIP contrller's IP is Static and doesn't change - it is entered into a directory. It also remembers the ID of other clients' as deemed necessary by the operator/owner (your friend). The owner programs the ID's of each of his friends' Client VoIP along with their names and addresses, etc (as he sees fit). Should communication with another client be necessary, the VoIP Host supplies all the IP Addresses and communications is initiated. The Client VoIP software uses the same TCP-IP Protocol and Comm Port as the Host/Master. It just doesn't do all the IP Address housekeeping that the Host/Master does.
So there you have it - if we are talking only two computers: You have a point to point VoIP Connection. For more than one - go to the next page.
Feel free to read on by clicking here.
However if you wish to return to the VoIP intro page click here.