<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.14.3">
</HEAD>
<BODY>
<BR>
<BR>
Benny--<BR>
<BR>
Thanks for the response! I've inserted comments in the following:<BR>
<BR>
PS. Pardon the HTML format; my email editor splits lines at an unadjustably<BR>
small number of columns, but in HTML, no line length limits, and better<BR>
looking examples!<BR>
<BR>
On Tue, 2009-01-13 at 14:16 +0100, Benny Amorsen wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Steve Murphy <<A HREF="mailto:murf@digium.com">murf@digium.com</A>> writes:</FONT>
<FONT COLOR="#000000">> Which of the two would you see being useful to you?</FONT>
<FONT COLOR="#000000">"Leg based", as far as I can see, because that looks like the only way</FONT>
<FONT COLOR="#000000">to bill transfers differently depending on which end did the transfer.</FONT>
<FONT COLOR="#000000">Possibly "Simple" on the Asterisk systems where we forbid transfers.</FONT>
<FONT COLOR="#000000">> Is there Yet Another CDR system you would like to see instead?</FONT>
<FONT COLOR="#000000">> How would/should it work?</FONT>
<FONT COLOR="#000000">"Leg based" looks good.</FONT>
<FONT COLOR="#000000">> Will both fulfil the requirements of CALEA?</FONT>
<FONT COLOR="#000000">We're not yet operating in a jurisdiction where CALEA applies. It</FONT>
<FONT COLOR="#000000">looks good enough for the jurisdictions we operate in, possibly apart</FONT>
<FONT COLOR="#000000">from the transfer issues further down, but I am certainly not a</FONT>
<FONT COLOR="#000000">lawyer.</FONT>
<FONT COLOR="#000000">> It's been proposed that we implement just the Simple </FONT>
<FONT COLOR="#000000">> CDR now, and it be introduced in some 1.6.x (or higher)</FONT>
<FONT COLOR="#000000">> release. In that release, the existing CDR system would be</FONT>
<FONT COLOR="#000000">> deprecated, and in some "futurer" release the "old" (now current)</FONT>
<FONT COLOR="#000000">> CDR system would be dropped entirely. What do you</FONT>
<FONT COLOR="#000000">> think? Are we high on drugs, or what?</FONT>
<FONT COLOR="#000000">I need this functionality for transfers, and I don't think "Simple"</FONT>
<FONT COLOR="#000000">provides it:</FONT>
<FONT COLOR="#000000">A calls B: A pays for the whole duration for A => B</FONT>
<FONT COLOR="#000000">B transfers to C: B pays for B => C, A is still paying A => B</FONT>
</PRE>
</BLOCKQUOTE>
<BR>
Good Question: Can Simple CDRs be used in xfer situations?<BR>
<BR>
Let's take a look.<BR>
<BR>
In this particular situation, 3 channels are involved: A, B, and C. Therefore,<BR>
you will get 3 CDRs.<BR>
<BR>
CDR1: A -> B start: e1a ans: e2 end: e4 Party: B disp: ANSW linkedID: abc9<BR>
CDR2: A start: e1 ans: e1 end: e6 Party: A disp: ANSW linkedID: abc9<BR>
CDR3: B -> C start: e4 ans: e5 end: e6 Party: C disp: ANSW linkedid: abc9<BR>
<BR>
CDR2 covers A (see the Party field), CDR1 covers B, CDR3 covers C.<BR>
<BR>
A's CDR could be used to bill A for his call in. It covers both the time A spent<BR>
talking to B, and C. If you charge a different rate for A talking to B vs C, then<BR>
you have some interesting SQL queries to make, I'll guess...<BR>
<BR>
C's CDR records that B called C. It doesn't mention that A is doing all the talking.<BR>
<BR>
B's CDR records the call from A to B; this is the only one that seems a little useless...<BR>
<BR>
Is this enough? If this is all you had, could you make it work? If you can't, <BR>
would adding a field or two help?<BR>
<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">If it was A who transferred the call instead:</FONT>
<FONT COLOR="#000000">A calls B: A pays for the whole duration for A => B</FONT>
<FONT COLOR="#000000">A transfers to C: A pays for A => C, and A is still paying A => B</FONT>
<FONT COLOR="#000000">B and C get to talk for free, while A pays twice.</FONT>
</PRE>
</BLOCKQUOTE>
<BR>
In the SImple CDR world, here's what would be produced:<BR>
<BR>
CDR1: A start: e1 ans: e1 end: e4 Party: A disp: ANSW linkedID: abc9<BR>
CDR2: A -> B start: e1a ans: e2 end: e6 Party: B disp: ANSW linkedID: abc9<BR>
CDR3: A -> C start: e4 ans: e5 end: e6 Party: C disp: ANSW linkedid: abc9<BR>
<BR>
Here, A's total connection time is in CDR1; B with CDR2; C with CDR3.<BR>
<BR>
The call from B to C is in CDR3. A's transfer to C is in CDR3 (I just corrected this<BR>
in the CDRfix2 document).<BR>
<BR>
Again, is there enough info here for you to do what you need to do? If not<BR>
what addition could be added to make it work?<BR>
<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">This should apply whether transfers are attended (soft), unattended</FONT>
<FONT COLOR="#000000">(hard) or caused by SIP redirections before answering. Ideally it</FONT>
<FONT COLOR="#000000">should also be possible to simulate SIP-like redirections in the</FONT>
<FONT COLOR="#000000">dialplan with the same CDR behaviour.</FONT>
</PRE>
</BLOCKQUOTE>
<BR>
In the CDRfix2 doc, I outlined both the above blindxfer cases, and also permutations<BR>
of attended xfers. Look them over, and see if what you need is possible with this format,<BR>
and if not, is there something we can add that *would* make it usable...?<BR>
<BR>
murf<BR>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
-- <BR>
Steve Murphy <<A HREF="mailto:murf@digium.com">murf@digium.com</A>><BR>
Digium
</TD>
</TR>
</TABLE>
<BR>
</BODY>
</HTML>