[asterisk-dev] [Code Review] CDR: add Dialed Number Identifier field (DNID) field in record
Tilghman Lesher
tlesher at digium.com
Tue Jan 12 09:41:26 CST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/455/#review1353
-----------------------------------------------------------
Ship it!
- Tilghman
On 2010-01-12 00:32:30, Alec Davis wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/455/
> -----------------------------------------------------------
>
> (Updated 2010-01-12 00:32:30)
>
>
> Review request for Asterisk Developers and Russell Bryant.
>
>
> Summary
> -------
>
> CDR record fields are missing the number the inbound caller dialed, this is important where a corporate has multiple DDI's and want to know how each of them are performing.
>
> We have previously had customize the 'userfield' or the like, in the dialplan with a line as follows:
> exten => s,n,Set(CDR(userfield)=${CALLERID(dnid)})
>
> Now, with the addition of the 'dnid' field in the database (mysql in our case) the 'dnid' field is automatically filled.
>
> cdr collector support:
> yes (after user adds required 'dnid' field):
> cdr_adaptive_odbc, cdr_mysql, cdr_pgsql and cdr_tds will automatically fill in field if 'dnid' field exists in database.
> cdr_custom requires user added field in cdr_custom.conf like ;Master.csv => "${CDR(clid)}",${CDR(dnid)}",
>
> maybe (requires cdr collector supporting code):
> cdr_custom, requires optional user config flag and supporting code, IE. cdr_csv:logdnid=yes.
> Has been suggested to ignore cdr_custom, as users interested in 'dnid' wouldn't seriously be using cdr_custom.
> cdr_radius, requires optional user config flag and supporting code.
> Tilghman considered cdr_radius 'adaptive support', but it has no real method for querying what was supported on the backend.
>
>
> Diffs
> -----
>
> trunk/main/cdr.c 239388
>
> Diff: https://reviewboard.asterisk.org/r/455/diff
>
>
> Testing
> -------
>
> added additional mysql field with following systax;
> mysql> alter table cdr ADD (dnid varchar(80) not null);
>
> made inbound test calls, from my cell phone (021xxxx), and restricted number.
> The DNID is only 4 digits, as that is what our Telco presents us with.
> The 'userfield' is still being customized from the dialplan. My extension is 4866. 8888 was unassigned.
>
> mysql> select calldate,clid,dnid,dst,userfield,dcontext,lastapp,lastdata,duration from cdr where dcontext like "ivr2%" and dnid like "9%";
> +---------------------+-------------------------+------+------+-----------------+-----------------------------+---------+---------------+----------+
> | calldate | clid | dnid | dst | userfield | dcontext | lastapp | lastdata | duration |
> +---------------------+-------------------------+------+------+-----------------+-----------------------------+---------+---------------+----------+
> | 2010-01-07 20:52:52 | "Alec Davis" <21496xxx> | 9100 | 4866 | 9100-Alec Davis | ivr2-bdt-dialledbyextension | Dial | DAHDI/g0/4866 | 22 |
> | 2010-01-07 20:56:46 | | 9100 | 4866 | 9100-Alec Davis | ivr2-bdt-dialledbyextension | Dial | DAHDI/g0/4866 | 17 |
> | 2010-01-07 21:23:44 | "Alec Davis" <21496xxx> | 9888 | 8888 | 9888- | ivr2-bdt-dialledbyextension | Dial | DAHDI/g0/8888 | 16 |
> | 2010-01-07 21:24:29 | "Alec Davis" <21496xxx> | 9888 | 4866 | 9888-Alec Davis | ivr2-bdt-dialledbyextension | Dial | DAHDI/g0/4866 | 20 |
> +---------------------+-------------------------+------+------+-----------------+-----------------------------+---------+---------------+----------+
> 4 rows in set (0.01 sec)
>
>
> Thanks,
>
> Alec
>
>
More information about the asterisk-dev
mailing list