Commit Graph

3581 Commits

Author SHA1 Message Date
paulc 0883e02e29 Added API and -Dd command line parameter to disable taking the global mutex when (un)locking a Mutex or Semaphore.
This provides better performance and reduces mutex contention on expense of some thread safety and ease of debugging.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3801 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-09 19:52:51 +00:00
paulc 242ae2be8d Keep the transaction list iterator in the MGCP engine.
Instead of creating it at each getEvent call just reassign it when running out of transactions.
This avoids the very expensive constructor and provides handling fairness.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3800 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-05 17:28:29 +00:00
paulc 9107954c10 Added method to (re)assign a list to an iterator and a method to clear the iterator.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3799 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-05 17:25:29 +00:00
paulc fd39111d4f Added static method to check at runtime if Socket::select() is efficient.
Use select() on the MGCP reader socket if it worths.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3798 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-05 16:08:11 +00:00
paulc 82ad37c3af Detect if available and use poll() instead of select() on sockets.
This save a lot on performance by not FD_ZEROing large sets.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3797 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-05 15:06:57 +00:00
paulc 26744da509 Idle instead of just yielding control if no event is read, greatly reduces CPU load.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3796 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-05 14:14:01 +00:00
paulc 51a48f4322 Added Visual Studio projects for SNMP components.
Added SNMP to installer.
Fixed some bugs and warnings exposed by the Microsoft compiler.

