diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-01-31 18:36:06 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-01-31 18:36:06 +0100 |
commit | ae3aa8c3f2d38d3e400fe8b4d72f0f1d492044ea (patch) | |
tree | 93dbc57c6e9f878d4452063c8a6d6c87728dcec7 | |
parent | f5005c00e040c10a89c28c0174c5b6915af8ed47 (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.erl | 5 |
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}}. |