summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2021-12-14treewide: remove FSF addressHEADmasterOliver Smith2-8/+0
Remove the paragraph about writing to the Free Software Foundation's mailing address. The FSF has changed addresses in the past, and may do so again. In 2021 this is not useful, let's rather have a bit less boilerplate at the start of source files. Change-Id: Ic8c69d24141abd183e3b1257f4e9edfd9c1afabe
2020-09-18ipa_proto: Allow configuring ack initiation behaviorMatt Johnson1-12/+24
When the osmo-msc version 1.6.1 connects to the osmo-hlr, it sends an id response and an immediate ack. This commit allows initiating the handshake with an ack rather than an id request (as is done by ipa *clients*, like a bts towards a bsc, or the msc towards the hlr) if needed to mimic behavior of particular components. Change-Id: I6ab3c9efb51e806f582ce8f473a13ee73ca1567e
2020-09-11ipa_proto: Implement ccm response with variable optionsMatt Johnson1-17/+51
This commit allows configuration of the ccm protocol options used when setting up an ipa connection with an external entity. The options record is kept alongside the socket in the socket-owning process loop, and used to fill the values in the ccm identity response. If additional CCM state were needed in the future this commit could be extended to keep generic state, with the options only representing one piece of the overall state. Change-Id: I3f67095f33f1ff826ad04dad72990bf79617149a
2020-09-08ipa_proto: Hook ipa_proto_ccm into the handling of CCM messagesHarald Welte1-4/+4
Change-Id: Ib1be00f73146519c8cc78bb08dd26a110771cd55
2020-08-25Add IPA CCM protocol encoder/decoderHarald Welte1-0/+119
This uses the new 'codec' infrastructure of our Erlang IPA implementation to decode/encode the IPA CCM messages. Change-Id: I9575145acbb6e3aff57f8bd97d327cbcd81b3665
2020-08-25ipa_proto: Add notion of 'codecs'Harald Welte1-13/+44
A codec for a given Stream Identifier can be registered with encode and decode functions. This codec transcodes from the binary payload of messages within that stream identifier and some abstract representation. Any received messages will be passed through decode, while any to-be-transmitted messages will be passed through encode. Change-Id: I8eaf888402545a1a871df9ae3dfbce690729dd03
2020-08-25ipa_proto: Add support for Osmocom Extended Stream IDsHarald Welte1-4/+12
IPAC_PROTO_OSMO reserves one StreamID and creates a new hierarchy of 256 different Osmocom specifice stream Identifiers. It adds one extra byte for this (the first byte in the payload). Change-Id: I765e0d96523feec401d6fb04693189281c580d04
2019-08-11make it compile with modern Erlang (22.0)Harald Welte2-481/+1
... also do away with our local outdated copy of exprecs and use upstream
2013-09-08make use of local IP address of #sigtran_peer actually workHarald Welte3-18/+23
2013-09-08sctp_core: respect local IP of sigtran peerHarald Welte1-11/+14
when the user specifies an IP in the local #sigtran_peer, we have to bind the socket explicitly to that IP and not let the kernel choose.
2013-09-08ss7_links: make sure IP addresses are canonical before sctp_handlerHarald Welte1-1/+2
2013-09-08permit configuration of links, linksets and routes in app configHarald Welte3-7/+61
Links, Linksets and routes can now be configured in the applicaiton configuration file.
2013-09-08osmo_util: introduce convenience wrappers around application:get_env()Harald Welte1-0/+18
2013-08-27M2UA: Send connect request after ASP_ACTIVATE_ACKHarald Welte1-1/+11
we only snd it once and don't care about the response, this is really only a minimal implementation to test other parts of the system.
2013-08-27MTP3: OPC and DPC elements were switchedHarald Welte1-2/+2
2013-08-27M2UA: Send interface identifier and 'mode override' in ASP_ACTIVE_REQHarald Welte1-1/+3
2013-08-26sctp_m2ua: work as SG and ASP; encode #mtp3_msg{} before handing it to M2UAHarald Welte1-28/+61
2013-08-26xua_codec: convert integer to binary and truncate binary to lengthHarald Welte1-1/+5
2013-08-24m3ua_core: handle 'sctp_paddr_change' eventHarald Welte1-0/+23
This happens e.g. if the route to the peer STP is lost, and we shouldn't crash just because that happens, but rather try to reconnect...
2013-07-27xua_asp_fsm: don't start any timers in 'sg' roleHarald Welte1-1/+1
2013-07-27ss7_link_m2ua: handle_info() is used instead of handle_cast()Harald Welte1-27/+10
handle_cast() is an inherited legacy from old m3ua_core
2013-07-27xua_asp_fsm: match {next_state, X, Y} return value from callback moduleHarald Welte1-4/+3
2013-07-27sctp_m2ua: don't suppress any ASP_UP events from becoming visible to userHarald Welte1-3/+0
2013-07-27remove dead commented out codeHarald Welte1-2/+0
2013-07-27sctp_m2ua: ignore ASP-UP.ind in case of passive/listen modeHarald Welte1-1/+5
2013-07-27xua_asp_fsm: fix typoHarald Welte1-1/+1
2013-07-27xua_asp_fsm: add support for SG mode in addition to existing ASP modeHarald Welte4-36/+105
2013-07-27sctp_core: handle shutdown_comp sctp event.Harald Welte1-0/+1
2013-07-27add ss7_links:role2sctp_role()Harald Welte1-1/+7
helps to translate from asp -> active and sg -> passive
2013-07-27sctp_sua: use 'undefined' for AS PidHarald Welte1-1/+1
2013-07-27sctp_core: register process name and listen to SCTP socket in passive modeHarald Welte1-2/+7
2013-07-27xua_asp_fsm: Only send ASPAS event from ASP to AS if AS pid != undefinedHarald Welte1-1/+6
2013-07-27sctp_sua: Change number of arguments to xua_asp_fsm:init()Harald Welte1-1/+2
In commit eb61885c358100e0e2d73be96f9f83d96422bc3d the number of arguments to xua_asp_fsm:init() was expanded by one for the pid of the AS FSM. This change alters sctp_sua to adhere to this new list of arguments, enen though it passes 'fixme' in as the pid, as we currently don't yet fully use the xua_as_fsm module yet.
2013-07-27hook up the existing m2ua code into the ss7_link infrastructureHarald Welte2-0/+139
After this commit, it is possible to add #sigtran_link{type=m2ua} using the osmo_ss7_sup:add_mtp_link() API. The actual M2UA code appears to be incomplete at this point
2013-06-24isup_codec: add gen_party_number() helperHarald Welte1-1/+33
2013-06-24m3ua_core: handle shutdown_comp SCTP evntHarald Welte1-0/+3
2013-06-13handle non-tuple return value of TupleCBTobias Engel1-4/+9
2013-04-26Fix error in MTP3MG parsing codeHarald Welte1-1/+1
The MTP3MG payload is not the MTP3 payload, but only what is remaining after the MTP3MG header has been parsed.
2012-05-30add xua_asp_test module to repository (was in my local tree only)Harald Welte1-0/+32
2012-05-30make module compile again (m2ua->xua changes)Harald Welte1-29/+51
2012-05-09xua_asp_fsm: Add start_link/6Harald Welte1-1/+4
2012-05-09xua_as_fsm: ignore ASP_DOWN in AS-PENDING and fix state list generationHarald Welte2-3/+18
2012-05-08xua_asp_fsm: wrap next_state/1 and signal ASP state chg to ASHarald Welte1-12/+26
2012-05-08sg_as_sup: introduc get_as_fsm_name/1Harald Welte1-1/+6
2012-05-08xua_as_fsm: fix use of lists:all/2 and introduc create_asp/2Harald Welte1-1/+8
2012-05-07make the SG AS/ASP supervisor hierarchy workHarald Welte4-4/+171
2012-05-06add new AS and ASP supervisors as well as FSM for ASHarald Welte3-0/+314
This is part of a new process hierarchy for proper operation of a SG (Signalling Gateway) with a number of AS, each containing multiple ASP, the respective state management, fail-over, etc. The AS supervisor starts the AS fsm and the ASP supervisor. The ASP supervisor will be used to start and maintain ASP fsm's (xua_asp_fsm), which in turn link into the respective M2UA/M3UA/SUA behavior. Those ASP fsm's will then be used by the processes that represent the SCTP associations.
2012-05-05M2UA Codec: Use generic xUA codec insteadHarald Welte2-68/+5
2012-04-16add compatibility clause for Erlang Public LicenseHarald Welte28-2/+394
This is required to make sure that even if somebody thinks the erlang OTP libraries and my code form a derivative work, there will be no licensing conflict.
2012-04-01rename sua_codec to generic xua_codecHarald Welte4-32/+35
SUA/M3UA/M2UA/M2PA actaully all uses almost the same message format, so it makes sense to write one generic xua_codec and derive from that. The current SUA implementation didn't actually contain anything SUA specific, so we can just rename it and use xua_codec directly from the users.