Commit Graph

775 Commits

Author SHA1 Message Date
Russell Bryant
bc56a84c58 Merge changes from team/russell/smdi-1.4
This commit brings in a significant set of changes to the SMDI support in Asterisk.
There were a number of bugs in the current implementation, most notably being that
it was very likely on busy systems to pop off the wrong message from the SMDI message
queue.  So, this set of changes fixes the issues discovered as well as introducing
some new ways to use the SMDI support which are required to avoid the bugs with
grabbing the wrong message off of the queue.

This code introduces a new interface to SMDI, with two dialplan functions.  First,
you get an SMDI message in the dialplan using SMDI_MSG_RETRIEVE() and then you access
details in the message using the SMDI_MSG() function.  A side benefit of this is that
it now supports more than just chan_zap.

For example, with this implementation, you can have some FXO lines being terminated 
on a SIP gateway, but the SMDI link in Asterisk.

Another issue with the current implementation is that it is quite common that the
station ID that comes in on the SMDI link is not necessarily the same as the Asterisk
voicemail box.  There are now additional directives in the smdi.conf configuration
file which let you map SMDI station IDs to Asterisk voicemail boxes.

Yet another issue with the current SMDI support was related to MWI reporting over
the SMDI link.  The current code could only report a MWI change when the change
was made by someone calling into voicemail.  If the change was made by some other
entity (such as with IMAP storage, or with a web interface of some kind), then the
MWI change would never be sent.  The SMDI module can now poll for MWI changes if
configured to do so.

This work was inspired by and primarily done for the University of Pennsylvania.

