WEB UI to manage Internal/External scode translations:


The negative "result" codes  in the customer's CDRs section can be interpreted using the following table:


[ssp-root@trunk-60 /home/ssp]$ psql -U sippy -c "SELECT * from call_error_codes order by 1 desc;" sippy
 i_call_error_code |                       description
-------------------+---------------------------------------------------------
                -1 | External Translator Rejected The Call
                -2 | Body-less INVITE
                -3 | Account Expired
                -4 | Connection Capacity Exceeded
                -5 | Malformed SDP
                -6 | Unsupported Content-Type
                -7 | Unacceptable Codec
                -8 | Invalid CLD Translation Rule In The Authentication Rule
                -9 | Invalid CLI Translation Rule In The Authentication Rule
               -10 | Invalid CLD Translation Rule In The Account
               -11 | Invalid CLI Translation Rule In The Account
               -12 | Cannot Find The Session To Bind To
               -13 | Invalid CLI Translation Rule In The DID
               -14 | No Rate Found In Tariff
               -15 | Call Loop Detected
               -16 | Too Many Sessions
               -17 | Account Is In Use
               -18 | Call Per Second (CPS) Limit On Account Exceeded
               -19 | Call Per Second (CPS) System Limit Exceeded
               -20 | Insufficient Balance
               -21 | Destination Is Forbidden
               -22 | No Rate Found In Customer's Tariff
               -23 | Loss Protection
               -24 | Address Is Incomplete
               -25 | No Routes Found
               -26 | Call Per Second (CPS) Limit On Connection Exceeded
               -27 | Invalid Asserted ID Translation Rule In The Account
               -28 | CLD is in the Do Not Call List
               -29 | Invalid CLD Translation Rule In The DID
               -30 | Call has been canceled by calling party
               -31 | Call Per Second (CPS) Limit On Customer Exceeded (starting from 5.0)
               -32 | Too Many Sessions For Customer (starting from 5.0)
               -33 | Call Per Second (CPS) Limit On Auth Rule Exceeded (starting from Sippy2020)
               -34 | Too Many Sessions For Auth Rule (starting from Sippy2020)
               -35 | Invalid CLI Translation Rule In The Pre-Routing Rule (starting from Sippy2020)
               -36 | Invalid CLD Translation Rule In The Pre-Routing Rule (starting from Sippy2020)
               -37 | CLI is in the Do Not Call List (starting from Sippy2020)

For inbound calls there will be the following SIP error codes:


400, 'Bad Request - Malformed SDP'
400, 'Bad Request - Unsupported Content-Type'
403, 'Account Expired'
403, 'Account in Use %d' % self.i_account
403, 'Auth Failed (1)'
403, 'Auth Failed (2)'
403, 'Call Loop Detected'
403, 'Call rate too high for account %d' % self.i_account
403, 'Call rate too high'
403, 'Forbidden Destination %s' % prefix
403, 'Insufficient Balance %d' % self.i_account
403, 'Invalid CLD translation (1)'
403, 'Invalid CLD translation (3)'
403, 'Invalid CLI translation (2)'
403, 'Invalid CLI translation (4)'
403, 'Invalid CLI translation (5)'
403, 'Invalid P-Asserted-Id translation'
403, 'Loss to Destination %s Exceeds Max Loss' % prefix
403, 'No Rates Found for Account %d' % self.i_account
403, 'No Rates Found for Customer %d' % i_customer
403, 'Too many active calls'
403, 'Loss Protection'
484, 'Address Incomplete'
488, 'Not Acceptable Here'
500, 'Body-less INVITE is not supported'
500, 'Cannot Bind to the Requested Session'
500, 'Internal Server Error (1)'
500, 'Internal Server Error (2)'
500, 'Internal Server Error'
500, 'No Routes For the Call'
503, 'Call rate too high per connection'
503, 'Service Unavailable (FIXME1)'
503, 'Service Unavailable (FIXME2)'
503, 'Service Unavailable'

Once the customer sends the call, and after the first invite b2bua generate the following error:

500 Internal Server Error
and the call is rejected, most likely that's because the customer has made changes to the routing group of an account (assigned another routing group or so) when there was live traffic running.

As a result, the cache wasn't able to re-read immediately, it usually took up to 1 minute, or so after the first call attempt.


Please, do not confuse this error to any other 500 one:

Server internal error, which could be generated because of different reasons and in different periods of time.


TROUBLESHOOTING:


-4 "Connection Capacity Exceeded" and -16 "Too Many Sessions" (reached env CC limit) codes return 503 Service Unavailable SIP code.


"403 Auth Failed (1)" error is returned by b2bua when the "Trust CLI" option of the account is disabled and CLI doesn't match VoIP login during DIGEST authentication only

"403 Auth Failed (1)" error is returned by b2bua when the account authenticated for the call is BLOCKED. Starting from 5.2 the same error is returned for the case Customer that owns account authenticated for the call is BLOCKED.

Note: no CDRs are written for the calls that are dropped on blocked Account/Customer setup.

"403 Auth Failed (2)" error is returned when VoIP password is incorrect during DIGEST authentication only.


488 Not Acceptable Here

Account codec is not compatible with caller party codec.

Solution: to disable "Use Pref. Codec Only " in account parameters or reconfigure it according to the codec used.