= Troubleshooting Sound Problems - pjsip.org = Troubleshooting problems in the audio quality is one of the most difficult task to do with PJMEDIA, because not only it is system/usage specific but also sometimes it is quite hard to describe what the problem is. This page will try to provide a step-by-step troubleshooting guide to assist solving such problems. == Understanding Media Flow == If you want to understand how audio is flowing among various PJMEDIA components, [wiki:media-flow the Understanding Media Flow page] provides a detailed explanation about this. == Types of Problems == Please identify the problem with audio from the following list. If the problem is not listed below, it would be great to contact the mailing list so that I can add it here: 1. [wiki:audio-problem-local-no-audio No audio is heard on local speaker during the call] 1. [wiki:audio-problem-remote-no-audio No Audio is heard by remote party] 1. [wiki:audio-problem-breakups Audio breakups] 1. [wiki:audio-problem-dropouts Audio drop-outs or "stutters"] 1. [wiki:audio-problem-static-noise Loud static noise] 1. [wiki:audio-problem-hissing-noise Soft/quiet noise ] 1. [wiki:audio-problem-sending-tone Audio stutters when streaming tone to X-Lite/SJPhone] 1. [wiki:audio-problem-remote-jitter High jitter value observed by remote party] == All Checklists == The following lists the complete checklists that has been documented to throroughly test the audio system. 1. It's always recommended to check whether the problem exists with the latest SVN version of the libraries. 1. [wiki:audio-check-correct-device Check that the correct device is being used]. 1. Check that no other application is using the devices. It is common to not be able to use sound device when the device is being used by other applications. 1. [wiki:audio-check-loopback Check that speaker is functioning properly by looping-back microphone to speaker device]. 1. [wiki:audio-check-play You can also check that speaker is functioning properly by playing a WAV file to speaker]. 1. [wiki:audio-check-rx-rtp Check that incoming RTP packets are indeed received by local host] 1. [wiki:Audio_Problems/Getting_Around_Nat If no RTP packet is received, try this to get around NAT problems] 1. [wiki:audio-check-packet-loss Check for high network jitter, packet loss, etc.] 1. [wiki:audio-check-conf-connection Check that the call is connected to the sound device in the conference bridge]. 1. [wiki:audio-check-cpu Check that CPU utilization is not too high] 1. [wiki:audio-check-remote-address Check that pjsua is transmitting RTP packet to the correct address] 1. [wiki:audio-check-codec-nego Check that codec is negotiated properly by both parties]. 1. [wiki:audio-check-ec Checking the echo cancellation effectiveness] 1. [wiki:audio-how-to-record Record the audio with pjsua for to hear it offline] 1. [wiki:audio-check-sound-device-jitter Check the performance of the sound device] == How to Report Audio Problems == If the problem is not listed above, or a solution can't be found, then the next step is to try to contact the mailing list to see if members can provide some help to diagnose/solve the problems. When reporting the problem, it's always good to follow this guideline: * Try to describe the problem in detail (is it noise, stutters, etc). Be verbose, because certainly it doesn't help at all to say that '''"the audio is bad"''' without describing what it means. * Let others know what checklists have been done. Try to narrow down the problem. If there are some log output (such as output of pjsua's '''{{{dq}}}''' command or {{{sndtest}}} output or just pjsua's log file) then attach these outpus to your post. It's always better to have more data rather than less data. * It will be very useful to have a sample recording of the problem, if it is possible. We know that it's very hard to describe what something sounds like, so with a recording others can hear themselves what exactly the problem is. Use the [wiki:audio-how-to-record How to Record Audio with pjsua] page for some instructions. Note that the mailing list does not allow message larger than '''100 KB''' so probably you'd need to put the sample recording somewhere and provide the link to your post.