Difference between revisions of "Callback Addon"

From Kolmisoft Wiki
Jump to navigationJump to search
m
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=About=
<!---This functionality is available from MOR 11--->
[[Callback|Callback Addon]] is needed in order to use callback in MOR.
= About =
'''Callback''' functionality comes as Addon and must be purchased separately.
<br><br>
<br><br>
= Definition =  
= Definition =  


Line 14: Line 16:


'''NOTE''': If you want to use Callback, make sure your DID provider sends correct CallerID information. Without CallerID, you will not be able to use Callback.
'''NOTE''': If you want to use Callback, make sure your DID provider sends correct CallerID information. Without CallerID, you will not be able to use Callback.
<br><br>
= Callback Settings =
Go to: '''ADDONS''' -> '''Callback''':
<br><br>
[[File:Callback settings.png]]
<br><br>
If ''Send Source as CID'' is selected an additional field '''WEB Callback CID'' appears. If it is left empty default CID will be used.


* '''Active for users?''' - set if Callback is active for users
* '''Max Retries''' - number of maximum retries
* '''Retry Time''' - time of waiting until the retrying of the Call
* '''Wait Time''' - time of waiting until the answer of the Call
* '''Callback Server''' - server though which will go Callback Calls
* <!---from X5---> - '''Busy IVR''' - when a User receives the leg A callback and the leg B destination is busy this IVR will be played before hanging up leg A
* <!---from X5---> - '''Failed IVR''' - when a User dials an unreachable number, this IVR will be played before hanging up the call.
* '''Send Device CID''' - send Device CallerID number
* '''Send Source as CID''' - send Source as CallerID
* '''Callback CID''' - send another CallerID
<br><br>
<br><br>


= Common Callback diagram =  
= Common Callback diagram =  
 
<br><br>
[[Image:common_callback_diagram.png]]
[[Image:common_callback_diagram.png]]
<br><br>
<br><br>
= Implementation in MOR =  
= Implementation in MOR =  
Line 32: Line 50:
* [[WEB Callback | Over GUI]]
* [[WEB Callback | Over GUI]]
* [[Callback over Email | Over Email]]
* [[Callback over Email | Over Email]]
* [[MOR API callback | Over API]]
* [[MOR API callback init| Over API]]
 
 
<br><br>
<br><br>


Line 44: Line 60:


If system recognizes the User which initiates callback (using Calling Cards Pinless or ANI/PIN), then this User will be charged for Callback initiation call.
If system recognizes the User which initiates callback (using Calling Cards Pinless or ANI/PIN), then this User will be charged for Callback initiation call.
<br><br>
<br><br>
= Callback User, Callback Device and Callback Tariff =
= Callback User, Callback Device and Callback Tariff =


Line 60: Line 74:


'''Callback Tariff''' – a separate tariff which should be assigned to the Callback User. In this tariff you enter rates only to those destinations from which you expect the user will make an Initiation Call. This is important! Make sure you do not have some Inmarsat rates defined here. Guess how much you will pay if the user initiates a callback from Inmarsat and, when he gets the call, enters the PIN several times incorrectly and hangs up? In short, this tariff decides from which destinations you allow users to initiate callback.
'''Callback Tariff''' – a separate tariff which should be assigned to the Callback User. In this tariff you enter rates only to those destinations from which you expect the user will make an Initiation Call. This is important! Make sure you do not have some Inmarsat rates defined here. Guess how much you will pay if the user initiates a callback from Inmarsat and, when he gets the call, enters the PIN several times incorrectly and hangs up? In short, this tariff decides from which destinations you allow users to initiate callback.
 
<br><br>
 
NOTE: '''LEG A''' (system calls back to initiator) is '''charged by User or Calling Card tariff''' if User or Calling card was recognized. If User or Calling Card was '''not recognized''', System owner will be charged for a '''LEG A'''.
<br><br>
<br><br>


Line 71: Line 85:
# Using ANI (Automatic Number Identification).
# Using ANI (Automatic Number Identification).
# By the Calling Card's Number/PIN (or just the PIN).
# By the Calling Card's Number/PIN (or just the PIN).
<br><br>
<br><br>
= Callback with Device's PIN authentication/authorization =
= Callback with Device's PIN authentication/authorization =
 
<br><br>
[[Image:callback_with_pin_auth_schema.png]]
[[Image:callback_with_pin_auth_schema.png]]
 
<br><br>


The main part here is that user gets authenticated/authorized when he enters Device PIN. System checks for such PIN in database and if user is found – user can proceed.
The main part here is that user gets authenticated/authorized when he enters Device PIN. System checks for such PIN in database and if user is found – user can proceed.
<br><br>
<br><br>
= Callback Using ANI (Automatic Number Identification) =  
= Callback Using ANI (Automatic Number Identification) =  
 
<br><br>
[[Image:callback_with_ani_auth_schema.png]]
[[Image:Callback+ANI_new_Scheme20150109.png]]
 
<br><br>
 
This way of Callback is extended User auth. by PIN Callback. In order to ask user for Device's PIN system checks user's CallerID (ANI). If such CallerID is found in database – user gets authenticated/authorized and can proceed entering destination. If CallerID is not found – Callback is not initiated to User.
This way of Callback is extended User auth. by PIN Callback. In order to ask user for Device's PIN system checks user's CallerID (ANI). If such CallerID is found in database – user gets authenticated/authorized and can proceed entering destination. If CallerID is not found – user is asked to enter his Device's PIN number.


'''Attention! It is very easy to fake CallerID so be careful when you are enabling Callback with ANI. Anybody can put anybodies CallerID and use your service for free.'''
'''Attention! It is very easy to fake CallerID so be careful when you are enabling Callback with ANI. Anybody can put anybodies CallerID and use your service for free.'''
<br><br>


 
= Callback By Calling Card's Number/PIN (or only PIN) =
 
<br><br>
<br><br>
= Callback By Calling Card's Number/PIN (or only PIN) =
[[Image:callback_with_cc_schema.png]]
[[Image:callback_with_cc_schema.png]]
 
<br><br>
 
This type of Callback lets user enter Calling Card's Number/PIN to get authenticated/authorized. System checks for such Calling Card in database. If call is made – it is assigned to particular Calling Card.
This type of Callback lets user enter Calling Card's Number/PIN to get authenticated/authorized. System checks for such Calling Card in database. If call is made – it is assigned to particular Calling Card.


Rule about Users and Cards:
Rule about Users and Cards:
Line 114: Line 116:
# '''Card (as entity in MOR) can't belong to some User.'''
# '''Card (as entity in MOR) can't belong to some User.'''
</big>
</big>
<br><br>
<br><br>
=Setting Callback in MOR=
=Setting Callback in MOR=
Line 137: Line 136:
# Create Callback Dial Plan and assign Calling Card or Auth. by PIN Dial-Plan to Callback Dial Plan
# Create Callback Dial Plan and assign Calling Card or Auth. by PIN Dial-Plan to Callback Dial Plan
# Assign Callback Dial Plan to some DID
# Assign Callback Dial Plan to some DID
<br><br>
<br><br>
==Callback Hangup Cause==
==Callback Hangup Cause==
''This option is available starting from [[MOR_10_documentation | MOR 10]]''
<!---This functionality is available from MOR 10--->
 
