225 Commits

Author SHA1 Message Date
Ivan Kluchnikov
3ab2e31435 Implemented TestCall function to CLI and CallControl.
Function initiates a test call to a given IMSI with a given paging time.
When connection to a mobile is up, it opens UDP socket, which could be used to send and recieve L3 frames to/from the mobile.
2013-01-05 13:57:15 +04:00
kurtis.heimerl
386f5a0e9b reverted some fixes to keep synced with private branch
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4676 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-22 05:12:01 +00:00
kurtis.heimerl
9818651460 Merging SMSMessages change to openbts
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4675 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-22 04:39:09 +00:00
kurtis.heimerl
478221e5d3 Correction of trivial warnings.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4670 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-22 04:30:56 +00:00
kurtis.heimerl
c697a01d2f Syncing the CommonLibs, SMS and sqlite3 directories
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4652 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-19 09:06:50 +00:00
kurtis.heimerl
135a583b62 From 2ff022d56c827c9f9adf5c6c1de19195ed755ac1 Mon Sep 17 00:00:00 2001
From: Alexander Chemeris <Alexander.Chemeris@gmail.com>
Date: Wed, 19 Dec 2012 02:11:48 +0400
Subject: [PATCH] Remove declaration of parseTL() function which is never
 defined nor used.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4646 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-19 04:49:11 +00:00
kurtis.heimerl
9b51796272 From b453f10d65dd1ff1df0dd3747adf63f4e1fd7d30 Mon Sep 17 00:00:00 2001
From: Alexander Chemeris <Alexander.Chemeris@gmail.com>
Date: Sun, 16 Dec 2012 17:44:10 +0400
Subject: [PATCH] Use gethostbyname2_r() instead of gethostbyname() if
 available.

gethostbyname() is not thread-safe. It's recommended to use gethostbyname_r() or gethostbyname2_r() instead.
---
 CommonLibs/Sockets.cpp |   44 +++++++++++++++++++++++++++++++++-----------
 configure.ac           |    4 ++++
 2 files changed, 37 insertions(+), 11 deletions(-)

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4637 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-17 11:22:04 +00:00
kurtis.heimerl
762fb3b4c6 From 32bbfc3c89b1c56672bf2fd3660a45c513ac54d4 Mon Sep 17 00:00:00 2001
From: Alexander Chemeris <Alexander.Chemeris@gmail.com>
Date: Sun, 16 Dec 2012 17:33:46 +0400
Subject: [PATCH 1/4] Fix typos in comments.

---
 CommonLibs/Logger.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4635 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-17 11:21:32 +00:00
ttsou
677210209f Transceiver52M: Read IP address and port to bind to from a configuration instead of hardcoding them.
Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4634 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-16 20:48:47 +00:00
ttsou
2044b49db6 Transceiver52M: Properly pass samplerate to RadioDevice::make()
Without this patch, if SAMPSPERSYM is set bigger than 1, then
erratic behaviour will occur.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4633 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-16 20:35:01 +00:00
kurtis.heimerl
e8d7780b87 OH GOOD GIT MISSED THESE FILES THANKS GIT
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4630 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-16 06:23:29 +00:00
kurtis.heimerl
4ee4841ebb Sylvain patch #2, with modifications:
CommonLibs: Avoid direct syslog calls in ConfigurationTable

    We instead introduce a 'log early' facility in Logger.h to accomplish
    the same

    Signed-off-by: Sylvain Munaut <tnt@246tNt.com>

I added similar code to the reporting functions, which did not exist when sylvain made this patch

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4629 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-16 06:08:18 +00:00
kurtis.heimerl
ec7114bb08 Sylvian's patch #1: Changing SETTSC into SETBSIC in the transceiver interfaceInbox
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4628 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-16 06:07:24 +00:00
kurtis.heimerl
1966d63282 Patch 4545 in private:
Added support for performance-reporting counters.

and

Patch 4588 in private:
For some reason, ReportingTest won't build on all systems.  Since it is not part of the actuall application, I am commenting it out from the Makefile.am for now.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4627 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-16 06:06:32 +00:00
kurtis.heimerl
7dae2589a5 r4589 in private:
Renamed GSM.CCCH.PCH.Reserve to GSM.Channels.SDCCHReserve and fixed bugs in the comparison and startup test.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4614 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-11 08:07:00 +00:00
kurtis.heimerl
da7b841405 r4605 in private:
Make the sending of 100 Trying optional for SIP MESSAGE, even though it violates RFC3428.
Closes #1194.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4613 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-11 06:11:23 +00:00
ttsou
3cb2e405b3 transceiver52m: reset energy threshold on receive gain changes
The adaptive energy detection threshold does not scale relative
to signal level. In other words, the adjustment factor will be
the same whether the at 40% of signal level or 4%. If the receive
gain is reduced by a large amount, suppose 20 dB, the receiver
may take minutes to adjust to the new level.

