Commit Graph

160 Commits

Author SHA1 Message Date
marian 2bcacf9525 Added extra parameter used to set relay filter in module install relay.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6531 acf43c95-373e-0410-b603-e72c3f656dc1
2021-12-16 11:37:39 +00:00
marian e090326356 Added separate (global) mutex used to protect access to Channel::m_status. Removed unsafe public method used to obtain it. Added methods used to safely obtain a copy of it.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6410 acf43c95-373e-0410-b603-e72c3f656dc1
2020-05-29 14:03:35 +00:00
oana 2f7e7d8537 Add tracing and propagation of trace ID in CallEndpoint and Channel.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6404 acf43c95-373e-0410-b603-e72c3f656dc1
2020-04-22 12:36:46 +00:00
oana e337f4bc3a Add option to stop execution of an outgoing call.
Propagate that parameter in dumb channel, tone generator and wave file.
In SIP, simulate going through the whole SIP stack before stopping execution of the call.



git-svn-id: http://yate.null.ro/svn/yate/trunk@6401 acf43c95-373e-0410-b603-e72c3f656dc1
2020-04-22 10:59:48 +00:00
paulc 0f301d3a76 Reset the message time and handlers list when renaming call preroute -> route -> execute.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6355 acf43c95-373e-0410-b603-e72c3f656dc1
2019-06-28 12:59:33 +00:00
marian 72f8657188 Added Channel parameters list to be set in all Channel messages. Update it from routing and chan.control.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6339 acf43c95-373e-0410-b603-e72c3f656dc1
2019-01-14 09:54:04 +00:00
paulc c4c9e994f0 Renamed DebugGoOn to DebugCrit so it better matches its purpose.
Swapped order of DebugCall and DebugNote so DebugCall is less visible.
Changed default debug level to DebugNote.
Modified a few inadequate uses of DebugCrit.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6250 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-01 13:08:23 +00:00
paulc 9e5c186299 Added support for setting "debug level N+" or "debug level N-"
git-svn-id: http://yate.null.ro/svn/yate/trunk@6226 acf43c95-373e-0410-b603-e72c3f656dc1
2017-06-05 12:33:38 +00:00
paulc 96f60292e6 Prevent multiple engine.timer messages from timing out Channels in the same Driver.
This signifficantly reduces the pressure on the worker threads in congestion conditions.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6189 acf43c95-373e-0410-b603-e72c3f656dc1
2017-02-22 11:22:40 +00:00
paulc cdba9c103b Added method for URI escaping an entire list of characters.
Escape status detail characters that may disturb status parsing.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6184 acf43c95-373e-0410-b603-e72c3f656dc1
2017-02-16 11:24:25 +00:00
paulc c67312d159 Added extra checks for race conditions where CallEndpoint::setEndpoint() may fail.
Added convenience static RefObject::alive() method to check a RefObject pointer.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6177 acf43c95-373e-0410-b603-e72c3f656dc1
2017-01-27 11:25:29 +00:00
marian 353f7e696d Rollback accidentally commited files in previous commit.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6137 acf43c95-373e-0410-b603-e72c3f656dc1
2016-09-15 10:45:40 +00:00
marian 4590f53dc7 Documented tcp idle/keeplive intervals.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6136 acf43c95-373e-0410-b603-e72c3f656dc1
2016-09-15 10:35:31 +00:00
marian a00d751a02 Added engine.stop relay id to Module.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6072 acf43c95-373e-0410-b603-e72c3f656dc1
2015-11-25 08:34:12 +00:00
paulc 5c99a83aef Added helper class to keep extra account parameters for calls and registration.
Added extra account parameters handling to SIP channel.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6066 acf43c95-373e-0410-b603-e72c3f656dc1
2015-11-18 14:20:00 +00:00
paulc 23213233c2 Make sure we don't dereference a channel whose disconnect() was called from destroyed().
git-svn-id: http://yate.null.ro/svn/yate/trunk@5966 acf43c95-373e-0410-b603-e72c3f656dc1
2015-04-07 14:07:14 +00:00
paulc 079333da8b Force a (last) peer ID cache flush when a Channel is disconnected.
This fixes stale "peerid" and "lastpeerid" parameters when a channel is reconnected to another channel that happens to be allocated at the same address in memory.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5816 acf43c95-373e-0410-b603-e72c3f656dc1
2014-04-04 09:14:04 +00:00
paulc 37a72e4bc1 Added copyright notices to sources and scripts missing them.
Updated copyright notices for 2014.
Fixed end of lines in many files.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5755 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-05 11:42:17 +00:00
paulc 76fdb5ce75 Added support for counting allocated objects for memory leaks troubleshooting.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5752 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-04 16:36:23 +00:00
paulc 7e400d3697 Retry taking the lock on CallEndpoint mutex keeping the Engine congested.
This should allow recovering from performance problems as new calls are blocked.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5704 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:08:37 +00:00
paulc fabd958b61 Added and Engine congestion counter and call accept status override.
Send alarms when entering or exiting congestion state.
The Driver now refuses to route calls while engine is congested or rejecting calls.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5703 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:08:09 +00:00
paulc 87bdcc5798 Reduced contention on CallEndpoint::commonMutex() when getting current or last peer ID.
Added a variable and separate mutex for the last peer ID, also used as cache for current one.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5702 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:07:34 +00:00
marian fd0c7a9d2b Added post dial delay timeout in outgoing channel started from 'maxpdd' routing parameter. It stops when status is called with 'ringing', 'progressing' or 'answered'.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5666 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-11 12:46:20 +00:00
marian e0942e7e65 Changed im.execute relay id. Removed im.route message relay. Route chat using call.route message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5618 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-13 07:54:00 +00:00
paulc cf5d0fd71a Changed license terms in each source file to reference an external file.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
paulc 863247ff31 Send Alarm from several places instead of just Debug.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5563 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-05 12:49:44 +00:00
paulc ea1b2f7bec Copy all call.drop parameters into the channel disconnected list.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5505 acf43c95-373e-0410-b603-e72c3f656dc1
2013-05-14 09:28:14 +00:00
paulc 5ce62d0ec9 Apply only strictly positive driver default timeouts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5466 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-15 12:46:48 +00:00
paulc 3b49b78ecb Added a shared static list of Atom strings and an YATOM macro.
This speeds up signifficantly the Yate RTTI on compilers that HAVE_BLOCK_RETURN.
Made the String comparison operator inline to shave off a few cycles.
Fast handle the comparison in identity case.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5449 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:19:14 +00:00
marian ce58dea406 Fixed bug: remove relay from relays list when uninstalled to avoid keeping an invalid pointer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5321 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-13 11:30:30 +00:00
paulc a779f83eb0 Changed the handling of the "timeout" parameter so it (re)starts when call is answered.
Added "maxcall" and "timeout" setting and handling to channels that lacked it.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5282 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-25 09:39:49 +00:00
oana cd8b40e3c6 Keep channel count in a member variable. Replace the use of count() on the channel list with this variable.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5222 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-15 12:36:53 +00:00
paulc fbb10ee055 Copy parameters to the disconnect list after prerouting.
This allows setting parameters in chan.hangup and CDR for calls cancelled during routing.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5174 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-02 15:30:52 +00:00
paulc 300848b5a6 Copy the parameters in "copyparams" to chan.hangup if the call failed to craete an outbound call leg.
This allows setting custom parameters in CDR from routing or disconnect.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5167 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-01 20:47:55 +00:00
paulc 1ae6c15289 Set the call leg "direction" parameter in channel messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5121 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-15 10:52:12 +00:00
paulc bf57830c7f Added possibility to track message progress through handlers.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5107 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-12 23:47:01 +00:00
oana 65e74cd04c Use const String references for specifying type of data inCallEndpoint. Added method to return the default audio type.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5087 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-01 11:52:50 +00:00
paulc bfbe853907 When routing set the default reason only if also using the default error.
This prevents mismatched messages like "401 No Route".


