summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2013-06-10 12:27:28 +0200
committerHarald Welte <laforge@gnumonks.org>2013-06-10 12:27:28 +0200
commit4eef43beeeec3dc0b20750a49ab642fbdc88a9e7 (patch)
treebc194fb83a038638b922f2537cd3223b0b4f4c95
parent722715ae9e9765f482bd72577acd42971f61ab16 (diff)
DHA: Ensure TR-END always contains a valid TR-userData record
otherwise the ASN1 encoder will raise an exception
-rw-r--r--TCAP/src/ITU/tcap_dha_fsm.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/TCAP/src/ITU/tcap_dha_fsm.erl b/TCAP/src/ITU/tcap_dha_fsm.erl
index 7e3fe6e..95e7104 100644
--- a/TCAP/src/ITU/tcap_dha_fsm.erl
+++ b/TCAP/src/ITU/tcap_dha_fsm.erl
@@ -486,7 +486,7 @@ initiation_sent({'TR', 'CONTINUE', indication, ContParms}, State) when is_record
#'ABRT-apdu'{'abort-source' = 'dialogue-service-provider'}),
UserData = #'TR-user-data'{dialoguePortion = dialogue_ext(ABRT)},
%% TR-U-ABORT request to TSL
- TrParms = #'TR-U-ABORT'{qos = ContParms#'TC-U-ABORT'.qos,
+ TrParms = #'TR-U-ABORT'{qos = ContParms#'TR-CONTINUE'.qos,
transactionID = NewState#state.otid, userData = UserData},
LastState = State#state{parms = ContParms},
gen_server:cast(LastState#state.tco, {'TR', 'U-ABORT', request, TrParms}),
@@ -625,6 +625,7 @@ active({'TC', 'CONTINUE', request, ContParms}, State) when is_record(ContParms,
active({'TC', 'END', request, EndParms}, State) when is_record(EndParms, 'TC-END') ->
TrParms = #'TR-END'{qos = EndParms#'TC-END'.qos,
transactionID = State#state.otid,
+ userData = #'TR-user-data'{dialoguePortion = EndParms#'TC-END'.userInfo},
termination = EndParms#'TC-END'.termination},
NewState = State#state{parms = TrParms},
%% Prearranged end?