Age | Commit message (Collapse) | Author | Files | Lines |
|
The call id field in the DLCX message is missing. Use the endpoint
id as call id in all CRCX and DLCX messages.
|
|
Use the VTY to configure the connections between BSC and MSC
on both sides.
We now can add new connections, we also can write the config,
removing existing connections is implemented on the MSC side,
but not yet on the BSC side.
|
|
Currently all sccp addresses on the msc (and bsc)
side are hardcoded.
Prepare the msc code to make the associated BSCs
configurble. Make the compiler link libosmo-sccp
properly and start using the sccp addressbook
feature of libosmoc-sccp.
|
|
Libosmocore renames gsm0808_extrapolate_speech_codec() to
gsm0808_speech_codec_from_chan_type()
|
|
We now perform the reset procedure on both sides. Also both sides
will clear now their open SCCP connections.
|
|
|
|
|
|
Currently we do not check for errors during the generation of
channel type and speech codec list. This might blow an assertion
in gsm0808_create_ass if the generated data is invalid. So
we need to check beforehand.
|
|
The log output from the rsl layer injects line breaks at wrong
places in the log. This messes up the logtext. This commit fixes
the problem.
|
|
When the mgcp_client prints MGCP strings in the log text, it does
not remove the line break before printing. This will mess up
the log text. This patch removes the line break characters before
printing properly.
|
|
The bsc side currently can not receive reset commands from an
MSC. This patch adds required functionality to receive a reset
command and acknowlege it properly. The effects are the same
as with when sending resets (all drop all ongoing calls and
sccp connections)
|
|
The AoIP standard also describes an MSC->BSC reset procedure. We
currently do not implement it. However, the fsm that is used to
issue the reset request from the bsc side is not generalized. This
patch generalizes the code in order to be able to use the same
code on the MSC side to perform a reset procedure from there.
|
|
Forgot to remove the counter struct osmo_timer_list msc_reset_timer;
Needs to be fixuped into the reset handling patches
|
|
in osmo_bsc_sccp.c all code is commented out. There is no point
in keeping the file. This commit deletes it.
|
|
the old sccp-lite based imlementation offered support for sending
an USSD notification as soon as a loss of the MSC connection is
detected. This is done before forcefully dropping the affected
connection.
This commit ports the feature to the new libosmo-sigtran
implementation.
NOTE: I do not know if this works and I also do not really
understand how this is even possible. Sending an USSD notification
would rquire the subscriber to be properly attached? When the MSC
is lost this almost not possible since no backend to authenticate
against is available.
|
|
The function names in a_iface_bssap.c are not very expressive.
The problem not only exists on the API side, but also for static
functions. This patch replaces the function names with more
expressive names.
|
|
The function names if the API function in a_iface.c are not
very expressive. Besides of that, the prototypes are in the
wrong header file. This commit gives the function more
expressive names and moves the prototypes in the right header
file.
|
|
|
|
Currently the rtp base port of the BTS is hardcoded (4000) and not
configurable. This patch adds VTY configuration options to make
it adjustable.
|
|
Clearing all endpoints by sending a DLCX on startup has ben found
to be a bit too offensive. It also will not help against
inconsitancies that may occour during runtime (e.g. an overheard
DLCX during regular call teardown).
This reverts commit b669ea94cb78fd9b56ee8dd9392538151349f8ba.
|
|
The MSC is aware of the assigned endpoints at all times, so it
will not assign an occupied endpoint to someone else. However,
if it has just restarted, there maybe lingering open endpoints.
This patch introduces a fairly simple soultion. Before a new
endpoint is seized (CRCX), a DLCX is send in advance. If the
endpoint was still occupied with a dead connection, it will
be freed. If it was free anyway, the DLCX will just have no
effect.
|
|
When the BSC is vanishing, the subscriber connections will stay
active until the MSC is instructed via tha A interface to clear
the connections. Unfortunately, this will most likely not be
the case because the BSC will most likeley have lost all its
state and does not know about the old connections anymore.
This patch fixes the problem by looping through the list with
the active gsm subscriber connections and clearing them manually
when the reset from the BSC is received. Only connections by the
bsc who actually executes the reset are affected. Connections
from other BSCs will not be touched.
|
|
|
|
If the MSC is crashing and restarting, it may leave some endpoints
open. The endpoints can not be re-used until they are deleted
(DLCX). This patch sends a DLCX to all possible endpoints (usually
this is in a countable range) in order to clear possible open
endpoints from a previous run
|
|
struct mgcpgw_client and struct mgcp_inuse_endpoint are not
accessible from outside, making it difficult to look in the
mgcp client properties and status. The commit moves the
structs into the header file.
|
|
When an MGCP endpoint is deleted, we need to mark its endpoint
id as unused, so other calls can used it. This is currently not
happening. This patch fixes that.
|
|
Currently the assignment of endpoint identifiers works by just
incrementing a counter. The mgcpgw only has a limited amount
of endpoint identifiers avaliable, this means we will run out
of endpoints after only a few calls.
This commit adds a mechanism to keep track of used endpoint
identifiers so unused endpoint identifiers can be re-used
|
|
Currently no DLCX command is sent to the mgcpgw when a call is over,
this leaves the endpoint open. This means that the endpoint can not
never be reused by other calls. This patch adds a DLCX that
terminates the the endpoint when the call is done.
|
|
The mgcpgw client currently lacks support for DLCX. This patch
adds a generator function to generate a DLCX command as well.
|
|
|
|
|
|
Improve the way the BSC executes its RESET/RESET-ACK sequence.
Currently only a simple bool variable serves as a state holder.
We set this variable to true when we receive the RESET-ACK
message. Unfortunately no further checking is done. This
patch replaces the old mechanism with a more elaborated
implementation which also detects a loss of the connection
and makes sure to reconnect properly afterwards. Also the
all open connections are closed on connection loss
|
|
This patch adjusts the code to use osmo-stp. This is only an
intermediate solution, since we still have hardcoded parameter.
Next step is to use the VTY options from libosmo-sigtran to
issue the configurations.
|
|
The channel type and the speech codec element is now
signalled to the BSC. The BSC checks both fields and
select a codec by its preference. The choosen speech
codec and the choosen channel (type) is returned to
the MSC. Currently the MSC ignores the return values
|
|
obtain the permitted speech and the prefered channel parameters
and signal it to the MSC with the channel type field.
|
|
The MSC already has some basic call control handling mechanism, that
was primarily used with 3G before. However, the already existing
code that handles the 3G calls is also perfectly fine for handling
2G calls. This commit integrates the A interface without breaking
it for 3G.
|
|
This patch adds the support for the RTP IP-Address/Port assignment.
The post communicated via the assignment request is now transmitted
via RSL/IPACC to the BTS. The Response containing the RX-Port at
the BTS side is communicated back to the MSC.
Since we plan to add a private MGCPGW to each BSC, this has to
be extended. Currently it only creates a direct connection to
the BTS. This will be introduced with a future patch.
|
|
|
|
Related: OS#2279
Change-Id: Iaf4877ad1c6446609715094d785e9be93c9e0429
|
|
So far CTRL was not used by anyone, and was still disabled from the initial
implementation of the OsmoMSC. Now we need it in osmo-gsm-tester.
Only add the MSC specific CTRL commands, the bsc_base_ctrl_cmds_install() still
needs to be split up.
Change-Id: Id8f72000e0f4dea081bfce94fde8cd54290dfa7d
|
|
Change-Id: I7abe7a96fc4f46757605a75334a3bd240f54faf3
|
|
Change-Id: I0afd8e4db3c84fd1265d3903e389c5164ea73335
|
|
Change-Id: I90b807b1c6f2a3e86c81c0906168f8c0fc5440b3
|
|
|
|
The function gsm0408_dispatch() accepts a message buffer pointer
and accesses the l3h pointer. Even in a properly allocated
message buffer, this may lead into a segfault if the user forgets
to set the l3h pointer. This commit adds assertions to popup a
more expressive error message.
|
|
|
|
This changes over to the new libosmo-sigtran API with support for
proper SCCP/M3UA/SCTP stacking, as mandated by 3GPP specifications for
the IuCS and IuPS interfaces.
Only the ASP (client) is used, assuming that both the HNB-GWs and RNCs
as well as the MSCs and SGSNs are all connecting as ASP to some STP/SGW
which offers M3UA server functionality as well as point-code and/or
global title based routing.
Tweaked-by: nhofmeyr (test expectation)
Change-Id: If0ff956fbf1484899d59ae1a5885543bca31645b
|
|
Change-Id: I28502ab88cb73d407c8b503d8b28491e909ad194
|
|
Change-Id: Id5bfbcd0d906d1aa9c2de9cb7a0e7d0053ea2375
|
|
This helps in providing 3G software packages for the sysmoNITB hardware.
Change-Id: I99ba316be1088c10496025325dfe03035892d394
|