SIP Witch 1.9.15
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cdr.h
Go to the documentation of this file.
1 // Copyright (C) 2009-2014 David Sugar, Tycho Softworks.
2 // Copyright (C) 2015 Cherokees of Idaho.
3 //
4 // This program is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
25 #ifndef _SIPWITCH_CDR_H_
26 #define _SIPWITCH_CDR_H_
27 
28 #ifndef _UCOMMON_LINKED_H_
29 #include <ucommon/linked.h>
30 #endif
31 
32 #ifndef _UCOMMON_THREAD_H_
33 #include <ucommon/thread.h>
34 #endif
35 
36 #ifndef _UCOMMON_STRING_H_
37 #include <ucommon/string.h>
38 #endif
39 
40 #ifndef _SIPWITCH_NAMESPACE_H_
41 #include <sipwitch/namespace.h>
42 #endif
43 
44 #ifndef _SIPWITCH_MAPPED_H_
45 #include <sipwitch/mapped.h>
46 #endif
47 
48 namespace sipwitch {
49 
56 class __EXPORT cdr : public LinkedObject
57 {
58 public:
62  enum {START, STOP} type;
63 
67  char uuid[48];
68 
72  char ident[MAX_IDENT_SIZE];
73 
77  char dialed[MAX_IDENT_SIZE];
78 
82  char joined[MAX_IDENT_SIZE];
83 
87  char display[MAX_DISPLAY_SIZE];
88 
92  char network[MAX_NETWORK_SIZE * 2];
93 
97  char reason[16];
98 
102  unsigned cid, sequence;
103 
107  time_t starting;
108 
112  unsigned long duration;
113 
120  static cdr *get(void);
121 
127  static void post(cdr *cdr);
128 
132  static void start(void);
133 
137  static void stop(void);
138 };
139 
140 } // namespace sipwitch
141 
142 #endif
time_t starting
Time the call was received.
Definition: cdr.h:107
Definitions for memory mapped objects that may be shared between processes.
GNU SIP Witch library namespace.
#define MAX_IDENT_SIZE
Definition: mapped.h:70
unsigned sequence
Definition: cdr.h:102
Interface class for call detail records.
Definition: cdr.h:56
unsigned long duration
Total duration of the call in seconds.
Definition: cdr.h:112
#define MAX_DISPLAY_SIZE
Definition: mapped.h:68
#define MAX_NETWORK_SIZE
Definition: mapped.h:66