13 years agoPlease prefix default values with DEFAULT
Olle Johansson [Tue, 3 Mar 2009 15:13:42 +0000 (15:13 +0000)]
Please prefix default values with DEFAULT

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179671 via svnmerge from
Joshua Colp [Tue, 3 Mar 2009 14:40:04 +0000 (14:40 +0000)]
Merged revisions 179671 via svnmerge from

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179608 via svnmerge from
Russell Bryant [Tue, 3 Mar 2009 13:54:41 +0000 (13:54 +0000)]
Merged revisions 179608 via svnmerge from

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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179536 via svnmerge from
Jeff Peeler [Tue, 3 Mar 2009 00:01:51 +0000 (00:01 +0000)]
Merged revisions 179536 via svnmerge from

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179532 via svnmerge from
Russell Bryant [Mon, 2 Mar 2009 23:36:38 +0000 (23:36 +0000)]
Merged revisions 179532 via svnmerge from

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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179468 via svnmerge from
Tilghman Lesher [Mon, 2 Mar 2009 23:10:18 +0000 (23:10 +0000)]
Merged revisions 179468 via svnmerge from

  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
         20090226__bug14406.diff.txt uploaded by tilghman (license 14)
   Tested by: sasargen

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix a reference leak in timerfd_set_rate().
Russell Bryant [Mon, 2 Mar 2009 23:06:16 +0000 (23:06 +0000)]
Fix a reference leak in timerfd_set_rate().

(found during a debugging session with dvossel and mmichelson.)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179461 via svnmerge from
Russell Bryant [Mon, 2 Mar 2009 23:00:30 +0000 (23:00 +0000)]
Merged revisions 179461 via svnmerge from

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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 179395 via svnmerge from
Jason Parker [Mon, 2 Mar 2009 20:16:51 +0000 (20:16 +0000)]
Merged revisions 179395 via svnmerge from

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoBackport 1.6.0 fix to trunk (failsafe if db is not loaded)
Tilghman Lesher [Mon, 2 Mar 2009 17:18:48 +0000 (17:18 +0000)]
Backport 1.6.0 fix to trunk (failsafe if db is not loaded)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoDo not try to remove a registration scheduled item if the scheduler context has alrea...
Joshua Colp [Mon, 2 Mar 2009 14:28:09 +0000 (14:28 +0000)]
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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix issue where changing the volume of both directions of audio did not work.
Joshua Colp [Mon, 2 Mar 2009 14:13:45 +0000 (14:13 +0000)]
Fix issue where changing the volume of both directions of audio did not work.

