summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-10-23 12:44:57 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-10-23 12:44:57 +0200
commit5880de897dd985da905073fa2cfe3a2f2a79d6ec (patch)
tree40ed673f7fa8d8381990202daa520157dcb76dd1
parentc1d3a646353b7cbd8c79e6bdf3777a25d1c87a39 (diff)
Add rejected
-rw-r--r--tda.erl26
1 files changed, 20 insertions, 6 deletions
diff --git a/tda.erl b/tda.erl
index 948f75e..04a2487 100644
--- a/tda.erl
+++ b/tda.erl
@@ -17,14 +17,28 @@ associate_request() ->
}]},
'ACSE-1':encode('AARQ-apdu', Pdu).
-%Bin = <<97,47,128,2,7,128,161,7,6,5,43,12,0,129,90,162,3,2,1,0,163,5,161,3,2,1,1,190,20,40,18,6,7,43,12,0,130,29,129,72,160,7,160,5,3,3,0,8,0>>,
+% Accept
+% <<97,47,128,2,7,128,161,7,6,5,43,12,0,129,90,162,3,2,1,0,163,5,161,3,2,1,1,190,20,40,18,6,7,43,12,0,130,29,129,72,160,7,160,5,3,3,0,8,0>>
+% Reject
+% <<97,25,128,2,7,128,161,7,6,5,43,12,0,129,90,162,3,2,1,1,163,5,161,3,2,1,1>>
associate_result(Bin) ->
{ok, Pdu} = 'ACSE-1':decode('AARE-apdu', Bin),
- [UI] = Pdu#'AARE-apdu'.'user-information',
- {_, Enc} = UI#'EXTERNAL'.encoding,
- {ok, {_, Ver}} = 'CSTA-application-context-information-csta3':decode(
- 'ACSEUserInformationForCSTA', Enc),
- {Pdu#'AARE-apdu'.result, Ver#'NewACSEUserInformationForCSTA'.cSTAVersion}.
+ case Pdu#'AARE-apdu'.result of
+ accepted ->
+ [UI] = Pdu#'AARE-apdu'.'user-information',
+ {_, Enc} = UI#'EXTERNAL'.encoding,
+ {ok, {_, Ver}} = 'CSTA-application-context-information-csta3':decode(
+ 'ACSEUserInformationForCSTA', Enc),
+ {Pdu#'AARE-apdu'.result,
+ Pdu#'AARE-apdu'.'result-source-diagnostic',
+ Ver#'NewACSEUserInformationForCSTA'.cSTAVersion};
+ 'rejected-permanent' ->
+ {Pdu#'AARE-apdu'.result,
+ Pdu#'AARE-apdu'.'result-source-diagnostic'};
+ 'rejected-transient' ->
+ {Pdu#'AARE-apdu'.result,
+ Pdu#'AARE-apdu'.'result-source-diagnostic'}
+ end.
release_request() ->
'ACSE-1':encode('RLRQ-apdu', #'RLRQ-apdu'{}).