Difference between revisions of "DID is not working"

From Kolmisoft Wiki
Jump to navigationJump to search
Line 19: Line 19:


<br><br>
<br><br>
= Bad Localization Rule =
== Bad Localization Rule ==


Incoming DID should be in E164 format if not - it should be transformed to such using Localization.
Incoming DID should be in E164 format if not - it should be transformed to such using Localization.

Revision as of 10:05, 30 July 2011

Basic steps

  • Go to STATISTICS - Calls - Last Calls window, select current day, order calls by date to show most recent calls at the top and find your failed call, check for it's Hangup Cause Code. Check the reason why call failed here. Resolve by provided instructions (if any).
  • Make sure that DID is routed to your server. Here you can find how to route DIDww company's DID to your server.
  • Do you need to register to your Provider in order to use DID from him? (Usual answer is YES). Did you registered to your provider?
  • Check Asterisk CLI for error message.
  • If you can't see any output on Asterisk CLI when making call to DID, use sip debug or iax2 set debug commands
  • Check for error message




DID in wrong format

DID in the system must be in E.164 format.

  1. Create DID in the system in E.164 format
  2. Call to the system, watch CLI
  3. If DID comes not in E.164 format - use Localization to fix incoming broken DID number and convert it to E.164 format



Bad Localization Rule

Incoming DID should be in E164 format if not - it should be transformed to such using Localization.

If DID after Localization is not in E164 format - call will fail.

Check Localization Rules, which can add/cut some prefix to/from incoming DID.

This makes incoming DID number not match with the DID entered in the system and call will fail.



Example

In Global Location User created rule: Add: "34", Cut: "", Min: 9, Max 14

This added 34 to every number between 9-14 length.

As incoming DID was 11 digits length, 34 was added in front of it and system was unable to find it:

[2011-07-30 10:24:25] NOTICE[538]: app_mor_authentication.c:1289 Dst: 182994*****
.. [2011-07-30 10:24:25] NOTICE[538]: app_mor_destinations.c:285 mor_localize_destination: Localization info: cut: , add: 34 [2011-07-30 10:24:25] NOTICE[538]: app_mor_destinations.c:314 mor_localize_destination: Localized destination: 34182994***** [2011-07-30 10:24:25] NOTICE[538]: app_mor_dids.c:22 mor_check_did: Checking DID (34182994*****) ... [2011-07-30 10:24:25] NOTICE[538]: app_mor_dids.c:282 mor_check_did: DID not found...

Solution to this problem was to fix rule: Min: 9, Max: 9



's' extension

  • If 's' extension is reached means your provider does not send destination information.

Usually you will hear "SOMETHING IS TERRIBLY WRONG" when call goes to s extension.

Solution:

  1. In register string add /SOME_DID at the end
  2. Create SOME_DID in DIDs window
  3. Assign this SOME_DID to some device

Example:

register => username:secret@sip.provider.com/1234567890

Now every call which comes from sip.provider.com will go to DID 1234567890.

We need to create such DID and assign some device to it to receive all calls coming from this provider.

This solution is workaround when provider does not send correct destination information (most of providers do this).

One bad thing about this is that only 1 device can receive calls from this provider.

In order to receive calls to several DIDs->Devices you need to tell your provider to send correct destination information.




See also