• Please post your message in it's related sections only. Accounts may be blocked or limited if you post in wrong category !

We are growing ! We are Looking for Forum Moderators for this site!

More than 3000 Registered Businesses | Top active VOIP forum | Interested ?..Click to Speak

Troubleshooting Voice Over IP Issues - SIP Response codes and actions

#1
Trouble shooting voice issues for VoIP engineers and PBX administrators is a big challenge. Unlike in traditional telephony systems , One has to deal with many aspects of Internet Telephony (Voice Over Internet) when it comes to call connectivity and quality. It is not limited to only hardware but VoIP admin has to look into application level and Network level issues along with hardware performance .


Most of the SIP based IP-PBX or softswitch or any other SIP UAS or SIP UAC follow session initiation protocol RFCs defined in IETF. VoIP engineers use numerous tools to identify connectivity and QoS issues. Wireshark is one of the important tools to trace and analyse network packets to extract SIP and SDP headers inorder to find out the actual cause of trouble .

When a call is made from source to destination, a SIP session starts with initiating a "INVITE " request to destination equipment. The session closes with "BYE" signal from source or destination based on which party hang up the call.
The numeric response codes of a sip client or server are 3 digit codes which can help in identifying the connectivity issues . A simple way to remember the response codes is remembering the order of the codes

1. starting with 1xx are for call setup
2. 2xx indicates status of session and it is normally a positive response
3. 3xx codes are request redirections which are generated by user agent server ( server side)
4. 4xx codes client failure responses which indicates something wrong from client side .
5. 5xx codes indicates server Failure errors.


And 6xx response codes indicates global failure response . The server knows that call will fail ultimately and send 6xx response codes and it should not be tried on any other gateways or locations.

We will discuss some important common SIP response codes below which can be helpful to identify and fix issues a PBX or VoIP administrator faces .


100 trying - confirmation about receiving INVITE request.

When a call is made from client the other party should send this response to indicate that it is trying the call and


180 Ringing - Indication of ringing phone and instruct the calling party to initiate a local dial ring . Say for example you are calling from a softphone and SIP server sends 180 Ringing , then softphone will start playing sound file which is configured in softphone itself .


183 - session Progress - This response may contain custom ringtone or ringback tone based on telecom regulations . This is early media before starting the call and contains SDP information which may have custom tone information . For example it may have a long beep or ringing sound based on telecom regulations as well as it may contain carrier announcements like destination number not in service etc., . Usually carrier does not bill these calls and you may want to exclude this session duration from actual call duration.

200 OK - answer of the call / connection between 2 end points

This is a positive session successful message assuring that request has been accepted .


302 moved temporarily - Redirection of call to another destination .

Usually this response is from destination server side indicating the destination user been moved to an alternative location and the alternative contact information is included contact header.

400 bad request - It indicates the UA that the request is not valid. This can be because if incorrect or malformed packet . Or the end point does not understand request. You can check if any compatibility issue or bugs in your SIP software .

401- Unauthorized - It indicates that authentication is wrong and request for user name password .

Can be something wrong with sip credentials or authentication methods used. It can also be you are trying to register same account in multiple places and UAS may not allowing multiple registrations . So you can check if you set concurrent registrations limit .


403 forbidden- This Could be due to wrong credentials or user not authorised to place call to this destination
Also check if dial-plan is blocking this destination . This can also be due to multiple registrations as same reason as 401 indicates .


404 not found Destination user not found . This happen when there is no dialplan /route to that destination .
It could be destination not exist in dial plan.


401 proxy authentication Required This is same as 401 but sent by SIP servers requesting client for authentication / identify themselves


408 request timed out - It happens when a firewall is blocking the port or something in network is stopping the packets or destinations server is not online or request not reached the destination due to network issues.
To resolve this issue you can check the firewall for any blocking ports . Also Check if router or firewall has SIP-ALG option is enabled . Some routers come with SIP ALG feature enabled by default which is implemented to inspect SIP traffic but not working correctly for your SIP messages . You can turn off this feature to resolve some of the issues .

486 Busy here : destination is busy or may be on another call .

This response is generated by destination UA indicating that destination is busy or ports over loaded .


487 Request terminated After cancel sip request this message follows


500 Internal server error This response code indicates there is some malformed packet or bug or some inconsistency in server.


503 Service not available : indicates over load on UAS or it is unable to process the request at present


603 It is general Decline packet . Could be for various reasons .


Troubleshooting media or voice quality issues :


After a call session is created and agreed on codecs RTP flows through the end points . Voice quality primarily depends on voice compression methods ( codecs) we use. Choosing a right codec is vital for optimum quality in low bandwidth networks .

Call disconnecting after 30 seconds is a common issue . This might be NAT issue and /or ACK not reaching the end point. End points exchange periodic ACKs with SIP OPTIONS when session timer is set . For example When session timer expires call will be disconnected at the endpoint which is not received response to OPTIONS . Usually session timer should be paused when call is on hold or a silent packet is received . RTP Media time out setting defines what is the default session timeout when there is no media received . If you are not using session timers it is possible that calls may stuck in hung state and call timer keeps running. This will cause false billing . So it is always suggested to use session timers / RTP media timeout . Also Some devices may have built in application gateway option ( SIP_ALG ) for taking care of NAT issues . But it may blocking SIP wrongly . Sometime turning off this may resolve call disconnection issue .


Unlike connectivity issues , to trouble shoot voice quality issues as a VoIP engineer you may have to do manual tests some times . Like setting a different Jitter buffer , trying different codecs from a softphone , Setting custom sip headers etc., These can be achieved with some command line SIP tools . Here is a softphone that comes with a webportal where you can set almost all advanced settings a SIP UA has to offer and push the settings automatically with one click .

Simply install android softphone app on mobile and provision sip account from the web portal . You can experiment with different advanced media and sip settings until you find correct matching settings to fix your call issue .

This saves a lot of time by eliminating the need of compiling and hardcoding SIP settings in a softphone or command line tools . It offer features like auto login with QR without entering sip credentials manually , creating server profiles and generate QR codes using server profile as a template . It is a Free Softphone and Generating QR and using softphone is Free. It offers default server profiles like UDP , TCP , Video profiles which is enough for voip users and Cloud PBX users. If you want to generate a custom SIP profile with advanced settings or want to change brand , balance apis etc., you may need subscription . Find product video here and FAQ here .

Push_SIP_settings_to_softphone.png

Provision_advanced_sip_settings.png
 
Last edited:

Contact us to advertise on this website!