Commit Graph

22710 Commits

Author SHA1 Message Date
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
Jonathan Rose
445b1ced10 Reverting r411189 so that it can be put up for public review
---
  r411189 | jrose | 2014-03-26 10:50:48 -0500 (Wed, 26 Mar 2014) | 12 lines

  chan_sip: Send real CallerID information with P-Assserted-Identity (RFC-3325)

  Prior to this patch, the P-Asserted-Identity header would include anonymous
  caller id information which seems to go against the point of the
  P-Asserted-Identity header. Now the real caller ID information will be
  included in this header. Also, no privacy header would be included.
  This patch adds 'Privacy: id' to outgoing SIP messages that include the
  P-Asserted-Identity header.

  (closes issue AST-1301)
---



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-15 15:21:27 +00:00
Richard Mudgett
ee72a7a7d1 app_stack: Add missing unlock in off-nominal path of STACK_PEEK function.
ASTERISK-23620 #close
Reported by: Bradley Watkins
Patches:
      ASTERISK-23620_unlock_oldlist.patch (license #5021) patch uploaded by Bradley Watkins


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-11 21:37:42 +00:00
Matthew Jordan
751dc2b7da main/astobj2: Make REF_DEBUG a menuselect item; improve REF_DEBUG output
This patch does the following:
(1) It makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables
    REF_DEBUG globally throughout Asterisk.
(2) The ref debug log file is now created in the AST_LOG_DIR directory.
    Every run will now blow away the previous run (as large ref files
    sometimes caused issues). We now also no longer open/close the file
    on each write, instead relying on fflush to make sure data gets written
    to the file (in case the ao2 call being performed is about to cause a
    crash)
(3) It goes with a comma delineated format for the ref debug file. This
    makes parsing much easier. This also now includes the thread ID of the
    thread that caused ref change.
(4) A new python script instead for refcounting has been added in the
    contrib/scripts folder.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@412114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-11 01:33:03 +00:00
Richard Mudgett
85a69184c7 Internal timing: Add notice that the -I and internal_timing option are no longer needed.
Add notice messages during execution that the -I command line option and
the astersik.conf internal_timing option are no longer needed.  The
internal timing functionality is now always enabled if there is a timing
module loaded.

NOTE: Since the command line options and the asterisk.conf config file are
processed before the logging system is initialized, the messages are
output to stderr.

Change requested as a result of asterisk-dev list comments about the
commit for ASTERISK-22846 that removed the -I and internal_timing options.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-08 21:15:39 +00:00
Richard Mudgett
70cdee628c config: Fix CB_ADD_LEN() to work as originally intended.
Fix a long standing bug in CB_ADD_LEN() behaving like CB_ADD().

ASTERISK-23546 #close
Reported by: Walter Doekes


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-08 20:49:11 +00:00
Walter Doekes
7dc87fa2b9 configs: Clean up long line and typo in res_odbc.conf.sample.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-07 14:45:10 +00:00
Richard Mudgett
a997ddc829 internal_timing: Remove the option and always make it enabled if a timing module is loaded.
The masquerade supertest frequently fails because either the local channel
chain doesn't completely optimize out or the DTMF handshake doesn't
completely get accross.  Local channel optimization requires frames
flowing to trigger when optimization can happen.  When optimization
happens the media frame that triggered the optimization is dropped.
Sending DTMF requires frames to flow in the other direction for timing
purposes while sending nothing.  If internal timing is not enabled when
MOH is playing, Asterisk switches to received timing when an audio frame
is received.  With optimization dropping media frames and MOH not sending
frames unless it receives frames, occasionaly there are no more frames
being passed and the test fails.

* The asterisk command line -I option and the asterisk.conf
internal_timing option are removed.  Asterisk now always uses internal
timing when needed if any timing module is loaded.  The issue
ASTERISK-14861 did this quite awhile ago in v1.4 but effectively is broken
if other internal timing modules besides DAHDI are used.  The
ast_read_generator_actions() now only does received timing if it has no
choice for frame generators like MOH, silence, and playback streaming.

* Cleaned up some code dealing with frame generators in
ast_deactivate_generator(), generator_write_format_change(),
ast_activate_generator(), and ast_channel_stop_silence_generator().

ASTERISK-22846 #close
Reported by: Matt Jordan

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-04 18:32:46 +00:00
Joshua Colp
6f85424652 app_queue: Fix a bug where realtime members would be deleted during reload causing waiting callers to get ejected.
This patch causes realtime queue members to remain in queues during the reload process. Previously these
members would be removed causing any waiting callers to be ejected from the queue with a reason of "EXITEMPTY".

ASTERISK-23547 #close
ASTERISK-23547 #comment Patch app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo Rossi (license 6409)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-01 16:48:55 +00:00
Scott Griepentrog
dd5c0ffd4d http: response body often missing after specific request
This patch works around a problem with the HTTP body
being dropped from the response to a specific client
and under specific circumstances:

a) Client request comes from node.js user agent
   "Shred" via use of swagger-client library.

