dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

17765 Commits

Author SHA1 Message Date
mvanbaak bfc2dcb6cb list the move of the astvarrundir from /var/run to /var/run/asterisk
(actually its $(localstatedir)/run/asterisk

Makes setups with asterisk as non-root easier to manage because you can
setup permissions on this dir instead of touching a file and setting 
permissions on that.
Files that come to mind are asterisk.pid and asterisk.ctl socket.

Prodded by and ok @russell


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180898 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-10 21:15:29 +00:00
russell 1f301f3cfe add more projects
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180862 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-10 19:36:21 +00:00
russell 77d4930bbd add more project ideas
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180859 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-10 19:23:41 +00:00
file 2d937baa0d Reset the thread local string buffer when handling the UserEvent action.
(closes issue #14593)
Reported by: JimDickenson


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180800 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-10 14:40:38 +00:00
russell f6af5af901 Add current mentors list, and first pass on a project list broken out of "PineMango"
I will work on adding projects that have been sent to be via email tomorrow.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180750 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-09 22:00:42 +00:00
jpeeler 5a0a55b7a4 Add Doxygen documentation for API changes from 1.6.0 to 1.6.1
Copied from my review board description:
This is a continuation of the API changes documentation started for describing
changes between releases. Most of the API changes were pretty simple needing
only to be brought to attention via the new "Asterisk API Changes" list.
However, if you see anything that needs further explanation feel free to
supplement what is there. The current method of documenting is to add (in the
header file): \version <ver number> <description of changes> and then to add
the function to the change list in doxyref.h on the AstAPIChanges page. I also
made sure all the functions that were newly added were tagged with \since
1.6.1. I think this is a good habit to start both for the historical aspect as
well as for the future ability to easily add a "New Asterisk API" page.

Review: http://reviewboard.digium.com/r/190/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180719 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-09 20:58:17 +00:00
russell cc6c10d7d4 Add skeleton for GSoC ideas list
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180684 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-09 14:14:34 +00:00
russell c7e1e972bc Make some minor updates to the doxygen configuration
- add bridges directory to be processed
- add some res/ subdirs
- alphabetize subdirs
- use consistent indentation


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180641 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-07 15:36:00 +00:00
mmichelson 7e9b1de07c Merged revisions 180567 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180567 | mmichelson | 2009-03-06 12:23:09 -0600 (Fri, 06 Mar 2009) | 2 lines
  
  Make compilation succeed in dev-mode when IMAP storage is enabled.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180579 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-06 18:25:44 +00:00
dvossel 37af22206f Merged revisions 180532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180532 | dvossel | 2009-03-06 11:19:55 -0600 (Fri, 06 Mar 2009) | 9 lines
  
  Fix handling of backreferences for ENUM lookups
  
  enum.c did not handle regex backtraces correctly.  The '\1' in the regex is a backreference that requires a pattern match to be inserted.  The way the code used to work is that it would find the backreference and insert the entire input string minus the '+'.  This is incorrect.  The regexec() function takes in a variable called pmatch which is an array of structs containing the start and end indexes for each backreference substring.  The original code actually passed the pmatch array pointer into regexec but never did anything with it.  Now when a backtrace is found, the backtrace number is looked up in the pmatch array and the correct substring is inserted.
  
  (closes issue #14576)
  Reported by: chris-mac
  Review: http://reviewboard.digium.com/r/187/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180534 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-06 17:26:38 +00:00
mmichelson c4c3486164 Merged revisions 180464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180464 | mmichelson | 2009-03-05 17:26:11 -0600 (Thu, 05 Mar 2009) | 16 lines
  
  [IMAP] Fix message retrieval issues when identical mailbox names were defined in separate contexts.
  
  There was a fix put in a while back so that an X-Asterisk-VM-Context message header was
  added to stored IMAP voicemails. This would allow for us to differentiate if the same
  mailbox name was used in multiple contexts. The problem still left was that not all places
  where messages were retrieved actually attempted to use this header for information when
  retrieving messages. This commit fixes that so that MWI and message retrieval from VoiceMailMain
  work as expected.
  
  (closes issue #13853)
  Reported by: vicks1
  Patches:
        13853_v2.patch uploaded by mmichelson (license 60)
  Tested by: lmadsen
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180465 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 23:26:58 +00:00
mmichelson 03d8382060 Merged revisions 180380 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180380 | mmichelson | 2009-03-05 12:58:48 -0600 (Thu, 05 Mar 2009) | 25 lines
  
  Fix broken mailbox parsing when searchcontexts option is enabled.
  
  When using the searchcontexts option in voicemail.conf, the code
  made the assumption that all mailbox names defined were unique across
  all contexts. However, the code did nothing to actually enforce this
  assumption, nor did it do anything to alert a user that he may have
  created an ambiguity in his voicemail.conf file by defining the same
  mailbox name in multiple contexts.
  
  With this change, we now will issue a nice long warning if searchcontexts
  is on and we encounter the same mailbox name in multiple contexts and ignore
  any duplicates after the first box. Whether searchcontexts is enabled or not,
  if we come across a duplicate mailbox in the same context, then we will issue
  a warning and ignore the duplicated mailbox. I have also added a small note
  to voicemail.conf.sample in the explanation for searchcontexts explaining
  that you cannot define the same mailbox in multiple contexts if you have
  enabled the option.
  
  (closes issue #14599)
  Reported by: lmadsen
  Patches:
        14599.patch uploaded by mmichelson (license 60) (with slight modification)
  Tested by: lmadsen
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180383 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 19:14:14 +00:00
mvanbaak 343b8e75b5 Make sure we terminate the first s| command so we can actually produce correct files.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180382 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 19:05:20 +00:00
kpfleming 5d5eb54ba7 Merged revisions 180372 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180372 | kpfleming | 2009-03-05 12:22:16 -0600 (Thu, 05 Mar 2009) | 9 lines
  
  Fix problems when RTP packet frame size is changed
  
  During some code analysis, I found that calling ast_rtp_codec_setpref() on an ast_rtp session does not work as expected; it does not adjust the smoother that may on the RTP session, in fact it summarily drops it, even if it has data in it, even if the current format's framing size has not changed. This is not good.
  
  This patch changes this behavior, so that if the packetization size for the current format changes, any existing smoother is safely updated to use the new size, and if no smoother was present, one is created. A new API call for smoothers, ast_smoother_reconfigure(), was required to implement these changes.
  
  Review: http://reviewboard.digium.com/r/184/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180373 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 18:29:38 +00:00
file 78d18e52a4 Merge phase 1 support for the new bridging architecture.
This commit brings in the bridging core, bridging technologies,
and the ConfBridge application.

For usage information on the ConfBridge application please see
the output of "core show application ConfBridge" from the CLI.

For API documentation please see the doxygen page describing the
architecture and the documentation for each API call.

Review: http://reviewboard.digium.com/r/93/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180369 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 18:18:27 +00:00
tilghman 62297fe334 Also highlight the preamble and postamble
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180334 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 06:21:10 +00:00
tilghman ca6e15fe77 Add syntax coloring files for Vim, including a new one for AEL
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180304 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-05 01:41:37 +00:00
russell 9ffcd3c394 Resolve object matching issues related to the removal of the sip_user object.
Previously, chan_sip had both sip_peer and sip_user objects in memory.  A
patch went in to remove sip_user to simplify the code, since everything
could be done with just sip_peer.  This patch resolves some regressions
found that were introduced by those changes.

This code comes from svn/asterisk/team/group/sip-object-matching/.

Here is a list of the changes that have been made:

1) When doing a match by name with the find_peer() function, make it much
   easier to specify which objects should be matched by having a parameter
   that specifies exactly which object types should be considered.  Also,
   update find_by_name() to handle this parameter.  Finally, update all
   code to use the new option values.

2) When looking up an object for an outbound request by name, consider
   peers only.  (create_addr())

3) Only match peers on an incoming registration request.

4) When doing authentication (except for SUBSCRIBE), look up users
   by name, instead of all objects by name.
   
5) When doing authentication (except for SUBSCRIBE), after looking for
   a user by name, look for a peer by IP address, instead of all objects
   by IP address.

