forked from erlang/signerl
various small fixes in order to make MAP code build
This commit is contained in:
parent
ce61e7f36c
commit
f512ff7caa
|
@ -56,11 +56,10 @@
|
||||||
start_timer/2, cancel_timer/1]).
|
start_timer/2, cancel_timer/1]).
|
||||||
|
|
||||||
%% export the gen_fsm state handler call backs
|
%% export the gen_fsm state handler call backs
|
||||||
-export([statename/2, statename/3]).
|
%-export([statename/2, statename/3]).
|
||||||
|
|
||||||
%% export the gen_fsm common call backs
|
%% export the gen_fsm common call backs
|
||||||
-export([init/1, handle_event/3, handle_sync_event/4,
|
-export([init/1, terminate/3, code_change/4]).
|
||||||
handle_info/3, terminate/3, code_change/4]).
|
|
||||||
|
|
||||||
%% define what callbacks users must export
|
%% define what callbacks users must export
|
||||||
%%
|
%%
|
||||||
|
@ -71,18 +70,18 @@ behaviour_info(Other) ->
|
||||||
gen_fsm:behaviour_info(Other).
|
gen_fsm:behaviour_info(Other).
|
||||||
|
|
||||||
%% include record definitions for TC service primitives
|
%% include record definitions for TC service primitives
|
||||||
-include("tcap.hrl").
|
-include_lib("tcap/include/tcap.hrl").
|
||||||
%% include record definitions for MAP service primitives
|
%% include record definitions for MAP service primitives
|
||||||
-include("map.hrl").
|
-include_lib("map/include/map.hrl").
|
||||||
|
|
||||||
%% StateData record definition
|
%% StateData record definition
|
||||||
-record(state, {module, ext_statename, ext_statedata
|
-record(state, {module, ext_statename, ext_statedata,
|
||||||
applicaton_context, requests = [],
|
applicaton_context, requests = [],
|
||||||
% @reference 3GPP TS 2902 Figure 15.6/3a: Process Secure_MAP_DSM (sheet 1) DCL
|
% @reference 3GPP TS 2902 Figure 15.6/3a: Process Secure_MAP_DSM (sheet 1) DCL
|
||||||
secure_transport_required, components_present, ac_name_unchanged,
|
secure_transport_required, components_present, ac_name_unchanged,
|
||||||
encapsulated_ac_name_unchanged, ac_included, ac_supported,
|
encapsulated_ac_name_unchanged, ac_included, ac_supported,
|
||||||
invoke_id_active, last_component, operation_exists,
|
invoke_id_active, last_component, operation_exists,
|
||||||
alternative_name_exists, user_info_included, op_code).
|
alternative_name_exists, user_info_included, op_code}).
|
||||||
|
|
||||||
|
|
||||||
%%----------------------------------------------------------------------
|
%%----------------------------------------------------------------------
|
||||||
|
@ -181,27 +180,27 @@ init([Module, Args]) ->
|
||||||
%
|
%
|
||||||
idle({'MAP', 'OPEN', request, Open} = Event, StateData) ->
|
idle({'MAP', 'OPEN', request, Open} = Event, StateData) ->
|
||||||
AC = Open#'MAP-OPEN'.application_context_name,
|
AC = Open#'MAP-OPEN'.application_context_name,
|
||||||
AC_PDU = Open#'MAP-OPEN'.specific_information),
|
AC_PDU = Open#'MAP-OPEN'.specific_information,
|
||||||
% secure transport required? -- according to the AC and the identity of responder
|
% secure transport required? -- according to the AC and the identity of responder
|
||||||
case secure_transport_required(AC, AC_PDU) of
|
case secure_transport_required(AC, AC_PDU) of
|
||||||
% true
|
% true
|
||||||
true ->
|
true ->
|
||||||
% set AC: Secure_Transport
|
% set AC: Secure_Transport
|
||||||
% build encapsulated AC PDU
|
% build encapsulated AC PDU
|
||||||
NewStateData = build_encapsulated_ac_pdu(AC, AC_PDU)},
|
NewStateData = build_encapsulated_ac_pdu(AC, AC_PDU),
|
||||||
{next_state, wait_for_user_requests, NewStateData#state{secure_transport_required = true}};
|
{next_state, wait_for_user_requests, NewStateData#state{secure_transport_required = true}};
|
||||||
% false
|
% false
|
||||||
false ->
|
false ->
|
||||||
% store AC and user data
|
% store AC and user data
|
||||||
NewStateData = StateData#state{application_context = AC, user_data = AC_PDU},
|
NewStateData = StateData#state{application_context = AC, user_data = AC_PDU},
|
||||||
{next_state, wait_for_user_requests, StateData#state{secure_transport_required = false}};
|
{next_state, wait_for_user_requests, StateData#state{secure_transport_required = false}}
|
||||||
end;
|
end;
|
||||||
% @reference 3GPP TS 29.002 Figure 15.6/3j: Process_Secure_MAP_DSM (sheet 10)
|
% @reference 3GPP TS 29.002 Figure 15.6/3j: Process_Secure_MAP_DSM (sheet 10)
|
||||||
idle({'TC', 'BEGIN', indication, #'TR-BEGIN'{userInfo = undefined, componentsPresent = true}, StateData) ->
|
idle({'TC', 'BEGIN', indication, #'TR-BEGIN'{userInfo = undefined, componentsPresent = true}}, StateData) ->
|
||||||
% AC included? (false)
|
% AC included? (false)
|
||||||
% components present? (true)
|
% components present? (true)
|
||||||
{next_state, wait_for_init_data, StateData};
|
{next_state, wait_for_init_data, StateData};
|
||||||
idle({'TC', 'BEGIN', indication, Begin#'TR-BEGIN'{userInfo = AC}, StateData) ->
|
idle({'TC', 'BEGIN', indication, Begin#'TR-BEGIN'{userInfo = AC}}, StateData) ->
|
||||||
% AC included? (true)
|
% AC included? (true)
|
||||||
% AC version = 1? (true)
|
% AC version = 1? (true)
|
||||||
% TODO: the rest of it!
|
% TODO: the rest of it!
|
||||||
|
@ -250,9 +249,9 @@ wait_for_user_requests({'MAP', 'U-ABORT', request, Parms} = Event, StateData) ->
|
||||||
% Terminated_VIA_Intern2
|
% Terminated_VIA_Intern2
|
||||||
{next_state, idle, StateData};
|
{next_state, idle, StateData};
|
||||||
% any MAP specific request primitive
|
% any MAP specific request primitive
|
||||||
wait_for_user_requests({'MAP', MapSpecificRequest, request, Parms} = Event, StateData) ->
|
%wait_for_user_requests({'MAP', MapSpecificRequest, request, Parms} = Event, StateData) ->
|
||||||
% secure transport required?
|
% secure transport required?
|
||||||
case StateData#state.secure_transport_required of
|
% case StateData#state.secure_transport_required of
|
||||||
% true
|
% true
|
||||||
% store request
|
% store request
|
||||||
% spawn Secure_Requesting_MAP_SSM
|
% spawn Secure_Requesting_MAP_SSM
|
||||||
|
@ -260,7 +259,7 @@ wait_for_user_requests({'MAP', MapSpecificRequest, request, Parms} = Event, Stat
|
||||||
% false
|
% false
|
||||||
% spawn Requesting_MAP_SSM
|
% spawn Requesting_MAP_SSM
|
||||||
% Service_Invoked_VIA_Intern2
|
% Service_Invoked_VIA_Intern2
|
||||||
{next_state, wait_for_user_requests, StateData};
|
% {next_state, wait_for_user_requests, StateData};
|
||||||
% forward unrecognized events to user callback module
|
% forward unrecognized events to user callback module
|
||||||
wait_for_user_requests(Event, StateData) ->
|
wait_for_user_requests(Event, StateData) ->
|
||||||
Module = StateData#state.module,
|
Module = StateData#state.module,
|
||||||
|
@ -639,7 +638,7 @@ handle_info(Event, Statename, StateData) ->
|
||||||
Module = StateData#state.module,
|
Module = StateData#state.module,
|
||||||
ExtStateName = StateData#state.ext_statename,
|
ExtStateName = StateData#state.ext_statename,
|
||||||
ExtStateData = StateData#state.ext_statedata,
|
ExtStateData = StateData#state.ext_statedata,
|
||||||
case Module:handle_info(Event, ExtStateName, StateData#state.ext_statedata of
|
case Module:handle_info(Event, ExtStateName, StateData#state.ext_statedata) of
|
||||||
{next_state, NextExtStateName, NewExtStateData} ->
|
{next_state, NextExtStateName, NewExtStateData} ->
|
||||||
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
NewStateData = StateData#state{ext_statename = NextExtStateName, ext_statedata = NewExtStateData},
|
||||||
{next_state, StateName, NewStateData};
|
{next_state, StateName, NewStateData};
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
%% our published API functions
|
%% our published API functions
|
||||||
-export([start/0, stop/0]).
|
-export([start/0, stop/0]).
|
||||||
-export([open/3, close/1]).
|
-export([open/3, close/1]).
|
||||||
-export([start_dialogue/3]).
|
%-export([start_dialogue/3]).
|
||||||
|
|
||||||
|
|
||||||
%% @type map_options(). MAP layer options
|
%% @type map_options(). MAP layer options
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
%%%
|
%%%
|
||||||
%%% @private
|
%%% @private
|
||||||
|
|
||||||
-module(tcap_pm_sup).
|
-module(map_pm_sup).
|
||||||
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
-copyright('Copyright (c) 2005 Motivity Telecom Inc.').
|
||||||
-author('vances@motivity.ca').
|
-author('vances@motivity.ca').
|
||||||
-vsn('$Revision: 1.1 $').
|
-vsn('$Revision: 1.1 $').
|
||||||
|
|
Loading…
Reference in New Issue