Starting from MOR 10 you can change the Hangup Cause Code which will be used then dropping the call before calling back.
Starting from MOR 10 you can change the Hangup Cause Code which will be used then dropping the call before calling back.
<br><br>[[image:Callback_dial_plan_hangup_cause_code.png]]
<br><br>
<br><br>[[image:Callback_dial_plan_hangup_cause_code2.png]]
[[image:Callback_dial_plan_hangup_cause_code.png]]
<br><br>
[[image:Callback_dial_plan_hangup_cause_code2.png]]
<br><br>
<br><br>
'''MOR supports these Hangup Cause Codes:'''
'''MOR supports these Hangup Cause Codes:'''
Line 165: Line 162:
*29 facility rejected / 501 Not implemented
*29 facility rejected / 501 Not implemented
*31 normal unspecified / 480 Temporarily unavailable
*31 normal unspecified / 480 Temporarily unavailable
= VIDEO: How to create Callback User =
<html>
<iframe width="640" height="360" src="https://www.youtube.com/embed/_-YSC0hS5WQ" frameborder="0"></iframe>
</html>
= VIDEO: How to create Callback Device =
<html>
<iframe width="640" height="360" src="https://www.youtube.com/embed/dbgkH2FhsgQ" frameborder="0"></iframe>
</html>
<br><br>
<br><br>
 
