Holger Hans Peter Freyther
da488ae343
bsc: Implement sending the assignment complete to the network
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
2d2c910f2c
bsc: Implement sending a Cipher Mode Complete message
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
4582586e24
bsc: Add a method that will queue the message on a MSC connection.
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
7225fd18e0
bsc: Add some basic checks to see if a SCCP connection is established
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
1999cf11b9
bsc: Complain about unimplemented stuff.
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
77cd95d5b5
bsc_api: Implement the assignment command for the BSC.
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
f05750ca24
bsc_api: Rework the signal handler to be extendable
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
abf962b096
bsc_api: Clear lchan->conn on lchan_release
...
Set conn to NULL before starting the release procedure, remove
code to check for a lchan->conn as it can not happen. If there
are any memleaks we will notice them.
Detach the lchan->conn from the channel before detaching.
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
8d216c7756
bsc_api: Clear the conn->lchan before calling subscr_con_free
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
a2e5cb8601
bsc_api: Clear the conn of the failed lchan to avoid a runtime warning
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
a2828fa4bc
bsc_api: Set the lchan->conn to NULL in all of the cases
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
088dde8173
bsc_api: Send a channel modify when we already have a TCH.
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
7e50c8140b
bsc_api: Plug a theoretical window for the RLL callbacks
...
The timedout could come between lchan_release and the
S_CHALLOC_FREED signal. In the future we might want to
use the gsm0808_clear to stop the RLL timeouts and such.
2010-11-15 20:06:47 +01:00
Holger Hans Peter Freyther
8d380dcadd
bsc_api: Change submit dtap to allow to automatically use the SACH
...
For SAPI=3 on a TCH it might be nice to use the SACH to submit
the message. The api allows to automatically use the SACH if
a message like this is submitted.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
2603c1f545
bsc_api: Clarify the parameters of the assignment command
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
4be7d41a50
bsc_api: Implement sending the cipher mode method
...
This will set the encryption algorithm, key and then
send the RR Cipher Mode message to the MS. The method
is also verifying the input.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
2f169d64dd
bsc_api: Make the cipher_mode take the 'include imei sv' argument
...
The cipher mode command should enable encryption and send the
right RR message to the other side.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
45b575fd94
bsc_api: The rr_cause is optional, pass it as a pointer
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
66dcd925c6
bsc_api: Nuke the clear complete from the API.
...
There is no place where it can be called. Whoever is calling
the gsm0808_clear method should generate the clear complete
as the result.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
46caa3048d
bsc_api: Provide the link_id in the dtap callback.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
b094171c9f
bsc_api: Add needed parameters to the assignment complete callback
...
Provide the chosen channel and more information in the assignment
complete method.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
e1996f013c
bsc_api: The cipher mode is not a message on the air interface
...
The cipher mode reject will be send in case the BSC is not
able to support the requested cipher. So this reject can be
handled by however attempts to enable ciphering.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
6c199e7d99
bsc_api: Look into the msg and call the right API functions
...
For certain messages we will need to call other GSM0808 functions. To
keep the bsc_hack working we will try to send this through the normal
messages first and then fallback to dtap if no handler is registered.
The gsm_04_08.c code is not forced to handle the IPA activation
and channel modify ack anymore. This is done transparently by the
BSC API now.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
fce9307553
bsc_api: Change the cause to a uint8_t for now
...
The RR Cause can only be one byte. Change from uint16_t to uint8_t for that.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
05c68841a8
bsc_api: Fix a use after free error in the Clear Request path
...
The implementation of bsc_hack would call subscr_con_free before
the BSC API has had the chance to call gsm0808_clear to try to
release other channels. Fix that by adding a return value.
2010-11-15 20:06:46 +01:00
Holger Hans Peter Freyther
85334f1309
paging: Move the paging data into the paging.h
2010-11-15 20:06:45 +01:00
Holger Hans Peter Freyther
8dfd241bc6
subscr: Add method to find an active subscriber
...
This is used by the paging code of the osmo_bsc. When we get
a paging response there should be an active subscriber with
the TMSI or IMSI and we can stop paging. There is no need to
allocate a new subscriber.
2010-11-15 20:06:45 +01:00
Holger Hans Peter Freyther
d740b688dc
subscr: Add the subscr_get_or_create from the on-waves/bsc-master branch
...
Create a subscriber based on a known IMSI, search the list of
active subscribers if there is already someone like this.
2010-11-15 20:06:45 +01:00
Holger Hans Peter Freyther
928ca743db
subscr: Move the TMSI reserved into the gsm_data
...
Put it into the gsm_data.h to avoid requiring MSC code
in the BSC code paths.
2010-11-15 20:06:45 +01:00
Holger Hans Peter Freyther
8cc59036e6
rsl: Allow to hardcode the RTP Payload
...
In case of a inflexible network it is better to hardcode
the rtp payload to a given type. E.g. when using AMR5.9 on
a TCH/F and TCH/H having the same payload is helpful. For
now this will be only used by the osmo-bsc.
2010-11-15 20:06:45 +01:00
Holger Hans Peter Freyther
ecd94a4b45
misc: Introduce a --enable-coverage mode to build with gprof coverage
...
This adds a test coverage build. One can use gcov and lcov on the
resulting data afterwards to see which code paths were executed and
which were not.
2010-11-15 20:06:45 +01:00
Holger Hans Peter Freyther
0b369c582b
e1_input: Fix compiler warning by using offsetof
...
Use the offsetof/__builtin_offsetof to determine the
offset of a variable inside a structure instead of going
via a NULL pointer and taking the address.
This fixes:
warning: variably modified ‘dummyhalen_offset’ at file scope
2010-11-09 23:11:29 +01:00
Andreas Eversberg
5652cfc0e8
mark andreas@eversberg.eu as 'extern' for lcr
2010-11-09 13:39:43 +01:00
Holger Hans Peter Freyther
1406977e7e
nat: Verify that the endpoint from the assignment command exists
...
Make sure that the MSC endpoint exists on the NAT, otherwise
we end up trying to free this endpoint when the SCCP connection
is taken down and will corrupt our memory. This issue started
to pop up as we have reduced the number of endpoints to 60
to allow transcoding on them.
2010-11-04 17:14:41 +01:00
Holger Hans Peter Freyther
f3d1ae7072
bsc: Add simple SCCP binding code.
2010-11-03 16:40:03 +01:00
Holger Hans Peter Freyther
0425c38feb
bsc: Fix crash when making a MSC connection.
...
Use the right types that are passed as void..
2010-11-03 14:46:56 +01:00
Holger Hans Peter Freyther
7bf66c5a6e
bsc: Add the audio codec list command to list preferred codecs
2010-11-03 13:56:27 +01:00
Holger Hans Peter Freyther
fe16622bf5
bsc: Add the rtp-base command to osmo-bsc
2010-11-03 13:56:26 +01:00
Holger Hans Peter Freyther
45f9e69ac5
bsc: Add the ip.access rtp-payload command known from bsc_msc_ip
2010-11-03 13:56:26 +01:00
Holger Hans Peter Freyther
4de1116356
bsc: Readd the core network code setting
...
This will instruct the BSC to patch messages and replace
the old network code with the new one.
2010-11-03 13:56:26 +01:00
Holger Hans Peter Freyther
5b848f37cf
bsc: Fix the name of the local vty variable.
2010-11-03 13:11:14 +01:00
Holger Hans Peter Freyther
79dcd719e0
Merge branch 'zecke/mgcp-transcoder'
2010-11-02 19:41:42 +01:00
Holger Hans Peter Freyther
8b19dee437
mgcp: Send data from the network to the transcoder too
...
We now should be able to transcode in both directions.
2010-11-02 19:08:09 +01:00
Holger Hans Peter Freyther
5f2cd84281
mgcp: Use the calculated remote port from the mgcp_rtp_end
2010-11-02 19:08:09 +01:00
Holger Hans Peter Freyther
3f29cc8303
mgcp: Make the transcoding forwarding work for BTS/NET
...
Share the implementation for the transcoded packets and
forward them to the network and the bts.
2010-11-02 19:08:09 +01:00
Holger Hans Peter Freyther
386a940736
mgcp: Refactor the network binding routines
...
Create another wrapper function that takes most of
the arguments from the caller.
2010-11-02 19:08:09 +01:00
Holger Hans Peter Freyther
bd7b3c5e45
mgcp: Introduce trans_bts and send BTS packets from this port
...
Introduce the trans_bts. Right now only a port is allocated
and the packets from the BTS are sent from this socket.
2010-11-02 19:08:09 +01:00
Holger Hans Peter Freyther
e97155a2af
mgcp: Keep the local_port like it was set on allocation
...
Do not reset statically allocated local_port. The port
might be different to the calculation of endpoint number
and base port. This might be the case for the coming remote
transcoding.
2010-11-02 19:06:13 +01:00
Holger Hans Peter Freyther
2126233590
mgcp: Rename transcoder_end to trans_net
...
Packets arriving for trans_net will be send out to the
networking. We will introduce a trans_bts in a second.
2010-11-01 21:15:55 +01:00
Holger Hans Peter Freyther
88b597e21c
mgcp: Allow to disable the transcoder in a running system.
2010-11-01 21:15:55 +01:00