[asterisk-dev] Passing AOC information across channels

Frank Sautter asterisk at sautter.com
Tue Jan 31 03:19:02 MST 2006


nice to hear that people want AOC, since i receive nearly no response a
year ago when i implemented AOC (very limited yet - only AOC-E and only
units, no currency - http://bugs.digium.com/view.php?id=3843 ) in libpri.

i struggled when it came to pass the AOC-E data i receive from one
call-leg to the other call-leg, as asterisk does a hangup on both legs
immediately after it receives a hangup request on one of it's bridged
legs. originally ISDN allows to pass information frames during call
termination.
the problem is, that asterisk has already lost it's bridge when it
receives the AOC-E frames from the telco and the call leg you want to
forward the AOC-E frames is already terminated

to solve this problem asterisk should follow the ISDN rules of call
destruction (disconnect - release - release complete), e.g. asterisk
should destroy it's bridge not until it has sent the release complete frame.
i implemented reception and generation (untested) of AOC-E frames, but
was unable to complete the forwarding or computation of these frames, as
my insight into this core asterisk bridging functionality is too small.

unfortunately my call for help in the -dev mailinglist one year ago
trailed away, hopefuly this time there is more interest in this and we
could complete the AOC implementation.

regards
   frank sautter

Koopmann, Jan-Peter schrieb:
> I am terribly sorry I simply assumed everybody would know about AOC
> or the ongoing requests in the asterisk mailing list. I am talking
> about "Advice of Charge" which is used heavily at least in German
> ISDN but from other postings I gather that other countries are using
> it as well. There seem to be three types of AOC:
> 
> AOC-S: Advice of Charge at call set-up time
> AOC-E: Advice of Charge at the end of the call
> AOC-D: Advice of Charge during the call 
> 
> Several ISDN APIs incl. bristuff zaptel are able to extract at
> least AOC-E information for the ISDN channel. Unfortunatly there
> still seem to be at least two problems:
> 
> 1. How can we get the AOC information in CDR fields (custom fields
> will be fine)? I learned how to put information in a custom CDR
> field but how can one get the AOC-E information into the dial-plan?
> Even if there is a way, this would have to be done after a successful
> dial which is dirty to say the least. Is this not something that
> should rather be done automatically and therefore in the channel driver? 
> 
> 2. AOC information should survive channel hops. E.g. if you have
> ISDN <-> IAX <-> ISDN, the AOC information coming in on the first
> ISDN should be sent to the outgoing ISDN as well. A new AST_CONTROL
> frame might be a solution to this but I am far from understanding
> the consequences.
> 
> 
> A lot of companies are depending on the AOC information for their
> own internal bookkeeping, project analysis, charging it to
> customers etc. So if a company depends on AOC information being
> available at the moment, Asterisk unfortunatly is not an option.
  > Since the AOC information is already extracted from the
  > ISDN D-channel by the channel drivers, it should not be too hard
> to implement the two wishes, should it?
> 
> Mattf suggested in http://bugs.digium.com/view.php?id=6152 that it
  > would be "nice" to implement this in Asterisk, especially if there
  > are AOC/SIP implementations out there as well. He also was the one
  > suggesting to move the discussion to the -dev mailing list.
  > Unfortunatly I have not heard from him since and do not know how
  > to contact him best.




More information about the asterisk-dev mailing list