=See also=
----
See also:
* [[WEB Callback]]
* [[WEB Callback]]
* [[Callback over Email]]
* [[Callback over Email]]
* [[MOR API callback | API Callback]]
* [[MOR API callback init | API Callback_init]]
* [[Callback setup example]]
* [[Callback setup example]]
* [[217 Callback not initiated because device not found by ANI]]
* [[217 Callback not initiated because device not found by ANI]]
* [[Can't setup callback]]
* [[Can't setup callback]]
* [[Callback and Calling Cards]]
* [[Callback and Calling Cards]]

Latest revision as of 09:09, 19 January 2022

About

Callback functionality comes as Addon and must be purchased separately.

Definition

From Wikipedia, the free encyclopedia
In telecommunications, a callback (also written as call-back) occurs when the originator of a call is immediately called back in a second call as a response.

In order to use a callback service, a subscriber is allocated a unique number, which must first be dialled in order to trigger a return call. This is known as a Direct Inbound Dialing (DID) number (Access Number). Where Caller ID is available, it may be possible to use the same DID number for many different subscribers, as the callback system will be able to recognize each subscriber's registered number.

On hearing a ringing tone for a few seconds, the subscriber simply hangs up and awaits the callback. On receiving this, usually within a few seconds, the customer picks up the phone and dials the required number.

The cost of making a telephone call via callback consists of two parts, as the caller is effectively paying for an outbound and an inbound call at the same time. If it costs 20 US cents a minute to call Nigeria from the US, and 8 cents a minute to call Spain from the US, then the caller will pay a total of 28 US cents a minute.

NOTE: If you want to use Callback, make sure your DID provider sends correct CallerID information. Without CallerID, you will not be able to use Callback.

Callback Settings

Go to: ADDONS -> Callback:

Callback settings.png

If Send Source as CID is selected an additional field 'WEB Callback CID appears. If it is left empty default CID will be used.

  • Active for users? - set if Callback is active for users
  • Max Retries - number of maximum retries
  • Retry Time - time of waiting until the retrying of the Call
  • Wait Time - time of waiting until the answer of the Call
  • Callback Server - server though which will go Callback Calls
  • - Busy IVR - when a User receives the leg A callback and the leg B destination is busy this IVR will be played before hanging up leg A
  • - Failed IVR - when a User dials an unreachable number, this IVR will be played before hanging up the call.
  • Send Device CID - send Device CallerID number
  • Send Source as CID - send Source as CallerID
  • Callback CID - send another CallerID



Common Callback diagram



Common callback diagram.png

Implementation in MOR

Callback in MOR is implemented in very simple way. It's enough to tell the system the Access Number (DID) and the way Callback should act. All of this will be described in following paragraphs.

Supported Callback methods in MOR, listed by initialization method (which triggers Callback), are:



Who pays for not authenticated call?

First of all, by the nature of Callback it is important to know that before calling back to the user, the system does not know who the user is (when not using ANI). For example, it does not know whether the user is a client, whether he has an account in the system, and so on.

This means that when the system makes the callback to the user and the user picks up, the call is ANSWERED, but the system still does not know who the user is. Let's say the user unsuccessfully tries to enter a PIN several times. Then he hangs up. The call is ANSWERED. Does the user pay for this call? No. Who pays? You, as the owner of the system. It's sad, but true.

If system recognizes the User which initiates callback (using Calling Cards Pinless or ANI/PIN), then this User will be charged for Callback initiation call.

Callback User, Callback Device and Callback Tariff

In order to keep track of Callback calls, you need to configure MOR in the proper way. For this we need:

  1. Callback User
  2. Callback Device
  3. Callback Tariff

Callback User is the user who will pay for answered but not authenticated calls to the user. 100% of the time, this user is the system owner. But creating a new user in MOR lets you keep track of all Callback activity in your system. The other reason to have Callback User (and not use the System Admin account) is the ability to create and assign a Callback Tariff to this user.

Callback Device is the necessary entity in MOR which will actually 'make' callback calls to user. The type and other details do not matter. This device is pure virtual.

Callback Tariff – a separate tariff which should be assigned to the Callback User. In this tariff you enter rates only to those destinations from which you expect the user will make an Initiation Call. This is important! Make sure you do not have some Inmarsat rates defined here. Guess how much you will pay if the user initiates a callback from Inmarsat and, when he gets the call, enters the PIN several times incorrectly and hangs up? In short, this tariff decides from which destinations you allow users to initiate callback.

NOTE: LEG A (system calls back to initiator) is charged by User or Calling Card tariff if User or Calling card was recognized. If User or Calling Card was not recognized, System owner will be charged for a LEG A.

Types of Callback in MOR

Callback in MOR can be classified three ways depending on how the user is authenticated/authorized:

  1. By User Device's PIN.
  2. Using ANI (Automatic Number Identification).
  3. By the Calling Card's Number/PIN (or just the PIN).



Callback with Device's PIN authentication/authorization



Callback with pin auth schema.png

The main part here is that user gets authenticated/authorized when he enters Device PIN. System checks for such PIN in database and if user is found – user can proceed.

Callback Using ANI (Automatic Number Identification)



Callback+ANI new Scheme20150109.png

This way of Callback is extended User auth. by PIN Callback. In order to ask user for Device's PIN system checks user's CallerID (ANI). If such CallerID is found in database – user gets authenticated/authorized and can proceed entering destination. If CallerID is not found – Callback is not initiated to User.

Attention! It is very easy to fake CallerID so be careful when you are enabling Callback with ANI. Anybody can put anybodies CallerID and use your service for free.

Callback By Calling Card's Number/PIN (or only PIN)



Callback with cc schema.png

This type of Callback lets user enter Calling Card's Number/PIN to get authenticated/authorized. System checks for such Calling Card in database. If call is made – it is assigned to particular Calling Card.

Rule about Users and Cards:

Users and cards are not related at all. That means:

  1. User (as entity in MOR) can't have Cards.
  2. Card (as entity in MOR) can't belong to some User.



Setting Callback in MOR

In order to setup Callback in the MOR you need:

  1. Callback User
  2. Callback Device
  3. Callback Tariff
  4. Access Number (DID)
  5. Calling Card or Auth. by PIN Dial Plan

The work flow is as follows:

  1. Create Callback User
  2. Create Callback Device to the Callback User
  3. Create Callback Tariff and fill it with rates to destinations from which you want to allow users to initiate callback
  4. Assign Callback Tariff to Callback User
  5. Make sure you have Calling Card or Auth. by PIN Dial Plan
  6. Create Callback Dial Plan and assign Calling Card or Auth. by PIN Dial-Plan to Callback Dial Plan
  7. Assign Callback Dial Plan to some DID



Callback Hangup Cause

Starting from MOR 10 you can change the Hangup Cause Code which will be used then dropping the call before calling back.

Callback dial plan hangup cause code.png

Callback dial plan hangup cause code2.png

MOR supports these Hangup Cause Codes:

  • 1 unallocated number / 404 Not Found
  • 2 no route to network / 404 Not Found
  • 3 no route to destination / 404 Not Found
  • 17 user busy / 486 Busy here
  • 18 no user responding / 408 Request Timeout
  • 19 no answer from the user / 480 Temporarily unavailable
  • 20 subscriber absent / 480 Temporarily unavailable
  • 21 call rejected / 403 Forbidden
  • 22 number changed (w/ diagnostic) / 301 Moved Permanently
  • 23 redirection to new destination / 410 Gone
  • 26 non-selected user clearing / 404 Not Found
  • 27 destination out of order / 502 Bad Gateway
  • 28 address incomplete / 484 Address incomplete
  • 29 facility rejected / 501 Not implemented
  • 31 normal unspecified / 480 Temporarily unavailable


VIDEO: How to create Callback User

VIDEO: How to create Callback Device




See also