anchor.diff:  					[{'=<', Prefix, VarMatch}, {'>', Prefix2, VarMatch}]}];
   		_ when Op == exact ->
   			Prefix = list_to_binary(UserNameValue),
  -			ReqAttrs2 = [{#'3gpp_ro_CCR'{'Subscription-Id'
  -					= [#'3gpp_ro_Subscription-Id'{'Subscription-Id-Data'
  -					= Prefix, _ = '_'}], _ = '_'}, []}]
  +			SubscriptionMC = {'or', {'and', {'=:=', '$100',
  +					?'3GPP_RO_SUBSCRIPTION-ID-TYPE_END_USER_E164'}, {'==', '$101', Prefix}},
  +					{'and', {'=:=', '$102', ?'3GPP_RO_SUBSCRIPTION-ID-TYPE_END_USER_E164'},
  +					{'==', '$103', Prefix}}},
  +			NewMC = add_condition(MC, SubscriptionMC),
  +         ReqAttrs2 = [{#'3gpp_ro_CCR'{'Subscription-Id'
  +               = [#'3gpp_ro_Subscription-Id'{'Subscription-Id-Type'
  +               = '$100', 'Subscription-Id-Data' = '$101', _ = '_'},
  +               #'3gpp_ro_Subscription-Id'{'Subscription-Id-Type' = '$102',
  +               'Subscription-Id-Data' = '$103', _ = '_'}], _ = '_'}, [NewMC]}]
   	end,
   	characteristic(T, diameter, Types, ReqAttrs2, RespAttrs, N + 1);
   characteristic({"name", exact, "imsi"}, {"value", Op, UserNameValue},
  -		T, diameter, Types, '_', RespAttrs, N) when is_list(UserNameValue) ->
  +		T, diameter, Types, '_' = MC, RespAttrs, N) when is_list(UserNameValue) ->
   	VarMatch = build_var_match(N),
   	case lists:last(UserNameValue) of
   		$% when Op == gte ->
  
positive.code: 	[AttributeMatch | Attributes].
  
  %% @hidden
  rev('_') ->
  	'_';
  rev(Attributes) when is_list(Attributes) ->
  
negative.code: 	ReqAttrs2 = add_char(ReqAttrs1, {?UserName, {like, like(Like)}}),
  	characteristic(T, radius, Types, ReqAttrs2, RespAttrs, N);
  characteristic({"name", exact, "msisdn"}, {"value", Op, UserNameValue},
  		T, diameter, Types, '_' = MC, RespAttrs, N) when is_list(UserNameValue) ->
  	VarMatch = build_var_match(N),
  	case lists:last(UserNameValue) of
  		$% when Op == gte ->
  