lists.osmocom.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
List overview
Download
gerrit-log
February 2024
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
gerrit-log@lists.osmocom.org
1 participants
1748 discussions
Start a n
N
ew thread
[S] Change in ...osmo-epdg[master]: aaa_diameter_swx: Make tx timeout configurable and increase default t...
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36118?usp=email
) Change subject: aaa_diameter_swx: Make tx timeout configurable and increase default to 10 seconds ...................................................................... aaa_diameter_swx: Make tx timeout configurable and increase default to 10 seconds Change-Id: I52c993b92da9979761b0c1526b5f253dff9d2e2f --- M config/sys.config M src/aaa_diameter_swx.erl 2 files changed, 23 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/config/sys.config b/config/sys.config index 8ed5ca6..a40fd23 100755 --- a/config/sys.config +++ b/config/sys.config @@ -14,6 +14,7 @@ {dia_swx_watchdog_config, [{okay, 3}, {suspect, 1}]}, + {dia_swx_transmit_timer, 10000}, {dia_swx_vendor_id, 0}, {dia_swx_origin_host, "epdg.localdomain"}, {dia_swx_origin_realm, "localdomain"}, diff --git a/src/aaa_diameter_swx.erl b/src/aaa_diameter_swx.erl index c623b3e..be301f2 100644 --- a/src/aaa_diameter_swx.erl +++ b/src/aaa_diameter_swx.erl @@ -71,6 +71,7 @@ -define(ENV_DEFAULT_DIAMETER_CONNECT_TIMER_MS, 30000). -define(ENV_DEFAULT_DIAMETER_WATCHDOG_TIMER_MS, 30000). -define(ENV_DEFAULT_DIAMETER_WATCHDOG_CFG, [{okay, 3}, {suspect, 1}]). +-define(ENV_DEFAULT_DIAMETER_TRANSMIT_TIMER_MS, 10000). -define(VENDOR_ID_3GPP, 10415). -define(VENDOR_ID_3GPP2, 5535). @@ -96,7 +97,8 @@ {module, ?CALLBACK_MOD}, {answer_errors, callback}]}]). --record(state, { +-record(swx_state, { + tx_timeout :: non_neg_integer(), handlers, peers = #{} }). @@ -121,17 +123,18 @@ gen_server:cast(?SERVER, {peer_down, SvcName, Peer}), ok. -init(State) -> +init([]) -> Proto = application:get_env(?ENV_APP_NAME, dia_swx_proto, ?ENV_DEFAULT_DIAMETER_PROTO), Ip = application:get_env(?ENV_APP_NAME, dia_swx_remote_ip, ?ENV_DEFAULT_DIAMETER_REMOTE_IP), Port = application:get_env(?ENV_APP_NAME, dia_swx_remote_port, ?ENV_DEFAULT_DIAMETER_REMOTE_PORT), ConnectTimer = application:get_env(?ENV_APP_NAME, dia_swx_connect_timer, ?ENV_DEFAULT_DIAMETER_CONNECT_TIMER_MS), WatchdogTimer = application:get_env(?ENV_APP_NAME, dia_swx_watchdog_timer, ?ENV_DEFAULT_DIAMETER_WATCHDOG_TIMER_MS), WatchdogConfig = application:get_env(?ENV_APP_NAME, dia_swx_watchdog_config, ?ENV_DEFAULT_DIAMETER_WATCHDOG_CFG), + TxTimer = application:get_env(?ENV_APP_NAME, dia_swx_transmit_timer, ?ENV_DEFAULT_DIAMETER_TRANSMIT_TIMER_MS), ok = diameter:start_service(?MODULE, ?SERVICE), % lager:info("DiaServices is ~p~n", [DiaServ]), {ok, _} = connect({address, Proto, Ip, Port}, {timer, ConnectTimer, WatchdogTimer, WatchdogConfig}), - {ok, State}. + {ok, #swx_state{tx_timeout = TxTimer}}. test() -> test("001011234567890"). @@ -223,7 +226,7 @@ 'RAT-Type' = RAT }, lager:debug("Swx Tx MAR: ~p~n", [MAR]), - Ret = diameter:call(?SVC_NAME, ?APP_ALIAS, MAR, [{extra, [Pid]}, detach]), + Ret = diameter_call(MAR, Pid, State), case Ret of ok -> {reply, ok, State}; @@ -244,7 +247,7 @@ 'Server-Assignment-Type' = Type, 'Service-Selection' = [APN] }, - Ret = diameter:call(?SVC_NAME, ?APP_ALIAS, SAR, [{extra, [Pid]}, detach]), + Ret = diameter_call(SAR, Pid, State), case Ret of ok -> {reply, ok, State}; @@ -306,4 +309,9 @@ tmod(sctp) -> diameter_sctp. +diameter_call(Msg, Pid, State) -> + diameter:call(?SVC_NAME, ?APP_ALIAS, Msg, [{extra, [Pid]}, + {timeout, State#swx_state.tx_timeout}, + detach]). + -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36118?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I52c993b92da9979761b0c1526b5f253dff9d2e2f Gerrit-Change-Number: 36118 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: epdg_ue_fsm.erl: Log unexpected event
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36120?usp=email
) Change subject: epdg_ue_fsm.erl: Log unexpected event ...................................................................... epdg_ue_fsm.erl: Log unexpected event Change-Id: If5a9298296df07555e79fd61e1f7b948b9a1dd15 --- M src/epdg_ue_fsm.erl 1 file changed, 17 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/epdg_ue_fsm.erl b/src/epdg_ue_fsm.erl index 94f2a39..291df26 100644 --- a/src/epdg_ue_fsm.erl +++ b/src/epdg_ue_fsm.erl @@ -267,12 +267,12 @@ Data1 = Data#ue_fsm_data{tear_down_gsup_needed = false}, {next_state, state_wait_swm_session_termination_answer, Data1, [{reply,From,ok}]}; -state_authenticated({call, From}, _Whatever, Data) -> - lager:error("ue_fsm state_authenticated: Unexpected call event, ~p~n", [Data]), +state_authenticated({call, From}, Event, Data) -> + lager:error("ue_fsm state_authenticated: Unexpected call event ~p, ~p~n", [Event, Data]), {keep_state, Data, [{reply,From,ok}]}; -state_authenticated(cast, _Whatever, Data) -> - lager:error("ue_fsm state_authenticated: Unexpected cast event, ~p~n", [Data]), +state_authenticated(cast, Event, Data) -> + lager:error("ue_fsm state_authenticated: Unexpected cast event ~p, ~p~n", [Event, Data]), {keep_state, Data}. state_wait_create_session_resp(enter, _OldState, Data) -> @@ -334,12 +334,12 @@ Data1 = Data#ue_fsm_data{tun_pdp_ctx = undefined, tear_down_gsup_needed = false}, {next_state, state_wait_swm_session_termination_answer, Data1, [{reply,From,ok}]}; -state_active({call, From}, _Whatever, Data) -> - lager:error("ue_fsm state_active: Unexpected call event, ~p~n", [Data]), +state_active({call, From}, Event, Data) -> + lager:error("ue_fsm state_active: Unexpected call event ~p, ~p~n", [Event, Data]), {keep_state, Data, [{reply,From,ok}]}; -state_active(cast, _Whatever, Data) -> - lager:error("ue_fsm state_active: Unexpected cast event, ~p~n", [Data]), +state_active(cast, Event, Data) -> + lager:error("ue_fsm state_active: Unexpected cast event ~p, ~p~n", [Event, Data]), {keep_state, Data}. state_wait_delete_session_resp(enter, _OldState, Data) -> -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36120?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: If5a9298296df07555e79fd61e1f7b948b9a1dd15 Gerrit-Change-Number: 36120 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: aaa_diameter_swx_cb.erl: Fix undef handle_error/5
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36117?usp=email
) Change subject: aaa_diameter_swx_cb.erl: Fix undef handle_error/5 ...................................................................... aaa_diameter_swx_cb.erl: Fix undef handle_error/5 We are passing extra parameters, so this function also needs to be adapted to the extra parameter, like handle_answer. Change-Id: Id66b849f62a98c4ae69ccd4106bc04b51712c589 --- M src/aaa_diameter_swx_cb.erl 1 file changed, 19 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/aaa_diameter_swx_cb.erl b/src/aaa_diameter_swx_cb.erl index 472f1d4..bf4a79e 100644 --- a/src/aaa_diameter_swx_cb.erl +++ b/src/aaa_diameter_swx_cb.erl @@ -9,7 +9,7 @@ %% diameter callbacks -export([peer_up/3, peer_down/3, pick_peer/4, pick_peer/5, prepare_request/3, prepare_request/4, prepare_retransmit/3, prepare_retransmit/4, - handle_answer/4, handle_answer/5, handle_error/4, handle_request/3]). + handle_answer/4, handle_answer/5, handle_error/4, handle_error/5, handle_request/3]). %% peer_up/3 peer_up(_SvcName, Peer, State) -> @@ -88,10 +88,14 @@ %% handle_error/4 handle_error(Reason, Request, _SvcName, _Peer) when is_list(Request) -> - lager:error("error: ~p~n", [Reason]), + lager:error("SWx error: ~p~n", [Reason]), {error, Reason}; handle_error(Reason, _Request, _SvcName, _Peer) -> - lager:error("error: ~p~n", [Reason]), + lager:error("SWx error: ~p~n", [Reason]), + {error, Reason}. +%% handle_error/5 +handle_error(Reason, _Request, _SvcName, _Peer, ExtraPars) -> + lager:error("SWx error: ~p, ExtraPars: ~p~n", [Reason, ExtraPars]), {error, Reason}. %% handle_request/3 -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36117?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: Id66b849f62a98c4ae69ccd4106bc04b51712c589 Gerrit-Change-Number: 36117 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: epdg_ue_fsm: Increase timeout waiting for gtp response
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36116?usp=email
) Change subject: epdg_ue_fsm: Increase timeout waiting for gtp response ...................................................................... epdg_ue_fsm: Increase timeout waiting for gtp response Answers can take a while specially during CreateSession, where several nodes are involved, like PGW, AAA, HSS, PCRF, etc. Change-Id: I3c8e7c7551bb3d48c46c0195c02cb44ce222a17f --- M src/epdg_ue_fsm.erl 1 file changed, 15 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/epdg_ue_fsm.erl b/src/epdg_ue_fsm.erl index 439cb3f..94f2a39 100644 --- a/src/epdg_ue_fsm.erl +++ b/src/epdg_ue_fsm.erl @@ -49,6 +49,8 @@ state_wait_create_session_resp/3, state_wait_delete_session_resp/3, state_wait_swm_session_termination_answer/3, state_active/3]). +-define(TIMEOUT_VAL_WAIT_GTP_ANSWER, 10000). + -record(ue_fsm_data, { imsi, apn = "internet" :: string(), @@ -274,7 +276,7 @@ {keep_state, Data}. state_wait_create_session_resp(enter, _OldState, Data) -> - {keep_state, Data, [{state_timeout,5000,create_session_timeout}]}; + {keep_state, Data, [{state_timeout,?TIMEOUT_VAL_WAIT_GTP_ANSWER,create_session_timeout}]}; state_wait_create_session_resp({call, From}, {received_gtpc_create_session_response, Result}, Data) -> lager:info("ue_fsm state_authenticated event=received_gtpc_create_session_response, ~p~n", [Data]), -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36116?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I3c8e7c7551bb3d48c46c0195c02cb44ce222a17f Gerrit-Change-Number: 36116 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 4 months
1
0
0
0
[M] Change in ...osmo-epdg[master]: s2b: Handle CreateSession with failed Cause
by pespin
pespin has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36112?usp=email
) Change subject: s2b: Handle CreateSession with failed Cause ...................................................................... s2b: Handle CreateSession with failed Cause Related: OS#6371 Change-Id: I7bc840e863c0a1eff3b1df2c42f6b1868dec8dae --- M src/epdg_gtpc_s2b.erl M src/epdg_ue_fsm.erl M src/gsup_server.erl M src/gtp_utils.erl 4 files changed, 89 insertions(+), 49 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/epdg_gtpc_s2b.erl b/src/epdg_gtpc_s2b.erl index cef9bab..b0a34bd 100644 --- a/src/epdg_gtpc_s2b.erl +++ b/src/epdg_gtpc_s2b.erl @@ -389,46 +389,13 @@ {noreply, State0}; Sess0 -> % Do GTP specific msg parsing here, pass only relevant fields: - #{{v2_fully_qualified_tunnel_endpoint_identifier,1} := - #v2_fully_qualified_tunnel_endpoint_identifier{ - interface_type = 32, %% "S2b PGW GTP-C" - key = RemoteTEIC, ipv4 = _IPc4, ipv6 = _IPc6}, - {v2_pdn_address_allocation,0} := Paa, - {v2_bearer_context,0} := #v2_bearer_context{instance = 0, group = BearerIE}} = Resp#gtp.ie, - % Parse BearerContext: - #{{v2_eps_bearer_id,0} := #v2_eps_bearer_id{instance = 0, eps_bearer_id = Ebi}, - {v2_fully_qualified_tunnel_endpoint_identifier,4} := - #v2_fully_qualified_tunnel_endpoint_identifier{ - interface_type = 33, %% "S2b-U PGW GTP-U" - key = RemoteTEID, ipv4 = IPu4, ipv6 = IPu6} - } = BearerIE, - Bearer = gtp_session_find_bearer_by_ebi(Sess0, Ebi), - Sess1 = gtp_session_update_bearer(Sess0, Bearer, Bearer#gtp_bearer{remote_data_tei = RemoteTEID}), - Sess2 = Sess1#gtp_session{remote_control_tei = RemoteTEIC}, - lager:info("s2b: Updated Session after create_session_response: ~p~n", [Sess2]), - State1 = update_gtp_session(Sess0, Sess2, State0), - case maps:find({v2_additional_protocol_configuration_options,0}, Resp#gtp.ie) of - {ok, APCO_dec} -> - lager:debug("s2b: APCO_dec: ~p~n", [APCO_dec]), - APCO = gtp_packet:encode_protocol_config_opts(APCO_dec#v2_additional_protocol_configuration_options.config); - error -> - lager:notice("s2b: APCO not found in CreateSessionResp!~n", []), - APCO = undefined - end, - ResInfo0 = #{ - apn => binary_to_list(Sess0#gtp_session.apn), - eua => conv:gtp2_paa_to_epdg_eua(Paa), - local_teid => Bearer#gtp_bearer.local_data_tei, - remote_teid => RemoteTEID, - remote_ipv4 => IPu4, - remote_ipv6 => IPu6 - }, - case APCO of - undefined -> ResInfo = ResInfo0; - _ -> ResInfo = maps:put(apco, APCO, ResInfo0) - end, - epdg_ue_fsm:received_gtpc_create_session_response(Sess0#gtp_session.pid, {ok, ResInfo}), - {noreply, State1} + % First lookup Cause: + #{{v2_cause,0} := #v2_cause{instance = 0, v2_cause = GtpCauseAtom}} = Resp#gtp.ie, + GtpCause = gtp_utils:enum_v2_cause(GtpCauseAtom), + case gtp_utils:v2_cause_successful(GtpCause) of + true -> rx_gtp_create_session_response_successful(Resp, Sess0, State0); + false -> rx_gtp_create_session_response_failure(GtpCause, Sess0, State0) + end end; rx_gtp(Resp = #gtp{version = v2, type = delete_session_response}, State0) -> @@ -487,6 +454,54 @@ lager:error("S2b: UNIMPLEMENTED Rx: ~p~n", [Req]), {noreply, State}. + +rx_gtp_create_session_response_successful(Resp, Sess0, State0) -> + #{{v2_fully_qualified_tunnel_endpoint_identifier,1} := + #v2_fully_qualified_tunnel_endpoint_identifier{ + interface_type = 32, %% "S2b PGW GTP-C" + key = RemoteTEIC, ipv4 = _IPc4, ipv6 = _IPc6}, + {v2_pdn_address_allocation,0} := Paa, + {v2_bearer_context,0} := #v2_bearer_context{instance = 0, group = BearerIE}} = Resp#gtp.ie, + % Parse BearerContext: + #{{v2_eps_bearer_id,0} := #v2_eps_bearer_id{instance = 0, eps_bearer_id = Ebi}, + {v2_fully_qualified_tunnel_endpoint_identifier,4} := + #v2_fully_qualified_tunnel_endpoint_identifier{ + interface_type = 33, %% "S2b-U PGW GTP-U" + key = RemoteTEID, ipv4 = IPu4, ipv6 = IPu6} + } = BearerIE, + Bearer = gtp_session_find_bearer_by_ebi(Sess0, Ebi), + Sess1 = gtp_session_update_bearer(Sess0, Bearer, Bearer#gtp_bearer{remote_data_tei = RemoteTEID}), + Sess2 = Sess1#gtp_session{remote_control_tei = RemoteTEIC}, + lager:info("s2b: Updated Session after create_session_response: ~p~n", [Sess2]), + State1 = update_gtp_session(Sess0, Sess2, State0), + case maps:find({v2_additional_protocol_configuration_options,0}, Resp#gtp.ie) of + {ok, APCO_dec} -> + lager:debug("s2b: APCO_dec: ~p~n", [APCO_dec]), + APCO = gtp_packet:encode_protocol_config_opts(APCO_dec#v2_additional_protocol_configuration_options.config); + error -> + lager:notice("s2b: APCO not found in CreateSessionResp!~n", []), + APCO = undefined + end, + ResInfo0 = #{ + apn => binary_to_list(Sess0#gtp_session.apn), + eua => conv:gtp2_paa_to_epdg_eua(Paa), + local_teid => Bearer#gtp_bearer.local_data_tei, + remote_teid => RemoteTEID, + remote_ipv4 => IPu4, + remote_ipv6 => IPu6 + }, + case APCO of + undefined -> ResInfo = ResInfo0; + _ -> ResInfo = maps:put(apco, APCO, ResInfo0) + end, + epdg_ue_fsm:received_gtpc_create_session_response(Sess0#gtp_session.pid, {ok, ResInfo}), + {noreply, State1}. + +rx_gtp_create_session_response_failure(GtpCause, Sess, State0) -> + epdg_ue_fsm:received_gtpc_create_session_response(Sess#gtp_session.pid, {error, GtpCause}), + State1 = delete_gtp_session(Sess, State0), + {noreply, State1}. + tx_gtp(Req, State) -> lager:info("s2b: Tx ~p~n", [Req]), Msg = gtp_packet:encode(Req), diff --git a/src/epdg_ue_fsm.erl b/src/epdg_ue_fsm.erl index cf4d280..439cb3f 100644 --- a/src/epdg_ue_fsm.erl +++ b/src/epdg_ue_fsm.erl @@ -36,6 +36,7 @@ -include_lib("osmo_gsup/include/gsup_protocol.hrl"). -include_lib("gtplib/include/gtp_packet.hrl"). +-include_lib("gtp_utils.hrl"). -include("conv.hrl"). -export([start_link/1, stop/1]). @@ -288,11 +289,14 @@ eua = EUA, peer_addr = RemoteIPv4}, Ret = gtp_u_tun:create_pdp_context(TunPdpCtx), lager:debug("gtp_u_tun:create_pdp_context(~p) returned ~p~n", [ResInfo, Ret]), - Data1 = Data#ue_fsm_data{tun_pdp_ctx = TunPdpCtx}; - _ -> Data1 = Data - end, - gsup_server:tunnel_response(Data1#ue_fsm_data.imsi, Result), - {next_state, state_active, Data1, [{reply,From,ok}]}; + Data1 = Data#ue_fsm_data{tun_pdp_ctx = TunPdpCtx}, + gsup_server:tunnel_response(Data1#ue_fsm_data.imsi, Result), + {next_state, state_active, Data1, [{reply,From,ok}]}; + {error, GtpCause} -> + GsupCause = conv:cause_gtp2gsup(GtpCause), + gsup_server:tunnel_response(Data#ue_fsm_data.imsi, {error, GsupCause}), + {next_state, state_authenticated, Data, [{reply,From,ok}]} + end; state_wait_create_session_resp({call, From}, Event, Data) -> lager:error("ue_fsm state_wait_delete_session_resp: Unexpected call event ~p, ~p~n", [Event, Data]), @@ -300,7 +304,7 @@ state_wait_create_session_resp(state_timeout, create_session_timeout, Data) -> lager:error("ue_fsm state_wait_create_session_resp: Timeout ~p, ~p~n", [create_session_timeout, Data]), - gsup_server:tunnel_response(Data#ue_fsm_data.imsi, {error, create_session_timeout}), + gsup_server:tunnel_response(Data#ue_fsm_data.imsi, {error, ?GSUP_CAUSE_CONGESTION}), {next_state, state_authenticated, Data}. state_active(enter, _OldState, Data) -> diff --git a/src/gsup_server.erl b/src/gsup_server.erl index 1e5173e..3b69849 100644 --- a/src/gsup_server.erl +++ b/src/gsup_server.erl @@ -171,11 +171,11 @@ {ok, APCO} -> Resp = maps:put(pco, APCO, Resp0); error -> Resp = Resp0 end; - {error, _} -> + {error, GsupCause} -> Resp = #{message_type => epdg_tunnel_error, imsi => Imsi, message_class => 5, - cause => ?GSUP_CAUSE_NET_FAIL + cause => GsupCause } end, tx_gsup(Socket, Resp), diff --git a/src/gtp_utils.erl b/src/gtp_utils.erl index 6098da2..0cca8d2 100644 --- a/src/gtp_utils.erl +++ b/src/gtp_utils.erl @@ -35,7 +35,9 @@ -module(gtp_utils). -author('Alexander Couzens <lynxis(a)fe80.eu>'). --export([plmn_to_bin/3, enum_v2_cause/1]). +-include_lib("gtp_utils.hrl"). + +-export([plmn_to_bin/3, enum_v2_cause/1, v2_cause_successful/1]). % ergw/apps/ergw/test/*.erl @@ -125,3 +127,12 @@ enum_v2_cause(request_rejected_due_to_ue_capability) -> 127; enum_v2_cause(s1_u_path_failure) -> 128; enum_v2_cause('5gc_not_allowed') -> 129. + + +-spec v2_cause_successful(integer()) -> boolean(). + +v2_cause_successful(GtpCauseInt) -> + GtpCauseInt == ?GTP2_CAUSE_REQUEST_ACCEPTED orelse + GtpCauseInt == ?GTP2_CAUSE_REQUEST_ACCEPTED_PARTIALLY orelse + GtpCauseInt == ?GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_NETWORK_PREFERENCE orelse + GtpCauseInt == ?GTP2_CAUSE_NEW_PDN_TYPE_DUE_TO_SINGLE_ADDRESS_BEARER_ONLY. -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36112?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I7bc840e863c0a1eff3b1df2c42f6b1868dec8dae Gerrit-Change-Number: 36112 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: epdg_ue_fsm.erl: Log unexpected event
by pespin
pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36120?usp=email
) Change subject: epdg_ue_fsm.erl: Log unexpected event ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36120?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: If5a9298296df07555e79fd61e1f7b948b9a1dd15 Gerrit-Change-Number: 36120 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 29 Feb 2024 13:14:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: aaa_diameter_swx: Make tx timeout configurable and increase default t...
by pespin
pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36118?usp=email
) Change subject: aaa_diameter_swx: Make tx timeout configurable and increase default to 10 seconds ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36118?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I52c993b92da9979761b0c1526b5f253dff9d2e2f Gerrit-Change-Number: 36118 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 29 Feb 2024 13:13:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: aaa_diameter_swx_cb.erl: Fix undef handle_error/5
by pespin
pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36117?usp=email
) Change subject: aaa_diameter_swx_cb.erl: Fix undef handle_error/5 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36117?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: Id66b849f62a98c4ae69ccd4106bc04b51712c589 Gerrit-Change-Number: 36117 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 29 Feb 2024 13:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 4 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: epdg_ue_fsm: Increase timeout waiting for gtp response
by pespin
pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36116?usp=email
) Change subject: epdg_ue_fsm: Increase timeout waiting for gtp response ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36116?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I3c8e7c7551bb3d48c46c0195c02cb44ce222a17f Gerrit-Change-Number: 36116 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 29 Feb 2024 13:13:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 4 months
1
0
0
0
[M] Change in ...osmo-epdg[master]: s2b: Handle CreateSession with failed Cause
by pespin
Attention is currently required from: fixeria, lynxis lazus. pespin has posted comments on this change. (
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36112?usp=email
) Change subject: s2b: Handle CreateSession with failed Cause ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36112?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I7bc840e863c0a1eff3b1df2c42f6b1868dec8dae Gerrit-Change-Number: 36112 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu> Gerrit-Comment-Date: Thu, 29 Feb 2024 13:13:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 year, 4 months
1
0
0
0
← Newer
1
2
3
4
5
6
7
...
175
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
Results per page:
10
25
50
100
200