summaryrefslogtreecommitdiff
path: root/FS/FS/cdr/cisco.pm
blob: 2da5a94e1b555cd80244e3c8524905dd001cfe80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package FS::cdr::cisco;

use strict;
use base qw( FS::cdr );
use vars qw( %info );
use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker );
use Date::Parse;

%info = (
  'name'          => 'Cisco Unified Call Manager',
  'weight'        => 160,
  'header'        => 2,     #0 default, set to 1 to ignore the first line, or
                            # to higher numbers to ignore that number of lines
  'type'          => 'csv', #csv (default), fixedlength or xls
  'sep_char'      => ',',   #for csv, defaults to ,
  'disabled'      => 0,     #0 default, set to 1 to disable

  'import_fields' => [

					     skip(2),   #cdrRecordType
							#globalCallID_callManagerId
					      'clid',	#globalCallID_callId	
					     skip(1),	#origLegCallIdentifier	
                sub { my ($cdr, $calldate) = @_;
                        $cdr->set('startdate', $calldate);
                        $calldate = str2time($calldate);
                        $cdr->set('calldate', $calldate);
                                                  },    #dateTimeOrigination
					     skip(3),   #origNodeId	
							#origSpan
							#origIpAddr	
           				       'src',	#callingPartyNumber	
					    skip(20),	#callingPartyUnicodeLoginUserID	
							#origCause_location	
							#origCause_value	
							#origPrecedenceLevel	
							#origMediaTransportAddress_IP	
							#origMediaTransportAddress_Port	
							#origMediaCap_payloadCapability
							#origMediaCap_maxFramesPerPacket
							#origMediaCap_g723BitRate	
							#origVideoCap_Codec	
							#origVideoCap_Bandwidth	
							#origVideoCap_Resolution	
							#origVideoTransportAddress_IP	
							#origVideoTransportAddress_Port	
							#origRSVPAudioStat	
							#origRSVPVideoStat	
							#destLegIdentifier	
							#destNodeId	
							#destSpan	
							#destIpAddr	
		sub { my ($cdr, $dst) = @_;
		$dst =~ s/\#//;
		$cdr->set('dst', $dst);			      
						},	#originalCalledPartyNumber	
					   skip(17),	#finalCalledPartyNumber	
							#finalCalledPartyUnicodeLoginUserID
							#destCause_location	
							#destCause_value
							#destPrecedenceLevel
							#destMediaTransportAddress_IP
							#destMediaTransportAddress_Port	
							#destMediaCap_payloadCapability	
							#destMediaCap_maxFramesPerPacket
							#destMediaCap_g723BitRate
							#destVideoCap_Codec
							#destVideoCap_Bandwidth
							#destVideoCap_Resolution
							#destVideoTransportAddress_IP
							#destVideoTransportAddress_Port
							#destRSVPAudioStat
							#destRSVPVideoStat
					'answerdate',	#dateTimeConnect	
		   			   'enddate',	#dateTimeDisconnect
					skip(3),	#lastRedirectDn	
							#pkid
							#originalCalledPartyNumberPartition	
				   'accountcode',	#callingPartyNumberPartition	
					 skip(2),	#finalCalledPartyNumberPartition
							#lastRedirectDnPartition
				       'billsec',	#duration
					skip(23),	#origDeviceName
							#destDeviceName
							#origCallTerminationOnBehalfOf
							#destCallTerminationOnBehalfOf
							#origCalledPartyRedirectOnBehalfOf
							#lastRedirectRedirectOnBehalfOf	
							#origCalledPartyRedirectReason
							#lastRedirectRedirectReason
							#destConversationId
							#globalCallId_ClusterID
							#joinOnBehalfOf
							#comment	
							#authCodeDescription
							#authorizationLevel	
							#clientMatterCode
							#origDTMFMethod
							#destDTMFMethod	
							#callSecuredStatus
							#origConversationId
							#origMediaCap_Bandwidth
							#destMediaCap_Bandwidth	
							#authorizationCodeValue
					        	#outpulsedCallingPartyNumber
					      skip(23), #outpulsedCalledPartyNumber
							#origIpv4v6Addr	
							#destIpv4v6Addr	
							#origVideoCap_Codec_Channel2
							#origVideoCap_Bandwidth_Channel2
							#origVideoCap_Resolution_Channel2
							#origVideoTransportAddress_IP_Channel2	
							#origVideoTransportAddress_Port_Channel2
							#origVideoChannel_Role_Channel2
							#destVideoCap_Codec_Channel2
							#destVideoCap_Bandwidth_Channel2
							#destVideoCap_Resolution_Channel2
							#destVideoTransportAddress_IP_Channel2
							#destVideoTransportAddress_Port_Channel2
							#destVideoChannel_Role_Channel2
							#IncomingProtocolID
							#IncomingProtocolCallRef
							#OutgoingProtocolID
							#OutgoingProtocolCallRef	
							#currentRoutingReason
							#origRoutingReason
							#lastRedirectingRoutingReason
							#huntPilotPartition
							#huntPilotDN
							#calledPartyPatternUsage
  ],

);



sub skip { map {''} (1..$_[0]) }

1;