cdr

package
v0.0.0-...-4e09503 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func CountCdrs

func CountCdrs(content []byte) uint32

func DumpCdr

func DumpCdr(content []byte, index uint32, file *os.File)

func GetContent

func GetContent(filename string) []byte

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"`
}

func ToCdrInfo

func ToCdrInfo(content []byte) CdrInfo

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

func ToFileInfo(content []byte) FileInfo

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

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL