I was getting this warning during a compile
on a 64-bit machine running ubuntu server 8.10,
and gcc-4.3.2:
[CXXi] chan_vpb.ii -> chan_vpb.oo
cc1plus: warnings being treated as errors
In file included from /home/murf/asterisk/trunk/include/asterisk/utils.h:671,
from chan_vpb.cc:46:
/home/murf/asterisk/trunk/include/asterisk/strings.h: In function ‘char* ast_str_truncate(ast_str*, ssize_t)’:
/home/murf/asterisk/trunk/include/asterisk/strings.h:479: error: comparison between signed and unsigned integer expressions
make[1]: *** [chan_vpb.oo] Error 1
make: *** [channels] Error 2
Do not try to unlock a non-existant channel if the transfer fails.
(closes issue #13800)
Reported by: dwagner
Patches:
asterisk-1.4.22-chan-sip-nullp.patch uploaded by tweety (license 608)
........
................
Use autoconf logic to determine whether the system has timersub or not. Do not blindly assume Solaris does not.
(closes issue #13838)
Reported by: ano
........
................
Use ast_seekstream to return the file stream back to the beginning instead of directly seeking to zero. This is because some audio formats have headers at the front that need to be skipped, which will be done by the format module.
(closes issue #14079)
Reported by: elguero
........
Russell Bryant [Mon, 15 Dec 2008 16:26:09 +0000 (16:26 +0000)]
Merged revisions 164203 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r164203 | russell | 2008-12-15 08:40:24 -0600 (Mon, 15 Dec 2008) | 39 lines
Merged revisions 164201 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r164201 | russell | 2008-12-15 08:31:37 -0600 (Mon, 15 Dec 2008) | 31 lines
Handle a case where a call can be bridged to a channel that is still ringing.
The issue that was reported was about a case where a RINGING channel got
redirected to an extension to pick up a call from parking. Once the parked
call got taken out of parking, it heard silence until the other side answered.
Ideally, the caller that was parked would get a ringing indication. This patch
fixes this case so that the caller receives ringback once it comes out of
parking until the other side answers.
The fixes are:
- Make sure we remember that a channel was an outgoing channel when doing
a masquerade. This prevents an erroneous ast_answer() call on the channel,
which causes a bogus 200 OK to be sent in the case of SIP.
- Add some additional comments to explain related parts of code.
- Update the handling of the ast_channel visible_indication field. Storing
values that are not stateful is pointless. Control frames that are events
or commands should be ignored.
- When a bridge first starts, check to see if the peer channel needs to be
given ringing indication because the calling side is still ringing.
- Rework ast_indicate_data() a bit for the sake of readability.
Russell Bryant [Mon, 15 Dec 2008 16:19:00 +0000 (16:19 +0000)]
Merged revisions 164272 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r164272 | russell | 2008-12-15 10:17:55 -0600 (Mon, 15 Dec 2008) | 8 lines
When a reload is issued, always process the configuration for dundi.conf.
The reason is that a reload can be used to refresh DNS lookups for defined peers.
Even if the config file hasn't changed, we want to process it for that purpose.
* Fix reference counting used in the __queues_show function
* Add code to be sure that the "queue show" command does not
print information for a realtime queue which has been deleted
from the backend
* Add a missing unref to the realtime queue loading function for
the case where a queue is in the module's container but has been
deleted from the realtime backend
Make app_fax compatible with newer versions of spandsp. This remains backwards compatible with earlier versions though so do not fret.
(closes issue #14073)
Reported by: seandarcy
........
When using realtime queues, app_queue wasn't updating the strategy if it was changed in the realtime backend. This patch resolves the issue for almost all situations. It is currently not supported to switch to the linear strategy via realtime since the ao2_container for members will have been set to have multiple buckets and therefore the members would be unordered.
Simple fix for Ctrl-C not immediately exiting Asterisk, but also add a
pointer inside editline to look back to asterisk.c, so others don't spend
as much time as I did looking (in the wrong place) for the appropriate
function.
Reported by: ZX81, via the #asterisk-users channel
Fixed by: me (license 14)
........
................
Russell Bryant [Fri, 12 Dec 2008 18:52:14 +0000 (18:52 +0000)]
Merged revisions 163670 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r163670 | russell | 2008-12-12 12:45:03 -0600 (Fri, 12 Dec 2008) | 6 lines
Rename a number of tcptls_session variables. There are no functional changes here.
The name "ser" was used in a lot of places. However, it is a relic from when
the struct was a server_instance, not a session_instance. It was renamed since
it represents both a server or client connection.
When a device registers we need to unlink them (if linked) from the peers_by_ip container and link them back in since their IP address has changed. This would have manifested itself if you configured a new device (as type=peer), registered, and then tried to place a call from the device. Since the peer was not linked into the peers_by_ip container it would have never been found.
(closes issue #13811)
Reported by: pj
........
Behaviour now is that general codec config flows to default_line and default_device. [devices] stuff amends default_device and similar for [lines]. These are copied to individual device and line as they are created.
Added confcapability and confprefs for the configured stuff which doesn't change as device and so on are connected. prefs are based on line prefs if they exist, else the device prefs are used (prefs identifies codec order).
(closes issue #13806)
Reported by: pj
Patches:
codecs.diff uploaded by wedhorn (license 30)
Tested by: pj and me
........
Since chan_sip is callback devicestate driven do not pass in actual states, pass in unknown so we get asked. Additionally do not pass in an actual device state value in ast_setstate since the channel may be callback driven.
(closes issue #13525)
Reported by: pj
........
Russell Bryant [Fri, 12 Dec 2008 14:05:01 +0000 (14:05 +0000)]
Merged revisions 163449 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r163449 | russell | 2008-12-12 07:55:30 -0600 (Fri, 12 Dec 2008) | 34 lines
Merged revisions 163448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r163448 | russell | 2008-12-12 07:44:08 -0600 (Fri, 12 Dec 2008) | 26 lines
Resolve issues that could cause DTMF to be processed out of order.
These changes come from team/russell/issue_12658
1) Change autoservice to put digits on the head of the channel's frame readq
instead of the tail. If there were frames on the readq that autoservice
had not yet read, the previous code would have resulted in out of order
processing. This required a new API call to queue a frame to the head
of the queue instead of the tail.
2) Change up the processing of DTMF in ast_read(). Some of the problems
were the result of having two sources of pending DTMF frames. There
was the dtmfq and the more generic readq. Both were used for pending
DTMF in various scenarios. Simplifying things to only use the frame
readq avoids some of the problems.
3) Fix a bug where a DTMF END frame could get passed through when it
shouldn't have. If code set END_DTMF_ONLY in the middle of digit emulation,
and a digit arrived before emulation was complete, digits would get
processed out of order.
When a Ctrl-C or Ctrl-D ends a remote console, on certain shells, the terminal
is messed up. By intercepting those events with a signal handler in the remote
console, we can avoid those issues.
(closes issue #13464)
Reported by: tzafrir
Patches:
20081110__bug13464.diff.txt uploaded by Corydon76 (license 14)
Tested by: blitzrage
........
................
Russell Bryant [Thu, 11 Dec 2008 20:09:10 +0000 (20:09 +0000)]
Merged revisions 163171 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r163171 | russell | 2008-12-11 14:07:47 -0600 (Thu, 11 Dec 2008) | 16 lines
Fix the "failed" extension for outgoing calls.
The conversion to use ast_check_hangup() everywhere instead of checking the softhangup
flag directly introduced this problem. The issue is that ast_check_hangup() checked
for tech_pvt to be NULL. Unfortunately, this will be NULL is some valid circumstances,
such as with a dummy channel.
The fix is simple. Don't check tech_pvt. It's pointless, because the code path that
sets this to NULL is when the channel hangup callback gets called. This happens inside
of ast_hangup(), which is the same function responsible for freeing the channel. Any
code calling ast_check_hangup() better not be calling it after that point, and if so,
we have a bigger problem at hand.
Sometimes even Linux needs -lm to link libtonezone, such as when libtonezone
is compiled statically.
(closes issue #13887)
Reported by: tzafrir
........
Russell Bryant [Thu, 11 Dec 2008 17:11:50 +0000 (17:11 +0000)]
Merged revisions 163094 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r163094 | russell | 2008-12-11 11:06:16 -0600 (Thu, 11 Dec 2008) | 19 lines
Merged revisions 163092 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r163092 | russell | 2008-12-11 10:54:51 -0600 (Thu, 11 Dec 2008) | 11 lines
Fix an issue that made it so you could only have a single caller executing
a custom feature at a time. This was especially problematic when custom
features ran for any appreciable amount of time.
The fix turned out to be quite simple. The dynamic features are now stored
in a read/write list instead of a list using a mutex.
(closes issue #13478)
Reported by: neutrino88
Fix suggested by file
When a device registers to use it is entirely possible that they may be in use, so tell the core that we don't know the devstate and have it ask us for it.
(closes issue #13525)
Reported by: pj
........
Fix reloads of aliased CLI commands. Due to changes done to turn it into a single memory allocation we can't just use the existing CLI alias structure. We have to destroy all existing ones and then create new ones.
(closes issue #14054)
Reported by: pj
........
Ensure that moh_generate does not return prematurely before local_ast_moh_stop is called. Also, the sleep in mp3_spawn now only occurs for http locations since it seems to have been added originally only for failing media streams.
Fix subscription based MWI up a bit. We only want to put sip: at the beginning of the URI if it is not already there and revert code to ignore destination check if subscribing for MWI.
(closes issue #12560)
Reported by: vsauer
Patches:
patch001.diff uploaded by ramonpeek (license 266)
........
................
When a SIP peer unregisters set the expiry time back to 0 so that the 200 OK contains an expires of 0.
(closes issue #13599)
Reported by: hjourdain
Patches:
chan_sip.c.diff uploaded by hjourdain (license 583)
........
................
This patch was originally uploaded to issue #13783 by
jamessan. While the issue was closed for other reasons, this
patch is valid and fixes a separate problem, and is thus
being committed.
Increment the sequence number on the end packets for RFC2833. After reading the RFC some more and doing some testing I agree with this change.
(closes issue #12983)
Reported by: vt
Patches:
dtmf_inc_seqnum_on_end_pkts.diff uploaded by vt (license 520)
........
................
When transmitting a register set the socket port to the local one for the transport being used, not the port for the remote server.
(closes issue #13633)
Reported by: performer
........
Finish conversion to using ARRAY_LEN and remove it as a janitor project.
(closes issue #14032)
Reported by: bkruse
Patches:
14032.patch uploaded by bkruse (license 132)
........
Russell Bryant [Tue, 9 Dec 2008 22:38:55 +0000 (22:38 +0000)]
Blocked revisions 162418 via svnmerge
........
r162418 | russell | 2008-12-09 16:38:41 -0600 (Tue, 09 Dec 2008) | 7 lines
Add some additional Asterisk project developer documentation.
After the nightly update of the documentation on asterisk.org, I'll post
an update to asterisk-dev with a pointer to the changes. This covers some
release branch and commit policy information. None of this should be a
surprise, since it's just documenting what we have already been doing.
Russell Bryant [Tue, 9 Dec 2008 22:30:52 +0000 (22:30 +0000)]
Merged revisions 162414 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r162414 | russell | 2008-12-09 16:25:06 -0600 (Tue, 09 Dec 2008) | 16 lines
Merged revisions 162413 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162413 | russell | 2008-12-09 16:17:39 -0600 (Tue, 09 Dec 2008) | 8 lines
Remove the test_for_thread_safety() function completely.
The test is not valid. Besides, if we actually suspected that recursive
mutexes were not working, we would get a ton of LOG_ERROR messages when
DEBUG_THREADS is turned on.
(inspired by a discussion on the asterisk-dev list)
We appear to have documented tz= in the [general] section of voicemail.conf,
without actually having implemented it. Oops.
(Reported by Olivier on the -users list)
........
................
Add 'down' as a valid state for directed call pickup. This creeps up when we receive session progress when dialing a device and not ringing.
(closes issue #14005)
Reported by: ddl
........
................
Russell Bryant [Tue, 9 Dec 2008 21:02:01 +0000 (21:02 +0000)]
Merged revisions 162291 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r162291 | russell | 2008-12-09 14:59:54 -0600 (Tue, 09 Dec 2008) | 17 lines
Merged revisions 162286 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162286 | russell | 2008-12-09 14:57:35 -0600 (Tue, 09 Dec 2008) | 9 lines
Fix an issue where callers on an incoming call on an SLA trunk would not hear ringback.
We need to make sure that we don't start writing audio to the trunk channel until we're
actually ready to answer it. Otherwise, the channel driver will treat it as inband
progress, even though all they are getting is silence.
If 'faxdetect=yes' in sip.conf, switch to a 'fax' extension (if it exists) after T38 is negotiated.
Terry Wilson created the original patch for this functionality, which I slightly modified and added
the faxdetect=yes|no configuration option. This patch is only for T38 fax detection and does not
do anything for G711 over SIP fax detection. By default, this option is disabled.
Merged revisions 162264 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162264 | murf | 2008-12-09 13:20:54 -0700 (Tue, 09 Dec 2008) | 1 line
In discussion with seanbright on #asterisk-dev, I have added a default rule, and an option to suppress the default rule from being generated in the flex output, for the sake of those OS's where they didn't tweak flex's ECHO macro, and the compiler doesn't like it. The regressions are OK with this.
........
Make sure that the timestamp for DTMF is not the same as the previous voice frame and do not send audio when transmitting DTMF as this confuses some equipment.
(closes issue #13209)
Reported by: ip-rob
Patches:
13209.diff uploaded by file (license 11)
Tested by: ip-rob, bujones
........
................
This crash was the result of a few small errors that
would combine in 64-bit land to result in a crash.
32-bit land might have seen these combine to mysteriously
drop the args to an application call, in certain
circumstances.
Also, in trying to find this bug, I spotted
a situation in the flex input, where, in passing
back a 'word' to the parser, it would allocate
a buffer larger than necessary. I changed the
usage in such situations, so that strdup was
not used, but rather, an ast_malloc, followed
by ast_copy_string.
I removed a field from the pval struct, in
u2, that was never getting used, and set in
one spot in the code. I believe it was an
artifact of a previous fix to make switch
cases work invisibly with extens.
And, for goto's I removed a '!' from
before a strcmp, that has been there
since the initial merging of AEL2, that
might prevent the proper target of a
goto from being found. This was pretty
harmless on its own, as it would just
louse up a consistency check for users.
Many thanks to ckjohnsonme for providing
a simplified and complete set of information
about the bug, that helped considerably in
finding and fixing the problem.
Now, to get aelparse up and running again
in trunk, and out of its "horribly broken" state,
so I can run the regression suite!
Russell Bryant [Tue, 9 Dec 2008 15:02:40 +0000 (15:02 +0000)]
Merged revisions 161951 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r161951 | russell | 2008-12-09 08:57:39 -0600 (Tue, 09 Dec 2008) | 23 lines
Merged revisions 161948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r161948 | russell | 2008-12-09 08:52:25 -0600 (Tue, 09 Dec 2008) | 15 lines
Fix a problem with GROUP() settings on a masquerade.
The previous code carried over group settings from the old channel to the new
one. However, it did nothing with the group settings that were already on the
new channel. This patch removes all group settings that already existed on the
new channel.
I have a more complicated version of this patch which addresses only the most
blatant problem with this, which is that a channel can end up with multiple
group settings in the same category. However, I could not think of a use case
for keeping any of the group settings from the old channel, so I went this route
for now.
Add alw as a valid file extension for alaw and ulw as a valid file extension for ulaw.
(closes issue #14001)
Reported by: henrikw
Patches:
alw.diff uploaded by henrikw (license 627)
........
Fix a regression introduced when the PBX timeouts were converted to milliseconds. collect_digits now gets milliseconds fed to it, not seconds.
(closes issue #14012)
Reported by: dveiga
Patches:
14012.patch uploaded by bkruse (license 132)
........
- Fix a leak while printing an argument description.
- Avoid printing the name of an argument in the [Arguments] tag if there is no description
for that argument.
........
When using IMAP_STORAGE, it's important to convert bare newlines (\n) in
emailbody and pagerbody to CR-LF so that the IMAP server doesn't spit out an
error. This was informally reported on #asterisk-dev a few weeks ago. Reviewed
by Mark M. on IRC.
........
r161350 | seanbright | 2008-12-05 11:04:36 -0500 (Fri, 05 Dec 2008) | 2 lines
Use ast_free() instead of free(), pointed out by eliel on IRC.
........
The first file should have a blank config filename in the structure, so that
when a save occurs to a different filename, everything goes to the alternate
filename, instead of appending to the original. This is important for the
AMI command UpdateConfig.
(closes issue #13301)
Reported by: trevo
Patches:
20081113__bug13301.diff.txt uploaded by Corydon76 (license 14)
20081113__bug13301__1.6.0.diff.txt uploaded by Corydon76 (license 14)
Tested by: Corydon76, blitzrage
........