aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-12-17Merged revisions 298905 via svnmerge from tilghman19-49/+531
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298905 | tilghman | 2010-12-17 15:40:56 -0600 (Fri, 17 Dec 2010) | 6 lines Let Asterisk find better backtrace information with libbfd. The menuselect option BETTER_BACKTRACES, if enabled, will use libbfd to search for better symbol information within both the Asterisk binary, as well as loaded modules, to assist when using inline backtraces to track down problems. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298957 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-17Also include PTHREAD_LIBS and PTHREAD_CFLAGS for SQLite 3, as it's needed on ↵tilghman2-6/+6
some platforms. (closes issue #18493) Reported by: pprindeville Patches: asterisk-1.8-sqlite3.patch uploaded by pprindeville (license 347) Tested by: pprindeville git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298817 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-16Merged revisions 298683 via svnmerge from jpeeler1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298683 | jpeeler | 2010-12-16 17:29:30 -0600 (Thu, 16 Dec 2010) | 2 lines After recording only silence for a voicemail prepending, restore backup files. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298684 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-16Merged revisions 298596 via svnmerge from jpeeler1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298596 | jpeeler | 2010-12-16 14:46:52 -0600 (Thu, 16 Dec 2010) | 7 lines Fix improper hangup when doing an attended transfer to queue. Had to indicate ringing in wait_for_answer so the attended transfer code would not try and hang up the local channel it created, which would kill the call. ABE-2624 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298597 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-16Merged revisions 298480 via svnmerge from tilghman1-3/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298480 | tilghman | 2010-12-16 03:03:40 -0600 (Thu, 16 Dec 2010) | 14 lines Only increment the pointer once per loop, otherwise we corrupt the value. (closes issue #18251) Reported by: bcnit Patches: 20101110__issue18251.diff.txt uploaded by tilghman (license 14) Tested by: trev, jthurman, elguero (closes issue #18279) Reported by: zerohalo Patches: 20101109__issue18279.diff.txt uploaded by tilghman (license 14) Tested by: zerohalo ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298481 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-16Eliminate duplicates from container.tilghman1-0/+5
(closes issue #18091) Reported by: bunny Patches: 20101006__issue18091.diff.txt uploaded by tilghman (license 14) Tested by: bunny git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298477 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-16Merged revisions 298392 via svnmerge from tilghman1-2/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298392 | tilghman | 2010-12-15 18:28:04 -0600 (Wed, 15 Dec 2010) | 8 lines Unregister before shutting down the connection, to avoid a race. (closes issue #18481) Reported by: pabelanger Patches: 20101215__issue18481.diff.txt uploaded by tilghman (license 14) Tested by: pabelanger ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298393 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-15Merged revisions 298345 via svnmerge from seanbright1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298345 | seanbright | 2010-12-15 16:28:29 -0500 (Wed, 15 Dec 2010) | 6 lines Fix reference and container leaks when running 'astobj2 test.' We need to make sure that ao2_iterator_destroy is called once for each time that ao2_iterator_init is called. Also make sure to unref a newly allocated object that we've linked into a container. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298346 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-13Merged revisions 298193 via svnmerge from rmudgett1-1/+7
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298193 | rmudgett | 2010-12-13 10:56:07 -0600 (Mon, 13 Dec 2010) | 19 lines Outgoing PRI/BRI calls cannot do DTMF triggered transfers. Outgoing PRI/BRI calls cannot do DTMF triggered transfers if a PROCEEDING message is not received. The debug output shows that the DTMF begin event is seen, but the DTMF end event is missing. When the DTMF begin happens, the call is muted so we now have one way audio (until a DTMF end event is somehow seen). * Made set the proceeding flag when the PRI_EVENT_ANSWER event is received. * Made absorb the DTMF begin and DTMF end events if we are overlap dialing and have not seen a PROCEEDING message. * Added a debug message when absorbing a DTMF event. JIRA SWP-2690 JIRA ABE-2697 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298194 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-10Portability issue on OpenSolaris.tilghman4-2/+17
Also detect the required structure element, because OpenSolaris defines SIOCGIFHWADDR, but without support for IP sockets. (closes issue #18442) Reported by: ranjtech Patches: 20101209__issue18442.diff.txt uploaded by tilghman (license 14) Tested by: ranjtech git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@298050 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-09Merged revisions 297959 via svnmerge from twilson1-0/+7
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297959 | twilson | 2010-12-09 16:00:30 -0600 (Thu, 09 Dec 2010) | 14 lines Ignore spurious REGISTER requests If a REGISTER request with a Call-ID matching an existing transaction is received it was possible that the REGISTER request would overwrite the initreq of the private structure. This info is used to generate messages for other responses in the transaction. This patch ignores REGISTER requests that match non-REGISTER transactions. (closes issue #18051) Reported by: eeman Tested by: twilson Review: https://reviewboard.asterisk.org/r/1050/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297960 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-08Use inheritance to get correct results for SIPFROMDOMAIN.tilghman1-2/+2
(from an internal Digium discussion) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297908 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-07Merged revisions 297823 via svnmerge from jpeeler1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297823 | jpeeler | 2010-12-07 16:57:48 -0600 (Tue, 07 Dec 2010) | 12 lines Revert code that changed SSRC for DTMF. Some previous behavior was attempted to be restored, but mistakingly I did not realize that the previous behavior was incorrect. This fixes DTMF not being detected since DTMF shouldn't cause the SSRC to change. (related to issue #17404) (closes issue #18189) (closes issue #18352) Reported by: marcbou Tested by: cmbaker82 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297824 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-07Merged revisions 297818 via svnmerge from tilghman3-18/+100
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297818 | tilghman | 2010-12-07 16:35:50 -0600 (Tue, 07 Dec 2010) | 4 lines Use non-deprecated APIs for CoreAudio Review: https://reviewboard.asterisk.org/r/1040/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297819 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-07Merged revisions 297689 via svnmerge from tilghman1-2/+8
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297689 | tilghman | 2010-12-06 18:07:37 -0600 (Mon, 06 Dec 2010) | 8 lines Don't create a Local channel if the target extension does not exist. (closes issue #18126) Reported by: junky Patches: followme.diff uploaded by junky (license 177) (partially restructured by me to avoid a possible memory leak) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297713 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-06Merged revisions 297603 via svnmerge from jpeeler1-7/+30
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297603 | jpeeler | 2010-12-06 15:57:15 -0600 (Mon, 06 Dec 2010) | 12 lines Improve handling of REGISTER requests with multiple contact headers. The changes here attempt to more strictly follow RFC 3261 section 10.3. Basically the following will now cause a 400 Bad Response to be returned, if: - multiple Contact headers are present with one set to expire all bindings ("*") - wildcard parameter is specified for Contact without Expires header or Expires header is not set to zero. ABE-2442 ABE-2443 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297605 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-03The CLI command should not contain <placeholder>s, these are for descriptions.seanbright1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297534 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-02Merged revisions 297404 via svnmerge from pabelanger1-0/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297404 | pabelanger | 2010-12-02 15:01:08 -0500 (Thu, 02 Dec 2010) | 7 lines Resolve compile error under FreeBSD We now set _ASTCFLAGS+=-march=i686 for i386 processors, still allowing ASTCFLAGS to override the setting. Review: https://reviewboard.asterisk.org/r/1043/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297405 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-02Merged revisions 297310 via svnmerge from twilson1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297310 | twilson | 2010-12-02 12:00:27 -0600 (Thu, 02 Dec 2010) | 12 lines Initialize offset for adaptive jitter buffer When the adaptive jitter buffer is enabled in sip.conf, the first frame placed in the jitter buffer fails with something like: jb_warning_output: Resyncing the jb. last_delay 0, this delay -215886466, threshold 1000, new offset 215886466 This happens because the offset is not initialized before calling jb_put(). This patch modifies jb_put_first_adaptive() to set the offset to the frame's timestamp. Review: https://reviewboard.asterisk.org/r/1041/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297311 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-02Merged revisions 297228 via svnmerge from russell1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297228 | russell | 2010-12-02 07:16:15 -0600 (Thu, 02 Dec 2010) | 6 lines Add "DAHDI" to a couple of app_meetme error messages. This is in response to some questions on IRC. To the user, there was nothing that made it obvious that this error had anything to do with DAHDI not being loaded. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297229 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-02Merged revisions 297185 via svnmerge from oej1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297185 | oej | 2010-12-02 09:37:17 +0100 (Tor, 02 Dec 2010) | 5 lines If we get a NOTIFY from a non-existing subscription we should answer with 481, not bad event. If we answer 481 the subscription that we don't want will be cancelled. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297186 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-01Merged revisions 297072 via svnmerge from jpeeler1-0/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r297072 | jpeeler | 2010-12-01 11:50:09 -0600 (Wed, 01 Dec 2010) | 23 lines Fix not stopping MOH when transfered local channel queue member is answered. The problem here is only present when local channels are used with the MOH passthru option as well as no optimization (/nm). I will describe the slightly bizarre scenario that was used to test, where phones B and C are queue members: Phone A dials into a queue with two members using local channels and the above options. Phone B answers. Phone A blind transfers phone B into the same queue. Phone A hangs up. Phone C answers, but phone B didn't stop playing MOH. In this scenario, the unhold frame that should have gotten to phone B never arrived due to the masquerade from the blind transfer. This is usually fine since app_queue manages the starting and stopping of MOH. However, with the passthrough option enabled when app_queue attempts to stop MOH it tries to do so on the local channel rather than the real channel. The easiest solution was to just make sure to send an unhold frame during the transfer since it wouldn't make sense to have MOH playing after a transfer anyway. This only modifies SIP transfers, but the other transfers did not seem to be a problem. If DTMF based transfers were a problem it might be okay to add ast_moh_stop to finishup, but I didn't want to have to add that unless required. ABE-2624 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@297073 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-01Merged revisions 296990 via svnmerge from tilghman1-1/+9
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296990 | tilghman | 2010-12-01 10:59:26 -0600 (Wed, 01 Dec 2010) | 5 lines Clarify documentation on how we store codec preference lists. (closes issue #18397) Reported by: birgita ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296991 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-01Missed initializations caused startup errors on Mac OS X (and possibly ↵tilghman1-0/+10
others, too). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296950 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-01Merged revisions 296868 via svnmerge from jpeeler1-0/+10
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296868 | jpeeler | 2010-11-30 18:23:19 -0600 (Tue, 30 Nov 2010) | 4 lines Properly restore backup information file when hanging up during message prepending. ABE-2654 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296869 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-29Merged revisions 296670 via svnmerge from pabelanger1-3/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296670 | pabelanger | 2010-11-29 17:49:39 -0500 (Mon, 29 Nov 2010) | 5 lines Make sure nothing else is needed before destroying the scheduler. (closes issue #18398) Reported by: pabelanger ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296671 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-29I love standards. There are so many to choose from. Except when there ↵tilghman4-2/+36
isn't one. Linux and *BSD disagree on the elements within the ucred structure. Detect which one is in use on the system. (closes issue #18384) Reported by: bjm Patches: cred-diffs uploaded by bjm (license 473) 20101127__issue18384__1.6.2.diff.txt uploaded by tilghman (license 14) 20101127__issue18384__1.8.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, bjm git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296533 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-2718 characters is too short for most date/times (20 is the usual, but we add ↵tilghman1-2/+2
more in case of greater precision). (closes issue #18369) Reported by: tnakonz git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296466 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-26Merged revisions 296309 via svnmerge from oej1-39/+48
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296309 | oej | 2010-11-26 10:53:31 +0100 (Fre, 26 Nov 2010) | 11 lines Fix bugs in saying numbers using the Swedish language syntax (closes issue #18355) Reported by: oej Patch by: oej Much help from Peter Lindahl. Testing by the ClearIT team during a coffee break. Review: https://reviewboard.asterisk.org/r/1033/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296351 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296213 via svnmerge from russell1-1/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296213 | russell | 2010-11-24 17:26:43 -0600 (Wed, 24 Nov 2010) | 6 lines Make Asterisk less crashy. Since we might not put a new translation path on the channel, go ahead and set it to NULL right after destroying the old one to ensure we don't try to free an invalid translation path later on. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296221 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296165 via svnmerge from rmudgett1-113/+197
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296165 | rmudgett | 2010-11-24 16:41:07 -0600 (Wed, 24 Nov 2010) | 43 lines Oneway audio to SIP phone from FXS port after FXS port gets a CallWaiting pip. The FXS connected phone has to have CW/CID support to fail, as it will send back a DTMF 'A' or 'D' when it's ready to receive CallerID. A normal phone with no CID never fails. Also the SIP phone does not hear MOH when the CW call is answered. The DTMF end frame is suppressed when the phone acknowledges the CW signal for CID. The problem is the DTMF begin frame needs to be suppressed as well. The DTMF begin frame is causing SIP to start sending the DTMF RTP frames. Since the DTMF end frame is suppressed, SIP will not stop sending those DTMF RTP packets. * Suppress the DTMF begin and end frames when the channel driver is looking for DTMF digits. * Fixed a couple issues caused by not cleaning up the CID spill if you answer the CW call while it is sending the CID spill. * Fixed not sending CW/CID spill to the phone when the call is natively bridged. (Fixed by not using native bridge if CW/CID is possible.) * Suppress received audio when sending CW/CID spills. The other parties involved do not need to hear the CW/CID spills and may be confused if the CW call is for them. (closes issue #18129) Reported by: alecdavis Patches: issue_18129_v1.8_v3.patch uploaded by rmudgett (license 664) Tested by: alecdavis, rmudgett NOTE: * v1.4 does not have the main problem fixed by suppressing the DTMF start frames. The other three items fixed are relevant. * If you really must restore native bridging between analog ports, you need to disable CW/CID either by configuring chan_dahdi.conf callwaitingcallerid=no or dialing *70 before dialing the number to temporarily disable CW. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296166 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296082 via svnmerge from russell1-7/+17
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296082 | russell | 2010-11-24 14:22:32 -0600 (Wed, 24 Nov 2010) | 12 lines Fix false reporting of an error by set_format(). In the case that the native format was able to be changed to match the new requested format, the code proceeded to attempt to build a translation path, anyway. The result would be NULL, since no translation path is necessary and resulted in this function thinking an error has occurred. This case is now specifically caught and no attempt to build a translation path is attempted. Thanks to our automated tests and bamboo.asterisk.org for catching this problem and making a whole lot of noise when things started failing. :-) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296083 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296000 via svnmerge from russell2-4/+13
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r296000 | russell | 2010-11-24 10:48:39 -0600 (Wed, 24 Nov 2010) | 38 lines Handle failures building translation paths more effectively. The problem scenario occurred on a heavily loaded system that was using the codec_dahdi module and exceeded the hardware transcoding capacity. The failure mode at that point was not good. The report came in to us as an Asterisk lock-up. The "core show locks" shows a ton of threads locked up (but no obvious deadlock). Upon deeper investigation, when the system is in this state, the CPU was maxed out. The CPU was being consumed by the Asterisk logger spewing messages on every audio frame for calls set up after transcoder capacity was reached. The purpose of this patch is to make Asterisk handle failures to create a translation path in a more graceful manner. If we can't translate, then the call just needs to be dropped, as it's not going to work. These are the changes: 1) In set_format() of channel.c (which is called by set_read_format() and set_write_format()), it was ignoring if ast_translator_build_path() failed and returned NULL. It now pays attention to that case and returns a result reflecting failure. With this change in place, the bridging code will immediately detect a failure and end the bridge instead of proceeding to try to bridge frames that can't be translated and making channel drivers freak out by sending them frames in a format they weren't expecting. 2) In ast_indicate_data() of channel.c, failure of ast_playtones_start() was ignored. It is now reflected in the return value of the function. This didn't turn out to have any affect on the bug, but seemed like a good change to leave in. 3) In app_dial(), when only sending a call to a single endpoint, it will attempt to do some bridging of its own of early audio. It uses make_compatible() when it's going to do this. However, it ignored failure from make compatible. So, even with the fix from #1, if there was early audio going through app_dial, there would still be a period of invalid frames passing through. After detecting failure here, Dial() exits. ABE-2658 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@296001 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-23Merged revisions 295906 via svnmerge from oej1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295906 | oej | 2010-11-23 10:28:14 +0100 (Tis, 23 Nov 2010) | 8 lines Fix support of saynumber(1,n) in the Swedish language (closes issue #18353) Reported by: oej Review: https://reviewboard.asterisk.org/r/1031/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295907 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-22Change some documentation to suggest dahdi_monitor instead of ztmonitor.seanbright1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295868 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-22Merged revisions 295790 via svnmerge from rmudgett5-57/+134
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295790 | rmudgett | 2010-11-22 12:46:26 -0600 (Mon, 22 Nov 2010) | 46 lines The channel redirect function (CLI or AMI) hangs up the call instead of redirecting the call. To recreate the problem: 1) Party A calls Party B 2) Invoke CLI "channel redirect" command to redirect channel call leg associated with A. 3) All associated channels are hung up. Note that if the CLI command were done on the channel call leg associated with B it works. This regression was a result of the fix for issue #16946 (https://reviewboard.asterisk.org/r/740/). The regression affects all features that use an async goto to execute the dialplan because of an external event: Channel redirect, AMI redirect, SIP REFER, and FAX detection. The struct ast_channel._softhangup code is a mess. The variable is used for several purposes that do not necessarily result in the call being hung up. I have added doxygen comments to describe how the various _softhangup bits are used. I have corrected all the places where the variable was tested in a non-bit oriented manner. The primary fix is the new AST_CONTROL_END_OF_Q frame. It acts as a weak hangup request so the soft hangup requests that do not normally result in a hangup do not hangup. JIRA SWP-2470 JIRA SWP-2489 (closes issue #18171) Reported by: SantaFox (closes issue #18185) Reported by: kwemheuer (closes issue #18211) Reported by: zahir_koradia (closes issue #18230) Reported by: vmarrone (closes issue #18299) Reported by: mbrevda (closes issue #18322) Reported by: nerbos Review: https://reviewboard.asterisk.org/r/1013/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295843 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-20Fix cache of device state changes for multiple servers.russell2-3/+174
This patch addresses a regression where device states across multiple servers were not being processing completely correctly. The code works to determine the overall state by looking at the last known state of a device on each server. However, there was a regression due to some invasive rewrites of how the cache works that led to the cache only storing the last device state change for a device, regardless of which server it was on. The code is set up to cache device state change events by ensuring that each event in the cache has a unique device name + entity ID (server ID). The code that was responsible for comparing raw information elements (which EID is) always returned a match due to a memcmp() with a length of 0. There isn't much code to fix the actual bug. This patch also introduces a new CLI command that was very useful for debugging this problem. The command allows you to dump the contents of the event cache. (closes issue #18284) Reported by: klaus3000 Patches: issue18284.rev1.txt uploaded by russell (license 2) Tested by: russell, klaus3000 (closes issue #18280) Reported by: klaus3000 Review: https://reviewboard.asterisk.org/r/1012/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295710 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-19Merged revisions 295628 via svnmerge from twilson1-3/+19
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295628 | twilson | 2010-11-19 12:53:36 -0800 (Fri, 19 Nov 2010) | 8 lines Discard responses with more than one Via This is not a perfect solution as headers that are joined via commas are not detected. This is a parsing issue that to fix "correctly" would necessitate a new SIP parser. Review: https://reviewboard.asterisk.org/r/1019/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295672 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-18Fix compiler warnings when using openssl-dev 1.0.0+pabelanger2-10/+15
Review: https://reviewboard.asterisk.org/r/1016/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295440 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-16Merged revisions 295280 via svnmerge from rmudgett1-5/+0
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295280 | rmudgett | 2010-11-16 16:52:06 -0600 (Tue, 16 Nov 2010) | 1 line Dead code elimination in channel.c:ast_channel_bridge() variable who. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295281 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-15Merged revisions 295026 via svnmerge from tilghman1-0/+191
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r295026 | tilghman | 2010-11-15 11:58:37 -0600 (Mon, 15 Nov 2010) | 2 lines Create test verifying results of expression parser ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@295062 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-15It is possible to crash Asterisk by feeding the curl engine invalid data.tilghman1-1/+4
(closes issue #18161) Reported by: wdoekes Patches: 20101029__issue18161.diff.txt uploaded by tilghman (license 14) Tested by: tilghman git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294988 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-12Return correct error code if lock path fails. The recent changes to ↵jpeeler1-1/+1
open_mailbox actually caused it to be fixed, but let's be consistent. Reported by alecdavis in asterisk-dev. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294910 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-12Merged revisions 294903 via svnmerge from jpeeler1-1/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294903 | jpeeler | 2010-11-12 14:49:09 -0600 (Fri, 12 Nov 2010) | 16 lines Fix regression causing abort in voicemail after opening a mailbox with no mesgs. In order to be more safe, some error handling code was changed to respect more error conditions including the potential memory allocation failure for deleted and heard message tracking introduced in 293004. However, last_message_index returns -1 for zero messages (perhaps as expected) and was triggering the stricter error checking. Because last_message_index is only called directly in one place, just return 0 from open_mailbox (for file based storage) when no messages are detected unless a real error has occurred. (closes issue #18240) Reported by: leobrown Patches: bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585) Tested by: pabelanger ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294904 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-12Merged revisions 294821 via svnmerge from rmudgett1-2/+9
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294821 | rmudgett | 2010-11-11 20:41:13 -0600 (Thu, 11 Nov 2010) | 11 lines Asterisk is getting a "No D-channels available!" warning message every 4 seconds. Asterisk is just whining too much with this message: "No D-channels available! Using Primary channel XXX as D-channel anyway!". Filtered the message so it only comes out once if there is no D channel available without an intervening D channel available period. (closes issue #17270) Reported by: jmls ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294822 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-11Merged revisions 294688 via svnmerge from jpeeler1-1/+15
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294688 | jpeeler | 2010-11-11 15:12:27 -0600 (Thu, 11 Nov 2010) | 18 lines Fix problem with qualify option packets for realtime peers never stopping. The option packets not only never stopped, but if a realtime peer was not in the peer list multiple options dialogs could accumulate over time. This scenario has the potential to progress to the point of saturating a link just from options packets. The fix was to ensure that the poke scheduler checks to see if a peer is in the peer list before continuing to poke. The reason a peer must be in the peer list to be able to properly manage an options dialog is because otherwise the call pointer is lost when the peer is regenerated from the database, which is how existing qualify dialogs are detected. (closes issue #16382) (closes issue #17779) Reported by: lftsy Patches: bug16382-3.patch uploaded by jpeeler (license 325) Tested by: zerohalo ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294733 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-11Merged revisions 294384 via svnmerge from jpeeler3-108/+187
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r294384 | jpeeler | 2010-11-09 11:37:59 -0600 (Tue, 09 Nov 2010) | 47 lines Fix a deadlock in device state change processing. Copied from some notes from the original author (Russell): Deadlock scenario: Thread 1: device state change thread Holds - rdlock on contexts Holds - hints lock Waiting on channels container lock Thread 2: SIP monitor thread Holds the "iflock" Holds a sip_pvt lock Holds channel container lock Waiting for a channel lock Thread 3: A channel thread (chan_local in this case) Holds 2 channel locks acquired within app_dial Holds a 3rd channel lock it got inside of chan_local Holds a local_pvt lock Waiting on a rdlock of the contexts lock A bunch of other threads waiting on a wrlock of the contexts lock To address this deadlock, some locking order rules must be put in place and enforced. Existing relevant rules: 1) channel lock before a pvt lock 2) contexts lock before hints lock 3) channels container before a channel What's missing is some enforcement of the order when you involve more than any two. To fix this problem, I put in some code that ensures that (at least in the code paths involved in this bug) the locks in (3) come before the locks in (2). To change the operation of thread 1 to comply, I converted the storage of hints to an astobj2 container. This allows processing of hints without holding the hints container lock. So, in the code path that led to thread 1's state, it no longer holds either the contexts or hints lock while it attempts to lock the channels container. (closes issue #18165) Reported by: antonio ABE-2583 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294639 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-10Actually pay attention to documented settings in features.conf.tilghman1-0/+11
(closes issue #16757) Reported by: voxter Patches: 20101012__issue16757.diff.txt uploaded by tilghman (license 14) Review: https://reviewboard.asterisk.org/r/994/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294571 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-10Improve a debug message to be more readable and consistent.russell1-1/+2
(closes issue #18282) Reported by: klaus3000 Patches: ast_devstate2str-patch.txt uploaded by klaus3000 (license 65) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294500 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-09Detect GMime properly on systems where gmime flags and libs are configured ↵tilghman2-99/+135
with pkg-config. (closes issue #16155) Reported by: jcollie Patches: 20100917__issue16155.diff.txt uploaded by tilghman (license 14) Tested by: tilghman git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@294429 f38db490-d61c-443f-a65b-d21fe96a405b