summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-01-31 18:36:06 +0100
committerHarald Welte <laforge@gnumonks.org>2012-01-31 18:36:06 +0100
commitae3aa8c3f2d38d3e400fe8b4d72f0f1d492044ea (patch)
tree93dbc57c6e9f878d4452063c8a6d6c87728dcec7
parentf5005c00e040c10a89c28c0174c5b6915af8ed47 (diff)
DHA: Use incoming DialogueID from user as Transaction ID in TR sub-layer
Theoretically, Dialogue IDs and Transaction IDs are two independent namesepaces. However, since TC is the only user of TR, we can simply establish a 1:1 mapping.
-rw-r--r--TCAP/src/ITU/tcap_dha_fsm.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/TCAP/src/ITU/tcap_dha_fsm.erl b/TCAP/src/ITU/tcap_dha_fsm.erl
index cc3e39d..4e9bf00 100644
--- a/TCAP/src/ITU/tcap_dha_fsm.erl
+++ b/TCAP/src/ITU/tcap_dha_fsm.erl
@@ -135,6 +135,7 @@ idle({'TC', 'BEGIN', request, BeginParms}, State)
TrParms = #'TR-BEGIN'{qos = BeginParms#'TC-BEGIN'.qos,
destAddress = BeginParms#'TC-BEGIN'.destAddress,
origAddress = BeginParms#'TC-BEGIN'.origAddress,
+ transactionID = BeginParms#'TC-BEGIN'.dialogueID,
userData = #'TR-user-data'{dialoguePortion = dialogue_ext(DialoguePortion)}},
NewState = State#state{parms = TrParms,
%% Set application context mode
@@ -727,8 +728,8 @@ wait_for_begin_components({'requested-components', Components}, State) ->
TrParms = (State#state.parms)#'TR-BEGIN'{userData = NewUserData},
wait_for_begin_components1(State#state{parms = TrParms}).
wait_for_begin_components1(State) ->
- %% Assign local transaction ID
- TrParms = (State#state.parms)#'TR-BEGIN'{transactionID = tcap_tco_server:new_tid()},
+ %% We don't Assign local transaction ID, as we simply re-use the DialougeID!
+ TrParms = State#state.parms,
%% TR-BEGIN request to TSL
gen_server:cast(State#state.tco, {'TR', 'BEGIN', request, TrParms}),
{next_state, initiation_sent, State#state{parms = TrParms}}.