Sie sind auf Seite 1von 7

------------------------------------------------------------------------------------------ Alcatel-Lucent

------------------------------------------------------------------------------------------ author: Guntis Gavars (guntis.gavars@digitalroute.com)


-- 2010-Jan-23 William Villa (william.villa@lhsgroup.com)
-- 2010-Feb-02 Rafael Carinha (rafael.carinha@lhsgroup.com)
-- DCR 059A - Nextel Peru - 3G WP6
--------------------------------------------------------------------------------------------------------------------------------------------------------------------external ALU_CDR_external {
ascii
id_cdr: terminated_by(",");
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii

start_date_and_time: terminated_by(",");
numbering_format_of_calling_number: terminated_by(",");
calling_number: terminated_by(",");
numbering_format_of_called_number: terminated_by(",");
called_number: terminated_by(",");
service_access_code: terminated_by(",");
prefix_number: terminated_by(",");
area_code: terminated_by(",");
numbering_format_of_translated_number: terminated_by(",");
translated_number: terminated_by(",");
call_cost: terminated_by(",");
call_part_to_be_charged_collect: terminated_by(",");
party_to_charge : terminated_by(",");
numbering_format_of_redirecting_party_number: terminated_by(",

");
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii

redirecting_party_number: terminated_by(",");
ss_code: terminated_by(",");
ss_action: terminated_by(",");
ss_parameters: terminated_by(",");
msisdn: terminated_by(",");
imsi: terminated_by(",");
triggering_client_id: terminated_by(",");
community_identifier: terminated_by(",");
flexibility_event: terminated_by(",");
cause_for_record_closing: terminated_by(",");
call_type: terminated_by(",");
teleservice_indicator: terminated_by(",");
network_cause_result_indicator: terminated_by(",");
in_service_result_indicator: terminated_by(",");
network_event_type_name: terminated_by(",");
segment_position: terminated_by(",");
end_date_time_of_in_call_process: terminated_by(",");
total_duration_of_in_call_process: terminated_by(",");
event_date_time: terminated_by(",");
correlation_identifier: terminated_by(",");
transaction_number: terminated_by(",");
assurance_identifier: terminated_by(",");
specific_charging_indicator: terminated_by(",");
call_part_to_be_charged: terminated_by(",");
refill_means: terminated_by(",");
transaction_number_used_for_refill: terminated_by(",");
fee_mode: terminated_by(",");

ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii

fee_last_date: terminated_by(",");
fee_next_date: terminated_by(",");
fee_synchronization_date: terminated_by(",");
fee_name: terminated_by(",");
fee_application_period_begin: terminated_by(",");
fee_application_period_end: terminated_by(",");
rate_plan: terminated_by(",");
new_rate_plan: terminated_by(",");
settlement_name: terminated_by(",");
settlement_service: terminated_by(",");
pdp_type: terminated_by(",");
pdp_address: terminated_by(",");
pdp_charging_characteristics: terminated_by(",");
traffic_class: terminated_by(",");
type_of_traffic_class: terminated_by(",");
network_records_opening_time: terminated_by(",");
gprs_destination_apn_network_id: terminated_by(",");
gprs_destination_apn_operator_id: terminated_by(",");
pdp_context_start_time_stamp: terminated_by(",");
gprs_usage_time_stamp: terminated_by(",");
network_record_sequence_number: terminated_by(",");
network_record_close_cause: terminated_by(",");
traffic_volume_partial_indicator: terminated_by(",");
traffic_volume_number: terminated_by(",");
type_of_controlling_node: terminated_by(",");
gprs_default_ch_indicator: terminated_by(",");
charging_id : terminated_by(",");
ggsn_address : terminated_by(",");
network_element_id: terminated_by(",");
network_element_transaction_id: terminated_by(",");
currency: terminated_by(",");
transaction_description: terminated_by(",");
network_service_id: terminated_by(",");
service_parameter_id: terminated_by(",");
service_parameter_value: terminated_by(",");
sub_rating_parameters: terminated_by(",");
duplicate_information: terminated_by(",");
service_context_id: terminated_by(",");
credit_control_transaction_parameter: terminated_by(",");
media: terminated_by(",");
call_routing_duration : terminated_by(",");
sgsn_address_ip : terminated_by(",");
numbering_format_of_location_number: terminated_by(",");
location_number: terminated_by(",");
location_indicator: terminated_by(",");
zoning_level_1: terminated_by(",");
ff_old_list: terminated_by(",");
ff_new_list: terminated_by(",");
zoning_level_2: terminated_by(",");
origin_area_name: terminated_by(",");
destination_area_name: terminated_by(",");
zoning_matrix_component_name: terminated_by(",");
origin_of_the_charging_matrix: terminated_by(",");
destination_of_the_charging_matrix: terminated_by(",");
origin_type: terminated_by(",");
destination_type: terminated_by(",");
origin_algorithim: terminated_by(",");
destination_algorithim: terminated_by(",");
nsl_mcc: terminated_by(",");
nsl_mnc: terminated_by(",");

ascii
nsl_lac: terminated_by(",");
ascii
nsl_ci: terminated_by(",");
ascii
billing_id: terminated_by(",");
ascii
location_area_id: terminated_by(",");
ascii
cell_id: terminated_by(",");
ascii
vplmn_operator_name: terminated_by(",");
ascii
camel_service_level: terminated_by(",");
ascii
camel_server_address: terminated_by(",");
ascii
camel_service_key: terminated_by(",");
ascii
camel_call_reference_number: terminated_by(",");
ascii
camel_msc_address: terminated_by(",");
ascii
camel_initiated_cf_indicator: terminated_by(",");
ascii
list_of_camel_modification_values: terminated_by(",");
ascii
camel_new_destination_address: terminated_by(",");
ascii
camel_gprs_destination_apn_ni: terminated_by(",");
ascii camel_gprs_destination_apn_oi: terminated_by(",");
ascii camel_gprs_default_ch_indicator: terminated_by(",");
ascii
qos_req_delay: terminated_by(",");
ascii
qos_req_mean_throughput: terminated_by(",");
ascii
qos_req_peak_throughput: terminated_by(",");
ascii
qos_req_precedence: terminated_by(",");
ascii
qos_req_reliability: terminated_by(",");
ascii
qos_use_delay: terminated_by(",");
ascii
qos_use_mean_throughput: terminated_by(",");
ascii
qos_use_peak_throughput: terminated_by(",");
ascii
qos_use_precedence: terminated_by(",");
ascii
qos_use_reliability: terminated_by(",");
ascii
qos_req_traffic_class: terminated_by(",");
ascii
qos_req_max_bit_rate_uplink: terminated_by(",");
ascii
qos_req_max_bit_rate_downlink: terminated_by(",");
ascii
qos_req_qos_guaranteed_uplink: terminated_by(",");
ascii
qos_req_qos_guaranteed_downlink: terminated_by(",");
ascii
qos_req_alloc_reten_priority: terminated_by(",");
ascii
qos_use_traffic_class: terminated_by(",");
ascii
qos_use_max_bit_rate_uplink: terminated_by(",");
ascii
qos_use_max_bit_rate_downlink: terminated_by(",");
ascii
qos_use_qos_guaranteed_uplink: terminated_by(",");
ascii
qos_use_qos_guaranteed_downlink: terminated_by(",");
ascii
qos_use_alloc_reten_priority: terminated_by(",");
ascii
triggering_key: terminated_by(",");
ascii
type_of_triggering_key: terminated_by(",");
ascii
user_address_ip : terminated_by(",");
ascii
in_triggering_key : terminated_by(",");
ascii
type_of_in_triggering_key : terminated_by(",");
ascii
login: terminated_by(",");
ascii
reason_code: terminated_by(",");
set {
CustomerDomain customer_domain : optional;
AccountDomain account_domain : optional;
list<TariffDomain> tariff_domains;
list<Bundle> bundles;
list<Promotion> promotions;
list<SubscriptDomain> subscr_domains;
};
ascii error_code: terminated_by(",");
ascii original_filename: terminated_by(0xA);
};
external CustomerDomain {

ascii

id_customer_cdr: terminated_by(",");

ascii
ascii
ascii
ascii

ordinary_client_id: terminated_by(",");
service_name: terminated_by(",");
commercial_offer_name: terminated_by(",");
service_retailer_name: terminated_by(",");

};
external AccountDomain {
ascii
id_account_cdr: terminated_by(",");
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii

account_identifier: terminated_by(",");
account_imsi: terminated_by(",");
account_msisdn: terminated_by(",");
account_profile: terminated_by(",");
subscriber_type: terminated_by(",");
service_name: terminated_by(",");
commercial_offer_name: terminated_by(",");
service_retailer_name: terminated_by(",");
remaining_credit: terminated_by(",");
credit_before_the_transaction: terminated_by(",");
discarded_credit: terminated_by(",");
gl_code_of_discarded_credit: terminated_by(",");
account_main_previous_state: terminated_by(",");
account_additional_previous_status: terminated_by(",");
account_main_current_state: terminated_by(",");
account_additional_current_status: terminated_by(",");
refill_amount: terminated_by(",");
topup_gl_code: terminated_by(",");
topup_global_nominal_value: terminated_by(",");
topup_profile_name: terminated_by(",");
extended_active_period: terminated_by(",");
extended_inactive_period: terminated_by(",");
discount_rate_rum1: terminated_by(",");
discount_rate_rum2: terminated_by(",");
discount_rate_rum3: terminated_by(",");
day_category: terminated_by(",");
time_band: terminated_by(",");
taxable_quantity_name: terminated_by(",");
taxable_quantity_2_name: terminated_by(",");
taxable_quantity_3_name: terminated_by(",");
event_quantity_1: terminated_by(",");
event_quantity_2: terminated_by(",");
event_quantity_3: terminated_by(",");
used_quantity_1: terminated_by(",");
used_quantity_2: terminated_by(",");
used_quantity_3: terminated_by(",");
free_call: terminated_by(",");
fixed_cost: terminated_by(",");
normal_call: terminated_by(",");
event_cost_no_vat: terminated_by(",");
vat_fixed_amount: terminated_by(",");
event_cost_vat: terminated_by(",");
cost_counters_discarded_credit: terminated_by(",");
tax_exemption_flag: terminated_by(",");

};
external TariffDomain {
ascii
id_tariff_cdr: terminated_by(",");

ascii
tariff_plan_name: terminated_by(",");
ascii
tariff_plan_name_version: terminated_by(",");
ascii
event_cost_no_vat_per_tariff: terminated_by(",");
ascii
event_cost_vat_per_tariff: terminated_by(",");
ascii
tariff_switch_occured: terminated_by(",");
ascii
vat_fixed_amount_per_tariff: terminated_by(",");
ascii
free_call: terminated_by(",");
ascii
fixed_cost: terminated_by(",");
ascii
normal_call: terminated_by(",");
ascii
event_cost_no_vat: terminated_by(",");
ascii
vat_fixed_amount: terminated_by(",");
ascii
event_cost_vat: terminated_by(",");
ascii
discarded_credit: terminated_by(",");
ascii
tax_exemption_flag: terminated_by(",");
ascii
gl_code_cost_et: terminated_by(",");
ascii
gl_code_tax: terminated_by(",");
ascii
event_quantity_per_tariff_1: terminated_by(",");
ascii
event_quantity_per_tariff_2: terminated_by(",");
ascii
event_quantity_per_tariff_3: terminated_by(",");
ascii used_quantity_1_per_tariff: terminated_by(",");
ascii used_quantity_2_per_tariff: terminated_by(",");
ascii used_quantity_3_per_tariff: terminated_by(",");
ascii
discount_rate_rum1: terminated_by(",");
ascii
discount_rate_rum2: terminated_by(",");
ascii
discount_rate_rum3: terminated_by(",");
set {
list<Bundle> bundles;
list<Promotion> promotions;
};
};
external Bundle
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii
ascii

{
id_tariff_cdr: terminated_by(",");
id_promotion_cdr: terminated_by(",");
id_bundle_cdr: terminated_by(",");
bundle_identifier: terminated_by(",");
bundle_unit: terminated_by(",");
topup_bundle_nominal_value: terminated_by(",");
consumed_units: terminated_by(",");
remaining_units: terminated_by(",");
allocated_units: terminated_by(",");
discarded_units: terminated_by(",");
limit_date: terminated_by(",");
extended_duration: terminated_by(",");
initial_units: terminated_by(",");

};
external Promotion {
ascii
id_tariff_cdr: terminated_by(",");
ascii
id_promotion_cdr: terminated_by(",");
ascii
ascii
ascii
ascii
ascii
ascii
ascii

promotion_name: terminated_by(",");
promotion_type: terminated_by(",");
discount_rate: terminated_by(",");
promotion_amount_main: terminated_by(",");
promotion_amount_gl_code: terminated_by(",");
refill_amount_main: terminated_by(",");
topup_gl_code: terminated_by(",");

ascii
topup_global_nominal_value: terminated_by(",");
ascii
topup_profile_name: terminated_by(",");
ascii
promotion_amount : terminated_by(",");
ascii
extended_active_period: terminated_by(",");
ascii
extended_inactive_period: terminated_by(",");
set : dynamic_size( remaining_size ) {
list<Bundle> bundles;
};
};
external SubscriptDomain {
ascii
id_subscription_cdr: terminated_by(",");
ascii
ascii
ascii
ascii
ascii

subscription_name: terminated_by(",");
subscription_current_state: terminated_by(",");
subscription_previous_state: terminated_by(",");
subscription_activation_date: terminated_by(",");
subscription_termination_date: terminated_by(",");

};
internal additionalFields {
date processing_date;
};
//---------------------------- MAP --------------------------------------in_map ALU_inmap :
target_internal(ALU_CDR_internal),
internal(additionalFields),
external(ALU_CDR_external) {
automatic: use_external_names;
};
out_map ALU_outMap : external (ALU_CDR_external),
internal (ALU_CDR_internal) {
automatic;
};
in_map ALU_to_internal :
target_internal(ALU_CallDataRecord),
external(ALU_CallDataRecord_ext) {
automatic: use_external_names;
};
//---------------------------- DEC/ENCODERS -------------------------------------encoder ALU_enc : out_map( ALU_outMap );
decoder ALU_dec : in_map(ALU_to_internal);
decoder Total {
decoder ALU_dec *;
};
external ALU_CallDataRecord_ext
{
/* To get the first 4 dummy bytes */
byte head1 : static_size(4), external_only;
ALU.StktVarPart cdr;
};

//---------------------------- ASN --------------------------------------asn_block {


ALU DEFINITIONS IMPLICIT TAGS ::=
BEGIN
StktVarPart ::= SEQUENCE {
type [0] Stkt-Type, -- Statistic Ticket type
srv_id [1] INTEGER, -- Service Id
ele SEQUENCE OF Stkt_ele
}
Stkt_Type ::= ENUMERATED {
call (2),
-- for compatibility
televoting (5),
-- for compatibility
management (3)
} -- for compatibility
-- souzaan - The definition "SEQUENCE OF" is a workaround to put this code to wo
rk.
-- I think that the iX Mediation ASN interpreted is bugged (c'mon, are you sure?
).
Stkt_ele ::= CHOICE {
data [0] SEQUENCE OF Stkt_tag, -- TAG element
evt [1] SEQUENCE OF Stkt_evt, -- Event element
obj [2] SEQUENCE OF Stkt_obj
} -- Object element
Stkt_tag ::= SEQUENCE {
feature INTEGER, -- TAG feature
subfeat INTEGER, -- TAG sub feature
type INTEGER, -- TAG type
subtype INTEGER, -- TAG number
dump OCTET STRING OPTIONAL
} -- dump (ASCII string)
Stkt_evt ::= SEQUENCE {
feature INTEGER,
-subfeat INTEGER,
-type INTEGER,
-subtype INTEGER,
-value INTEGER,
-dump OCTET STRING OPTIONAL
} -- dump (ASCII string)

Event
Event
Event
Event
value

feature
sub feature
type
sub type

Stkt_obj ::= SEQUENCE {


class INTEGER, -- class reference
object INTEGER, -- object reference (ri)
mn OCTET STRING OPTIONAL
} -- mnemonic (string)
--***************************************************************************
END
--***************************************************************************
};

Das könnte Ihnen auch gefallen