paulc
747e32afd8
Added helper class to keep extra account parameters for calls and registration.
...
Added extra account parameters handling to SIP channel.
git-svn-id: http://voip.null.ro/svn/yate@6066 acf43c95-373e-0410-b603-e72c3f656dc1
2015-11-18 14:20:00 +00:00
paulc
846279a784
Make sure we don't dereference a channel whose disconnect() was called from destroyed().
...
git-svn-id: http://voip.null.ro/svn/yate@5966 acf43c95-373e-0410-b603-e72c3f656dc1
2015-04-07 14:07:14 +00:00
paulc
4de603cda1
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://voip.null.ro/svn/yate@5816 acf43c95-373e-0410-b603-e72c3f656dc1
2014-04-04 09:14:04 +00:00
paulc
d56cecb40e
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://voip.null.ro/svn/yate@5755 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-05 11:42:17 +00:00
paulc
424feb6aad
Added support for counting allocated objects for memory leaks troubleshooting.
...
git-svn-id: http://voip.null.ro/svn/yate@5752 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-04 16:36:23 +00:00
paulc
623c4701df
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://voip.null.ro/svn/yate@5704 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:08:37 +00:00
paulc
2c78e79121
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://voip.null.ro/svn/yate@5703 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:08:09 +00:00
paulc
f7ad9ee3d0
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://voip.null.ro/svn/yate@5702 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-07 16:07:34 +00:00
marian
18ae05c63c
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://voip.null.ro/svn/yate@5666 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-11 12:46:20 +00:00
marian
2ab24ed2e2
Changed im.execute relay id. Removed im.route message relay. Route chat using call.route message.
...
git-svn-id: http://voip.null.ro/svn/yate@5618 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-13 07:54:00 +00:00
paulc
18e10bfd69
Changed license terms in each source file to reference an external file.
...
git-svn-id: http://voip.null.ro/svn/yate@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
paulc
b3e87ed1a6
Send Alarm from several places instead of just Debug.
...
git-svn-id: http://voip.null.ro/svn/yate@5563 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-05 12:49:44 +00:00
paulc
00f61dac6e
Copy all call.drop parameters into the channel disconnected list.
...
git-svn-id: http://voip.null.ro/svn/yate@5505 acf43c95-373e-0410-b603-e72c3f656dc1
2013-05-14 09:28:14 +00:00
paulc
44e89f8bcd
Apply only strictly positive driver default timeouts.
...
git-svn-id: http://voip.null.ro/svn/yate@5466 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-15 12:46:48 +00:00
paulc
7c8b2d4c38
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://voip.null.ro/svn/yate@5449 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:19:14 +00:00
marian
e6d40c50e5
Fixed bug: remove relay from relays list when uninstalled to avoid keeping an invalid pointer.
...
git-svn-id: http://voip.null.ro/svn/yate@5321 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-13 11:30:30 +00:00
paulc
f5230b501c
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://voip.null.ro/svn/yate@5282 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-25 09:39:49 +00:00
oana
e4f1433541
Keep channel count in a member variable. Replace the use of count() on the channel list with this variable.
...
git-svn-id: http://voip.null.ro/svn/yate@5222 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-15 12:36:53 +00:00
paulc
326b6940d4
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://voip.null.ro/svn/yate@5174 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-02 15:30:52 +00:00
paulc
e4e08d488e
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://voip.null.ro/svn/yate@5167 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-01 20:47:55 +00:00
paulc
b218206af1
Set the call leg "direction" parameter in channel messages.
...
git-svn-id: http://voip.null.ro/svn/yate@5121 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-15 10:52:12 +00:00
paulc
7e77fd2cfb
Added possibility to track message progress through handlers.
...
git-svn-id: http://voip.null.ro/svn/yate@5107 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-12 23:47:01 +00:00
oana
d47c9acafe
Use const String references for specifying type of data inCallEndpoint. Added method to return the default audio type.
...
git-svn-id: http://voip.null.ro/svn/yate@5087 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-01 11:52:50 +00:00
paulc
97aff2cd54
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://voip.null.ro/svn/yate@5084 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-31 17:40:33 +00:00
paulc
708fa999a5
Allow chan.masquerade to provide only minimal completion of parameters.
...
git-svn-id: http://voip.null.ro/svn/yate@5076 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-29 08:48:54 +00:00
paulc
13e4852085
Trim any leading or trailing whitespaces from returned route.
...
An empty route causes a "noroute" error.
git-svn-id: http://voip.null.ro/svn/yate@4790 acf43c95-373e-0410-b603-e72c3f656dc1
2011-12-22 13:46:09 +00:00
paulc
4d74b5138f
Added new static mutex to protect channel disconnect parameters during access.
...
git-svn-id: http://voip.null.ro/svn/yate@4662 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-28 18:23:26 +00:00
marian
02c3052c36
Avoid destroying a Channel with its driver locked.
...
git-svn-id: http://voip.null.ro/svn/yate@4462 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-22 11:38:57 +00:00
paulc
471dd0d96d
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://voip.null.ro/svn/yate@4423 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 12:26:53 +00:00
paulc
b8e2817f13
Protect the channel status variable while changing it.
...
git-svn-id: http://voip.null.ro/svn/yate@4375 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-13 13:26:07 +00:00
paulc
8e61c980ee
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://voip.null.ro/svn/yate@4203 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-23 16:26:25 +00:00
paulc
5e47c82025
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://voip.null.ro/svn/yate@4193 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-17 20:57:34 +00:00
paulc
49c8f201aa
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://voip.null.ro/svn/yate@4141 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-01 16:06:22 +00:00
paulc
e70e1a0110
Return the chan.disconnected from getDisconnected() with the Channel already set as userData.
...
git-svn-id: http://voip.null.ro/svn/yate@4101 acf43c95-373e-0410-b603-e72c3f656dc1
2011-02-09 11:16:43 +00:00
paulc
fa661af327
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://voip.null.ro/svn/yate@4052 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-21 10:21:01 +00:00
paulc
a2102dfbf1
Emit a chan.connected notification message when a Channel was just connected.
...
git-svn-id: http://voip.null.ro/svn/yate@3755 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-26 15:48:36 +00:00
paulc
33a98e83aa
Added Channel::initChan() method to add the channel to the driver explicitely, after the object is fully constructed.
...
git-svn-id: http://voip.null.ro/svn/yate@3033 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-26 10:31:32 +00:00
paulc
717a87c5af
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://voip.null.ro/svn/yate@3023 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-16 21:04:08 +00:00
paulc
5950cdd9df
Modified the CallEndpoint::getPeerId() API so it copies the string while holding CallEndpoint::commonMutex().
...
git-svn-id: http://voip.null.ro/svn/yate@3019 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-14 00:01:38 +00:00
paulc
657bfc063c
Apply "maxcall" and "timeout" parameters on the "chan.control" message.
...
git-svn-id: http://voip.null.ro/svn/yate@2995 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-20 15:17:37 +00:00
paulc
455b6dbf81
Automatically reset the maxcall timer when entering "answered" status.
...
git-svn-id: http://voip.null.ro/svn/yate@2991 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-18 19:08:41 +00:00
paulc
2ebf04b2a3
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://voip.null.ro/svn/yate@2827 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-07 23:49:12 +00:00
paulc
51e203934c
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://voip.null.ro/svn/yate@2787 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-12 15:31:05 +00:00
paulc
09b07f4b00
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://voip.null.ro/svn/yate@2761 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-22 12:57:14 +00:00
paulc
c163a762f9
Clear the DataEndpoint's owner early, do not assume the CallEndpoint will still be valid when the DataEndpoint is finally destroyed.
...
git-svn-id: http://voip.null.ro/svn/yate@2634 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-20 12:30:57 +00:00
paulc
5227505c00
Added names to the Mutex class to ease debugging of deadlocks.
...
git-svn-id: http://voip.null.ro/svn/yate@2611 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-05 12:25:31 +00:00
paulc
cb2e516f13
Do not handle Progress, Ringing or Answered messages by channels that are already answered.
...
git-svn-id: http://voip.null.ro/svn/yate@2562 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-02 15:52:21 +00:00
paulc
c546face0d
Added channel disconnect parameter list and methods to use them.
...
git-svn-id: http://voip.null.ro/svn/yate@2549 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-29 18:11:54 +00:00
paulc
14e16c86d7
Added a static helper method to complete one item, use it where applicable.
...
git-svn-id: http://voip.null.ro/svn/yate@2202 acf43c95-373e-0410-b603-e72c3f656dc1
2008-09-16 13:30:04 +00:00
paulc
9439ffcb52
Added the basic IM related messages.
...
git-svn-id: http://voip.null.ro/svn/yate@2147 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-06 17:21:44 +00:00