pespin has uploaded this change for review.

View Change

s6b: Trigger SAR towards MAP when receiving AAR from PGW

As described in 3GPP TS 29.273 9.1.2.2.3 mentioning procedure from clause 8.1.2.2.2
(SAR/SAA).

Change-Id: I7e0bf449ac6cae550a5934d9d518bb3f2bf64d5b
---
M src/aaa_diameter_s6b_cb.erl
1 file changed, 24 insertions(+), 4 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-epdg refs/changes/97/35697/1
diff --git a/src/aaa_diameter_s6b_cb.erl b/src/aaa_diameter_s6b_cb.erl
index 81757a9..8651383 100644
--- a/src/aaa_diameter_s6b_cb.erl
+++ b/src/aaa_diameter_s6b_cb.erl
@@ -49,6 +49,7 @@
lager:error("Request error: ~p~n", [Reason]),
?UNEXPECTED.

+% 3GPP TS 29.273 9.1.2.2
handle_request(#diameter_packet{msg = Req, errors = []}, _SvcName, {_, Caps}) when is_record(Req, 'AAR') ->
lager:info("S6b Rx from ~p: ~p~n", [Caps, Req]),
% extract relevant fields from DIAMETER AAR
@@ -56,13 +57,20 @@
#'AAR'{'Session-Id' = SessionId,
'Auth-Application-Id' = AuthAppId,
'Auth-Request-Type' = AuthReqType,
- 'User-Name' = _UserName} = Req,
+ 'User-Name' = UserName} = Req,
+ Result = aaa_diameter_swx:server_assignment_request(UserName, 1, "internet"),
+ case Result of
+ {ok, _} ->
+ ResultCode = 2001;
+ {error, _Err} ->
+ ResultCode = ?'RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED'
+ end,
Resp = #'AAA'{'Session-Id'=SessionId,
'Auth-Application-Id' = AuthAppId,
'Auth-Request-Type' = AuthReqType,
- 'Result-Code'=2001,
- 'Origin-Host'=OH,
- 'Origin-Realm'=OR},
+ 'Result-Code' = ResultCode,
+ 'Origin-Host' = OH,
+ 'Origin-Realm' = OR},
lager:info("S6b Tx to ~p: ~p~n", [Caps, Resp]),
{reply, Resp};


To view, visit change 35697. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: erlang/osmo-epdg
Gerrit-Branch: master
Gerrit-Change-Id: I7e0bf449ac6cae550a5934d9d518bb3f2bf64d5b
Gerrit-Change-Number: 35697
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-MessageType: newchange