summaryrefslogtreecommitdiff
path: root/doc/advice_of_charge.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/advice_of_charge.txt')
-rw-r--r--doc/advice_of_charge.txt189
1 files changed, 0 insertions, 189 deletions
diff --git a/doc/advice_of_charge.txt b/doc/advice_of_charge.txt
deleted file mode 100644
index 9673178ad..000000000
--- a/doc/advice_of_charge.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-================
-Advice of Charge
-================
-
-Written by: David Vossel
-Initial version: 04-19-2010
-Email: dvossel@digium.com
-
-This document is designed to give an overview of how to configure and
-generate Advice of Charge along with a detailed explanation of how each
-option works.
-
---------------------------------------
-| READ THIS FIRST |
---------------------------------------
-PLEASE REPORT ANY ISSUES ENCOUNTERED WHILE USING AOC. This feature
-has had very little community feedback so far. If you are using this
-feature please share with us any problems you are having and any
-improvements that could make this feature more useful. Thank you!
-
---------------------------------------
-| Terminology |
---------------------------------------
-AOC: Advice of Charge
-
-AOC-S: Advice of Charge message sent at the beginning of a call during
-call setup. This message contains a list of rates associated with the
-call.
-
-AOC-D: Advice of Charge message sent during the call. This message
-is typically used to update the endpoint with the current call charge.
-
-AOC-E: Advice of Charge message sent at the end of a call. This
-message is used to indicate to the endpoint the final call charge.
-
-AMI: Asterisk Manager Interface. This interface is used to generate
-AOC messages and listen for AOC events.
-
---------------------------------------
-| AOC in chan_dahdi |
---------------------------------------
------ LibPRI Support:
-ETSI, or euroisdn, is the only switchtype that LibPRI currently supports
-for AOC.
-
------ Enable AOC Pass-through in chan_dahdi
-To enable AOC pass-through between the ISDN and Asterisk use the
-'aoc_enable' config option. This option allows for any combination
-of AOC-S, AOC-D, and AOC-E to be enabled or disabled.
-
-For example:
-aoc_enable=s,d,e ; enables pass-through of AOC-S, AOC-D, and AOC-E
-
-aoc_enable=s,d ; enables pass-through of AOC-S and AOC-D. Rejects
- ; AOC-E and AOC-E request messages
-
-Since AOC messages are often transported on facility messages, the
-'facilityenable' option must be enabled as well to fully support AOC
-pass-through.
-
------ Handling AOC-E in chan_dahdi
-Whenever a dahdi channel receives an AOC-E message from Asterisk, it
-stores that message to deliver it at the appropriate time during call
-termination. This means that if two AOC-E messages are received on the
-same call, the last one will override the first one and only one AOC-E
-message will be sent during call termination.
-
-There are some tricky situations involving the final AOC-E message. During
-a bridged call, if the endpoint receiving the AOC messages terminates
-the call before the endpoint delivering the AOC does, the final AOC-E
-message sent by the sending side during termination will never make it to
-the receiving end because Asterisk will have already torn down that channel.
-This is where the chan_dahdi.conf 'aoce_delayhangup' option comes into play.
-
-By enabling 'aoce_delayhangup', anytime a hangup is initiated by the
-ISDN side of an Asterisk channel, instead of hanging up the channel,
-the channel sends a unique internal AOC-E termination request to its bridge
-channel. This indicates it is about to hangup and wishes to receive the
-final AOC-E message from the bridged channel before completely tearing
-down. If the bridged channel knows what to do with this AOC-E termination
-request, it will do whatever is necessary to indicate to its endpoint that
-the call is being terminated without actually hanging up the Asterisk channel.
-This allows the final AOC-E message to come in and be sent across the bridge
-while both channels are still up. If the channel delaying its hangup for
-the final AOC-E message times out, the call will be torn down just as it
-normally would. In chan_dahdi the timeout period is 1/2 the T305 timer
-which by default is 15 seconds.
-
-'aoce_delayhangup' currently only works when both bridged channels are
-dahdi_channels. If a SIP channel receives an AOC-E termination request, it
-just responds by immediately hanging up the channel. Using this option when
-bridged to any channel technology besides SIP or DAHDI will result in the
-15 second timeout period before tearing down the call completely.
-
------ Requesting AOC services
-AOC can be requested on a call by call basis using the DAHDI dialstring
-option, A(). The A() option takes in 's', 'd', and 'e' parameters which
-represent the three types of AOC messages, AOC-S, AOC-D, and AOC-E. By using
-this option Asterisk will indicate to the endpoint during call setup that it
-wishes to receive the specified forms of AOC during the call.
-
-Example Usage in extensions.conf
-exten => 1111,1,Dial(DAHDI/g1/1112/A(s,d,e) ; requests AOC-S, AOC-D, and AOC-E on
- ; call setup
-exten => 1111,1,Dial(DAHDI/g1/1112/A(d,e) ; requests only AOC-D, and AOC-E on
- ; call setup
-
---------------------------------------
-| AOC in chan_sip |
---------------------------------------
-Asterisk supports a very basic way of sending AOC on a SIP channel to Snom
-phones using an AOC specification designed by Snom. This support is limited
-to the sending of AOC-D and AOC-E pass-through messages. No support for
-AOC-E on call termination is present, so if the Snom endpoint receiving the
-AOC messages from Asterisk terminates the call, the channel will be torn
-down before the phone can receive the final AOC-E message.
-
-To enable passthrough of AOC messages via the snom specification, use
-the 'snom_aoc_enabled' option in sip.conf.
-
---------------------------------------
-| Generate AOC Messages via AMI |
---------------------------------------
-Asterisk supports a way to generate AOC messages on a channel via
-the AMI action AOCMessage. At the moment the AOCMessage action is limited
-to AOC-D and AOC-E message generation. There are some limitations
-involved with delivering the final AOC-E message as well. The AOCMessage
-action has its own detailed parameter documentation so this discussion will
-focus on higher level use. When generating AOC messages on a Dahdi channel
-first make sure the appropriate chan_dahdi.conf options are enabled. Without
-enabling 'aoc_enable' correctly for pass-through the AOC messages will never
-make it out the pri. The same goes with SIP, the 'snom_aoc_enabled' option
-must be configured before messages can successfully be set to the endpoint.
-
------ AOC-D Message Generation
-AOC-D message generation can happen anytime throughout the call. This
-message type is very straight forward.
-
-Example: AOCMessage action generating AOC-D currency message with Success
-response.
-
-Action: AOCMessage
-Channel: DAHDI/i1/1111-1
-MsgType: d
-ChargeType: Currency
-CurrencyAmount: 16
-CurrencyName: USD
-CurrencyMultiplier: OneThousandth
-AOCBillingId: Normal
-ActionID: 1234
-
-Response: Success
-ActionID: 1234
-Message: AOC Message successfully queued on channel
-
------ AOC-E Message Generation
-AOC-E messages are sent during call termination and represent the final charge
-total for the call. Since Asterisk call termination results in the channel
-being destroyed, it is currently not possible for the AOCMessage AMI action to
-be used to send the final AOC-E message on call hangup. There is however a
-work around for this issue that can be used for Dahdi channels. By default
-chan_dahdi saves any AOC-E message it receives from Asterisk during a call and
-waits to deliver that message during call termination. If multiple AOC-E messages
-are received from Asterisk on the same Dahdi channel, only the last message received
-is stored for delivery. This means that each new AOC-E message received on the
-channel overrides the previous one. Knowing this the final AOC-E message can be
-continually updated on a Dahdi channel until call termination occurs allowing
-the last update to be sent on hangup. This method is only as accurate as the
-intervals in which it is updated, but allows some form of AOC-E to be generated.
-
-Example: AOCMessage action generating AOC-E unit message with Success response.
-
-Action: AOCMessage
-Channel: DAHDI/i1/1111-1
-MsgType: e
-ChargeType: Unit
-UnitAmount(0): 111
-UnitType(0): 6
-UnitAmount(1): 222
-UnitType(1): 5
-UnitAmount(2): 333
-UnitType(3): 4
-UnitAmount(4): 444
-AOCBillingId: Normal
-ActionID: 1234
-
-Response: Success
-ActionID: 1234
-Message: AOC Message successfully queued on channel