-module(pbx_acse). -include("ACSE-1.hrl"). -include("CSTA-application-context-information-csta3.hrl"). -export([encode/1, decode/1]). encode(userinformation) -> 'CSTA-application-context-information-csta3':encode( 'ACSEUserInformationForCSTA', {newDefinition, #'NewACSEUserInformationForCSTA'{cSTAVersion = [versionFive]}}); encode(associate) -> {ok, UI} = encode(userinformation), AARQ = {aarq, #'AARQ-apdu'{ 'protocol-version' = [version1], % required 'application-context-name' = {1, 3, 12, 0, 218}, 'user-information' = [#'EXTERNAL'{ 'direct-reference' = {1, 3, 12, 0, 285, 200}, encoding = {'single-ASN1-type', UI}}]}}, encode(AARQ); encode(release) -> RLRQ = {rlrq, #'RLRQ-apdu'{}}, encode(RLRQ); encode(Data) -> 'ACSE-1':encode('ACSE-apdu', Data). decode({aare, #'AARE-apdu'{result = accepted}}) -> ok; decode({aare, #'AARE-apdu'{}}) -> error; decode({rlre, _}) -> ok; decode({abrt, _}) -> error; decode({asn1_ExtAlt, Data}) -> pbx_rose:decode(Data); decode(Data) -> {ok, Pdu} = 'ACSE-1':decode('ACSE-apdu', Data), decode(Pdu).