Harald Welte
44a2bf3a3a
ISM: terminate gracefully if 'termiante' event received
2012-01-30 23:36:44 +01:00
Harald Welte
c956b44d97
CCO: handle 'dialogue-terminated' gracefully
2012-01-30 23:35:21 +01:00
Harald Welte
f43bffe405
DHA: handle TR-END.indication from TSL
2012-01-30 23:34:53 +01:00
Harald Welte
8d7b02530f
TSM: fix incoming handling of Continue/End/Abort
2012-01-30 23:08:27 +01:00
Harald Welte
556e14a07f
TCO: Fix ets lookup when receiving END transaction
2012-01-30 22:55:13 +01:00
Harald Welte
a0efe8a006
CCO: Forward incoming INVOKE directly to TC-User
2012-01-30 22:51:16 +01:00
Harald Welte
feb2275971
CCO: correctly resolve ISM Pid on response to outgoing Invokes
2012-01-30 22:36:02 +01:00
Harald Welte
bc4c9669ae
CCO: gem_fsm/gen_fsm spelling mistake
2012-01-30 21:18:00 +01:00
Harald Welte
7943c341b2
DHA: fix copy/paste mistake END/CONTINUE
2012-01-30 21:14:17 +01:00
Harald Welte
9bdce61410
TCO: Pass only Pid, not complete From tuple as Usap PID to DHA
2012-01-30 21:12:23 +01:00
Harald Welte
d03ed86648
DHA: correct parsing of ComponentPortion and AARE-apdu
2012-01-30 21:06:03 +01:00
Harald Welte
a8487477ad
TSM: supervisor starts DHA, not us. Resolve DHA using ets
2012-01-30 20:51:23 +01:00
Harald Welte
cd4dceba61
TSM: fix copy+paste mistake resulting in BadRecord exception
2012-01-30 19:50:49 +01:00
Harald Welte
8adb719ce5
TCO: correctly parse/decode incoming transaciton IDs to resolve TSM
2012-01-30 19:47:24 +01:00
Harald Welte
fd392388e9
TCO: fix interpretation of incoming TPDUs
...
It's sufficient to call the asn1 decoder on TCMessage, we don't need
to call it again for begin/continue/end
2012-01-30 01:50:30 +01:00
Harald Welte
aee832a6ee
CCO: correctly encode InvokeId in local generation of Invoke
2012-01-30 01:33:07 +01:00
Harald Welte
d2a045ad25
DHA: use TC:Components for encoding components, not TR:ComponentPortion
2012-01-30 01:21:48 +01:00
Harald Welte
8cecce3aba
CCO: actually hand over the [{invoke, #'Invoke'{}}] style components to DHA
2012-01-30 01:21:21 +01:00
Harald Welte
5d2061e509
DHA: properly encode dialogueportion during BEGIN
2012-01-30 00:55:38 +01:00
Harald Welte
153cdc4564
ISM: give ISM processes a proper name to help debugging
2012-01-29 23:37:27 +01:00
Harald Welte
c2773f018b
enable gen_fsm debug tracing for TSM and DHA for the tiem being
2012-01-29 23:23:24 +01:00
Harald Welte
983e81e9e6
transaction supervisor: properly convert name from list to atom
2012-01-29 23:22:54 +01:00
Harald Welte
992982b298
TSM FSM: Make sure to replace 'undefined' in DialoguePortion with asn1_NOVALUE
...
The ASN.1 encoder wants to explicitly have asn1_NOVALUE for OPTIONAL
fields. However, the default erlang record initializer is 'undefiend',
so we have to replace undefined with asn1_NOVALUE before feeding it to
asn1rt.
2012-01-29 23:06:42 +01:00
Harald Welte
b8f82b68af
DHA: Fix encoding of ComponentPortion
2012-01-29 20:24:22 +01:00
Harald Welte
05f7778a81
TCO/TCU: Make sure to start all supervisors on INVOKE
...
This introduces a new 'call' from the TC-User to TCO, which creates
the equired transaction_sup, dialogues_sup, dha_fsm and tsm_fsm _before_
the TC-INVOKE component will be passed into the new DHA fsm.
Once the TCO actually receives the TR-BEGIN, it will not start the
transaction supervisor, but merely look it up based on the TR-user
provided transaction ID.
2012-01-29 20:07:38 +01:00
Harald Welte
0b3d9b053c
make sure CCO correctly starts new ISM
2012-01-29 20:02:25 +01:00
Harald Welte
24b34f506a
transaction_sup: start dha_fsm in addition to dsm_fsm
2012-01-28 20:50:55 +01:00
Harald Welte
dbb39e1776
Fxi the way that TCO starts transaction_sup and tsm_fsm in local-out-begin
2011-12-18 21:45:49 +01:00
Harald Welte
bedd015b07
DHA: No need for passing PID of dialogue_sup into DHA
2011-12-18 12:54:08 +01:00
Harald Welte
4ab9bffba2
TSM: use a caller-provided Fun to send primitives towards SCCP
2011-12-18 12:22:31 +01:00
Harald Welte
6b0a7361be
DHA: Since TCO is a gen_server, not gen_fsm, use cast!
2011-12-18 12:20:42 +01:00
Harald Welte
f42d43b9f4
TCO: export the new_tid() function
2011-12-17 19:11:32 +01:00
Harald Welte
0f692c61b5
make sure that the 'transactionID' key in the ets table exists
2011-12-17 19:11:22 +01:00
Harald Welte
a6ead2ab01
make sure ANSI part at least compiles, even if incomplete
2011-12-17 18:59:04 +01:00
Harald Welte
2cdfd20466
s/transaction_coordinator_server/tcap_tco_server/g
2011-12-17 18:56:54 +01:00
Harald Welte
04c548c2d8
CCO: make sure ISM list is initialized as empty list []
2011-12-17 18:55:27 +01:00
Harald Welte
f6f4f6d5cc
CCO: fix typo (send_event instead of sent_event)
2011-12-17 18:37:44 +01:00
Harald Welte
70be83b1c9
tcap_invocation_sup:start_ism/5 instead of start_ism/1
2011-12-17 18:35:14 +01:00
Harald Welte
2e7ab1fe65
CCO: ensure state.components is always a list, not just a record
2011-12-17 18:34:47 +01:00
Harald Welte
5c0f228e11
tcap_user: correctly resolve DHA/TCO
...
ets lookups return a tuple, not just the Pid value that we want.
2011-12-17 18:27:28 +01:00
Harald Welte
a0dd2c6228
TCAP: make sure to start tcap_invocation_sup above tcap_ism_fsm
...
The tcap_invocation_sup is cretaed at the same time the tcap_cco_server
is created. Once TR requests BEGIN components, the tcap_invocation_sup
is requested to start a new tcap_ism_fsm child.
2011-12-17 17:47:41 +01:00
Harald Welte
205f585435
invocation supervisor: correctly call ISM
2011-12-17 17:22:55 +01:00
Harald Welte
9cb1851b3b
ISM: properly register a local name
2011-12-17 17:22:35 +01:00
Harald Welte
d828cfabba
TCAP: resolve DHA / CCO dependencies on TC-U initiated BEGIN
...
Prior to this patch, DHA needs to know the CCO pid, and CCO needed to
know the DHA pid at startup. The idea was to start CCO from within the
init() callback in DHA. However, this caused a deadlock in the
supervisor.
We now use the locally registred process names (tcap_cco_DLGID) to
resolve the process. However, it might be cleaner to use an ets table
at some later point. For now it is nice to see the name of each process
in pman for debugging...
2011-12-17 17:06:29 +01:00
Harald Welte
5c1cd340eb
make sure tcap_user start tcap_dialogue_sup starts tcap_dha_fsm
2011-12-16 00:36:45 +01:00
Harald Welte
66514a113e
add new tcap_user:start_sap() function
...
This can be used to instantiate the per-SAP tcap_sap_sup and
tcap_tco_server callback module in a simple call like this:
{ok, TcoPid} = tcap_user:start_sap(osmo_sccp_tcap, [7], []).
2011-12-15 23:38:29 +01:00
Harald Welte
6f1e72c678
add new tcap_user module
...
This is what a user process will call in order to initiate TCAP
transactions.
2011-12-15 16:45:28 +01:00
Harald Welte
efd9ab0344
prefix process names with "tcap_"
2011-12-15 16:43:20 +01:00
Harald Welte
fb5de0e5cc
rename ets 'transaction' table to 'tcap_transaction'
...
the ets namespace is global, so weshould prefix it with the name tcap to
avoid collisions with other applications.
2011-12-15 11:33:17 +01:00
Harald Welte
665aacb35b
TCO server: make sure argument list for behaviour module is a list
2011-12-13 19:19:47 +01:00