|
To clarify this a bit, SIP (session initiation protocol) is just a signalling protocol, meaning it is used to set up/tear down media streams between endpoints using various codecs. The sip standard includes a section of the message which is included in specific types of negotiation messages (invite, 183, 200 ok) called the SDP (session description protocol) to determine/negotiate which codec that gets used for the call (or video session). In SDP you specify a list of the codecs you want to use in the media stream. The switch you are hosted by (either your Telephone Service Provider or Carrier) then determines which of these codecs match the other leg of the call it will be bridging you to, and chooses one of the codecs you provide to use for the media session. Sometimes it will be decide to transparently transcodes the call to another codec if required by the destination network. The payload in the media stream (called the RTP stream or Real-time Transport Protocol stream) will be encoded in the codec you specify, but may be transcoded on the way to the destination if required by the intermediary hop. Among the codecs you could use, there are high definition codecs like G722 that sound really great and are becoming much more popular (this is the skype high definition audio codec IIRC), but if a call traverses the PSTN at all, that call will get transcoded down to G711U (USA) or G711A (everywhere else) and the quality will be much lower. If a call stays pure voip, there is a chance it will stay at G722 but typically that is the problem, you will encounter when calling to other phone systems that are still on the old circuit switched infrastructure. So ultimately the quality of the call is dependent on these factors, how much bandwidth you have available, what codecs your VoIP provider supports, the quality of the path call takes and the codecs supported by the carriers the call traverses to get from your provider to the destination phone, and the type of endpoint you are calling IE: if you are calling mobile phone, a phone on another voip provider, or an old POTS line. A POTS (plain old telephone service) line is (now sort of) dedicated from point to point. You might be surprised to learn that on the backend, most carriers use a lot of voip for internal network or handing off calls to other carriers. The old phone system reserved a 64k circuit for the entire path of the call which only contained the voice data for that specific call. This provides some quality guarantees are there that do not exist for packets traversing the public internet. VoIP on a private network with sufficient bandwidth and QoS for the media stream is always going to at least sound as good, if not better than the POTS network because the compression to squeeze the voice data down to a 64kbps was not very good when that stuff was invented. With voip you can use the new codecs, which nearly always results in a better call quality. This all depends on the provider you are using though, if they are hosting their services on AWS and using crappy carriers, your call quality will suffer. |