Sending metering tones signal to ATA via SIP

Hello,

I’m using Audiocodes MP-112 ATA to connect analogue phones to Asterisk.

The devices allows generating 16 kHz metering tones on the line for a device to consume a charge unit.
There are the following options in the ATA’s settings from where the metering tones charge signal might be coming from:
-sip interval provided
-sip raw data provided
-sip raw data incremental provided

There is no further documentation though on what that exactly means regarding what is sent in the SIP protocol. I’d want Asterisk to provide the interval for the ATA sending 16 kHz tones based on the destination number’s prefix (i.e. international calls would send more 16 kHz tones per time than domestic calls).

Maybe someone here knows what that signal might be and how I can generate it in Asterisk / Pjsip?

I can’t find your bullet points in https://www.audiocodes.com/media/13280/mp-11x-and-mp-124-sip-users-manual-ver-66.pdf and the only reference I could find to meter pulses say that the routing rules select table entries which determine the timing of when they are sent.

Thanks. Agreed the manual you linked doesn’t show it, yet the config UI offers these extra options in the drop down.
See also https://www.audiocodes.com/media/13244/gateway-and-sbc-cli-reference-guide-ver-72.pdf page 325 of pdf (printed page number 305).

I’d like to avoid the configuration in the Audiocodes internal table, as it’s clumsy, inflexible and a duplication of config that anyway already lives within Asterisk.

I found more info in a manual of another Audiocodes product, according to which one of these methods might listen to AOC SIP messages.

I’d like to try this out.
How can pjsip generate a SIP INFO with header AOC: charging;state=active;charging-info=pulse;recorded-units=1 on connection establishment and periodically during the connection?

Or it seems an alternative is to send as XML in an Content-Type: application/vnd.etsi.aoc+xml “attachment” to a SIP INFO message rather than as a header.

I don’t think Asterisk supports either method. I think you would need to develop new C code for this.