After some source reading I think currently CDR's report on call-legs =
only.
That will make it pretty hard to report on complex routed calls and to =
do
cradle to grave tracing. (CLI is when you get one are not unique) I =
think it
would make sense to add a unique ID to a call, e.g. all legs of it (same =
way
Aspect & Genesys do).
=20
Looking at the code this would be do-able in channel.c by adding an ID =
field
to the channel struct. If NULL its the first leg otherwise keep its =
value
and write to cdr. If transferred copy it to the new bridge, if hung up =
the
channel is gone, thus the ID..
=20
Still some things to figure out like:
how to handle calls from another switch?
haven't looked at conferening yet...
how to generate a unique number...
=20
But am I overlooking things?
=20
Michiel Betel
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<TITLE>Message</TITLE>
<META content=3D"MSHTML 6.00.2800.1141" name=3DGENERATOR></HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D625170520-03042003>After =
some source=20
reading I think currently CDR's report on call-legs only. That will make =
it=20
pretty hard to report on complex routed calls and to do cradle to grave =
tracing.=20
(CLI is when you get one are not unique) I think it would =
make=20
sense to add a unique ID to a call, e.g. all legs of it (same way =
Aspect=20
& Genesys do).</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003></SPAN></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2><SPAN =
class=3D625170520-03042003>Looking at the code=20
this would be do-able in channel.c by adding an ID field to the channel =
struct.=20
If NULL its the first leg otherwise keep its value and write to =
cdr. If=20
transferred copy it to the new bridge, if hung up the channel is gone, =
thus the=20
ID..</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003></SPAN></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D625170520-03042003>Still =
some things to=20
figure out like:</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003> how to handle =
calls from=20
another switch?</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003> haven't looked at =
conferening=20
yet...</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003> how to generate a =
unique=20
number...</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003></SPAN></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D625170520-03042003>But am =
I overlooking=20
things?</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D625170520-03042003></SPAN></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2><SPAN =
class=3D625170520-03042003>Michiel=20
Betel</SPAN></FONT></DIV></BODY></HTML>
Posted: Thu Apr 03, 2003 9:05 pm Post subject: [Asterisk-Dev] unique cdr id per call
I have already done this on some code I am working on. I believe the
unique id I generated contained the time in seconds, channel number, and
an incrementing number.
This was all bundled into some new functionality I was working on for CDRs
so it would log every event. Unfortunately some of the code has changed so
I need to update my patch and ship it over to mark
James
On Thu, 3 Apr 2003, Michiel Betel wrote:
Quote:
After some source reading I think currently CDR's report on call-legs only.
That will make it pretty hard to report on complex routed calls and to do
cradle to grave tracing. (CLI is when you get one are not unique) I think it
would make sense to add a unique ID to a call, e.g. all legs of it (same way
Aspect & Genesys do).
Looking at the code this would be do-able in channel.c by adding an ID field
to the channel struct. If NULL its the first leg otherwise keep its value
and write to cdr. If transferred copy it to the new bridge, if hung up the
channel is gone, thus the ID..
Still some things to figure out like:
how to handle calls from another switch?
haven't looked at conferening yet...
how to generate a unique number...
Posted: Thu Apr 03, 2003 9:12 pm Post subject: [Asterisk-Dev] unique cdr id per call
CDR as offered is weak, no easy way to tell who hung up, doing a call abandonment report seems close
to impossible and I need to link the calls in CDR with the calls processed by my ACD application.
Adding a unique call identifier that is in the channel vars and the CDR record and exists from the
beginning of the call through its completion would help.
Bill
Michiel Betel wrote:
Quote:
After some source reading I think currently CDR's report on call-legs
only. That will make it pretty hard to report on complex routed calls
and to do cradle to grave tracing. (CLI is when you get one are not
unique) I think it would make sense to add a unique ID to a call, e.g.
all legs of it (same way Aspect & Genesys do).
Looking at the code this would be do-able in channel.c by adding an ID
field to the channel struct. If NULL its the first leg otherwise keep
its value and write to cdr. If transferred copy it to the new bridge, if
hung up the channel is gone, thus the ID..
Still some things to figure out like:
how to handle calls from another switch?
haven't looked at conferening yet...
how to generate a unique number...
Posted: Fri Apr 04, 2003 7:00 am Post subject: [Asterisk-Dev] unique cdr id per call
Need help? If you send me the code I'll merge it with current CVS...
Michiel
James Golovich said:
Quote:
I have already done this on some code I am working on. I believe the
unique id I generated contained the time in seconds, channel number, and
an incrementing number.
This was all bundled into some new functionality I was working on for CDRs
so it would log every event. Unfortunately some of the code has changed so
I need to update my patch and ship it over to mark
James
On Thu, 3 Apr 2003, Michiel Betel wrote:
> After some source reading I think currently CDR's report on call-legs
> only.
> That will make it pretty hard to report on complex routed calls and to
> do
> cradle to grave tracing. (CLI is when you get one are not unique) I
> think it
> would make sense to add a unique ID to a call, e.g. all legs of it (same
> way
> Aspect & Genesys do).
>
> Looking at the code this would be do-able in channel.c by adding an ID
> field
> to the channel struct. If NULL its the first leg otherwise keep its
> value
> and write to cdr. If transferred copy it to the new bridge, if hung up
> the
> channel is gone, thus the ID..
>
> Still some things to figure out like:
> how to handle calls from another switch?
> haven't looked at conferening yet...
> how to generate a unique number...
>
> But am I overlooking things?
>
> Michiel Betel
>
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum