Commit Graph

22737 Commits

Author SHA1 Message Date
Igor Goncharovskiy
b718f91873 We have faced situation when using CDR and CEL by sqlite3 modules. With system having high load (~100 concurrent calls created by sipp) we found many cdr and cel records missed. There is special finction in sqlite3, that make able to fix this situation - sqlite3_wait_timeout, that also can replace awful code cdr_sqlite3 ad cel_sqlite3 modules. Also this function can be used for aastdb and res_config_sqlite3 to avoid missed writes to sqlite db.
#ASTERISK-23766 #close
Reported by: Igor Goncharovsky

Review: https://reviewboard.asterisk.org/r/3559/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@416336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-16 08:52:06 +00:00
Matthew Jordan
6b782f84b8 MoH: Undo commit r416150 (1.8)
This patch reverts r416150. When the comparison between mohclass->name and
state->class->name is made, you are not guaranteed that (a) state->class is
non-NULL or that state or state->class are in a safe state.

Crashes caught by the bridges/transfer_capabilities test.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@416251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-15 21:16:17 +00:00
Kinsey Moore
4707dd1ce5 MoH: Don't restart stream on repeated start calls
Currently, music on hold will stop and then start again from the
beginning if ast_moh_start() is called multiple times. This can happen
if a call is put on hold repeatedly (the channel receives multiple
HOLD control frames) and can be triggered from ARI by starting MoH on a
channel multiple times. This is fairly jarring/annoying to users.

This change prevents MoH from being restarted if the requested music
class is the same as the one currently playing.

Review: https://reviewboard.asterisk.org/r/3615/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@416150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-13 13:03:35 +00:00
Richard Mudgett
1509ae5779 AST-2014-007: Fix of fix to allow AMI and SIP TCP to send messages.
ASTERISK-23673 #close
Reported by: Richard Mudgett

Review: https://reviewboard.asterisk.org/r/3617/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@416066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-13 04:58:51 +00:00
Rusty Newton
989b441f6c main/pbx - documentation - enhance 'core show hints' and 'core show hint' help text
Adds descriptive help text to 'core show hints' and 'core show hint'. The text describes the various columns for the sake of clarity.

ASTERISK-23764
Review: https://reviewboard.asterisk.org/r/3610/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-12 21:15:12 +00:00
Corey Farrell
883d2e6924 chan_sip: DEBUG messages in sdp_crypto.c display despite a DEBUG level of zero
Change debug level for messages in sdp_crypto.c from zero to one.  This
ensures the messages are not displayed when debugging is disabled.  Change
does not apply to 12+ as it was already fixed in those versions.

ASTERISK-23246 #close
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/3605/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-12 17:16:38 +00:00
Richard Mudgett
7550fe7efb AST-2014-007: Fix DOS by consuming the number of allowed HTTP connections.
Simply establishing a TCP connection and never sending anything to the
configured HTTP port in http.conf will tie up a HTTP connection.  Since
there is a maximum number of open HTTP sessions allowed at a time you can
block legitimate connections.

A similar problem exists if a HTTP request is started but never finished.

* Added http.conf session_inactivity timer option to close HTTP
connections that aren't doing anything.  Defaults to 30000 ms.

* Removed the undocumented manager.conf block-sockets option.  It
interferes with TCP/TLS inactivity timeouts.

* AMI and SIP TLS connections now have better authentication timeout
protection.  Though I didn't remove the bizzare TLS timeout polling code
from chan_sip.

* chan_sip can now handle SSL certificate renegotiations in the middle of
a session.  It couldn't do that before because the socket was non-blocking
and the SSL calls were not restarted as documented by the OpenSSL
documentation.

* Fixed an off nominal leak of the ssl struct in
handle_tcptls_connection() if the FILE stream failed to open and the SSL
certificate negotiations failed.

The patch creates a custom FILE stream handler to give the created FILE
streams inactivity timeout and timeout after a specific moment in time
capability.  This approach eliminates the need for code using the FILE
stream to be redesigned to deal with the timeouts.

