aboutsummaryrefslogtreecommitdiffstats
path: root/main
AgeCommit message (Collapse)AuthorFilesLines
2011-01-28Restore some conditionals that we lost in r277814.seanbright1-5/+15
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: http://svn.digium.com/svn/asterisk/branches/1.8@304638 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-27Warning message if CALLCOMPLETION(cc_callback_macro or cc_agent_dialstring) ↵rmudgett1-2/+2
are empty. Test if the value pointer is not NULL instead of not ast_strlen_zero(). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@304554 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26Merged revisions 304338 via svnmerge from jpeeler1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r304338 | jpeeler | 2011-01-26 16:26:37 -0600 (Wed, 26 Jan 2011) | 2 lines Change delimiter used internally for GOTO_ON_BLINDXFR to commas to match 76703. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@304339 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26Merged revisions 304250 via svnmerge from mmichelson1-5/+0
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r304250 | mmichelson | 2011-01-26 15:02:10 -0600 (Wed, 26 Jan 2011) | 9 lines Merged revisions 304242 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r304242 | mmichelson | 2011-01-26 14:38:37 -0600 (Wed, 26 Jan 2011) | 3 lines Get rid of unused 'verbose' field in ast_udptl ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@304251 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26Merged revisions 304096 via svnmerge from seanbright1-5/+5
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: http://svn.digium.com/svn/asterisk/branches/1.8@304097 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25Merged revisions 304006 via svnmerge from rmudgett1-3/+2
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: http://svn.digium.com/svn/asterisk/branches/1.8@304007 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-24Merged revisions 303548 via svnmerge from russell3-12/+37
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: http://svn.digium.com/svn/asterisk/branches/1.8@303549 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-20Merged revision 303098 fromrmudgett1-2/+18
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: http://svn.digium.com/svn/asterisk/branches/1.8@303153 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-20Merged revisions 303106 via svnmerge from sruffell1-2/+2
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: http://svn.digium.com/svn/asterisk/branches/1.8@303107 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Only check container count if it exists.russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302837 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Merged revisions 302788 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302788 | russell | 2011-01-19 17:06:14 -0600 (Wed, 19 Jan 2011) | 4 lines Turn a noisy verbose message into a debug message. This can drown your console if you're using the AMI over HTTP. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302789 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Resolve a memory leak with the manager interface is disabled.russell1-1/+1
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: http://svn.digium.com/svn/asterisk/branches/1.8@302785 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Merged revisions 302693 via svnmerge from rmudgett1-12/+21
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: http://svn.digium.com/svn/asterisk/branches/1.8@302713 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Merged revisions 302599 via svnmerge from tilghman1-3/+58
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: http://svn.digium.com/svn/asterisk/branches/1.8@302634 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Merged revisions 302554 via svnmerge from seanbright1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302554 | seanbright | 2011-01-19 14:02:29 -0500 (Wed, 19 Jan 2011) | 7 lines Don't call strlen() when we only need to look at the next character or two. (closes issue #18042) Reported by: wdoekes Patches: astsvn-inefficient-ast-uri-decode.patch uploaded by wdoekes (license 717) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302555 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Merged revisions 302551 via svnmerge from seanbright1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302551 | seanbright | 2011-01-19 13:54:03 -0500 (Wed, 19 Jan 2011) | 7 lines Remove an extraneous \r\n at the end of a parking manager events. (closes issue #18363) Reported by: clegall_proformatique Patches: asterisk_1.8_295998_parking_manager_events_format.patch uploaded by clegall proformatique (license 1139) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302552 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Merged revisions 302504 via svnmerge from seanbright1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302504 | seanbright | 2011-01-19 12:56:32 -0500 (Wed, 19 Jan 2011) | 7 lines Make sure that h_length is set when we short-circuit out of ast_gethostbyname. (closes issue #16135) Reported by: thedavidfactor Patches: utils.patch uploaded by thedavidfactor (license 903) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302505 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-18Use the expanded format type instead of plain int.rmudgett1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302318 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-18Don't enable AO2_DEBUG by default if AST_DEVMODE is on.russell1-1/+1
AO2_DEBUG is not important and is causing a false compiler warning to be generated on my Ubuntu Natty dev box. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302267 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-18Merged revisions 302265 via svnmerge from jpeeler1-79/+87
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r302265 | jpeeler | 2011-01-18 14:13:52 -0600 (Tue, 18 Jan 2011) | 27 lines Convert device state callbacks to ao2 objects to fix a deadlock in chan_sip. Lock scenario presented here: Thread 1 holds ast_rdlock_contexts &conlock holds handle_statechange hints holds handle_statechange hint waiting for cb_extensionstate Locked Here: chan_sip.c line 7428 (find_call) Thread 2 holds handle_request_do &netlock holds find_call sip_pvt_ptr waiting for ast_rdlock_contexts &conlock Locked Here: pbx.c line 9911 (ast_rdlock_contexts) Chan_sip has an established locking order of locking the sip_pvt and then getting the context lock. So the as stated by the summary, the operations in thread 2 have been modified to no longer require the context lock. (closes issue #18310) Reported by: one47 Patches: statecbs_ao2.mk2.patch uploaded by one47 (license 23), modified by me Review: https://reviewboard.asterisk.org/r/1072/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302266 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-18Merged revisions 302173 via svnmerge from rmudgett1-353/+661
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r302173 | rmudgett | 2011-01-18 12:07:15 -0600 (Tue, 18 Jan 2011) | 95 lines Merged revisions 302172 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r302172 | rmudgett | 2011-01-18 12:04:36 -0600 (Tue, 18 Jan 2011) | 88 lines Issues with DTMF triggered attended transfers. Issue #17999 1) A calls B. B answers. 2) B using DTMF dial *2 (code in features.conf for attended transfer). 3) A hears MOH. B dial number C 4) C ringing. A hears MOH. 5) B hangup. A still hears MOH. C ringing. 6) A hangup. C still ringing until "atxfernoanswertimeout" expires. For v1.4 C will ring forever until C answers the dead line. (Issue #17096) Problem: When A and B hangup, C is still ringing. Issue #18395 SIP call limit of B is 1 1. A call B, B answered 2. B *2(atxfer) call C 3. B hangup, C ringing 4. Timeout waiting for C to answer 5. Recall to B fails because B has reached its call limit. Because B reached its call limit, it cannot do anything until the transfer it started completes. Issue #17273 Same scenario as issue 18395 but party B is an FXS port. Party B cannot do anything until the transfer it started completes. If B goes back off hook before C answers, B hears ringback instead of the expected dialtone. ********** Note for the issue #17273 and #18395 fix: DTMF attended transfer works within the channel bridge. Unfortunately, when either party A or B in the channel bridge hangs up, that channel is not completely hung up until the transfer completes. This is a real problem depending upon the channel technology involved. For chan_dahdi, the channel is crippled until the hangup is complete. Either the channel is not useable (analog) or the protocol disconnect messages are held up (PRI/BRI/SS7) and the media is not released. For chan_sip, a call limit of one is going to block that endpoint from any further calls until the hangup is complete. For party A this is a minor problem. The party A channel will only be in this condition while party B is dialing and when party B and C are conferring. The conversation between party B and C is expected to be a short one. Party B is either asking a question of party C or announcing party A. Also party A does not have much incentive to hangup at this point. For party B this can be a major problem during a blonde transfer. (A blonde transfer is our term for an attended transfer that is converted into a blind transfer. :)) Party B could be the operator. When party B hangs up, he assumes that he is out of the original call entirely. The party B channel will be in this condition while party C is ringing, while attempting to recall party B, and while waiting between call attempts. WARNING: The ATXFER_NULL_TECH conditional is a hack to fix the problem. It will replace the party B channel technology with a NULL channel driver to complete hanging up the party B channel technology. The consequences of this code is that the 'h' extension will not be able to access any channel technology specific information like SIP statistics for the call. ATXFER_NULL_TECH is not defined by default. ********** (closes issue #17999) Reported by: iskatel Tested by: rmudgett JIRA SWP-2246 (closes issue #17096) Reported by: gelo Tested by: rmudgett JIRA SWP-1192 (closes issue #18395) Reported by: shihchuan Tested by: rmudgett (closes issue #17273) Reported by: grecco Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1047/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@302174 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-12Merged revisions 301594 via svnmerge from mnicholson1-14/+0
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r301594 | mnicholson | 2011-01-12 12:50:31 -0600 (Wed, 12 Jan 2011) | 15 lines Removed a usleep(1) that shouldn't be necessary in session_do, and removed the ms_t member from the mansession_session structure. Merged revisions 301591 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r301591 | mnicholson | 2011-01-12 12:39:03 -0600 (Wed, 12 Jan 2011) | 5 lines Don't store the thread id for the manager session in the structure we pass to the thread for the manager session. ABE-2543 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301595 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-12Merged revisions 301503 via svnmerge from jpeeler1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r301503 | jpeeler | 2011-01-12 12:11:49 -0600 (Wed, 12 Jan 2011) | 19 lines Merged revisions 301502 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r301502 | jpeeler | 2011-01-12 12:10:42 -0600 (Wed, 12 Jan 2011) | 12 lines Fix CPU spike when pressing DTMF after agent login. The problem here is that DTMF was being continuously deferred and requeued since ast_safe_sleep is called in a loop. There are serveral other places in the code that sleeps and then loops in a similar fashion. Because of this fact I opted to not defer DTMF any more, which will not affect the original fix: https://reviewboard.asterisk.org/r/674 (closes issue #18130) Reported by: rgj ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301504 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-12Removal of unused variables so Asterisk will compile.dvossel1-2/+0
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301446 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-12Call execl() directly for a better solution for paths with spaces.tilghman1-5/+3
(closes issue #18600) Reported by: ebroad Patches: 20110111__issue18600__2.diff.txt uploaded by tilghman (license 14) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301402 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-11Merged revisions 301307 via svnmerge from mnicholson1-11/+10
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r301307 | mnicholson | 2011-01-11 12:42:05 -0600 (Tue, 11 Jan 2011) | 11 lines Merged revisions 301305 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r301305 | mnicholson | 2011-01-11 12:34:40 -0600 (Tue, 11 Jan 2011) | 4 lines Prevent buffer overflows in ast_uri_encode() ABE-2705 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301308 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-10Little endian machines were not converted properly.tilghman1-16/+16
(closes issue #18583) Reported by: jcovert Patches: 20110110__issue18583.diff.txt uploaded by tilghman (license 14) Tested by: jcovert git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@301263 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-04Merged revisions 300520 via svnmerge from lmadsen1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r300520 | lmadsen | 2011-01-04 15:52:41 -0600 (Tue, 04 Jan 2011) | 9 lines Fix backwards and broken XML documentation. (closes issue #18547) Reported by: jcovert Patches: xmldoc.c.patch uploaded by jcovert (license 551) chan_iax2.c.doc.patch uploaded by jcovert (license 551) chan_sip.c.patch uploaded by jcovert (license 551) chan_agent.c.patch uploaded by jcovert (license 551) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@300521 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-03Merged revisions 300165 via svnmerge from rmudgett1-10/+10
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r300165 | rmudgett | 2011-01-03 17:02:13 -0600 (Mon, 03 Jan 2011) | 4 lines Use correct variable for atxfercallbackretries config option. * Misc formatting changes. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@300166 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-29Quote arguments, just in case there's a space in a pathname.tilghman1-1/+1
(Diagnosed by pabelanger on #asterisk-dev, fixed by me.) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@299989 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-20Merged revisions 299087 via svnmerge from lmadsen1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r299087 | lmadsen | 2010-12-20 10:18:03 -0600 (Mon, 20 Dec 2010) | 5 lines Note that Park() timeout is milliseconds. (closes issue #15758) Reported by: mmurdock Tested by: mmurdock, seanbright ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@299088 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-20Typos: recieved => receivedtzafrir1-6/+6
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@299004 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-18Merged revisions 298962 via svnmerge from tilghman1-2/+0
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r298962 | tilghman | 2010-12-17 18:08:57 -0600 (Fri, 17 Dec 2010) | 2 lines Remove backtrace used for testing merge process ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@298963 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-17Merged revisions 298957 via svnmerge from tilghman5-4/+178
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298957 | tilghman | 2010-12-17 17:30:55 -0600 (Fri, 17 Dec 2010) | 13 lines Merged revisions 298905 via svnmerge from 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.8@298960 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-10Merged revisions 298050 via svnmerge from tilghman1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r298050 | tilghman | 2010-12-10 10:24:13 -0600 (Fri, 10 Dec 2010) | 11 lines Portability issue on OpenSolaris. 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.8@298051 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-09Don't crash after Set(CDR(userfield)=...) in ast_bridge_calltwilson1-3/+7
Instead of setting peer->cdr = NULL, set it to not post. (closes issue #18415) Reported by: macbrody Patches: patch-18415 uploaded by jsolares (license 1167) Tested by: jsolares, twilson git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@297952 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-07Merged revisions 297824 via svnmerge from jpeeler1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297824 | jpeeler | 2010-12-07 16:58:54 -0600 (Tue, 07 Dec 2010) | 19 lines Merged revisions 297823 via svnmerge from 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.8@297825 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-02Merged revisions 297311 via svnmerge from twilson1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r297311 | twilson | 2010-12-02 12:07:39 -0600 (Thu, 02 Dec 2010) | 21 lines Merged revisions 297310 via svnmerge from 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.8@297312 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-29Merged revisions 296533 via svnmerge from tilghman1-1/+7
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r296533 | tilghman | 2010-11-29 01:27:09 -0600 (Mon, 29 Nov 2010) | 13 lines I love standards. There are so many to choose from. Except when there 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.8@296534 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-26Merged revisions 296351 via svnmerge from oej1-39/+48
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296351 | oej | 2010-11-26 13:23:03 +0100 (Fre, 26 Nov 2010) | 17 lines Merged revisions 296309 via svnmerge from 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.8@296391 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296221 via svnmerge from russell1-1/+3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296221 | russell | 2010-11-24 17:28:19 -0600 (Wed, 24 Nov 2010) | 13 lines Merged revisions 296213 via svnmerge from 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.8@296230 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296083 via svnmerge from russell1-7/+17
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296083 | russell | 2010-11-24 14:23:11 -0600 (Wed, 24 Nov 2010) | 19 lines Merged revisions 296082 via svnmerge from 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.8@296084 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-24Merged revisions 296001 via svnmerge from russell1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r296001 | russell | 2010-11-24 11:03:16 -0600 (Wed, 24 Nov 2010) | 45 lines Merged revisions 296000 via svnmerge from 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.8@296002 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-23Merged revisions 295907 via svnmerge from oej1-3/+3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295907 | oej | 2010-11-23 10:36:38 +0100 (Tis, 23 Nov 2010) | 14 lines Merged revisions 295906 via svnmerge from 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.8@295949 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-22Merged revisions 295843 via svnmerge from rmudgett2-44/+92
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295843 | rmudgett | 2010-11-22 13:28:23 -0600 (Mon, 22 Nov 2010) | 53 lines Merged revisions 295790 via svnmerge from 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.8@295866 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-20Merged revisions 295710 via svnmerge from russell1-2/+159
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r295710 | russell | 2010-11-19 18:45:51 -0600 (Fri, 19 Nov 2010) | 29 lines Fix cache of device state changes for multiple servers. 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.8@295711 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-16Merged revisions 295281 via svnmerge from rmudgett1-5/+1
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r295281 | rmudgett | 2010-11-16 16:57:07 -0600 (Tue, 16 Nov 2010) | 9 lines Merged revisions 295280 via svnmerge from 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.8@295282 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-11Merged revisions 294639 via svnmerge from jpeeler2-113/+191
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r294639 | jpeeler | 2010-11-11 13:31:00 -0600 (Thu, 11 Nov 2010) | 53 lines Merged revisions 294384 via svnmerge from 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.8@294640 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-10Merged revisions 294500 via svnmerge from russell1-1/+2
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r294500 | russell | 2010-11-10 06:41:41 -0600 (Wed, 10 Nov 2010) | 7 lines Improve a debug message to be more readable and consistent. (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.8@294501 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-09Allow ast_do_masquerade() failure to be reported again.rmudgett1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@294466 f38db490-d61c-443f-a65b-d21fe96a405b