Commit Graph

201 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther a9c411ec8c sccp: Allow to specify the context of the incoming message
At the time a SCCP CREF is sent there is no context anymore
and the user of the API might not know where to return the
message to. Allow to specify the incoming context and use it
on the way out.

There are no more callers of _send_msg which passes a NULL
connection and a NULL context.
2015-06-15 09:40:43 +02:00
Holger Hans Peter Freyther e0cd6c4d3b mtp: Correct the pointcode mask
Taken from libosmocore
2015-03-24 19:19:57 +01:00
Holger Hans Peter Freyther e48db7f497 mtp: Add missing defines from cellmgr-ng 2015-03-24 19:16:16 +01:00
Holger Hans Peter Freyther 6bdea14915 mtp: Add implementation from cellmgr 2015-03-24 19:12:54 +01:00
Holger Hans Peter Freyther 837beea52c mtp: Convert to pragma once
This already fixes a clash of filenames in cellmgr-ng
2015-03-24 19:09:13 +01:00
Holger Hans Peter Freyther 80565cd8c3 mtp: Error about unknown endian as well 2015-03-24 19:08:56 +01:00
Holger Hans Peter Freyther 0a8308764c mtp: Implement reading the OPC/DPC for little endian 2015-03-24 19:07:02 +01:00
Holger Hans Peter Freyther 953d4eda47 m3ua: Add the definition of the protocol data header 2015-03-24 18:34:57 +01:00
Holger Hans Peter Freyther 7046633c02 xua: Generalize the m2ua_msg and call it xua_msg
Generalize, this requires various API modifications
but that is the most sane path forward.
2015-03-23 12:28:06 +01:00
Holger Hans Peter Freyther 4d244d3c31 XUA: Move m2ua headers to sigtran, create xua_types.h and m3ua_types.h
Begin with type definitions for m3ua
2015-03-23 11:06:51 +01:00
Holger Hans Peter Freyther a93c6f3113 endian: Use new osmocom/core/endian.h
Use the new osmocom/core/endian.h to gaim portability.
This has only been compiled/make check on two little
endian systems.
2015-03-22 09:10:23 +01:00
Holger Hans Peter Freyther b01178898f sccp: Create sccp_create_cr and use it in the connection creation
The data is optional in the in the CR msg so we have to check if the
msgb is NULL or not.
2013-04-10 16:17:14 +02:00
Holger Hans Peter Freyther 84406e2779 sccp: Make sccp_write take an additional local context
For connection less data there is no way to pass a per context
data for outgoing data, add one.
2011-06-04 16:55:50 +02:00
Harald Welte 2d97000f98 Update include paths with libosmocore 0.2.0 2011-03-23 18:30:22 +01:00
Holger Hans Peter Freyther 4cd6e62eb3 m2ua: Fix some defines found when moving this to Smalltalk 2011-02-25 11:49:04 +01:00
Holger Hans Peter Freyther 2bf19da405 m2ua: Allow to set a log area for DM2UA. 2011-01-22 22:59:39 +01:00
Holger Hans Peter Freyther 9566027b07 m2ua: Implement to find a tag inside a message 2011-01-13 13:53:26 +01:00
Holger Hans Peter Freyther f3b7effbc1 m2ua: Add parsing and creation of m2ua packages 2011-01-12 12:50:09 +01:00
Holger Hans Peter Freyther b8962797a5 m2ua: Add enum values for the parameters of the individual messages 2011-01-12 12:50:01 +01:00
Holger Hans Peter Freyther 2127f19672 m2ua: Add basic header file for the common structure of a M2UA msg 2011-01-12 12:50:01 +01:00
Holger Hans Peter Freyther c7ba0e5018 mtp: Remove the mtp_data header file as it refers to the cellmgr 2011-01-12 12:49:55 +01:00
Holger Hans Peter Freyther 27cdccf74a sccp: Pass the sccp_connection down to the send method if it exists
This allows to identify the sccp connection and send the SCCP
payload down to a different stream depending on the connection. It
will be used by the bsc_msc_ip to keep multiple MSC connections
open.
2010-08-25 12:01:12 +08:00
Harald Welte 61307dafb8 move include files to $(includedir)/osmocom/* 2010-08-03 14:58:33 +02:00
Holger Hans Peter Freyther 3e021b827f sccp.c: Make the create work with data + len to not have a msgb 2010-08-02 23:01:02 +08:00
Holger Hans Peter Freyther b5a2f8d589 sccp: We have the gti_ind inside the address already. 2010-08-02 22:00:28 +08:00
Holger Hans Peter Freyther d2a7174414 sccp: Allow to create a _udt message with the given parameter. 2010-08-01 20:52:01 +08:00
Holger Hans Peter Freyther 00e6f692e9 mtp: Add the MTP Level3 code to the SCCP repoistory
SCCP can be wrapped inside the MTP Level3, and one can
use it for link testing as well. This repository should
be renamed to libosmo-itu or libosmo-ss7 and be a host
to SS7 related encapsulation...

The code is coming from the cellmgr-ng code.
2010-08-01 17:01:26 +08:00
Holger Hans Peter Freyther 7360a36ead sccp: Copy out pointers to the GTI into the parsed structure.. 2010-08-01 04:57:41 +08:00
Holger Hans Peter Freyther 9aa8c8bb35 sccp: Make it possible to have a POC inside the sockaddr_sccp.
Embed the POC, add the indicator, add the POC byte.
2010-08-01 04:57:41 +08:00
Holger Hans Peter Freyther 444d8d1234 sccp: Make it possible to put a GlobalTitle into the SCCP header. 2010-08-01 04:57:40 +08:00
Holger Hans Peter Freyther 17097d06b5 sccp: Add a new buildsystem for the OSMO SCCP library 2010-07-30 02:13:37 +08:00
Holger Hans Peter Freyther e4cb3e039b sccp: Adjust the code to only depend on libosmocore
* Introduce a method to set the value of the debug area to
  use and default it to -1. Turn the DSCCP enum into a local
  variable to make the log messages work.
* Remove usage of openbsc and libbsc.a
2010-07-30 02:12:02 +08:00
Holger Hans Peter Freyther e3c0d8bbf3 sccp: u_int32_t -> uint32_t 2010-07-23 18:40:10 +08:00
Holger Hans Peter Freyther acd31a3ac4 sccp: u_int8_t -> uint8_t 2010-07-23 18:39:17 +08:00
Holger Hans Peter Freyther 4da58e06ca [sccp] Add method to create a dt1 packet. 2010-05-17 04:08:57 +08:00
Holger Hans Peter Freyther 29c30a0c15 [sccp] Create a method to create RLSD messages. 2010-05-17 04:08:50 +08:00
Holger Hans Peter Freyther 72bec50b8e [sccp] Create a SCCP CC creation routine. 2010-05-17 04:08:42 +08:00
Holger Hans Peter Freyther 38cc0e6c4d [sccp] Make it optional to send data on a SCCP Connection Refuse
This can be used to send a Location Updating Reject down to the
BSC when it is clear that a subscriber is not allowed.
2010-05-15 05:35:48 +08:00
Holger Hans Peter Freyther bfa3c776af [sccp] Export function to create SCCP Refuse message. 2010-05-15 05:35:20 +08:00
Holger Hans Peter Freyther c459c0491a [sccp] Parse the error message and add a unit test for it. 2010-04-25 23:04:38 +08:00
Holger Hans Peter Freyther 902e32e051 [sccp] Add a force_free method for connections
E.g. when the underlying connection transport medium is gone
one needs to force to close SCCP connections, add this helper.

It will remove the connection from the list of connections and
it will free the data.
2010-04-05 22:00:24 +02:00
Holger Hans Peter Freyther a9e39c3264 sccp: Change the ownership of the msgb passed to the callback
Instead of deleting the msgb within the SCCP library the implementor
of the write callback needs to free it. This is required for non
blocking io with the server.
2010-03-26 05:44:21 +01:00
Holger Hans Peter Freyther dcf5d78525 Merge branch 'on-waves/sccp' 2010-02-14 19:27:52 +01:00
Holger Hans Peter Freyther f1aec7d448 [sccp] Make the bitfields work on big endian machines too
* Use the endian.h to fogure out for which endianess we are
  building and then use the bitfields in reverse order
2010-02-14 19:27:16 +01:00
Holger Hans Peter Freyther 756aaadf5b Merge branch 'on-waves/sccp' 2010-02-12 22:52:12 +01:00
Holger Hans Peter Freyther 63cd135faa [sccp] Make the file includable outside of OpenBSC 2010-02-12 22:51:24 +01:00
Holger Hans Peter Freyther 9ba1c6253a [sccp] Install the static sccp library and the headers 2010-02-12 22:42:13 +01:00
Holger Hans Peter Freyther 575d5def1b [sccp] Invent new API to be used by the BSC NAT
I want to reuse the SCCP code for header parsing in the BSC
NAT to identify data and patch the source local reference. To do
this the current handle_* methods will be changed into two parts
one is strictly parsing the other is handling the parsed data.
2010-01-29 04:35:34 +01:00
Holger Hans Peter Freyther 762afe424d [sccp] Add a utility for the nat..
Add a small helper to determine the type of a message
2010-01-29 04:35:18 +01:00
Holger Hans Peter Freyther 2ac75aeb4d [sccp] Implement sending the Inactivity Test on a connection..
Currently this will send a dummy inactivity test message,
there is currently no parsing or API to receive the messages.

The sequencing and credit entries are empty as sequencing
is currently not used at all.

The test is currently limited to send the message and see
if the application is crashing or not.
2009-11-20 13:09:15 +01:00
Holger Hans Peter Freyther 8bfd8d1648 [sccp] Implement parts of ITU SCCP for use in the A-Interface
include/sccp/sccp_types.h contain Q.713 and GSM definitions
include/sccp/sccp.h is the application interface resembling
                    the esentials of the UNIX socket interface.

src/sccp.c is the actual implementation of SCCP featuring
           connection and UDT1 support.

tests/sccp/sccp.c is testing connection creation and formating
                  of the SCCP messages used by the A-interface. And
                  it contains a simple fuzzing test to test the
                  robustnes of the implementation.
2009-11-20 13:09:15 +01:00