Commit graph

260 commits

Author SHA1 Message Date
Luigi Rizzo
ad42dfe1dd move variable declarations to the beginning of a block.
Not applicable to previous branches.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-28 19:02:31 +00:00
Tilghman Lesher
2e4b41841d Merged revisions 71291 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r71291 | tilghman | 2007-06-24 12:50:24 -0500 (Sun, 24 Jun 2007) | 2 lines

Issue 10044 - chan->cdr is NULL here, so peer->cdr is what we really wanted to use

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-24 17:51:55 +00:00
Steve Murphy
d17beedd5a Merged revisions 71230 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r71230 | murf | 2007-06-22 21:29:48 -0600 (Fri, 22 Jun 2007) | 1 line

This patch is meant to fix 8433; where clid and src are lost via bridging.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-23 03:32:59 +00:00
Joshua Colp
c6755754d1 Merged revisions 69847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r69847 | file | 2007-06-19 09:00:57 -0400 (Tue, 19 Jun 2007) | 10 lines

Merged revisions 69846 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r69846 | file | 2007-06-19 08:57:55 -0400 (Tue, 19 Jun 2007) | 2 lines

Add parked call extension AFTER the parking slot has been announced, otherwise two threads will try to handle the same channel and it will go kaboom. (issue #9191 reported by japple)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-19 13:04:24 +00:00
Russell Bryant
b179e2155f Convert uses of strdup() to ast_strdup()
(issue #9983, eliel)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 23:01:01 +00:00
Russell Bryant
055d82cbce Add a massive set of changes for converting to use the ast_debug() macro.
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 19:39:12 +00:00
Tilghman Lesher
9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Russell Bryant
65e8178c2b Constify the return values of ast_parking_ext() and ast_pickup_ext()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:08:07 +00:00
Russell Bryant
baf596a954 Another tiny formatting change for testing ...
(issue #9828)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 18:43:12 +00:00
Russell Bryant
6ddcfff1c7 Change "show parkedcalls" to "parkedcalls show" and mark the previous command
as deprecated.  Also, convert the CLI command to the new style.
(issue #9861, patch from eliel)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 14:45:29 +00:00
Joshua Colp
6e6d4be830 Merged revisions 67064 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67064 | file | 2007-06-04 13:41:59 -0400 (Mon, 04 Jun 2007) | 2 lines

Returning a value that indicates the parking of a call was a success when it really wasn't (because the parking slot selected was in use) is the wrong thing to do. (issue #9723 reported by mdu113)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-04 17:43:21 +00:00
Russell Bryant
8d0124aba3 Add support for configuring named groups of custom call features in
features.conf.  This allows you to create a feature one time, and then map it
into groups for various different key mappings for the same feature, as well
as easy access control to groups of features.
(patch from bbryant)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-31 18:21:47 +00:00
Russell Bryant
cc35dc8999 Revert changes that snuck in with revision 66724.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-31 18:09:50 +00:00
Russell Bryant
8ea9dcc221 Fix a crash on reload by using calloc() instead of malloc() to ensure that
data is properly initialized.
(issue #9765, reported by MatsK, patch from eliel)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-31 14:52:30 +00:00
Joshua Colp
5b4de10a12 Don't overwrite a pointer to the first channel... that is bad. (issue #9770 reported by tfbu)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-22 12:58:38 +00:00
Russell Bryant
16a9f0844f Merged revisions 64426 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r64426 | russell | 2007-05-15 14:52:18 -0500 (Tue, 15 May 2007) | 3 lines

Properly fix a problem that occurs when you set PARKINGEXTEN to an exten where
a call is already parked.  (issue #9723, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-15 19:57:02 +00:00
Russell Bryant
17ab54e52a Merged revisions 64353 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r64353 | russell | 2007-05-14 16:16:39 -0500 (Mon, 14 May 2007) | 4 lines

When someone requests a specific parking space using the PARKINGEXTEN variable,
ensure that no other caller is already there.
(issue #9723, reported by mdu113, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-14 21:17:52 +00:00
Joshua Colp
4765d4145e Merged revisions 63872 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63872 | file | 2007-05-11 11:43:14 -0400 (Fri, 11 May 2007) | 2 lines

Make the PARKINGEXTEN feature of parking actually work. (issue #9708 reported by mdu113)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-11 15:48:38 +00:00
Russell Bryant
a9bd9e39d5 Merged revisions 63448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63448 | russell | 2007-05-08 11:53:09 -0500 (Tue, 08 May 2007) | 4 lines

I mixed up the use of the find_feature() function, so I renamed it
find_dynamic_feature, and changed the code to use the correct lock when
using it.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-08 16:54:02 +00:00
Russell Bryant
314c874d7d I noted this on the dev list but got no response, so I just did it myself.
Lock the call features when being used in chan_sip.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-08 16:41:35 +00:00
Russell Bryant
42a62a3c21 Merged revisions 63445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63445 | russell | 2007-05-08 11:30:43 -0500 (Tue, 08 May 2007) | 2 lines

Use a read/write lock when accessing the built-in features.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-08 16:31:16 +00:00
Steve Murphy
7ec9a2fb57 According to my testing, it's better if the ast_find_call_feature func ran this way instead, as far as the snom record button is concerned
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-04 18:47:19 +00:00
Steve Murphy
02337303ef a small upgrade to the coding standard, and an update to the code that triggered the upgrade.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-04 17:49:20 +00:00
Steve Murphy
3ee0077f04 Added a small bit of code to support the SNOM 360's Record button. Made the find_feature func in res_features.c public, so I could use it to find the automon dial sequence as configured by the user. When the INFO packet has a Record: header with on/off, the sequence is sent as consecutive DTMF frames on the phone's channel, triggering the automon functionality. The user has to configure the automon in features.conf, and set up his dialplan accordingly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-04 16:37:23 +00:00
Russell Bryant
7df63e233c In addition to making it so attended transfers don't fail unnecessarily,
add some new options to control what happens when you hangup on an attended
transfer before the target extension answers the transferred channel.  You
can now have it send the transferee back to the transferer.
(issue #8413, patch from sergee with very minor modifications by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-01 22:24:51 +00:00
Russell Bryant
37d94ceab9 Merged revisions 62548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r62548 | russell | 2007-05-01 16:57:10 -0500 (Tue, 01 May 2007) | 12 lines

Merged revisions 62547 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r62547 | russell | 2007-05-01 16:55:19 -0500 (Tue, 01 May 2007) | 4 lines

Remove an unnecessary check that makes it so if you hang up after doing an
attended transfer before the target extension answers the channel, the transfer
is not successful.  (issue #9338, patch by svanlund)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-01 21:57:58 +00:00
Russell Bryant
9c8c9c5fa1 Merge changes from team/russell/issue_5841:
This patch adds a "Bridge" Manager action, as well as a "Bridge" dialplan
application.  The manager action will allow you to steal two active channels
in the system and bridge them together.  Then, the one that did not hang up
will continue in the dialplan.  Using the application will bridge the calling
channel to an arbitrary channel in the system.  Whichever channel does not
hang up here will continue in the dialplan, as well.

This patch has been touched by a bunch of people over the course of a couple
years.  Please forgive me if I have missed your name in the history of things.
The most recent patch came from issue #5841, but there is also a reference to
an earlier version of this patch from issue #4297.  The people involved in writing
and/or reviewing the code include at least: twisted, mflorrel, heath1444, davetroy, 
tim_ringenbach, moy, tmancill, serge-v, and me.  There are also positive test
reports from many people.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10 20:44:44 +00:00
Steve Murphy
ecaf781933 Merged revisions 60989 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60989 | murf | 2007-04-09 12:32:07 -0600 (Mon, 09 Apr 2007) | 1 line

This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
This also adds the mods from 1.4/r.61136;
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-10 05:41:34 +00:00
Steve Murphy
09c0d56c5c Merged revisions 59522 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59522 | murf | 2007-03-30 11:51:17 -0600 (Fri, 30 Mar 2007) | 1 line

several changes via kpflemings review
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 17:57:47 +00:00
Steve Murphy
0f11d3c8c3 Merged revisions 59486 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59486 | murf | 2007-03-30 08:11:59 -0600 (Fri, 30 Mar 2007) | 1 line

These mods fix CDR issues from 8221, 8593, 8680, 8743, and perhaps others. Mainly with CDRs generated from transfer situations.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 14:37:21 +00:00
Olle Johansson
4561b7a83b Being picky...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-18 15:11:52 +00:00
Olle Johansson
7f0934b6f4 Simplify post_manager_event()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-18 15:01:07 +00:00
Joshua Colp
b8ab0abb83 Allow the user to specify where to enable the respective features for when a parked call is picked up. (ie: transfers and parking)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16 18:08:34 +00:00
Russell Bryant
a8309d1a3c Merged revisions 54888 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r54888 | russell | 2007-02-16 11:40:38 -0600 (Fri, 16 Feb 2007) | 3 lines

Clean up a few coding guidelines issues - spaces to tabs, use sizeof() to pass
the size of a static buffer, add spaces ...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16 17:44:39 +00:00
Joshua Colp
ae6898cbe5 Add option to features.conf that enables parking via DTMF on picked up parked calls. (issue #9082 reported by francesco_r)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16 17:41:27 +00:00
Russell Bryant
f60efe347a This introduces a new dialplan function, DEVSTATE, which allows you to do some
pretty cool things.

First, you can get the device state of anything in the dialplan:
  NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
  NoOp(The conference room 1234 has state ${DEVSTATE(MeetMe:1234)})

Most importantly, this allows you to create custom device states so you can
control phone lamps directly from the dialplan.
  Set(DEVSTATE(Custom:mycustomlamp)=BUSY)
  ...
  exten => mycustomlamp,hint,Custom:mycustomlamp


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-13 22:02:20 +00:00
Olle Johansson
38341590a3 Formatting changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-01 00:38:43 +00:00
Steve Murphy
80435b54a5 Merged revisions 51716 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51716 | murf | 2007-01-23 13:32:54 -0700 (Tue, 23 Jan 2007) | 1 line

this mod from 8593 (dstchannel in cdr is empty when transfer call).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23 20:36:08 +00:00
Joshua Colp
10e3cba61e Add parkedcalltransfers option for res_features. This basically enables/disables DTMF based transfers. If you want to get former behavior you will have to make sure it is enabled.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-16 17:50:25 +00:00
Joshua Colp
0f456a07e3 Merged revisions 51148 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r51148 | file | 2007-01-16 12:39:50 -0500 (Tue, 16 Jan 2007) | 10 lines

Merged revisions 51145 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r51145 | file | 2007-01-16 12:36:50 -0500 (Tue, 16 Jan 2007) | 2 lines

Return previous behavior. ParkedCalls will be able to do DTMF based transfers again. trunk however will get an option to allow this to be set on/off. (issue #8804 reported by nortex)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-16 17:42:47 +00:00
Jason Parker
5abda34cd9 Merged revisions 49742 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49742 | qwell | 2007-01-05 18:24:38 -0600 (Fri, 05 Jan 2007) | 7 lines

Save 1 whopping byte of allocated memory!

This looks like it may have been a chicken/egg scenario..

You had to call a cleanup func, because everything was allocated.
Then since you had to call a cleanup func, you were forced to allocate - ie; strdup("").

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-06 00:28:16 +00:00
Kevin P. Fleming
87b9abc892 Merged revisions 49676 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49676 | kpfleming | 2007-01-05 16:16:33 -0600 (Fri, 05 Jan 2007) | 2 lines

reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:43:18 +00:00
Joshua Colp
d72171b6e4 Merged revisions 48155 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r48155 | file | 2006-11-30 14:05:14 -0500 (Thu, 30 Nov 2006) | 10 lines

Merged revisions 48154 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48154 | file | 2006-11-30 14:04:11 -0500 (Thu, 30 Nov 2006) | 2 lines

Do not listen for DTMF on the bridge that comes into existence when ParkedCall is executed. This means native bridging can now occur for this. (issue #8406 reported by kebl0155)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-30 19:06:22 +00:00
Luigi Rizzo
49d03906b6 ESS-ification.
no need to bring this in 1.4, it is just code cleanup



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-18 20:17:06 +00:00
Steve Murphy
6dcb17baaf This update fulfils the request of bug 7109, which claimed the language arg to ast_stream_and_wait() was redundant. Almost all calls just used chan->language, and seeing how chan is the first argument, this certainly seems redundant. A change of language could just as easily be done by simply changing the channel language before calling.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-17 23:18:51 +00:00
Steve Murphy
908f176cf3 A fair number of changes for the sake of bug 7506
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-07 21:47:49 +00:00
Tilghman Lesher
10875731ec Merged revisions 47051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47051 | tilghman | 2006-11-02 17:00:20 -0600 (Thu, 02 Nov 2006) | 2 lines

Reverse change of "show" to "list" and make several other commands more consistent with "category verb arguments"

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-02 23:16:09 +00:00
Luigi Rizzo
36a86a19dd move variable declaration in the middle of a block
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-01 17:09:47 +00:00
Matt O'Gorman
198521c94a change default return extension after parking timeout.
6953 with minor changes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-01 00:07:37 +00:00
Joshua Colp
3e4a081e1c Make callerid fields in Manager events more consistent. CallerIDNum for number and CallerIDName for name. (issue #7976 reported by suhler)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-02 20:35:16 +00:00
Russell Bryant
d2c57c5f4f Merged revisions 43779 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r43779 | russell | 2006-09-27 12:55:49 -0400 (Wed, 27 Sep 2006) | 50 lines

Merged revisions 43778 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43778 | russell | 2006-09-27 12:54:30 -0400 (Wed, 27 Sep 2006) | 42 lines

Fix a problem that occurred if a user entered a digit that matched a bridge
feature that was configured using multiple digits, and the digit that was
pressed timed out in the feature digit timeout period.  For example, if blind
transfer is configured as '##', and a user presses just '#'.  In this situation,
the call would lock up and no longer pass any frames.
(issue #7977 reported by festr, and issue #7982 reported by michaels and
 valuable input provided by mneuhauser and kuj.  Fixed by me, with testing help
 and peer review from Joshua Colp).

There are a couple of issues involved in this fix:

1) When ast_generic_bridge determines that there has been a timeout, it returned
   AST_BRIDGE_RETRY.  Then, when ast_channel_bridge gets this result, it calls
   ast_generic_bridge over again with the same timestamp for the next event.
   This results in an endless loop of nothing until the call is terminated.
   This is resolved by simply changing ast_generic_bridge to return 
   AST_BRIDGE_COMPLETE when it sees a timeout.

2) I also changed ast_channel_bridge such that if in the process of calculating
   the time until the next event, it knows a timeout has already occured, to
   immediately return AST_BRIDGE_COMPLETE instead of attempting to bridge the
   channels anyway.

3) In the process of testing the previous two changes, I ran into a problem in
   res_features where ast_channel_bridge would return because it determined
   that there was a timeout.  However, ast_bridge_call in res_features would
   then determine by its own calculation that there was still 1 ms before the
   timeout really occurs.  It would then proceed, and since the bridge broke
   out and did *not* return a frame, it interpreted this as the call was over
   and hung up the channels.

   The reason for this was because ast_bridge_call in res_features and
   ast_channel_bridge in channel.c were using different times for their
   calculations.  channel.c uses the start_time on the bridge config, which
   is the time that the feature digit was recieved.  However, res_features
   had another time, 'start', which was set right before calling 
   ast_channel_bridge.  'start' will always be slightly after start_time in the
   bridge config, and sometimes enough to round up to one ms.

   This is fixed by making ast_bridge_call use the same time as 
   ast_channel_bridge for the timeout calculation.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-27 16:57:44 +00:00
Tilghman Lesher
6ae8741518 Lots more removal of deprecated things
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-21 21:59:12 +00:00
Kevin P. Fleming
41d3e99e28 move ADSI functionality into ast_ namespace
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-20 04:34:51 +00:00
Kevin P. Fleming
fcb999c01c merge qwell's CLI verbification work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 19:54:18 +00:00
Matt O'Gorman
05a695af72 everything that loads a config that needs a config file to run
now reports AST_MODULE_LOAD_DECLINE when loading if config file
is not there, also fixed an error in res_config_pgsql where it 
had a non static function when it should.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 21:00:20 +00:00
Joshua Colp
c6977b9983 Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 01:59:02 +00:00
Kevin P. Fleming
ece7018515 add one remaining bit of functionality to the features.conf applicationmap (from Matt Nicholson in Digium Express Services)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 21:20:43 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Joshua Colp
d5152177f3 Properly check to see if parkingnum is a number (issue #7762 reported by robf)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-20 04:25:28 +00:00
Russell Bryant
92bd7f19f7 Merge team/russell/ast_verbose_threadstorage
- instead of defining a free() wrapper in a bunch of files, define it as
  ast_free() in utils.h and remove the copies from all the files.

- centralize and abstract the code used for doing thread storage. The code
  lives in threadstorage.h, with one function being implemented in utils.c.
  This new API includes generic thread storage as well as special functions
  for handling thread local dynamic length string buffers.

- update ast_inet_ntoa() to use the new threadstorage API
- update ast_state2str() to use the new threadstorage API
- update ast_cli() to use the new threadstorage API

- Modify manager_event() to use thread storage. Instead of using a buffer of
  4096 characters as the workspace for building the manager event, use a thread
  local dynamic string.  Now there is no length limitation on the length of the
  body of a manager event.

- Significantly simplify the handling of ast_verbose() ...
  - Instead of using a static char buffer and a lock to make sure only one
    thread can be using ast_verbose() at a time, use a thread local dynamic
    string as the workspace for preparing the verbose message. Instead of
    locking around the entire function, the only locking done now is when the
    message has been built and is being deliviered to the list of registered
    verbose message handlers.
  - This function was doing a strdup() on every message passed to it and
    keeping a queue of the last 200 messages in memory. This has been
    completely removed. The only place this was used was that if there were
    any messages in the verbose queue when a verbose handler was registered,
    all of the messages in the queue would be fed to it.  So, I just made sure
    that the console verbose handler and the network verbose handler (for
    remote asterisk consoles) were registered before any verbose messages.
    pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at
    startup, but I didn't feel the performance hit of this message queue was
    worth saving the initial verbose output for these very rarely used modules.
  - I have removed the last three arguments to the verbose handlers, leaving
    only the string itself because they aren't needed anymore. For example,
    ast_verbose had some logic for telling the verbose handler to add
    a newline if the buffer was completely full. Now that the buffer can grow
    as needed, this doesn't matter anymore.
  - remove unused function, ast_verbose_dmesg() which was to dispatch the
    message queue
  - Convert the list of verbose handlers to use the linked list macros.

- add missing newline characters to a few ast_verbose() calls

- convert the list of log channels to use the linked list macros in logger.c

- fix close_logger() to close all of the files it opened for logging

- update ast_log() to use a thread local dynamic string for its workspace
  for preparing log messages instead of a buffer of size BUFSIZ (8kB on my
  system) allocated on the stack.  The dynamic string in this case is limited
  to only growing to a maximum size of BUFSIZ.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 06:32:04 +00:00
Russell Bryant
4d7c67fc72 Merge my applicationmap_fixup branch to address the issues described in this
post to the asterisk-dev mailing list:
  http://lists.digium.com/pipermail/asterisk-dev/2006-August/022174.html

This implements full control over both which channel(s) can activate a dynamic
feature, as well as which channel to run the application on.  I also updated
the documentation on the applicationmap in features.conf.sample in hopes that
the configuration is more clear.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07 04:15:52 +00:00
Kevin P. Fleming
652d06f998 Merged revisions 38686 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r38686 | kpfleming | 2006-08-01 18:07:06 -0500 (Tue, 01 Aug 2006) | 2 lines

ensure that the 'feature digit timeout' value is taken into account when deciding how long the bridge should run (this fixes a problem report where a digit press that did not invoke a feature is never passed across the bridge)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-01 23:09:28 +00:00
Russell Bryant
03356c2a4d fix seg fault when the parked call that timed out was the last one in the list
of parked calls (fixes issue #7565)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-27 04:44:49 +00:00
Kevin P. Fleming
6d0742fc16 merge Russell's 'hold_handling' branch, finally implementing music-on-hold handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 20:44:39 +00:00
Olle Johansson
f8311adcda METERMAIDS:
-----------
- Adding devicestate providers, a new architecture to add non-channel related
  device state information, like parking lots, queues, meetmes, vending machines
  and Windows 98 reboots (lots of blinking on those lights)
- Adding provider for parking lots, so you can subscribe to the status of a
  parking lot
- Adding provider for meetme, so you can have a blinking lamp for a meetme
  ( Example: exten => edvina,hint,meetme:1234 )
- Adding support for directed parking - set the PARKINGEXTEN before you manually
  call Park() and you will be parked on that space. If it's occupied, dialplan
  execution will continue.

This work was sponsored by Voop A/S - www.voop.com


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-26 16:43:21 +00:00
Olle Johansson
7876a86e96 - Doxygen and some formatting fixes in res_features
- Get rid of compiler warnings in chan_sip


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-21 07:49:29 +00:00
Kevin P. Fleming
472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Joshua Colp
10467be4c0 attended transfer use transferer context first and set who is transfering at the beginning (issue #6752 reported by moy -- minor mods done by myself)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-26 17:59:29 +00:00
Matt O'Gorman
45107ed763 allows for configurable answer timeout on attended transfer
patch 0006763 with minor changes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23 18:23:05 +00:00
BJ Weschke
99fe70da00 Merged revisions 29696 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r29696 | bweschke | 2006-05-23 11:58:24 -0400 (Tue, 23 May 2006) | 3 lines

 Fix a potential leak and correct (hopefully) a segfault under certain conditions. #6784 (vovan and perry testing)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23 16:37:40 +00:00
Joshua Colp
64b94dad80 Merged revisions 29512 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r29512 | file | 2006-05-22 17:15:04 -0300 (Mon, 22 May 2006) | 2 lines

Use the correct language when playing the transfer sound (issue #7109 reported by casper)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22 20:19:00 +00:00
BJ Weschke
5235890be4 This is part 2/2 of the patches for #7090. Adds one-step call parking to /trunk via builtin functions and 'k' 'K' application options added to app_dial. This also resolves #6340.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22 16:43:43 +00:00
BJ Weschke
4733732b61 Merged revisions 29196 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r29196 | bweschke | 2006-05-21 10:16:59 -0500 (Sun, 21 May 2006) | 3 lines

 When an application that is executed via applicationmap and exits non-zero, make sure that we pass through the correct return value from the application to make sure a segfault doesn't occur by a bridge trying to continue when it should not. Also, when executing applications via applicationmap, make sure that the application is executed against the channel whose DTMF caused it to be fired off in the first place. (part 1/2 of #7090 - this is the only fix that will be applied to both 1.2 and /trunk) acunningham and blitzrage on testing...


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-21 15:25:31 +00:00
Russell Bryant
f9c578a8a0 - The recent change to linklists.h broke the build on linux for some reason.
So, I have removed all of the uses of AST_LIST_HEAD_INIT and replaced them
   with the equivalent static initializations.
 - On passing, fix a memory leak in the unload_module() function of chan_agent.
   The agents list mutex was never destroyed, and the elements in the agents
   list were not freed.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 20:07:44 +00:00
Russell Bryant
04ecb29d03 remove almost all of the checks of the result from ast_strdupa() or alloca().
As it turns out, all of these checks were useless, because alloca will never
return NULL.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 13:22:15 +00:00
Joshua Colp
3fbd46099e Incorrect log statement when playing transfer sounds (issue #7008 reported and fixed by nathan)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-08 11:22:00 +00:00
BJ Weschke
282eb80ed4 Correct call parking behavior when there is no courtesytone specified. #6306 (murf)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-03 21:39:24 +00:00
Russell Bryant
8085f4e14b a bunch of conversion to ast_channel_*lock (issue #7058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 14:50:18 +00:00
Luigi Rizzo
7e0d402e88 move wait_and_stream to ast_wait_and_stream() because equivalent
code is replicated in way too many places not to have a global
function for that.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 20:28:32 +00:00
Luigi Rizzo
23c6d5eff8 comment a possible memory leak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 16:18:12 +00:00
Luigi Rizzo
6553aa3a36 merge some common code into a function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 16:04:25 +00:00
Luigi Rizzo
4cef4ef720 more NULL / "" equivalence for CID fields.
Mark an inconsistency in empty string handling.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 10:47:07 +00:00
Luigi Rizzo
51743a4aea simplify the flow of builtin_atxfer().
There is still a lot of similarity with builtin_blindtransfer()
which should be removed by definining functions for the common
pieces of code (eg in the first part).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-18 13:05:48 +00:00
Olle Johansson
39b530f4d6 - Doxygen formatting
Please place a Doxygen todo marker before things that needs to be checked up later
  by someone - it's like /*! \todo We really need to implement this in C++ */

- option_debug checking before logging to DEBUG channel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-17 04:31:21 +00:00
Luigi Rizzo
b7e36b50cc preparation for reduction of the nesting of a large function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 23:05:42 +00:00
Luigi Rizzo
7cb4a9df38 more usages of stream_and_wait
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 22:46:00 +00:00
Luigi Rizzo
db107f93e1 more usages of function 'finishup()'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 22:22:53 +00:00
Luigi Rizzo
2c7b77814c one more instance of stream_and_wait, and remove an extra
'error = 1' line put in by miustake



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 22:02:30 +00:00
Luigi Rizzo
6e6315099c more replaceemnt of dup code with functions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 21:41:06 +00:00
Luigi Rizzo
ed8f2e43f6 localize several variables, and simplify the last part of park_exec()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 20:32:14 +00:00
Luigi Rizzo
3e20f8d75d more formatting cleanup including removal of a useless check
for f == NULL



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 20:09:01 +00:00
Luigi Rizzo
09a1511672 rename a variable same as used in a very similar function,
to reduce code differences.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 19:56:08 +00:00
Luigi Rizzo
4ca8c0fc8d s/pu->chan/chan in a few places;
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 19:41:12 +00:00
Luigi Rizzo
36ea51ecd7 put some common code into functions (still more instances to be replaced)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 19:26:57 +00:00
Luigi Rizzo
70109abc39 properly reindent a large block.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 19:12:51 +00:00
Luigi Rizzo
e304a986fd more readability fixes - localize some variables and invert
a condition in an 'if' statement to reduce the nesting depth.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 19:05:19 +00:00
Luigi Rizzo
d29f8a677e introduce a function to set context, extension and priority
replacing some common blocks of code (there are still a few
instances where it can be used)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 18:49:46 +00:00
Luigi Rizzo
81ed862e67 minor readability fixes in preparation for more work on this file:
- replace nested 'if' with '&&'
- fix indentation
- annotate the end brace of some huge block
- remove useless parentheses



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-16 18:37:01 +00:00
Luigi Rizzo
e42087f5e3 - normalize for() loops to navigate through variables,
removing replicated var = var->next;
- remove a potential infinite loop and document the problem
- remove useless checks and document why
- mark XXX a possible bug (to be investigated)
- use ast_strlen_zero() instead of expanding it inline
- fix indentation in one place   
- replace a nested 'if' with '&&'



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-15 00:05:08 +00:00
Luigi Rizzo
d043954dc1 - remove some unnecessary casts and braces;
- add braces around a nested 'if'
- use S_OR and '?' to remove some duplicated function calls;
- replace nested 'if' with &&
- move out a common term in a sequence of 'if'
- add a comment on a potentially dangerous string manipulation



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14 23:20:29 +00:00