This patch indirectly fixes most of ASTERISK-18345 by fixing the usage of
the SSL_read/SSL_write operations.

ASTERISK-23673 #close
Reported by: Richard Mudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-12 16:05:50 +00:00
Scott Griepentrog
855fceccac app_queue: delayed state can cause early leavewhenempty ringing
In app_queue, device state changes arrive in event messages and
update the queue member status value.  That value is checked in
get_member_status() to decide that the caller should leave when
there are no available members.  Although event messages can be
delayed by other activity, there is no adverse affect by lagged
status except in one specific case: there is only one available
member, it was just rung, and leavewhenempty is enabled set for
ringing members.  This change adds a direct check of the device
state only under this condition where the caller may be dropped
incorrectly, resolving this issue without affecting performance
of app_queue normally.

AST-1248 #close
Review: https://reviewboard.asterisk.org/r/3595/
Reported by: Thomas Arimont



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-12 15:38:48 +00:00
Alexandr Anikin
9972136127 chan_ooh323: fix loading module failure if there no accessible h323_log or ooh323 config file
change return 1 to return AST_MODULE_LOAD_FAILURE

ASTERISK-23814 #close

(closes issue ASTERISK-23814)

Reported by: Igor Goncharovsky
Patches:
	ASTERISK-23814-ast18.patch


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-10 09:11:58 +00:00
Walter Doekes
ef59e04d6c safe_asterisk: Cleanup additions to r415132.
Replaced a stray echo that should've been a message call in
safe_asterisk. I'm using the contents of the old message inside the
if $NOTIFY so peoples log parsing scripts won't get confused by new
messages. I'll clean that up in trunk.

(Note that a 'make install' still won't overwrite your old safe_asterisk
if it exists. See ASTERISK-21965.)

ASTERISK-23492 #close


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-09 11:55:16 +00:00
Corey Farrell
1dff17f051 autoservice: stop thread on graceful shutdown
This change adds thread shutdown to autoservice for graceful shutdowns only.
ast_register_cleanup is backported to 1.8 to allow this.  The logger callid
is also released on shutdown in 11+.

ASTERISK-23827 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3594/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-09 03:43:21 +00:00
Jonathan Rose
560380a018 chan_sip: Fix order of variables specified in SIPNotify action
Prior to this patch, sequential variables would be ordered in reverse
from the order specified in the manager action.

Review: https://reviewboard.asterisk.org/r/3588/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-06 21:13:51 +00:00
Richard Mudgett
ae71ca1d2f config: Fix config files not reloading when only an included file changes.
The twisted logic determining if a config file should be reloaded was
mostly broken and disabled.  The incorrect test that ASTERISK-23383 fixed
actually reenabled the broken logic.  The incorrect test was causing the
timestamp to always be cleared which caused config files with includes to
always be reloaded.

* Made wildcard includes always cause a reload.  Determining if a file was
deleted cannot be determined without restructuring the cache to determine
if any files are missing from the last files actually loaded.  Also
without refactoring config_text_file_load(), the glob loop couldn't check
more than one file for changes anyway.

* Made remove the cache entry if the file no longer exists when trying to
get its timestamp or it is no longer a regular file.  This fixes the
corner case where the file was loaded, then deleted, then the config
reloaded, then the file restored with the same timestamp, and then the
config reloaded again.

* Made remove the cache entry include list when actually loading the file.
This gets rid of any stale includes the file had from the last time the
file was loaded.

ASTERISK-23683 #close
Reported by: tootai

Review: https://reviewboard.asterisk.org/r/3575/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-05 17:36:00 +00:00
Walter Doekes
14cfff4a02 safe_asterisk: Cleanup and debian compatibility.
Cleans up the safe_asterisk script and adds the ASTSAFE_FOREGROUND
option that allows the debian asterisk init script to capture the
right pid.

* Drop the vim #modeline which wasn't used. Use test consistently
  without the odd configure xno syntax. Double quote all paths.
  General cleanup.
* Don't output message()s to the console but only to TTY if set.
* Allow TTY to be "no" as well as empty (debian compatibility with
  debian/patches/safe_asterisk-config).
* Add option to export ASTSAFE_FOREGROUND=1 from the init script
  that calls this to disable backgrounding. Debian uses a similar
  method in debian/patches/safe_asterisk-nobg).

ASTERISK-23492 #close
Review: https://reviewboard.asterisk.org/r/3574/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-04 15:16:04 +00:00
Corey Farrell
45c62c1733 app_confbridge: Correct verification of conference name length
Conference names were not checked for maximum length, allowing unexpected
behaviour.  This change adds checking to ensure the maximum length is not
exceeded.  The maximum length is also changed from 32 to AST_MAX_EXTENSION.

ASTERISK-23035 #close
Reported by: Iñaki Cívico
Tested by: Iñaki Cívico
Patches:
    confbridge-enforce_max-1.8.patch uploaded by coreyfarrell (license 5909)
    confbridge-enforce_max-11up.patch uploaded by coreyfarrell (license 5909)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@415060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-04 07:18:05 +00:00
Walter Doekes
6175902998 func_odbc: Fix fixed size buffers fix (r414968).
The change that removed the fixed size buffers in odbc-related code --
removing arbitrary column width limits -- was incomplete. This change
adds: no segfault on writesql without insertsql and return value checks
after strdup.

While I was in the vicinity I cleaned up the linefeeds in the odbc
function descriptions, moved some code for clarity, removed some blobs
and noted (but didn't fix) that the 'odbc write ... exec' CLI command
doesn't behave as the dialplan equivalent when insertsql= is used.

ASTERISK-23582 #close
Review: https://reviewboard.asterisk.org/r/3579/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-03 07:31:37 +00:00
Matthew Jordan
c1be1f43cb main/config.c: AMI action UpdateConfig EmptyCat clears all categories
When invoking UpdateConfig AMI action with Action set to EmptyCat, Asterisk
will make all categories empty in the config but the one requested with a
Cat variable. This is due to a bug in ast_category_empty (main/config.c)
that makes an incorrect comparison for a category name.

This patch corrects the comparison such that only the requested category
is cleared.

Review: https://reviewboard.asterisk.org/r/3573/

ASTERISK-23803 #close
Reported by: zvision
patches:
  manager.c.diff uploaded by zvision (License 5755)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-30 11:50:59 +00:00
Kinsey Moore
27d80767db PBX: Prevent incorrect hint parsing
Dynamic and pattern matching hints should not be checked for their last
known state until they are instantiated by subscribers.

(closes issue AFS-56)
Reported by: John Hardin
Patch AFS-56-pbx.diff submitted by Matt Jordan (license 6283)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-29 15:55:59 +00:00
Joshua Colp
8a52013dca res_config_odbc: Use dynamically sized buffers to store row data so values do not get truncated.
ASTERISK-23582 #close
ASTERISk-23582 #comment Reported by: Walter Doekes

Review: https://reviewboard.asterisk.org/r/3557/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-28 11:34:55 +00:00
Walter Doekes
bf94ff5763 chan_sip: Start session timer at 200, not at INVITE.
Asterisk started counting the session timer at INVITE while the other
end correctly started at 200. This meant that for short session-expiries
(90 seconds) combined with long ringing times (e.g. 30 seconds), asterisk
would wrongly assume that the timer was hit before the other end thought
it was time to send a session refresh. This resulted in prematurely
ended calls.

This changes the session timer to start counting first at 200 like RFC
says it should.

(Also removed a few excess NULL checks that would never hit, because if
they did, asterisk would have crashed already.)

ASTERISK-22551 #close
Reported by: i2045 

Review: https://reviewboard.asterisk.org/r/3562/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-27 21:16:32 +00:00
Walter Doekes
81b4fbb578 res_config_odbc: Fix old and new ast_string_field memory leaks.
The ODBC realtime driver uses ^NN parameter encoding to cope with the
special meaning of the semi-colon. A semi-colon in a field is
interpreted as if the key was supplied twice, something which isn't
otherwise possible with fixed database columns. E.g. allow=alaw;ulaw
is parsed as allow=alaw and allow=ulaw. A literal semi-colon is
rewritten to ^3B when stored in the database.

The module uses a stringfield to efficiently store the encoded
parameters. However, this stringfield wasn't always freed in some
off-nominal cases.

Commit r413241 fixed initialization so the encoding for INSERT and
DELETE queries wouldn't crash. (Only SELECTs and UPDATEs worked
apparently.) But that commit forgot the frees. This change cleans
that up.