(closes issue #14574)
Reported by: KNK
      audiohook_volume_fix.diff uploaded by KNK (license 545)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSwap reversed timevals.
Mark Michelson [Sun, 1 Mar 2009 23:25:23 +0000 (23:25 +0000)]
Swap reversed timevals.

This was pointed out by ScribbleJ in #asterisk-dev. Thanks very much, ScribbleJ!

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoProperly free memory and remove scheduler entries when a transmission failure occurs.
Mark Michelson [Sun, 1 Mar 2009 21:45:08 +0000 (21:45 +0000)]
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
      14455.patch uploaded by mmichelson (license 60)
Tested by: Nick_Lewis

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMark res_ais as experimental, as the binary event format is subject to change.
Russell Bryant [Fri, 27 Feb 2009 21:47:18 +0000 (21:47 +0000)]
Mark res_ais as experimental, as the binary event format is subject to change.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoIf config file is blank, don't load module.
Tilghman Lesher [Fri, 27 Feb 2009 21:32:13 +0000 (21:32 +0000)]
If config file is blank, don't load module.
(Closes issue #14563)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd a note about the ordering of entries in sip.conf in 1.6.1.
Russell Bryant [Fri, 27 Feb 2009 21:23:12 +0000 (21:23 +0000)]
Add a note about the ordering of entries in sip.conf in 1.6.1.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd reload support to chan_skinny.
Michiel van Baak [Fri, 27 Feb 2009 20:34:00 +0000 (20:34 +0000)]
Add reload support to chan_skinny.

Special thanks goes to DEA who had to redo this patch twice
because we first put unload/load support in and later redid the way
we configure devices and lines.

(closes issue #10297)
Reported by: DEA
      skinny-reload-trunkv2.diff uploaded by wedhorn (license 30)
      skinny-reload-trunk-v4.txt uploaded by DEA (license 3)
  With mods by me based on feedback from wedhorn and Russell and seanbright
Tested by: DEA, mvanbaak, pj


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUpdate documentation for DIALEDTIME and ANSWEREDTIME variables.
Jason Parker [Fri, 27 Feb 2009 19:04:57 +0000 (19:04 +0000)]
Update documentation for DIALEDTIME and ANSWEREDTIME variables.

(closes issue #14566)
Reported by: klaus3000
      ANSWEREDTIME-1.4-patch.txt uploaded by klaus3000 (license 65)
      ANSWEREDTIME-trunk-patch.txt uploaded by klaus3000 (license 65)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix downloading SIREN7 and SIREN14 sound packages.
Russell Bryant [Fri, 27 Feb 2009 15:51:56 +0000 (15:51 +0000)]
Fix downloading SIREN7 and SIREN14 sound packages.

In passing, also fix downloading SLIN16 extra sound packages.

(closes issue #14565)
Reported by: jtodd

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178956 via svnmerge from
Steve Murphy [Fri, 27 Feb 2009 03:45:58 +0000 (03:45 +0000)]
Merged revisions 178956 via svnmerge from

In this case, it's just a matter of reducing the default timeouts from 2000
to 1000 msec, as the max def feature digit timeout is no longer halved.

  r178956 | murf | 2009-02-26 14:27:32 -0700 (Thu, 26 Feb 2009) | 18 lines

  This change moves the default feature digit timeout to 1000 ms from the previous default of 500.

  As per bug 14515, a dev discussion arrived at a "mediated concensus"
  of a default feature digit timeout of 1.0 sec. Some voted for 1300;
  ctooley thought 1500 for distracted phone users in phone booths;
  kpfleming put his foot down at 1.0 sec.

  Users who found the previous default max delay of 250 msec perfect,
  are welcome to override the new default. Notice that I said that
  250 msec was the default; wait a minute, you might say, the config
  file said it was 500 msec!; well, because of the bug fix for 14515,
  we found that 500 msec was actually enforcing a max of 250. The bug
  fix would restore 500 msec, but we felt even that was a bit tight
  for most users... 2000 msec was pushed earlier by mmichelson, so
  that reduces to 1000 msec after the bug fix. Enjoy!

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSound confirmation of call pickup success.
Tilghman Lesher [Thu, 26 Feb 2009 18:41:28 +0000 (18:41 +0000)]
Sound confirmation of call pickup success.
(closes issue #13826)
 Reported by: azielke
       pickupsound2-trunk.patch uploaded by azielke (license 548)
       __20081124_bug_13826_updated.patch uploaded by lmadsen (license 10)
 Tested by: lmadsen

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoIAX2 prune realtime, minor tweak to last fix
David Vossel [Thu, 26 Feb 2009 17:46:12 +0000 (17:46 +0000)]
IAX2 prune realtime, minor tweak to last fix

A return statement was missing which caused unexpected cli output.

issue #14479

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoThese small fixes prevent compiler warnings with ubuntu 8.10's gcc-4.3.2, which tend...
Steve Murphy [Thu, 26 Feb 2009 17:45:22 +0000 (17:45 +0000)]
These small fixes prevent compiler warnings with ubuntu 8.10's gcc-4.3.2, which tend to break my dev-mode build. Not a problem in 1.6.x.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoBlocked revisions 178838 via svnmerge
David Vossel [Thu, 26 Feb 2009 17:26:04 +0000 (17:26 +0000)]
Blocked revisions 178838 via svnmerge

  r178838 | dvossel | 2009-02-26 11:24:02 -0600 (Thu, 26 Feb 2009) | 9 lines

  IAX2 prune realtime fix

  Now prune_users() and prune_peers() are called instead of reload_config() to prune all users/peers that are realtime.  These functions remove all users/peers with the rtfriend and delme flags set. iax2_prune_realtime() also lacked the code to properly delete a single friend.  For example. if iax2 prune realtime <friend> was called, only the peer instance would be removed. The user would still remain.

  (closes issue #14479)
  Reported by: mousepad99

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178804 via svnmerge from
Steve Murphy [Thu, 26 Feb 2009 17:22:11 +0000 (17:22 +0000)]
Merged revisions 178804 via svnmerge from

  r178804 | murf | 2009-02-26 10:09:03 -0700 (Thu, 26 Feb 2009) | 28 lines

  This patch prevents the feature detection timeout from being cut in half.

  Because the ast_channel_bridge() call will return 0 and pass
  a frame pointer for both DTMF_BEGIN and DTMF_END, the feature_timer
  field in hte config struct is getting decremented twice, which
  effectively cuts the digittimeout in half. I added conditions
  to the if statement to only let DTMF_END frames to flow thru,
  which solved the problem. Also, when the frame pointer is null,
  let control flow thru-- this usually happens on timeouts. I added
  a comment to the code to explain what's going on and why.

  Many thanks to sodom for reporting this problem. Personnally, it always seemed
  like something was wrong with the featuredigittimeout, but I never
  could quite decide what... and was too busy to investigate.
  This bug forced the issue, and now we know.

  Sodom had other issues in 14515, but I couldn't reproduce them. If
  he still has problems, and wants to get them solved, he is welcome
  to reopen 14515.

  (closes issue #14515)
  Reported by: sodom
        14515.patch uploaded by murf (license 17)
  Tested by: murf, sodom

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix an issue where the timer for file playback would not be stopped if DAHDI was...
Joshua Colp [Thu, 26 Feb 2009 16:42:36 +0000 (16:42 +0000)]
Fix an issue where the timer for file playback would not be stopped if DAHDI was not installed.

(closes issue #14541)
Reported by: grant

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoIAX2 prune realtime fix
David Vossel [Thu, 26 Feb 2009 15:50:22 +0000 (15:50 +0000)]
IAX2 prune realtime fix

Iax2 prune realtime had issues.  If "iax2 prune realtime all" was called, it would appear like the command was successful, but in reality nothing happened.  This is because the reload that was supposed to take place checks the config files, sees no changes, and does nothing.  If there had been a change in the the config file, the realtime users would have been marked for deletion and everything would have been fine.  Now prune_users() and prune_peers() are called instead of reload_config() to prune all users/peers that are realtime.  These functions remove all users/peers with the rtfriend and delme flags set. iax2_prune_realtime() also lacked the code to properly delete a single friend.  For example. if iax2 prune realtime <friend> was called, only the peer instance would be removed. The user would still remain.

(closes issue #14479)
Reported by: mousepad99

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoEnsure there is a valid tone part before trying to play tones.
Joshua Colp [Thu, 26 Feb 2009 15:40:10 +0000 (15:40 +0000)]
Ensure there is a valid tone part before trying to play tones.

(closes issue #14558)
Reported by: alecdavis

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoClarifications on the different models and reference to further docs.
Olle Johansson [Thu, 26 Feb 2009 15:02:53 +0000 (15:02 +0000)]
Clarifications on the different models and reference to further docs.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoanother minor commit to test post-commit script changes (now testing post-revprop...
Kevin P. Fleming [Thu, 26 Feb 2009 13:39:00 +0000 (13:39 +0000)]
another minor commit to test post-commit script changes (now testing post-revprop-change as well, third try)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agominor commit to test post-commit script changes
Kevin P. Fleming [Thu, 26 Feb 2009 13:28:31 +0000 (13:28 +0000)]
minor commit to test post-commit script changes

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoBlocked revisions 178640 via svnmerge
Steve Murphy [Wed, 25 Feb 2009 21:09:27 +0000 (21:09 +0000)]
Blocked revisions 178640 via svnmerge

  r178640 | murf | 2009-02-25 14:00:50 -0700 (Wed, 25 Feb 2009) | 17 lines

  This patch completes the fixes nec. to make 1.4 asterisk dialplan expressions ($[...]) 8-bit transparent

  While I was updating ast_expr2.fl, I missed one rule that would allow 8-bit chars to be caught
  in tokens; and in so doing, it absorbs the ${ sequence and messes up the
  checking of raw exprs by AEL.

  Trunk already has these changes.

  (closes issue #14543)
  Reported by: klaus3000
        patch.14543 uploaded by murf (license 17)
  Tested by: murf

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoPicky, picky buildbots
Tilghman Lesher [Wed, 25 Feb 2009 19:49:46 +0000 (19:49 +0000)]
Picky, picky buildbots

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUse notification when timezone files change and re-scan then.
Tilghman Lesher [Wed, 25 Feb 2009 19:24:44 +0000 (19:24 +0000)]
Use notification when timezone files change and re-scan then.
(closes issue #14300)
 Reported by: jamessan
       20090127__bug14300.diff.txt uploaded by tilghman (license 14)
       20090224__bug14300.diff uploaded by jamessan (license 246)
 Tested by: jamessan

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoOops, wrong direction of command
Tilghman Lesher [Wed, 25 Feb 2009 19:03:35 +0000 (19:03 +0000)]
Oops, wrong direction of command

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178508 via svnmerge from
Russell Bryant [Wed, 25 Feb 2009 12:45:30 +0000 (12:45 +0000)]
Merged revisions 178508 via svnmerge from

r178508 | russell | 2009-02-25 06:43:36 -0600 (Wed, 25 Feb 2009) | 2 lines

Update the copyright year for the main page of the doxygen documentation.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178445 via svnmerge from
Tilghman Lesher [Tue, 24 Feb 2009 23:27:23 +0000 (23:27 +0000)]
Merged revisions 178445 via svnmerge from

  r178445 | tilghman | 2009-02-24 17:25:24 -0600 (Tue, 24 Feb 2009) | 5 lines

  Add section about the #exec command in configuration files.
  (closes issue #14540)
   Reported by: jtodd
   Patch by: jtodd, with additional notes by tilghman (license 14)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoApparently, a void cast doesn't override warn_unused_result.
Tilghman Lesher [Tue, 24 Feb 2009 20:52:44 +0000 (20:52 +0000)]
Apparently, a void cast doesn't override warn_unused_result.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoThe 3 possible errors with pipe(2) are all impossible in this situation.
Tilghman Lesher [Tue, 24 Feb 2009 20:40:02 +0000 (20:40 +0000)]
The 3 possible errors with pipe(2) are all impossible in this situation.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178373 via svnmerge from
Russell Bryant [Tue, 24 Feb 2009 20:39:57 +0000 (20:39 +0000)]
Merged revisions 178373 via svnmerge from

r178373 | russell | 2009-02-24 14:36:19 -0600 (Tue, 24 Feb 2009) | 6 lines

Only set dtmfcount on BEGIN, and ensure it gets reset to 0 properly.

(issue #14460)
Reported by: moliveras
Tested by: russell


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUse a SIGPIPE to kill the process, instead of depending upon the astcanary process...
Tilghman Lesher [Tue, 24 Feb 2009 20:06:48 +0000 (20:06 +0000)]
Use a SIGPIPE to kill the process, instead of depending upon the astcanary process being inherited by init.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoCause astcanary to exit if Asterisk exits abnormally and doesn't kill astcanary.
Tilghman Lesher [Tue, 24 Feb 2009 17:51:36 +0000 (17:51 +0000)]
Cause astcanary to exit if Asterisk exits abnormally and doesn't kill astcanary.
Also, add some documentation supporting the use of astcanary.
(closes issue #14538)
 Reported by: KNK
       asterisk-1.6.x-astcanary.diff uploaded by KNK (license 545)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAllows manager command to see if IAX link is trunked and encrypted. Displays what...
David Vossel [Tue, 24 Feb 2009 17:42:37 +0000 (17:42 +0000)]
Allows manager command to see if IAX link is trunked and encrypted. Displays what kind of encryption is enabled as well.

Manager command "iaxpeers" now shows if a link is trunked and encrypted.  Instead of encryption saying simply "yes" or "no", it now displays what type of encryption is enabled and if keyrotation is on or not.

(closes issue #14427)
Reported by: snuffy
iax_show_trunks.diff uploaded by snuffy (license 35)
2009022200_iax2_show_trunkencryption.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak, dvossel, snuffy

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178205 via svnmerge from
Joshua Colp [Tue, 24 Feb 2009 15:18:38 +0000 (15:18 +0000)]
Merged revisions 178205 via svnmerge from

  r178205 | file | 2009-02-24 11:16:07 -0400 (Tue, 24 Feb 2009) | 9 lines

  Skip check for extension when subscribing for MWI.

  Since the remote side is not actually subscribing to a specific extension when
  subscribing for MWI just skip the check to see if the extension exists. They can't use it
  to specify the mailbox either since we require configuration of that in sip.conf

  (closes issue #14531)
  Reported by: festr

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 178141 via svnmerge from
Russell Bryant [Mon, 23 Feb 2009 23:11:37 +0000 (23:11 +0000)]
Merged revisions 178141 via svnmerge from

r178141 | russell | 2009-02-23 17:09:01 -0600 (Mon, 23 Feb 2009) | 14 lines

Fix infinite DTMF when a BEGIN is received without an END.

This commit is related to rev 175124 of 1.4 where a previous attempt was made
to fix this problem.  The problem with the previous patch was that the inserted
code needed to go _before_ setting the lastrxts to the current timestamp.
Because those were the same, the dtmfcount variable was never decremented, and
so the END was never sent.

In passing, I removed the dtmfsamples variable which was completed unused.  I
also removed a redundant setting of the lastrxts variable.

(closes issue #14460)
Reported by: moliveras


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoPermit emailsubject and emailbody to be set per mailbox.
Tilghman Lesher [Mon, 23 Feb 2009 21:02:18 +0000 (21:02 +0000)]
Permit emailsubject and emailbody to be set per mailbox.
(closes issue #14372)
 Reported by: fhackenberger
       voicemail_individual_subject_and_body_1.6.1 uploaded by fhackenberger (license 592)
       with additional fixes by Corydon76 (license 14)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoupdate the new manager commands in chan_skinny to match
Michiel van Baak [Mon, 23 Feb 2009 18:23:38 +0000 (18:23 +0000)]
update the new manager commands in chan_skinny to match
chan_sip's headers. requested by oej.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoChanges the way keyrotation is enabled by default
David Vossel [Mon, 23 Feb 2009 17:59:55 +0000 (17:59 +0000)]
Changes the way keyrotation is enabled by default

Key rotation was enabled by default by setting the global encryption method to IAX_ENCRYPT_KEYROTATE.  the problem with this is that if encryption is not enabled, and the encryption method is set to anything except 0, the peer appears to have encryption enabled when issuing a "iax2 show peers".  Rather than have the key rotation bit always set by default, it is now only set when an encryption method is enabled.

(closes issue #14523)
Reported by: mvanbaak

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agolist the addition of the SKINNY manager actions in the CHANGES file.
Michiel van Baak [Mon, 23 Feb 2009 17:48:32 +0000 (17:48 +0000)]
list the addition of the SKINNY manager actions in the CHANGES file.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix a regression in scheduler entry ordering, and add a regression test for it.
Russell Bryant [Mon, 23 Feb 2009 17:29:16 +0000 (17:29 +0000)]
Fix a regression in scheduler entry ordering, and add a regression test for it.

(closes issue #14522)
Reported by: pj
Tested by: russell

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd a couple of manager commands to chan_skinny
Michiel van Baak [Sun, 22 Feb 2009 23:04:37 +0000 (23:04 +0000)]
Add a couple of manager commands to chan_skinny


(closes issue #14521)
Reported by: mvanbaak


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoOn update, test against the existence of sipregs.
Tilghman Lesher [Sat, 21 Feb 2009 15:59:49 +0000 (15:59 +0000)]
On update, test against the existence of sipregs.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoadd extra check for sysinfo/sysctl
Michiel van Baak [Sat, 21 Feb 2009 14:37:04 +0000 (14:37 +0000)]
add extra check for sysinfo/sysctl

(closes issue #14513)
Reported by: snuffy
      bug14513_fixsysinfo.diff uploaded by snuffy (license 35)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoTrailing whitespace, minor coding guideline fixes, and start beefing up the
Sean Bright [Sat, 21 Feb 2009 14:16:44 +0000 (14:16 +0000)]
Trailing whitespace, minor coding guideline fixes, and start beefing up the
hashtab documentation a bit.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix build issues on Solaris and OpenBSD.
Russell Bryant [Sat, 21 Feb 2009 13:17:47 +0000 (13:17 +0000)]
Fix build issues on Solaris and OpenBSD.

(closes issue #14512)
Reported by: snuffy

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoset ASTVARRUNDIR=$(localstatedir)/run/asterisk as default path
Michiel van Baak [Sat, 21 Feb 2009 13:13:35 +0000 (13:13 +0000)]
set ASTVARRUNDIR=$(localstatedir)/run/asterisk as default path

When running asterisk as non-root and without this patch the pidfile wants
to go into /var/run/ This directory is not writable for
the non-root user and changing permissions is not an option.
Putting it in /var/run/asterisk/ makes it possible
to set permissions on the /var/run/asterisk dir so everything
works as it should be.

Patched committed is based on pabelanger's patch.

(closes issue #13153)
Reported by: pabelanger
      2009012900_bug13153-nonrootscripts.diff.txt uploaded by mvanbaak (license 7)


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agomake chan_sip.c compile on OpenBSD again.
Michiel van Baak [Sat, 21 Feb 2009 12:22:32 +0000 (12:22 +0000)]
make chan_sip.c compile on OpenBSD again.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177786 via svnmerge from
Tilghman Lesher [Fri, 20 Feb 2009 23:02:35 +0000 (23:02 +0000)]
Merged revisions 177786 via svnmerge from

  r177786 | tilghman | 2009-02-20 16:59:52 -0600 (Fri, 20 Feb 2009) | 9 lines

  Don't print the CR-NL combination when we aren't outputting to the manager.

  An embedded CR-NL in a CLI command screws up several AMI parsers that don't
  expect to see that combination in the middle of output.

  (Closes issue #14305)
  Reported by: martins
  Patch by: tilghman

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177701 via svnmerge from
Tilghman Lesher [Fri, 20 Feb 2009 21:25:37 +0000 (21:25 +0000)]
Merged revisions 177701 via svnmerge from

  r177701 | tilghman | 2009-02-20 15:15:01 -0600 (Fri, 20 Feb 2009) | 3 lines

  This exception does not appear to still be true for Solaris 10, and OpenSolaris definitely needs it to be removed.
  Fixed for snuff-home on -dev channel.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMake app_fax compatible with spandsp-0.0.6pre4
Dwayne M. Hubbard [Fri, 20 Feb 2009 20:29:00 +0000 (20:29 +0000)]
Make app_fax compatible with spandsp-0.0.6pre4

Prior to spandsp-0.0.6pre4 the t30_stats_t structure used a pages_transferred
integer to indicate the number of pages transferred (so far) during the fax
session.  The spandsp-0.0.6pre4 release removed the pages_transferred integer
and replaced it with two different integers - pages_tx and pages_rx.  This
revision uses the new integers for spandsp-0.0.6pre4 while maintaining backwards
compatibility for previous spandsp releases.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoBlocked revisions 177696 via svnmerge
David Vossel [Fri, 20 Feb 2009 20:18:40 +0000 (20:18 +0000)]
Blocked revisions 177696 via svnmerge

  r177696 | dvossel | 2009-02-20 14:17:37 -0600 (Fri, 20 Feb 2009) | 8 lines

  Fixes issue with undefined audio codecs in chan_iax2

  During iax2 call negotiation, supported codecs are passed in an Information Element containing a 2 byte field where each bit correlates to a specific codec.  In 1.4 only audio codec bits 0-12 are defined, leaving bits 13-15 undefined.  By default all bits are enabled unless specified otherwise.  Since its a 2 byte field and 13-15 are not defined, these bits are never turned off.  In trunk, bits 13-15 are defined, which means 1.4 is advertising support for codecs it does not have when talking to trunk.  I fixed this by adding #define for undefined audio codec bits.  These bits are then removed from iax2's full bandwidth capabilities.

  (closes issue #14283)
  Reported by: jcovert

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAllow semicolons to be escaped, when passing arguments to the System command.
Tilghman Lesher [Fri, 20 Feb 2009 17:29:51 +0000 (17:29 +0000)]
Allow semicolons to be escaped, when passing arguments to the System command.
(closes issue #14231)
 Reported by: jcovert
       20090113__bug14231__2.diff.txt uploaded by Corydon76 (license 14)
       corrected_20090113__bug14231__2.diff.txt uploaded by jcovert (license 551)
 Tested by: jcovert

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoOops, merge broke trunk
Tilghman Lesher [Fri, 20 Feb 2009 17:22:19 +0000 (17:22 +0000)]
Oops, merge broke trunk

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSet sip_request ast_str data to NULL so ast_str_copy allocates space properly
Jeff Peeler [Fri, 20 Feb 2009 00:35:53 +0000 (00:35 +0000)]
Set sip_request ast_str data to NULL so ast_str_copy allocates space properly
in copy_request

(issue #14478)
Reported by: erik_dedecker

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177540 via svnmerge from
Steve Murphy [Thu, 19 Feb 2009 23:56:50 +0000 (23:56 +0000)]
Merged revisions 177540 via svnmerge from

Trunk was already pretty 8-bit clean; but I'm still
removing the --full from the flex command so everything
is uniform.

  r177540 | murf | 2009-02-19 15:51:37 -0700 (Thu, 19 Feb 2009) | 21 lines

  This patch fixes a problem with 8-bit input to the ast_expr2 scanner.

  The real culprit was the --full argument to flex
  in the Makefile! This causes a 7-bit scanner to be

  I reviewed the rules and found one rule where I needed
  to specifically include 8-bit chars for a token.

  I tested against the text supplied by ibercom, and
  all looks very well.

  This has been there a surprisingly long time!

  (closes issue #14498)
  Reported by: ibercom
        14498.patch uploaded by murf (license 17)
  Tested by: murf

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177536 via svnmerge from
Tilghman Lesher [Thu, 19 Feb 2009 22:33:00 +0000 (22:33 +0000)]
Merged revisions 177536 via svnmerge from

  r177536 | tilghman | 2009-02-19 16:26:01 -0600 (Thu, 19 Feb 2009) | 7 lines

  Fix up potential crashes, by reducing the sharing between interactive and non-interactive threads.
  (closes issue #14253)
   Reported by: Skavin
         20090219__bug14253.diff.txt uploaded by Corydon76 (license 14)
   Tested by: Skavin

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoDocument how to use database transactions
Tilghman Lesher [Thu, 19 Feb 2009 19:46:13 +0000 (19:46 +0000)]
Document how to use database transactions

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoBlocking MWI change to 1.4 since the mwi system is different in 1.6.x and trunk....
Olle Johansson [Thu, 19 Feb 2009 19:14:05 +0000 (19:14 +0000)]
Blocking MWI change to 1.4 since the mwi system is different in 1.6.x and trunk. Will do some
testing to make sure this works properly, but from reading the code, it does seem to work
as it should.

Blocked revisions 177450 via svnmerge

r177450 | oej | 2009-02-19 19:58:57 +0100 (Tor, 19 Feb 2009) | 2 lines

Force a MWI notification after subscribe request. Reported by the Resiprocate dev team. Thanks!


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix another merge error from 176708
Jeff Peeler [Thu, 19 Feb 2009 16:45:02 +0000 (16:45 +0000)]
Fix another merge error from 176708

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177383 via svnmerge from
Joshua Colp [Thu, 19 Feb 2009 16:38:41 +0000 (16:38 +0000)]
Merged revisions 177383 via svnmerge from

  r177383 | file | 2009-02-19 12:37:25 -0400 (Thu, 19 Feb 2009) | 3 lines

  If we are able to create a speech structure unset the ERROR variable in case it was previously set.
  (issue #LUMENVOX-13)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix mismerge from revision 176708 pointed out by Kaloyan Kovachev on the
Jeff Peeler [Thu, 19 Feb 2009 15:56:31 +0000 (15:56 +0000)]
Fix mismerge from revision 176708 pointed out by Kaloyan Kovachev on the
asterisk-dev mailing list. Thanks!

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoODBC transaction support
Tilghman Lesher [Thu, 19 Feb 2009 00:26:01 +0000 (00:26 +0000)]
ODBC transaction support

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUpdate CHANGES file to include MWI subscription support that was added some time...
Joshua Colp [Thu, 19 Feb 2009 00:08:41 +0000 (00:08 +0000)]
Update CHANGES file to include MWI subscription support that was added some time ago.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoHandle negative length and eliminate a condition that is always true.
Tilghman Lesher [Wed, 18 Feb 2009 23:51:35 +0000 (23:51 +0000)]
Handle negative length and eliminate a condition that is always true.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177225 via svnmerge from
Steve Murphy [Wed, 18 Feb 2009 23:50:57 +0000 (23:50 +0000)]
Merged revisions 177225 via svnmerge from

  r177225 | murf | 2009-02-18 15:43:14 -0700 (Wed, 18 Feb 2009) | 34 lines

  This patch fixes a regression of sorts that was introduced in
  rev 24425.

  It basically fixes AST-190/ABE-1782.

  What was wrong: the user has 6000 extensions in one context; and
  then 6000 contexts, one per extension. The parser could only handle
  about 4893 of the 6000 extens in the single context.

  This was due to the regression I mentioned. To get rid of
  shift/reduce conflicts, Luigi set up right-recursive lists
  for globals, context elements, switch lists, and statements.
  Right recursive lists got rid of the warnings, but instead, they
  use up a tremendous amount of stack space when the lists are long.

  I saw this a few years back, and resolved not to fix it until
  someone complained. That day has arrived!

  After the changes were made, I ran the regression test suite,
  and there were no problems.

  I took the test case the user provided, and added 100,000
  extensions to the single context, that already had 6,000 extens
  in it. (I'll see your 6, and raise you 100!) It takes a few minutes
  to read it all in, check it and generate code for it, but no

  So, I think I can say that fundamentally, there are no longer
  any limits on the number of items you can place in contexts,
  statement blocks, switches, or globals, beyond your virt mem

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agofix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ensure...
Kevin P. Fleming [Wed, 18 Feb 2009 23:09:58 +0000 (23:09 +0000)]
fix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ensure that the samples are byte-swapped to network order if needed. also, when a smoother is operating on a format that has a sample rate other than 8000 samples per second, use the proper sample rate for computing delivery timestamps.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoLocking issue in action_bridge and bridge_exec
David Vossel [Wed, 18 Feb 2009 22:51:38 +0000 (22:51 +0000)]
Locking issue in action_bridge and bridge_exec

action_bridge() and bridge_exec() both search for the channels to bridge to, and then immediately drop the lock.  Instead, they should hold the lock until the masquerade is complete.  This will guarantee the channel remains and prevent any other weirdness from occurring.  In action_bridge() some more weirdness comes into play.  Both channels are needlessly locked at the same time and perform the exact same logic.  It makes sense from a coding organizational standpoint, but could cause a theoretical deadlock so I split the code up.  There is an issue associated with this, but since its a rather complicated thing to reproduce I'm not certain this alone will close it.

issue# 14296

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoModify h323 to build against PTLib as well as the older PWLib
Jeff Peeler [Wed, 18 Feb 2009 20:11:57 +0000 (20:11 +0000)]
Modify h323 to build against PTLib as well as the older PWLib

Several changes in PTLib have occurred requiring build time detection. Changes
accounted for include the library name change, config option change, install
location change, and a boolean type change which is handled by ast_ptlib.h.
Also, the sed check has been modified to properly work with autoconf >= 2.62.

(closes issue #14224)
Reported by: bergolth
      asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
      asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
Tested by: jpeeler

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoBlocked revisions 177160 via svnmerge
Jeff Peeler [Wed, 18 Feb 2009 20:08:42 +0000 (20:08 +0000)]
Blocked revisions 177160 via svnmerge

  r177160 | jpeeler | 2009-02-18 14:06:45 -0600 (Wed, 18 Feb 2009) | 15 lines

  Modify h323 to build against PTLib as well as the older PWLib

  Several changes in PTLib have occurred requiring build time detection. Changes
  accounted for include the library name change, config option change, install
  location change, and a boolean type change which is handled by ast_ptlib.h.
  Also, the sed check has been modified to properly work with autoconf >= 2.62.

  (closes issue #14224)
  Reported by: bergolth
        asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
        asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
  Tested by: jpeeler

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoRe-add 'o' option to MeetMe, reverting rev 62297.
Russell Bryant [Wed, 18 Feb 2009 19:12:49 +0000 (19:12 +0000)]
Re-add 'o' option to MeetMe, reverting rev 62297.

Enabling this option by default proved to be a bad idea, as the talker detection
is not very reliable.  So, make it optional again, and off by default.

(issue #13801)
Reported by: justdave

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 177096 via svnmerge from
Tilghman Lesher [Wed, 18 Feb 2009 19:05:15 +0000 (19:05 +0000)]
Merged revisions 177096 via svnmerge from

  r177096 | tilghman | 2009-02-18 12:30:38 -0600 (Wed, 18 Feb 2009) | 2 lines

  Document the return value of the update method (as requested on -dev list)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFixed error where a check for an zero length, terminated string was needed.
Doug Bailey [Wed, 18 Feb 2009 17:24:07 +0000 (17:24 +0000)]
Fixed error where a check for an zero length, terminated string was needed.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix ordering of output for a ChannelUpdate manager event.
Joshua Colp [Wed, 18 Feb 2009 17:11:52 +0000 (17:11 +0000)]
Fix ordering of output for a ChannelUpdate manager event.
(closes issue #14497)
Reported by: vinsik
      chan_update_fix-chan_sip.c.diff uploaded by vinsik (license 623)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoNeed to take into account the \0 terminator of the old string to determine the amount...
Doug Bailey [Wed, 18 Feb 2009 16:09:12 +0000 (16:09 +0000)]
Need to take into account the \0 terminator of the old string to determine the amount available.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoThis patch fixes merge_contexts_and_delete so it does not deadlock when hints are...
Steve Murphy [Wed, 18 Feb 2009 15:35:26 +0000 (15:35 +0000)]
This patch fixes merge_contexts_and_delete so it does not deadlock when hints are present.

Reason: when I re-engineered the merge_and_delete func to
reduce its lock time, I failed to notice that the
functions it calls still also do locking as before.
This leads to deadlocks on dialplan reloads, when
there are actually living, subscribed hints registered
in the system.

While the reporter come across this problem while using
AEL, I might note that these deadlocks should also happen
if extensions.conf were used.

Here I added these routines to pbx.c:


All of the above routines are static and restricted
to be used only within pbx.c, and more specifically
within the merge_contexts_and_delete routine.

They are pretty much the same as their counterparts
except they don't lock contexts or hints.

Most of them now do the real work of their
name-alike, with optional locking via extra arguments,
and are called by their name-alike. The goal was to
have the original functions so they would behave
exactly as before.

Both PJ and I tested these fixes, and the deadlocking
problem is no longer encountered.

(closes issue #14357)
Reported by: pj
      14357.diff uploaded by murf (license 17)
Tested by: pj, murf

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd example code for a heap traversal.
Russell Bryant [Wed, 18 Feb 2009 06:14:47 +0000 (06:14 +0000)]
Add example code for a heap traversal.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix a number of incorrect uses of strncpy().
Russell Bryant [Wed, 18 Feb 2009 06:00:40 +0000 (06:00 +0000)]
Fix a number of incorrect uses of strncpy().

The big problem here is that the 3rd argument provided in these uses of strncpy()
did not reserve a byte for the null terminator, leaving the potential for writing
one byte past the end of the buffer.

Aside from this, there were coding guidelines violations with regards to spacing,
as well as hard coded lengths being used instead of sizeof().

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoT38 faxdetect should jump to the 'fax' extension for incoming calls only
Dwayne M. Hubbard [Wed, 18 Feb 2009 02:55:12 +0000 (02:55 +0000)]
T38 faxdetect should jump to the 'fax' extension for incoming calls only

The previous implementation of T38 faxdetect resulted in both sides of the
call jumping to a fax extension when both sides had 't38pt_udptl=yes' and
'faxdetect=yes' in sip.conf and a 'fax' extension in the current context.
This revision will jump to a 'fax' extension on incoming calls only.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agosuppress smoothers for Siren codecs as well as Speex and G.723.1
Kevin P. Fleming [Wed, 18 Feb 2009 02:02:54 +0000 (02:02 +0000)]
suppress smoothers for Siren codecs as well as Speex and G.723.1

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoRemove a dependency that no longer exists.
Russell Bryant [Tue, 17 Feb 2009 22:52:43 +0000 (22:52 +0000)]
Remove a dependency that no longer exists.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSeveral changes to codec_dahdi to play nice with G723.
Shaun Ruffell [Tue, 17 Feb 2009 22:28:41 +0000 (22:28 +0000)]
Several changes to codec_dahdi to play nice with G723.

This commit brings in the changes that were living out on the
svn/asterisk/team/sruffell/asterisk-trunk-transcoder branch.  codec_dahdi.c now
always uses signed linear as the simple codec so that a soft g729 codec will
not end up being preferred to the hardware codec.  There are also changes to
allow codec_dahdi.c to feed packets to the hardware in the native sample size of
the codec.  This solves problems with choppy audio when using G723.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 176701 via svnmerge from
Jeff Peeler [Tue, 17 Feb 2009 22:08:00 +0000 (22:08 +0000)]
Merged revisions 176701 via svnmerge from

  r176701 | jpeeler | 2009-02-17 15:54:34 -0600 (Tue, 17 Feb 2009) | 17 lines

  Modify bridging to properly evaluate DTMF after first warning is played

  The main problem is currently if the Dial flag L is used with a warning sound,
  DTMF is not evaluated after the first warning sound. To fix this, a flag has
  been added in ast_generic_bridge for playing the warning which ensures that if
  a scheduled warning is missed, multiple warrnings are not played back (due to a
  feature evaluation or waiting for digits). ast_channel_bridge was modified to
  store the nexteventts in the ast_bridge_config structure as that information
  was lost every time ast_channel_bridge was reentered, causing a hangup due to
  incorrect time calculations.

  (closes issue #14315)
  Reported by: tim_ringenbach

  Reviewed on reviewboard:

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUse constants from inttypes.h to clear up 32-bit compilation errors
Mark Michelson [Tue, 17 Feb 2009 22:02:42 +0000 (22:02 +0000)]
Use constants from inttypes.h to clear up 32-bit compilation errors

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agocreate a UDPTL structure in create_addr_from_peer() if it does not already exist...
Dwayne M. Hubbard [Tue, 17 Feb 2009 21:59:38 +0000 (21:59 +0000)]
create a UDPTL structure in create_addr_from_peer() if it does not already exist for T38

This is required to create a UDPTL structure in create_addr_from_peer() to handle the
scenario where 't38pt_udptl=yes' is not defined in the [general] section of sip.conf but
is defined the peer's context.  I tested this patch by enabling t38pt_udptl in the
[general] section on one system and only enabling t38pt_udptl in a peer's context on
the system sending a fax.  Without the patch, the sending system will fail to initiate
T38 negotiation with the warning message, "No way to add SDP without an UDPTL structure".
When this patch is applied the sending side will successfully initiate T38 negotiation.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoClear up documentation of AST_FRIENDLY_OFFSET in frame.h
Mark Michelson [Tue, 17 Feb 2009 21:40:09 +0000 (21:40 +0000)]
Clear up documentation of AST_FRIENDLY_OFFSET in frame.h

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoRecorded merge of revisions 176661 via svnmerge from
Tilghman Lesher [Tue, 17 Feb 2009 21:23:10 +0000 (21:23 +0000)]
Recorded merge of revisions 176661 via svnmerge from

  r176661 | tilghman | 2009-02-17 15:21:41 -0600 (Tue, 17 Feb 2009) | 9 lines

  Backport change to 1.4:
    Prior to masquerade, move the group definitions to the channel performing the
    masq, so that the group count lingers past the bridge.
    (closes issue #14275)
     Reported by: kowalma
           20090216__bug14275.diff.txt uploaded by Corydon76 (license 14)
     Tested by: kowalma

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUpdate the timing API to have better support for multiple timing interfaces.
Russell Bryant [Tue, 17 Feb 2009 21:22:40 +0000 (21:22 +0000)]
Update the timing API to have better support for multiple timing interfaces.

1) Add module use count handling so that timing modules can be unloaded.

2) Implement unload_module() functions for the timing interface modules.

3) Allow multiple timing modules to be loaded, and use the one with the
   highest priority value.

4) Report which timing module is being use in the "timing test" CLI command.

(closes issue #14489)
Reported by: russell


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoPrior to masquerade, move the group definitions to the channel performing the
Tilghman Lesher [Tue, 17 Feb 2009 21:14:18 +0000 (21:14 +0000)]
Prior to masquerade, move the group definitions to the channel performing the
masq, so that the group count lingers past the bridge.
(closes issue #14275)
 Reported by: kowalma
       20090216__bug14275.diff.txt uploaded by Corydon76 (license 14)
 Tested by: kowalma

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSignificantly improve scheduler performance under high load.
Russell Bryant [Tue, 17 Feb 2009 21:04:08 +0000 (21:04 +0000)]
Significantly improve scheduler performance under high load.

This patch changes the scheduler to use a max-heap to store pending scheduler
entries instead of a fully sorted doubly linked list.  When the number of
entries in the scheduler gets large, this will perform much better.  For much
more detailed information on this change, see the review request.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3