Commit Graph

761 Commits

Author SHA1 Message Date
Russell Bryant b6b1bf3213 Merge changes from team/russell/events
This set of changes introduces a new generic event API for use within Asterisk.
I am still working on a way for events to be shared between servers, but this
part is ready and can already be used inside of Asterisk.

This set of changes introduces the first use of the API, as well.  I have
restructured the way that MWI (message waiting indication) is handled.  It is
now event based instead of polling based.  For example, if there are a bunch
of SIP phones subscribed to mailboxes, then chan_sip will not have to
constantly poll the mailboxes for changes.  app_voicemail will generate events
when changes occur.

See UPGRADE.txt and CHANGES for some more information on the effects of these
changes from the user perspective.  For developer information, see the text in
include/asterisk/event.h.

As always, additional feedback is welcome on the asterisk-dev mailing list.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-28 21:01:44 +00:00
Joshua Colp 14d8979b2f Merged revisions 62038 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r62038 | file | 2007-04-26 12:33:52 -0400 (Thu, 26 Apr 2007) | 10 lines

Merged revisions 62037 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r62037 | file | 2007-04-26 12:30:57 -0400 (Thu, 26 Apr 2007) | 2 lines

Revert previous fix for when the IAX2 channel goes funky (that's the technical term). This is causing legit calls to be prematurely hung up. (issue #9600 reported by justdave)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-26 16:35:14 +00:00
Russell Bryant dc7514a746 Merged revisions 61870 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61870 | russell | 2007-04-25 16:59:07 -0500 (Wed, 25 Apr 2007) | 10 lines

Merged revisions 61866 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61866 | russell | 2007-04-25 16:55:23 -0500 (Wed, 25 Apr 2007) | 2 lines

If the callerid= option is specified, but empty, clear any previous data.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-25 22:01:37 +00:00
Russell Bryant 891a005706 Merged revisions 61863 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61863 | russell | 2007-04-25 16:13:15 -0500 (Wed, 25 Apr 2007) | 10 lines

Merged revisions 61862 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61862 | russell | 2007-04-25 16:06:22 -0500 (Wed, 25 Apr 2007) | 2 lines

Ensure that callerid settings are reset on a reload.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-25 21:15:19 +00:00
Russell Bryant b94378b5e6 Merge changes from team/russell/iax2_osp
This set of changes adds OSP support to chan_iax2.  However, I have modified
the patch a bit from what was submitted.  You now use the CHANNEL() function
to get and set the OSP token for IAX2.

(issue #8531, reported by and original patch by homesick, patch updated by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-20 21:12:53 +00:00
Steve Murphy ecaf781933 Merged revisions 60989 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60989 | murf | 2007-04-09 12:32:07 -0600 (Mon, 09 Apr 2007) | 1 line

This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
This also adds the mods from 1.4/r.61136;
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10 05:41:34 +00:00
Olle Johansson 4aef0155d6 use "ChannelType" in events to indicate which channel driver that generates the event. This replaces
"ChannelDriver" and "Channel", previously used to indicate channel driver. ChannelType is more
in line with "core show channeltypes"


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 18:22:43 +00:00
Russell Bryant 592870b6ce This hashing code is still causing some random crashes on my system, and
probably others, too.  I don't really have time to work on it at the moment,
so I am just going to revert it for now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-02 17:40:26 +00:00
Russell Bryant 5d4e6a480a Fix an issue with hashing iax2 pvt structures that caused random crashes on
systems under heavy load such as IAXtel.
(possibly related to issue #9403)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-29 18:31:35 +00:00
Russell Bryant 5a1c6826ce Merged revisions 59341 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59341 | russell | 2007-03-29 11:55:39 -0500 (Thu, 29 Mar 2007) | 8 lines

When the IAX2 read callback gets called, return NULL instead of a "null frame".
This will cause Asterisk to hangup the call instead of keep trying whatever it
was doing.  Under normal conditions, this function would *never* be called.
However, the author of this patch says an error will occur that will cause it
to get called every 100 thousand calls or so.  When this does happen, it puts
the channel in a loop that eventually brings down the system.  So, hangup up
the call is certainly a better alternative.  (issue #8286, john)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-29 16:56:35 +00:00
Russell Bryant b5adacebf1 Merged revisions 59259 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r59259 | russell | 2007-03-27 13:05:46 -0500 (Tue, 27 Mar 2007) | 12 lines

Merged revisions 59258 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r59258 | russell | 2007-03-27 13:04:02 -0500 (Tue, 27 Mar 2007) | 4 lines

Fix the use of the "sourceaddress" option when "bindaddr" is set to 0.0.0.0
instead of having each interface explicitly listed.
(issue #7874, patch by stevens)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-27 18:08:59 +00:00
Joshua Colp 4787adb4e9 Merged revisions 58923 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r58923 | file | 2007-03-15 15:13:21 -0300 (Thu, 15 Mar 2007) | 2 lines

Don't assume that the pvt structure will still exist after calling schedule_delivery as it may not. (issue #9278 reported by fmachado)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-15 18:21:03 +00:00
Russell Bryant 5dc7f1d898 Merged revisions 58705 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r58705 | russell | 2007-03-10 12:11:11 -0600 (Sat, 10 Mar 2007) | 6 lines

Fix a few more places in chan_iax2 where the ast_frame used for receiving a
frame was not properly initialized.
 - Interpolating a frame when the jitterbuffer is in use
 - decrypting a frame when IAX2 encryption is on
 - frames in an IAX2 trunk

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-10 18:15:41 +00:00
Russell Bryant f86aee41f7 Merged revisions 58243 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r58243 | russell | 2007-03-07 12:19:19 -0600 (Wed, 07 Mar 2007) | 17 lines

(This bug was reported to me by Kinsey Moore)

Merged revisions 58242 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r58242 | russell | 2007-03-07 12:17:07 -0600 (Wed, 07 Mar 2007) | 7 lines

Fix a problem where the Asterisk channel name could be that of the wrong IAX2
user for a call.  This is because the first step of choosing this name is to
look for an IAX2 peer that happens to have the same IP/port number that this
call is coming from and assuming that is it.  However, this is not always
correct.  So, I have made it change this name after authentication happens
since at that point, we have an exact match.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-07 18:20:51 +00:00
Joshua Colp 2adf4fa4e0 Merged revisions 57914 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r57914 | file | 2007-03-05 14:19:07 -0500 (Mon, 05 Mar 2007) | 2 lines

Since chan_iax2 does not support reception of DTMF with duration ensure that it is set to 0 on the frame. (issue #8521 reported by gdhgdh)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@57915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-05 19:20:45 +00:00
Russell Bryant c617945b5c Merged revisions 56847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r56847 | russell | 2007-02-26 14:04:13 -0600 (Mon, 26 Feb 2007) | 2 lines

Fix a crash in my last change to iax2_indicate(). (issue #9150)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-26 20:04:53 +00:00
Russell Bryant 82179d1202 Merged revisions 56785 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r56785 | russell | 2007-02-26 10:51:18 -0600 (Mon, 26 Feb 2007) | 3 lines

Do more complete locking of the chan_iax2_pvt struct in the indicate callback.
(Problem brought up by Ben Smithurst on the asterisk-dev list)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-26 16:54:17 +00:00
Russell Bryant 5873c9c90f There is no need to look in the iaxs array for the pvt struct when we already
have a pointer to it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-26 00:37:03 +00:00
Russell Bryant b85a5ffbe3 Make the hashing function calculate something that makes more sense.
(Thanks to bmd on #asterisk-dev for pointing out my pointless math).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-23 22:26:00 +00:00
Russell Bryant 9fb1404279 Merge team/russell/iax2_performance.
There is not a large amount of code here and the changes are not very invasive.
However, they should significantly improve performance of chan_iax2 under load.

IAX2 media frames only carry the *source* call number.  So, when one arrives,
the correct session that it is a part of has to be matched on IP address, port
number, and call number, instead of just a call number.  Had these frames
carried the *destination* call number, this would not be an issue, because that
would be a unique identifier that would make it easy to immediately identify
the correct session.

The way that chan_iax2 did this matching was extremely inefficient.  It starts
at the first available call number and traverses each call number sequentially,
locking and unlocking a mutex for each one, to try to match against it.  It
would do this regardless of whether the call number was in use or not.  So,
for a call with a local call number of 25000, every single incoming media
frame would require a traversal that required 25000 mutex lock and unlock
operations.  (Note that the max call number is about 32k).

I have introduced a hash table of active IAX2 calls to improve this lookup
process.  The hash is done on the IP address, port number, and call number.  
So, for the previous example, a few lock/unlock operations may be done versus 
25000 for each frame.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-23 21:20:33 +00:00
Russell Bryant 70ce880338 Merged revisions 56407 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r56407 | russell | 2007-02-23 14:20:00 -0600 (Fri, 23 Feb 2007) | 12 lines

Merged revisions 56406 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r56406 | russell | 2007-02-23 14:17:56 -0600 (Fri, 23 Feb 2007) | 4 lines

Don't destroy mutexes before unregistering all of the entry points from the core.
Also, fix a potential memory leak from not destroying the locks for all of the
possible call numbers (about 32k of them).

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-23 20:21:35 +00:00
Doug Bailey c6dd460655 Merged revisions 55397 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r55397 | dbailey | 2007-02-19 08:52:59 -0600 (Mon, 19 Feb 2007) | 3 lines

Changed iax2 process thread to detached to correct memory leak due to left over thread context on thread exit.  
Modified module unload process to avoid deadlocks on pthread cancels

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-19 15:24:46 +00:00
Joshua Colp bd41ac0ae8 Merged revisions 53358 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53358 | file | 2007-02-07 10:43:39 -0500 (Wed, 07 Feb 2007) | 10 lines

Merged revisions 53357 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53357 | file | 2007-02-07 10:38:48 -0500 (Wed, 07 Feb 2007) | 2 lines

Fix a few potential memory leaks with realtime users and peers. (issue #8999 reported by bsmithurst)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-07 15:46:30 +00:00
Russell Bryant b233892198 Merged revisions 53046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r53046 | russell | 2007-01-31 15:32:08 -0600 (Wed, 31 Jan 2007) | 11 lines

Merged revisions 53045 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:35:15 +00:00
Russell Bryant 116952bba1 Merged revisions 52763 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r52763 | russell | 2007-01-29 18:15:50 -0600 (Mon, 29 Jan 2007) | 13 lines

Merged revisions 52762 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r52762 | russell | 2007-01-29 18:15:06 -0600 (Mon, 29 Jan 2007) | 5 lines

Fix the extraction of the timestamp from video frames.  It was using the
mapping for a mini-frame instead of a video-frame, which caused it to
get invalid data.
(issue #8795, mihai)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-30 00:16:38 +00:00
Joshua Colp 8e755c25ca Merged revisions 52370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r52370 | file | 2007-01-26 19:08:18 -0500 (Fri, 26 Jan 2007) | 10 lines

Merged revisions 52360 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r52360 | file | 2007-01-26 19:03:23 -0500 (Fri, 26 Jan 2007) | 2 lines

Make the last context entry read in the dominant one. (issue #8918 reported by pj)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-27 00:10:19 +00:00
Joshua Colp ee3ab150f6 Merged revisions 51788 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51788 | file | 2007-01-23 17:46:31 -0500 (Tue, 23 Jan 2007) | 2 lines

Update channel drivers to use module referencing so that unloading them while in use will not result in crashes. (issue #8897 reported by junky)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 22:59:55 +00:00
Joshua Colp 34df128519 Add SRV Lookup support on outbound calls to chan_iax2. It's listed in the RFC so we might want to support it and please don't hurt me Marko ... (issue #7812 reported by drorlb)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 03:15:04 +00:00
Russell Bryant dcca8f345f Merged revisions 51311 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51311 | russell | 2007-01-19 11:49:38 -0600 (Fri, 19 Jan 2007) | 23 lines

Merge the changes from the /team/group/vldtmf_fixup branch.

The main bug being addressed here is a problem introduced when two SIP
channels using SIP INFO dtmf have their media directly bridged.  So, when a
DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk
would try to emulate a digit of some length by first sending a DTMF BEGIN
frame and sending a DTMF END later timed off of incoming audio.  However,
since there was no audio coming in, the DTMF_END was never generated.  This
caused DTMF based features to no longer work.

To fix this, the core now knows when a channel doesn't care about DTMF BEGIN
frames (such as a SIP channel sending INFO dtmf).  If this is the case, then
Asterisk will not emulate a digit of some length, and will instead just pass
through the single DTMF END event.

Channel drivers also now get passed the length of the digit to their digit_end
callback.  This improves SIP INFO support even further by enabling us to put
the real digit duration in the INFO message instead of a hard coded 250ms.
Also, for an incoming INFO message, the duration is read from the frame and
passed into the core instead of just getting ignored.

(issue #8597, maybe others...)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 18:06:03 +00:00
Luigi Rizzo a52fa7e5ad sizeof() is compatible with format %d so don't be too
picky on printf formats.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 17:45:46 +00:00
Luigi Rizzo dc31eaa025 include "asterisk/zapata.h" instead of looking
directly for the zaptel.h and tonezone.h



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 16:16:19 +00:00
Joshua Colp 31224a6b52 Merged revisions 51172 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51172 | file | 2007-01-16 19:46:29 -0500 (Tue, 16 Jan 2007) | 2 lines

Move rescheduling of lagrq/pings into the scheduler callback.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-17 00:50:59 +00:00
Tilghman Lesher 3d91c0a0c0 IAX2 remote variables - Bug 7619
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-16 08:38:59 +00:00
Joshua Colp 033d849bda Drop trunkrealloc option and just have the maximum size be a configurable option. This is per Kevin's comments on -dev and my own thoughts after I put the previous option in.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-13 04:04:04 +00:00
Joshua Colp c4b4615dcd Merge in trunkrealloc option for chan_iax2. (issue #8267 reported by marcodmb, branch by anthonyl)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-13 03:26:04 +00:00
Russell Bryant 444acad95b Covert some spaces to tabs, and put a list of defines in an enum.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-10 02:50:06 +00:00
Joshua Colp 585e0e3e09 Merged revisions 49890 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r49890 | file | 2007-01-08 00:11:54 -0500 (Mon, 08 Jan 2007) | 10 lines

Merged revisions 49889 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r49889 | file | 2007-01-08 00:10:07 -0500 (Mon, 08 Jan 2007) | 2 lines

Ensure we use the default refresh value of 60 if the remote server does not send one. (issue #8746 reported by maethor)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-08 05:13:24 +00:00
Kevin P. Fleming cd73a483f1 const-ify some more APIs, and fix rev 49710 from branch-1.4 in a better way here
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 23:32:42 +00:00
Kevin P. Fleming 87b9abc892 Merged revisions 49676 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49676 | kpfleming | 2007-01-05 16:16:33 -0600 (Fri, 05 Jan 2007) | 2 lines

reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:43:18 +00:00
Kevin P. Fleming a8dc50812f Merged revisions 49636 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r49636 | kpfleming | 2007-01-05 11:09:00 -0600 (Fri, 05 Jan 2007) | 10 lines

Merged revisions 49635 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r49635 | kpfleming | 2007-01-05 10:56:40 -0600 (Fri, 05 Jan 2007) | 2 lines

ensure that threads which are supposed to be detached (because we aren't going to wait on them) are created properly

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 17:10:59 +00:00
Kevin P. Fleming 6efd946f68 Merged revisions 49600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49600 | kpfleming | 2007-01-04 18:01:40 -0600 (Thu, 04 Jan 2007) | 2 lines

revert the dynamic_list insertion change... that was not the right thing to do

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 00:02:48 +00:00
Kevin P. Fleming 55cc7f9a03 Merged revisions 49581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49581 | kpfleming | 2007-01-04 17:50:15 -0600 (Thu, 04 Jan 2007) | 3 lines

create the IAX2 processing threads as background threads so they will use smaller stacks
when we create a dynamic thread, put it on the dynamic_list right away so we don't lose track of it

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 23:54:09 +00:00
Joshua Colp 5a140436f3 Merged revisions 49568 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49568 | file | 2007-01-04 18:00:50 -0500 (Thu, 04 Jan 2007) | 2 lines

It's possible for the iax2 pvt to disappear, so if it has... don't bother looking for dpentries.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 23:02:32 +00:00
Kevin P. Fleming d6d713c84f Merged revisions 49465 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49465 | kpfleming | 2007-01-04 12:31:55 -0600 (Thu, 04 Jan 2007) | 2 lines

only do IAX2 frame caching for voice and video frames

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-04 18:32:23 +00:00
Joshua Colp 1825b70a4c Merged revisions 49259 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49259 | file | 2007-01-02 20:19:53 -0500 (Tue, 02 Jan 2007) | 2 lines

Check pvt structure presence before passing to send_command. This gets rid of the irritating message about a packet without pvt structure. This happens because the scheduled item is getting cancelled at almost the exact moment it is getting executed.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-03 01:21:41 +00:00
Olle Johansson f83b845f08 - Implement error handling in ast_append_ha
- Use this in chan_sip
- Document ha functions in acl.c


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-01 19:20:46 +00:00
Joshua Colp 7eb0f10f34 count is no longer used in the iaxq structure really so let's just make this a statically declared linked list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-31 19:15:23 +00:00
Joshua Colp ae649fef27 Merged revisions 49063 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49063 | file | 2006-12-29 22:37:22 -0500 (Fri, 29 Dec 2006) | 2 lines

Initialize the packet queue in load_module instead of just declaring the list with the default value. (issue #8695 reported by ssokol)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-30 03:40:42 +00:00
Russell Bryant 539514d793 Merged revisions 48944 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r48944 | russell | 2006-12-24 02:25:38 -0500 (Sun, 24 Dec 2006) | 11 lines

Merged revisions 48943 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48943 | russell | 2006-12-24 02:23:07 -0500 (Sun, 24 Dec 2006) | 3 lines

Check for the proper return value on an error in a call to mmap().
This was reported by Andy Wang on the asterisk-dev list.  Thanks!

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-24 07:27:29 +00:00
Steve Murphy 7b338004bf a quick fix to app_sms.c to get rid of cursed compiler warnings so I can compile under --enable-dev-mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-21 19:44:20 +00:00
Steve Murphy 9327720c37 As per bug 7978, this version introduces the jittertargetextra option in config files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-21 00:24:08 +00:00
Joshua Colp 381d49c9af Clean up find_idle_thread function and use atomic operations for dynamic thread count.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 17:30:53 +00:00
Joshua Colp c17181aae3 Merged revisions 48564 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48564 | file | 2006-12-18 12:15:49 -0500 (Mon, 18 Dec 2006) | 2 lines

Put thread into proper list if we abort handling due to an error, and also hold the lock while putting it back into the proper idle list so we don't prematurely get a signal. (issue #8604 reported by arkadia)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 17:18:18 +00:00
Joshua Colp 6bdd1a3388 Merged revisions 48504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48504 | file | 2006-12-15 14:38:51 -0500 (Fri, 15 Dec 2006) | 2 lines

Hold call structure lock in places where a qualify or peer action can destroy it.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 19:40:29 +00:00
Joshua Colp 12565be69e Merged revisions 48502 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48502 | file | 2006-12-15 14:24:15 -0500 (Fri, 15 Dec 2006) | 2 lines

Lock network retransmission queue in all places that it is used.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 19:26:45 +00:00
Joshua Colp 315f8bb1b2 Merged revisions 48478 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48478 | file | 2006-12-15 01:28:05 -0500 (Fri, 15 Dec 2006) | 2 lines

Use a wakeup variable so that we don't wait on IO indefinitely if packets need to be retransmitted.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-15 06:31:26 +00:00
Russell Bryant a9415d4b8e convert the thread IO state and type to use enums.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-09 16:44:41 +00:00
Russell Bryant 86ad1435c1 Merged revisions 48363 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48363 | russell | 2006-12-09 10:59:42 -0500 (Sat, 09 Dec 2006) | 8 lines

Use locking when accessing the registrations list.  This list is not actually
used very often, so the likelihood of there being a problem is pretty small,
but still possible.  For example, if the CLI command to list the registrations
was called at the same time that a reload was occurring and the registrations
list was getting destroyed and rebuilt, a crash could occur.

In passing, go ahead and convert this list to use the linked list macros.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-09 16:04:06 +00:00
Russell Bryant 62c5be4fda chan_iax2 has an extremely large function, socket_process(), to handle incoming
frames.  The function, before this commit, was roughly 1400 lines long.  So, I
am working on breaking this up into functions so that the code is easier to
follow and debug.  Also, I will be committing these changes in chunks as I do
them to ease tracking down any potentially introduced problems.

Break out roughly 150 lines from socket_process() and introduce a new function, 
socket_process_meta() which handles the parsing of an incoming meta frame.
Also, restructure some of this code a bit to reduce the deep nesting that was
in this code.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-09 07:10:55 +00:00
Russell Bryant 6592c25a69 - Fix a few spelling mistakes
- Use sizeof() to pass an array size to a function
- Use a single bit for a variable in the chan_iax2_pvt stuct since that is all
  it needs.
- Add some comments about the iaxs, iaxl, and lastused arrays.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-09 05:04:38 +00:00
Russell Bryant a44e55a3f3 Constify a bunch of the usage strings for CLI commands.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-06 07:23:32 +00:00
Russell Bryant b761fb83cd Instead of creating an unused instance of an unnamed enum, give it a name.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-06 07:16:09 +00:00
Joshua Colp a77935b674 Merged revisions 48158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r48158 | file | 2006-11-30 15:07:55 -0500 (Thu, 30 Nov 2006) | 10 lines

Merged revisions 48157 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48157 | file | 2006-11-30 15:06:43 -0500 (Thu, 30 Nov 2006) | 2 lines

Only print out debug message if bridged channel is not NULL. (issue #8412 reported by jubilex)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-30 20:09:46 +00:00
Russell Bryant c16c606cff Add a comment to note near some code that performs a very expensive operation
that occurs for every incoming media frame.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-28 23:13:37 +00:00
Russell Bryant 462407a3a6 The use of an ifdef to check for FreeBSD is useless here because the two
versions of the format string are identical.  Also, since each format is only
used once, get rid of the use of defines all together.  (issue #8344, julieng)

In passing, also clean up the formatting a but to get rid of the nesting
without the use of braces, as defined in the coding guidelines.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-12 19:22:19 +00:00
Russell Bryant e19fc06e2c Merged revisions 47497 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r47497 | russell | 2006-11-12 01:23:23 -0500 (Sun, 12 Nov 2006) | 12 lines

Merged revisions 47496 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r47496 | russell | 2006-11-12 01:09:03 -0500 (Sun, 12 Nov 2006) | 4 lines

Only do the check to determine whether the channel calling this function is an
IAX2 channel when getting the IP address using the special argument, 
CURRENTCHANNEL.  (issue #8341, jcovert)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-12 06:31:39 +00:00
Tilghman Lesher 691363656f Merged revisions 47436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47436 | tilghman | 2006-11-10 10:51:55 -0600 (Fri, 10 Nov 2006) | 2 lines

Discussion of these CLI changes resulted in more consistency (Bug 8236)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-10 17:01:06 +00:00
Steve Murphy 908f176cf3 A fair number of changes for the sake of bug 7506
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-07 21:47:49 +00:00
Tilghman Lesher 10875731ec Merged revisions 47051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47051 | tilghman | 2006-11-02 17:00:20 -0600 (Thu, 02 Nov 2006) | 2 lines

Reverse change of "show" to "list" and make several other commands more consistent with "category verb arguments"

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 23:16:09 +00:00
Joshua Colp 9f78577f5e Merged revisions 46775 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46775 | file | 2006-11-01 13:21:34 -0500 (Wed, 01 Nov 2006) | 2 lines

It's another round of chan_iax2 fixes! Should hopefully fix the deadlock issues people have been reporting. IAXtel now has qualify turned on for 800 peers and it is handling it fine.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-01 18:26:12 +00:00
Luigi Rizzo bf3afe5641 remove old/useless usecount handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-31 18:10:21 +00:00
Joshua Colp e3807ed8cc Merged revisions 46474 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46474 | file | 2006-10-30 13:13:07 -0500 (Mon, 30 Oct 2006) | 2 lines

We need to lock the pvt structure during retransmission as another worker thread may be doing something as well.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-30 18:17:02 +00:00
Kevin P. Fleming 6ab133b9d2 restore bugfix that was reverted by trunk_mtu patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:47:01 +00:00
Kevin P. Fleming 749029de38 Merged revisions 46200 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46200 | kpfleming | 2006-10-25 09:32:08 -0500 (Wed, 25 Oct 2006) | 2 lines

apparently developers are still not aware that they should be use ast_copy_string instead of strncpy... fix up many more users, and fix some bugs in the process

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:44:50 +00:00
Olle Johansson c30f1d12c5 Ok, second attempt...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:26:22 +00:00
Olle Johansson 25b8f577b8 On the other hand, don't use 1.4 patches for trunk... Sorry.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:14:53 +00:00
Olle Johansson 13ea5fc0d0 Add ability to adapt the IAX trunk packets to the MTU size, to avoid bad audio
when the number of channels fill the MTU on a given link.

In the future, this needs to be configurable per peer with trunking enabled.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 14:06:13 +00:00
Kevin P. Fleming 88efcea05e Merged revisions 46154 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46154 | kpfleming | 2006-10-24 19:26:17 -0500 (Tue, 24 Oct 2006) | 2 lines

add passthrough and file format support for G.722 16KHz audio (issue #5084, original patch by andrew, updated by mithraen)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 00:32:23 +00:00
Joshua Colp f41b2acc50 Merged revisions 46130 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46130 | file | 2006-10-24 15:29:56 -0400 (Tue, 24 Oct 2006) | 2 lines

We need to initialize our scheduler pthread condition... yes.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-24 19:33:02 +00:00
Kevin P. Fleming 696f9ed677 Merged revisions 45408 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45408 | kpfleming | 2006-10-17 17:24:10 -0500 (Tue, 17 Oct 2006) | 3 lines

optimize the 'quick response' code a bit more... no more malloc() or memset() for each response
expand stringfields API a bit to allow reusing the stringfield pool on a structure when needed, and remove some unnecessary code when the structure was being freed

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-17 22:24:45 +00:00
Kevin P. Fleming 2194e57499 Merged revisions 45049 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r45049 | kpfleming | 2006-10-13 11:19:35 -0500 (Fri, 13 Oct 2006) | 10 lines

Merged revisions 45048 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r45048 | kpfleming | 2006-10-13 11:18:08 -0500 (Fri, 13 Oct 2006) | 2 lines

when sending a call to a peer, use the proper socket if we have multiple bindings (reported on asterisk-dev)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-13 16:20:26 +00:00
Joshua Colp 7b3665596f Merged revisions 44759 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44759 | file | 2006-10-09 11:41:28 -0400 (Mon, 09 Oct 2006) | 2 lines

Properly avoid a collision with iax2_hangup (issue #8115 reported by vazir)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-09 15:49:45 +00:00
Kevin P. Fleming 3c876af5cf Merged revisions 44378 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44378 | kpfleming | 2006-10-04 14:47:22 -0500 (Wed, 04 Oct 2006) | 4 lines

update thread creation code a bit
reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space
add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 19:51:38 +00:00
Matt O'Gorman ae8cc3e18b bug #8076 check option_debug before printing to debug channel.
patch provided in bugnote, with minor changes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-03 15:53:07 +00:00
Mark Spencer 847fe77eb9 Don't use channel when you don't mean a channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-02 02:38:52 +00:00
Joshua Colp 6c0391c42a One must remember to unlock their list... thanks to Qwell for letting me into his box
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-29 01:36:26 +00:00
Joshua Colp 29d27bfe0d Merged revisions 43933 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43933 | file | 2006-09-28 14:05:43 -0400 (Thu, 28 Sep 2006) | 2 lines

Put in missing \ns on the end of ast_logs (issue #7936 reported by wojtekka)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-28 18:09:01 +00:00
Joshua Colp 773e105d91 Merged revisions 43915 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43915 | file | 2006-09-28 13:31:09 -0400 (Thu, 28 Sep 2006) | 2 lines

Make sure the pvt exists before accessing it again as it may have gone away (issue #7562 reported by Seb7 and issue #7939 reported by sorg)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-28 17:32:46 +00:00
Joshua Colp dad32d9d71 I *think* this is the last list in chan_iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-27 19:39:39 +00:00
Joshua Colp a5770f4e72 Merged revisions 43783 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43783 | file | 2006-09-27 13:00:31 -0400 (Wed, 27 Sep 2006) | 2 lines

Get rid of two functions from a time now past (we THINK these are from pre-recursive lock time) that may be contributing to two open issues on the bug tracker (7562/7939) and that has the potential to just make bad things happen if the timing is right.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-27 17:02:28 +00:00
Joshua Colp 481265e347 Clean up code and convert last two things (firmware/dialplan cache) to linked list macros.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-27 01:39:39 +00:00
Russell Bryant c8b90b75c9 Merged revisions 43553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r43553 | russell | 2006-09-24 09:53:35 -0400 (Sun, 24 Sep 2006) | 12 lines

Merged revisions 43552 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43552 | russell | 2006-09-24 09:50:30 -0400 (Sun, 24 Sep 2006) | 4 lines

Check to see if the channel that is activating the IAXPEER function is actually
an IAX2 channel before proceeding to process it to avoid crashing.
(issue #8017, reported by admott, fixed by myself)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-24 13:57:19 +00:00
Joshua Colp 323527b4f3 Oh look more changes, but these are my own! (Clean up module load functions)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 22:53:17 +00:00
Tilghman Lesher 6ae8741518 Lots more removal of deprecated things
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 21:59:12 +00:00
Tilghman Lesher 70af28270d Constify the result of a config retrieval function, to avoid mutilation (issue 7983).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-20 20:40:39 +00:00
Kevin P. Fleming fcb999c01c merge qwell's CLI verbification work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 19:54:18 +00:00
Kevin P. Fleming c2c4f86c72 merge markster's usersconf branch with some slight changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-16 23:53:58 +00:00
Tilghman Lesher 72265ea79d Merged revisions 43019 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43019 | tilghman | 2006-09-16 02:57:04 -0500 (Sat, 16 Sep 2006) | 2 lines

When a realtime peer expires, reset the ipaddress in the realtime database back to 0 (Issue 6656)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-16 08:10:55 +00:00
Joshua Colp e77c51f5c6 Merged revisions 42086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r42086 | file | 2006-09-06 11:55:20 -0400 (Wed, 06 Sep 2006) | 2 lines

Make realtime regseconds work as people expected (0 on registration expiration or release, and actual on normal state) (issue #7684 reported by kshumard)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-06 15:58:21 +00:00
Matt O'Gorman 05a695af72 everything that loads a config that needs a config file to run
now reports AST_MODULE_LOAD_DECLINE when loading if config file
is not there, also fixed an error in res_config_pgsql where it 
had a non static function when it should.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 21:00:20 +00:00
Joshua Colp c6977b9983 Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 01:59:02 +00:00
Joshua Colp 04bd8c54e8 Limit challenges to 9 digits in length
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 20:53:27 +00:00
Russell Bryant f7e7161607 Merge team/russell/frame_caching
There are some situations in Asterisk where ast_frame and/or iax_frame
structures are rapidly allocatted and freed (at least 50 times per second
for one call).

This code significantly improves the performance of ast_frame_header_new(), 
ast_frdup(), ast_frfree(), iax_frame_new(), and iax_frame_free() by keeping
a thread-local cache of these structures and using frames from the cache 
whenever possible instead of calling malloc/free every time.

This commit also converts the ast_frame and iax_frame structures to use the
linked list macros.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 20:50:36 +00:00
Russell Bryant 9aabe41de3 don't seg fault when using dbsecret
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-25 02:55:00 +00:00
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Russell Bryant 92bd7f19f7 Merge team/russell/ast_verbose_threadstorage
- instead of defining a free() wrapper in a bunch of files, define it as
  ast_free() in utils.h and remove the copies from all the files.

- centralize and abstract the code used for doing thread storage. The code
  lives in threadstorage.h, with one function being implemented in utils.c.
  This new API includes generic thread storage as well as special functions
  for handling thread local dynamic length string buffers.

- update ast_inet_ntoa() to use the new threadstorage API
- update ast_state2str() to use the new threadstorage API
- update ast_cli() to use the new threadstorage API

- Modify manager_event() to use thread storage. Instead of using a buffer of
  4096 characters as the workspace for building the manager event, use a thread
  local dynamic string.  Now there is no length limitation on the length of the
  body of a manager event.

- Significantly simplify the handling of ast_verbose() ...
  - Instead of using a static char buffer and a lock to make sure only one
    thread can be using ast_verbose() at a time, use a thread local dynamic
    string as the workspace for preparing the verbose message. Instead of
    locking around the entire function, the only locking done now is when the
    message has been built and is being deliviered to the list of registered
    verbose message handlers.
  - This function was doing a strdup() on every message passed to it and
    keeping a queue of the last 200 messages in memory. This has been
    completely removed. The only place this was used was that if there were
    any messages in the verbose queue when a verbose handler was registered,
    all of the messages in the queue would be fed to it.  So, I just made sure
    that the console verbose handler and the network verbose handler (for
    remote asterisk consoles) were registered before any verbose messages.
    pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at
    startup, but I didn't feel the performance hit of this message queue was
    worth saving the initial verbose output for these very rarely used modules.
  - I have removed the last three arguments to the verbose handlers, leaving
    only the string itself because they aren't needed anymore. For example,
    ast_verbose had some logic for telling the verbose handler to add
    a newline if the buffer was completely full. Now that the buffer can grow
    as needed, this doesn't matter anymore.
  - remove unused function, ast_verbose_dmesg() which was to dispatch the
    message queue
  - Convert the list of verbose handlers to use the linked list macros.

- add missing newline characters to a few ast_verbose() calls

- convert the list of log channels to use the linked list macros in logger.c

- fix close_logger() to close all of the files it opened for logging

- update ast_log() to use a thread local dynamic string for its workspace
  for preparing log messages instead of a buffer of size BUFSIZ (8kB on my
  system) allocated on the stack.  The dynamic string in this case is limited
  to only growing to a maximum size of BUFSIZ.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 06:32:04 +00:00
Steve Murphy 3042d0e046 This commit folds in changes to both stringfields (some enhancements to the ...field_set() macro, to optimize setting strings to empty, resetting strings to shorter contents, etc.) and to chan_iax2.c, to use stringfields in the user, peer, and pvt structs. Has been running stably on iaxtel, but while iaxtel has a large registration volume, it doesn't seem to have a high call volume. So far, it seems to reduce heap usage by over half. YMMV\! Please report any IAX bugs that might involve stringfields\!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07 18:12:51 +00:00
Russell Bryant 663adb2b0e Merged revisions 38903-38904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38903 | russell | 2006-08-05 01:07:39 -0400 (Sat, 05 Aug 2006) | 2 lines

suppress a compiler warning about the usage of a potentially uninitialized variable

........
r38904 | russell | 2006-08-05 01:08:50 -0400 (Sat, 05 Aug 2006) | 10 lines

Fix an issue that would cause a NewCallerID manager event to be generated
before the channel's NewChannel event.  This was due to a somewhat recent
change that included using ast_set_callerid() where it wasn't before.  This
function should not be used in the channel driver "new" functions.
(issue #7654, fixed by me)

Also, fix a couple minor bugs in usecount handling.  chan_iax2 could have
increased the usecount but then returned an error.  The place where chan_sip
increased the usecount did not call ast_update_usecount()

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-05 05:26:29 +00:00
Joshua Colp f41f7f8c93 It is better to hold a lock then not hold a lock when you are supposed to.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-05 00:13:44 +00:00
Joshua Colp b64b636f7e Minor optimization but use a linkedlists.h macro that pops the head off the list instead of getting the first entry and then removing it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-04 23:17:40 +00:00
Russell Bryant 2842015aca Merged revisions 38328 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38328 | russell | 2006-07-27 00:25:41 -0400 (Thu, 27 Jul 2006) | 4 lines

Fix crash when using the "regexten" option with MALLOC_DEBUG enabled.  This was
not reported in the bug tracker but the same bug has been demonstrated in other
places in the code.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27 04:28:09 +00:00
Russell Bryant d897bd41c2 use ast_atomic_fetchadd_int in chan_zap, sip, and iax2 for usecount handling
and fix a couple little things in passing
 - usecnt was not initialized in chan_iax2
 - ast_update_use_count() was not called after incrementing the count in chan_sip


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-22 00:33:56 +00:00
Russell Bryant ca9ba719b6 Merge a new implementation of ast_inet_ntoa, our thread safe replacement for
inet_ntoa, which uses thread specific data (aka thread local storage) instead
of stack allocatted buffers to store the result.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21 17:31:28 +00:00
Kevin P. Fleming 6d0742fc16 merge Russell's 'hold_handling' branch, finally implementing music-on-hold handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 20:44:39 +00:00
Kevin P. Fleming 5aad4439e9 Merged revisions 37949 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37949 | kpfleming | 2006-07-19 12:10:10 -0500 (Wed, 19 Jul 2006) | 2 lines

ensure that global 'maxauthreq' is reset to zero during 'reload'

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 17:16:25 +00:00
North Antara 5df4228851 There was an issue with ADSI and iax2, where on an iaxy with a normal phone connected,
in vm_authenticate, it was try to start ADSI on the channel, and it WOULD because it
  was "supported", according to the iaxy.  There is now a config option (adsi=yes) for
  this, which defaults to no.  (config sample coming shortly)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-14 21:49:20 +00:00
Kevin P. Fleming ea1d0c4b33 G726-32 changes:
split support for G726-32 into RFC3551 and AAL2 packing orders, since both are in use
change "G726-32" to be RFC3551 packing order, in spite of devices that use AAL2 order with this MIME type
add ability to directly transcode between packing orders


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12 22:42:13 +00:00
Joshua Colp 5d9419304c Merged revisions 37439 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37439 | file | 2006-07-12 11:23:59 -0400 (Wed, 12 Jul 2006) | 2 lines

Add support to have maxauthreq as a global option

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12 15:25:17 +00:00
Kevin P. Fleming 5b639e6135 Merged revisions 37419 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37419 | kpfleming | 2006-07-12 08:54:10 -0500 (Wed, 12 Jul 2006) | 2 lines

remove some more bad examples of using printf

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-12 14:04:16 +00:00
Joshua Colp ba092c1244 And now the trunk version! Add an option for IAX2 users that allows you to set how many outstanding AUTHREQs chan_iax2 will wait for replies on.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-11 19:03:56 +00:00
Joshua Colp 022957ce03 Remove BRIDGE_OPTIMIZATION since it is deprecated or obsolete (take your pick)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10 19:39:47 +00:00
Russell Bryant 23a4d0be28 eliminate some pointer signedness warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-07 07:01:50 +00:00
Kevin P. Fleming f761d2f6f0 prepare Asterisk for new zaptel.h/tonezone.h installation locations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-05 16:44:41 +00:00
Russell Bryant 73e8e2ab1f Blocked revisions 36725 via svnmerge
........
r36725 | russell | 2006-07-03 00:19:09 -0400 (Mon, 03 Jul 2006) | 4 lines

use ast_set_callerid to be more consistent and to make sure that the
"callerid" option in the conf files is always handled the same way and sets ANI
(issue #7285, gkloepfer)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-03 04:25:21 +00:00
Kevin P. Fleming e61d3d91f3 The Eurostar Commit! (it's amazing how much work you can get done on a 150 minute train ride from Paris to London <G>)
support the new location for zaptel.h and tonezone.h
use the dependency information output by menuselect to build Makefile rules for each module for header files and libraries
combine the common rules into a top-level Makefile.rules file
remove all (now) unnecessary stuff from subdir Makefiles
change translator API so that the newpvt() callback returns an int instead of a pointer (it no longer allocates memory)
alphabetize --with-<foo> options in configure script
enhance Net-SNMP support in configure script to provide a --with-netsnmp option
fix support for --with-pq so that if pg-config is not found when --with-pq is specified, an error will be generated
add 'optional package' usage to modules now that menuselect can output it
allow res_snmp to build by default, since the new loader changes coming soon will solve the function naming problem (and users can disable it via menuselect anyway)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-24 19:43:31 +00:00
Russell Bryant 5e282fef07 reduce indentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-23 02:03:21 +00:00
Russell Bryant 5941d4d819 - move the increase of the use count to be after the possible failures
- if the pbx fails to start, set the owner channel of the pvt strucutre
  to be NULL
- return immediately if the pbx fails to start so the loop to set all of
  the variables from the "setvar" options aren't set as a bunch of global
  variables instead


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 17:10:16 +00:00
Joshua Colp 5ff818f995 Fix timing issue (race) with poke/pong for very close peers that can cause a peer to be declared unreachable (issue #7396 reported by stevedavies)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-21 16:50:24 +00:00
Russell Bryant 035a8b4278 Merged revisions 34627 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r34627 | russell | 2006-06-18 16:15:15 -0400 (Sun, 18 Jun 2006) | 5 lines

don't store multiple secrets delimited with semicolons for peers because this
is only valid for users. Instead, only keep the last specified secret for a
peer entry. Also, document how multiple secrets are handled in the sample
config. (Reported by PCadach on #asterisk-bugs)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-18 20:18:41 +00:00
Joshua Colp 9ebb7c35a2 Merged revisions 34400 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r34400 | file | 2006-06-16 00:37:05 -0300 (Fri, 16 Jun 2006) | 2 lines

Zero out a declared structure so as to not crash if it contains invalid data (reported by Qwell on #asterisk-dev)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-16 03:38:24 +00:00
Kevin P. Fleming 11dac47877 Merged revisions 34159-34160 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r34159 | kpfleming | 2006-06-14 17:17:37 -0500 (Wed, 14 Jun 2006) | 2 lines

use existing dial string parser for strings supplied to iax2_devicestate, because they can be complete dial strings, not just device names

........
r34160 | kpfleming | 2006-06-14 17:22:21 -0500 (Wed, 14 Jun 2006) | 2 lines

coding style cleanups on queue interface handling code that was committed for the last release

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-14 22:35:49 +00:00
Joshua Colp ce311227ac Change a bit of logic in peer expiry back to the way it used to be
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-12 02:54:32 +00:00
Joshua Colp 6723184a62 Merged revisions 33297 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r33297 | file | 2006-06-09 15:26:42 -0300 (Fri, 09 Jun 2006) | 2 lines

Remove an unneeded double lock (issue #7310 reported by arkadia)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-09 18:29:58 +00:00
Joshua Colp 5349ae6f46 Wait until we have the lock before getting the pvt structure pointer (issue #7313 reported by arkadia)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-09 18:20:28 +00:00
Kevin P. Fleming 472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Russell Bryant 66dca5e378 Merged revisions 32818 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r32818 | russell | 2006-06-07 13:53:21 -0400 (Wed, 07 Jun 2006) | 2 lines

fix some broken code with BRIDGE_OPTIMIZATION defined (issue #7292)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 17:54:26 +00:00
Russell Bryant 39bcaa0773 add an updated patch that adds dnsmgr support for outgoing iax2 registrations
(issue #6305, by ivanfm, with mods)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 17:44:36 +00:00
Kevin P. Fleming 22b45aa4d3 Merged revisions 32566 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r32566 | kpfleming | 2006-06-06 10:48:00 -0500 (Tue, 06 Jun 2006) | 2 lines

clean up yesterday's security fix to not cause breakage when video mini frames are received

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-06 15:48:42 +00:00
Kevin P. Fleming 8a95a1ddc1 Merged revisions 32373 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r32373 | kpfleming | 2006-06-05 14:53:16 -0500 (Mon, 05 Jun 2006) | 2 lines

ensure that the received number of bytes is included in all IAX2 incoming frame analysis checks (fixes a known vulnerability)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 20:10:06 +00:00
Russell Bryant b0260c1039 revert the changes to allow chan_iax2 to use dnsmgr for registrations.
my concerns are listed in issue #6305


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 16:17:31 +00:00
Joshua Colp 2a71835d41 Convert chan_iax2 to use dnsmgr in order to deal with hostnames that can change their resolved IP (aka dynamic dns setups) (issue #6305 reported and fixed by ivanfm)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 15:44:37 +00:00
Olle Johansson 404f8db694 Do not use ':' as a separator between arguments (kept around for 1.4 for backwards compatibility)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 06:36:18 +00:00
Russell Bryant bb7dd96cfe Add support for using a jitterbuffer for RTP on bridged calls. This includes
a new implementation of a fixed size jitterbuffer, as well as support for the
existing adaptive jitterbuffer implementation. (issue #3854, Slav Klenov)

Thank you very much to Slav Klenov of Securax and all of the people involved
in the testing of this feature for all of your hard work!


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-31 16:56:50 +00:00
Kevin P. Fleming 4790dd5d9e when we receive an IAX2 registration request with both a plaintext secret and an MD5 challenge, prefer the MD5 challenge for authentation (reported on asterisk-dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-30 18:01:52 +00:00
Joshua Colp 79161454a3 Few more expire_registry changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-26 20:00:48 +00:00
Russell Bryant 730f75cc78 only display a debug message if option_debug is in use
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-25 22:39:57 +00:00
Joshua Colp e0612c9835 Safely traverse the thread lists and wait until each thread is done before moving on to the next.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-25 16:14:17 +00:00
Joshua Colp 336fd1a2de Only get the low 16 bits if we actually have a message count
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-25 15:42:11 +00:00
Russell Bryant 7370cb3221 Merged revisions 29849 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r29849 | russell | 2006-05-23 17:44:52 -0400 (Tue, 23 May 2006) | 2 lines

fix the sourceaddress option (issue #7213, alphaque)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23 21:46:26 +00:00
Kevin P. Fleming df6767fa52 Merged revisions 28896 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r28896 | kpfleming | 2006-05-19 19:55:31 -0500 (Fri, 19 May 2006) | 2 lines

don't try to predict where the compiler will place things on the stack... put them in the right place explicitly (issues #7029 and #7100, maybe others)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-20 01:01:20 +00:00
Tilghman Lesher d0c36296d2 As requested by kpfleming, renaming messagecount to inboxcount and messagecount2 to messagecount.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-19 18:21:31 +00:00
Joshua Colp 5769ed6ea2 Fix receiving message count information from a remote IAX2 peer. (issue #7163 reported by and fixed by akohlsmith)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-18 00:12:54 +00:00
Joshua Colp a6480b61b0 Merged revisions 27973 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r27973 | file | 2006-05-17 19:34:08 -0300 (Wed, 17 May 2006) | 2 lines

Fix codec priority stuff during authentication (issue #6194 reported by jkoopmann)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@27974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-17 22:35:53 +00:00
Kevin P. Fleming 5fb4e7019f and chan_iax2 gets smaller... remove the old jitterbuffer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 16:14:26 +00:00
Russell Bryant 04ecb29d03 remove almost all of the checks of the result from ast_strdupa() or alloca().
As it turns out, all of these checks were useless, because alloca will never
return NULL.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 13:22:15 +00:00
Kevin P. Fleming fdcfd6469b ensure that control frames with payload can be sent to channel drivers via ->indicate()
update iax2_indicate to pass control frame payload to the connected channel
add an API call for sending an indication with payload, and use it for control frames with payload


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 12:24:11 +00:00
Mark Spencer 66ed134473 Allow media to go directly between IAX endpoints while signalling still
goes through the existing path.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 09:09:16 +00:00
Kevin P. Fleming c22eb692a1 minor cleanups and removal of duplicate prototypes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09 14:25:31 +00:00
Joshua Colp b82b277790 Update chan_iax2 to use linkedlists.h for users and peers. Modify the way get_from_jb and expire_registry works to get rid of certain crash scenarios. Finally - change the way expire_registry works when realtime autoclear is enabled to be a bit more efficient.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-03 16:07:03 +00:00
Kevin P. Fleming 51382b3712 Merged revisions 23705 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r23705 | kpfleming | 2006-04-30 10:46:22 -0500 (Sun, 30 Apr 2006) | 2 lines

remove a pointless comparison, since the buffer is smaller than the length being checked for

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 15:48:56 +00:00
Kevin P. Fleming 574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +00:00
Luigi Rizzo 52ac09f78f simplify logic in iax2_bridge()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-18 14:23:14 +00:00
Joshua Colp 5c05128777 Move a bit more stuff over to the datadir (issue #6967 reported by tzafrir patch by north)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-15 23:37:29 +00:00
Luigi Rizzo e43bc6634d This rather large commit changes the way modules are loaded.
As partly documented in loader.c and include/asterisk/module.h,
modules are now expected to return all of their methods and flags
into a structure 'mod_data', and are normally loaded with RTLD_NOW
| RTLD_LOCAL, so symbols are resolved immediately and conflicts
should be less likely.  Only in a small number of cases (res_*,
typically) modules are loaded RTLD_GLOBAL, so they can export
symbols.
 
The core of the change is only the two files loader.c and
include/asterisk/module.h, all the rest is simply adaptation of the
existing modules to the new API, a rather mechanical (but believe
me, time and finger-consuming!) process whose detail you can figure
out by svn diff'ing any single module.

Expect some minor compilation issue after this change, please
report it on mantis http://bugs.digium.com/view.php?id=6968
so we collect all the feedback in one place.

I am just sorry that this change missed SVN version number 20000!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14 14:08:19 +00:00
Joshua Colp d7f01e051b No need to do this in here any longer since the linkedlists macro is fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 20:51:45 +00:00
Joshua Colp afcefc4a68 Convert chan_iax2 to use linked lists for multithreading, and add dynamic threads. These are used when all pool threads are in use, and will stick around until load dies down. The theory is that during high load you'll have more threads available, and during low load you'll only have the normal pool threads sticking around.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 16:44:10 +00:00
Kevin P. Fleming f10f427d49 since the module API is changing, it's a good time to const-ify the description() and key() return values
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08 22:01:19 +00:00
Tilghman Lesher 756c7cbb12 Bug 6873 - Finish moving from the non-threadsafe (and poor randomness) rand() to threadsafe ast_random()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-05 17:44:44 +00:00
Matthew Fredrickson a868675e2f chan_iax2 cleanups and optimizations (#6858)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-04 17:05:01 +00:00
Matt O'Gorman b9e7287ce6 adds manager event when an iax2 peer loses registration.
also some minor code clean up. patch from 6868 with minor
changes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-04 16:15:40 +00:00
Russell Bryant e536a9c6df move a NULL check to before the first time the pointer is dereferenced (issue #6832)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-31 19:14:28 +00:00
Russell Bryant a13ab2f377 - code formatting tweaks
- use the callno stored in a local variable
- store the result of atoi() so it's only called once
(issue #6833)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-31 19:02:27 +00:00
Russell Bryant 813c445686 Merged revisions 16744 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r16744 | russell | 2006-03-31 13:42:09 -0500 (Fri, 31 Mar 2006) | 2 lines

fix the situation where bindport is specified but bindaddr is not (issue #6616)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-31 18:43:45 +00:00
Joshua Colp 5880a7f513 Do not leave a thread in limbo if an error occurs, or if testing packet loss.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-31 00:53:32 +00:00
Luigi Rizzo 6c232811c0 as discussed with Mark a few weeks ago, the 'newstack' argument
in pbx_exec is always 1 so it can be removed.

This change also takes away ast_exec_extension(), and lets all
switch functions (exists, canmatch, exec, matchmore) all use the same
prototype, which makes the code a bit cleaner.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 21:29:39 +00:00
Joshua Colp 0c134c5cba Fix IAX2 multithreaded scheduling (issue #6840)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 03:16:09 +00:00
Russell Bryant 1caeee1c61 oops! :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-29 04:19:23 +00:00
Russell Bryant 6601f4deba conversion from malloc to ast_malloc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-29 04:09:31 +00:00
Luigi Rizzo 096bf1511f another batch of cli simplifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 23:33:02 +00:00
Russell Bryant 3de0204481 Merged revisions 15703 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r15703 | russell | 2006-03-28 14:47:03 -0500 (Tue, 28 Mar 2006) | 2 lines

fix Bus Error on sparc (issue #6354)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 19:49:30 +00:00
Russell Bryant 1ddae90e53 only display a debug message if iaxdebug is enabled as well (issue #6673)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 19:31:41 +00:00
Russell Bryant 78f7235d04 store f->callno in a local var (issue #6818)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 18:00:05 +00:00
Kevin P. Fleming 0b5f2a5d3f use proper file name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 03:36:17 +00:00
Kevin P. Fleming 278b8e8fc7 improve IP TOS support for SIP and IAX2 (issue #6355, code from jcollie plus modifications)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 03:28:52 +00:00
Matt O'Gorman a5ece3388a Janitor work converting !ast_strlen_zero(a)?a:b
to S_OR functions. from bug note 6805 with minor
modifications.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-27 19:31:54 +00:00
Mark Spencer 9164eac21a Add micro-http server and abstract manager interface, make snmp not die
on reload.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25 23:50:09 +00:00
Kevin P. Fleming c26786fd81 compute scheduler thread timeout properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-23 23:57:18 +00:00
Kevin P. Fleming 39464dfe09 commit file's work to convert iax2 multithreading to use pthread conditions instead of signals (with some modifications)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-23 23:11:09 +00:00
Olle Johansson 3cb5768016 Don't overwrite ANI if it's already sent with IES (imported from 1.2 branch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-20 17:39:14 +00:00
Russell Bryant 9df72acbe9 deprecate the mailboxdetail option and always use its behavior, instead (issue #6665)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@12923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-14 18:05:22 +00:00
Russell Bryant 48c85e83bd fix build without SCHED_MULTITHREADED defined (issue #6719)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@12878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-14 16:00:06 +00:00
Mark Spencer 0752f8e41e Make sure we clear our sched value before we actually schedule the
dereg.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@12476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-09 12:28:07 +00:00
Mark Spencer 2639b0a397 Handle disappearing calls for registers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 20:58:21 +00:00
Russell Bryant 6cff0b11f0 Merged revisions 11410 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r11410 | russell | 2006-02-28 14:46:04 -0500 (Tue, 28 Feb 2006) | 2 lines

fix the output that indicates whether qualify smoothing is on or not (issue #6608)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 19:51:23 +00:00
Russell Bryant f3b1b80b93 fix some build issues on FreeBSD (issue #6614)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 19:22:25 +00:00
Mark Spencer ce263dfb94 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 04:55:37 +00:00
Mark Spencer 6e9d6fdd0f Fix for GCC 3.2.2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 04:32:04 +00:00
Mark Spencer a26b7f3400 Make sure we clear up schedule numbers before we process schedule
entries.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 04:27:56 +00:00
Mark Spencer 8913eac229 Keep track of the function we're in the middle of doing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-28 04:20:14 +00:00
Mark Spencer 16109b9d2c Make IAX2 multithreaded
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-26 20:27:14 +00:00