Commit Graph

94 Commits

Author SHA1 Message Date
Harald Welte e7540c5c33 DHA: make sure that the 'ok' of ASN.1 decoder doesn't end up in components list 2012-01-31 21:06:34 +01:00
Harald Welte 12f95d3935 TSM: use default QoS values if not provided in TR-* prim
According to Q.771, it is a User option if QoS paramters are passed
down.  We simply use default paramters if none have been provided.
2012-01-31 20:54:24 +01:00
Harald Welte 250b36f2d8 TCO: make sure transaciton IDs are always converted from binary to int 2012-01-31 20:43:17 +01:00
Harald Welte 67f6051009 DHA: Always store TR-* record in state.state, not TC-* 2012-01-31 18:55:42 +01:00
Harald Welte ae3aa8c3f2 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.
2012-01-31 18:36:06 +01:00
Harald Welte f5005c00e0 CCO: Use empty list [] instead of indefined for empty state.components 2012-01-31 18:35:27 +01:00
Harald Welte d8c6cf5e18 CCO: remove dead code 2012-01-31 18:09:47 +01:00
Harald Welte 59d51e23a4 CCO: include DialogueID in user primitives; correctly convert InvokeID 2012-01-31 18:03:49 +01:00
Harald Welte 876c198584 DHA: work around TCAP implementations that forget tho send the id-as-dialogue 2012-01-31 00:10:14 +01:00
Harald Welte 141484622f DHA: Make sure to generate TC-END.ind to TC-User 2012-01-30 23:57:07 +01:00
Harald Welte 50f0aac344 tcap_sup: add comment 2012-01-30 23:37:53 +01:00
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