[asterisk-dev] [Code Review] CDR: add Dialed Number Identifier field (DNID) field in record

Tilghman Lesher tlesher at digium.com
Mon Jan 11 15:28:04 CST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/455/#review1351
-----------------------------------------------------------



trunk/include/asterisk/cdr.h
<https://reviewboard.asterisk.org/r/455/#comment3091>

    Is there a particular reason you're adding this field to the structure, instead of just relying on the ability of the CDR to set arbitrary variables?  The big gain with just setting an arbitrary variable is that the structure remains ABI-compatible.



trunk/main/cdr.c
<https://reviewboard.asterisk.org/r/455/#comment3090>

    While this technically works, I'd prefer that when terminating character fields, you instead set the location to '\0', as this is more explicit.


- Tilghman


On 2010-01-11 13:42:56, Alec Davis wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/455/
> -----------------------------------------------------------
> 
> (Updated 2010-01-11 13:42:56)
> 
> 
> 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/include/asterisk/cdr.h 238312 
>   trunk/main/cdr.c 238312 
> 
> 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