Asterisk Call Data Record Logging via Adaptive ODBC to IBM DB/2 not working

0

I'm running a stock Debian 9 with the accompanying Asterisk packages (Version 13.14.1). To save loading time and memory consumption, I don't autoload modules in modules.conf but edit the list of modules to load by hand.

After migrating the installation from Raspi to a x86 machine, I decided to get rid of MySQL native functions since I read somewhere about lacking maintainers for the MySQL-stuff in Asterisk. I opted for ODBC and maintain database tables on my AS/400. Also, I can tinker a nice text based frontend there easily.

I created the appropriate table exactly according to VoIP-Info.org, configured ODBC and everything necessary. Using stock cdr_odbc module, CDRs will be fed into the database. All fine.

Trying to utilize cdr_adaptive_odbc instead yields no records inserted. Documentation what to write into cdr.conf is scarce, so I stuck with just [ODBC] and no further configuration options.

Content of /etc/asterisk/cdr_adaptive_odbc.conf:

[Nibbler]
connection=Nibbler
table=cdr
schema=astsupport
alias start => calldate

(Re)loading the module yields this output:

asterisk*CLI> module reload cdr_adaptive_odbc.so
Module 'cdr_adaptive_odbc.so' reloaded successfully.
    -- Reloading module 'cdr_adaptive_odbc.so' (Adaptive ODBC CDR backend)
  == Parsing '/etc/asterisk/cdr_adaptive_odbc.conf': Found
    -- Found adaptive CDR table cdr@Nibbler.

Status output:

boxy*CLI> cdr show status 

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

* Registered Backends
  -------------------
    Adaptive ODBC

Unfortunately, debugging options for CDR are scarce and not really helpful. There's no such thing like odbc set debug.

ODBC and Querying/Inserting basically work: I verified with isql and stock cdr_odbc module. Also, I have a second table to translate caller ids to proper names via func_odbc. This is also working fine.

Interestingly, I can't see any network traffic happening when cdrs should be generated. Traffic appears only when I reload the cdr_adaptive_odbc module. Unfortunately, I can't see why tshark doesn't translate EBDIC data to ASCII for viewing actual content going over the wire.

What could be the culprit? What do I miss?

PoC

Posted 2019-12-30T20:07:24.913

Reputation: 101

No answers