6) When handling the SIP qualify CLI command or manager action, look for
   a peer by name, instead of any object by name.

7) When handling the SIP unregister CLI command, look for a peer by name,
   instead of any object by name.

9) In sip_do_debug_peer(), search for a peer by name, instead of any object
   by name.

9) When handling the SIPPEER() dialplan function, search for a peer by name,
   instead of any object by name.

10) In the following session timer related functions, st_get_se(),
    st_get_refresher(), and st_get_mode(), when looking for an object for a
    given sip_pvt using pvt->peername, look for a peer by name, instead of any
    object by name.

11) Fix build_peer() to properly handle the case where separate type=peer and
    type=user entries were specified in sip.conf.

(closes issue #14505)
Reported by: lmadsen

Review: http://reviewboard.digium.com/r/172/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180261 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-04 21:01:05 +00:00
tilghman e2aa86b3e0 Spacing changes only
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180259 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-04 20:48:42 +00:00
file 529951d632 Merged revisions 180194 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180194 | file | 2009-03-04 15:22:50 -0400 (Wed, 04 Mar 2009) | 4 lines
  
  Look for the number in a callerid string starting from the end. This way a value using <> can exist in the name portion.
  
  (issue #AST-194)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180195 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-04 19:24:59 +00:00
mmichelson 3c05737b3d Allow for "magic" pickups to work when we wish to ignore the context
When the subscription context for a call pickup subscription differs
from the context of the call pickup target, there's not an easy way
to divine what context should be used for the pickup. The way to work
around this is to use PICKUPMARK as the context for the pickup.

This has been documented in the sip.conf.sample file

(ABE-1708)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180155 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-04 17:03:32 +00:00
file 1ee6240485 Remove duplicate 'k' and 'K' Dial options.
(closes issue #14601)
Reported by: alecdavis
Patches:
      app_dial.optionk.diff.txt uploaded by alecdavis (license 585)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180120 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-04 14:39:28 +00:00
murf cceda9fac7 My bad! left check_expr2 in the ALL_UTILS list by mistake. Already done to 1.6.x
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180079 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 23:35:26 +00:00
dvossel 58c677376b app_read does not break from prompt loop with user terminated empty string
In app.c, ast_app_getdata is called to stream the prompts and receive DTMF input.  If ast_app_getdata() receives an empty string caused by the user inputing the end of string character, in this case '#', it should break from the prompt loop and return to app_read, but instead it cycles through all the prompts.  I've added a return value for this special case in ast_readstring() which uses an enum I've delcared in apps.h.  This enum is now used as a return value for ast_app_getdata().

(closes issue #14279)
Reported by: Marquis
Patches:
	fix_app_read.patch uploaded by Marquis (license 32)
	read-ampersanmd.patch2 uploaded by dvossel (license 671)
Tested by: Marquis, dvossel
Review: http://reviewboard.digium.com/r/177/




git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180032 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 23:21:18 +00:00
qwell ad19b153c4 Blocked revisions 180010 via svnmerge
........
  r180010 | qwell | 2009-03-03 17:01:06 -0600 (Tue, 03 Mar 2009) | 1 line
  
  Make sure we still support zapchan in users.conf, in addition to dahdichan.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180011 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 23:02:04 +00:00
mmichelson 684ada3355 Merged revisions 180006 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180006 | mmichelson | 2009-03-03 16:48:18 -0600 (Tue, 03 Mar 2009) | 17 lines
  
  Clarify some documentation of queues.conf.sample
  
  It had always been possible to explicitly specify a "blank"
  value for a sound file in queues.conf and have no sound played
  back. The problem with this is that it would result in some ugly
  CLI warnings from file.c.
  
  This commit introduces a check when playing a file in app_queue
  to see if the name of the file is zero-length and return early if
  that is the case. Also, the ability to specify the blank sound
  files in queues.conf is now mentioned more clearly in queues.conf.sample
  
  (closes issue #14227)
  Reported by: caspy
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@180007 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 22:49:07 +00:00
murf 3d188dd5c6 Merged revisions 179807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

I had some work to do to port these changes to trunk; the 
check_expr stuff hasn't been updated here for quite some
time, it appears. I added some more tests to the check_expr2
suite. I had to play around with the makefile a bit, etc.

I added STANDALONE2 #ifdefs to ast_expr2.y so as not to
conflict structure with aelparse.

........
  r179807 | murf | 2009-03-03 11:11:34 -0700 (Tue, 03 Mar 2009) | 19 lines
  
  These changes allow AEL to better check ${} constructs within $[...], that are concatenated with text.
  
  I modified and added rules in ast_expr2.fl to better handle
  the concatenations.
  
  I added some default routines to ast_expr2.y so the standalone would
  compile. It also looks like I haven't run this thru bison since 2.1, so
  it's good to get this updated.
  
  The Makefile has comments added now for check_expr2 and check_expr to
  explain what they are for, and how to run them. 
  
  The testexpr2s stuff has been removed, in favor of check_expr2.
  
  expr2.testinput has been updated to include the two expressions
  that inspired these changes (from mcnobody on #asterisk this morning)
  The regression has been run and all looks well.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179973 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 22:12:02 +00:00
dvossel bc97760a80 app_meetme not setting filename and fileformat correctly for realtime
When app_meetme finds a realtime conference, it doesn't get the filename and fileformat correctly when 'r' is set.  Now app_meetme first checks to see if fileformat and filename are declared in the db, if they're not it checks the .conf file, if its not declared there either it then uses defaults. 

(closes issue #14545)
Reported by: dalbaech
Patches:
	app_meetme-realtime5.patch uploaded by dvossel (license 671)
	Realtime_Conference_Record_workaround.txt uploaded by dalbaech (license 705)
Tested by: dvossel, dalbaech
Review: http://reviewboard.digium.com/r/180/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179972 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 22:01:24 +00:00
mmichelson 8682195e7d Add documentation for timing modules used in Asterisk
This document specifies the timing modules available in Asterisk beginning
with Asterisk 1.6.1. The document goes into detail about the differences
between each and gives a general overview of what timing is used for in
Asterisk. There is also a section which can be used to help customize
your setup or to troubleshoot timing issues you may have.

I also added messages to the DAHDI timing test used in res_timing_dahdi.c
that points to this new documentation if people experience problems.

Big thanks to all who contributed comments on this.

(closes issue #14490)
Reported by: mmichelson
Patches:
      timing.txt uploaded by mmichelson (license 60)

Review: http://reviewboard.digium.com/r/164/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179937 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 20:59:16 +00:00
bmd 0bf5a4bea5 fix a leaked channel lock (and future deadlock) when we try to pick up our own channel
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179903 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 20:02:20 +00:00
file 53cadeca53 Merged revisions 179840 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r179840 | file | 2009-03-03 14:27:09 -0400 (Tue, 03 Mar 2009) | 9 lines
  
  Do not assume that the bridge_cdr is still attached to the channel when the 'h' exten is finished executing.
  
  It is possible for a masquerade operation to occur when the 'h' exten is operating. This operation moves
  the CDR records around causing the bridge_cdr to no longer exist on the channel where it is expected to.
  We can not safely modify it afterwards because of this, so don't even try.
  
  (closes issue #14564)
  Reported by: meric
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179841 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 18:28:46 +00:00
mmichelson 96d13bb991 Convert pbx_spool to use string fields instead of statically-sized buffers.
In tests run after making this conversion, I noticed an approximate 85% 
reduction in memory usage for call file processing.

Review: http://reviewboard.digium.com/r/168/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179745 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 17:03:47 +00:00
russell 065dbfa6d6 Merged revisions 179741 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r179741 | russell | 2009-03-03 10:45:46 -0600 (Tue, 03 Mar 2009) | 6 lines

Ensure chan->fdno always gets reset to -1 after handling a channel fd event.

Since setting fdno to -1 had to be moved, a couple of other code paths that
do process an fd event return early and do not pass through the code path
where it was moved to.  So, set it to -1 in a few other places, too.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179742 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 16:47:28 +00:00
oej 8ac970ba28 Please prefix default values with DEFAULT
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179675 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 15:13:42 +00:00
file 4298d14a2d Merged revisions 179671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r179671 | file | 2009-03-03 10:38:09 -0400 (Tue, 03 Mar 2009) | 3 lines
  
  Move where fdno is set to the default value to *after* the read callback of the channel driver is called.
  We have to do this as the underlying channel driver may need the fdno value to determine what to read.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179672 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 14:40:04 +00:00
russell 8e1cefe510 Merged revisions 179608 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r179608 | russell | 2009-03-03 07:53:52 -0600 (Tue, 03 Mar 2009) | 9 lines

Make it easier to detect an improper call to ast_read().

When you call ast_waitfor() on a channel, the index into the channel fds array
that holds the file descriptor that poll() determines has input available is
stored in fdno.  This patch clears out this value after a call to ast_read()
and also reports errors if ast_read() is called without an fdno set.

From a discussion on the asterisk-dev list.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179609 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 13:54:41 +00:00
jpeeler 1da516c8d4 Merged revisions 179536 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r179536 | jpeeler | 2009-03-02 17:54:39 -0600 (Mon, 02 Mar 2009) | 15 lines
  
  Fix bridging regression from commit 176701
  
  This fixes a bad regression where the bridge would exit after an attended
  transfer was made. The problem was due to nexteventts getting set after the
  masquerade which caused the bridge to return AST_BRIDGE_COMPLETE.
  
  (closes issue #14315)
  Reported by: tim_ringenbach
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179537 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-03 00:01:51 +00:00
russell c61c244a9d Merged revisions 179532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r179532 | russell | 2009-03-02 17:34:13 -0600 (Mon, 02 Mar 2009) | 40 lines

Move ast_waitfor() down to avoid the results of the API call becoming stale.

This call to ast_waitfor() was being done way too soon in this section of code.
Specifically, there was code in between the call to waitfor and the code that
uses the result that puts the channel in autoservice.  By putting the channel
in autoservice, the previous results of ast_waitfor() become meaningless,
as the autoservice thread will do it's own ast_waitfor() and ast_read()
on the channel.

So, when we came back out of autoservice and eventually hit the block of code
that calls ast_read() on the channel, there may not actually be any input on
the channel available.  Even though the previous call to ast_waitfor() in
app_meetme said there was input, the autoservice thread has since serviced
the channel for some period of time.

This bug manifested itself while dvossel was doing some testing of MeetMe in
Asterisk trunk.  He was using the timerfd timing module.  When the code hit
ast_read() erroneously, it determined that it must have been called because of
input on the timer fd, as chan->fdno was set to AST_TIMING_FD, since that was 
the cause of the last legitimate call to ast_read() done by autoservice.  

In this test, an IAX2 channel was calling into the MeetMe conference.  It was
_much_ more likely to be seen with an IAX2 channel because of the way audio
is handled.  Every audio frame that comes in results in a call to
ast_queue_frame(), which then uses ast_timer_enable_continuous() to notify
the channel thread that a frame is waiting to be handled.  So, the chances
of ast_waitfor() indicating that a channel needs servicing due to a timer
event on an IAX2 event is very high.

Finally, it is interesting to note that if a different timing interface was
being used, this bug would probably not be noticed.  When ast_read() is called
and erroneously thinks that there is a timer event to handle, it calls the
ast_timer_ack() function.  The pthread and dahdi timing modules handle the
ack() function being called when there is no event by simply ignoring it.
In the case of the timerfd module, it results in a read() on the timer fd
that will block forever, as there is no data to read.  This caused Asterisk
to lock up very quickly.

Thanks to dvossel and mmichelson for the fun debugging session.  :-)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179533 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 23:36:38 +00:00
tilghman 8bae79780d Merged revisions 179468 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r179468 | tilghman | 2009-03-02 17:09:01 -0600 (Mon, 02 Mar 2009) | 10 lines
  
  When ending a recording with silence detection, remember to reduce the duration.
  The end of the recording is correspondingly trimmed, but the duration was not
  trimmed by the number of seconds trimmed, so the saved duration was necessarily
  longer than the actual soundfile duration.
  (closes issue #14406)
   Reported by: sasargen
   Patches: 
         20090226__bug14406.diff.txt uploaded by tilghman (license 14)
   Tested by: sasargen
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179469 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 23:10:18 +00:00
russell 4985115dfa Fix a reference leak in timerfd_set_rate().
(found during a debugging session with dvossel and mmichelson.)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179465 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 23:06:16 +00:00
russell 5f009f0b93 Merged revisions 179461 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r179461 | russell | 2009-03-02 16:58:18 -0600 (Mon, 02 Mar 2009) | 8 lines

Ensure that only one thread is calling ast_settimeout() on a channel at a time.

For example, with an IAX2 channel, you can have both the channel thread and the
chan_iax2 processing threads calling this function, and doing so twice at the
same time is a bad thing.

(Found in a debugging session with dvossel and mmichelson)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179462 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 23:00:30 +00:00
qwell 1b3a252266 Merged revisions 179395 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r179395 | qwell | 2009-03-02 14:14:57 -0600 (Mon, 02 Mar 2009) | 1 line
  
  Remove several silly warnings in editline.  One about a broken preprocessor directive, and another about strlcpy/strlcat.

  (closes issue #14264)
  Reported by: dimas
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179396 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 20:16:51 +00:00
tilghman 6628131bf6 Backport 1.6.0 fix to trunk (failsafe if db is not loaded)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179361 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 17:18:48 +00:00
file 2d95f1b342 Do not try to remove a registration scheduled item if the scheduler context has already been destroyed.
(closes issue #14580)
Reported by: alecdavis


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179323 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 14:28:09 +00:00
file b415a38ac4 Fix issue where changing the volume of both directions of audio did not work.
(closes issue #14574)
Reported by: KNK
Patches:
      audiohook_volume_fix.diff uploaded by KNK (license 545)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179291 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-02 14:13:45 +00:00
mmichelson 21d93ce816 Swap reversed timevals.
This was pointed out by ScribbleJ in #asterisk-dev. Thanks very much, ScribbleJ!



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179254 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-01 23:25:23 +00:00
mmichelson 8675791e9e Properly free memory and remove scheduler entries when a transmission failure occurs.
Previously, only the "data" field of the sip_pkt created during __sip_reliable_xmit 
was freed when XMIT_ERROR was returned by __sip_xmit. When retrans_pkt was called,
this inevitably resulted in the reading and writing of freed memory.

XMIT_ERROR is a condition meaning that we don't want to attempt resending the packet
at all. The proper action to take is to remove the scheduler entry we just created,
free the packet's data as well as the packet itself, and unlink it from the list of
packets on the sip_pvt structure.

(closes issue #14455)
Reported by: Nick_Lewis
Patches:
      14455.patch uploaded by mmichelson (license 60)
Tested by: Nick_Lewis



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179219 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-01 21:45:08 +00:00
russell dac9acf538 Mark res_ais as experimental, as the binary event format is subject to change.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179164 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-27 21:47:18 +00:00
tilghman d532b92cd0 If config file is blank, don't load module.
(Closes issue #14563)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179161 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-27 21:32:13 +00:00
russell 62ad52ba2b Add a note about the ordering of entries in sip.conf in 1.6.1.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@179154 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-27 21:23:12 +00:00