[asterisk-dev] CDR Fixings

Andrey Solovjov solovjov at mcn.ru
Mon Jun 4 05:14:58 MST 2007


Hello
Is it possible to detect SIP attended transfer which is done by SIP 
phones? For example, 151 calls 152, then 151 is placed on hold, 152 
calls 153, talks to it then hangs up and 151 -> 153.  Scenario is the 
same as yours scenario 5 but not zap.
Thank you.

Steve Murphy пишет:
> I'm hard at work, reshaping the CDR code to handle transfers better...
>
> I'll show you what I'm doing, and now's your chance to correct things!
>
> Teminology:  HF=hookflash;  HU= hang up;  ->  = dials  A= Answers
>
> Ref: my branch:  team/murf/CDRfix5 (derived from trunk)
>
> _____________________________________________________________________________
> Scenario 1: Simple. 152 calls 151. They talk. They hang up.
> =============================================================================
>
> Example output: (1 CDR)
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/51-1","Dial","Zap/51|30|
> TtWw","2007-06-01 20:41:56","2007-06-01 20:42:08","2007-06-01
> 20:42:13","17","5","ANSWERED","DOCUMENTATION","","1180752116.0",""
>
> No big changes here.
>
> _____________________________________________________________________________
> Scenario 2: blind xfer via # key 152->151; 151->#150; 150 A
> =============================================================================
>
> Example output: (2 CDR's)
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/51-1","Dial","Zap/51|30|
> TtWw","2007-06-01 20:43:02","2007-06-01 20:43:10","2007-06-01
> 20:43:27","25","17","ANSWERED","DOCUMENTATION","","1180752182.2",""
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/50-1","Dial","Zap/50|30|
> TtWw","2007-06-01 20:43:27","2007-06-01 20:43:31","2007-06-01
> 20:43:38","11","7","ANSWERED","DOCUMENTATION","","1180752182.2",""
>
> Notes: the first CDR is emitted when the "#" button is hit.
>
> ______________________________________________________________________________
> Scenario 3: blind xfer via "transfer.blind" buttons on SIP phone
> (polycom430)
>             152->201; 201 hits transfer, then blind buttons, 200; 200 A
> 200 HU
> =============================================================================
>
> Example output: (2 CDRs)
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","SIP/polycom430-08267d80","Dial","SIP/polycom430|30|TtWw","2007-06-01 22:29:07","2007-06-01 22:29:24","2007-06-01 22:29:41","34","17","ANSWERED","DOCUMENTATION","","1180758547.47",""
>
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","SIP/snom360-08271a38","Dial","SIP/snom360|30|TtWw","2007-06-01 22:29:41","2007-06-01 22:29:48","2007-06-01 22:29:53","12","5","ANSWERED","DOCUMENTATION","","1180758547.47",""
>
> Notes: the first CDR is emitted when the "send" soft button is hit.
> ______________________________________________________________________________
> Scenario 4: blind xfer via Zap hookflash (152->151; 151 HF; 151->150;
> 151 HU
>                                           while ringing.)
> =============================================================================
>
> Example output: (3 CDRs)
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/51-1","Dial","Zap/51|30|
> TtWw","2007-06-01 20:53:24","2007-06-01 20:53:33","2007-06-01
> 20:53:48","24","15","ANSWERED","DOCUMENTATION","","1180752804.22",""
>
> ""fxs.51"
> <151>","151","s","extension","Zap/51-1<ZOMBIE>","Zap/51-1","Dial","Zap/51|30|TtWw","2007-06-01 20:53:24","2007-06-01 20:53:33","2007-06-01 20:53:55","31","22","ANSWERED","DOCUMENTATION","","1180752804.22",""
>
> ""fxs.52"
> <152>","152","150","extension","Zap/52-1","Zap/50-1","Dial","Zap/50|30|
> TtWw","2007-06-01 20:53:52","2007-06-01 20:53:59","2007-06-01
> 20:54:08","16","9","ANSWERED","DOCUMENTATION","","1180752828.24",""
>
> Notes:
> Ugh. Changes for scen.5 loused up CDR#2 in this scenario... It should be
> Zap/52, not a zombied 51... I'll check into it.
>
> The first CDR is generated at the first HF. The second, when 151 hangs
> up after dialing. The last, when 152 or 150 hang up. If 151 doesn't hang
> up fast enough,
> the 2nd CDR will record the time spent talking with 151; the 2nd CDR is
> messed up. I'll see if I can start it when #1 ends... (before I worked
> on Scen#5, Scen#4
> generated only two CDRs! :))
>
>
> ___________________________________________________________________________
> Scenario 5: Zap Attended xfer: (152->151; 151 HF; 151->150; 151 HF; 151
> HU;
>                                     152/150 HU.)
> =============================================================================
>
>
> Example output: (4 CDR's)
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/51-1","Dial","Zap/51|30|
> TtWw","2007-06-01 19:17:24","2007-06-01 19:17:31","2007-06-01
> 19:17:37","13","6","ANSWERED","DOCUMENTATION","","1180747044.0",""
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/51-1","MOH","","2007-06-01
> 19:17:37","2007-06-01 19:17:37","2007-06-01
> 19:17:51","14","14","ANSWERED","DOCUMENTATION","","1180747044.0",""
>
> ""fxs.52 <152>","152","s","extension","Zap/52-1","Zap/51-1",
> "3WAY","Zap/51-1","2007-06-01 19:17:51","2007-06-01
> 19:17:51","2007-06-01
> 19:18:04","40","33","ANSWERED","DOCUMENTATION","","1180747044.0",""
>
> ""fxs.52"
> <152>","152","s","extension","Zap/52-1","Zap/50-1","Dial","Zap/50|30|
> TtWw","2007-06-01 19:17:37","2007-06-01 19:17:43","2007-06-01
> 19:18:28","51","45","ANSWERED","DOCUMENTATION","","1180747057.2",""
>
> Notes: 1st CDR emitted on first HF; 2nd emitted on 2nd HF; 3rd emitted
> when 151 hangs up;  Last when 152 or 150 hang up.
>
> 2nd CDR has MOH for app; it actually documents when 152 was played MOH
> during the xfer. The 3WAY time started with HF #2, ended when 151 hung
> up. For the moment, 
> you can determine the 3rd party by finding the record with the same
> clid, and a start time equal to the first CDR's end time. Basically CDR
> #1 + CDR #4 account for the entire time that 152 spent connected to
> 151/150. You can just drop "MOH" and "3WAY" records if this is not
> interesting.
>
> As from above, you can probably make out that I'd like to keep the
> "source" caller the same thru the sequence. I also try to keep the
> uniqueid the same thru the sequence, but that gets hard when dealing
> with multiple bridges that don't even share the same channel. I'd like
> to put the 3rd channel in a 3WAY in the appdata field, but it's hiding
> somewhere in the zap driver.
>
> Any thoughts on what you'd like to see/ don't want to see... tell me!
>
> More to come...
>
> murf
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.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