Harald Welte
0e6be0e8f8
debian: add init script, /etc/default file and example config files
2010-08-27 09:09:40 +02:00
Harald Welte
2c67f47dba
debian: make more dependencies explicit in 'control' file
2010-08-27 09:09:40 +02:00
Holger Hans Peter Freyther
7a2c86b67d
vty: Provide a is_config_node for the VTY and use it for the bsc
...
Right now only bsc_hack and osmo_bsc need to have a custom
config handling as they use the subscr/oml nodes.
2010-08-26 16:55:37 +08:00
Harald Welte
2c869efcd3
Introduce '-D' commandline option to daemonize processes
...
This uses the osmo_daemonize() function of libosmocore >= 0.1.18,
and is now implemented for bac_nat, osmo-bsc, bsc_hack, osmo-gbproxy
and bsc_mgcp. This means only osmo-sgsn is missing, which currently
has no option parsing at all.
2010-08-25 19:43:54 +02:00
Harald Welte
305e2906aa
debian: don't buld arch-independent packages with executables in them
2010-08-25 13:57:22 +02:00
Harald Welte
ba43969832
debian: don't use override_dh_* for lenny compatibility
2010-08-25 13:54:58 +02:00
Harald Welte
5c55c4901d
debian: add build dependency to pkg-config
2010-08-25 12:59:29 +02:00
Harald Welte
11e79bdbbb
debian: add runtime dependency to libdbd-sqlite3
2010-08-25 12:58:32 +02:00
Harald Welte
3edb60de7e
debian: add build dependency to libdbi0-dev
2010-08-25 12:58:32 +02:00
Holger Hans Peter Freyther
4dc025b4a8
bsc_init: Compare it with the right enum type
...
In both cases the int value was zero, so it actually worked
2010-08-25 12:33:57 +08:00
Harald Welte
640d72ab3b
Add 'debian' directory containing debian packaging information
2010-08-24 15:33:04 +02:00
Harald Welte
2a90a25c93
Add gprs_sndcp.h to noinst_HEADERS
2010-08-24 13:59:08 +02:00
Holger Hans Peter Freyther
e0009f10ca
gsm48: Add method to send a separate facility message...
...
Send a facility messages with notifySS/CNAP as payload
to the phone... the function is not called from anywhere
in the tree yet but I use it locally.
2010-08-12 01:44:57 +08:00
Harald Welte
c1fa794ed5
[GPRS NS] Fix memory leak in gprs_ns_sendmsg() error path
...
When gprs_ns_sendmsg() succeeds in sending the message, we free()d the
msgb after transmitting it on the socket. However, if the NS-VC is
blocked or some other error condition exists, we returned an error
code but didn't free the msgb.
This resulted in an error leak which is now being addressed.
2010-08-09 21:15:40 +08:00
Holger Hans Peter Freyther
5508fe3320
mgcp: Add a vty command to free a given endpoint.
2010-08-08 16:39:57 +08:00
Holger Hans Peter Freyther
9e9392d5b3
mgcp: Use transient errors in more cases...
2010-08-08 16:24:48 +08:00
Holger Hans Peter Freyther
e378cb1341
mgcp: Reduce the log level to debug for these calls.
2010-08-06 20:22:23 +08:00
Holger Hans Peter Freyther
da340638fd
nat: Do not report paging to every BTS...
2010-08-06 20:15:40 +08:00
Holger Hans Peter Freyther
7d47601a35
nat: In case the downstream fails on a CRCX, ask it to do a DLCX
...
If the CRCX is failing, we will send a DLCX downstream and the next
time the callagent tries to do a CRCX we will be more lucky. This is
for the case where we have an endp allocated.
2010-08-06 19:16:34 +08:00
Holger Hans Peter Freyther
39a97e24fb
mgcp: Remember if the endpoint was allocated...
...
Do not use the CI_UNUSED to decide if an endpoint is allocated
but introduce a new flag. This way only the CRCX and free_endp
play with the allocated field.
2010-08-06 18:03:11 +08:00
Holger Hans Peter Freyther
869e38eced
mgcp: Add a callback to inform the client that an endpoint got reallocated
2010-08-06 17:54:27 +08:00
Holger Hans Peter Freyther
c2ff55475e
nat: Use the state information for the callback.
2010-08-06 09:07:20 +08:00
Holger Hans Peter Freyther
5b2726e6b5
nat: Keep the state (CRCX,MDCX,DLCX) of the operation..
...
This will allow to have additional debug information and to
use the state inside the forwarding code.
2010-08-06 09:07:07 +08:00
Holger Hans Peter Freyther
b84b5f61ac
nat: Free the endpoint when we get an empty CI.
...
In case the BSC is sending us an empty/unused CI we have
a bug, but for now let us free the endpoint and figure out
which response we are getting.
2010-08-06 08:34:46 +08:00
Holger Hans Peter Freyther
4634013cde
mgcp: Make the CI uint32_t all the way to avoid mismatch
2010-08-06 08:29:37 +08:00
Holger Hans Peter Freyther
9c31cfc3a2
nat: Provide information of when a msg does not contain a CI
...
When we fail to find a CI in a message that should contain it
then print the message so we can analyze the issue and improve
the code later on.
2010-08-06 08:19:05 +08:00
Holger Hans Peter Freyther
52ccf6a480
mgcp: Fix discovering the RTCP port with the more strict check.
...
If we have found the BTS and we receive data on the RTCP port
from the IP of the BTS we will set our RTCP port and forward it
to the network and hope it will be useful.
2010-08-06 07:49:57 +08:00
Holger Hans Peter Freyther
0d44eb6a24
mgcp: Determine the proto properly...
2010-08-06 07:49:57 +08:00
Holger Hans Peter Freyther
e2170a9f03
bsc_msc: Remove the except code as it is wrong...
...
Remove wrong code that is luckily not called. We would end up
in a reconnect and attempt to bsc_fd_register the same socket
again. I am removing this part of the code as it is not used
and it would need to know if the fd has ever been registered
or not...
2010-08-06 07:49:57 +08:00
Holger Hans Peter Freyther
7fe2a3d293
mgcp: Add instrumentation code to find a possible port leak/bsc-fd corruption
2010-08-06 07:18:22 +08:00
Holger Hans Peter Freyther
414bf401c7
mgcp: Move the mgcp_free_endp into the right path for the CRCX failure
2010-08-06 07:05:13 +08:00
Holger Hans Peter Freyther
6f36e92cab
mgcp: Fix a filedescriptor leak in case the bind is failing.
2010-08-06 03:00:17 +08:00
Holger Hans Peter Freyther
0e01d09500
mgcp: Enable the tap after configuring it...
2010-08-06 02:05:15 +08:00
Holger Hans Peter Freyther
260d6ed02c
mgcp: Add a call tap feature to forward audio to another forward port
...
For debugging it is useful to forward (tee) UDP packets to another
system and use gstreamer to inspect the rtp stream. This is untested
code and might contain bugs.... and of course only tap your own calls.
2010-08-06 01:12:21 +08:00
Holger Hans Peter Freyther
6357a8e311
mgcp: Patch RTP packets again if that is allowed.
2010-08-05 20:08:22 +08:00
Holger Hans Peter Freyther
a39ddd5654
mgcp: Get the for network/for bts flag right.
2010-08-05 19:35:44 +08:00
Holger Hans Peter Freyther
ea97fbf1a1
mgcp: Be more strict on the source addr/source port of the bts
...
Once we have discovered the bts we will not accept data from
anything else. The call will drop if the BTS is changing the
ip address of the nat anyway.
2010-08-05 19:35:44 +08:00
Holger Hans Peter Freyther
b97c50db0a
mgcp: Only discover the bts once, the extra check got lost
2010-08-05 19:35:44 +08:00
Holger Hans Peter Freyther
d5e6c2374b
nat: Use the mgcp_config_alloc to have defaults initialized
...
Initialize the net_base properly and benefit from future
config changes but also reset certain defauls that we do
not want at the nat.
2010-08-05 19:17:25 +08:00
Holger Hans Peter Freyther
f138f917ec
mgcp: Allow to dynamically allocate ports from a range..
...
Allow to switch to a dynamic port allocator and not reuse
the ports for a long time... This should help with a crazy
network sending two streams at the same time.
2010-08-05 08:08:17 +08:00
Holger Hans Peter Freyther
1be9f2fddc
mgcp: Allow to have a different port allocation mode
2010-08-05 07:20:09 +08:00
Holger Hans Peter Freyther
15e7389cf0
mgcp: Prepare to have different port allocation strategies.
2010-08-05 07:10:56 +08:00
Holger Hans Peter Freyther
a3b46c9ac0
mgcp: Fix the signature of the change_cb to not carry the port.
2010-08-05 07:09:14 +08:00
Holger Hans Peter Freyther
e602cd6988
mgcp: Separate recv from net/bts and remove autodetection
...
This allows a more strict check on the source of RTP messages
and we can more easily reject those. For the BTS without an ip
address we will also update the ip address.
2010-08-05 06:57:29 +08:00
Holger Hans Peter Freyther
1fc432984c
mgcp: Move the loopback code into the common send as well.
2010-08-05 06:57:29 +08:00
Holger Hans Peter Freyther
b615164d75
mgcp: Remove the receive code into a new method.
2010-08-05 06:57:29 +08:00
Holger Hans Peter Freyther
84e1c47f74
mgcp: Move the selection of the right source port to a new method
2010-08-05 06:57:28 +08:00
Holger Hans Peter Freyther
314584ab44
mgcp: Allocate a different port for the networking...
...
Use the right source port when sending the message.
2010-08-05 06:12:02 +08:00
Holger Hans Peter Freyther
196349dda1
mgcp: Rename the base port to bts_base as it will be used for the bts
2010-08-05 06:10:58 +08:00
Holger Hans Peter Freyther
c49212778f
mgcp: Move the bfd for rtp/rtcp into the port
...
Stop using the memset in the mgcp_rtp_end_reset as we
will reset the list pointers and then have a mess..
2010-08-05 06:10:58 +08:00
Holger Hans Peter Freyther
bb89aa1430
mgcp: Make the function internal, only used by the init/config code
2010-08-05 06:10:58 +08:00
Holger Hans Peter Freyther
217d712012
mgcp: Rename the bind method to show it is only binding for the bts port
2010-08-05 06:10:57 +08:00
Holger Hans Peter Freyther
f1a168dc20
mgcp: Only use early bind for the BTS socket.
...
Simplify the code by onlt allowing one way to allocate
a socket.
2010-08-05 06:10:57 +08:00
Holger Hans Peter Freyther
58ff219c85
mgcp: Attempt to separate the RTP/RTCP port for the Network and for the BTS
...
We plan to have two different ports for the network and for the
BTS to avoid detecting the BTS and to dynamically allocate the
port to have old data not go to a new socket.
2010-08-05 06:10:57 +08:00
Holger Hans Peter Freyther
a17d701a70
mgcp: Group the state for bts/net into a struct and have two instances
...
Group the data that each end (network/bts) have into a struct and use
this struct throughout the sourcecode.
2010-08-05 06:10:54 +08:00
Holger Hans Peter Freyther
8b5772ebe4
mgcp: Remove the forwarding mode as it was not used.
2010-08-05 06:10:13 +08:00
Holger Hans Peter Freyther
7f8aec2b2b
mgcp: Fix the payload_type... it broke in 7cdc62c012
2010-08-05 06:10:10 +08:00
Holger Hans Peter Freyther
e66cac359e
nat: Fix the spelling of that comment.
2010-08-05 06:04:13 +08:00
Holger Hans Peter Freyther
7cdc62c012
mgcp: Fix the reversed net/bts... which has not cause any issue..
2010-08-04 22:21:40 +08:00
Holger Hans Peter Freyther
c02f11a04f
mgcp: Pass the whole endpoint to the patch method.
2010-08-04 22:20:34 +08:00
Holger Hans Peter Freyther
f1f6bba16d
mgcp: Fix the order of the arguments...
2010-08-04 22:14:46 +08:00
Holger Hans Peter Freyther
aaf8301a19
mgcp: Print the conn mode as well
2010-08-04 21:52:11 +08:00
Holger Hans Peter Freyther
bb14e62a7f
mgcp: Disable the actual patching... this is a temporary hack
2010-08-04 21:52:11 +08:00
Holger Hans Peter Freyther
2f10458831
mgcp: Print the system for the duplicate SSRC...
2010-08-04 21:52:11 +08:00
Harald Welte
6526ca720c
ipaccess-config / NWL: Decode + print neighbor cell ARFCNs
2010-08-04 13:14:34 +02:00
Holger Hans Peter Freyther
a64c67dd61
vty: Remove the logging command that is in libosmocore
2010-08-04 06:26:25 +08:00
Holger Hans Peter Freyther
cbfd09843a
nat: Show if we are connected to the MSC.
2010-08-04 02:34:10 +08:00
Holger Hans Peter Freyther
a99c5b9d0f
nat: Count the number of connects to the MSC.
2010-08-04 02:31:55 +08:00
Holger Hans Peter Freyther
03a0ad08cf
nat: Indent the connected... to make it belong to the BSC group
2010-08-04 02:29:03 +08:00
Holger Hans Peter Freyther
62abaded39
bsc_msc: Fix the naming of this function.
2010-08-04 02:27:34 +08:00
Holger Hans Peter Freyther
5c1e6cf5fc
mgcp: Only patch the header if we had a change in SSRC
2010-08-03 23:57:16 +08:00
Holger Hans Peter Freyther
89976e8285
mgcp: Style issue... add a space.
2010-08-03 23:57:16 +08:00
Holger Hans Peter Freyther
6aa882b515
mgcp: Allow switching the audio streams, patch the header
...
Patch the sequence number, the SSRC and the timestamp to
allow to mix various voice streams, e.g. toggling the loop
during the call.
2010-08-03 23:57:16 +08:00
Holger Hans Peter Freyther
3186892771
mgcp: Move the rtp state into a struct
...
Use a struct to group the rtp state for the up and the down
link of the bts.
2010-08-03 23:57:16 +08:00
Holger Hans Peter Freyther
ebc824cd2e
mgcp: Fix the documentation entry for the parameters
2010-08-03 23:57:16 +08:00
Harald Welte
d5db12c160
Use new include paths of libosmo-sccp 0.0.2
2010-08-03 15:11:51 +02:00
Holger Hans Peter Freyther
c597a4eba1
mgcp: Allow to change the receive (the loopback part) via the VTY
2010-08-03 03:04:31 +08:00
Holger Hans Peter Freyther
98a3877e97
mgcp: Implement the "loopback" mode for a connection endpoint.
2010-08-03 02:27:21 +08:00
Holger Hans Peter Freyther
294cfcc1e5
sccp: Remove the libsccp.pc.in and the occurence inside the Makefile.am
2010-08-02 23:43:46 +08:00
Holger Hans Peter Freyther
c2b31ed9cd
nat: Fix compilation with nat not being enabled.
...
common_vty.c was including bsc_nat.h which tried to
get the sccp/sccp_types.h which is not required to be
installed. Move all structs using/embedding SCCP structures
into the bsc_nat_sccp.h and include. This should fix
the compilation.
2010-07-31 05:20:31 +08:00
Holger Hans Peter Freyther
5654c5b090
vty: Handle end for NAT and BSC NAT.
2010-07-31 05:20:31 +08:00
Harald Welte
a780a3dc9f
network-listen: The BSIC flag is not set as expected
2010-07-30 22:35:31 +02:00
Harald Welte
e1d1f45034
ipaccess-config: Don't dump the Rxlevel statistics
2010-07-30 22:35:31 +02:00
Harald Welte
59509630df
ipaccess-config: Terminate program after running BCCH INFO test
2010-07-30 22:35:30 +02:00
Harald Welte
1e194a304f
network_listen: dump BSIC as part of BCCH INFO test
2010-07-30 22:35:30 +02:00
Harald Welte
1ef7ce4fe8
ipaccess-config: Add option to disable color in log output
2010-07-30 22:35:30 +02:00
Holger Hans Peter Freyther
4b85a32360
chan_alloc: Change Channel Release to release SAPIs, then the channel
...
Currently every SAPI release indication will trigger the channel. It
was possible that we had SAPI=3 and SAPI=0 allocated and we tried to
release the channel by sending a RF Channel Release, the BTS answered
with a RF Channel Release ACK but also sent the SAPI Release Indication
which triggered a channel release here. So it was possible that we
would have released a newly allocated channel because of the SAPI
release of the old connection.
This code now works by releasing all SAPIs from highest to lowest,
then sending a SACH Deactivate and finally releasing the channel. This
approach is in use on the on-waves/bsc-master.
2010-07-31 04:09:38 +08:00
Holger Hans Peter Freyther
aeb45f5186
chan_alloc: After freeing set the pointer to NULL.
2010-07-31 04:09:38 +08:00
Holger Hans Peter Freyther
30e1ae923d
sccp: Use the external libosmo-sccp as sccp implementation
...
Add --enable-nat and --enable-osmo-bsc to build applications
requiring the Osmo SCCP library to be installed. We are not
using autodiscover as this is out of fashion.
2010-07-31 04:09:38 +08:00
Holger Hans Peter Freyther
c44db4a534
abis_rsl: Reduce level from notice to debug for measurement reports
...
It can happen that OpenBSC decides to close the lchan but we
still receive some measurement reports until the BTS has decided
to close the channel.
2010-07-31 04:09:38 +08:00
Harald Welte
290aaed6e4
[BSC] use correct 0x2B padding for user-specified SI
2010-07-30 11:53:18 +02:00
Harald Welte
9fbff4adac
[BSC] Add support for configfile-hardcoded System Information messages
2010-07-30 11:50:09 +02:00
Harald Welte
5f827f4ede
Add more RSL <-> Osmo SI type mappings, export osmo_sitype_strs[]
2010-07-30 11:17:13 +02:00
Harald Welte
88f9d98ccc
Use hexparse() from libosmocore >= 0.1.14
2010-07-30 10:39:26 +02:00
Holger Hans Peter Freyther
417920a660
mgcp: Attempt to count lost packets better...
2010-07-29 03:04:57 +08:00
Holger Hans Peter Freyther
1aa4246bb8
mgcp: Provide the RTP packet loss information in the mgcp overview
2010-07-29 02:43:14 +08:00
Holger Hans Peter Freyther
380b8711a2
mgcp: Attempt to count missing RTP packets with a basic calculation
...
This code compares the UDP sequence numbers of two RTP messages
and guesses if packets are missing. It is guessing in two ways:
1.) by default the sequence number is 0, so on the first
value we ignore the jump... we might ignore a real issue
in case of a wrap around which is easily possible as the
sequence should be a random number.
2.) the UDP stream might have been reordered on the network
and we would see the jump...
In any case these two shortcomings are acceptable for the feature
that is meant to provide some basic analysis..
2010-07-29 02:41:38 +08:00
Holger Hans Peter Freyther
12b917d839
osmo_bsc_rf: Add a grace command, send a signal
2010-07-29 02:41:38 +08:00
Holger Hans Peter Freyther
d0c3229590
mgcp: Rename TOS to DSCP
...
DSCP is the more modern information for TOS and the kernel
will set parts of TOS by itself (e.g. for ECN).
2010-07-27 20:35:03 +08:00
Holger Hans Peter Freyther
6b7710739a
nat: Rename ip-tos to ip-dscp and provide an alias...
2010-07-27 19:21:53 +08:00
Holger Hans Peter Freyther
e731e1d6dd
gsm_04_80: Allow to specify the alert pattern for the notification
...
Allow to specify the level (not the category) of the notification
this provides an easy way to test it on the phones.
2010-07-27 18:27:46 +08:00
Holger Hans Peter Freyther
44d0f19787
gsm_04_80: Embed a ss_Code inside the NotifySS-ARG...
...
Indicate that this is about the Call Name Presentation (cnap)
but the a1200 still ignores the call completelty...
2010-07-27 04:05:29 +08:00
Holger Hans Peter Freyther
68d26796ca
gsm_04_80: Send a Release Complete otherwise the USSD unit stays BUSY
...
We need to release the USSD unit, otherwise it is staying blocked
and will stop to function (even across LUs on my a1200). This code
should encode the transaction and the direction depending on the
network state but this is omitted right now.
2010-07-27 03:31:50 +08:00
Holger Hans Peter Freyther
e6373b7f63
gsm_04_80: Fix the size calculation of the 04.80 message..
...
Subtract the two bytes we were adding to the length of the message.
2010-07-27 01:25:59 +08:00
Holger Hans Peter Freyther
daf753477e
gsm_04_80: Add untested code for USSD notification...
...
One should be able to send a USSD Notification to a given
subscriber if we has an active link...
2010-07-26 20:01:07 +08:00
Holger Hans Peter Freyther
742fc70011
vty_interface_layer3: Fix a subscriber memory leak..
2010-07-26 19:43:54 +08:00
Holger Hans Peter Freyther
ac30cc833c
gsm_04_80: Use msgb_push to get the verification code of msgb
...
msgb started to verify that we do have enough tail/headroom
and this code was not using this check.
2010-07-26 19:08:59 +08:00
Holger Hans Peter Freyther
b02c89e292
gsm_04_80: Add code to wrap a facility IE around.
2010-07-26 19:05:56 +08:00
Holger Hans Peter Freyther
15ef17e70e
gsm_04_80: Create a unstructuredSS-Notify message
...
Create a unstructuredSS-Notify for a given type.
2010-07-26 18:34:27 +08:00
Holger Hans Peter Freyther
80dfa75df2
gsm_04_80: Fix the style and move the '*' to the function
2010-07-26 17:59:28 +08:00
Holger Hans Peter Freyther
ba81ab329c
gsm_04_80: Use the return value of gsm_7bit_encode as length
...
Use the idiom msgb_put(msg, 0) to get the data pointer, then
encode the string into the msgb and then adjust the size.
2010-07-26 17:56:55 +08:00
Holger Hans Peter Freyther
6a4b362ceb
gsm0480: Implement a generic "invoke" wrapping for messages.
...
Implement a GSM 04.80 invoke wrapper for a component and an
invoke id.
2010-07-26 03:55:57 +08:00
Holger Hans Peter Freyther
680833e2ba
gsm0480: Attempt to encode a NotifySS-Arg with a username..
2010-07-26 03:55:57 +08:00
Holger Hans Peter Freyther
fa530cd6d8
gsm_subscriber: Increase the name to 160 charachters
...
160 charachters is the limit of the subscriber name inside
the notifySS nameIndicator/callingName.
2010-07-26 03:55:56 +08:00
Harald Welte
d30e087521
[gprs] BSSGP: Fix null pointer dereference
...
Zecke has found this using "make CC="clang --analyze"
2010-07-23 22:00:45 +02:00
Holger Hans Peter Freyther
6e95c5ffa1
meas_rep.c: clang reports a possible division by zero
...
Check the input and exit early if we have no measurement reports
to avoid a possible division by zero.
2010-07-23 19:46:04 +08:00
Holger Hans Peter Freyther
8d7b10ef58
nat: Clang reported two places with garbage data
...
Initialize the variables to NULL to fix it.
2010-07-23 19:43:12 +08:00
Holger Hans Peter Freyther
4f140649cb
clang: rc is not initialized in this USSD method.
2010-07-23 19:35:54 +08:00
Holger Hans Peter Freyther
a97152b242
clang: Initialize rc with zero.
...
In the error case we are assigning errno values
but for the success case we have not assigned
anything to the rc variable.
2010-07-23 19:34:34 +08:00
Holger Hans Peter Freyther
960e81e5bd
clang: Clang warns we have this value twice...
...
The type is TLV_TYPE_FIXED, 2 according to the
ipaccess wireshark dissector.
2010-07-23 19:33:16 +08:00
Holger Hans Peter Freyther
306e2bc724
nat: u_int32_t -> uint32_t
2010-07-23 19:09:51 +08:00
Holger Hans Peter Freyther
e2c1520a71
nat: u_int16_t -> uint16_t
2010-07-23 19:09:21 +08:00
Holger Hans Peter Freyther
dbd16fe59a
nat: u_int8_t -> uint8_t
2010-07-23 19:08:55 +08:00
Holger Hans Peter Freyther
7dece86a08
mgcp: u_int8_t -> uint8_t
2010-07-23 18:56:26 +08:00
Holger Hans Peter Freyther
d340cd3b2f
mgcp: u_int16_t -> uint16_t
2010-07-23 18:56:01 +08:00
Holger Hans Peter Freyther
d9b18f8c21
mgcp: u_int32_t -> uint32_t
2010-07-23 18:55:38 +08:00
Holger Hans Peter Freyther
ca157ed3c3
Merge branch 'on-waves/sccp'
2010-07-23 18:42:27 +08:00
Holger Hans Peter Freyther
ccc91f3088
sccp: u_int32_t -> uint32_t
2010-07-23 18:40:10 +08:00
Holger Hans Peter Freyther
f957095385
sccp: u_int16_t -> uint16_t
2010-07-23 18:39:39 +08:00
Holger Hans Peter Freyther
c2c4621a5d
sccp: u_int8_t -> uint8_t
2010-07-23 18:39:17 +08:00
Holger Hans Peter Freyther
8cb4a0f35d
rsl: Add method to send a SMSCB inside a SMS BROADCAST COMMAND
...
* Untested code for sending the SMS BROADCAST COMMAND.
2010-07-23 17:16:48 +08:00
Holger Hans Peter Freyther
c702b7528f
bsc_api: Add cipher mod reject api callback
2010-07-23 17:15:15 +08:00
Holger Hans Peter Freyther
dbc62db8db
bsc_api: Add stub for the cipher mode command.
2010-07-23 17:15:15 +08:00
Holger Hans Peter Freyther
c354de8f94
bsc_api: Create dummy stub for the assignment command.
2010-07-23 17:15:15 +08:00
Harald Welte
5eed0a2e01
network_listen: hexdump the SI2/SI2bis/SI2ter messages once we get them
2010-07-22 21:54:20 +02:00
Harald Welte
c95cf10d08
[ipaccess-config] fix bugs in generating the PHYSICAL CONFIG attribute
...
... while asking the BTS to perform tests for us. The length of the
ARFCN whitelist is the actual length in bytes, not the number of 16bit
ARFCN numbers.
Also, implement a limit, either by rxlevel or by number of ARFCN
that should end up in the whitelist.
2010-07-22 21:54:19 +02:00
Harald Welte
e39a5912f1
[ipaccess-config] make sure the ARFCN Whitelist EIE is built correctly
2010-07-22 21:54:19 +02:00
Harald Welte
af109b9fa9
[abis_nm] fix 2 bugs in parsing IPA Test response messages
2010-07-22 21:54:19 +02:00
Harald Welte
a0b0f36ff0
ipaccess-config/network-listen update
...
* transition through cycles of NWL tests
2010-07-22 21:54:19 +02:00
Harald Welte
887deabe38
ipaccess-config / network listen: ordered list of RxLevels
...
Use libosmocore 'rxlev_stat' module to generate an ordered list
of ARFCN's, sorted by RxLev while performing test nr. 64
2010-07-22 21:54:19 +02:00
Harald Welte
549faada21
move ip.access netowrk listen (NWL) to network_listen.c
...
Also, we now re-start the network listen test after it has finished,
so if you run a test from ipaccess-find, the test will get re-started
and re-started all the time.
2010-07-22 21:54:19 +02:00
Holger Hans Peter Freyther
f21e453dc9
nat: Provide an easy view to see if something is connected to the NAT.
2010-07-22 20:37:35 +08:00
Holger Hans Peter Freyther
e8723dcb86
nat: Fix nat crash on start due forgetting the ->data pointer..
2010-07-22 20:30:40 +08:00
Holger Hans Peter Freyther
c95cfda58d
nat: Introduce a show statistics-by-lac LAC
...
Currently show show statistics only work by given the internal
configuration number, add a version that is working by LAC of
the BSC.
2010-07-22 20:26:10 +08:00
Harald Welte
a60923821f
make 'neci 1' the default in the example config files
2010-07-14 13:56:36 +02:00
Holger Hans Peter Freyther
6d2b66e89a
abis_nm: Create a signal data structure for the NACK message
...
Provide the message type and the msgb of the NACK message.
2010-07-14 02:08:35 +08:00
Holger Hans Peter Freyther
4f448c97eb
bsc: Add header file for the true BSC API.
2010-07-05 16:04:36 +08:00
Holger Hans Peter Freyther
02d39b2c4d
msc: Create a dummy operation to keep the channel open for five seconds
...
* We should create the transaction for SMS, CC on the CM Service Request
but for now we will use a band aid and create a dummy operarion to wait
five seconds for the transaction to be opened.
2010-07-05 15:36:08 +08:00
Holger Hans Peter Freyther
d1d45b3b89
nat: Remove the first_contact variable.
2010-07-05 14:47:15 +08:00
Holger Hans Peter Freyther
20ee312d5c
nat: Create a method to determine if any MSC is connected.
...
In the future we will have multiple MSC connections so we will
need to figure if any of them is active.
2010-07-05 14:39:44 +08:00
Holger Hans Peter Freyther
bec411b9db
nat: Store the msc_con in the data of the bsc_fd
...
* Stop using nat->msc_con in the read_cb but use the data.
2010-07-05 14:30:21 +08:00
Holger Hans Peter Freyther
db65bbd515
nat: Make queue_for_msc use the msc_con parameter, pass in the right msc_con
...
* Return msg'es to the right MSC Con. Right now it is nat->msc_con.
* When forwarding from BSC to MSC, use the msc_con inside the
sccp_connections. This means we will only forward data with a
connection to the BSC.
2010-07-05 14:30:14 +08:00
Holger Hans Peter Freyther
3a77e61033
nat: Keep track of the MSC handling the connection.
...
In the future we might have multiple MSCs connected
and need to dispatch it to the right one.
2010-07-05 13:33:18 +08:00
Holger Hans Peter Freyther
f0945408f5
nat: Fix the testcase and init the logging infrastructure
2010-07-05 13:29:42 +08:00
Holger Hans Peter Freyther
49ab278b6f
bsc_api: Only forward L3 messages when the channel is active
...
Avoid forwarding messages from a channel that is already being
closed. Harald has forwarded a crash report where this was failing.
2010-07-05 11:38:37 +08:00
Holger Hans Peter Freyther
952db280bd
configure.in: Require 0.1.13 of libosmocore...
2010-07-05 10:55:28 +08:00
Sylvain Munaut
6f3850fcac
gprs/llc: Don't check FCS in gprs_llc_hdr_dump
...
The FCS isn't computed yet (because of ciphering).
It _will_ be tested and reported as wrong later in the code
so we can just display it here and let the latter code report the
error if any.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-03 22:24:13 +02:00
Sylvain Munaut
7a7d364725
db.c: Fix some SQL queries for ambiguous column names
...
Thanks to Luca Bertoncello for pointing this out
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-03 22:24:13 +02:00
Sylvain Munaut
adea4f1bf8
db: Use proper %llu for subscriber ID in format string.
...
This was causing weird crashes when running in 32 bit linux.
Thanks to horiz0n for taking the time to debug this with me on IRC.
Written-by: horiz0n <cscan@gmx.net>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-03 22:24:13 +02:00
Harald Welte
c48ac4750d
[SGSN] Some IEs in ATTACH REQUEST can be longer in 24.008
...
The original length checks were based on 04.08, but 24.008 allows
longer IEs.
2010-07-03 21:20:06 +02:00
Harald Welte
4b6ac1edb9
[SGSN] Initial work on GMM authentication and ciphering
2010-07-03 11:09:06 +02:00
Harald Welte
3e2e159707
[SGSN] LLC: only copy Kc if algorithm != GPRS_ALGO_GEA0
...
The caller currently has set the Kc pointer to NULL, this fix avoids
crashing at the callee.
2010-07-02 22:56:55 +02:00
Harald Welte
d6f582b352
[SGSN] use GPRS_ALGO_GEA0 instead of '0'
2010-07-02 22:56:55 +02:00
Harald Welte
1b8827ae5b
[SGSN] LLC: Make sure we calculate FCS after decryption
2010-07-02 22:55:39 +02:00
Harald Welte
d07b4f99ce
[SGSN] Use libosmocore GPRS encryption plugins from LLC layer
...
This adds the bits that call into libosmocore (and its plugins)
to implement GPRS (LLC) encryption.
2010-07-02 22:55:39 +02:00
Harald Welte
496aee463f
[SGSN] Call libosmocore helper to load cipher plugins
2010-07-02 22:54:55 +02:00
Harald Welte
6ed4950d5b
[SGSN] remove bogus debug statement
2010-07-02 22:52:33 +02:00
Harald Welte
23c13760ca
[SGSN] SM: Properly parse APN and PCO Optional IE in PDP CTX ACT REQ
2010-07-02 22:52:04 +02:00
Harald Welte
c5d4a0ced1
[SGSN] Print AP name and PDP address of each PDP context
2010-07-02 22:51:16 +02:00
Harald Welte
6add7c2009
[SGSN] Correctly pass IMSI of MM ctx to GTP/GGSN
2010-07-02 22:47:39 +02:00
Harald Welte
3d6815abd1
[SGSN] SNDCP: Subtract SNDCP header from fragment length
...
We don't want to store too many bytes as we would otherwise create
too large re-assembled packets..
2010-07-02 17:16:07 +02:00
Harald Welte
36f1217f32
[SGSN] SNDCP: SN-PDUs need a 16bit length field
...
The BSSGP LLC-PDU IE can have up ot 16bit length, so subtracting
the LLC header the SN-PDU can still have almost a length field
close to 0xffff
2010-07-02 16:44:24 +02:00
Harald Welte
8b705f2533
[SGSN] SNDCP: re-set total number of fragment length
2010-07-02 16:18:59 +02:00
Harald Welte
18d1452a92
[SGSN] Send poper SM and GMM STATUS in case we have no MM CTX
2010-07-02 16:18:18 +02:00
Harald Welte
ab4094ca6b
[SNDCP] some more defragmentation debug statements
2010-07-02 16:01:47 +02:00
Harald Welte
60da7d4f88
[SGSN] SNDCP defrag: use correct length, don't include LLC FCS
...
The LLC layer tells us the PDU length, and we have to use it
in SNDCP rather than to re-calculate it if we want to avoid copying
the CRC24 into the defrag elements.
2010-07-02 15:45:12 +02:00
Harald Welte
8f0c0a3a3c
[SGSN] SNDCP: Actually copy the payload data in the defrag queue entry
...
Prior to this patch our defragmented messages always consisted of 00-bytes
2010-07-02 10:29:06 +02:00
Harald Welte
11ff3e8ec2
[SGSN] Remove old dead code
2010-07-02 10:17:24 +02:00
Harald Welte
19f9e30eb9
[SGSN] Only increment PDP CTX ACT count after check for retransmission
2010-07-02 10:15:49 +02:00
Harald Welte
b37515e86b
[SGSN] Account for re-transmitted PDP CTX ACT REQ
...
In case our PDP CTX ACT ACK gets lost on the Gb or Um link,
the MS re-transmits the PDP CTX ACT REQ. We have to ACK it
again instead of REJecting it..
2010-07-02 10:12:58 +02:00
Harald Welte
993697c8d2
[SGSN] SNDCP: Fix off-by-one error missing last segment in defrag
...
When we defragment the segments from the defrage queue, we have
to iterate all the way up to (and including) the last segment number
that we have received.
2010-07-02 10:11:42 +02:00
Harald Welte
b87bc86006
[SGSN] SNDCP: more verbose defragmentation debugging
2010-07-01 20:29:20 +02:00
Harald Welte
8911cef81d
[SGSN] Fix segfault when passing re-assembled SN-PDU to GMM
...
sgsn_rx_sndcp_ud_ind() can no longer make the assumption that msgb_bcid() is
valid, as this is only true for an un-fragmented SN-PDU. So instead,
we now store the RAID in the SNDCP Entity and pass it as an explicit
argument to sgsn_rx_sndcp_ud_ind().
2010-07-01 19:56:19 +02:00
Harald Welte
951a12cf4e
[SGSN] SNDCP: fix off-by-one error during defragmentation
2010-07-01 15:09:45 +02:00
Harald Welte
362aea0f4d
[SGSN] SNDCP: Initialize defrag list header
2010-07-01 12:31:10 +02:00
Harald Welte
fd29a1f6cc
[SGSN] GMM: Complete value_string for GMM cause values
2010-07-01 12:26:59 +02:00
Harald Welte
65d96783df
[SGSN] SNDCP: use llist_for_each_entry_safe() when cleaning frag queue
2010-07-01 12:19:02 +02:00
Harald Welte
875840c603
[SGSN] Fix TLLI (re)assignments
...
Once The TLLI (or P-TMSI of which it is derived) change has been
confirmed by the MS, we need to unassign the old TLLI but keep
the new TLLI _without_ re-setting the LLC entity structure such
as VUsend /VUrecv counters.
2010-07-01 11:54:31 +02:00
Harald Welte
937a9ecfcd
[SGSN] Fix segfault when doing PS PAGING
...
The 'bssgp_paging_info' contains a pointer to the P-TMSI, and not
the P-TMSI itself. The reason is that it is an optional BSSGP IE.
2010-07-01 11:53:25 +02:00
Harald Welte
f78a3b2a22
[SGSN] Add VTY interface for SNDCP
2010-07-01 10:57:44 +02:00
Holger Hans Peter Freyther
cacbc73d5e
osmo_bsc: Add option parsing, vty dummy
...
Add dummy files and option parsing for the Osmo BSC code.
2010-06-30 15:11:30 +08:00
Holger Hans Peter Freyther
ab5135e36a
bsc: Move meas_rep.c into the libbsc.c as it is used from bsc_vty.c
2010-06-30 15:11:30 +08:00
Holger Hans Peter Freyther
5ccab1020c
osmo_bsc: Add empty osmo_bsc_main.c and hook it into the build
2010-06-30 15:11:29 +08:00
Holger Hans Peter Freyther
ec4bfdc435
bsc_api: Move the API init into the main function.
...
The BSC API will not be used until the first iteration through
the event loop so it is safe to call it after the bootstrap.
2010-06-30 15:11:29 +08:00
Holger Hans Peter Freyther
2f4dbebb20
osmo-bsc: Start adding code for the osmo_bsc..
...
This adds the unix domain socket rf control protocol into
the new subdirectory.
2010-06-30 15:11:29 +08:00
Nico Golde
5950236b5e
* Fix null ptr dereference and sms memleak in case the recipient of an sms sent via vty is not attached. Store the sms in the database in this case for later delivery.
...
The problem is that sms_from_text returns NULL in case the
subscriber is not attached which a) leaks memory of the
previously allocated sms and b) runs into a null ptr
dereference in _send_sms_str().
There may be a better solution than this but this is the
easiest way of noticing and taking action I could find
without changing return values of sms_from_text.
2010-06-30 09:10:04 +02:00
Harald Welte
bd17b39fd2
[BSC] VTY: Fix parsing of uppercase hex digits
2010-06-30 09:01:35 +02:00
Harald Welte
43ef6483db
[SGSN] BSSGP: Print TLLI as hex value like everwhere else
2010-06-30 09:01:35 +02:00
Holger Hans Peter Freyther
d9c9f07c2c
handover: lchan_free will only free the local resources.
...
lchan_free only free's the local resource of the BSC but
does not release the channel at the BTS. Use lchan_release
to properly release the channel. This code assumes that the
timeout happens after a CHAN ACT ACK/NACK otherwise we have
some problems. The comment indicates that this is the case.
2010-06-30 13:04:13 +08:00
Holger Hans Peter Freyther
f2553a6c3a
handover: Call bsc_handover_clear from gsm0808_clear
...
The bsc_handover_clear will release an in-progress handover
and free the lchana and the data associated with this handover
2010-06-30 13:02:08 +08:00