path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2012-01-27osmo-bsc: Add configurable option to spawn + respawn osmo-bsc_mgcplaforge/mgcp-reworkHarald Welte3-3/+108
If it is configured in the config file or on the VTY, osmo-bsc will fork+exec osmo-bsc_mgcp. Furthermore, if osmo-bsc_mgcp dies, osmo-bsc will re-spawn it. This also means that we can now send a SIGHUP to osmo-bsc_mgcp in the event of a Msc (re)connect, causing it to send RSIP, which in turn is required by certain call agents that forget to send a AUEP on startup to determine the endpoint state of the media gateway[s].
2012-01-27bsc_mgcp: Send RSIP for all endpoints when SIGHUP is receivedHarald Welte2-0/+17
this will be used as quick work-around so osmo-bsc kan trigger RSIP after a re-connect to a MSC requiring RSIP from the MGW. In the ideal world, the MSC (call agent) would comply with the MGCP spec and send AUEP, but well...
2012-01-27MGCP: accept the SDP in CRCX, not only in MDCXHarald Welte1-73/+104
Some call agents send teh SDP inside the CRCX and don't actually send a MDCX later on.
2012-01-27MGCP: implement a more tolerant parser based on strtok_r()Harald Welte1-257/+179
Instead of building complex manual byte-wise parsers, we simply use two strtok_r loops: one iterating over all the lines, the next one iterating over the invididual space-separated elements in the first line. The benefit is that we now accept \r, \n or \r\n, or any multiple of them as line ending. This works around incompliant MGCP implementations like that of Zynetix MSC.
2012-01-27bsc_mgcp: make sure all command line options are documentedHarald Welte1-0/+2
2012-01-27consistently name bsc_mgcp osmo-bsc_mgcpHarald Welte1-3/+3
2012-01-27osmo-bsc: Remove hard-coded check for codec preferecne in ASS CMDHarald Welte1-5/+0
When we get an assignment command from the MSC, we no longer have to check statically for certain codecs, as we have a vty-configured list of codecs that is checked just below.
2012-01-27MGCP: Add VTY commands to reset (RSIP) one or all endpointsHarald Welte2-0/+86
2012-01-27bsc_mgcp: optionally connect the MGCP socket to the MGWHarald Welte1-0/+11
This allows the use of the existing "call-agent ip A.B.C.D" command in libmgcp in order to set a default destination address of the call agent. This is required as a pre-condition for certain call agents (like the zynetix MSC) that require a RSIP from the BSC to the MSC as the initial MGCP message.
2012-01-23Move the bulk of RR processing from MSC into BSCHarald Welte3-118/+104
RR Messages like STATUS, GPRS SUSPEND, HANDOVER COMPLETE/FAIL, ... should be processed on the BSC side of things, not on the MSC side. This is among other things required in preparation of intra-BSC hand-over support in osmo-bsc.
2012-01-23Move processing of CLASSMARK CHANGE behind bsc_apiHarald Welte4-50/+77
This prevents osmo-bsc from sending RR messages to the MSC and rather process them inside the BSC and turn them into BSSAP CM UPDATE.
2012-01-20osmo-bsc: correctly parse the TMSI in BSSAP paging from MSCHarald Welte1-5/+3
the TMSI is a uint32_t big-endian value and not a gsm 04.08 mobile identity like the IMSI.
2012-01-18nat: Add VTY command for the TP-DA rewriting.Holger Hans Peter Freyther1-0/+27
2012-01-18nat: Fix the no sms-clear-tp-srr commandHolger Hans Peter Freyther1-1/+1
2012-01-18nat: Internationalize the TP-DA if it starts with a 00Holger Hans Peter Freyther1-1/+4
Internationalize the number like we do it for Call Control. Update the test result to match this new behavior.
2012-01-18nat: Prepare to rewrite the TP-DA number of a SMS submit.Holger Hans Peter Freyther1-35/+114
Introduce number rewriting of SMS-SUBMIT. Introduce a new list, move code around to help with finding a new number, somehow the number encoding for TP-DA is borked, 03.40 references 04.11 but the length appears to be strlen(number) without taken the type field into account.
2012-01-17mgcp: Fix warning about unused variableHolger Hans Peter Freyther1-2/+0
mgcp_network.c:335:22: warning: variable ‘cfg’ set but not used [-Wunused-but-set-variable]
2012-01-17mgcp: Provide documentation for the method, check sscanf returnHolger Hans Peter Freyther1-0/+8
2012-01-17lchan: Close a possible still open RTP SocketHolger Hans Peter Freyther1-0/+12
In case of a reset (loss of the BTS) close down all remaining RTP Proxy sockets. In case of a lchan_free shout if the rtp proxy is still open. I would prefer if the proxy code sits inside the gsm subscriber connection.
2012-01-17ho: Remove rtp_proxy.h include, no proxy code in hereHolger Hans Peter Freyther1-1/+0
2012-01-15abis: gsm_data_shared.h includes libosmo-abis header, add abis to cflagsHolger Hans Peter Freyther6-12/+13
gsm_data_shared.h includes e1_input.h of libosmo-abis, add the LIBOSMOABIS_CFLAGS to Makefile.am, remove AM_LDFLAGS at the same time as we only build .a archives.
2012-01-15mncc: Include size and offsets of struct gsm_mncc in the helloHolger Hans Peter Freyther1-0/+7
Increase the version number and send the sizeof of the gsm_mncc and the gsm_data_frame structure. Include the offsets of some members as well to maybe identify ABI problems. The reason we go through this is that we want to benefit from the native ABI and don't want to force packed structs.
2012-01-15channel: Review lchan_free calls and the state the channel is inHolger Hans Peter Freyther1-1/+1
In case of a memory allocation failure in rsl_rx_chan_rqd we would have left the channel in the LCHAN_S_ACT_REQ state. Move the state change below the allocation.
2012-01-15lchan: Rename release_reason to release_modeHolger Hans Peter Freyther1-5/+5
Use the name of GSM 08.58 for the release mode.
2012-01-15channel: The error timer and the lchan_deact_tmr are both runningHolger Hans Peter Freyther1-1/+2
In case a BTS does not send the RF Channel Release ACK and we are closing the channel because of an error two timers are running to set the state back to none. Make lchan_deact_tmr_cb and rsl_rx_rf_chan_rel_ack behave the same in regard to changing the state of the lchan. For the other direction we are save, the error path will set the state to NONE and the timeout will call lchan_free to set the channel type back to NONE, only then the lchan may be allocated again. The channel release procedure requires some more tweaking, some part was started in the zecke/28c3 branch and needs to be tested/integrated with the goal of having one common release path.
2012-01-15Revert "libbsc: Log if a channel is freed with lchan->state != LCHAN_S_NONE"Holger Hans Peter Freyther1-4/+0
In case of a failed channel we still want the channel to not be re-allocated right away but keep it closed/unused for (T3109 + T311). rsl_rx_rf_chan_rel_ack has a check to not set the channel to S_NONE in case the channel is in the error state. Add the camp Harald added a timer to set the channel back to the none state in case the RF Channel Release is not acked. This reverts commit fc462dd59ee4772f06c9f2477b36b3f166a8e74b.
2012-01-15bsc: Fix "show lchan" for partially provided informationHolger Hans Peter Freyther1-13/+53
show lchan should be capable of showing all allocated lchans, all of a given bts, a given trx, a given ts. This feature was broken when I added the ability to show a more simple summary. Restore the initial behavior by splitting out the for loops for the bts/trx/ts and check if we have parsed all parameters and then call and return the subroutine.
2012-01-11nat: Add the line break after the '.0.10.1Holger Hans Peter Freyther1-1/+1
2012-01-10nat: Implement clearing of TP-SRR flags from TPDUsHolger Hans Peter Freyther2-4/+67
Match IMSI and destination address against a set of entries, if it is matching the header will be modified and no sender report will be requested. Change the test case to request the sender report and then verify that this bit is reset to 0.
2012-01-10nat: Use the link_id from the original message in the new DTAP messageHolger Hans Peter Freyther1-1/+3
SMS went from SAPI=3 to SAPI=0 and nobody notices on the NAT->MSC direction.
2012-01-10nat: Compare the DTAP L3 size with the size of the msgb - dtap headerHolger Hans Peter Freyther1-2/+4
2012-01-10nat: Fix comment and mask for looking at TP-MTIHolger Hans Peter Freyther1-2/+3
2012-01-10nat: SMS rewrite matching, empty list means match everythingHolger Hans Peter Freyther1-1/+1
2012-01-10nat: SMS comment updatesHolger Hans Peter Freyther1-1/+2
2012-01-10nat: Move SMS creation into a new method, no functional changeHolger Hans Peter Freyther1-34/+49
2012-01-10nat: Access data_ptr after we have checked the lengthHolger Hans Peter Freyther1-4/+4
2012-01-10nat: Move the finding of the number to a new methodHolger Hans Peter Freyther1-44/+62
2012-01-06gprs: Honor GSM 04.64 8.4.2 Receipt of unacknowledged informationHolger Hans Peter Freyther1-2/+3
GSM 04.64 8.4.2 asks to ignore UI frames if the DLCI is not known, or if the "(V(UR)- 32) <= N(U) < V(UR)". E.g. if we want to have V(UR) == 511 and this frame is dropped, we would ignore N(U)'s 0 to 510. Calculate the delta. The code is based on Jonathan Santos's "LLC UI window" fix but the issue was discovered independly.
2011-12-27bsc: Assume assignment_complete/assignment_fail is setHolger Hans Peter Freyther2-5/+30
The osmo-nitb application sometimes crashes because the BSC API is doing an assignment underneath which is not handled by the code, add dumy handlers to not crash, the right thing to do is to change MNCC to have an assignment that can succeed/fail. The keyword to look for is MNCC_LCHAN_MODIFY and mncc_sock should wait for an ack/nack but right now the call just continues.
2011-12-24RSL: Nokia BTS reports TA in quarter-bits, not full bits.Andreas Eversberg1-2/+3
We need to compensate accordingly...
2011-12-16RSL: BS-11 reports TA in quarter-bits, not full bits.Andreas Eversberg1-4/+11
We need to compensate accordingly...
2011-12-02Add NITZ (timezone) support as part of MM INFOGus Bourg2-22/+81
The UTC offset from the operating system will be used by default to calculate the NITZ in MM INFO. However, a "timezone" vty command is added at the BTS level, allowing BTS-specific overrides, e.g. in case BTSs are distributed accross multiple timezones.
2011-11-25fix two mistakes in AM_LDFLAGSAlexander Huemer2-2/+2
2011-11-25BSSGP: Add functions required for true BSS-side BSSGP implementationHarald Welte3-12/+427
The BSS-side of BSSGP requires quite a number of additional functions for sending unidirectional messages that a SGSN never sends. This is a first step into completing the BSSGP implementation and making it ready to be used from osmo-bts and other BTS-side GPRS implementations.
2011-11-24GPRS: add new bssgp_create_cell_id(), opposite of bssgp_parse_cell_id()Harald Welte1-0/+12
2011-11-24GPRS NS: Add some doxygen API documentationHarald Welte1-9/+110
2011-11-13bsc_vty: Fix usage of deprecated osmo_osmo_hexdump_nospcSylvain Munaut1-1/+1
The typo was fixed upstream Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-11-13osmo_nitb: introduce --no-dbcounter command line optionHarald Welte1-2/+9
this allows us to disable writing the current rate counters to the sqlite database every 60 seconds.
2011-11-07gsm0408: Print a message when the LU is timing out.Holger Hans Peter Freyther1-0/+1
2011-11-06mncc: Introduce a hello packet that is sent to the client.Holger Hans Peter Freyther1-0/+24
Send a hello packet down to the client with the version number of the MNCC interface. The hello structure might be extended to include the endianes, size of each structure, etc.