forked from erlang/signerl
TCAP DHA: Make sure to use gen_server:cast for CCO as it is no gen_fsm
This commit is contained in:
parent
4d8b44a455
commit
c9e48ab1e7
|
@ -115,7 +115,7 @@ idle({'TC', 'UNI', request, UniParms}, State)
|
||||||
userData = #'TR-user-data'{dialoguePortion = DialoguePortion}},
|
userData = #'TR-user-data'{dialoguePortion = DialoguePortion}},
|
||||||
NewState = State#state{parms = TrParms},
|
NewState = State#state{parms = TrParms},
|
||||||
%% Request components to CHA
|
%% Request components to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'request-components'),
|
gen_server:cast(NewState#state.cco, 'request-components'),
|
||||||
%% Process components
|
%% Process components
|
||||||
{next_state, wait_for_uni_components, NewState};
|
{next_state, wait_for_uni_components, NewState};
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ idle({'TC', 'BEGIN', request, BeginParms}, State)
|
||||||
%% Set application context mode
|
%% Set application context mode
|
||||||
appContextMode = BeginParms#'TC-BEGIN'.appContextName},
|
appContextMode = BeginParms#'TC-BEGIN'.appContextName},
|
||||||
%% Request components to CHA
|
%% Request components to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'request-components'),
|
gen_server:cast(NewState#state.cco, 'request-components'),
|
||||||
%% Process components
|
%% Process components
|
||||||
{next_state, wait_for_begin_components, NewState};
|
{next_state, wait_for_begin_components, NewState};
|
||||||
|
|
||||||
|
@ -181,14 +181,14 @@ idle({'TR', 'UNI', indication, UniParms}, State) when is_record(UniParms, 'TR-UN
|
||||||
%% Components to CHA
|
%% Components to CHA
|
||||||
case ComponentsPresent of
|
case ComponentsPresent of
|
||||||
true ->
|
true ->
|
||||||
gen_fsm:send_event(NewState#state.cco, {components, Components});
|
gen_server:cast(NewState#state.cco, {components, Components});
|
||||||
false ->
|
false ->
|
||||||
ok % should never happen
|
ok % should never happen
|
||||||
end,
|
end,
|
||||||
%% TC-UNI indication to TCU
|
%% TC-UNI indication to TCU
|
||||||
gen_fsm:send_event(NewState#state.usap, {'TC', 'UNI', indication, NewTcParms}),
|
gen_fsm:send_event(NewState#state.usap, {'TC', 'UNI', indication, NewTcParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState}
|
{stop, normal, NewState}
|
||||||
end;
|
end;
|
||||||
|
@ -208,7 +208,7 @@ idle({'TR', 'BEGIN', indication, BeginParms}, State) when is_record(BeginParms,
|
||||||
NewState = State#state{otid = BeginParms#'TR-BEGIN'.transactionID, parms = TrParms},
|
NewState = State#state{otid = BeginParms#'TR-BEGIN'.transactionID, parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
no_version1 -> %% Is version 1 supported? (no)
|
no_version1 -> %% Is version 1 supported? (no)
|
||||||
DialoguePortion = (BeginParms#'TR-BEGIN'.userData)#'TR-user-data'.dialoguePortion,
|
DialoguePortion = (BeginParms#'TR-BEGIN'.userData)#'TR-user-data'.dialoguePortion,
|
||||||
|
@ -226,7 +226,7 @@ idle({'TR', 'BEGIN', indication, BeginParms}, State) when is_record(BeginParms,
|
||||||
parms = TrParms},
|
parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'P-ABORT', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'P-ABORT', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
TcParms when is_record(TcParms, 'TC-BEGIN') ->
|
TcParms when is_record(TcParms, 'TC-BEGIN') ->
|
||||||
if
|
if
|
||||||
|
@ -255,7 +255,7 @@ idle({'TR', 'BEGIN', indication, BeginParms}, State) when is_record(BeginParms,
|
||||||
case ComponentsPresent of
|
case ComponentsPresent of
|
||||||
true ->
|
true ->
|
||||||
%% Components to CHA
|
%% Components to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, {components, Components});
|
gen_server:cast(NewState#state.cco, {components, Components});
|
||||||
false ->
|
false ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
|
@ -298,7 +298,7 @@ initiation_received({'TC', 'END', request, EndParms}, State) when is_record(EndP
|
||||||
NewState = State#state{parms = TrParms},
|
NewState = State#state{parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'END', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'END', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
basic ->
|
basic ->
|
||||||
|
@ -320,7 +320,7 @@ initiation_received({'TC', 'END', request, EndParms}, State) when is_record(EndP
|
||||||
NewState = State
|
NewState = State
|
||||||
end,
|
end,
|
||||||
%% Request components to CHA
|
%% Request components to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'request-components'),
|
gen_server:cast(NewState#state.cco, 'request-components'),
|
||||||
%% Process components
|
%% Process components
|
||||||
{next_state, wait_for_end_components, NewState}
|
{next_state, wait_for_end_components, NewState}
|
||||||
end;
|
end;
|
||||||
|
@ -368,7 +368,7 @@ initiation_received({'TC', 'U-ABORT', request, AbortParms}, State) when is_recor
|
||||||
NewState = State#state{parms = TrParms},
|
NewState = State#state{parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState}.
|
{stop, normal, NewState}.
|
||||||
|
|
||||||
|
@ -383,9 +383,9 @@ initiation_sent({'TC', 'END', request, EndParms}, State) when is_record(EndParms
|
||||||
NewState = State#state{parms = TrParms},
|
NewState = State#state{parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'END', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'END', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
|
|
||||||
%% reference: Figure A.5/Q.774 (sheet 7 of 11)
|
%% reference: Figure A.5/Q.774 (sheet 7 of 11)
|
||||||
%%% TC-U-ABORT request from TCU (local action)
|
%%% TC-U-ABORT request from TCU (local action)
|
||||||
initiation_sent({'TC', 'U-ABORT', request, AbortParms}, State) when is_record(AbortParms, 'TC-U-ABORT') ->
|
initiation_sent({'TC', 'U-ABORT', request, AbortParms}, State) when is_record(AbortParms, 'TC-U-ABORT') ->
|
||||||
|
@ -394,7 +394,7 @@ initiation_sent({'TC', 'U-ABORT', request, AbortParms}, State) when is_record(Ab
|
||||||
NewState = State#state{parms = TrParms},
|
NewState = State#state{parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
|
|
||||||
%% reference: Figure A.5/Q.774 (sheet 7 of 11)
|
%% reference: Figure A.5/Q.774 (sheet 7 of 11)
|
||||||
|
@ -425,7 +425,7 @@ initiation_sent({'TR', 'END', indication, EndParms}, State) when is_record(EndPa
|
||||||
NewState = State#state{parms = TcParms},
|
NewState = State#state{parms = TcParms},
|
||||||
gen_fsm:send_event(NewState#state.usap, {'TC', 'P-ABORT', indication, TcParms}),
|
gen_fsm:send_event(NewState#state.usap, {'TC', 'P-ABORT', indication, TcParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
AARE ->
|
AARE ->
|
||||||
|
@ -442,12 +442,12 @@ initiation_sent({'TR', 'END', indication, EndParms}, State) when is_record(EndPa
|
||||||
case ComponentsPresent of
|
case ComponentsPresent of
|
||||||
true ->
|
true ->
|
||||||
%% Components to CHA
|
%% Components to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, {components, Components});
|
gen_server:cast(NewState#state.cco, {components, Components});
|
||||||
false ->
|
false ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState}
|
{stop, normal, NewState}
|
||||||
end;
|
end;
|
||||||
|
@ -501,7 +501,7 @@ initiation_sent({'TR', 'CONTINUE', indication, ContParms}, State) when is_record
|
||||||
LastState = State#state{parms = TrParms},
|
LastState = State#state{parms = TrParms},
|
||||||
gen_fsm:send_event(LastState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
gen_fsm:send_event(LastState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(LastState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(LastState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, LastState};
|
{stop, normal, LastState};
|
||||||
AARE ->
|
AARE ->
|
||||||
|
@ -518,7 +518,7 @@ initiation_sent({'TR', 'CONTINUE', indication, ContParms}, State) when is_record
|
||||||
case ComponentsPresent of
|
case ComponentsPresent of
|
||||||
true ->
|
true ->
|
||||||
%% Components to CHA
|
%% Components to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, {components, Components});
|
gen_server:cast(NewState#state.cco, {components, Components});
|
||||||
false ->
|
false ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
|
@ -598,7 +598,7 @@ initiation_sent({'TR', 'U-ABORT', indication, AbortParms}, State) when is_record
|
||||||
gen_fsm:send_event(NewState#state.usap, {'TC', 'P-ABORT', indication, TcParms})
|
gen_fsm:send_event(NewState#state.usap, {'TC', 'P-ABORT', indication, TcParms})
|
||||||
end,
|
end,
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
|
|
||||||
|
@ -612,7 +612,7 @@ initiation_sent({'TR', 'P-ABORT', indication, AbortParms}, State) when is_record
|
||||||
%% TC-P-ABORT indication to TCU
|
%% TC-P-ABORT indication to TCU
|
||||||
gen_fsm:send_event(NewState#state.usap, {'TC', 'P-ABORT', indication, TcParms}),
|
gen_fsm:send_event(NewState#state.usap, {'TC', 'P-ABORT', indication, TcParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState}.
|
{stop, normal, NewState}.
|
||||||
|
|
||||||
|
@ -622,7 +622,7 @@ initiation_sent({'TR', 'P-ABORT', indication, AbortParms}, State) when is_record
|
||||||
active({'TC', 'CONTINUE', request, ContParms}, State) when is_record(ContParms, 'TC-CONTINUE') ->
|
active({'TC', 'CONTINUE', request, ContParms}, State) when is_record(ContParms, 'TC-CONTINUE') ->
|
||||||
NewState = State#state{parms = ContParms},
|
NewState = State#state{parms = ContParms},
|
||||||
%% Request component to CHA
|
%% Request component to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'request-components'),
|
gen_server:cast(NewState#state.cco, 'request-components'),
|
||||||
%% Process components
|
%% Process components
|
||||||
{next_state, wait_cont_components_active, NewState};
|
{next_state, wait_cont_components_active, NewState};
|
||||||
|
|
||||||
|
@ -639,12 +639,12 @@ active({'TC', 'END', request, EndParms}, State) when is_record(EndParms, 'TC-END
|
||||||
NewState = State#state{parms = TrParms},
|
NewState = State#state{parms = TrParms},
|
||||||
gen_fsm:send_event(NewState#state.tco, {'TR', 'END', request, TrParms}),
|
gen_fsm:send_event(NewState#state.tco, {'TR', 'END', request, TrParms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(NewState#state.cco, 'dialogue-terminated'),
|
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, NewState};
|
{stop, normal, NewState};
|
||||||
basic ->
|
basic ->
|
||||||
%% Request component to CHA
|
%% Request component to CHA
|
||||||
gen_fsm:send_event(State#state.cco, 'request-components'),
|
gen_server:cast(State#state.cco, 'request-components'),
|
||||||
%% Process components
|
%% Process components
|
||||||
{next_state, wait_for_end_components, State}
|
{next_state, wait_for_end_components, State}
|
||||||
end.
|
end.
|
||||||
|
@ -665,7 +665,7 @@ wait_for_uni_components1(State) ->
|
||||||
%% TR-UNI request to TSL
|
%% TR-UNI request to TSL
|
||||||
gen_fsm:send_event(State#state.tco, {'TR', 'UNI', request, State#state.parms}),
|
gen_fsm:send_event(State#state.tco, {'TR', 'UNI', request, State#state.parms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(State#state.cco, 'dialogue-terminated'),
|
gen_server:cast(State#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, State}.
|
{stop, normal, State}.
|
||||||
|
|
||||||
|
@ -739,7 +739,7 @@ wait_for_end_components1(State) ->
|
||||||
%% TR-END request to TSL
|
%% TR-END request to TSL
|
||||||
gen_fsm:send_event(State#state.tco, {'TR', 'END', request, State#state.parms}),
|
gen_fsm:send_event(State#state.tco, {'TR', 'END', request, State#state.parms}),
|
||||||
%% Dialogue terminated to CHA
|
%% Dialogue terminated to CHA
|
||||||
gen_fsm:send_event(State#state.cco, 'dialogue-terminated'),
|
gen_server:cast(State#state.cco, 'dialogue-terminated'),
|
||||||
%% Free dialogue ID
|
%% Free dialogue ID
|
||||||
{stop, normal, State}.
|
{stop, normal, State}.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue