It is important to always initialize ast_sockaddrs before use--even if they
are passed to ast_sockaddr_copy as the underlying storage could be bigger
than what ends up being copied--leaving part of the data unitialized.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The SUBSCRIBE message used to cancel a CC request has incorrect To/From
SIP headers. They are reversed and the dialog tags are the same when they
should not be. If pedantic mode was disabled, then the cancel would have
succeeded despite the incorrect message.
* The SIP_OUTGOING flag was not set correctly for the dialog and I had to
move some CC subscribe handling code as a result.
* Initialized the dialog subscribed type to CALL_COMPLETION earlier. If a
CC request SUBSCRIBE message comes in and the CC instance is not found,
the 404 response was duplicated.
JIRA AST-568
JIRA SWP-3493
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The addition of connected line support in v1.8 changes the behavior of the
channel caller ID somewhat. The channel caller ID value no longer time
shares with the connected line ID on outgoing call legs. The timing of
some AMI events/responses output the connected line ID as caller ID.
These party ID's are now separate.
* The ConnectedLineNum and ConnectedLineName headers were added to many
AMI events/responses if the CallerIDNum/CallerIDName headers were also
present.
(closes issue #18252)
Reported by: gje
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1227/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Recent crashes from zombie channels suggests that they need a safe home to
goto. When a masquerade happens, the physical part of the zombie channel
is hungup. The hangup normally sets the channel private pointer to NULL.
If someone then blindly does a callback to the channel driver, a crash is
likely because the private pointer is NULL.
The masquerade now sets the channel technology of zombie channels to the
kill channel driver.
Related to the following issues:
(issue #19116)
(issue #19310)
Review: https://reviewboard.asterisk.org/r/1224/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Add ConnectedLineNum and ConnectedLineName headers to the output of the
AMI action Status. This makes it easier to find out who the channel is
connected to without having to lookup BridgedChannel or when they are
connected to an application (e.g.: VoiceMail) which has no bridged
channel.
* Bridged channels with no CallerID had "" instead of "<unknown>" output,
that might be a bug as "<unknown>" was what older versions used.
(closes issue #18158)
Reported by: gareth
Patches:
svn-292308.diff uploaded by gareth (license 208)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Because of the buffering the TLS layer does, polling is unreliable. If poll is
called while there is data waiting to be read in the TLS layer but not at the
network layer, the messaging processing engine will not proceed until something
else writes data to the socket, which may not occur. This change modifies the
logic around TLS sockets to only poll after a failed read on a non-blocking
socket. This way we know that there is no data waiting to be read from the
buffering layer.
(closes issue #19182)
Reported by: st
Patches:
ssl-poll-fix3.diff uploaded by mnicholson (license 96)
Tested by: mnicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
imapfolders being set in the general section of voicemail would cause the inbox folder name to
change. Since sound file names are made based on the names of the folders, this would cause
the audio related to that folder name to change and if Asterisk attempted to play it, the
channel would instantly hang up when the audio file couldn't be found. This patch searches for
the name of the folder first to leave existing behavior in tact and if that fails, it uses
the normal inbox name to get the sound file instead.
(closes issue #16104)
Reported by: blkline
Review: https://reviewboard.asterisk.org/r/1215/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When a call is being attended transferred during the time between
AST_FRAME_DTMF_BEGIN and AST_FRAME_DTMF_END, the transferred channel
becomes a zombie (so tech data is not available), making ast_dtmf_stream()
segfault when it tries to send the DTMF digit (at least with SIP
channels).
Patch based on feature-end-zombie.patch uploaded by Irontec (license 1256)
* Check for zombies when ast_channel_bridge() returns.
* Guarantee that the fo parameter value is initialized in
ast_channel_bridge() before any returns.
(closes issue #19116)
Reported by: Irontec
Tested by: rmudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The directed pickup applications can cause a crash if the pickup was
successful because the dialplan keeps executing.
This patch does the following:
* Completes the channel masquerade on a successful pickup before the
application returns. The channel is now guaranteed a zombie and must not
continue executing the dialplan.
* Changes the return value of the directed pickup applications to return
zero if the pickup failed and nonzero(-1) if the pickup succeeded.
* Made some code optimizations that no longer require re-checking the
pickup channel to see if it is still available to pickup.
(closes issue #19310)
Reported by: remiq
Patches:
issue19310_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, remiq, rmudgett
Review: https://reviewboard.asterisk.org/r/1221/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
With the new option engaged, Asterisk should interpret user fields with useroptions
contained within the userfield of the uri by stripping them out of the original message
whenever a semicolon is encountered in the userfield string.
(closes issue #18344)
Reported by: danimal
Tested by: jrose
Review: https://reviewboard.asterisk.org/r/1223/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The capabilities used in the bridging API are very different than the
ones used for formats. When the conversion was made expanding the bit
width of codecs, the bridging code was accidentally accosted in ways
that it didn't deserve.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If the following is true after a CCSS activation:
* The generic agent is for an analog phone or ISDN phone. (Caller party)
* The called party becomes available.
* The caller party is not available.
When the caller party becomes available, the caller is not alerted to the
called party being available. The generic agent still thinks the caller
is busy.
* Fixed the generic agent device state event subscription to look for all
device states that are considered available.
* Encapsulated the device state test for CCSS generic device available in
cc_generic_is_device_available(). Made the generic agent and monitor use
the new function instead of the manually coded inline equivalent.
JIRA AST-559
JIRA SWP-3462
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r319653 | twilson | 2011-05-18 16:11:57 -0700 (Wed, 18 May 2011) | 15 lines
Merged revisions 319652 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r319652 | twilson | 2011-05-18 16:04:35 -0700 (Wed, 18 May 2011) | 8 lines
Make sure everyone gets an unhold when a transfer succeeds
Some phones, like the Snom phones, send a hold to the transfer target after
before sending the REFER. We need to make sure that we unhold the parties
that are being connected after the masquerade. If Local channels with the /nm
option are used when dialing the parties, hold music would still be playing on
the transfer target, even after being connected with the transferee.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The fix for issue 18882 broke retrieving non-realtime peers from the ast_db
on restart/reload. This patch tries to unbreak things while leaving the intent
of the original fix intact.
(closes issue #19318)
Reported by: remiq
Patches:
diff.txt uploaded by twilson (license 396)
Tested by: lmadsen, remiq
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r319528 | twilson | 2011-05-18 13:02:06 -0700 (Wed, 18 May 2011) | 17 lines
Merged revisions 319527 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r319527 | twilson | 2011-05-18 12:56:08 -0700 (Wed, 18 May 2011) | 10 lines
Fix app_dial ring groups
Revert part of r315643. We need to remove the datastore here as well.
The code in bridging code will catch anything that app_dial might miss.
(closes issue #19311)
Reported by: mspuhler
Patches:
issue_19311_no_answer.diff uploaded by elguero (license 37)
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
..........
r319468 | rmudgett | 2011-05-17 16:49:31 -0500 (Tue, 17 May 2011) | 15 lines
The mISDN HDLC mode is prevented on dialed channels.
The use of mISDN HDLC mode is prevented if the mISDN dial technology
option 'h1' is used when config option astdtmf=yes.
There is a bug in channels/misdn/isdn_lib.c which prevents the use of HDLC
mode. Instead of setting the channel to HDLC mode it is set to
transparent(no dsp, no hdlc), although hdlc is not "no hdlc". I.e the
logging message is correct, but the if condition is not.
Make check the nodsp and hdlc flags.
JIRA ABE-2787
JIRA SWP-3437
..........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Deadlock can occur when the generic CCSS agent is deleting duplicate CC
offers and the native ISDN CC driver is processing an incoming CC message.
The cc_core_instances container lock cannot be held when an agent or
monitor callback is invoked without the possibility of a deadlock.
* Make kill_duplicate_offers() remove the reference in cc_core_instances
outside of the container lock.
JIRA AST-566
JIRA SWP-3469
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@319259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CDR's are being written immediately on caller hangup. The dialplan is not
able to modify it in the h exten. The h exten in the initial context is
not run before closing CDR's when the bridge is unlinked if a macro is
active and does not have an h exten.
* Make ast_bridge_call() check for an h exten in the current context and
if a macro is active then the initial context. The first h exten found is
then run before closing the CDR.
(closes issue #18212)
Reported by: leearcher
Patches:
issue18212_v1.8.patch uploaded by rmudgett (license 664)
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1206/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
And another way to pass early media. Don't indicate that there is inband
information present, just assume that the B channel is connected.
* Restore clearing the dialing flag Rx squelch unconditionally when a
PROCEEDING message comes in.
(closes issue #19268)
Reported by: tbsky
Patches:
issue19268_v1.8.patch uploaded by rmudgett (license 664)
Tested by: tbsky
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues.
1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
2). dialplan applications for directed_pickups shouldn't beep.
3). feature code for directed pickup should beep on success/failure if configured.
Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.
Moved app_directed:pickup_do() to features:ast_do_pickup().
Functions below, all now use the new ast_do_pickup()
app_directed_pickup.c:
pickup_by_channel()
pickup_by_exten()
pickup_by_mark()
pickup_by_part()
features.c:
ast_pickup_call()
(closes issue #18654)
Reported by: Docent
Patches:
ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585)
Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett
Review: https://reviewboard.asterisk.org/r/1185/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r318548 | twilson | 2011-05-11 12:15:39 -0500 (Wed, 11 May 2011) | 19 lines
Clean up several chan_sip reference leaks
Several situations in the code could lead to peers or sip_pvt references
being leaked. This would cause RTP ports to never be destroyed (leading
to exhaustion of all available RTP ports) and memory leaks.
The original patch for this issue from rgagnon was the result of an
obscene amount of testing and hard work, for which I am very grateful. I
did some cleanup and added a few additional refcount fixes that I found.
(closes issue #17255)
Reported by: kvveltho
Patches:
tag-1.6.2.17-r309252-sip-dos-mem-leak-fix.diff uploaded by rgagnon (license 1202)
Tested by: rgagnon, twilson, wdoekes, loloski
Review: https://reviewboard.asterisk.org/r/1101/
Review: https://reviewboard.asterisk.org/r/1207/
Review: https://reviewboard.asterisk.org/r/1210/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The channel state is not updated to RINGING when an ALERTING message is
received. Regression caused when sig_pri.c (also sig_ss7.c) extracted
from chan_dahdi.c.
* Added missing channel state update to RINGING when the
AST_CONTROL_RINGING frame is queued for ISDN and SS7.
(closes issue #19257)
Reported by: alecdavis
Patches:
issue19257_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, rmudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@318499 65c4cc65-6c06-0410-ace0-fbb531ad65f3