When the receive gain is changed, reset the threshold back to
the initial level. This reduces issues of runtime gain adjustment
and prevents blocking bursts while the threhold level slowly
adjusts.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4595 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-12-06 15:43:55 +00:00
kurtis.heimerl
28d6c3c0fc Fixed DTMF to follow the protocol instead of the hacky ortp business.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4523 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-24 10:32:27 +00:00
kurtis.heimerl
adbe838ec8 missed something in one of the socket patches. now works as expected
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4516 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:38:04 +00:00
kurtis.heimerl
77d4c1ae8e Alexander's patches:
1)I did an experiment and compiled OpenBTS with clang yesterday, which
immediately highlighted two potential bugs in the Transceiver52 code.
I'm not sure they are indeed bugs and not the intended behavior, but
they look very much like that. The first one is below and the second
one is in the following mail.

GSM::Time() arguments are defined like #define USB_LATENCY_INTRVL
(10,0), which means that they are expanded into GSM::Time((10,0)).
This expression is a GSM::Time() with a single parameter where (10,0)
return value of the last argument, 0 in this case. I.e.
GSM::Time((10,0)) is equivalent to  GSM::Time(0). I think this was not
the intention.

2) Printing \n after every complex number breaks output when you want to
print it in a single line, e.g. in many debug output.

I do not claim any copyright over this change, as it's very basic.
Looking forward to see it merged into mainline.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4515 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:37:32 +00:00
kurtis.heimerl
03c9f9e8f0 r4426 in private:
Check for transceiver with a "ping", not be waiting for the clock.
The fixes in the socket class seem to have solved this problem.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4514 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:36:49 +00:00
kurtis.heimerl
b0030ba5ca r4425 in private:
Double check the FD set to be sure that the correct FD was really touched.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4513 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:36:18 +00:00
kurtis.heimerl
0c699308a1 r4408 in private:
Add code from David to keep the transceiver running when OpenBTS crashes and check if it is running when starting up.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4512 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:35:46 +00:00
kurtis.heimerl
877221b813 r4317 in private:
Add a few SIP message fixes. Add function that may be used for accepting out of order 200 and 487 messages.

Note that some of this was pushed earlier for compilation reasons

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4511 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:34:42 +00:00
kurtis.heimerl
5a553b7209 r4299 in private:
Adds error checking in SIPMessages

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4510 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:34:10 +00:00
kurtis.heimerl
763e975fc4 First half of r4299 in private:
adds printing deeper version information.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4509 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-23 08:33:34 +00:00
kurtis.heimerl
0c1a306efc Oh kay. Lots of patches trying to catch up to mainline:
r4232: Major change in hos entries are removed from a TransactionTable.

>From now on, the only place were entries are actually removed is in TransactionTable::innerRemove.
Anywhere else, the remove methods just set a flag to tag the entry for later removal be innerRemove.
This allows us to survive situations where we try to touch transactions that have been removed already.  We still log at the ERR level, but no more segfaults.

Updated all of the TransactionTable "find" methods to not return pointers to dead or removed tranactions.

Updated find-by-channel search to return the transaction entry with the highest transaction number, which fixes a bug that sometimes picked up the wrong transaction records during EA TCH assignment.

r4253: New exception class for when someone tries to use a "removed" transaction.

r4254: Updated copyright notice.

r4265: Unlock TransactionEntry::mLock while blocked on SIP message FIFOs in SIPEngine.  This does wonders to reduce lock contention and make everything more snappy.

Use Mutex::tryLock in TransactionEntry::dead and if lock is held, assume that it is not dead.  This also does a lot to reduce lock contention.

r4294: Change Um congestion response back to SIP 503.

r4295: When deleting an entry that has failed to respond to paging, send a SIP 480 response so the switch knows that transaction is dead.

r4412: Fixed bug that was causing SIPInterface to crash when the IMSI cannot be extracted from the To: header.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4497 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-22 05:30:27 +00:00
kurtis.heimerl
191b471cea r4252 in private:
Clarifying comment on removal of SIP FIFOs.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4496 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-22 05:29:12 +00:00
kurtis.heimerl
35175100bc r4218 in private:
Put dead transaction checks into 2 groups - 30-seconds and 180-seconds.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4495 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-22 05:28:36 +00:00
kurtis.heimerl
e1c82bba99 Alexander noted a few errant "+"s that had snuck in from a previous manual merge. seems to have no effect, but now removed
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4489 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-15 00:10:56 +00:00
kurtis.heimerl
624c416eb1 Alexander's patch #1:
This patch makes a step towards using a system-wide sqlite3 lib. It
moves sqlite3util.cpp/.h to CommonLibs and leaves only original
sqlite3 files in the sqlite3 dir of OpenBTS.