(also related to issue #9260)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@104119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-26 00:25:29 +00:00
Jason Parker
caa961fbcf Specify which digit string was matched in debug message.
(closes issue #11949)
Reported by: dimas
Patches:
      v1-feature-debug.patch uploaded by dimas (license 88)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@102858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-07 19:53:55 +00:00
Kevin P. Fleming
5b8cef7ecb ensure that all remaining multi-object modules are built using their proper CFLAGS and include directory paths
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@102627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-06 11:48:48 +00:00
Joshua Colp
8dad56f666 Perform dialing asynchronously when using the originate CLI command so the CLI does not appear to block.
(closes issue #11927)
Reported by: bbhoss


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@102378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-05 15:09:29 +00:00
Mark Michelson
bd9a40f98a 1. Prevent the addition of an extra '/' to the beginning of an absolute pathname.
2. If ast_monitor_change_fname is called and the new filename is the same as the old, then exit early and don't set the
   filename_changed field in the monitor structure. Setting it in this case was causing ast_monitor_stop to erroneously
   delete them.

(closes issue #11741)
Reported by: garlew
Tested by: putnopvut



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@101531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31 21:00:24 +00:00
Russell Bryant
9b53acdbf5 Fix a crash in ast_masq_park_call()
(issue #11342)
Reported by: DEA
Patches:
      res_features-park.txt uploaded by DEA (license 3)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@100626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-28 18:26:31 +00:00
Tilghman Lesher
d97a51a50b Oops, should have checked for a NULL obj, here, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@99775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-23 04:20:15 +00:00
Olle Johansson
48066f4cfd Add more dependencies on chan_local and add a note to the description of chan_local
so that people don't disable it in menuselect just to clean up.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@99594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-22 17:41:57 +00:00
Tilghman Lesher
cae4280341 Permit the user to specify number of seconds that a connection may remain idle,
which fixes a crash on reconnect with the MyODBC driver.
(closes issue #11798)
 Reported by: Corydon76
 Patches: 
       20080119__res_odbc__idlecheck.diff.txt uploaded by Corydon76 (license 14)
 Tested by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@99341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-21 18:11:07 +00:00
Terry Wilson
eab2f166c3 This should at least temporarily fix a problem where the 't' Dial
option is incorrectly passed to the transferee when built-in
attended transfers are used.  There is still a problem with 'T',
but better to fix some problems than no problems while we work
on it.

(closes issue #7904)
Reported by: k-egg
Patches: 
      transfer-fix-b14-r97657.diff uploaded by sergee (license 138)
Tested by: sergee, otherwiseguy


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@99032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 17:13:00 +00:00
Tilghman Lesher
6efee0907d Add a connection timeout attribute, as that was what was intended with the
login timeout, but ODBC divides it up into 2 different timeouts.
(Closes issue #11745)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@98467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-12 00:05:08 +00:00
Joshua Colp
ebdf2940b8 If the channel is hungup during RECORD FILE send a result code of -1 to be uniform with everything else.
(closes issue #11743)
Reported by: davevg
Patches:
      res_agi.diff uploaded by davevg (license 209)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@98317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11 19:28:30 +00:00
Russell Bryant
eebd74ee97 Fix saying the parking space number to the caller doing the parking ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@97529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 18:02:08 +00:00
Russell Bryant
61a1ce95a5 Don't crash if something happens when setting up an SMDI interface and it gets
destroyed before the SMDI port handling thread gets created.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-07 16:39:23 +00:00
Philippe Sultan
ee7978e96e Indentation fix, makes the code easier to read
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-07 14:34:36 +00:00
Philippe Sultan
e531dcb1af Compute the base64 value over the [authzid]\0authcid\0password string,
thus excluding the trailing NULL byte.

This change has already been committed to trunk, see #11644.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-07 14:25:29 +00:00
Jason Parker
6cc0887f56 Properly continue in the dialplan if using PARKINGEXTEN and the slot is full.
Issue 11237, patch by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-04 22:55:56 +00:00
Tilghman Lesher
6d96102150 Missed initialization caused crash.
Reported and fixed by: tiziano
(Closes issue #11671)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-03 21:37:02 +00:00
Russell Bryant
39c5c66235 Don't try to send a parked call back to itself.
(closes issue #11622, reported by djrodman, patched by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@94793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-26 17:24:17 +00:00
Mark Michelson
b0dd0e2a68 Sox versions 13.0.0 and newer do not have "soxmix" and instead use sox -m. res_monitor
needs to use this if the user does not have soxmix.

(closes issue #11589, reported by amessina, patch inspired by amessina but with a flourish from me)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@94122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-19 23:02:22 +00:00
Kevin P. Fleming
fd1e942f53 fix some copy-and-paste leftovers
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@93183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17 07:21:08 +00:00
Kevin P. Fleming
627f595c58 In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.

While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@93180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17 06:44:51 +00:00
Tilghman Lesher
804d837c7d Change help documentation to match actual behavior (FAILURE vs FAILED).
Reported by: angeloxx-sir
Patch by: tilghman
(Closes issue #11548)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@92933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-14 15:01:10 +00:00
Russell Bryant
f4bb168b66 resolve compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@92556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-12 19:40:02 +00:00
Mark Michelson
097b9dc2cf Correctly detect where a dynamic feature was activated. Before this patch,
the channel which initiated the bridge was always assumed to have been the one
which activated the dynamic feature. This patch corrects this.

(closes issue #11529, reported and patched by nic_bellamy)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@92510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-12 17:46:14 +00:00
Tilghman Lesher
2c651fc500 If both dbhost and dbsock were not set, a NULL deref could result
Reported by: xrg
Patch by: tilghman
(Closes issue #11387)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@90736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-03 23:23:55 +00:00
Jason Parker
8579b0ff93 Fix crash in ParkAndAnnounce application.
Issue #11436, reported by lytledd, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@90607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-03 20:51:17 +00:00
Tilghman Lesher
817da97389 Properly escape input buffers (Fixes AST-2007-025)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@90160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 19:24:11 +00:00
Mark Michelson
601df8f699 Changing some calls from free() to ast_free() since they were allocated with
ast_calloc().

(closes issue #11390, reported and patched by Laureano)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-27 20:22:59 +00:00
Joshua Colp
4ac8f69d0a Add module counting removal for error conditions.
(closes issue #11333)
Reported by: Laureano
Patches:
      res_features_v2.c.patch uploaded by Laureano (license 265)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26 18:02:56 +00:00
Tilghman Lesher
095108273b We previously attempted to use the ESCAPE clause to set the escape delimiter to
a backslash.  Unfortunately, this does not universally work on all databases,
since on databases which natively use the backslash as a delimiter, the
backslash itself needs to be delimited, but on other databases that have no
delimiter, backslashing the backslash causes an error.

So the only solution that I can come up with is to create an option in res_odbc
that explicitly specifies whether or not backslash is a native delimiter.  If
it is, we use it natively; if not, we use the ESCAPE clause to make it one.

Reported by: elguero
Patch by: tilghman
(Closes issue #11364)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-25 17:17:10 +00:00
Tilghman Lesher
7808fb44f1 Free some frames that would otherwise leak on error.
Reported by: Laureano
Patch by: Laureano,tilghman
(Closes issue #11351)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-24 16:59:59 +00:00
Tilghman Lesher
528dd04ecb Use ESCAPE clause for the first parameter, not just 2nd-Nth parameters.
Reported by: apsaras
Patch by: tilghman
(Closes issue #11353)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-23 17:05:10 +00:00
Terry Wilson
9c29d80d70 If a channel gets masqueraded in the middle of a park, don't play the
announcement to the masqueraded channel, and dial back to the original
channel on timeout.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 18:59:27 +00:00
Joshua Colp
34a3095877 Print out the correct filename (features.conf) in the log message when parkpos options are incorrect.
(closes issue #11295)
Reported by: Laureano
Patches:
      res_features.c.patch uploaded by Laureano (license 265)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 15:53:32 +00:00
Jason Parker
b0e9d400ff Revert change from revision 67064.
It is documented behavior that if a parking extension already exists while using PARKINGEXTEN,
 dialplan execution will continue.  If blind transferring to a Park with PARKINGEXTEN, you
 must keep this in mind, and handle the failure yourself.

Issue 11237, reported by jon.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-13 19:47:45 +00:00
Steve Murphy
164d8a5e61 In response to 10578, I just ran 1.4 thru valgrind; some of the config leakage I've already fixed, but it doesn't hurt to double check. I found and fixed leaks in res_jabber, cdr_tds, pbx_ael. Nothing major, tho.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07 21:40:28 +00:00
Russell Bryant
6e74f69b51 Fix init_classes() so that classes that actually do have files loaded aren't
treated as empty, and immediately destroyed ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 20:18:49 +00:00
Russell Bryant
3946288786 If someone were to delete the files used by an existing MOH class, and then
issue a reload, further use of that class could result in a crash due to
dividing by zero.  This set of changes fixes up some places to prevent this
from happening.

(closes issue #10948)
Reported by: jcomellas
Patches:
      res_musiconhold_division_by_zero.patch uploaded by jcomellas (license 282)
	  Additional changes added by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 18:20:07 +00:00
Tilghman Lesher
1d5bf38048 Don't check used pooled connections for connection status, as it will cause issues for prepared queries.
Reported by: Nick Gorham (via -dev list)
Patch by: tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 16:20:13 +00:00
Jason Parker
f43de2908a Make sure we free some allocated memory before returning.
Issue 11131, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 21:23:11 +00:00
Joshua Colp
8f4659cc89 Add two more checks before printing out a warning message about bridging. If either channel has hungup of course the bridge will have failed.
(closes issue #10009)
Reported by: dimas


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 16:13:39 +00:00
Russell Bryant
9723b7d878 Fix a spelling error in a log message. SMDI, not SDMI.
(closes issue #10959)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@85517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-12 15:45:09 +00:00
Philippe Sultan
95e24c44c1 Presence packets from a client who's connected with our Jabber ID are
valid, therefore, those clients must be considered as buddies. The resource
string helps us make the distinction between clients.

Closes issue #10707, reported by yusufmotiwala.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-07 16:15:39 +00:00
Philippe Sultan
c7e7a27bac Prevent Asterisk from crashing when receiving a presence packet
without resource from a buddy that is known to have a resource list.

Revert a change I previously made, where Asterisk could point to a
freed memory location.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-07 15:52:44 +00:00
Jason Parker
ede010d0d0 Fix some odd formatting I missed..
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-02 19:01:59 +00:00
Jason Parker
01480eb1fb Finish up on transferee channel before return on failure.
Issue 10821, patch by Ivan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-02 18:52:55 +00:00
Russell Bryant
63217678cb Add another sanity check in the AGI read loop. We really don't care about
EAGAIN unless we didn't read an entire line.  If there is a newline at the
end if the read buffer, break, because we got the whole thing.
(reported and patched by bmd)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 19:56:28 +00:00
Joshua Colp
27a869e423 Fix randomness. save_pos was being set to 0 initially instead of -1, causing it to jump to position 0 when moh started.
(closes issue #10859)
Reported by: jamesgolovich
Patches:
      asterisk-mohpos2.diff.txt uploaded by jamesgolovich (license 176)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 13:57:42 +00:00
Russell Bryant
d6b8fb4dc0 gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:37:20 +00:00