TSM: outgoing END needs DTID and CallingParty

We need to store the SCCP CalledAddress in the TSM state at the time we
receive the BEGIN of this dialogue.
This commit is contained in:
Harald Welte 2013-06-08 10:37:49 +02:00
parent 0c1ac01cf6
commit 0d786b3171
1 changed files with 4 additions and 1 deletions

View File

@ -93,6 +93,7 @@ idle({'BEGIN', received, SccpParms}, State)
when is_record(SccpParms, 'N-UNITDATA') ->
%% Store remote address and remote TID
NewState = State#state{remote_address = SccpParms#'N-UNITDATA'.callingAddress,
local_address = SccpParms#'N-UNITDATA'.calledAddress,
remoteTID = (SccpParms#'N-UNITDATA'.userData)#'Begin'.otid},
Begin = SccpParms#'N-UNITDATA'.userData,
QOS = {SccpParms#'N-UNITDATA'.sequenceControl, SccpParms#'N-UNITDATA'.returnOption},
@ -178,7 +179,9 @@ initiation_received({'END', transaction, EndParms}, State)
TrUserData = process_undefined(EndParms#'TR-END'.userData),
DialoguePortion = TrUserData#'TR-user-data'.dialoguePortion,
ComponentPortion = TrUserData#'TR-user-data'.componentPortion,
End = #'End'{dialoguePortion = DialoguePortion, components = ComponentPortion},
Dtid = State#state.remoteTID,
End = #'End'{dtid = <<Dtid:32/big>>, dialoguePortion = DialoguePortion,
components = ComponentPortion},
%% Assemble TR-portion of END message
{ok, TPDU} = 'TR':encode('TCMessage', {'end', End}),
{SequenceControl, ReturnOption} = qos_from_tr_prim(EndParms),