aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/osmo-bsc
AgeCommit message (Collapse)AuthorFilesLines
2015-01-02logging: Only compare the subscr addressHolger Hans Peter Freyther1-0/+29
Move the "logging filter imsi IMSI" into the BTS/NITB code to allow to set the gsm_subscriber and only compare it. This way we simply compare the subscriber address and don't have to care if the subscriber data is still valid.
2014-12-05msc: Add and use gsm_subscriber_groupJacob Erlbeck3-6/+8
Currently every subcriber object directly refers to the gsm_network which contains a flag shared by every related subscriber (keep_subscr). This adds a dependency on gsm_network even if only the function defined in gsm_subscriber_base.c are used. This patch adds a new struct gsm_subscriber_group which contains the keep_subscr flag and a back reference to the network object. The latter is not dereferenced in gsm_subscriber_base.c, so it can safely be set to NULL when only that part of the gsm_subscriber API is being used. It also changes that API to use gsm_subscriber_group instead of gsm_network parameters. Since there are some places where a pointer to the gsm_network is needed but where only a gsm_subscriber is available, a 'net' back pointer is added to the group struct, too. Nevertheless subscr group and network could be separated completely, but this is not the topic of this commit. Sponsored-by: On-Waves ehf
2014-10-29bsc: Allow to disable sending ping/pong to the MSCHolger Hans Peter Freyther3-8/+31
Some switches do not like to receive the IPA PING/PONG messages. Allow to disable the handling with "no timeout-ping" and create test cases that verify the switching between the modes. Change the code to trat <= 0 as an invalid timeout. Fixes: SYS#713
2014-10-02bsc: Let the VTY verify that the timeout is a numberHolger Hans Peter Freyther1-2/+2
Before the old code allowed to specify "timeout-ping bla" which would be parsed as '0' which would trigger a flood of pings. Use the VTY code to parse it as a number.
2014-09-05bsc: Add a "IPA PING" to the SCCP CR messagesHolger Hans Peter Freyther4-12/+83
We want to reduce the background traffic and might set the ping interval to be in the range of minutes. But this means that if the TCP connection is frozen several "SCCP CR CM Service Requests" will be stuck in the send queue without ever being answered. I could have used the logic of not receiving the "SCCP CC" to close the connection but instead I am introducing an overload to schedule the ping as part of the normal SCCP connection establishment. The VTY write case has been manually verified, I have also looked at a single trace to see that the SCCP CR and the IPA PING is transfered in the same ethernet frame.
2014-08-24Use port number #defines for VTY and CTRL portsHarald Welte1-1/+2
.. as defined in libosmocore
2014-08-21libctrl: Move bulk of node lookup code into libosmocoreHarald Welte1-1/+1
Now that the bulk of the control interface node lookup has no reference to the BSC specific data structures, we are moving it into libosmocore. A control interface user now only registers an optional small node lookup function like bsc_ctrl_node_lookup()
2014-08-21move libctrl from openbsc to libosmoctrl (libosmocore.git)Harald Welte4-8/+9
2014-08-20adopt recent IPA related symbol renameHarald Welte1-3/+3
... which happened during recent migration of IPA functionality from libosmo-abis into libosmocore.
2014-08-08bsc: Add a ctrl command to send a ussdNotify for a callHolger Hans Peter Freyther2-4/+79
Send a non-call related SS message for an active call indentified by the CIC of that call. As an ugly hack the order of the SS release and the invocation are changed. That was necessary for the E71 on a TCH. The time between notify and release was just too short. The right would be to wait for the returnResultLast but this would involve keeping more local state. Let's see how far we get here. It might be necessary to change the order in the other call sites as well.
2014-07-09bsc: Implement a way to relay a message to the remote MSCHolger Hans Peter Freyther1-0/+41
This is analogue to the notification that is relayed locally and now we have a way to relay a message back to the network.
2014-07-08bsc: Use the word core network and not backbone.Holger Hans Peter Freyther1-2/+2
2014-07-07libbsc, osmo-bsc{, _nat}: Prevent unaligned access when casting TLVP_VALDaniel Willmann1-1/+1
foo = *((uintXX_t *) TLVP_VAL(...) can lead to unaligned access. To prevent that use tlvp_valXX_unal() to get the values.
2014-06-12bsc: Do not use strdup on argv parameterHolger Hans Peter Freyther1-1/+1
Fixes: Coverity CID 1206578
2014-05-31bsc: Introduce a local notification scheme for the CTRL interfaceHolger Hans Peter Freyther1-0/+44
Make it possible to inform local CTRL connections about some state. The TRAP will be only sent to local connections. The notification text may not contain spaces.
2014-05-15ctrl: Introduce a macro for read-only attributes and use itHolger Hans Peter Freyther1-35/+3
Certain attributes are read-only. Add a macro to make it more easy to define those.
2014-05-06nat/bsc: Check proto before calling ipaccess_rcvmsg_baseHolger Hans Peter Freyther1-1/+1
The code in the BSC/NAT called ipaccess_rcvmsg_base without checking if the protocol is IPA. This lead the BSC to respond to SCCP messages with an "ID ACK". From a quick look neither the code of ipaccess_rcvmsg_base in OpenBSC nor the copy of libosmo-abis ever checked the protocol header. So this code has been wrong since initially being created in 2010.
2014-04-01ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messagesJacob Erlbeck1-2/+4
The old ipa_msg_recv() implementation didn't support partial receive, so IPA connections got disconnected when this happened. This patch adds the handling of the temporary message buffers and uses ipa_msg_recv_buffered(). It has been successfully tested by jerlbeck with osmo-nitb and osmo-bsc. Ticket: OW#768 Sponsored-by: On-Waves ehf
2014-03-23ctrl: Move the lookup into a separate file in preparation for GPRSHolger Hans Peter Freyther2-2/+3
For GPRS the look-up via bts/trx does not make any sense and would introduce bad depdencies for the SGSN. Move the look-up code to a new file and introduce new setup methods.
2014-03-04bsc: Include the MCC/MNC in the location trapHolger Hans Peter Freyther1-1/+5
It is of interest to know the MCC/MNC that is broadcasted at the specific position. Sponsored-by: On-Waves ehf
2014-03-04libbsc: Add ctrl command for MNC, MCC, short-name and long-nameHolger Hans Peter Freyther1-0/+3
Add the framework for adding more setting commands.
2014-02-22bsc: Add vty command to send location trap through VTYHolger Hans Peter Freyther2-6/+36
I have manually tested this by entering the VTY command and observing the CTRL interface using wireshark. Ticket: OW#1129
2014-02-08bsc: rf_ctrl will always be created, remove the NULL checksHolger Hans Peter Freyther1-4/+0
2014-02-08libbsc: Create the RF interface all the timeHolger Hans Peter Freyther1-7/+4
The interface can be accessed through CTRL and a socket. But currently it is only available when the socket interface has been configured. Create the interface all the time but only listen on the socket when a path has been specified.
2013-11-15bsc: Use the right string for the notificationHolger Hans Peter Freyther1-1/+1
2013-11-01bsc/ussd: Rename bsc_send_ussd_notification()Jacob Erlbeck1-5/+6
Rename this function to bsc_send_ussd_no_srv() since it's a rather specialised function and not a generic USSD notification function. Sponsored-by: On-Waves ehf
2013-11-01bsc/ussd: Send faked CM Service Accept before sending USSDJacob Erlbeck1-0/+3
The MS do not show the USSD messages yet. This patch modifies the implementation to insert a CM Service Accept to finish the establishment of the MM connection according to 3GPP TS 04.10/3.2.1 before the USSD notification is sent. This fix has been tested with a Blackberry phone that has shown an ussd_grace_txt after rf_locked has been set to '1'. Without this patch, that message wasn't shown. The phone has sent a CC Setup and other messages before processing the channel release message sent by the BSC, but these messages have not been forwarded to the MSC (as expected). Ticket: OW#957 Sponsored-by: On-Waves ehf
2013-10-31Revert "bsc/ussd: Send faked CM Service Accept before sending USSD"Holger Hans Peter Freyther2-15/+8
This reverts commit 61bd965b04e4f00eaf4196eebb4ec6269926d551. No, we should not link to dbi.. and these libraries..
2013-10-31bsc/ussd: Send faked CM Service Accept before sending USSDJacob Erlbeck2-8/+15
The MS do not show the USSD messages yet. This patch modifies the implementation to insert a CM Service Accept before the ussdNotify to finish the establishment of the MM connection according to 3GPP TS 04.10/3.2.1. This fix has been tested with a Blackberry phone that has shown an ussd_grace_txt after rf_locked has been set to '1'. Without this patch, that message wasn't shown. The phone has sent a CC Setup and other messages before processing the channel release message sent by the BSC, but these messages have not been forwarded to the MSC (as expected). Ticket: OW#957 Sponsored-by: On-Waves ehf
2013-10-30vty: Use vty_install_default() instead of bsc_install_default()Jacob Erlbeck1-2/+2
Remove ournode_exit_cmd, ournode_end_cmd, and bsc_install_default() since this functionality is provided by the current libosmocore. Replace calls to bsc_install_default() by call to vty_install_default() with the following semantic patch: @rule1@ expression N; @@ - bsc_install_default(N); + vty_install_default(N); Ticket: OW#952 Sponsored-by: On-Waves ehf
2013-10-01bsc: Add control command to set timezoneJacob Erlbeck1-0/+114
This adds a per BTS control command 'timezone' which expects a value of the format '<hours>,<mins>,<dst>' or 'off' to set the value of bts->tz. It has the same functionality like the existing VTY command 'timezone' in network/bts. Sponsored-by: On-Waves ehf Ticket: OW#978
2013-09-19bsc/mminfo: Patch timezone and DST in MM Info messagesJacob Erlbeck1-1/+65
This adds in-place patching of the time information in the MM INFORMATION message. The timezone in the 'Local time zone' and the 'Universal time and local time zone' information elements and the offset in the 'Network Daylight Saving Time' information element are optionally set. The new values are determined by the 'timezone' vty command in the config_net_bts node. That command is extended by an optional DST offset parameter. Tests are provided for the vty part and for the plain bsc_scan_msc_msg() function. Sponsored-by: On-Waves ehf Ticket: OW#978
2013-09-11ctrl: Remember last 'rf_locked' control commandJacob Erlbeck1-3/+15
This stores the last SET rf_locked control command along with a timestamp. The 'show network' vty command is extended to show this information. Ticket: OW#659
2013-09-11ussd: Send USSD on call setup on MSC errorsJacob Erlbeck3-9/+136
Send an USSD message to the mobile station requesting a connection for a call or a SMS when the link to the MSC is down or in the grace period. The messages can be set (and this feature activated) by setting bsc/missing-msc-text resp. msc/bsc-grace-text via the vty. The generation of both messages has been tested manually. Ticket: OW#957
2013-09-02vty: Use generic 'end' and 'exit' commandsJacob Erlbeck1-2/+2
Add bsc_install_default() and replace all install_default() This patch adds bsc_install_default() which calls install_default() and add 'exit' and 'end'. All other calls to install_default() are replaced by calls to bsc_install_default(). Since 'exit' and 'end' are now added automatically to each node, the explicit registrations of these commands are removed by this patch, too. The related tests succeed now without work-arounds (except for the 'config' node itself which is part of libosmocore).
2013-09-02bsc: Fix compiler warning about undeclare functionsHolger Hans Peter Freyther1-0/+1
Addresses: osmo_bsc_sccp.c:280:2: warning: implicit declaration of function ‘gsm0480_send_ussdNotify’ [-Wimplicit-function-declaration] osmo_bsc_sccp.c:281:2: warning: implicit declaration of function ‘gsm0480_send_releaseComplete’ [-Wimplicit-function-declaration]
2013-08-31vty: Fix BSC_NODE prompt stringJacob Erlbeck1-1/+1
Change '%s(bsc)#' to '%s(config-bsc)# '. The missing trailing blank breaks osmopy's VTYInteract.command() because the blank is contained in the end patterns which are checked to decide whether to leave the select loop. Thus trying to execute the 'bsc' command there blocks the test script forever.
2013-08-28bsc/vty: Add 'no bsc-welcome-text' commandJacob Erlbeck1-1/+18
There was no command to reset a bsc-welcome-text string, so it has been added.
2013-08-28bsc/ussd: Optionally send USSD message on MSC disconnectionJacob Erlbeck2-4/+61
Send an USSD message on each MS connection if the connection to the MSC has been lost. Add a vty config command 'bsc-msc-loss-txt' in 'config-msc' to set the notification string and to enable the feature. Ticket: OW#957
2013-07-27misc: Fix compilation warningsHolger Hans Peter Freyther1-1/+1
bsc_api.c:417:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘unsigned int’ [-Wformat] bsc_api.c: In function ‘handle_ass_fail’: bsc_api.c:458:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘unsigned int’ [-Wformat] db.c: In function ‘db_sync_subscriber’: db.c:785:3: warning: format ‘%i’ expects argument of type ‘int’, but argument 8 has type ‘time_t’ [-Wformat] osmo_msc.c: In function ‘msc_release_connection’: osmo_msc.c:145:20: warning: unused variable ‘trans’ [-Wunused-variable] smpp_smsc.c: In function ‘link_accept_cb’: smpp_smsc.c:891:24: warning: assignment from incompatible pointer type [enabled by default] smpp_smsc.c:271:1: warning: ‘esme_by_system_id’ defined but not used [-Wunused-function] smpp_openbsc.c: In function ‘smpp_openbsc_init’: smpp_openbsc.c:545:2: warning: implicit declaration of function ‘smpp_vty_init’ [-Wimplicit-function-declaration] osmo_bsc_ctrl.c: In function ‘verify_bts_loc’: osmo_bsc_ctrl.c:340:19: warning: variable ‘height’ set but not used [-Wunused-but-set-variable smpp_mirror.c: In function ‘main’: smpp_mirror.c:297:2: warning: implicit declaration of function ‘osmo_init_logging’ [-Wimplicit-function-declaration]
2013-06-19osmo-bsc VTY: fix saving of codec-listHarald Welte1-1/+1
the codec-list parser expects only spaces between the elements of the list, while the 'save' code is putting ", " between the elements
2013-06-12Makefile.am: Use AM_CPPFLAGSAlexander Huemer1-1/+1
Since automake 1.13 INCLUDES is depricates and causes a warning
2013-03-28bsc-ctrl: Fix a potential memory leak on failed verificationHolger Hans Peter Freyther1-2/+5
It was possible that the tmp was strduped but not freed, e.g. when the number of commas was not right. It would evenutally be freed at the time the cmd is freed thanks to the talloc hierachy.
2013-03-03vty: Document some previously undocumented parametersHolger Hans Peter Freyther1-3/+4
Katerina pointed out that some nodes are not fully documented and proposed some messages. The token/timeout messages were correct, I have modified the other messages. I removed the full-stop from the PING/PONG documentation as we are normally not using a full sentence.
2013-01-28bsc: Allow to page a BTS that is excluded from the RF lockHolger Hans Peter Freyther2-6/+47
The RF lock excluded BTS was not paged at all. Now forward the paging message to the handler and call a function that will check if this LAC can be paged right now. Introduce a new paging method that allows to page on a dedicated bts, refactor the code to use this method for paging.
2013-01-28bsc: A BTS excluded from the RF lock should be allowed to make a connectionHolger Hans Peter Freyther3-6/+5
When introducing the exclude for the BTS lock the RF stayed up but all connections were immediately released. Optionally pass the BTS as second parameter and check the exclude bit. Tested-with: rf-lock-exclude/RFLockExcludeTest.st
2013-01-15osmo-bsc: Add ctrl cmd bts RF stateDaniel Willmann1-0/+38
Returns opearional, administrational state and RF policy
2013-01-15osmo-bsc: Add VTY command show positionDaniel Willmann2-10/+45
2013-01-15bsc: Auto RF Off in case of missing MSC connectionHolger Hans Peter Freyther1-2/+26
For short IP failures we want the RF to stay up and wait for the re-connect but in case the A-link is gone too long it is good to switch off the RF and wait for commands to enable it again.
2013-01-15bsc: Create a better error message for when RF commands are rejectedHolger Hans Peter Freyther1-1/+1
Provide an error message that makes it more clear that the command is rejected because RF handling is not enabled in the BSC.