Commit Graph

114 Commits

Author SHA1 Message Date
Harald Welte babe0e92cd DHA: After sending TR-CONTINUE from initiation-received state we go to active 2013-06-09 23:13:56 +02:00
Harald Welte f0d0e908d1 DHA: don't forget to 'request-components' in TC-CONTINUE
when TCU requests a TC-CONTINUE, DHA has to request pending
components from CCO.
2013-06-09 23:01:40 +02:00
Harald Welte 1e7edddd7f Always include AARE DialoguePDU if sending first END/CONTINUE
According to the spec regarding dialogue handling, the first
CONTINUE or END in response to a BEGIN must always contain a
dialogue portion with an AARE PDU, acknowledging protocol version and
application context name.
2013-06-09 22:13:41 +02:00
Harald Welte 0a00ca8a20 DHA: make extract_dialogue_portion() safe for asn1_NOVALUE 2013-06-09 16:19:58 +02:00
Harald Welte 0afe128c20 DHA: fix missing '' around atom with '-' in its name
... otherwise it would be treated like an arithmetic expression
2013-06-09 16:19:57 +02:00
Harald Welte cc3bbf9876 DHA: Always send dialogue portion in 'initiation_received'
Whether or not the local TC-User specifies a userPortion doesn't matter,
we always need to respond with a dialoguePortion confirming protocol
version and AC name to the originator.
2013-06-09 16:15:44 +02:00
Harald Welte 0d786b3171 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.
2013-06-08 10:37:49 +02:00
Harald Welte 0c1ac01cf6 DHA: AARE protocol-version is always an array of versions! 2013-06-08 10:11:22 +02:00
Harald Welte ce41e7f2a9 TCO needs to know the PID of the user to deliver incoming BEGIN
If TCO detects an incoming BEGIN, it starts tcap_transaction_sup
which in turn start dha_fsm and ism_fsm, who both need to know
to whom to send the new components

We nw send those to the Pid that was set by the user using
gen_server:call(TCOpid, set_usap).  This is most likely not the right
approach, as most apps will probably want to create a new process for
each dialogue.  Needs improvement later.
2013-06-08 09:04:02 +02:00
Harald Welte db99b66859 TCO: fix generation of incoming tcap_transaction_sup tree
This moves the 'server' side of the TCAP code to generate a proper
tcap_transaction_sup sub-tree on an incoming BEGIN
2013-06-08 09:02:50 +02:00
Harald Welte f1803eabfb DHA: fix parsing of BEGIN dialogue portion on incoming msgs 2013-06-08 01:14:21 +02:00
Harald Welte 3bf400d91a TSM: we already receive decoded asn.1, don't try to feed that to decoder again 2013-06-08 00:55:01 +02:00
Harald Welte 47c1432648 CCO: use osmo_util:asn1_val() rather than local copy 2013-06-08 00:35:00 +02:00
Harald Welte d98371a2f4 TCAP TCO Server: Use 'TR' module to encode Abort 2013-06-07 23:15:42 +02:00
Harald Welte b85bdc8e2a tcap_user: Export get_dialg_id/1 2012-02-10 12:18:45 +01:00
Harald Welte cb24a47d2d ISM: remove one FIXME (forwarding TC-U-REJECT to usap) 2012-02-08 22:05:15 +01:00
Harald Welte 36561032eb components_sup: More verbosity when starting 2012-02-02 23:47:29 +01:00
Harald Welte d0b28f51c3 ISM: use gen_fsm:send_event(usap), not gen_server:cast(usap) 2012-02-01 21:58:13 +01:00
Harald Welte 148d299b28 tcap_user: resolve CCO/DHA for all TC- primitives 2012-01-31 22:10:53 +01:00
Harald Welte 77d0ee7b13 CCO: properly convert InvokeID of received components 2012-01-31 21:28:24 +01:00
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