44 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
d2871d763f r4161 in private:
SIPEngine::instigator now based on a flag instead of a string comparison.

For some reason that we need to understand, string comparisons on oSIP messages are really not reliable.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4173 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-09-24 20:02:32 +00:00
kurtis.heimerl
059eea60af Set state to fail instead of throwing a timeout in MOSMSWaitForSubmit
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3925 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-07-24 05:55:51 +00:00
kurtis.heimerl
0623af8295 Fixed null pointer in MOSMSSubmit.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3923 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-07-24 05:29:37 +00:00
kurtis.heimerl
f754059314 We no longer repeat INVITEs when we get a 100 TRYING.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3883 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-07-11 00:06:25 +00:00
kurtis.heimerl
0de2258acf removed notice about not caring about 100 trying messages. RFCs be damned, the proxies use them.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3857 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-06-28 06:10:45 +00:00
kurtis.heimerl
f3e57f7b19 SIP MESSAGES now wait when they receive a 100 TRYING, rather than repeating themselves.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3856 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-06-28 06:10:41 +00:00
kurtis.heimerl
562dd0d7fb Fixes #991 in public. We now appropriately handle rejections of our SIP MESSAGE content
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3812 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-06-19 21:33:26 +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
c084181a75 attempting to fix #937 in public, basically forgot to check if sip_method exists.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3700 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-05-31 02:44:12 +00:00
kurtis.heimerl
55d1bf25a4 $ dropped by the network by retransmitting.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3677 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-05-28 01:07:16 +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
cc05eb8207 Fixes #718 in public. We now have a user agent header in all of our sip packets.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3270 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-03-06 07:46:17 +00:00
kurtis.heimerl
3d4ec90bd1 Fixes #734 in public, , as well as rearchitects a number of SIP
control flows. Basically, there was a small bug where I forgot to listen
 for an OK, which caused transactions to stick around too long and fuck
 everything up. That was quickly fixed, but my compulsion required me to
 reorganize the code to avoid such errors in the future. I implemented
 another new feature as well, we now respond with a 480 Temporarily
 Unavailable message (rather than cancel) when canceling an INCOMING call.
 The prior behavior was incorrect.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3264 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-03-05 03:53:57 +00:00
kurtis.heimerl
a954b789f0 Fixes #499 in public. If our ACK was missed, the switch would resend an OK and we didn't respond to it. We do now.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3237 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-02-25 21:46:49 +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
b0f5d61bf5 Fixes #711 in private. We now check RTP ports before allocation, to ensure they're not already in use.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3225 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-02-24 07:59:11 +00:00
kurtis.heimerl
36b618f773 Fixes r168 in public. This involves the handling of "481 Call leg/transaction does not exist. Basically, we occasionally get this in response to a BYE or CANCEL (as it's been closed on the switch side). This was almost certainly fixed in a previous commit. I've updated the log message to clarify that the connection is cleared when we receive a 481.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3150 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-02-05 02:53:38 +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
64656ed5b5 Fixes #34 in public release. We now have different states for the MTDCanceling and canceled calls now end in a canceled state. Also a few other hardening bug fixes.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3018 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-01-10 22:57:53 +00:00
kurtis.heimerl
c4c41c65b6 Fixed Bug #172, OpenBTS now sends CANCEL messages when there is no active call (instead of BYE)
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3006 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-01-09 01:01:12 +00:00
kurtis.heimerl
c614ad4a4d Small typo fix
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2996 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-01-07 09:41:27 +00:00
kurtis.heimerl
fb00b2c122 Bug #173-public. Now appropriately responds to a SIP CANCEL with a SIP OK. Still won't respond if that OK is dropped.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2995 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-01-07 09:41:24 +00:00
kurtis.heimerl
0118e2495f bug #238-private. OpenBTS segfaults when receving an empty SMS destined to go out as text/plain. It no longer segfaults, but does not successfully send the message.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2969 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2012-01-05 02:25:08 +00:00
kurtis.heimerl
410a0cc329 Alexander's change. Fixes MTC bug by supporting 64bit processors in Timeval. Math was bad.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2835 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-12-17 00:03:24 +00:00
kurtis.heimerl
3129fc2bca more documentation
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2823 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-12-15 06:30:52 +00:00
kurtis.heimerl
26dfc03365 Fixing Thomas's MTC receive bug. We don't have a ticket for it, but there seemed to be a timing inversion deadlock in Interthread.h. We mostly duck it, instead of solving it.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2822 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-12-15 06:23:39 +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
f7647c258d Remove Makefile.in from SVN. Doesn't belong here.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2309 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-12 07:47:02 +00:00
dburgess
ba821c5f85 Fixed the license notices.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2305 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-10-12 01:23:28 +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