b) Asterisk and Client are *not* on the same
   host or TCP/IP stack

In testing this problem, it has been determined that
the write of the HTTP body is lost, even if the data
is written using low level write function.  The only
solution found is to instruct the TCP stack with the
shutdown function to flush the last write and finish
the transmission.  See review for more details.


ASTERISK-23548 #close
(closes issue ASTERISK-23548)
Reported by: Sam Galarneau
Review: https://reviewboard.asterisk.org/r/3402/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-28 16:16:02 +00:00
Matthew Jordan
9e5d570c46 UPGRADE: Note IAX2 compatibility issue between 1.4 and 1.8+ systems.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-28 15:42:36 +00:00
Matthew Jordan
f222e30437 res_config_odbc/res_odbc: Fix handling of non-text columns updates with empty values.
This patch fixes setting nullable integer columns to NULL instead of an empty
string, which fails for PostgreSQL, for example. The current code is supposed
to do so, but the check is broken. The patch also allows the first column in
the list to be a nullable integer.

This patch also adds a compatibility setting in res_odbc.conf,
allow_empty_string_in_nontext. It is enabled by default. It should be disabled
for database backends (such as PostgreSQL) that require NULL instead of an
empty string for Integer columns.

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

(issue ASTERISK-23459)
Reported by: zvision
patches:
  res_config_odbc.diff uploaded by zvision (License 5755)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-28 04:24:07 +00:00
Matthew Jordan
588550c950 chan_sip: Add MESSAGE request to allowed methods
The allowed methods advertised by chan_sip did not previously note the MESSAGE
request. Even in Asterisk 1.8, we do accept in-dialog MESSAGE requests; we
should advertise that we support MESSAGE requests.

ASTERISK-23504 #close
ASTERISK-23504 #comment Reported by: Martin Kontsek
ASTERISK-23504 #comment Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-28 03:49:33 +00:00
Corey Farrell
824c8d4b6b Fix dialplan function NULL channel safety issues
(closes issue ASTERISK-23391)
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3386/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-27 19:06:13 +00:00
Joshua Colp
e86e40892c say: Fix a bug where SayNumber in Polish tries to play incorrect sound.
This change fixes a bug where calling SayNumber with a number divisible by
100 using the Polish language would cause the code to attempt to play a
sound file with an empty name.

(closes issue ASTERISK-23509)
Reported by: zvision

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-26 22:43:25 +00:00
Jonathan Rose
e2708b03b6 chan_sip: Send real CallerID information with P-Assserted-Identity (RFC-3325)
Prior too this patch, the P-Asserted-Identity header would include anonymous
caller id information which seems to go against the point of the
P-Asserted-Identity header. Now the real caller ID information will be
included in this header. Also, no privacy header would be included.
This patch adds 'Privacy: id' to outgoing SIP messages that include the
P-Asserted-Identity header.

(closes issue AST-1301)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-26 15:50:48 +00:00
Kinsey Moore
7ae2541b15 chan_sip: Fix incorrect use of timers
If update_provisional_keepalive() is called while
send_provisional_keepalive_full() is waiting on the PVT lock, then
pvt->provisional_keepalive_sched_id will be changed to a new sched_id
value by update_provisional_keepalive(), but that new sched_id then may
be overwritten with -1 by send_provisional_keepalive_full(), killing
the pvt's reference to a schedule and "leaking" the reference.

(closes issue ASTERISK-22079)
Review: https://reviewboard.asterisk.org/r/3368/
Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
Patches:
    provisional_keepalive_fix.diff uploaded by Steve Davies (license 5012)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-25 15:50:39 +00:00
