Contains info of the network usage as provided by the network.
In the general usage scenario where A connects to B and B forwards to C,
the members servedParty_, calledParty_ and callingParty_ are populated as follows:
UsageType | served* | called* | calling ------------------+---------+---------+-------- utOriginated | A | B | - utTerminated | B | - | A utRoaming | B | - | A utIncomingGateway | - | B | A utOutgoingGateway | - | B | A utTransit | - | B | A utCallForward | B | C | A utEvent | A | - | - utRoaOriginated | A | B | - utRoaTerminated | B | - | A utRoaEvent | A | - | - *: where applicable `served' and `called' are mandatory.
Definition at line 493 of file cdr.h.
typedef std::map<Id<RecordStreamInfo>, Fraction> OSB_LIB::Cdr::OrigCountList |
Record accounting: track original records.
Each original, incoming usage record may ultimately result into several Cdr, during assembly several usage records may be combined into one Cdr.
The container provides the information how much the current Cdr accounts for a record in the original stream. Examples:
typedef TypeId<Cdr, 1> OSB_LIB::Cdr::UsageType |
enum OSB_LIB::Cdr::Status |
The status of the record.
This is the status of the record as provided by the network and/or elements. Possible values are divided into 2x2 groups.
The MSB (bit 32) indicates success or failure: if this bit is set (rsFailure) the network usage failed or caused an error.
Bit 31 indicates network (element) specific usage: if this bit is set (rsSpecific) the status does not match any of the defined values. This means, that except from success/failure, the network and/or element must be used in order to understand the exact meaning.
Subtype of the network usage.
The subtype of the network usage is provided for information only. In general the attribute can be derived from the usage type and other CDR attributes (used service).
The enum defines a few common constants and the flag ustSpecific which indicates a network element specific subtype.
OSB_LIB::Cdr::Cdr | ( | ) |
Default constructor.
It calls defaultPods() to initialize all POD data member to their default.
void OSB_LIB::Cdr::clear | ( | ) |
void OSB_LIB::Cdr::clearErrors | ( | ) |
Clear all error information, but not the errored out counter.
void OSB_LIB::Cdr::defaultPods | ( | ) | [private] |
Set POD data members to their default.
For the POD the following values are set:
static bool OSB_LIB::Cdr::isFailure | ( | Status | s | ) | [inline, static] |
Error (failure) status?
Definition at line 912 of file cdr.h.
References rsFailure.
Referenced by isSuccess().
static bool OSB_LIB::Cdr::isSpecific | ( | Status | s | ) | [inline, static] |
static bool OSB_LIB::Cdr::isSuccess | ( | Status | s | ) | [inline, static] |
Convert a long into a charge indicator.
ci | Charge indicator to convert. |
Convert a long into a record status.
s | Status to convert. Negative values are interpreted as failure and converted accordingly. |
static UsageSubtype OSB_LIB::Cdr::mkUsageSubtype | ( | long | st | ) | throw () [static] |
Convert a long into a usage subtype.
st | Usage subtype to convert. |
Convert a record status into long.
s | Status to convert. |
Convert a charge indicator into long.
ci | Charge indicator to convert. |
static long OSB_LIB::Cdr::toLong | ( | UsageSubtype | st | ) | throw () [static] |
Convert a usage subtype into long.
st | Usage subtype to convert. |
UdrType OSB_LIB::Cdr::udrType | ( | ) | const [virtual] |
Set-up time of network usage.
This is the date and time when the network element was first contacted to establish a network connection.
From this definition is follows that initTime is always smaller than timeStamp_.
If not available this member is not set.
std::string OSB_LIB::Cdr::inTrkGroup_ |
std::string OSB_LIB::Cdr::outTrkGroup_ |
std::string OSB_LIB::Cdr::partRecRef_ |
std::string OSB_LIB::Cdr::remoteIpAddress_ |
The IP address of the remote gateway.
The usage type defines whether the IP address belongs to the incoming or outgoing network:
usage type | ------------------+--------------- utOriginated | outgoing utTerminated | incoming utRoaming | *ILLEGAL utIncomingGateway | incoming utOutgoingGateway | outgoing utTransit | *ILLEGAL utCallForward | *ILLEGAL utEvent | not applicable utRoaOriginated | not applicable utRoaTerminated | not applicable utRoaEvent | not applicable *: These usage types describe both, the incoming and outgoing leg of a call => It is not possible to decide to which leg the remote IP address refers.
std::string OSB_LIB::Cdr::switchId_ |
std::string OSB_LIB::Cdr::transactionId_ |
Transaction identification.
Uniquely identifies a network usage as provided by the record source (network element).
The partial records of the same transaction contain the same id and a running sequence number.
The field is not relevant and blank if the record was assembled from record with different transaction ids.
const UdrType OSB_LIB::Cdr::udrType_ = Udr::cdrCommon [static, private] |