summaryrefslogtreecommitdiff
path: root/tda.erl
blob: 6bf486d292afa66281f79b8ce42790aaab3cec2d (plain)
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
-module(tda).
-export([associate_request/0, associate_result/1]).
-include("ACSE-1.hrl").
-include("CSTA-application-context-information-csta3.hrl").

associate_request() ->
	Ver = {newDefinition, #'NewACSEUserInformationForCSTA'{
				 cSTAVersion = [versionFive]}},
	{ok, Enc} = 'CSTA-application-context-information-csta3':encode(
		'ACSEUserInformationForCSTA', Ver),
	Pdu = #'AARQ-apdu'{'application-context-name' = {1, 3, 12, 0, 218},
		'user-information' = [#'EXTERNAL'{
			'direct-reference' = {1, 3, 12, 0, 285, 200},
			encoding = {'single-ASN1-type', Enc}
		}]},
	'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>>,
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}.