https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r310889 | twilson | 2011-03-16 12:03:27 -0500 (Wed, 16 Mar 2011) | 36 lines
Merged revisions 310888 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r310888 | twilson | 2011-03-16 11:58:42 -0500 (Wed, 16 Mar 2011) | 29 lines
Don't delay DTMF in core bridge while listening for DTMF features
This patch is mostly the work of Olle Johansson. I did some cleanup and
added the silence generating code if transmit_silence is set.
When a channel listens for DTMF in the core bridge, the outbound DTMF is not
sent until we have received DTMF_END. For a long DTMF, this is a disaster. We
send 4 seconds of DTMF to Asterisk, which sends no audio for those 4 seconds.
Some products see this delay and the time skew on RTP packets that results and
start ignoring the audio that is sent afterward.
With this change, the DTMF_BEGIN frame is inspected and checked. If it matches
a feature code, we wait for DTMF_END and activate the feature as before. If
transmit_silence=yes in asterisk.conf, silence is sent if we paritally match a
multi-digit feature. If it doesn't match a feature, the frame is forwarded
along with the DTMF_END without delay. By doing it this way, DTMF is not delayed.
(closes issue #15642)
Reported by: jasonshugart
Patches:
issue_15652_dtmf_ast-1.4.patch.txt uploaded by twilson (license 396)
Tested by: globalnetinc, jde
(closes issue #16625)
Reported by: sharvanek
Review: https://reviewboard.asterisk.org/r/1092/
Review: https://reviewboard.asterisk.org/r/1125/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This moves the data store destruction and app signaling events for a call to ast_hangup so that threads which wait for data store destruction
don't become stuck forever when attached to an application/function/etc that keeps the channel open.
(closes issue #18742)
Reported by: jkister
Patches:
patch.diff uploaded by jrose (license 1225)
Tested by: jkister, jcovert, jrose
Review: https://reviewboard.asterisk.org/r/1136/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r310635 | rmudgett | 2011-03-14 11:47:54 -0500 (Mon, 14 Mar 2011) | 32 lines
Merged revisions 310633 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r310633 | rmudgett | 2011-03-14 11:38:24 -0500 (Mon, 14 Mar 2011) | 25 lines
"Caller*ID failed checksum" on Wildcard TDM2400P and TDM410
The last character in the caller id message is getting a framing error.
The checksum is the last character in the message. A framing error in the
checksum could be because:
1) The sender did not send a full stop bit.
2) The sender cut off the FSK carrier too soon.
3) The sender opted to send zero of the specified zero to 10 trailing mark
bits and round-off errors in the code resulted in the code not being where
it thought it was in the demodulated bit stream.
Bit 8 of 'b' is set when parity error.
Bit 9 of 'b' is set when framing error.
Made ignore the framing and parity error bits if the errored character is
the checksum. We can tolerate a framing/parity error there. The checksum
character validates the message.
(closes issue #18474)
Reported by: nivek
Patches:
callerid.c.1.patch uploaded by nivek (license 636) (with modifications)
Tested by: nivek
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If the channel condition is one of the following after breaking out of the loop, don't try to update_peer
(where x = 0/1)
1). ZOMBIE
2). cx->tech_pvt != pvtx
3). gluex != ast_rtp_instance_get_glue(cx->tech->type))
(closes issue #18781)
Reported by: alecdavis
Patches:
bug18781.diff3.txt uploaded by alecdavis (license 585)
Tested by: alecdavis, ZX81
Review: https://reviewboard.asterisk.org/r/1128/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
r309204 changed the behavior of ast_http_send. It now requires headers
to be passed with trailing \r\n. This change updates the remaining
instances in the code that did not pass the \r\n.
(closes issue #18186)
Reported by: nivaldomjunior
Patches:
res_phoneprov.c.diff uploaded by lathama (license 1028)
manager.diff.txt uploaded by twilson (license 396)
Tested by: lathama
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r309251 | tilghman | 2011-03-01 19:06:02 -0600 (Tue, 01 Mar 2011) | 7 lines
Revert previous 2 commits, and instead conditionally redefine the same macro used in flex 2.5.35 that clashed with our workaround.
Not surprisingly, the workaround was exactly the same code as was provided by
the Flex maintainers, albeit in two different places, in different macros.
This should fix the FreeBSD builds, which have an older version of Flex.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r309033 | tilghman | 2011-02-28 04:43:12 -0600 (Mon, 28 Feb 2011) | 4 lines
A later version of flex already includes the fwrite workaround code, which if used twice causes a compilation error.
Detect whether Flex will compile without the workaround; if so, suppress our workaround code.
........
r309034 | tilghman | 2011-02-28 05:07:52 -0600 (Mon, 28 Feb 2011) | 2 lines
Clarify meaning, removing double negative (stupid!)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Valgrind reported that ast_channel_set_caller_event() was reading data
from a freed buffer when using the pre_set structure.
Rearange things to pre-calculate the name and number pointer before
updating the caller party structure to see if the name or number was
changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r308814 | twilson | 2011-02-24 11:54:49 -0600 (Thu, 24 Feb 2011) | 19 lines
Merged revisions 308813 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r308813 | twilson | 2011-02-24 11:42:16 -0600 (Thu, 24 Feb 2011) | 12 lines
Don't broadcast FullyBooted to every AMI connection
The FullyBooted event should not be sent to every AMI connection every
time someone connects via AMI. It should only be sent to the user who
just connected.
(closes issue #18168)
Reported by: FeyFre
Patches:
bug0018168.patch uploaded by FeyFre (license 1142)
Tested by: FeyFre, twilson
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Asterisk does not send a response if we try to subscribe for call
completion after we have received a 180 Ringing. You can only subscribe
for call completion when the call has been cleared.
When we receive the 180 Ringing, for this call, its call-completion state
is 'CC_AVAILABLE'. If we then send a subscribe message to Asterisk, it
trys to change the call-completion state to 'CC_CALLER_REQUESTED'.
Because this is an invalid state change, it just ignores the message. The
only state Asterisk will accept our subscribe message is in the
'CC_CALLER_OFFERED' state.
Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears
the call by sending a CANCEL.
Asterisk should always send a response. Even if its a negative one.
The fix is to allow for the CCSS core to notify a CC agent that a failure
has occurred when CC is requested. The "ack" callback is replaced with a
"respond" callback. The "respond" callback has a parameter indicating
either a successful response or a specific type of failure that may need
to be communicated to the requester.
(closes issue #18336)
Reported by: GeorgeKonopacki
Tested by: mmichelson, rmudgett
JIRA SWP-2633
(closes issue #18337)
Reported by: GeorgeKonopacki
Tested by: mmichelson
JIRA SWP-2634
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r307535 | qwell | 2011-02-10 16:35:49 -0600 (Thu, 10 Feb 2011) | 15 lines
Merged revisions 307534 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r307534 | qwell | 2011-02-10 16:33:09 -0600 (Thu, 10 Feb 2011) | 8 lines
Remove color when executing commands via a remote console.
Essentially this makes '-x' imply '-n' on rasterisk. This was done in a
different and incomplete way previously, which I'm reverting here.
(issue #18776)
Reported by: alecdavis
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r307227 | jpeeler | 2011-02-09 13:52:12 -0600 (Wed, 09 Feb 2011) | 11 lines
Make sure to set parking dial context for non-default parking lots.
Since parking_con_dial isn't settable, set all parking lots to "park-dial".
(closes issue #17946)
Reported by: bluecrow76
Patches:
asterisk-1.8.0-beta4-multipark-fixes-2010SEP02.diff uploaded by bluecrow76 (license 270)
modified by me
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This code was reworked recently, and since the logchannel list hadn't been
created yet at this point, and it was a verbose message, it was being dropped
on the floor. Now it'll continue on to where it should be handled.
(closes issue #18580)
Reported by: pabelanger
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r306673 | twilson | 2011-02-07 14:40:20 -0800 (Mon, 07 Feb 2011) | 17 lines
Merged revisions 306672 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r306672 | twilson | 2011-02-07 14:35:20 -0800 (Mon, 07 Feb 2011) | 10 lines
Don't try to pickup a call in the middle of a masquerade
If A calls B which doesn't answer and C & D both try to do a call pickup, it is
possible for ast_pickup_call to answer the call, then fail to masquerade one of
the calls because the other one is already in the process of masquerading. This
patch checks to see if the channel is in the process of masquerading before
call before selecting it for a pickup.
Review: https://reviewboard.asterisk.org/r/1094/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
By waiting to call the callback macro after the CC_INTERFACES,
extension, priority, and context have been set, this information
can be accessed more easily within the callback macro.
Reported by Philippe Lindheimer.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r306123 | jpeeler | 2011-02-03 14:49:48 -0600 (Thu, 03 Feb 2011) | 10 lines
Set exception on channel in parking thread when POLLPRI event detected.
This is done just to make the code be equivalent to the old select code. As
noted in 303106 the same issue was already fixed in this branch, but the
exception was not set on the channel in the case of POLLPRI. The reason that
this did not cause a problem here is because in 122923 the check in __ast_read
to check the exception flag was removed.
(related to #18637)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r305889 | rmudgett | 2011-02-02 18:15:07 -0600 (Wed, 02 Feb 2011) | 17 lines
Merged revisions 305888 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r305888 | rmudgett | 2011-02-02 18:02:43 -0600 (Wed, 02 Feb 2011) | 8 lines
Minor AST_FRAME_TEXT related issues.
* Include the null terminator in the buffer length. When the frame is
queued it is copied. If the null terminator is not part of the frame
buffer length, the receiver could see garbage appended onto it.
* Add channel lock protection with ast_sendtext().
* Fixed AMI SendText action ast_sendtext() return value check.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@305923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The SIP sample configuration had "tlscadir" as the option name, but chan_sip
used the more correct "tlscapath". Now both are accepted.
Discovered (sort of) by a user on IRC in #asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@305247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This reduces the overall size of a mutex which was 3016 bytes before this back
down to 216 bytes (this is on 64-bit Linux with a glibc-implemented mutex).
The exactness of the numbers here may vary slightly based upon how mutexes are
implemented on a platform, but the long and short of it is that prior to this
commit, chan_iax2 held down 98MB of memory on a 64-bit system for nothing more
than a table of 32767 locks. After this commit, the same table occupies a mere
7MB of memory.
(closes issue #18194)
Reported by: job
Patches:
20110124__issue18194.diff.txt uploaded by tilghman (license 14)
Tested by: tilghman
Review: https://reviewboard.asterisk.org/r/1066
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
There are some cases where ast_append_ha() is called with a NULL instead of a
valid int pointer. So if we get a NULL, don't try to dereference it.
(closes issue #18162)
Reported by: imcdona
Patches:
issue0018162.patch uploaded by pabelanger (license 224)
Tested by: enegaard
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r304096 | seanbright | 2011-01-25 20:24:58 -0500 (Tue, 25 Jan 2011) | 12 lines
Per the man page, setvbuf() must be called before any other operation on an open file.
We use setvbuf() to associate a buffer with a stream, but we have already written
to the open file. This works (by chance) on Linux, but fails on other platforms,
such as OpenSolaris.
(closes issue #16610)
Reported by: bklang
Patches:
setvbuf.patch uploaded by crjw (license 963)
Tested by: bklang, asgaroth, efutch
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r304006 | rmudgett | 2011-01-25 17:25:32 -0600 (Tue, 25 Jan 2011) | 15 lines
Merged revisions 304005 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r304005 | rmudgett | 2011-01-25 17:21:09 -0600 (Tue, 25 Jan 2011) | 8 lines
DTMF attended transfers sometimes fail for no apparent reason.
The loop in feature_request_and_dial() can exit when Party C has answered
without processing an AST_CONTROL_ANSWER. Also sometimes an
AST_CONTROL_ANSWER never happens even though Party C has answered.
Don't hangup Party C if he is up or we receive an AST_CONTROL_ANSWER.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r303548 | russell | 2011-01-24 14:49:53 -0600 (Mon, 24 Jan 2011) | 38 lines
Merged revisions 303546 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r303546 | russell | 2011-01-24 14:32:21 -0600 (Mon, 24 Jan 2011) | 31 lines
Fix channel redirect out of MeetMe() and other issues with channel softhangup.
Mantis issue #18585 reports that a channel redirect out of MeetMe() stopped
working properly. This issue includes a patch that resolves the issue by
removing a call to ast_check_hangup() from app_meetme.c. I left that in my
patch, as it doesn't need to be there. However, the rest of the patch fixes
this problem with or without the change to app_meetme.
The key difference between what happens before and after this patch is the
effect of the END_OF_Q control frame. After END_OF_Q is hit in ast_read(),
ast_read() will return NULL. With the ast_check_hangup() removed, app_meetme
sees this which causes it to exit as intended. Checking ast_check_hangup()
caused app_meetme to exit earlier in the process, and the target of the
redirect saw the condition where ast_read() returned NULL.
Removing ast_check_hangup() works around the issue in app_meetme, but doesn't
solve the issue if another application did the same thing. There are also
other edge cases where if an application finishes at the same time that a
redirect happens, the target of the redirect will think that the channel hung
up. So, I made some changes in pbx.c to resolve it at a deeper level. There
are already places that unset the SOFTHANGUP_ASYNCGOTO flag in an attempt to
abort the hangup process. My patch extends this to remove the END_OF_Q frame
from the channel's read queue, making the "abort hangup" more complete. This
same technique was used in every place where a softhangup flag was cleared.
(closes issue #18585)
Reported by: oej
Tested by: oej, wedhorn, russell
Review: https://reviewboard.asterisk.org/r/1082/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
..........
r303098 | rmudgett | 2011-01-20 12:11:45 -0600 (Thu, 20 Jan 2011) | 15 lines
CC_INTERFACES does not get built correctly with local channels.
If local channels are used with CCSS, CC_INTERFACES gets garbage prepended
to it so the CC recall fails. Also CC_INTERFACES gets "&(null)" appended
to it.
* Initialize the buffer to eliminate the prepended garbage.
* Filter out the empty interface strings to eliminate the latter.
* Added a diagnostic message if the CC_INTERFACES is ever empty.
JIRA ABE-2740
JIRA SWP-2848
..........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r303106 | sruffell | 2011-01-20 13:56:34 -0600 (Thu, 20 Jan 2011) | 15 lines
main/features: Use POLLPRI when waiting for events on parked channels.
This change resolves a regression in the 1.6.2 when converting from
select to poll. The DAHDI timers use POLLPRI to indicate that the timer
fired, but features was not waiting for that flag. The result was no
audio for MOH when a call was parked and res_timing_dahdi was in use.
This patch is slightly modified from the one on the mantis issue. It does
not set an exception on the channel if the POLLPRI flag is set.
(closes issue #18262)
Reported by: francesco_r
Patches:
patch_park_moh-trunk-2.txt uploaded by cjacobsen (license 1029)
Tested by: francesco_r, rfrantik, one47
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The intent of this check as it stands in previous versions of Asterisk was to
check if there are any active sessions. If there were no sessions, then the
function would return immediately and not bother with queueing up the manager
event to be processed. Since the conversion of storing sessions in an astobj2
container, this check will always pass. I changed it to go back to checking
what was intended.
The side effect of this was that if the AMI is disabled, the manager event
queue is populated anyway, but the code that runs to clear out the queue
never runs. A producer with no consumer is a bad thing.
Reported internally by kmorgan.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@302785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r302693 | rmudgett | 2011-01-19 15:25:41 -0600 (Wed, 19 Jan 2011) | 22 lines
Merged revisions 302671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r302671 | rmudgett | 2011-01-19 15:21:56 -0600 (Wed, 19 Jan 2011) | 15 lines
DTMF transfer plays the wrong sounds for wrong number or other call failure.
* Set the default for features.conf.sample xferfailsound option to "beeperr"
as documented instead of "pbx-invalid" and corrected the use of it in DTMF
blind transfer (#1).
* Improved DTMF blind transfer handling of wrong numbers.
Most of the concerns in this issue were taken care of by the patch for
issue 17999: Issues with DTMF triggered attended transfers.
(closes issue #18379)
Reported by: gincantalupo
Tested by: rmudgett
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@302713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r302599 | tilghman | 2011-01-19 14:13:24 -0600 (Wed, 19 Jan 2011) | 15 lines
Kill zombies.
When we ast_safe_fork() with a non-zero argument, we're expected to reap our
own zombies. On a zero argument, however, the zombies are only reaped when
there aren't any non-zero forked children alive. At other times, we
accumulate zombies. This code is forward ported from res_agi in 1.4, so that
forked children are always reaped, thus preventing an accumulation of zombie
processes.
(closes issue #18515)
Reported by: ernied
Patches:
20101221__issue18515.diff.txt uploaded by tilghman (license 14)
Tested by: ernied
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@302634 65c4cc65-6c06-0410-ace0-fbb531ad65f3