aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2011-02-23Use autotagged externalsv1.4.41-rc1lmadsen0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.41-rc1@308628 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-23Importing release summary for 1.4.41-rc1 release.lmadsen2-0/+598
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.41-rc1@308627 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-23Importing files for 1.4.41-rc1 release.lmadsen3-0/+31604
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.41-rc1@308626 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-23Creating tag for the release of asterisk-1.4.41-rc1lmadsen0-0/+0
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.41-rc1@308625 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-21Properly check the bounds of arrays when decoding UDPTL packets. Also, ↵mnicholson1-26/+23
remove broken support for receiving UDPTL packets larger than 16k. That shouldn't ever happen anyway. AST-2011-002 FAX-281 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@308413 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-15Fix regression that changed behavior of queues when ringing a queue member.qwell1-1/+0
This reverts r298596, which was to fix a highly bizarre and contrived issue with a queue member that called into his own queue being transferred back into his own queue. I couldn't reproduce that issue in any way. I think one of the other recent transfer fixes actually fixed this. (closes issue #18747) Reported by: vrban git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@308002 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-11Reentrancy problem if outgoing call gets different B channel than requested.rmudgett1-5/+90
The chan_dahdi pri_fixup_principle() routine needs to protect the Asterisk channel with the channel lock when it changes the technology private pointer to a new private structure. * Added lock protection while pri_fixup_principle() moves a call from one private structure to another. * Made some pri_fixup_principle() messages more meaningful. Partial backport from v1.8 -r300714. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@307623 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-10Remove color when executing commands via a remote console.qwell1-1/+1
Essentially this makes '-x' imply '-n' on rasterisk. This was done in a different and incomplete way previously, which I'll be reverting shortly. (issue #18776) Reported by: alecdavis git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@307534 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-08Fix comparison for REFER Replaces tags with pedantic=yestwilson1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306972 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-08fix this line againjpeeler1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306965 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-08clean this up, sorry my brain is not really workingjpeeler1-4/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306964 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-08Backup file storing message duration is not used with IMAP_STORAGE, remove code.jpeeler1-0/+4
The message duration is stored in the body of the email when using IMAP_STORAGE, so nothing needs to happen with the backup file. (closes issue #18718) Reported by: kerframil git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306960 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-08make this safer and fully correct, pointed out by Steve Davisjpeeler1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306864 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-07Don't try to pickup a call in the middle of a masqueradetwilson1-1/+2
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: http://svn.digium.com/svn/asterisk/branches/1.4@306672 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-07Don't allow a REFER w/replaces to replace its own dialogtwilson1-1/+9
Asterisk currently accepts a REFER with a Refer-To with an embedded Replaces header that matches the dialog of the REFER. This would be a situation like A calls B, A calls C, A transfers B to A, which is just silly. This patch makes the transfer fail instead of making Asterisk freak out and forget to hang other channels up. Review: https://reviewboard.asterisk.org/r/1093/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306617 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03Fix no MOH and frame queueing problem for parked calls.jpeeler1-3/+3
This was a regression introduced when select was changed to poll and was just a conversion error: POLLPRI detects OOB data, not POLLERR. (closes issue #18637) Reported by: jvandal git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306120 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03Set hangup cause in local_hanguptwilson1-0/+1
When a call involves a local channel (like SIP -> Local -> SIP), the hangup cause was not being set. This resulted in SIP channels sometimes getting a 503 error instead of a 486 when the far side sent a busy. In Asterisk 1.8+ this also can cause issues with CCSS that involve a local channel. This patch sets the hangupcause for one side of the local channel to the other in local_hangup for outbound calls. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@306119 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03Minor AST_FRAME_TEXT related issues.rmudgett3-3/+8
* 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(). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@305888 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-01Close file descriptor for timing source when a MOH class gets destroyed.qwell1-0/+5
(closes issue #18457) Reported by: mcallist Patches: 18457-closetimer.diff uploaded by qwell (license 4) 18457-closetimer_trunk.diff uploaded by qwell (license 4) Tested by: qwell, loloski git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@305471 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-31Obtain the pri lock for PRI queue counters.rmudgett1-0/+2
Need to obtain the pri lock when calling pri_dump_info_str() to avoid a reentrancy problem when calculating the Q.921 Q count statistic. JIRA AST-484 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@305341 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-31Prevent a crash when dialing a technology with no destination (ex: Dial(SIP/))qwell2-1/+7
chan_iax2 and other channel drivers already had code to prevent this. The attempt that app_dial was making to prevent it was not correct, so I fixed that. (closes issue #18371) Reported by: gbour Patches: 18371.patch uploaded by gbour (license 1162) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@305252 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-31Set file descriptors to -1 on creation, so that we don't see weirdness later.qwell1-0/+2
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@305129 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-31Fix compilation when ODBC_STORAGE is defined.tilghman1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304952 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-29Backport MeetMe related reference leaks fixes from 1.6.2/1.8/trunk.seanbright1-7/+17
I had forgotten that MeetMe in 1.4 also used astobj2, so backport the fixes where appropriate. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304820 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-27Fix default prefix=/usr regression on non-Linux systems.qwell2-9/+6
This partially reverts a change made in branches/1.4/ r267759, which will cause issue #17013 to be reopened. This issue was pointed out by a user on #asterisk, who helpfully discovered that paths were being set incorrectly. To truly understand what was wrong, one should run: svn diff --force -c<this revision> configure git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304464 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-27Rerun bootstrap.sh with no changes, so that it is more obvious what my next ↵qwell2-21470/+6573
commit changes. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304460 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26Convert from network to host byte ordering before checking if an IP is a ↵mnicholson1-1/+1
multicast address. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304247 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26Get rid of unused 'verbose' field in ast_udptlmmichelson1-5/+0
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304242 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26This patch modifies chan_sip to route responses to the address the request ↵mnicholson1-0/+194
came from. It also modifies chan_sip to respect the maddr parameter in the Via header. ABE-2664 Review: https://reviewboard.asterisk.org/r/1059/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304241 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26Make sure the sample queues.conf is properly commented.seanbright1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@304159 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25DTMF attended transfers sometimes fail for no apparent reason.rmudgett1-3/+2
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.4@304005 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25Guard against retransmitting BYEs indefinitelytwilson1-0/+1
In the case of an attended transfer (A calls B, A atxfers to C) where A becomes unreachable before replying to Asterisk's BYE, Asterisk can sometimes retransmit the BYE indefinitely. This is because __sip_autodestruct tests p->refer && !ast_test_flag(&p->flags[0], SIP_ALREADYGONE and will then transmit a BYE. When this BYE times out, it will not ever be marked as ALREADYGONE, so when __sip_autodestruct is called again, we end up starting the cycle over. This patch adds a call to sip_alreadygone(pkt->owner) in retrans_pkt in the case of a BYE that has timed out. This should prevent Asterisk from trying to transmit new BYE messages in the future. Review: https://reviewboard.asterisk.org/r/1077/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303906 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25Sending out unnecessary PROCEEDING messages breaks overlap dialing.rmudgett1-115/+253
Issue #16789 was a good idea. Unfortunately, it breaks overlap dialing through Asterisk. There is not enough information available at this point to know if dialing is complete. The ast_exists_extension(), ast_matchmore_extension(), and ast_canmatch_extension() calls are not adequate to detect a dial through extension pattern of "_9!". Workaround is to use the dialplan Proceeding() application early in non-dial through extensions. * Effectively revert issue #16789. * Allow outgoing overlap dialing to hear dialtone and other early media. A PROGRESS "inband-information is now available" message is now sent after the SETUP_ACKNOWLEDGE message for non-digital calls. An AST_CONTROL_PROGRESS is now generated for incoming SETUP_ACKNOWLEDGE messages for non-digital calls. * Handling of the AST_CONTROL_CONGESTION in chan_dahdi/sig_pri was inconsistent with the cause codes. * Added better protection from sending out of sequence messages by combining several flags into a single enum value representing call progress level. * Added diagnostic messages for deferred overlap digits handling corner cases. (closes issue #17085) Reported by: shawkris (closes issue #18509) Reported by: wimpy Patches: issue18509_early_media_v1.8_v3.patch uploaded by rmudgett (license 664) Expanded upon issue18509_early_media_v1.8_v3.patch to include analog and SS7 because of backporting requirements. Tested by: wimpy, rmudgett git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303765 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25Backport the Proceeding application.rmudgett1-0/+16
Added in trunk -r129399. Enable the workaround for issue #17085 and #18509. (issue #17085) (issue #18509) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303747 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-25Fix voicemail sequencing for file based storage.jpeeler1-12/+46
A previous change was made to account for when the number of voicemail messages exceeds the max limit to be handled properly, but it caused gaps in the messages to not be properly handled. This has now been resolved. In later non 1.4 branches, it appears that resequencing wasn't even occurring due from what appears and accidental code removal. (closes issue #18498) Reported by: JJCinAZ Patches: bug18498v2.patch uploaded by jpeeler (license 325) (closes issue #18486) Reported by: bluefox Patches: bug18486.patch uploaded by jpeeler (license 325) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303676 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-24Fix a couple of mistakes in the backport of this patch to 1.4.russell2-2/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303552 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-24Fix channel redirect out of MeetMe() and other issues with channel softhangup.russell5-13/+58
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.4@303546 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-21Reset configuration before parsing users.conf.qwell1-0/+3
Some values configured in chan_dahdi.conf were able to leak in to users.conf configuration. This was surprising users, and potentially setting non-sane "defaults". ASTNOW-125 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303284 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-20Add new queue strategy to preserve behavior for when queue members moved to ao2.jpeeler2-5/+54
Add queue strategy called "rrordered" to mimic old behavior from when queue members were stored in a linked list. ABE-2707 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@303007 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-20Option L() is milliseconds, not seconds.lmadsen1-2/+2
Change the verbose output of option L() to say milliseconds and not seconds as the value is in milliseconds. (closes issue #18264) Reported by: jacco Patches: app_dial_patch.txt uploaded by lmadsen (license 10) Tested by: lmadsen, jacco git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@302916 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19DTMF transfer plays the wrong sounds for wrong number or other call failure.rmudgett1-12/+22
* 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.4@302671 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19Add some API documentationtilghman1-0/+21
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@302663 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-18URI encode the user part of the contact header.mnicholson1-2/+7
ABE-2705 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@302311 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-18Issues with DTMF triggered attended transfers.rmudgett1-230/+572
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.4@302172 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-17Merged revisions 293493 via svnmerge from twilson1-2/+10
https://origsvn.digium.com/svn/asterisk/branches/1.8 [^] ........ r293493 | twilson | 2010-11-01 09:58:00 -0500 (Mon, 01 Nov 2010) | 14 lines Only offer codecs both sides support for directmedia When using directmedia, Asterisk needs to limit the codecs offered to just the ones that both sides recognize, otherwise they may end up sending audio that the other side doesn't understand. (closes issue 0017403) Reported by: one47 Patches: sip_codecs_simplified4 uploaded by one47 (license 23) Tested by: one47, falves11 Review: https://reviewboard.asterisk.org/r/967/ [^] ........ Back port a fix that should have been included git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@302087 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-14Fix issue with cross-compiling failinglmadsen3-6642/+21449
(closes issue #18301) Reported by: abelbeck Patches: asterisk-1.4-bugid18301.patch.txt uploaded by abelbeck (license 946) Tested by: abelbeck, russellb git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@301869 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-12Don't store the thread id for the manager session in the structure we pass tomnicholson1-15/+7
the thread for the manager session. ABE-2543 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@301591 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-12Fix CPU spike when pressing DTMF after agent login.jpeeler1-1/+1
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.4@301502 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-11Prevent buffer overflows in ast_uri_encode()mnicholson1-14/+13
ABE-2705 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@301305 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-07change variable name to the same used in later branchesjpeeler1-4/+4
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@300924 f38db490-d61c-443f-a65b-d21fe96a405b