[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