I do not claim any copyright over this change, as it's very basic.
Looking forward to see it merged into mainline.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4467 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-14 03:51:51 +00:00
kurtis.heimerl
ab45f2ac53 r4436 in private:
Change the order in which RRLP messages are sent. Request, then provide assistance (if needed), then request.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4463 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-11 10:31:05 +00:00
kurtis.heimerl
4e4fdd667e alexander's patch #2: A few typos in comments
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4460 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-11 10:16:26 +00:00
kurtis.heimerl
da5ebbee41 Alexander's patch #3: Configuration Tests should not include crashing
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4459 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-11-11 10:15:43 +00:00
kurtis.heimerl
cda6feb4ff updating copywrite/authors
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4364 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-27 10:25:06 +00:00
kurtis.heimerl
b7bb57ea8b increased the start timeout, UHD takes longer to start
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4357 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:27:23 +00:00
kurtis.heimerl
aa27084570 moving to the new transaction tabe, very slowly
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4356 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:27:14 +00:00
kurtis.heimerl
84d720869a r4231 in private: If we receive messages in the middle of channel assignment, run them through the GSM dispatcher. Responses are still not going back on the correct channel, but even this is a huge improvement in clearing up calls after early cancellation.
Add a handler for L3 CC Statu message, and terminate the call if the message indicates an error.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4355 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:27:04 +00:00
kurtis.heimerl
e0e50a09af r4230 in private: Do not create a new transaction if a call error condition can be identified early enough in SIPInterface::checkInvite.
r4229 in private: Added accessor for L3 CC Call State element.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4354 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:26:55 +00:00
kurtis.heimerl
ef2b2b16a0 r4229 in private:
Added accessor for L3 CC Call State element.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4353 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:26:43 +00:00
kurtis.heimerl
bfd107cdc1 r4228 in private:
Fixed typo in message name string.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4352 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:26:34 +00:00
kurtis.heimerl
b4d56abf78 r4227 in private:
Added accessors for more L3 CC diagnostic fields.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4351 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:26:24 +00:00
kurtis.heimerl
f2fc9a09d9 r4216 and 4217 in private:
Make multiple attempts at TCH channel assignment.  (Yes, I saw this do something useful during one test.)
Log abmormal Disconnect and Release at NOTICE level.

Accessors for Cause element in L3 CC Release.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4350 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:26:15 +00:00
kurtis.heimerl
60bcb9a68b r4214 in private:
Add accessor for Cause element in L3 CC Disconnect.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4349 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:26:06 +00:00
kurtis.heimerl
a1fdb279cc merged private Config to public: r4211:
Changes to ConfigurationTable class.  Cleaner locking operations, fewer messages for normal operations, ALERT logging for truly abnormal operations.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4348 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:25:56 +00:00
kurtis.heimerl
938abf784b r4145 and 4210 in private:
Don't go the ringing state until we really get the 180 response.
Log potetial re-INVITEs.

Simpler version of SIPEngine::sameINVITE just checks CSeq, on the assumption that CallID already matched when we searched the transaction table.

Faster and does not rely on string conversion.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4347 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:25:42 +00:00
kurtis.heimerl
888365a5b9 r4209 in private:
Changes in SIP logging.
 * Change "cannot parse" message to "out of place" and downgrade it.
 * When we get a re-INVITE, log at the CRIT level.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4346 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:25:32 +00:00
kurtis.heimerl
b5d1ecc618 r4226 in private: Added a comment pointing out a potential memory leak.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4345 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-26 06:25:20 +00:00
ttsou
d72d2e3e00 Transceiver52M: UHD: Setup option to pass arguments from command line
UHD accepts optional 'args' that can be used for device descriptions
such as IP address, device type, etc. Allow these to be passed in on
the transceiver command line as the third argument (number of supported
carriers is the second argument). This option benefits those who may
have multiple UHD devices attached to a single system.

This option is not yet supported by GSM core and requires starting the
transceiver independently on the command line. This option has no
effect when USRP1 is used.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4315 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-10-22 00:07:14 +00:00
kurtis.heimerl
27a86c672b r4167 in private:
On cancellation of inbound MTC, respond with 486 Busy Here instead of 480 Temporarily Unavailable.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4177 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-09-24 20:02:48 +00:00