Review: https://reviewboard.asterisk.org/r/3555/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-27 19:38:27 +00:00
Jonathan Rose
71df5a4a63 Backport Asterisk 11 r413876 to 1.8
........
r413876 | jrose | 2014-05-13 12:40:00 -0500 (Tue, 13 May 2014) | 6 lines

chan_sip: Add TLS and SRTP status to CLI command 'sip show channel'

ASTERISK-23564 #close
Reported by: Patrick Laimbock
Review: https://reviewboard.asterisk.org/r/3474/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-23 16:06:57 +00:00
Richard Mudgett
2beabaabeb app_meetme: Don't interrupt MOH for waitmarked users.
Occasionally, when the last marked user leaves the conference, waitmarked
users don't get MOH if MOH is supposed to be played while a waitmarked
user is waiting for another marked user.

* Made not interrupt MOH when the user is a waitmarked user.  The
waitmarked user doesn't need to hear any leave announcements from the
conference as the user would have already heard different leave
announcements if they were enabled.  Apparently DAHDI occasionally sends
unending non-silent streams to these users or a normal user still in the
conference has continuous high background noise.  These non-silent streams
cause MOH to be suspended while the never ending "announcement" is played.

Issue caused by ASTERISK-13680.

AST-1349 #close
Reported by: Tyler Stewart

Review: https://reviewboard.asterisk.org/r/3543/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-22 15:47:51 +00:00
Matthew Jordan
4f78ecf9b5 UPGRADE: Add note for REF_DEBUG flag
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-22 13:58:25 +00:00
Richard Mudgett
46aff9f0f8 chan_local: Only block media frames when a generator is on both ends of a local channel.
The fix for ASTERISK-12292 was a bit too aggressive.  You could have
generators pointed at each other on local channels but need to get other
kinds of frames such as DTMF or CONNECTED_LINE frames accross.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-21 22:01:26 +00:00
Scott Griepentrog
1035ef957c pbx.c: prevent potential crash from recursive replace()
Recurisve usage of replace() resulted in corruption of the
temporary string storage and potential crash.  By changing
the string to be allocated separtely per instance, this is
eliminated.

ASTERISK-23650 #comment Reported by: Roel van Meer
ASTERISK-23650 #close

Review: https://reviewboard.asterisk.org/r/3539/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-21 18:58:47 +00:00
Alexandr Anikin
7fa61bee7d chan_ooh323: fix h323_log full path name
* fix to use astlogdir option for h323_log file instead of hardcoded

ASTERISK-23754 #close

Reported by: Igor Goncharovsky
Patches:
	ooh323_logger_patch.diff



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-19 13:31:43 +00:00
Richard Mudgett
ffe97a9c8f chan_dahdi: Fix analog dialtone detection.
* Check if waitingfordt (waitfordialtone) is enabled in dahdi_read() to
allow the DSP to operate early enough to detect dialtone.

* Made use the correct variable in my_check_waitingfordt().

