summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2013-06-10 09:39:13 +0200
committerHarald Welte <laforge@gnumonks.org>2013-06-10 09:39:13 +0200
commita7c2afc83e121209ca9388564ad7f3184acb7594 (patch)
tree01c93588d54bd809805051a2ba0badf39885e996
parentd5260e0a5d0d59d5f3fdb7111913f1bfa9fb5665 (diff)
DHA: Store TR-END record in loop state on TC-END request
We need to put the TR-END record in the loop data state once we receive the TC-END.req from TCU, even in 'basic' termination mode. Only this way, code in the wait_for_end_components can actually access/use that record.
-rw-r--r--TCAP/src/ITU/tcap_dha_fsm.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/TCAP/src/ITU/tcap_dha_fsm.erl b/TCAP/src/ITU/tcap_dha_fsm.erl
index a970134..7e3fe6e 100644
--- a/TCAP/src/ITU/tcap_dha_fsm.erl
+++ b/TCAP/src/ITU/tcap_dha_fsm.erl
@@ -623,14 +623,14 @@ active({'TC', 'CONTINUE', request, ContParms}, State) when is_record(ContParms,
%% reference: Figure A.5/Q.774 (sheet 9 of 11)
%% TC-END request from TCU
active({'TC', 'END', request, EndParms}, State) when is_record(EndParms, 'TC-END') ->
+ TrParms = #'TR-END'{qos = EndParms#'TC-END'.qos,
+ transactionID = State#state.otid,
+ termination = EndParms#'TC-END'.termination},
+ NewState = State#state{parms = TrParms},
%% Prearranged end?
case EndParms#'TC-END'.termination of
prearranged ->
%% TR-END request to TSL
- TrParms = #'TR-END'{qos = EndParms#'TC-END'.qos,
- transactionID = State#state.otid,
- termination = EndParms#'TC-END'.termination},
- NewState = State#state{parms = TrParms},
gen_server:cast(NewState#state.tco, {'TR', 'END', request, TrParms}),
%% Dialogue terminated to CHA
gen_server:cast(NewState#state.cco, 'dialogue-terminated'),
@@ -640,7 +640,7 @@ active({'TC', 'END', request, EndParms}, State) when is_record(EndParms, 'TC-END
%% Request component to CHA
gen_server:cast(State#state.cco, 'request-components'),
%% Process components
- {next_state, wait_for_end_components, State}
+ {next_state, wait_for_end_components, NewState}
end;
%% reference: Figuer A.5/Q774 (sheet 10 of 11)