AgeCommit message (Collapse)AuthorFilesLines
2017-06-28build: osmo-bsc_nat: add missing sigtran LDADDneels/pmaier_aoipNeels Hofmeyr1-0/+1
Change-Id: I838cc9176b9d3e61e33f25d10bedd37c9c057fd3
2017-06-28wip: vty: make msc sccp addressesconfigurablePhilipp Maier8-27/+49
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. Change-Id: I0171da40cfc2d90a4ca8e423b51cf7275c3d5571
2017-06-28wip: a_iface: MSC sided resetPhilipp Maier9-110/+269
2017-06-28aoip: don't use iu struct: move rtp ports from .iu to new subscr_conn.rtpNeels Hofmeyr4-9/+12
Change-Id: I2ec2ecc2e3dcf0493168de6091d7fa4cfa028645
2017-06-28aoip: don't use iu struct: do not allocate unnecessary ue_conn_ctxNeels Hofmeyr1-8/+4
Change-Id: I6430d4704f5caf33275d403df93c222848b5b3ff
2017-06-23osmo_bsc_main: use osmo_sccp_make_addr_pc_ssn() for SCCP addressesNeels Hofmeyr1-8/+4
Change-Id: Ib065533273acfabec9d9d4380dcbd6cf16744343
2017-06-23AoIP+3G: use one common SCCP client for A and IuCSNeels Hofmeyr8-27/+37
Move osmo_sccp_simple_client() setup out of iu_init() and a_init(). In msc_main.c and sgsn_main.c, initialize the STP connection first and then pass to iu_init() and a_init(). This allows serving 3G (IuCS) and 2G (A) from one and the same MSC instance. Since both OsmoHNBGW and OsmoBSC are using PC 23 by default now, move BSC to PC 42 (because OsmoBSC typically has vty port 4242, bla). Also: a_iface.c: remove now unused defines a_init(): remove osmo_ss7_init() call that duplicated msc_main.c Change-Id: Ib1fb13ea756655f7e9d43636d497a54e6ae9c032
2017-06-23msc: re-enable iu_init()Neels Hofmeyr1-1/+1
Change-Id: If12ca46c834466307bee6465b777d63d5c922405
2017-06-23a_init: use name arg for sccp client and user bindNeels Hofmeyr1-2/+2
Change-Id: I10e899777e21bf1dbfba1e7e692d7017593e5f38
2017-06-23a_iface: fix typo in function namePhilipp Maier1-2/+2
2017-06-23a_iface: Check if channel type and speech codec list are successfulPhilipp Maier1-4/+17
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.
2017-06-23rsl: fix stray line break in logtextPhilipp Maier1-1/+2
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.
2017-06-23mgcp: fix line-break problem in logPhilipp Maier1-2/+9
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.
2017-06-23apply function renames in merged libosmocore patchesNeels Hofmeyr3-3/+3
Change-Id: Ic659d6d79a6284732e1837f8b0947e8a128ddd87
2017-06-18osmo-bsc: react on reset requests from MSCPhilipp Maier3-5/+49
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)
2017-06-18libcommon-cs: genralize a interface reset fsmPhilipp Maier9-77/+102
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.
2017-06-18fixup: remove unused counterPhilipp Maier1-1/+0
Forgot to remove the counter struct osmo_timer_list msc_reset_timer; Needs to be fixuped into the reset handling patches
2017-06-18sccp-lite: remove old sccp-lite codePhilipp Maier2-350/+0
in osmo_bsc_sccp.c all code is commented out. There is no point in keeping the file. This commit deletes it.
2017-06-18osmo-bsc: Send USSD notification when an MSC loss is detectedPhilipp Maier1-0/+22
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.
2017-06-18cosmetic: make function names in a_iface_bssap more expressive.Philipp Maier3-35/+38
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.
2017-06-18cosmetic: more expressive function names in a_ifacePhilipp Maier8-37/+36
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.
2017-06-18fixup: return with value in void functionPhilipp Maier1-1/+2
2017-06-18mgcp: make bts base port configurablePhilipp Maier4-3/+33
Currently the rtp base port of the BTS is hardcoded (4000) and not configurable. This patch adds VTY configuration options to make it adjustable.
2017-06-18Revert "mgcp: make sure all endpoints are closed on startup"Philipp Maier4-25/+1
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.
2017-06-18mgcp: Make sure endpoint is free on CRCXPhilipp Maier1-0/+11
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.
2017-06-18a_iface_bssap: clear lingering subscriber connections on resetPhilipp Maier2-2/+29
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.
2017-06-18cosmetic: fix typoPhilipp Maier1-1/+1
2017-06-18mgcp: make sure all endpoints are closed on startupPhilipp Maier4-1/+25
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
2017-06-18mgcp: make structs accessible from outsidePhilipp Maier2-15/+15
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.
2017-06-18mgcp: release no longer used endpoint identifiersPhilipp Maier1-1/+4
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.
2017-06-18mgcp: improve endpoint managementPhilipp Maier3-8/+104
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
2017-06-18mgcp: use mgcp DLCX command to terminate endpoint after call is donePhilipp Maier3-0/+18
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.
2017-06-18mgcp: add DLCX command to mgcpgw clientPhilipp Maier2-0/+14
The mgcpgw client currently lacks support for DLCX. This patch adds a generator function to generate a DLCX command as well.
2017-06-18cosmetic: fixing coding stylePhilipp Maier1-3/+3
2017-06-18fixup: in osmo-bsc-sigtran.h header (bsc_msc_data.h) was missingPhilipp Maier1-0/+1
2017-06-18osmo-bsc: Handle RESET/RESET-ACK properlyPhilipp Maier11-54/+349
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
2017-06-18sccp: Use osmo-stp instead of direct server/client connectionPhilipp Maier2-14/+15
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.
2017-06-18fixup for: aoip: signal channel type to BSCPhilipp Maier3-66/+204
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
2017-06-18aoip: signal channel type to BSCPhilipp Maier3-6/+139
obtain the permitted speech and the prefered channel parameters and signal it to the MSC with the channel type field.
2017-06-18osmo-msc: Integrate A interface into existing call controlPhilipp Maier3-13/+72
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.
2017-06-18osmo-bsc: Negotiate rtp ip address/port with BTSPhilipp Maier5-17/+136
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.
2017-06-18fixup: Hexdump for incoming unit data was missingPhilipp Maier1-0/+1
2017-06-18comment: fixme to cleanup MGCP portsNeels Hofmeyr1-0/+1
Related: OS#2279 Change-Id: Iaf4877ad1c6446609715094d785e9be93c9e0429
2017-06-18msc: enable basic CTRL commandsNeels Hofmeyr1-9/+2
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
2017-06-18sgsn: add missing osmo_ss7_init()Neels Hofmeyr1-0/+1
Change-Id: I7abe7a96fc4f46757605a75334a3bd240f54faf3
2017-06-18drop libosmo-ranap from sms_queue testNeels Hofmeyr1-2/+0
Change-Id: I0afd8e4db3c84fd1265d3903e389c5164ea73335
2017-06-18wip iudummy struct osmo_sccp_addr -- drop this?Neels Hofmeyr1-0/+1
Change-Id: I90b807b1c6f2a3e86c81c0906168f8c0fc5440b3
2017-06-18WIP: Integrate AoIP into MSCPhilipp Maier16-46/+972
2017-06-18libmsc: make pitfall in gsm0408_dispatch() more obviousPhilipp Maier1-2/+6
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.
2017-06-18WIP: Integrate AoIP into OsmoBSCPhilipp Maier15-39/+519