Transfers with MOR

From Kolmisoft Wiki

Jump to: navigation, search

Transfers by default are not available in MOR because Asterisk cannot guarantee correct CDRs with Transfers.

In other words - it is possible to dial for free using Transfers with Asterisk (MOR).



If you really want transfers and do not care about possible loss, here is the way to enable them:

In file /etc/asterisk/sip.conf

change line

allowtransfer = no

to

allowtransfer = yes

Then in file /etc/asterisk/mor.conf add line (starting from MOR X6):

transfer_billing_enabled = 1

File /etc/asterisk/cel.conf should be configured with these settings:

[general]
enable=yes
apps=
events=TRANSFER,BLINDTRANSFER,ATTENDEDTRANSFER

Note. Please configure events variable exactly as described above (events=TRANSFER,BLINDTRANSFER,ATTENDEDTRANSFER). Failing to do so can lead to calls not not passing at all, even non-transfered ones.

And restart Asterisk. Use it at your own risk!

Different phones may have different transfer implementations therefore transfer billing depends on how phones initiate transfer. Only authenticated users can transfer calls.


These are tested scenarios with transfers (tested with ATTENDED and BLIND transfers on MOR X6 and later versions).


Scenario #1

Prefix 370, rate 0.1

Local user A calls outside number (prefix 370) and after 30 seconds user A transfers call to local user B. User B talks for another 20 seconds and hangs up. User A will be billed for 50 seconds (30 seconds before transfer and 20 seconds after transfer).

User price = (50*0.1)/60 = 0.0833


Scenario #2

Prefix 370, rate 0.1 Prefix 371, rate 0.3

Local user A calls outside number (prefix 370) and after 30 seconds user A transfers call to another outside number (prefix 371). After 40 seconds call ends. User A will be billed for 110 seconds (70 seconds to prefix 370 (30 seconds before transfer and 40 seconds after transfer) and 40 seconds to prefix 371).

User price = (70*0.1)/60 + (40*0.3)/60 = 0.3167


Scenario #3

Prefix 370, rate 0.1

Local user A calls local user B and after 30 seconds user A transfers call to outside number (prefix 370). User B talks for another 20 seconds. User A will be billed for 20 seconds.

User price = (20*0.1)/60 = 0.0333


Scenario #4

Prefix 370, rate 0.1

Local user A calls local user B and after 30 seconds user B transfers call to outside number (prefix 370). User A talks for another 20 seconds. User B will be billed for 20 seconds.

User price = (20*0.1)/60 = 0.0333


[edit] Limitations

  • Call can be transferred only one time.
  • Unattended (blind) transfers does NOT work between local extensions. This can be resolved by creating a DID and assigning it to local extension (device) and transferring to that DID number.
Personal tools

Try MOR

Try M2