ASTERISK-23709 #close
Reported by: Steve Davies
Patches:
      dialtone_detect_fix (license #5012) patch uploaded by Steve Davies

Review: https://reviewboard.asterisk.org/r/3534/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@414067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-16 20:00:55 +00:00
Richard Mudgett
e97c2eccc0 app_meetme: Fix overwrite of DAHDI conference data structure.
Starting a conference recording using the admin menu overwrites the DAHDI
conference data structure used to modify the admin user's conference mute
mode.

* Made no longer pass the user's DAHDI conference data structure into the
menu functions.  The menu now uses its own DAHDI conference data
structure to start the recording channel.

* Moved the unlock conf->playlock to before playing the conf-full message.
No sense keeping the lock while that prompt is playing.  The user is never
going to get into the conference at that point.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-15 21:27:58 +00:00
Walter Doekes
8bf18ed4d3 chan_local+app_dial: Propagagate call answered elsewhere over local channels.
AST_FLAG_ANSWERED_ELSEWHERE was not propagated back from local channels.
It is now. That means that when a call is picked up from a callgroup of
local channels, the other channels will now properly see it as "picked up".

This occurs when you use a construct like Dial(Local/a@context&Local/b@context)
where a@context and b@context dial two chan_sip devices respectively. If one
device picks up, the other will not see "1 missed call" anymore. In this
respect, it now behaves the same as when doing Dial(SIP/a&SIP/b).

Review: https://reviewboard.asterisk.org/r/3540/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-15 15:32:35 +00:00
Walter Doekes
76a57fcbc4 res_musiconhold: Minor cleanup.
Fix a few free()'s that should be ast_free()'s. Reverted an old
workaround that isn't necessary. Reorder a tiny bit of code.
Remove a bit of commented-out code.

Review: https://reviewboard.asterisk.org/r/3536/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-14 15:27:44 +00:00
Walter Doekes
adb0ee2dcd chan_sip+CEL: Add missing ANSWER and PICKUP events to INVITE/w/replaces pickup.
When doing a "BLF-style call pickup" -- an INVITE with Replaces: header -- the
CEL log would lack the ANSWER and PICKUP events.

This patch adds the two missing events to the handle_invite_replaces() function.

ASTERISK-22977 #close
Review: https://reviewboard.asterisk.org/r/3073/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-13 14:32:25 +00:00
Walter Doekes
228d5c9052 rtp: Fix case typo in H263+ mime.
http://tools.ietf.org/html/rfc3555#section-4.2.6 says the canonical
mime subtype is "H263-1998", not "h263-1998". Original code was added
in r183101 on 2009-03-19 02:26:50 +0100.

This fixes issues with Polycom phones.

ASTERISK-23665 #close
ASTERISK-23665 #comment Patch r3529.patch uploaded by Guillaume Maudoux, backported by me.
Review: https://reviewboard.asterisk.org/r/3529/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-13 13:28:05 +00:00
Richard Mudgett
3dace58a49 chan_dahdi/sig_pri: Prevent unnecessary PROGRESS events when overlap dialing is enabled.
When overlap dialing is enabled, the lack of inband audio available
information in the SETUP_ACKNOWLEDGE events causes an interoperability
problem with SIP.  sig_pri doesn't know if there is dialtone present when
a SETUP_ACKNOWLEDGE is received so it assumes it is there and posts an
AST_CONTROL_PROGRESS frame.  The SIP channel driver then sends out a 183
Session Progress and blocks the desired 180 Ringing message when the
ALERTING message comes in.

* Made the configure script detect if the installed version of libpri
supports the SETUP_ACKNOWLEDGE enhancements.

* Using the new API, made generate an AST_CONTROL_PROGRESS frame on an
incoming SETUP_ACKNOWLEDGE message when the message indicates inband audio
is present instead of assuming that dialtone is present.

* Using the new API, made SETUP_ACKNOWLEDGE send out an inband audio
available indication only if dialtone is expected.  The change also makes
the fallback behaviour of sending the PROGRESS message better by sending
it only if dialtone is expected.

* Changed receiving a PROCEEDING message to not generate an
AST_CONTROL_PROGRESS frame if the progress indication ie indicates
non-end-to-end-ISDN.  This helps interoperability with SIP.

* Changed sending a PROCEEDING message in response to an
AST_CONTROL_PROCEEDING frame to not indicate inband audio available.  It
was silly to do so anyway because the channel driver doesn't know if
inband audio is even available.  This helps interoperability with SIP.

This patch and a corresponding change in libpri work together to allow
Asterisk to control the inband audio available progress indication ie on
the SETUP_ACKNOWLEDGE message when dialtone is present.

AST-1338 #close
Reported by: Tyler Stewart

Review: https://reviewboard.asterisk.org/r/3521/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-12 23:08:09 +00:00
Kinsey Moore
b2f263b374 Fix 32bit build for func_env
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-09 23:02:22 +00:00
Kinsey Moore
650b948d21 Fix 32bit build for chan_sip
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-09 22:56:14 +00:00
Kinsey Moore
3e9a54d857 Allow Asterisk to compile under GCC 4.10
This resolves a large number of compiler warnings from GCC 4.10 which
cause the build to fail under dev mode. The vast majority are
signed/unsigned mismatches in printf-style format strings.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-09 22:18:59 +00:00
Joshua Colp
cb8877e720 app_queue: Extend documentation for various Manager actions and events.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-08 00:33:08 +00:00
Mark Michelson
afecc456ad Fix encoding of custom prepare extra data.
Patches:
	res_config_odbc-take2.patch by John Hardin (License #6512)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-07 17:46:45 +00:00
Mark Michelson
b7b11ef2f0 Ensure that all parts of SQL UPDATEs and DELETEs are encoded.
Patches:
	res_config_odbc.patch by John Hardin (License #6512)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-06 16:57:17 +00:00
Mark Michelson
1a60296a80 Prevent crashes in res_config_odbc due to uninitialized string fields.
Patches:
    odbc-crash.patch by John Hardin (License #6512)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-02 20:21:34 +00:00
Mark Michelson
c299732b72 Return the number of rows affected by a SQL insert, rather than an object ID.
The realtime API specifies that the store callback is supposed to return the number
of rows affected. res_config_pgsql was instead returning an Oid cast as an int, which
during any nominal execution would be cast to 0. Returning 0 when more than 0 rows were
inserted causes problems to the function's callers.

To give an idea of how strange code can be, this is the necessary code change to fix
a device state issue reported against chan_pjsip in Asterisk 12+. The issue was that
the registrar would attempt to insert contacts into the database. Because of the 0
return from res_config_pgsql, the registrar would think that the contact was not successfully
inserted, even though it actually was. As such, even though the contact was query-able
and it was possible to call the endpoint, Asterisk would "think" the endpoint was unregistered,
meaning it would report the device state as UNAVAILABLE instead of NOT_INUSE.

The necessary fix applies to all versions of Asterisk, so even though the bug reported
only applies to Asterisk 12+, the code correction is being inserted into 1.8+.

Closes issue ASTERISK-23707
Reported by Mark Michelson



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@413224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-05-02 19:47:50 +00:00
Richard Mudgett
8ccad4ce21 http: Fix spurious ERROR message in responses with no content.
Backport -r411687 and fix the fix because content_length is the length of
out plus the length of the file controlled by fd.

When a response has an out content length of 0, fwrite would be called to
write a buffer with no data in it.  This resulted in the following classic
error message:

  [Apr  3 11:49:17] ERROR[26421] http.c: fwrite() failed: Success

This patch makes it so that we only attempt to write the content of out if
the out string is non-zero.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-23 17:47:07 +00:00
Jonathan Rose
500ce9b5f4 chan_sip: trust_id_outbound CHANGES message improvement
(closes issue AST-1301)

(closes issue ASTERISK-19465)
Reported by: Krzysztof Chmielewski


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-21 17:51:49 +00:00
Jonathan Rose
4100002e21 Typo in CHANGES
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-21 16:21:49 +00:00
Kinsey Moore
24f054f497 HTTP: Add TCP_NODELAY to accepted connections
This adds the TCP_NODELAY option to accepted connections on the HTTP
server built into Asterisk. This option disables the Nagle algorithm
which controls queueing of outbound data and in some cases can cause
delays on receipt of response by the client due to how the Nagle
algorithm interacts with TCP delayed ACK. This option is already set on
all non-HTTP AMI connections and this change would cover standard HTTP
requests, manager HTTP connections, and ARI HTTP requests and
websockets in Asterisk 12+ along with any future use of the HTTP
server.

Review: https://reviewboard.asterisk.org/r/3466/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-21 15:50:57 +00:00
Jonathan Rose
5d924bc0fc chan_sip: Add sendrpid trust options
In r411189, some behavior was changed which made sendrpid behavior
act in a more trusting manner by sending full user data for peers
set with private caller presence in P-Asserted-Identity headers.
Since this changed long time expected behaviors, we decided to pull
that patch when that was pointed out by the community. Instead, this
patch provides a trust_id_outbound setting which will expose the data
per RFC-3325 if set to 'yes' and simply not send the PAI/RPID headers
at all if set to 'no'. By default trust_id_outbound will be set to
'legacy' which will preserve the behavior prior to these patches.
Extra special thanks to Walter Doekes for providing advice and
feedback.

(closes issue AST-1301)

(closes issue ASTERISK-19465)
Reported by: Krzysztof Chmielewski

Review: https://reviewboard.asterisk.org/r/3447/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-21 15:25:18 +00:00
Matthew Jordan
e1eaa7dcd3 app_sms: Fix uninitialized values; hangup channel when REL is sent successfully
This patch fixes two issues in app_sms:
(1) Firstly, the 'flags' field on the stack in sms_exec() is uninitialised,
    causing it to use the wrong protocol in some cases. This patch correctly
    initializes the flags fields.

(2) Secondly, when disconnect supervision is not working or
    inbanddisconnect=yes is set in chan_dahdi.conf, app_sms was failing to
    terminate the call after it sent the REL(ease) message and the peer stopped
    talking to it. This patch fixes the code to handle the 'bad stop bit'
    message more gracefully in that case, and hang up the call.

Review: https://reviewboard.asterisk.org/r/1392/

ASTERISK-18331 #close
Reported by: David Woodhouse
patches:
  asterisk-fix-sms.patch uploaded by David Woodhouse (License 5754)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-19 01:01:18 +00:00
Rusty Newton
4a68620cfb sounds: Fix Sounds Makefile and XML that didn't support new sound prompt sets
In sounds/Makefile

 1 Adds and moves some lines necessary for the en_GB core set. I'm just following how the other sets are defined here.
 2 removes the ES extra sounds related lines as we don't have ES extra sound sets. 

In sounds/sounds.xml

 3 Adds <support_level> definitions to all the sound sets as we have these defined in 11,12,Trunk, but not in 1.8
 4 Adds member definitons for EN_AU, EN_GB, IT for core sound sets, and EN_GB in extra sound sets

ASTERISK-23550
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/3464/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-18 17:12:17 +00:00
Matthew Jordan
03ed8d30ba channels/chan_oss: Fix compilation problem on SmartOS/Illumos/SunOS
THis patch fixes an issue in chan_oss when building on certain platforms. It
ensures that soundcard.h is found.

Review: https://reviewboard.asterisk.org/r/3426

Note that this patch is a part of the patch on ASTERISK-23576; the Makefile
portion only applies to Asterisk 11+.

(issue ASTERISK-23576)
Reported by: Sebastian Wiedenroth
patches:
  fix-sunos.diff uploaded by Sebastian Wiedenroth (License 6597)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-17 20:23:01 +00:00