Commit Graph

12 Commits

Author SHA1 Message Date
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
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
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
73af0c871a r4166 in private:
Check to see if the channel is really active before issuing 486 Busy Here response.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4176 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-09-24 20:02:45 +00:00
kurtis.heimerl
93ace94352 r4162 in private:
Detect busy users and respond with 486 Busy Here.
This fixes one complaint, but is a stop-gap until we implement a proper multi-transaction state machine in GSM L3.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4174 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-09-24 20:02:36 +00:00
kurtis.heimerl
bbc25c6a10 Fixed #932 and #905 in public. OpenBTS now responds negatively to SIP
re-invites, though the specific effect of this depends on the client
 sending the re-invite. In the case of FS, it causes the RTP stream to
 break. We also now complain when invites time out, sending an alert to the
 user about the proxy status.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3810 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-06-19 20:22:20 +00:00
kurtis.heimerl
e67ad906ec moved subscriberRegistry code around SIPInterface so that it only updates on an outgoing REGISTER, INVITE, or MESSAGE
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3361 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-03-24 22:38:08 +00:00
kurtis.heimerl
324ef54ca4 Had error code backwards for SR, caused spurious SR failure messages. Fixed.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3356 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-03-23 06:25:20 +00:00
kurtis.heimerl
8e2b41f8cf Fixes #692 in public. This updates the SR (ip/port) for a user on every SIP transaction. Also standardizes SR interface to use just strings, no more external char*. Will modify actual SR later.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3236 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-02-25 21:07:11 +00:00
kurtis.heimerl
041e211b2c Fixes #501 in the public release.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3037 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-01-12 08:13:03 +00:00
kurtis.heimerl
dfe961a1ef Bug Fixes:
1) Remove multiple Vias in REGISTER message
2) Respond to sender for RESPONSE messages instead of to SIP.Proxy.SMS



git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2389 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-24 00:27:16 +00:00
dburgess
508962442c Putting the actual OpenBTS P2.8 source code into the public SVN branch.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2242 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-07 02:40:51 +00:00