[Asterisk-Users] Getting correct CDR info

Jimmy Riley jimmy.riley at vericore.com
Wed Jan 21 06:23:51 MST 2004


-----Original Message-----
From: Stephen J. Wilcox [mailto:steve at telecomplete.co.uk] 
Sent: January 20, 2004 6:02 PM
To: 'asterisk-users at lists.digium.com'
Subject: Re: [Asterisk-Users] Getting correct CDR info

Hi Jimmy,
 I have CDR issues also and was thinking of seeing if I could write a patch
to 
fix, my particular problem which I think you include below alebit subtley is

that there are numerous circumstances where you would expect multiple CDRs
and 
you currently get one minus bits of vital detail eg

Scenario1: IVR service

A call comes in, caller gets a menu, hits an option and gets connected to an

external pstn number.

You need a CDR to cover the inbound call, showing the total time, the
original 
CLI and the number that the call came in on (DNI) as the dst

You also need a CDR to show the call made by the system showing only the
time of 
the outbound leg and the external number as the dst.

The reason for this is that you want to produce stats and possibly charges
for 
the service eg this may be a toll free service that your customer pays the 
inbound call charges for, you may also wish to charge for the outbound call
to 
the customer eg this is some kind of dialthro

Scenario2: end user voip pstn service

Ok simple, your providing pstn service to biz/home users giving each a phone
as 
tho it were pstn.. lets say you have a call divert facility, one of your 
customers dials another customer (hence generating a charge + CDR). The
other 
customer has setup a divert to their mobile phone (hence generating a charge
+ 
another CDR to the that customer).


Theres more situations, especially when you start doing complex things
involving 
multiple customers and services on your platform. 

In addition to being able to generate multiple CDRs there needs to be some 
additional controls to be able to alter the cdr fields or add more user
fields.. 

Steve

On Mon, 19 Jan 2004, Jimmy Riley wrote:

> I'd like to know how everyone else is going about getting correct CDR
> information for calls. Right now I notice that if a call come in and gets
> parked the CDR info doesn't how the correct info on who picked that call
up,
> also when someone transfer a call there isn't a new record being made so
the
> duration of the call shows up for who received the call and transferred
it.
> I started playing around resetCDR and that does help in some cases. Just
> want to make sure I'm not just messing something.
> Thanks,
> 
> 
> 
> Jimmy Riley
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
> 

_______________________________________________
Asterisk-Users mailing list
Asterisk-Users at lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


I have been testing using resetcdr. Is there a better way to do this? This
is the extension config I'm using:

exten => s,1,Wait,1
exten => s,2,Answer
exten => s,3,Background(vericore)
exten => s,4,Wait,7
exten => s,5,Background(vericore)
exten => s,6,DigitTimeout,5
exten => s,7,ResponseTimeout,10
exten => s,8,Goto,1006|1


exten => 1050,1,Goto,s|1 


exten => 1001,1,ResetCDR(w)
exten => 1001,2,macro(record-on,${EXTEN},${CALLERIDNUM})
exten => 1001,3,Dial(SIP/one|20|tr)
exten => 1001,4,Dial(SIP/two|20|tr)
exten => 1001,5,VoiceMail,u1001
exten => 1001,102,Dial(SIP/two|20|tr)
exten => 1001,103,VoiceMail,u1001

exten => 1002,1,ResetCDR(w)
exten => 1002,2,macro(record-on,${EXTEN},${CALLERIDNUM})
exten => 1002,3,Dial(SIP/two|20|tr)
exten => 1002,4,VoiceMail,u1001
exten => 1002,102,VoiceMail,b1001


exten => 1003,1,ResetCDR(w)
exten => 1003,2,macro(record-on,${EXTEN},${CALLERIDNUM})
exten => 1003,3,Dial(SIP/three|20|tr)
exten => 1003,4,Dial(SIP/four|20|tr)
exten => 1003,5,VoiceMail,u1002
exten => 1003,102,Dial(SIP/four|20|tr)
exten => 1003,103,VoiceMail,u1002


exten => 1004,1,ResetCDR(w)
exten => 1004,2,macro(record-on,${EXTEN},${CALLERIDNUM})
exten => 1004,3,Dial(SIP/four|20|tr)
exten => 1004,4,VoiceMail,b1002
exten => 1004,102,VoiceMail,u1002

exten => 1005,1,ResetCDR(w)
exten => 1005,2,macro(record-on,${EXTEN},${CALLERIDNUM})
exten => 1005,3,Dial(SIP/five|20|tr)
exten => 1005,4,Dial(SIP/six|20|tr)
exten => 1005,5,VoiceMail,u1003
exten => 1005,102,Dial(SIP/six|20|tr)
exten => 1005,103,VoiceMail,u1003


exten => 1006,1,ResetCDR(w)
exten => 1006,2,macro(record-on,${EXTEN},${CALLERIDNUM})
exten => 1006,3,Dial(SIP/six|20|tr)
exten => 1006,4,VoiceMail,u1003
exten => 1006,102,VoiceMail,b1003

exten => #,1,Ringing
exten => #,2,Wait(2)
exten => #,3,VoicemailMain

exten => 6001,1,Ringing
exten => 6001,2,Wait(1)
exten => 6001,VoicemailMain

exten => h,1,macro(record-cleanup)

Jimmy Riley








More information about the asterisk-users mailing list