git-svn-id: http://yate.null.ro/svn/yate/trunk@3795 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-04 18:48:53 +00:00
paulc e2d8b4317d Added a missing Windows specific macro, fixed some documentation comments.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3792 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-04 16:06:55 +00:00
marian 01d6f7601c Safely allow IAX lines to be processed asynchronously (IAX line is now a Mutex and RefObject). Fixed IAX line (un)register transaction abort.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3791 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-04 15:43:16 +00:00
paulc 61bb19e5ce Made MGCPEngine::knownCommand take a const String& to avoid unnecessarily constructing a String.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3789 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-04 15:30:00 +00:00
oana f3a841b70e Fixed compile warning on Mac OSX.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3777 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-03 16:57:08 +00:00
oana cda9ed670f Added SNMP support.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3776 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-03 16:27:30 +00:00
marian a17323af75 Avoid output buffer re-alloc if needed size don't change in various data translators.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3769 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 13:59:02 +00:00
marian ba08ab437b The SimpleTranslator is now keeping source and destination formats across Consume calls: avoid repetitive String alloc.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3768 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 13:43:03 +00:00
marian 34b0ecfe00 RTPSender send buffer is now kept across send calls: avoid buffer re-alloc if needed size don't change.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3767 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 13:13:10 +00:00
marian 92d5a22606 Always display XDebug message with data consume results.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3766 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 13:00:57 +00:00
paulc ffef6b9b99 Further improved chan.connect to deal faster with the case when the peer of the channel already in the message is requested.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3765 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 12:34:20 +00:00
paulc aae1888a23 Speed up chan.connect handling if the proper CallEndpoint is already carried in the message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3764 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 12:28:34 +00:00
paulc 967ce0bd41 Set the proper channel ID in MOH channels.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3763 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 12:27:39 +00:00
marian 76bf65c908 Added resize method used to re-alloc a DataBlock if it doesn't have a required length.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3762 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-02 08:54:58 +00:00
paulc d6dc35ac2f Fixed a compile bug on platforms where a pointer does not fit in an int.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3761 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-01 20:57:15 +00:00
marian be61cac29b Added MutexPool class implementing a fixed size array of mutexes. Replaced the global mutex protecting the RefObject counter changes with a mutex pool.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3760 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-01 14:54:53 +00:00
marian 467e2897f1 Lock DataSource while its translator is set. Safely retrieve the translator when a chain is detached.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3759 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-29 08:41:32 +00:00
marian a38fa1ba85 Added global mutex used to protect DataConsumer's source pointer changes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3758 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-27 16:03:44 +00:00
marian 76424dfb79 Avoid to crash when the subscription module handles a mwi message without the "operation" parameter.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3757 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-27 13:53:15 +00:00
paulc 944d788b8f Avoid a crash when the Jingle channel receives a call.update without the "operation" parameter.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3756 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-26 15:52:36 +00:00
paulc d5d51a5ab2 Emit a chan.connected notification message when a Channel was just connected.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3755 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-26 15:48:36 +00:00
marian 1feb2b72bb Avoid overriding window flags. Handle close button window flag added in Qt 4.5.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3754 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-26 10:46:31 +00:00
paulc 7b3500fa58 Added thread priority setting for the SIP module.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3753 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-25 13:13:35 +00:00
marian 4ab0296763 Initialize variable.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3752 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 14:50:33 +00:00
marian 6172776c33 Removed unused class data member.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3751 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 14:46:19 +00:00
paulc 653e3e14a2 Fixed the alternate route detection algorithm.
Always recompute all views including itself as in alternate routing a notification may be sent back.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3750 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 10:38:15 +00:00
paulc 0796eb7010 Got rid of the early... settings, the algorithm is robust enough.
Speed up by always sending TFP and TRA on adjacent node restart if we are already started.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3749 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 07:23:24 +00:00
paulc e11845b25c Fixed the per-view best route state to take into account load sharing and alternate routing.
The type of sharing / alternate is taken from relative route priority.
Note that actual routing of the packets also takes into account the SLS shift.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3748 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 04:14:41 +00:00
paulc 903572b240 Answer with TRA to TRA (if T19 not running) in SP mode too.
Start T19 also when manually forcing out all TRA messages.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3747 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 01:53:39 +00:00
paulc 3f08346fb1 By default push TFPs as soon as possible on newly checked linksets.
Send TFPs to adjacent node with linkset down but seen starting elsewhere.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3746 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 01:30:25 +00:00
paulc 68d1e06a3f Do not send by default a TRA when the linkset is put in service.
In STP mode routing information (TFx) should be sent first.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3745 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 15:30:32 +00:00
paulc 238723414a Restart T21 when a link goes up.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3744 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 14:24:13 +00:00
paulc 8edccbeda2 After silently allowing routes on T21 expiration send all TFx and TRA just like if received a TRA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3743 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 14:22:21 +00:00
paulc d8b7580268 Check the route status of the STP too if routing an User Part message.
Perform time controlled rerouting on all routes on a STP whose state changed.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3742 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 13:53:06 +00:00
paulc eda7784881 Added capability of configuring explicit routes per MTP3 linkset.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3741 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 11:59:43 +00:00
paulc f76e9c61a3 Added an "available" command to ISUP so the remote user part can be enabled manually for testing.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3740 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 09:38:20 +00:00
paulc 36ebe8f40d Added a separate T19 timer, initialize T19 and T21 interval only once.
Start T21 at beginning of restart instead of a short one at end.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3739 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 08:32:10 +00:00
paulc 1f63e39ec5 Silently activate unknown yet routes to all nodes behind an adjacent STP that sent TRA.
This is safe as all TRx must have been received before TRA is received.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3738 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 16:26:13 +00:00
paulc b18c6b6761 Fixed the way the routes are cleared when a linkset changes state.
The adjacent point code is located (it is always first as it has priority zero) and provided for all other routes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3737 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 15:20:02 +00:00
paulc 73e83e3e10 Consistently set T21 = T20 + 4s in the SS7 restart procedure.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3736 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 11:35:14 +00:00
paulc 5c95e6059c Do not handle route set test messages while still in the restart procedure.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3735 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 11:31:11 +00:00
paulc b333789197 Properly clear the adjacent route(s) of a linkset that goes down.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3734 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 11:29:51 +00:00
paulc ce07f3745e Trigger time controlled rerouting when the availability of any linkset in a route changed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3733 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 09:57:57 +00:00
paulc 7ab931ca69 Added variable to warn only once that all links in a linkset are down.
Prevents flooding the logs with warnings if a linkset is down for a long time.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3732 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 09:07:35 +00:00