-module(pbx_acse). -include("ACSE-1.hrl"). -include("CSTA-application-context-information-csta3.hrl"). -export([associate/0, release/0]). -export([decode/1, dispatch/1]). associate() -> {ok, UI} = 'CSTA-application-context-information-csta3':encode( 'ACSEUserInformationForCSTA', {newDefinition, #'NewACSEUserInformationForCSTA'{cSTAVersion = [versionFive]}}), 'ACSE-1':encode('ACSE-apdu', {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}}]}}). release() -> 'ACSE-1':encode('ACSE-apdu', {rlrq, #'RLRQ-apdu'{}}). decode(Data) -> 'ACSE-1':decode('ACSE-apdu', Data). dispatch({aare, #'AARE-apdu'{result = accepted}}) -> ok; dispatch({aare, #'AARE-apdu'{}}) -> error; dispatch({rlre, _}) -> ok; dispatch({abrt, _}) -> error; dispatch({asn1_ExtAlt, Data}) -> {ok, Rose} = pbx_rose:decode(Data), pbx_rose:dispatch(Rose).