@ -1667,8 +1667,8 @@ static struct ast_json *charge_to_json(const struct ast_aoc_decoded *decoded)
if ( decoded - > charge_type ! = AST_AOC_CHARGE_CURRENCY & &
decoded - > charge_type ! = AST_AOC_CHARGE_UNIT ) {
return ast_json_pack ( " {s:s} " , " Type " ,
aoc_charge_type_str ( decoded - > charge_type ) ) ;
return ast_json_pack ( " {s:s} " ,
" Type " , aoc_charge_type_str ( decoded - > charge_type ) ) ;
}
if ( decoded - > charge_type = = AST_AOC_CHARGE_CURRENCY ) {
@ -1680,8 +1680,7 @@ static struct ast_json *charge_to_json(const struct ast_aoc_decoded *decoded)
obj = units_to_json ( decoded ) ;
}
return ast_json_pack (
" {s:s, s:s, s:s, s:o} " ,
return ast_json_pack ( " {s:s, s:s, s:s, s:o} " ,
" Type " , aoc_charge_type_str ( decoded - > charge_type ) ,
" BillingID " , aoc_billingid_str ( decoded - > billing_id ) ,
" TotalType " , aoc_type_of_totaling_str ( decoded - > total_type ) ,
@ -1697,8 +1696,7 @@ static struct ast_json *association_to_json(const struct ast_aoc_decoded *decode
" Number " , decoded - > charging_association . charge . number . number ,
" Plan " , decoded - > charging_association . charge . number . plan ) ;
case AST_AOC_CHARGING_ASSOCIATION_ID :
return ast_json_pack (
" {s:i} " , " ID " , decoded - > charging_association . charge . id ) ;
return ast_json_pack ( " {s:i} " , " ID " , decoded - > charging_association . charge . id ) ;
case AST_AOC_CHARGING_ASSOCIATION_NA :
default :
return ast_json_null ( ) ;
@ -1752,10 +1750,12 @@ static struct ast_json *s_to_json(const struct ast_aoc_decoded *decoded)
" Scale " , decoded - > aoc_s_entries [ i ] . rate . duration . granularity_time_scale ) ;
}
type = ast_json_pack ( " {s:o, s:s, s:o, s:o} " , " Currency " , ast_json_ref ( currency ) , " ChargingType " ,
decoded - > aoc_s_entries [ i ] . rate . duration . charging_type ?
" StepFunction " : " ContinuousCharging " , " Time " , ast_json_ref ( time ) ,
" Granularity " , granularity ? ast_json_ref ( granularity ) : ast_json_ref ( ast_json_null ( ) ) ) ;
type = ast_json_pack ( " {s:o, s:s, s:o, s:o} " ,
" Currency " , ast_json_ref ( currency ) ,
" ChargingType " , decoded - > aoc_s_entries [ i ] . rate . duration . charging_type
? " StepFunction " : " ContinuousCharging " ,
" Time " , ast_json_ref ( time ) ,
" Granularity " , granularity ? ast_json_ref ( granularity ) : ast_json_null ( ) ) ;
break ;
}
@ -1773,21 +1773,22 @@ static struct ast_json *s_to_json(const struct ast_aoc_decoded *decoded)
decoded - > aoc_s_entries [ i ] . rate . volume . amount ,
decoded - > aoc_s_entries [ i ] . rate . volume . multiplier ) ;
type = ast_json_pack (
" {s:s, s:o}" , " Unit" , aoc_volume_unit_str (
type = ast_json_pack ( " {s:s, s:o} " ,
" Unit" , aoc_volume_unit_str (
decoded - > aoc_s_entries [ i ] . rate . volume . volume_unit ) ,
" Currency " , ast_json_ref ( currency ) ) ;
break ;
case AST_AOC_RATE_TYPE_SPECIAL_CODE :
type = ast_json_pack ( " {s:i} " , " SpecialCode " ,
decoded - > aoc_s_entries [ i ] . rate . special_code ) ;
type = ast_json_pack ( " {s:i} " ,
" SpecialCode " , decoded - > aoc_s_entries [ i ] . rate . special_code ) ;
break ;
default :
break ;
}
rate = ast_json_pack ( " {s:s, s:o} " , " Chargeable " , charge_item ,
aoc_rate_type_str ( decoded - > aoc_s_entries [ i ] . rate_type ) , ast_json_ref ( type ) ) ;
rate = ast_json_pack ( " {s:s, s:o} " ,
" Chargeable " , charge_item ,
aoc_rate_type_str ( decoded - > aoc_s_entries [ i ] . rate_type ) , ast_json_ref ( type ) ) ;
if ( ast_json_array_append ( rates , rate ) ) {
break ;
}