SIP Witch 1.9.15
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Static Public Member Functions | Data Fields
sipwitch::cdr Class Reference

Interface class for call detail records. More...

#include <cdr.h>

Inheritance diagram for sipwitch::cdr:
Inheritance graph
[legend]
Collaboration diagram for sipwitch::cdr:
Collaboration graph
[legend]

Public Types

enum  { START, STOP }
 Start or end of call? More...
 

Static Public Member Functions

static cdrget (void)
 Get a free cdr node to fill from the cdr memory pool. More...
 
static void post (cdr *cdr)
 Post cdr record to callbacks through the cdr thread queue. More...
 
static void start (void)
 Start cdr subsystem and que dispatch thread. More...
 
static void stop (void)
 Stop cdr subsystem. More...
 

Data Fields

enum sipwitch::cdr:: { ... }  type
 Start or end of call? More...
 
char uuid [48]
 A unique identifier for each and every call. More...
 
char ident [MAX_IDENT_SIZE]
 Ident of calling parting. More...
 
char dialed [MAX_IDENT_SIZE]
 Destination requested on our switch. More...
 
char joined [MAX_IDENT_SIZE]
 Call destination eventually joined to. More...
 
char display [MAX_DISPLAY_SIZE]
 Display name of calling party. More...
 
char network [MAX_NETWORK_SIZE *2]
 Subnet interface the caller appeared on. More...
 
char reason [16]
 Reason the call was terminated. More...
 
unsigned cid
 Internal call sequence identifiers. More...
 
unsigned sequence
 
time_t starting
 Time the call was received. More...
 
unsigned long duration
 Total duration of the call in seconds. More...
 

Detailed Description

Interface class for call detail records.

This is passed internally to plugins via callbacks and can be logged to a database through one. A more limited subset of the cdr is passed via the events stream also.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 56 of file cdr.h.

Member Enumeration Documentation

anonymous enum

Start or end of call?

Enumerator
START 
STOP 

Definition at line 62 of file cdr.h.

Member Function Documentation

cdr * sipwitch::cdr::get ( void  )
static

Get a free cdr node to fill from the cdr memory pool.

To maximize performance and allow parallel operation a memory pool of cdr objects is used.

Returns
free record to fill.

Definition at line 122 of file cdr.cpp.

void sipwitch::cdr::post ( cdr cdr)
static

Post cdr record to callbacks through the cdr thread queue.

This returns the cdr object to the mem and then return to free list.

Parameters
cdrrecord to post.

Definition at line 102 of file cdr.cpp.

void sipwitch::cdr::start ( void  )
static

Start cdr subsystem and que dispatch thread.

Definition at line 146 of file cdr.cpp.

void sipwitch::cdr::stop ( void  )
static

Stop cdr subsystem.

Definition at line 151 of file cdr.cpp.

Field Documentation

unsigned sipwitch::cdr::cid

Internal call sequence identifiers.

Definition at line 102 of file cdr.h.

char sipwitch::cdr::dialed[MAX_IDENT_SIZE]

Destination requested on our switch.

Definition at line 77 of file cdr.h.

char sipwitch::cdr::display[MAX_DISPLAY_SIZE]

Display name of calling party.

Definition at line 87 of file cdr.h.

unsigned long sipwitch::cdr::duration

Total duration of the call in seconds.

Definition at line 112 of file cdr.h.

char sipwitch::cdr::ident[MAX_IDENT_SIZE]

Ident of calling parting.

Definition at line 72 of file cdr.h.

char sipwitch::cdr::joined[MAX_IDENT_SIZE]

Call destination eventually joined to.

Definition at line 82 of file cdr.h.

char sipwitch::cdr::network[MAX_NETWORK_SIZE *2]

Subnet interface the caller appeared on.

Definition at line 92 of file cdr.h.

char sipwitch::cdr::reason[16]

Reason the call was terminated.

Definition at line 97 of file cdr.h.

unsigned sipwitch::cdr::sequence

Definition at line 102 of file cdr.h.

time_t sipwitch::cdr::starting

Time the call was received.

Definition at line 107 of file cdr.h.

enum { ... } sipwitch::cdr::type

Start or end of call?

char sipwitch::cdr::uuid[48]

A unique identifier for each and every call.

Definition at line 67 of file cdr.h.


The documentation for this class was generated from the following files: