Harald Welte
d7932419d9
TCAP DHA: Store user-provided dialogueID as otid in state
2013-06-24 09:41:07 +02:00
Harald Welte
7a05586c5d
add empty ebin/{ansi,itu} directories
2013-06-18 12:36:20 +02:00
Harald Welte
f8b955678f
edoc doesn't support multiple authors in one @author tag
2013-06-18 12:34:16 +02:00
Harald Welte
7c65bc9ef1
Update TCAPMessages.asn to work with osmo_cap
...
asn1ct will fail with a 'cant check' error of this change is not made.
2013-06-18 12:21:59 +02:00
Harald Welte
0f844098b2
Makefile: remove deprecated +driver option
2013-06-10 13:39:14 +02:00
Harald Welte
efbaae2b38
Makefile: Build asn1 generated modules with debug info
2013-06-10 13:37:57 +02:00
Harald Welte
38c579aca9
DHA: properly implement differences of ACTIVE and INIT SENT state
...
When we are in initiation_sent state, the logic regarding the neccessity
and treatment of the dialogueInfo is different than active state.
However, it is reasonably similar so that we can use the same function
'is_or_active()' to implement the handling of TR-{CONTINUE,END}.ind
in one function, respectively rather than copy+paste code.
2013-06-10 13:36:06 +02:00
Harald Welte
4eef43beee
DHA: Ensure TR-END always contains a valid TR-userData record
...
otherwise the ASN1 encoder will raise an exception
2013-06-10 12:27:28 +02:00
Harald Welte
722715ae9e
TSM: Don't attempt to create an END message with no dest trans id
2013-06-10 12:26:46 +02:00
Harald Welte
1760c1538d
TC.asn: Mark "argument" part of Invoke as 'OPTIONAL'
...
Even thought th TCAP spec seems to indicate it is not optional, in fact
it apparently is :/
2013-06-10 12:26:05 +02:00
Harald Welte
a7c2afc83e
DHA: Store TR-END record in loop state on TC-END request
...
We need to put the TR-END record in the loop data state once we receive
the TC-END.req from TCU, even in 'basic' termination mode. Only this
way, code in the wait_for_end_components can actually access/use that
record.
2013-06-10 09:39:13 +02:00
Harald Welte
d5260e0a5d
TSM: print reason for termination in debug logging
2013-06-10 09:38:48 +02:00
Harald Welte
0637b91934
CCO: TCAP 'Invoke' parameters are not OPTIONAL
...
... so we cannot feed asn1_NOVALUE into the encoder, but have to
pass an empty list instead. sigh.
2013-06-10 09:00:51 +02:00
Harald Welte
f319881540
tcap_invocation_sup: Use unique name for each ISM
...
This bug prevented multiple INVOKE to exist in parallel.
2013-06-10 08:49:43 +02:00
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