git-svn-id: http://yate.null.ro/svn/yate/trunk@5084 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-31 17:40:33 +00:00
paulc 8df21a9dd4 Allow chan.masquerade to provide only minimal completion of parameters.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5076 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-29 08:48:54 +00:00
paulc 0a8aec34aa Trim any leading or trailing whitespaces from returned route.
An empty route causes a "noroute" error.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4790 acf43c95-373e-0410-b603-e72c3f656dc1
2011-12-22 13:46:09 +00:00
paulc cd83ba0fce Added new static mutex to protect channel disconnect parameters during access.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4662 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-28 18:23:26 +00:00
marian 25d640a2aa Avoid destroying a Channel with its driver locked.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4462 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-22 11:38:57 +00:00
paulc fa0269ba4f New YSTRING macro that creates an ad-hoc static const String to speed up comparations and conversions from literal strings.
On unsupported compilers the literal string is returned unchanged.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4423 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 12:26:53 +00:00
paulc 980815c723 Protect the channel status variable while changing it.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4375 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-13 13:26:07 +00:00
paulc b94f4c4239 Moved DebugEnabler and name from Module to Plugin, made name mandatory.
Added API and command to reload configuration of a single plugin.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4203 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-23 16:26:25 +00:00
paulc c9a2c40f32 Moved the post-disconnect hooking code from ysigchan to the Channel class.
Added capability of sending arbitrary SIP headers on call disconnect.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4193 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-17 20:57:34 +00:00
paulc b1bcd4d95b Clear disconnect parameters after retrieving them once.
Being set by the peer we don't want them in our chan.hangup message.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4141 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-01 16:06:22 +00:00
paulc e45b1405db Return the chan.disconnected from getDisconnected() with the Channel already set as userData.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4101 acf43c95-373e-0410-b603-e72c3f656dc1
2011-02-09 11:16:43 +00:00
paulc 7c4801873f Automatically copy disconnect parameters to the chan.hangup message.
Provide those parameters to the peer call endpoint when disconnecting it.
Add numeric cause_q931 to disconnect params of h323chan.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4052 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-21 10:21:01 +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