Commit Graph

781 Commits

Author SHA1 Message Date
marian 77618d6079 Implemented per window tray icon stack. An icon is now shown. The main window is now hidden when close button is pressed. Change the tray icon when an incoming call is received.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3965 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-16 17:08:35 +00:00
marian 71dcf469fa Changed default account status to online. Update UI status at startup.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3954 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-16 12:03:21 +00:00
marian 275c6b40d1 Implemented chat log (archive).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3950 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-16 11:04:57 +00:00
marian 3a5dfa8779 Merged client logic, qt library and ui changes from client branch into trunk.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3933 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-08 14:37:24 +00:00
andrei bef3d8f44d Added support for CPU loading notification, and engine call congestion level update, based on CPU loading.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3905 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-03 16:02:11 +00:00
marian 92c4fe2c60 Optimized String append from ObjList: calculate required space, allocate it and then build the new string.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3811 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-12 16:34:26 +00:00
paulc 2c1458b67a Removed referencing of mutexes and semaphores while locked or locking.
It is unsafe without the global mutex and was hiding genuine bugs like deleting a locked Mutex.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3805 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-11 08:29:35 +00:00
paulc 75b0506d0f Only unfold non-empty MIME header lines, an empty one indicates end of headers.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3802 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-10 10:34:45 +00:00
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 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
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 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
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
paulc eb82c7d2ac Optimized SocketAddr::assign to avoid assigning same address.
Saves many malloc+free+sprintf calls especially in RTP streams.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3712 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-12 15:39:04 +00:00
paulc 9ea9ed1782 Added a separate constant for the minimum settable debug level threshold.
This fixes a display bug caused by Rev 3680, FAIL and GOON were displayed like CONF.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3710 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-12 09:27:13 +00:00
paulc 644065b54f Add O_LARGEFILE to the log file flags to allow it to grow more than 2GB on systems that support it.
Apart from the initial O_APPEND the log file is never seek()ed anyway.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3705 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-11 11:00:35 +00:00
paulc 09144d722d Added a new debug level DebugConf with text CONF for reporting configuration problems.
Limit the minimum debug level so CONF and GOON are always visible besides FAIL.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3680 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-29 15:28:27 +00:00
paulc 3aeca0c8b8 Fortified codec chain destruction against invalid accesses.
Even if concurrent destruction can still happen it results in no more than a warning message.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3667 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-23 14:37:48 +00:00
paulc 266bf4cf0f Allow a circular offset of the items in a ListIterator so all elements are iterated but starting with a specific one.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3616 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 07:50:57 +00:00
marian 2518fbfe8c Added abstract Compressor class for data (de)compression.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3423 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-09 10:20:08 +00:00
marian 61e91c441f Removed dangerous (too complex) macro.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3419 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-06 13:13:00 +00:00
marian 803fcb09fb Constified static Strings declared in functions to make sure they are safely initialized.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3418 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-06 12:56:25 +00:00
marian fe28900209 Made locally used functions static to avoid namespace pollution.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3417 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-06 12:20:03 +00:00
paulc 619f781b8b Constified some more Regexps, speeds up URI parsing and fixes compiling in Windows.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3393 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-21 16:58:26 +00:00
paulc 682c4c9d2a Use static const Regexps wherever possible to speed up code.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3391 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-17 11:38:46 +00:00
paulc 1779a3b154 Made the private pointer of Regexp mutable so compile() and matches() can be made const.
Part of a patch by Allan Sandfeld Jensen.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3390 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-17 11:36:52 +00:00
paulc d8b784be12 Report the number of threads that are to be cancelled at shutdown.
Protect against not cancelling threads if compiling with SOFT_WAITS <= 0.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3386 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-16 13:45:54 +00:00
paulc a412a081e2 Improve shutdown behavior by first soft cancelling all threads and waiting a while for them to exit.
Based on a patch by Allan Sandfeld Jensen.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3385 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-16 12:23:23 +00:00
paulc 91ca986d14 Added a broadcast flag to class Message so it can continue dispatching even if one of the handlers returned true.
Use the broadcast flag in the messages emitted by the engine.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3384 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-16 11:42:52 +00:00
paulc a6a00f9660 Added an engine.stop message that modules can use to keep engine running while cleaning up.
The engine emits engine.stop every second (but at most 5 times) and shuts down only if the message returned false.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3381 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-16 09:05:08 +00:00
paulc 65c34956b5 Engine improvments by Allan Sandfeld Jensen: add the "nodename" parameter to engine generated messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3380 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-16 08:46:47 +00:00
paulc a5a06cb5ad Supervisor improvments by Allan Sandfeld Jensen: display child's normal exit code, send SIGABRT to an unresponsive child if -C was used.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3379 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-16 08:35:42 +00:00
paulc 78d100265f Got rid of some long standing conversion warning by providing the proper casts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3377 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 18:07:17 +00:00
paulc 616e868e00 Use the sdbm string hashing algorithm from http://www.cse.yorku.ca/~oz/hash.html
Patch recommended by Allan Sandfeld Jensen.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3372 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 12:29:00 +00:00
paulc d95cb2fec6 Spelling cleanup of a very common error: Retrive -> Retrieve
git-svn-id: http://yate.null.ro/svn/yate/trunk@3371 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 11:25:10 +00:00
paulc dda44fe281 Made a lot of constructors explicit to prevent undesirable automatic conversions.
Fixed two undesirable automatic conversions exposed by this change.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3366 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-08 15:25:05 +00:00
paulc 63e386addb Include the node name in the engine status and the default rmanager greeting.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3352 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-28 17:07:49 +00:00
marian 6b4ae1e4d5 Added method used to set an element's image.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3338 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-21 11:43:26 +00:00
marian dad8ca1f34 Add existing accounts to menu. Remove an account from menu when deleted.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3336 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-20 15:15:31 +00:00
marian 8b954ffe33 Added methods used to build and remove menus at runtime.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3335 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-20 15:14:31 +00:00
marian 6ea274c2b4 Added client option used to open the account add window on startup if the accounts list is empty. Reset it if the user closes the window before terminating the application.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3334 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-19 13:26:57 +00:00
marian fb8856ebb9 Avoid resetting account add/edit window contents if already visible.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3332 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-19 12:29:04 +00:00
marian cdd8e0abe4 Handle 'quit' action in DefaultLogic.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3331 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-19 11:29:37 +00:00
paulc 1bf3f67209 Fixed a missing parameter.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3323 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-13 17:17:42 +00:00
marian 401917ee8e Fixed chan.dtmf sending: use the active channel if none specified.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3318 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-13 13:34:42 +00:00
marian 24ff753ac9 DefaultLogic is now waiting for engine start notification to login startup accounts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3313 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-12 08:45:40 +00:00
marian 73abc8bd87 Postpone the engine.start message to be processed in the client's thread.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3312 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-12 08:01:37 +00:00
marian 2ac3483b36 Hide account and contact edit windows before exiting.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3309 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-11 14:45:07 +00:00
marian 29b145351e DefaultLogic is now using an accounts list for accounts and contacts management. Fixed account and contact add/edit bugs. Calls log is now shown using a common table for incoming and outgoing. Fixed DefaultLogic resource.notify and user.roster processing.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3308 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-11 14:25:41 +00:00
marian 74e1d159cd Return found configuration section when asked to check or create one.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3303 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-10 14:02:21 +00:00
marian 5e77ad5c72 Use the new version of NamedList::addParam() to avoid adding empty values.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3282 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 11:17:46 +00:00
paulc 64dae801eb Made possible to automatically skip adding an empty value to a NamedList.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3281 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 10:35:52 +00:00
marian bd4ee4155b Make sure the account's resource pointer is always valid.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3280 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 10:22:34 +00:00
paulc c8254ab211 Added assignment operator for NamedList.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3278 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 10:14:59 +00:00
marian 831a55813a The ClientAccountList can now keep an account owning locally stored contacts. Fixed comments.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3277 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 10:00:05 +00:00
marian 0df39a3efb It's now possible to add arbitrary parameters to the call.route message dispatched by an outgoing client channel.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3251 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-29 08:51:51 +00:00
marian 9617d368db Added send chat method to contact.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3218 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-20 08:22:38 +00:00
marian 0e61d4d66b Added extra parameter used to activate the chat window when shown.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3217 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-20 08:14:22 +00:00
marian f2de758ef5 The client contact is now keeping the resources in descending order of priority.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3211 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-19 15:07:30 +00:00
marian d08790832c Added utilities used to build messages sent by the client.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3208 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-19 12:01:21 +00:00
marian cbce383f80 Added user.roster client relay.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3207 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-19 08:26:22 +00:00
marian 857b6cf87f Added more status data to client resource.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3206 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-19 08:02:04 +00:00
marian 69dd2bee29 Added/changed debug.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3199 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-16 09:43:11 +00:00
marian d5a7575b80 Set focus to target control after handling a settext action.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3194 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-14 15:05:28 +00:00
marian 8dd9d23f8e Added 'settext' action handler to default logic.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3193 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-14 14:32:20 +00:00
marian 7056dd5c80 Added support to create/destroy a modal dialog from an UI widget.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3192 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-14 13:12:25 +00:00
marian 04781bc434 Lock the debug mutex only if we have something to show.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3191 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-14 08:59:44 +00:00
paulc 13f64f0306 Added names to codec translator factories to aid in debugging.
Try all possible formats when attempting to crate a new chain.
Fixes some missing conversions like speex/32000<->slin.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3165 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-02 14:28:27 +00:00
paulc 8e07545b79 Double the system idle interval when running in client mode, make it adjustable from the config file.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3163 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-31 09:36:58 +00:00
oana 51b082375f Yate has been ported on Mac OS X.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3153 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-30 11:49:43 +00:00
paulc 495d107cc3 Quickly return 0 on compiling a NULL or whitespace-only expression.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3150 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-26 13:01:56 +00:00
paulc fc63f3b29f Initialize the expression evaluator's extender to NULL in constructor.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3149 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-26 12:23:50 +00:00
paulc a43d4619fc Use the * precision specification in sprintf to allow format checks.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3147 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-26 09:41:42 +00:00
paulc 15904daef1 Reorder libraries so that Yate libraries and modules can be linked using --as-needed avoiding underlinking or overlinking.
Reported by Mandriva (bug report #206).


git-svn-id: http://yate.null.ro/svn/yate/trunk@3143 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-24 13:46:12 +00:00
paulc 53bd36d6b9 Improved checking of String appending during race conditions.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3137 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-22 12:15:46 +00:00
paulc 1e06cd8aba Fortify String appending against concurrency conditions so the resulting string is at most garbled or truncated.
It was possible to overwrite arbitrary amounts of memory if the String itself or the appended value were modified during the appending operation.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3133 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-22 11:30:24 +00:00
paulc 4cbbec1ebb Keep looping() in a ThreadedSource that has more than one reference even if it has no consumers. Prevents exiting on race condition between adding consumers and dereferencing.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3098 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-01 22:49:17 +00:00
marian 2682cdb12e A list parameter can now be removed by pointer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3089 acf43c95-373e-0410-b603-e72c3f656dc1
2010-02-18 12:59:50 +00:00
paulc 9eccfa1130 Fixed building in Windows, added sigtransport to build and installer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3069 acf43c95-373e-0410-b603-e72c3f656dc1
2010-02-04 12:50:06 +00:00
andrei e85bb9b262 Added suport for abstract SCTP Socket
git-svn-id: http://yate.null.ro/svn/yate/trunk@3057 acf43c95-373e-0410-b603-e72c3f656dc1
2010-02-02 14:21:02 +00:00
paulc f8311873ee Added a set of classes for evaluating C or SQL style expressions.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3055 acf43c95-373e-0410-b603-e72c3f656dc1
2010-02-01 20:53:47 +00:00
paulc 17e19a0245 Use static Regexps instead of compiling new ones up to 5 times.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3049 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-31 20:35:48 +00:00
paulc 2d27ec675c Precompile regular expressions on construction from constant string so it won't need to compile on first call.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3046 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-31 20:05:43 +00:00
paulc f449fd6d51 Display the name of the shared object in SLib destructor to aid in debugging unload order.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3045 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-30 20:33:11 +00:00
paulc 38be63b452 Allow overriding DLL_SUFFIX (.yate) and CFG_SUFFIX (.conf) at compile time.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3042 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-27 16:44:19 +00:00
paulc 3d932d62c3 When started in interactive mode (not daemonified) shutdown on receiving SIGHUP since the console was closed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3040 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-27 12:07:51 +00:00
marian 60040f3382 Use clear() to delete list items when the list is destroyed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3038 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-26 13:20:06 +00:00
paulc 6eeb68bb1a Added Channel::initChan() method to add the channel to the driver explicitely, after the object is fully constructed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3033 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-26 10:31:32 +00:00
paulc 53dd0297d1 Reduced contention on mutex in CallEndpoint::getPeerId() when there is no peer.
Report the name of the thread holding CallEndpoint::commonMutex() locked.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3023 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-16 21:04:08 +00:00
paulc 8ed8bd3095 Added method to retrieve the name of the Thread currently owning a Mutex.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3022 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-16 20:42:25 +00:00
paulc 66b8ce7ca2 When explicitely signalling the supervisor to restart the child reset the run delay time back to minimum.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3021 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-16 20:40:03 +00:00
paulc 6318a02e9d Modified the CallEndpoint::getPeerId() API so it copies the string while holding CallEndpoint::commonMutex().
git-svn-id: http://yate.null.ro/svn/yate/trunk@3019 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-14 00:01:38 +00:00
oana 9554d2edb6 Added counter for number of restarts in supervised mode. Counter value added to Engine::runParams().
git-svn-id: http://yate.null.ro/svn/yate/trunk@3010 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-07 12:11:09 +00:00
paulc 1d9f358e7f Abort further module loading and initialization if engine is exiting.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3000 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-28 13:20:07 +00:00
paulc a4e2f58dbd Apply "maxcall" and "timeout" parameters on the "chan.control" message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2995 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-20 15:17:37 +00:00
paulc 5cde9ef2be Automatically reset the maxcall timer when entering "answered" status.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2991 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-18 19:08:41 +00:00
paulc 749f559c9c Made more Socket methods virtual to allow implementing non kernel-based sockets.
Removed SCTP specific methods, they will go in a separate class.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2984 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-14 16:37:08 +00:00
paulc 966a1201b9 Added possibility to repeat the -Dm option to halve the mutex maximum wait time.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2982 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-10 11:20:50 +00:00
paulc b7c28299d9 Hold the DataSource we are replacing referenced while detaching it from the consumer. This prevents crashes caused by races between replacement and destruction of a DataSource.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2979 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-07 11:43:00 +00:00
paulc 05fa7aca7c Copy by default some parameters from call.execute to chan.startup of outgoing calls.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2964 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-25 18:34:54 +00:00
paulc 639f1bcedd Fixed a bug introduced in Rev. 2935 - in Windows HANDLE and SOCKET are different.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2941 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-13 10:44:28 +00:00
paulc c464d42a67 Fixed a bug causing incorrect result and potential crashes if a socket was terminated while in select().
git-svn-id: http://yate.null.ro/svn/yate/trunk@2935 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-12 14:49:18 +00:00
paulc a15cca0316 Allow MimeMultipartBody::getObject to descend into parts looking for the type.
Create a MimeStringBody for XML based types.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2889 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-03 13:35:05 +00:00
paulc 435cb3ab9c Extended gethostbyname_r buffer to 576 bytes for more demanding versions of libc.
Use single threaded gethostbyname as fallback if buffer is still too small.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2860 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-02 13:09:02 +00:00
paulc d98cc424eb Use inet_ntop, inet_pton and gethostbyname_r if available on system.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2859 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-02 10:00:23 +00:00
paulc 5b6d399446 Support for replacing in ${param-name$default-value} style.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2857 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-25 13:13:58 +00:00
paulc 14b4e4a755 Added format info for G.729/G.729A.
Wavefile module can play or record raw G.729 files with extension .g729


git-svn-id: http://yate.null.ro/svn/yate/trunk@2856 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-23 15:07:50 +00:00
paulc dc35c215ae Added a validity check method to DataNode and some descendants.
A DataSource will remove invalid consumers that returned zero.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2854 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-23 14:50:51 +00:00
paulc c0a309d809 Build the SCTP flags in configure, they may be needed outside the engine.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2846 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-21 11:37:38 +00:00
paulc 12a2ac9c0c Added parameter to ThreadedSource::looping() so it can keep running while it has consumers.
Fixed behavior of wave and tone "override" and "replace" methods.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2835 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-14 11:02:27 +00:00
paulc fb6762b981 When compiled for debugging warn if a thread calls idle() holding mutex locks.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2831 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-10 18:59:05 +00:00
paulc 2186793f38 The worker thread of ThreadedSource now keeps it referenced.
New methods of DataEndpoint, CallEndpoint and ThreadedSource allow easier handling of concurrent operations.
Modules using ThreadedSource were modified to use the new API.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2827 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-07 23:49:12 +00:00
paulc 655783fb6b String::uriEscape() takes an extra optional parameter with characters that should not be escaped, for specific cases when a protocol makes some characters unreserved.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2816 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-01 14:32:00 +00:00
paulc bdbbbc5076 Added NamedList constructor and method to copy subparameters from another list.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2811 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-31 13:36:37 +00:00
paulc 11e9fe6e76 Added a method to retrieve a desired body type from a possibly multipart MIME body.
Fixed spelling of "retrieve" in several places.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2801 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-23 19:48:17 +00:00
paulc 5e9911c6e6 For debugging purposes added a count of threads trying to lock a mutex, display number of waiting threads in failure messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2798 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-19 16:27:48 +00:00
paulc 16c5905559 Fixed the reference counting of Semaphore internal implementation.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2796 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-18 15:32:06 +00:00
paulc 800c9fd8b2 When masquerading a call.answered message change the status but don't call status() that would set the isAnswered() flag and prevent a call.answered in the other direction from working.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2787 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-12 15:31:05 +00:00
paulc 935d62a35d Fixed Socket::canRetry() on Windows.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2778 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-03 10:26:02 +00:00
paulc 57d81711b6 The runtime parameters from Engine::runParams() are expanded in the client greeting string.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2775 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-02 23:19:52 +00:00
paulc ebd41dfaec Use the platform idle time in various sleeps in SIP and Jabber.
Fixed a compiler warning about the copy constructor of Mutex and 
Semaphore.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2763 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-22 15:41:28 +00:00
paulc 132976a3ef Include <time.h> as on some platforms is required for struct timespec.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2762 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-22 13:09:21 +00:00
paulc a2812051f2 Added Semaphore class, made Mutex derive from (new class) Lockable, made Lock able to get a lock on any Lockable - Mutex or Semaphore.
Use pthread_mutex_timedlock and sem_timedwait if available on platform.
Fixed a bug in the IAX channel exposed by Mutex having virtual methods.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2761 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-22 12:57:14 +00:00
paulc 371c004e61 Allow server command line options when running in ClientProxy mode.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2760 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-14 18:47:06 +00:00
paulc fe9c1c1c98 Added a ClientProxy engine run mode for clients with no local UI.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2759 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-14 15:49:20 +00:00
paulc b4d67b1951 Backstep when a jump is needed in the handler list since the scanning loop will move to the next handler.
Should fix some hard to explain missed handler calls.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2758 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-14 13:33:02 +00:00
marian 81a65e0524 Disconnect the channel held by a client sound when stop is requested.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2756 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-13 13:12:49 +00:00
paulc 259f204d39 Set the thread name when running under windbg or Visual Studio debugger.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2755 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-09 15:34:54 +00:00
marian 402fbf2d1f Drop driver lock before displaying the media set failure message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2748 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-07 07:17:11 +00:00
marian 3db701bda5 Fixed id match when handling offline contacts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2747 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-07 07:09:14 +00:00
paulc 8520218d2d Added flags to data forwarded through DataNodes.
The amount of consumed data is returned to the source.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2745 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-02 09:24:33 +00:00
marian a1bb51dc49 Fixed default logic resource.notify and resource.subscribe handlers: look for 'contact' and 'instance' parameters.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2743 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-30 13:41:29 +00:00
paulc f4b1496a46 Added an unified Thread::idle method, use it instead of arbitrary
sleeps.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2737 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-24 16:47:29 +00:00
marian 8a5c553fd9 Client sounds can now carry a stereo parameter. This parameter is forwarded by utility client channels in the chan.attach message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2735 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 16:09:09 +00:00
paulc 5499650213 Changed thread names to be uniform and easily readable.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2733 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 14:48:26 +00:00
paulc 46761a8933 Fixed build on Windows, MUTEX_STATIC_UNSAFE handling must be outside the platform specific ifdef.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2732 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 13:20:09 +00:00
paulc f17d89f159 Detect prctl availability when configuring.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2730 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 12:22:52 +00:00
paulc c0eec08096 Make use of prctl() if available.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2729 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 11:09:38 +00:00
paulc c23251c4d0 Fixed more warnings on different platforms.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2726 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-19 11:58:33 +00:00
paulc 65fa4adbd4 Fixed warnings and a few minor bugs when compiling on a different architecture.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2724 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-19 11:19:20 +00:00
marian b2f419a6b5 Utility client channels are now notifying startup/destroyed events.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2723 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-19 06:53:44 +00:00
paulc bad4b42a73 Added engine config section so individual modules that depend on buggy
libraries are never unloaded from memory, only finalized if possible.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2722 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-18 17:44:48 +00:00
paulc a6a9d71e8f Allow skipping mutex operations until main() on platforms where mutexes
are unsafe in global object constructors.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2721 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-18 12:21:23 +00:00
paulc fc2b3d5e2e Thread support for systems without inherited scheduling and/or thread
cancelling.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2719 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-18 11:41:44 +00:00
marian 2bc53a4f23 Copy the 'cdrwrite' parameter when starting an outgoing client channel.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2715 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-15 15:26:23 +00:00