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 as a TCP client
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 (none)). The port number should match the port that you have defined within the PBX (5038 in the example below).
1. Add a new configuration with the TCP data source (if you didn't it before).
2. Configure the TCP settings as shown below.
Selecting the correct parser for Asterisk (AMI interface)
Data items
Description | Data type | Column name |
Account code | string | ACC |
Destination number | string | DIALED_PHONE |
Caller ID Name | string | FLAG1 |
Caller number | string | CALLER_PHONE |
Call type | string | CALL_TYPE |
Direction | string | DIRECTION |
Trunk | string | TRUNK |
Ext | string | EXT |
Call time | datetime | CALL_TIME |
Call duration (sec) | integer | CALL_DURATION_S |
Call duration | datetime | CALL_DURATION |
Total duration (sec) | integer | TOTAL_DURATION_S |
Ring duration (s) | integer | RING_S |
Ring duration | datetime | RING |
Call ID | string | FLAG2 |
Interested in reports for PBX usage?
Our PBX Reports utility offers various manual, scheduled, and email reports, includes a built-in web server, and more. You can set up your call accounting system for Asterisk (AMI interface). Look here
Want PBX call logs in a database?
The logger, as a standard feature, captures and exports SMDR or CDR data in real-time, sending it to your database. Follow this link
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.