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

Alec Davis sivad.a at paradise.net.nz
Thu Jan 7 16:19:36 CST 2010


Not just for mysql.

cdr_mysql, cdr_adaptive_odbc and cdr_custom will automatically populate
fields if present in database.
cdr_radius and cdr_sqlite3_custom from what I can tell will also.
cdr_odbc and cdr_csv will not.
Not sure about remainder.

Question was raised on irc, Whether to use 'logdnid' keyword for cdr_csv?
Answer: Use cdr_custom instead. 

Alec Davis
 

-----Original Message-----
From: asterisk-dev-bounces at lists.digium.com
[mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Kirill 'Big K'
Katsnelson
Sent: Friday, 8 January 2010 10:44 a.m.
To: Asterisk Developers Mailing List
Subject: Re: [asterisk-dev] [Code Review] CDR: add Dialed Number
Identifierfield (DNID) field in record

Is this for mysql only? Should other CDR collection providers be updated to
match the change?

  -kkm

On 100107 0037, Alec Davis wrote:
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/455/
> -----------------------------------------------------------
> 
> Review request for Asterisk Developers.
> 
> 
> 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.
> 
> 
> 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 
> mysql> calldate,clid,dnid,dst,userfield,dcontext,lastapp,lastdata,dura
> mysql> tion 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
> 
> 
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev
> 




More information about the asterisk-dev mailing list