Hack47.Display the Technical Details of a Call


Hack 47. Display the Technical Details of a Call

Make a small change to your config.xml configuration file to have Skype display a wealth of detail about a call.

Works with: Windows and Linux versions of Skype.

This feature, on by default in earlier versions of Skype, is now off by default in the current version of Skype. Why Skype disabled this feature is a mystery, as it can provide a wealth of detail about what's happening during a call. Armed with this technical detail about a call, you will not only better understand what Skype is doing behind the scenes, but also perhaps get some clues as to why Skype is performing poorly. Even if Skype is performing well, the technical details provided by this hack might give you some ideas for further tweaking and tuning Skype's performance.

Fortunately, it's easy to switch call technical details back on. All you need to do is make a one-line change to your Skype configuration file, config.xml. Making this change is simple, especially if you follow the guidance provided in "Tweak Skype by Editing config.xml" [Hack #45].

Note that you will have to quit Skype (right-click on Skype in the Windows system tray, and then choose Quit; select File Close on Linux) and restart Skype for the changes to take effect. Editing config.xml file locate the appropriate tag and set its value to 1, like this:


Windows

 <DisplayCallInfo>1</DisplayCallInfo> 


Linux

 <TechCallInf>1</TechCallInf> 

With version 1.4 of Skype for Windows, Skype reintroduced the option of setting <DisplayCallInfo> using its user interface (select Skype Tools Options… Advanced, and then check or uncheck "Display technical call info). On Linux, you can likewise change <TechCallInf> using the user interface (select Skype Tools Options… Advanced, and then check or uncheck "Display technical call info).


Now, restart Skype and the ability to display call technical details will be enabled, so when you let your mouse hover over the picture in the middle of an active call window, it will display the technical details for that call (see Figure 4-6). This works for both outgoing and incoming calls, and for one-on-one and multiperson conference calls (though for the latter, CPU usage is displayed only in the case of the first, top-left, conference call participant on Windows, and not at all on Linux).

By activating call details, you get a lot of useful information about calls. However, the format of the information is somewhat terse and cryptic. So, I've provided the following explanations to help you interpret the displayed information:


Input and Output

Displayed are the sound-in and sound-out devices that Skype is using. If either of the devices listed against input and output doesn't match the hardware you are using, or intend to use, for making and receiving calls, that's a problem. You can change the sound devices Skype uses by selecting Tools Options … Sound Devices and selecting the devices you want from the Audio In and Audio Out pull-down lists. While there, you may also want to check the "Ring PC speaker checkbox, as that will act as an additional notification of an incoming call.

Figure 4-6. Display of call technical details


Call status

The numeric code displayed has these meanings: 1 = connecting (you should hear a dial tone); 2 = failed call (the user is not on the line); 3 = ringing; 4 = connection established (the call is in progress); 5 = local hold; 6 = finished; 7 = missed; 8 = refused; 9 = busy; 14 = playing voicemail greeting; and 15 = connected to voicemail (you can leave a voicemail message, but only if the recipient is a Skype voicemail subscriber). A full list of call status codes and their meanings is available as a web extra from the book's web site, http://www.oreilly.com/catalog/SkypeHacks/index.html.


ObjID

This is an internal reference used by the Skype programmers and has little meaning, or significance, from the user's point of view.


Codec