Joshua Colp
9c7ed786e5 chan_sip: Always use fromdomain if set for domain, even if callerid is set to restricted.
(closes issue ASTERISK-20841)
Reported by: Kelly Goedert


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-24 21:36:27 +00:00
Russ Meyerriecks
e62a5f78e9 !fixup: callerid: Logic error in checksum processing
Fixes syntax error in previous commit :-(


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-17 21:54:18 +00:00
Russ Meyerriecks
2478dc0606 callerid: Logic error in checksum processing
Callerid checksum-ing was being handled incorrectly here. When the checksum is
calculated to be 0x00, it will perform 0x100-0x00 which results in 0x100. This
value will then fail the otherwise correct callerid message.

This patch changes the logic to simply add the calculated checksum to the
transmitted 2's compliment checksum.  

Review: https://reviewboard.asterisk.org/r/3356/
(closes issue ASTERISK-23488)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-17 21:14:21 +00:00
Richard Mudgett
1d8a661b30 AST-2014-001: Stack overflow in HTTP processing of Cookie headers.
Sending a HTTP request that is handled by Asterisk with a large number of
Cookie headers could overflow the stack.

Another vulnerability along similar lines is any HTTP request with a
ridiculous number of headers in the request could exhaust system memory.

(closes issue ASTERISK-23340)
Reported by: Lucas Molas, researcher at Programa STIC, Fundacion; and Dr. Manuel Sadosky, Buenos Aires, Argentina


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-10 17:00:32 +00:00
Kinsey Moore
b0df15e1bf AST-2014-002: chan_sip: Exit early on bad session timers request
This change allows chan_sip to avoid creation of the channel and
consumption of associated file descriptors altogether if the inbound
request is going to be rejected anyway.

(closes issue ASTERISK-23373)
Reported by: Corey Farrell
Patches:
     chan_sip-earlier-st-1.8.patch uploaded by Corey Farrell (license 5909)
     chan_sip-earlier-st-11.patch uploaded by Corey Farrell (license 5909)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-10 13:15:18 +00:00
Corey Farrell
dbfbcbb1c7 chan_sip: Fix deadlock of monlock between unload_module and do_monitor
Release monlock before calling pthread_join.  This ensures do_monitor
cannot freeze by locking monlock during module unload.

(closes issue ASTERISK-21406)
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3284/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-07 22:50:40 +00:00
Matthew Jordan
78089aa1cf chan_sip: Allow static realtime members to be qualified during module load.
When a static realtime peer with qualify=yes is loaded, Asterisk will fail to
send an OPTIONS request due to the lastms being equal to 0. This results in
the peer being unable to receive calls from Asterisk because the status is
permanently UNKNOWN.

This patch allows an OPTIONS request to be sent during module load by
ignoring the lastms value on startup only.

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

(closes issue ASTERISK-17523)
Reported by: Maciej Krajewski
Tested by: wushumasters
patches:
  realtime_fix_11.7.0.txt uploaded by Trevor Peirce (license 6112)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-07 04:35:43 +00:00
Russell Bryant
ad637d43d5 moh: fix a refcount error with realtime MOH
I observed a crash in res_musiconhold on an Asterisk 11 system using realtime
MOH.  Investigation of the backtrace showed a corrupt mohclass, implying that
it got destroyed before the code expected it to.  I went looking for reference
counting errors that could have caused this crash and this patch this result.
It contains 2 changes.

1) Remove a usless block of code that was impossible to reach.  There was even
a comment indicating that it was impossible to reach.  The conditional includes
"!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's inside of an if
block with the opposite check "ast_test_flag(global_flags,
MOH_CACHERTCLASSES)".  There's no good reason to keep it around.

2) A similar block to #1 contained a reference counting error.  It stores
state->class in the local variable mohclass without increasing its reference
count.  The reference count on mohclass is decremented at the end of the
function.  This block of code probably very rarely runs, which would help
explain why this system was working fine for many months before experiencing a
crash.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@410043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-06 23:01:26 +00:00
Kinsey Moore
992b0aa702 config: Fix inverted test
The test of the result of the stat() call was inverted such that its
output was only used if the call failed. This inverts the test so that
the output of stat() is used correctly. This was causing full reloads
on unchanged files.

(closes issue ASTERISK-23383)
Reported by: David Woolley


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@409916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-05 20:31:09 +00:00
David M. Lee
a15bacd163 Corrected cross-platform stat nanosecond code
When nanosecond time resolution was added for identifying config file
changes, it didn't cover all of the myriad of ways that one might obtain
nanosecond time resolution off of struct stat.

Rather than complicate the #if even further figuring out one system from
the next, this patch directly tests for the three struct members I know
about today, and #ifdef's accordingly.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@409833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-05 16:50:48 +00:00
Sean Bright
9808696b8a Fix references to 'keys' CLI commands in astgenkey
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@409777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-03-05 12:04:05 +00:00