anchor.diff:  			case lists:keyfind(APN,
   					#'3gpp_swx_APN-Configuration'.'Service-Selection',
   					UserProfile#'3gpp_swx_Non-3GPP-User-Data'.'APN-Configuration') of
  -				#'3gpp_swx_APN-Configuration'{} ->
  +				#'3gpp_swx_APN-Configuration'{'Context-Identifier' = Context} ->
   					send_register(NextStateData),
  -					{next_state, profile, NextStateData, ?TIMEOUT};
  +					{next_state, profile,
  +							NextStateData#statedata{apn_context = Context}, ?TIMEOUT};
   				_Other ->
   					ResultCode = ?'DIAMETER_BASE_RESULT-CODE_AUTHORIZATION_REJECTED',
   					Reply = response(ResultCode, NextStateData),
  
positive.code: 		'Origin-Host' = HssHost, 'Origin-Realm' = HssRealm} = _Answer},
  		#statedata{from = Caller, session_id = SessionId,
  		pgw_host = PgwHost, pgw_realm = PgwRealm,
  		pgw_id = PGW, pgw_plmn = VPLMN,
  		imsi = IMSI, identity = Identity} = StateData) ->
  	error_logger:error_report(["Unexpected registration result",
  			{hss_host, HssHost}, {hss_realm, HssRealm},
  			{pgw_host, PgwHost}, {pgw_realm, PgwRealm},
  			{pgw_id, pgw_id(PGW)}, {pgw_plmn, VPLMN},
  			{imsi, IMSI}, {identity, Identity},
  			{session, SessionId}, {result, ResultCode1}]),
  	ResultCode2 = ?'DIAMETER_BASE_RESULT-CODE_UNABLE_TO_COMPLY',
  
negative.code: 	NewStateData = StateData#statedata{from = From, request = Request,
  			identity = Identity, imsi = IMSI,
  			pgw_host = PgwHost, pgw_realm = PgwRealm,
  			pgw_id = PGW, pgw_plmn = VPLMN, apn_name = APN},
  	F = fun() ->
  			mnesia:index_read(session, IMSI, #session.imsi)
  	end,
  