Codec is an acronym that stands for code/decode. It is the software component of Skype that is responsible for converting speech into data packets that are suitable for transmission across a network, and at the receiving end for converting those same data packets into sound that we can hear. There are many types of codecs. For Skype-to-Skype calls, one called ISAC from Global IP Sound (http://www.globalipsound.com/) is used, and for SkypeOut calls a G.279 codec is used (G.279 is a specification from the International Telecommunication Union, or ITU, http://www.itu.int/). This is part of the internal workings of Skype, so it is something over which the user has no control.


Jitter

Jitter is a measure of the variations between consecutive data packets arriving at the Skype client. The lower this number is, the better your voice connection will be. The jitter buffer in your network router holds incoming data packets until a bunch of them have been received and sequenced. Then it starts to release the packets as an even stream so that the sound you hear is continuous. Meanwhile, new data packets are being received. The idea behind the jitter buffer is that buffering increases the chances that, even if some subsequent packets arrive late, enough packets will be available in the buffer for the sound you hear to continue uninterrupted. Clever algorithms implemented in firmware within the router detect and try to compensate for the effects of jitter. In addition, Skype does its own jitter correction internally in software, so presumably, Skype's jitter number is some composite measure of the residual jitter arriving from the router and its own efforts at correcting jitter. High levels of jitter cause large numbers of data packets to be discarded by the jitter buffer. This may result in degraded call quality. Skype's jitter measurement is difficult to interpret in any precise way (outside of Skype); however, as already mentioned, the lower this number is, the better your voice connection will be. Many things cause jitter, and the time spacing between arriving data packets and other characteristics of the packets themselves can vary for a multitude of reasons, but common causes are network congestion and packet route changes. Skype's jitter number can peak in the thousands at the beginning of a call, but should then drop back to 300 or less. Since the jitter buffer and its corrective algorithms are built into your router, the level of jitter you experience is in part a function of your router's quality and sophistication. Upgrading to a new and improved router is one way to improve jitter. However, before doing this, it is worth checking your current router manufacturer's web site for firmware updates that will improve the router's performance. The "Roundtrip" section of this list provides some advice on router setup that may also help with jitter.


Send/Recv packet loss

Packet loss and "Send packet loss" shows the proportion of data packets lost at both ends of a callthat is, by you and the other partyfor packets that are sent out. Likewise, "Recv packet loss" shows the proportion of data packets lost at both ends of a call, for packets that are received. "Packet loss" is a measure of the overall number of packets lost during the call. Loss of data packets is the bane of VoIP! High levels of packet loss mean poor voice quality and even dropouts, where the connection goes silent for seconds at a time. The ideal is to have zero packet loss, but this is rarely achieved in the real world unless you and the other caller have an outstanding network connection. As a rule of thumb, a packet loss of less than 5% (that is, 5% of data packets sent, or received, are "lost," and typically have to be resent) has very little noticeable effect on call quality. A packet loss of greater than 5% progressively degrades voice quality, to the point that when packet loss rises higher than 25%, call quality is significantly degraded and soon thereafter becomes unusable. You can address high packet loss by improving your network connection, specifically by giving Skype data packets higher priority than other data packets, which is a technique commonly referred to as Quality of Service (QoS). See "Improve Service Quality" [Hack #59] for ways in which you can improve your Skype QoS.


Roundtrip

This is a measure of your network connection's latency (see "Test Your Internet Connection Latency" [Hack #34]). Roundtrip times of 150 ms to 200 ms will mean excellent call quality and that there's very little need for you and the other caller to pause in your conversation just to know the other has stopped talking. When roundtrip times stretch to 350 ms and higher you will find yourself having to leave longer and longer pauses in your conversation just to know, without ambiguity, that the other party has stopped talking. Anything higher than 500 ms and conversations will become stuttered and very strained, as both calling parties will run the risk of talking over one another. If you use Skype, and you use a geostationary satellite link to connect to the Internet, you can expect this number to be quite high, but you can do little about it, as it is a consequence of the finite nature of the speed of light. Similar to jitter (discussed earlier), roundtrip data-packet transfer time is primarily a function of the speed and quality of your Internet connection. Also, malware and adware, which are common forms of spyware (unwanted software installed on your computeroften without your knowledge that consumes processing power and Internet bandwidth; see http://arstechnica.com/articles/paedia/malware.ars/ for a good overview of the topic), can have a detrimental effect on roundtrip time. An excellent tool for removing spyware is SpybotSearch & Destroy, freely available from http://www.safer-networking.org/en/spybotsd/index.html. Also, upgrading your router firmware to the latest version can sometimes improve roundtrip time. Finally, if you're a real techie, you can tinker with the router port settings for the ports Skype uses (you can find Skype's port settings by selecting Tools Options… Connection); see "Fix Badly Behaving Routers [Hack #51] for details on setting up port forwarding for Skype.


Corr

The meaning of this term is unknown.


SessionOut and SessionIn

These are counts of the number of UDP data packets both sent (out) and received (in).


Relays

When a Skype call is a relayed transfer, it means that a direct connection between the caller and callee could not be established, so data packets must be routed via intermediate Skype nodes (peers, just like you, in the Skype network). The fewer the number of relay nodes, the smaller the number of "hops" data packets have to make from node to node, and the better your call quality will be. This is another call attribute for which the lower it is, the better it is for call quality. The ideal is to have zero relays, in which case the call is said to be in direct transfer. The most common cause for relayed transfer is because you, or the other party, are using a machine that lives behind a restrictive firewall or uses Network Address Translation (NAT). These are the areas to look at if you are suffering badly from relayed transfer. Note that relayed transfer not only affects voice-call quality, but it also severely impacts file transfers made through Skype, as file-transfer traffic is throttled back by Skype to a measly 1 kilobyte per second (so a 1MB file would take more than 15 minutes to transfer, and larger files would take correspondingly longer). You can improve file-transfer speed by not talking at the same time a transfer is taking place, because Skype gives voice packets priority over data packets. A high number of relays can also be a symptom of a malfunctioning or old router. Sometimes you can give an old router a new breath of lifeincluding reduced relays by upgrading its firmware.


UDP status

The User Datagram Protocol (UDP) is a specification for a network protocol. UDP is one of the two methods by which Skype communicates with other Skype clients (nodes). The other is the Transmission Control Protocol (TCP). Together with the Internet Protocol (IP), UDP and TCP/IP provide the network infrastructure on which Skype runs. Skype uses UDP when it can because it is the preferred protocol for small data packets, like the ones used by Skype. Skype indicates the quality of your (local) and the other party's (remote) UDP connection. If either end of a Skype call has poor UDP, call quality will suffer. The fix is for the offending end to make its network more UDP friendly.


CPU usage

This displays both your (local) and the other party's (remote) current CPU usage. High CPU usage numbers on either end of a call spell problems because Skype might not be able to get the processing power it needs to do its real-time job of encode encrypt send receive unencrypt decode. Very high CPU usage (greater than 90%) may impact call quality. Oftentimes, high CPU usage is the result of other processes running on your or the other partys machine. In this case, you can improve things by shutting down the other non-Skype processes. Sometimes the problem is with Skype itself, in which case you should investigate and troubleshoot (see "Troubleshoot Skype" [Hack #12]).




Skype Hacks
Skype Hacks: Tips & Tools for Cheap, Fun, Innovative Phone Service
ISBN: 0596101899
EAN: 2147483647
Year: 2005
Pages: 168

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net