Documentation
¶
Overview ¶
Copyright © 2024 Hao Li <mr.hao.li@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2024 Hao Li <mr.hao.li@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- func CountCdrs(content []byte) uint32
- func DumpCdr(content []byte, index uint32, file *os.File)
- func GetContent(filename string) []byte
- func PrettyPrintJSON(json []byte)
- func PrettyPrintYAML(json []byte)
- type CdrHeaderInfo
- type CdrInfo
- type FileHeaderInfo
- type FileInfo
- type ThreegppCdr
- type ThreegppCdr_Cdr
- type ThreegppCdr_Cdr_Encoding
- type ThreegppCdr_Cdr_Ts
- type ThreegppCdr_Header
- type ThreegppCdr_IpAddress
- type ThreegppCdr_ReleaseIdentifierExtension
- type ThreegppCdr_ReleaseIdentifierExtension_Rel
- type ThreegppCdr_ReleaseVersionIdentifier
- type ThreegppCdr_ReleaseVersionIdentifier_Rel
- type ThreegppCdr_Timestamp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetContent ¶
func PrettyPrintJSON ¶
func PrettyPrintJSON(json []byte)
func PrettyPrintYAML ¶
func PrettyPrintYAML(json []byte)
Types ¶
type CdrHeaderInfo ¶
type CdrHeaderInfo struct {
CdrLength int `json:"cdr_length"`
ReleaseVersion string `json:"release_version"`
DataRecorderFormat string `json:"data_record_format"`
TsNumber string `json:"ts_number"`
}
func ToCdrHeaderInfo ¶
func ToCdrHeaderInfo(content []byte, index uint32) CdrHeaderInfo
type CdrInfo ¶
type CdrInfo struct {
NumberOfCDRs int `json:"number_of_cdrs"`
CdrHeaders []CdrHeaderInfo `json:"cdr_headers"`
}
type FileHeaderInfo ¶
type FileHeaderInfo struct {
FileLength int `json:"file_length"`
HeaderLength int `json:"header_length"`
HighReleaseVersion string `json:"high_release_version"`
LowReleaseVersion string `json:"low_release_version"`
FileOpeningTimestamp string `json:"file_opening_timestamp"`
LastCDRAppendTimestamp string `json:"last_cdr_append_timestamp"`
NumberOfCDRsInFile int `json:"number_of_cdrs_in_file"`
FileSequenceNumber int `json:"file_sequence_number"`
FileClosureTriggerReason string `json:"file_closure_trigger_reason"`
NodeIPAddress string `json:"node_ip_address"`
LostCDRIndicator string `json:"lost_cdr_indicator"`
}
func ToFileHeaderInfo ¶
func ToFileHeaderInfo(content []byte) FileHeaderInfo
type FileInfo ¶
type FileInfo struct {
HeaderInfo FileHeaderInfo `json:"header_info"`
CdrInfo CdrInfo `json:"cdr_info"`
}
func ToFileInfo ¶
type ThreegppCdr ¶
type ThreegppCdr struct {
Header *ThreegppCdr_Header
Cdrs []*ThreegppCdr_Cdr
// contains filtered or unexported fields
}
func NewThreegppCdr ¶
func NewThreegppCdr() *ThreegppCdr
func ParseCdr ¶
func ParseCdr(content []byte) *ThreegppCdr
func (*ThreegppCdr) Read ¶
func (this *ThreegppCdr) Read(io *kaitai.Stream, parent interface{}, root *ThreegppCdr) (err error)
type ThreegppCdr_Cdr ¶
type ThreegppCdr_Cdr struct {
CdrLength uint16
Version *ThreegppCdr_ReleaseVersionIdentifier
DataRecordFormat uint64
TsNumber ThreegppCdr_Cdr_Ts
ReleaseIdentifierExtension *ThreegppCdr_ReleaseIdentifierExtension
CdrContent []byte
// contains filtered or unexported fields
}
func NewThreegppCdr_Cdr ¶
func NewThreegppCdr_Cdr() *ThreegppCdr_Cdr
func (*ThreegppCdr_Cdr) CdrEncoding ¶
func (this *ThreegppCdr_Cdr) CdrEncoding() (v ThreegppCdr_Cdr_Encoding, err error)
func (*ThreegppCdr_Cdr) Read ¶
func (this *ThreegppCdr_Cdr) Read(io *kaitai.Stream, parent *ThreegppCdr, root *ThreegppCdr) (err error)
type ThreegppCdr_Cdr_Encoding ¶
type ThreegppCdr_Cdr_Encoding int
const ( ThreegppCdr_Cdr_Encoding__Ber ThreegppCdr_Cdr_Encoding = 1 ThreegppCdr_Cdr_Encoding__UnalignedPer ThreegppCdr_Cdr_Encoding = 2 ThreegppCdr_Cdr_Encoding__AlignedPer ThreegppCdr_Cdr_Encoding = 3 ThreegppCdr_Cdr_Encoding__Xml ThreegppCdr_Cdr_Encoding = 4 )
type ThreegppCdr_Cdr_Ts ¶
type ThreegppCdr_Cdr_Ts int
const ( ThreegppCdr_Cdr_Ts__Number32005 ThreegppCdr_Cdr_Ts = 0 ThreegppCdr_Cdr_Ts__Number32015 ThreegppCdr_Cdr_Ts = 1 ThreegppCdr_Cdr_Ts__Number32205 ThreegppCdr_Cdr_Ts = 2 ThreegppCdr_Cdr_Ts__Number32215 ThreegppCdr_Cdr_Ts = 3 ThreegppCdr_Cdr_Ts__Number32225 ThreegppCdr_Cdr_Ts = 4 ThreegppCdr_Cdr_Ts__Number32235 ThreegppCdr_Cdr_Ts = 5 ThreegppCdr_Cdr_Ts__Number32250 ThreegppCdr_Cdr_Ts = 6 ThreegppCdr_Cdr_Ts__Number32251 ThreegppCdr_Cdr_Ts = 7 ThreegppCdr_Cdr_Ts__Number32260 ThreegppCdr_Cdr_Ts = 9 ThreegppCdr_Cdr_Ts__Number32270 ThreegppCdr_Cdr_Ts = 10 ThreegppCdr_Cdr_Ts__Number32271 ThreegppCdr_Cdr_Ts = 11 ThreegppCdr_Cdr_Ts__Number32272 ThreegppCdr_Cdr_Ts = 12 ThreegppCdr_Cdr_Ts__Number32273 ThreegppCdr_Cdr_Ts = 13 ThreegppCdr_Cdr_Ts__Number32275 ThreegppCdr_Cdr_Ts = 14 ThreegppCdr_Cdr_Ts__Number32274 ThreegppCdr_Cdr_Ts = 15 ThreegppCdr_Cdr_Ts__Number32277 ThreegppCdr_Cdr_Ts = 16 ThreegppCdr_Cdr_Ts__Number32296 ThreegppCdr_Cdr_Ts = 17 ThreegppCdr_Cdr_Ts__Number32278 ThreegppCdr_Cdr_Ts = 18 ThreegppCdr_Cdr_Ts__Number32253 ThreegppCdr_Cdr_Ts = 19 ThreegppCdr_Cdr_Ts__Number32255 ThreegppCdr_Cdr_Ts = 20 ThreegppCdr_Cdr_Ts__Number32254 ThreegppCdr_Cdr_Ts = 21 ThreegppCdr_Cdr_Ts__Number32256 ThreegppCdr_Cdr_Ts = 22 ThreegppCdr_Cdr_Ts__Number28201 ThreegppCdr_Cdr_Ts = 23 ThreegppCdr_Cdr_Ts__Number28202 ThreegppCdr_Cdr_Ts = 24 )
type ThreegppCdr_Header ¶
type ThreegppCdr_Header struct {
FileLength uint32
HeaderLength uint32
HighReleaseVersionIdentifier *ThreegppCdr_ReleaseVersionIdentifier
LowReleaseVersionIdentifier *ThreegppCdr_ReleaseVersionIdentifier
FileOpeningTimestamp *ThreegppCdr_Timestamp
LastCdrAppendTimestamp *ThreegppCdr_Timestamp
NumberOfCdrsInFile uint32
FileSequenceNumber uint32
FileClosureTriggerReason uint8
NodeIpAddress *ThreegppCdr_IpAddress
LostCdrIndicator uint8
LengthOfCdrRouteingFilter uint16
CdrRouteingFilter string
LengthOfPrivateExtension uint16
PrivateExtension string
HighReleaseIdentifierExtension *ThreegppCdr_ReleaseIdentifierExtension
LowReleaseIdentifierExtension *ThreegppCdr_ReleaseIdentifierExtension
// contains filtered or unexported fields
}
func NewThreegppCdr_Header ¶
func NewThreegppCdr_Header() *ThreegppCdr_Header
func (*ThreegppCdr_Header) Read ¶
func (this *ThreegppCdr_Header) Read(io *kaitai.Stream, parent *ThreegppCdr, root *ThreegppCdr) (err error)
type ThreegppCdr_IpAddress ¶
type ThreegppCdr_IpAddress struct {
IpAddress string
// contains filtered or unexported fields
}
func NewThreegppCdr_IpAddress ¶
func NewThreegppCdr_IpAddress() *ThreegppCdr_IpAddress
func (*ThreegppCdr_IpAddress) Read ¶
func (this *ThreegppCdr_IpAddress) Read(io *kaitai.Stream, parent *ThreegppCdr_Header, root *ThreegppCdr) (err error)
type ThreegppCdr_ReleaseIdentifierExtension ¶
type ThreegppCdr_ReleaseIdentifierExtension struct {
ThreegppRelease ThreegppCdr_ReleaseIdentifierExtension_Rel
// contains filtered or unexported fields
}
func NewThreegppCdr_ReleaseIdentifierExtension ¶
func NewThreegppCdr_ReleaseIdentifierExtension() *ThreegppCdr_ReleaseIdentifierExtension
func (*ThreegppCdr_ReleaseIdentifierExtension) Read ¶
func (this *ThreegppCdr_ReleaseIdentifierExtension) Read(io *kaitai.Stream, parent interface{}, root *ThreegppCdr) (err error)
type ThreegppCdr_ReleaseIdentifierExtension_Rel ¶
type ThreegppCdr_ReleaseIdentifierExtension_Rel int
const ( ThreegppCdr_ReleaseIdentifierExtension_Rel__R10 ThreegppCdr_ReleaseIdentifierExtension_Rel = 0 ThreegppCdr_ReleaseIdentifierExtension_Rel__R11 ThreegppCdr_ReleaseIdentifierExtension_Rel = 1 ThreegppCdr_ReleaseIdentifierExtension_Rel__R12 ThreegppCdr_ReleaseIdentifierExtension_Rel = 2 ThreegppCdr_ReleaseIdentifierExtension_Rel__R13 ThreegppCdr_ReleaseIdentifierExtension_Rel = 3 ThreegppCdr_ReleaseIdentifierExtension_Rel__R14 ThreegppCdr_ReleaseIdentifierExtension_Rel = 4 ThreegppCdr_ReleaseIdentifierExtension_Rel__R15 ThreegppCdr_ReleaseIdentifierExtension_Rel = 5 ThreegppCdr_ReleaseIdentifierExtension_Rel__R16 ThreegppCdr_ReleaseIdentifierExtension_Rel = 6 )
type ThreegppCdr_ReleaseVersionIdentifier ¶
type ThreegppCdr_ReleaseVersionIdentifier struct {
ReleaseIdentifier uint64
VersionIdentifier uint64
// contains filtered or unexported fields
}
func NewThreegppCdr_ReleaseVersionIdentifier ¶
func NewThreegppCdr_ReleaseVersionIdentifier() *ThreegppCdr_ReleaseVersionIdentifier
func (*ThreegppCdr_ReleaseVersionIdentifier) Read ¶
func (this *ThreegppCdr_ReleaseVersionIdentifier) Read(io *kaitai.Stream, parent interface{}, root *ThreegppCdr) (err error)
func (*ThreegppCdr_ReleaseVersionIdentifier) ThreegppRelease ¶
func (this *ThreegppCdr_ReleaseVersionIdentifier) ThreegppRelease() (v ThreegppCdr_ReleaseVersionIdentifier_Rel, err error)
type ThreegppCdr_ReleaseVersionIdentifier_Rel ¶
type ThreegppCdr_ReleaseVersionIdentifier_Rel int
const ( ThreegppCdr_ReleaseVersionIdentifier_Rel__R99 ThreegppCdr_ReleaseVersionIdentifier_Rel = 0 ThreegppCdr_ReleaseVersionIdentifier_Rel__R4 ThreegppCdr_ReleaseVersionIdentifier_Rel = 1 ThreegppCdr_ReleaseVersionIdentifier_Rel__R5 ThreegppCdr_ReleaseVersionIdentifier_Rel = 2 ThreegppCdr_ReleaseVersionIdentifier_Rel__R6 ThreegppCdr_ReleaseVersionIdentifier_Rel = 3 ThreegppCdr_ReleaseVersionIdentifier_Rel__R7 ThreegppCdr_ReleaseVersionIdentifier_Rel = 4 ThreegppCdr_ReleaseVersionIdentifier_Rel__R8 ThreegppCdr_ReleaseVersionIdentifier_Rel = 5 ThreegppCdr_ReleaseVersionIdentifier_Rel__R9 ThreegppCdr_ReleaseVersionIdentifier_Rel = 6 ThreegppCdr_ReleaseVersionIdentifier_Rel__Beyond9 ThreegppCdr_ReleaseVersionIdentifier_Rel = 7 )
type ThreegppCdr_Timestamp ¶
type ThreegppCdr_Timestamp struct {
Month uint64
Date uint64
Hour uint64
Minute uint64
Sign bool
HourDeviation uint64
MinuteDeviation uint64
// contains filtered or unexported fields
}
func NewThreegppCdr_Timestamp ¶
func NewThreegppCdr_Timestamp() *ThreegppCdr_Timestamp
func (*ThreegppCdr_Timestamp) Read ¶
func (this *ThreegppCdr_Timestamp) Read(io *kaitai.Stream, parent *ThreegppCdr_Header, root *ThreegppCdr) (err error)