anchor.diff:                 = [#'3gpp_ro_Subscription-Id'{'Subscription-Id-Type'
                  = VarMatch1, 'Subscription-Id-Data' = VarMatch2, _ = '_'},
                  #'3gpp_ro_Subscription-Id'{'Subscription-Id-Type' = VarMatch3,
  -               'Subscription-Id-Data' = VarMatch4, _ = '_'}]}, [NewMC]}]
  -	end,
  -	characteristic(T, diameter, Types, ReqAttrs2, RespAttrs, N + 4);
  +               'Subscription-Id-Data' = VarMatch4, _ = '_'}]}, [NewMC]}],
  +			characteristic(T, diameter, Types, ReqAttrs2, RespAttrs, N + 4)
  +	end;
   characteristic({"name", exact, "username"}, {"value", Op, UserName},
   		T, diameter, Types, [{CCR, _MC}], RespAttrs, N) when is_list(UserName) ->
   	VarMatch = build_var_match(N),
  
positive.code: 			ReqAttrs2 = [{#'3gpp_ro_CCR'{'Subscription-Id'
  					= [#'3gpp_ro_Subscription-Id'{'Subscription-Id-Data'
  					= VarMatch, _ = '_'}], _ = '_'},
  					[{'=<', Prefix, VarMatch}, {'>', Prefix2, VarMatch}]}];
  		_ when Op == exact ->
  			Prefix = list_to_binary(UserNameValue),
  			SubscriptionMC = {'or', {'and', {'=:=', VarMatch1,
  					?'3GPP_RO_SUBSCRIPTION-ID-TYPE_END_USER_E164'}, {'==', VarMatch2, Prefix}},
  
negative.code: 					= VarMatch, _ = '_'}]},
  					[{'=<', Prefix, VarMatch}, {'>', Prefix2, VarMatch}]}];
  		_ when Op == exact ->
  			VarMatch1 = build_var_match(N),
  			VarMatch2 = build_var_match(N + 1),
  			VarMatch3 = build_var_match(N + 2),
  			VarMatch4 = build_var_match(N + 3),
  			Prefix = list_to_binary(UserNameValue),
  			SubscriptionMC = {'or', {'and', {'=:=', VarMatch1,
  					?'3GPP_RO_SUBSCRIPTION-ID-TYPE_END_USER_IMSI'}, {'==', VarMatch2, Prefix}},
  