aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-03-24Make a release with the bugfix of the bugfixon-waves/0.3.4Holger Hans Peter Freyther1-1/+1
2010-03-24ipa: Fix the previous patch and initialize the fds to -1Holger Hans Peter Freyther1-0/+6
The code in 354ef81d8062510765b7280023b3f4ef98d0613a checked for fd >= 0 but on startup the struct is memset to 0 so this test is true. Initialize the fds to -1 to make the code work and be able to handle all ranges of the fd.
2010-03-24Release 0.3.3 with the proposed BFD fix.on-waves/0.3.3Holger Hans Peter Freyther1-1/+1
2010-03-24ipaccess: Handle the case of replacing RSL connectionsHolger Hans Peter Freyther1-0/+7
Fix a infinite loop when establishing a new RSL connection and the BSC is identifying itself with a unit id of an already established RSL connection. The infinite loops happens because we are corrupting the the linuxlist inside the bsc_fd when registering the bfd twice. Due the lack of proper authentication favor the new RSL connection as the real one and close the previous one.
2010-02-21Bump version to 0.3.2 with the two memleak fixes.on-waves/0.3.2Holger Hans Peter Freyther1-1/+1
2010-02-21[msc/nat] It is better to use msgb_free to free the msgbHolger Hans Peter Freyther2-3/+3
msgb_free is currently calling talloc_free but this might change in the future and then this code would break..
2010-02-21[nat/bsc] Fix memory leak of IPA messages...Holger Hans Peter Freyther2-0/+3
* The read_msg method is allocating the msgb and we will need to free it once we are done with it.
2010-02-08[bsc_msc_ip] Fix the re-queuing of packets...on-waves/0.3.1Holger Hans Peter Freyther2-2/+2
* The MSC is sending us the next 04.08 packet before we have received the answer for the cipher model complete. The code was supposed to copy all packets from the current queue, to a new queue and then send the packets again. * This would (re)establish the different SAPIs. Now the requeuing code was grabbing the packet from the empty queue (NULL pointer) and we were dereferencing it. It appears that we need to use "head" until the queue is empty.
2010-02-08Bump the configure.in to 0.3on-wave.on-waves/0.3Holger Hans Peter Freyther1-1/+1
2010-01-28Revert "[bssap] Open a traffic channel for the paging any reason"Holger Hans Peter Freyther1-2/+2
This reverts commit 55a0716da7d06860addfba1812c309eac6d82f1a. Using a TCH/H, TCH/F for paging purpose any will break the MT-SMS case because this needs a SDCCH to establish SAPI=3. The On Waves BSC Master branch has support for early assignment now so this hack is not needed anymore.
2010-01-28[bsc] Implement early assignment for CC for the MT case.Holger Hans Peter Freyther3-9/+149
In case we need to handle speech but we are currently on a SDCCH we need to assign a new channel and close the old one. This implementation should have the correct flow of things but we might need to fix some error situations properly. It is implemented by keeping a secondary_lchan pointer that will be swapped into the lchan pointer after the assignment complete message from the MS. The old lchan will be deactivated (the SACCH should stay open). We have to manually remove the subscr from the lchan structure to properly close things down.
2010-01-28[bssap] Use switch/case for the signal handlerHolger Hans Peter Freyther1-26/+30
Use switch/case, switch/case for the subsys and signal to prepare to handle more signals in the future.
2010-01-28[gsm48] Use optional Chan Mode 1 for the assignment commandHolger Hans Peter Freyther1-0/+2
Specify how we intend to use the assigned channel. This is needed to make CC with early assignment work properly.
2010-01-28[gsm48] Allow to send the assignment command on a different lchanHolger Hans Peter Freyther2-3/+3
Change the signature to take the lchan were the message is supposed to be sent and the lchan which is supposed to be assigned.
2010-01-28[rsl] Send the MultiRateConfig in the RSL Channel Activate msgHolger Hans Peter Freyther1-0/+4
If the lchan has AMR as speech codec we also need to send the multirate config IE in the channel activation. This is already done for the RSL Channel Modify message.
2010-01-27[sccp] Separate connection parsing and policy for connection requestHolger Hans Peter Freyther1-48/+60
The same concept as with the previous patch, make the reject method work on the source local reference instead of passing it the header.
2010-01-27[sccp] Move the UDT parsing to a new methodHolger Hans Peter Freyther1-50/+89
Separate SCCP UDT parsing and handling into two methods. This way the parsing can be reused by the BSC NAT.
2010-01-27[sccp] Invent new API to be used by the BSC NATHolger Hans Peter Freyther1-1/+16
I want to reuse the SCCP code for header parsing in the BSC NAT to identify data and patch the source local reference. To do this the current handle_* methods will be changed into two parts one is strictly parsing the other is handling the parsed data.
2010-01-27[paging] Increase the time used to send paging messages to the BTSHolger Hans Peter Freyther1-2/+2
Send a Paging Request to the BTS every two seconds. This way it is unlikely that a phone will try to respond to two paging requests as it is currently happening.
2010-01-27[bsc_msc] Start the Inactivity Timer only when the connection is establishedHolger Hans Peter Freyther1-5/+9
Start the SCCP IT timer only after the MSC has confirmed the SCCP connection. It is safe to call bsc_del_timer even if it was never started. This could happen on a connection refusal.
2010-01-27[msc] Fix compilation by adding blocked_gsm to the structHolger Hans Peter Freyther1-0/+1
2010-01-27[msc] Attempt to fix MT SMS with ciphering enabled.Holger Hans Peter Freyther3-1/+27
The MSC is asking us to enable ciphering and then immediately sends a DTAP msg for SAPI=3. We handle this correctly by attempting to establish SAPI=3 but we never get an establishment confirm for this SAPI. Attempt to fix it by not sending any DTAP message when we receive the Cipher Mode Request and unblock the queue when the ciphering is confirmed. The unblocking currently works by taking all messages out of the queue and then submitting them again. This will attempt to establish the SAPI=3 and such automaticaly. And the MSC stopped sending me SMS so this needs to be verified at a later time.
2010-01-27[rest_octets] Change data_len to the sizes of the specHolger Hans Peter Freyther1-5/+5
Is that right?
2010-01-27[system_information] Initialize the buffer before moving itHolger Hans Peter Freyther1-2/+4
In the case of ipaccess we are doing a ++output but then still try to write 23 bytes into it and on my system this is leading to a stack corruption.
2010-01-25[nat] Handle write errors with a warning to make the compiler happyHolger Hans Peter Freyther1-1/+6
Make the compiler happy by checking the write error and printing a message to the console.
2010-01-21[nat] Add a bsc_filter.c which will carry out the analysis and filteringHolger Hans Peter Freyther5-8/+83
The first part is to analyze the IP Access Header and only forward SCCP messages for now. In the future we might want to do MGCP signalling through this protocol and connection as well and need to update this then.
2010-01-14[mgcp] In forward mode we need to rediscover the BTS more oftenHolger Hans Peter Freyther1-1/+1
In plain forward mode we don't have DLCX which will clean and reset the configuration. We will need to remember the last GSM BTS port and send data to it.
2010-01-14[mgcp] Handle BTS and NET being on the same hostHolger Hans Peter Freyther1-4/+5
* Do not only check the IP but also the port to figure out where to send the data * Do not memset the endp->remote inside the bind_rtp but from inside the crcx as this will be modified by the MDCX
2010-01-13[mgcp] Warn about unknown messages...Holger Hans Peter Freyther1-1/+3
2010-01-13[mgcp] Allow to forward to a different portHolger Hans Peter Freyther1-7/+23
2010-01-13[mgcp] Rename rtp and rtcp variables to net_rtp and net_rtcpHolger Hans Peter Freyther1-11/+11
Rename the variables to refer to the fact that they are the ports of the remote. So we have: rtp_port as the local address we are binding to net_rtp for the network rtp bsc_rtp for the bsc rtp
2010-01-13[mgcp] Make it possible to not specify a bts ipHolger Hans Peter Freyther1-7/+8
This way the mgcp will allow anyone to be the BTS.. in the future we might need to communicate things properly between BSC and MGCP.
2010-01-13[nat] Use the right len for the packages..Holger Hans Peter Freyther1-2/+2
2010-01-13[sccp] Add a utility for the nat..Holger Hans Peter Freyther2-0/+14
Add a small helper to determine the type of a message
2010-01-13[nat] Really forward the data to the BSCHolger Hans Peter Freyther1-0/+1
2010-01-13[nat] Make sure the ipaccess_bsc_cb will be called..Holger Hans Peter Freyther1-0/+1
2010-01-13[nat] Unregister the fd before leaving..Holger Hans Peter Freyther1-0/+1
2010-01-13[nat] First code to simply forward data from the MSC to the real BSCHolger Hans Peter Freyther1-0/+97
First code to simply forward the data, no filtering or patching is in place. This will need to happen soon.
2010-01-13[ipaccess] Create a method to send the ID ACK messagesHolger Hans Peter Freyther2-1/+8
2010-01-12[nat] Turn off compiler warning...Holger Hans Peter Freyther1-0/+1
2010-01-12[nat] Security will become important at some point...Holger Hans Peter Freyther1-0/+1
2010-01-12[nat] Start to listen for the incoming BTSHolger Hans Peter Freyther1-1/+74
2010-01-12[nat] Connect to the MSC like the real BSCHolger Hans Peter Freyther1-0/+107
Use the connect_to_msc method to connect to the MSC and create structure to handle and forward messages to the real BSC.
2010-01-12[bsc_msc] Move the connect to the MSC routine into a new fileHolger Hans Peter Freyther5-49/+109
2010-01-11[bsc-nat] Start with a simple NAT/MUX for a BSCHolger Hans Peter Freyther2-1/+119
Harald actually pointed out that this feature is just NAT. We want to connect n-real BSCs to one BSC Mux. We will talk the ip.access protocol and SCCP over of this link. The mux will drop certain GSM messages (like the reset), it will replace source local reference (NAT functionality) and it will handle some GSM08.08 specially. Get the thing started...
2010-01-08[on-waves] Use a default rtp_base_port, write it out in the configHolger Hans Peter Freyther3-1/+3
Currently "write memory" will not store the rtp_base_port of the network. Fix that by writing it out in write_net. Also set it to 4000 by default in the MGCP and in the BSC.
2010-01-07Tag on-waves 0.2 releaseon-waves/0.2Holger Hans Peter Freyther1-1/+1
2010-01-07[bssap] Return u_int16_t from the get_*_code methodsHolger Hans Peter Freyther1-4/+4
The LAI generation wants to have 16bit unsigned, just keep them like this already. This means the int32_t will be truncated inside the get_*_code methods which is better than doing it somewhere else.
2010-01-07[bssap] More brown paper... Make variables really signedHolger Hans Peter Freyther1-2/+2
-1 is assigned in case the variables are not set. This means it must be a signed type (as the comment says), now really use a signed type.
2010-01-07[bssap] Fix brown paper bag... Keep the air id ...*sigh*Holger Hans Peter Freyther1-2/+2
We want to use the real number on the Um... Using the core network code is totally wrong in this scope...