This tutorial sums up a set of basic guidelines on how to report a call-related issue and collect initial information about it. While not mandatory, this will save you considerable time.
Understanding the problem
Whenever you experience a call issue, it is important to find out as precisely as possible what's going on and who gets affected. Every piece of information, every pattern you can spot can help with the investigation.
Here are some things to consider in order to easily identify the problem:
- Who is affected? An extension, the account, everyone? Is it a random thing?
- When does it happen? All the time or is it a one-time event? Did it ever work? Is it random? Can you see a time pattern?
- Exactly what's going on? Can you describe the symptoms? When the scenario gets complex, a description like "A calls B, B transfers to C, but C sends a busy tone" usually helps.
- Are there any recent changes on the system?
If the issue can be reproduced, you must take the necessary logs. Generally, these problems either have to do with the call set-up or they are audio-related. Even though things may vary from one case to another, basic logs usually apply to all call-related issues.
If it's a call set-up issue
You can tell it's a call set-up issue if the call does not connect at all or if it does not connect as expected. For instance, if another phone rings instead of the dialed one, or if it goes straight to Voicemail.
VoipNow uses SIP for the call set-up of internal calls and SIP channels for external calls. Asterisk and Kamailio are in charge with the call set-up; they run on ports 5050 and 5060.
To trace the SIP traffic they generate and receive, you need to run a capture on them:
tcpdump -nni any -s 0 port 5050 or port 5060 -w /usr/local/voipnow/admin/htdocs/out.pcap
If it's audio-related
You can tell it's audio-related if the call connects as expected, but the audio is either only one way or completely missing, or it has very poor quality.
The voice is transmitted as an RTP stream which uses a range of ports that are dynamically assigned. When dealing with such issues, it is almost always required that you this stream as well.
Run the command below:
tcpdump -nni any -s 0 udp -w /usr/local/voipnow/admin/htdocs/out.pcap
Make the test short
Please note that such captures can get very big, so keep the test as short as possible. This type of captures are also required for fax-related issues.
How to track a call in the capture
Always track the entire call in the capture. In other words, Start the capture >> Make the call >> Hang up >> End the capture.
If the capture doesn't seem to contain the call
Download the file using the command below. The /usr/local/voipnow/admin/htdocs/ location allows the files to be downloaded directly from the web interface with https://<VoipNow_IP>/out.pcap The location can be used for other files as well.
https://<VoipNow_IP>/out.pcap- Open the file with Wireshark. Alternatives like Wireshark can be used, but remember to save the as .pcap because downloading .cap files from the location mentioned earlier is not allowed.
- Go to Telephony >> VoIP Calls. A list containing all captured calls will be displayed. If you can find the numbers you used in that list, this means the capture includes your call.
If the server is busy and the list of calls is way too long
- Go to the filter box in the top left corner and type sip contains xxxxx, where xxxxx can be either part of the number used, or the entire number.
- Hit Enter and, if the packet list is not empty, this means you have captured the right call.
Name your captures
If you take multiple captures, give them different, relevant names to avoid overwriting or any other sort of confusion.
The resulting captures may or may not contain enough information to spot and fix the problem, so additional tracing might be required, but this is always a good place to start.
For example, you might see a 603 error code sent by VoipNow, but not be able to tell why it's happening, so you'll need continue your investigating using Asterisk and Kamailio logs on that server.
Remove file from server
Once the investigation is complete, make sure you do not leave the /usr/local/voipnow/admin/htdocs/ the out.pcap file on the server. Otherwise, anyone can download it from https://<VoipNow_IP>/out.pcap
Tips and tricks
When providing the capture, always describe the scenario replicated as clearly as possible.
Mention all the numbers involved and the time stamp of the event.
Need help? Ask a question in our GetSatisfaction community.
Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.