Asterisk (AMI interface). SMDR/CDR data format and connection settings


This data is being extracted with help of the "Advanced PBX Data Logger" software only. It may not applicable for other software titles.

Customized configuration

Introduction

The Asterisk Manager Interface (AMI) is a client/server model over TCP. With the manager interface, you'll be able to control the PBX, originate calls, check mailbox status, monitor channels and queues as well as execute Asterisk commands.

AMI is the standard management interface into your Asterisk server. You configure AMI in manager.conf. By default, AMI is available on TCP port 5038 if you enable it in manager.conf.

Solution

You have to modify/create 'cdr_manager.conf' in the /etc/asterisk/ directory. Then enable CDR over the Manager API you must enable it in cdr_manager.conf:

;
; Asterisk Call Management CDR
;
[general]
enabled = yes

Once you have saved the file, you have to enter the Asterisk CLI. From the CLI, you will need to reload the cdr_manager.so module. Please do the following:

module reload cdr_manager.so

If you are getting an error that it is not loaded, please load this module:

module load cdr_manager.so

Then, to verify that it is loaded, please type:

cdr show status

You should see something like this:

pbx*CLI> cdr show status

Call Detail Record (CDR) settings
----------------------------------
Logging: Enabled
Mode: Simple
Log unanswered calls: No
Log congestion: No

* Registered Backends
-------------------
cdr_manager
Adaptive ODBC
cdr-custom

PBX Data Logger Settings

The logger should work in TCP client mode. The PBX being in permanent listening on port 5038, therefore you need to specify x.x.x.x:5038, where x.x.x.x should be the IP address of your PBX (e.g. 10.0.0.150).

Configuring PBX Data Logger

Our software should work in the TCP client mode. It means that our software will initiate connection with the PBX and the PBX will work as a server. Add one or several PBX IP addresses here (the IP address of the Asterisk [AMI interface]). The port number should match the port that you have defined within the PBX (5038 in the example below).

TCP Client Mode - Asterisk [AMI interface]
5038
5038

Data items

DescriptionData typeColumn name
Account codestringACC
Destination numberstringDIALED_PHONE
Caller ID NamestringFLAG1
Caller numberstringCALLER_PHONE
Call typestringCALL_TYPE
DirectionstringDIRECTION
TrunkstringTRUNK
ExtstringEXT
Call timedatetimeCALL_TIME
Call duration (sec)integerCALL_DURATION_S
Call durationdatetimeCALL_DURATION
Total duration (sec)integerTOTAL_DURATION_S
Ring duration (s)integerRING_S
Ring durationdatetimeRING
Call IDstringFLAG2

Note: Products and companies mentioned here are used only for definition and identification purposes and can be trademarks and/or registered trademarks of the respective companies.