Asterisk features

From 탱이의 잡동사니
Jump to navigation Jump to search

Overview

Asterisk features 내용 정리.

Basic

Asterisk 는 DTMF 을 통해서 동작하는 기능을 설정할 수 있도록 지원한다(a.k.a feature codes).

크게 다음과 같은 기능들을 지원한다.

  • Feature Code Call Transfers
  • One-touch Features
  • Call Pickup
  • Built-in Dynamic Features
  • Custom Dynamic Features
  • Call Parking

Feature Code Call Transfers

Call transfer 란, 하나의 party에서 다른 party 로 연결을 시도하는 것을 의미한다. Call transfer 에는 크게 다음과 같은 타입이 있다

  • Blind transfer
A blind or unsupervised transfer is where the initiating party is blind to what is happening after the transfer. They are removed from the process as soon as they initiate the transfer. It is a sort of "fire and forget" transfer.
  • Attended transfer
Variations on attended transfer behavior
An attended or supervised transfer happens when one party transfer another party to a new location by first dialing the transfer destination and only completing the transfer when ready. The initiating party is attending or supervising the transfer process by contacting the destination before completing the transfer. This is helpful if the transfer initiator wants to make sure someone answers or is ready at the destination.

Configuring Transfer Features

Transfer feature 를 사용하기 위해서는 다음 세가지 조건들이 충족되어야 한다.

  • The transfer type must be enabled and assigned a DTMF digit string in features.conf or per channel - see Dynamic DTMF Features.
  • The channel must allow the type of transfer attempted. This can be configured via the Application invoking the channel such as Dial or Queue.
  • The channels involved must be answered and bridged.

Enabling blind or attended transfers

In features.conf you must configure the blindxfer or atxfer options in the featuremap section. The options are configureed with the DTMF character string you want to use for accessing the feature.

[featuremap]
blindxfer = #1
atxfer = *2

Now that you have the feature enabled you need to configure the dialplan such that a particular channel will be allowed to use the feature.

As an example if you want to allow transfers via the Dial application you can use two options, "t" or "T".

  • t : Allow the called party to transfer the calling party by sending the DTMF sequence defined in features.conf. This setting does not perform policy enforcement on transfers initiated by other methods.
  • T : Allow the calling party to transfer the called party by sending the DTMF sequence defined in features.conf. This setting does not perform policy enforcement on transfers initiated by other methods.

Setting these options for Dial in extensions.conf would look similar to the following.

exten = 102,1,Dial(PJSIP/BOB,30,T)

- The same arguments("t" and "T") work for the Queue and Dial application.

The Asterisk should be restarted or relevant modules should be reloaded for changes to take effect.

Feature codes for attended transfer control

There are a few additional feature codes related to attended transfers. These features allow you to vary the behavior of an attended transfer on command. They are all configured in the 'general' section of features.conf.

  • Aborting an attended transfer
Dialing the atxerabort code aborts an attended transfer. Otherwise there is no way to abort an attended transfer.
  • Completing an attended transfer
Dialing the atxfercomplete code completes an attended transfer and drops out of the call without having to hang up.
  • Completing an attended transfer as a three-way bridge
Dialing the atxferthreeway code completes an attended transfer and enters a bridge with both of the other parties.
  • Swapping between the transferee and destination
Dialing the atxferswap code swaps you between bridges with either party before the transfer is complete. This allows you to talk to either party one at a time before finalizing the attended transfer.

Example

[general]
atxferabort = *3
atxfercomplete = *4
atxferthreeway = *5
atxferswap = *6

See also