Compare commits

...

3009 Commits
1.0.2 ... 1.2.3

Author SHA1 Message Date
Kevin P. Fleming
42b6246f8a Convert all release tags to Opsound music-on-hold.
For more details:
http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/



git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.2.3@212958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 20:42:51 +00:00
Russell Bryant
9d58ef0e98 importing ChangeLog, .version, and .lastclean for 1.2.3 release
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.2.3@8647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-25 12:57:51 +00:00
Russell Bryant
504ba5e0b3 Creating tag for the release of asterisk-1.2.3
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.2.3@8646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-25 12:57:34 +00:00
Olle Johansson
dc08bd8501 Issue #6439 - the "timebomb" bug. Patch by Markster over GPRS
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-25 09:46:43 +00:00
Russell Bryant
aca3c1f79d don't leak almost 200 bytes for each new channel (issue #6330)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-25 05:38:36 +00:00
Kevin P. Fleming
e07c977f18 ensure hangup cause code is handled properly when channel does not return a frame (issue #6346)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-25 01:50:52 +00:00
Russell Bryant
2ae21cc5c3 completely arbitrary whitespace change for testing something with svnmerge ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-24 22:55:32 +00:00
Kevin P. Fleming
05fed23d06 ensure that channel cannot become zombie after we check but before we try to start indications
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-24 22:32:09 +00:00
Matthew Fredrickson
2f43722570 Backport fix for #6229, hangup on polarity reversal
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-24 20:37:30 +00:00
Olle Johansson
7ea315539c Issue 6114: Don't hangup on BYE/ALSO with no channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-24 19:21:15 +00:00
Olle Johansson
10d527906a Issue #6308 - never send response to ACK. (Reported by whiskerp)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-24 13:15:13 +00:00
Russell Bryant
2f1d118537 fix memory leak from not freeing the queue member list when freeing an old queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-22 19:03:53 +00:00
Russell Bryant
696922defe fix MixMonitor crash (issue #6321, probably others)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-22 17:47:13 +00:00
BJ Weschke
cea50c9247 Bug fix: Correct some scenarios where CALL_LIMIT could not be getting adjusted properly allowing chan_sip to send calls when it really shouldn't. Bug #6111
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-22 15:13:41 +00:00
Tilghman Lesher
636f956bf0 Bug 6281 - Cannot set more than a single header with SIPAddHeader
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-22 08:52:49 +00:00
Russell Bryant
64b1d91701 add a modified fix to prevent writing outside of the provided workspace when
calculating a substring (issue #6271)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-22 02:05:41 +00:00
Russell Bryant
ff83f7c6ed temporarily revert substring fix pending the result of the discussion in issue #6271
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-21 23:43:14 +00:00
Russell Bryant
87c0cd2667 prevent the possibility of writing outside of the available workspace (issue #6271)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-21 23:17:06 +00:00
Tilghman Lesher
366c8a99ef Bug 5936 - AddQueueMember fails on realtime queue, if queue not yet loaded
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-21 18:29:39 +00:00
Russell Bryant
30f2aff526 fix invalid value of prev_q (issue #6302)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-20 18:34:42 +00:00
Matt O'Gorman
962cffffc7 solved problem with delayreject and iax trunking
bug 4291


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-20 01:00:46 +00:00
Olle Johansson
f196484187 Enable "musicclass" setting for sip peers as per the config sample.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-19 19:40:28 +00:00
Tilghman Lesher
c40fe2f71a Bug 6072 - Memory leaks in the expression parser
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-19 19:14:37 +00:00
Russell Bryant
74c149e891 fix Message-Account header to use the ip address if the fromdomain
isn't set (issue #6278)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-19 04:56:48 +00:00
Russell Bryant
57c82eb66f fix a seg fault due to assuming that space gets allocatted on the stack in the
same order that we declare the variables (issue #6290)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-19 04:17:45 +00:00
Matt O'Gorman
5460606cff Solves issue with the login proccess in meetme
patch from 6136


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18 21:02:06 +00:00
Russell Bryant
1a509417a4 remove ChangeLog from the 1.2 branch. It will only be present in the tags.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18 02:49:21 +00:00
Matt O'Gorman
898cd20ceb Changed order of autoload so that pbx_ comes before
channels, and in doing so cause bug 6002 to not
be an issue


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18 00:47:04 +00:00
Matt O'Gorman
792b78b317 Stop any generators running on a channel when
festival is called as described in 5996


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17 20:10:29 +00:00
Matthew Fredrickson
4efe647169 Backport of fix for #6094
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17 18:29:57 +00:00
Matt O'Gorman
4fbba55f14 Fixed code ordering of logger_init and queue_log_init
bug 6263


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17 16:55:30 +00:00
Kevin P. Fleming
2efc5a9e83 update CLI copyright notice
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17 13:11:55 +00:00
Kevin P. Fleming
57144d5102 do rlimit check _after_ reading config file, in case 'dumpcore' is specified there
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-16 23:51:37 +00:00
Tilghman Lesher
555bbffec3 Bug 6238 - Fix segfault when delimiter not specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-14 19:06:44 +00:00
Russell Bryant
e22510658b fix spelling errors (issue #6227)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@8047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-13 06:07:39 +00:00
Tilghman Lesher
cb08e49303 Bug 6211 - Add option deletevoicemail as equivalent to option delete for Realtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-12 06:14:22 +00:00
Russell Bryant
dee03d2b80 move variable to correct scope (issue #6197)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 19:08:53 +00:00
Russell Bryant
b5ec3e47fa fix temp greetings with ODBC storage (issue #6078)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 07:18:16 +00:00
Russell Bryant
ffb11fb950 fix mem leak on module unload (issue #6190)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 05:46:39 +00:00
Russell Bryant
fbee1f0ed7 don't override an error condition that occurred when acting on the primary channel
when stopping the autoservice on the peer channel.  (from issue #6087)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 05:26:21 +00:00
Russell Bryant
131ada1116 lock list of translators *before* recalculating the translation matrix
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 04:53:24 +00:00
Matt O'Gorman
b0609b29aa Minor typo refrenced in 6191
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 04:38:07 +00:00
Russell Bryant
bbb59b8c5e fix locking error - lock instead of unlock
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 04:19:21 +00:00
Russell Bryant
72deed0c37 fix a little typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 03:12:44 +00:00
Tilghman Lesher
b9f8c60fa7 Bug 6192 - behave correctly when mailbox is specified as argument
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-11 01:30:10 +00:00
Olle Johansson
87b36e1ff1 - Adding reference to README.tds
- Reformatting table


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-10 08:48:14 +00:00
Kevin P. Fleming
d8c5d338cb re-initialize _all_ sequence numbers when transfer completes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 22:48:48 +00:00
Russell Bryant
417438fea0 add missing unlock (issue #6112)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 22:07:26 +00:00
Tilghman Lesher
5488ffb6d4 Bug 6157 - Memory leak
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 20:08:24 +00:00
Tilghman Lesher
e8725ce940 Update variable documentation to match the code
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 18:37:50 +00:00
Kevin P. Fleming
0e734920e8 commit user/group-related changes from trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 18:11:23 +00:00
Kevin P. Fleming
ad598a2060 backport fix from revision 7856 of trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 18:09:53 +00:00
Kevin P. Fleming
bb47f95262 fix breakage introduced in revision 7871
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 18:08:07 +00:00
Russell Bryant
a7a2115b9c fix seg fault when using greek syntax in VoicemMailMain (issue #6142)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 05:11:44 +00:00
Russell Bryant
18429f2a69 backport fix for unnecessary unlock (issue #6171)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-09 04:52:16 +00:00
Tilghman Lesher
7e6430787c Bug 6156 - catch all threading errors, not just simple failure
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-07 07:27:18 +00:00
Tilghman Lesher
dc3ba8c223 Dumb error messages - "Context 'context' already included in 'in' context"
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-06 00:34:40 +00:00
Kevin P. Fleming
2fd6520a7e update agent persistence when an agent gets logged off by autologoff
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-06 00:21:00 +00:00
Tilghman Lesher
7a61b36104 Bug 6076 - Fix documentation of ast_trim_blank return value
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 23:53:07 +00:00
Kevin P. Fleming
2f4783a770 eliminate rounding errors that caused call time limits to be inaccurate (issue #5913)
round 'time left' reported during call limit warnings up to sound more accurate


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 23:49:50 +00:00
Tilghman Lesher
6056391a78 Bug 6081 - fix for memory leak, formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 23:07:08 +00:00
Kevin P. Fleming
213b3575ce ensure that variable is initialized
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 20:52:38 +00:00
Olle Johansson
3821e18d08 Fix copyright of changed file
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 09:13:21 +00:00
Kevin P. Fleming
224c6e3f7c send device state updates for auto-logoff of agents as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 00:58:29 +00:00
Kevin P. Fleming
18ab6f429c doh... fseek() has no useful return value
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-05 00:18:46 +00:00
Kevin P. Fleming
07f8542ce7 use proper fwrite() parameters and return value
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:51:03 +00:00
Kevin P. Fleming
cf293c224d return properly after extending file
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:45:34 +00:00
Kevin P. Fleming
e234ad0011 ensure that ulaw/alaw sound files are filled with silence when extended (not zeroes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:27:57 +00:00
Kevin P. Fleming
229b778b0b make monitoring more tolerant of peers that deliver frames in bursts
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 23:02:38 +00:00
Olle Johansson
66f484defe Issue #5980: Removing extra CR+LF in manager events - needs port to trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 21:46:40 +00:00
Olle Johansson
ed523e248a Fixing typo in XML for video updates.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 21:43:14 +00:00
Russell Bryant
3c49f27bf4 use a more correct way of determining the size of the destination buffer
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 07:06:50 +00:00
BJ Weschke
226d146b25 Fix the 'if' clause to be true under the right conditions. Bug #6126
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-04 05:27:38 +00:00
Kevin P. Fleming
1892289329 remove unused 'old' expression parser
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 20:22:18 +00:00
Tilghman Lesher
5529fc0355 Bug 6121 - typo in application description
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 18:15:12 +00:00
Kevin P. Fleming
73ef559240 revert incorrect fix for bug #6048 from revision 7709
put in correct (simpler) fix
add doxygen docs for channel spy 'state' values


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 17:24:56 +00:00
Kevin P. Fleming
b59a63c8cd backport rport scanning fix from trunk (bug #6071)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 17:00:01 +00:00
Kevin P. Fleming
c36927137f don't leak memory for (most) expression evaluations
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 16:34:12 +00:00
Tilghman Lesher
649aaad100 Bug 6084 - MixMonitor after a 'cli stop monitor' deadlocks
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-02 07:31:54 +00:00
BJ Weschke
ea4c262482 Fix compiler warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-02 02:04:14 +00:00
Tilghman Lesher
89de6c9df6 Bug 6091 - Fix race condition around uniqueid
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30 14:54:19 +00:00
Russell Bryant
4578bc3b0c fix memory leak in build_rpid (issue #6070)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-28 17:35:56 +00:00
Russell Bryant
8df1e4866a backport fix for permissions of created recordings (issue #6067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-27 21:07:08 +00:00
Kevin P. Fleming
9f92220a9c backport fix to ensure that DSP is never enabled on pseudo channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-27 00:07:45 +00:00
Tilghman Lesher
09a9e7bcb7 Remove copy of code in libc, preferring code in utils.c (public domain code)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-26 20:32:50 +00:00
Russell Bryant
a434f8877a cast time_t to an int in printf/scanf (issue #5635)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-26 18:19:12 +00:00
Tilghman Lesher
ef891dc0a7 Bug 6051 - VMCOUNT should work as documented and count all, not quit after finding 1
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-23 06:38:08 +00:00
Kevin P. Fleming
3ebe29c983 add license reference to copyright notice displayed when CLI session begins
add 'show warranty' and 'show license' CLI commands (still need a complete list of non-GPL components included in Asterisk)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-23 03:01:24 +00:00
BJ Weschke
1028e43464 Another app documentation tweak.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-23 00:00:11 +00:00
Tilghman Lesher
4979f66f28 Bug 6050 SQL requires the use of single ticks to delimit values, not quotes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-22 22:04:13 +00:00
Russell Bryant
a5e9fe97c8 revert changes to videosupport to allow per-peer setting, since it isn't quite
complete and there is not an obvious fix at this point


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-22 20:36:47 +00:00
Russell Bryant
2293cfaf84 remove stray unlock (issue #5955)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-22 16:17:43 +00:00
Josh Roberson
d252dde933 Actually put in the per-peer settings for sip video, as they didn't make it in at astricon somehow, and I've been too busy up until now to redo it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-21 22:23:39 +00:00
Tilghman Lesher
37a49a5992 Allow a chan_alsa that failed to open sound devices to be unloaded.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-21 20:01:16 +00:00
BJ Weschke
2783801610 Bug #6040 - Documentation correction
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-21 19:53:49 +00:00
Tilghman Lesher
82f19c9a91 Bug 5777 - Remove parentheses on Goto in AEL, so that it parses correctly
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-21 19:23:12 +00:00
Russell Bryant
71d9531e45 check array bounds when parsing arguments to AGI (issue #5868)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20 20:21:26 +00:00
Russell Bryant
3bbeaefa57 backport fix for reloading peer context (issue #6007)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20 18:05:45 +00:00
Russell Bryant
4611be805a backport fix for segfault on directed pickup when no CDR is available (issue #5998)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20 17:34:00 +00:00
Kevin P. Fleming
587493fdfc backport fix for larger-than-20ms-frames from trunk (bug #5697)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-20 12:58:37 +00:00
Russell Bryant
50079144e3 I messed up and accidently committed this to the trunk first ...
- add note on required values of sip_methods struct
- remove duplicate function prototype
- remove duplicate ast_mutex_lock (issue #6025)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-19 23:47:23 +00:00
Tilghman Lesher
2ca80e76a0 Bug 5988 - record append option not working
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-19 19:06:46 +00:00
Tilghman Lesher
68e6502484 Bug 6026 - segfault for the sequence NoCDR(), SetAMAFlags()
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-19 05:38:44 +00:00
Tilghman Lesher
1e91dfa5df Document that curley braces must be on the same line as the keyword.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-17 18:55:38 +00:00
Tilghman Lesher
e4e5f7c65b Bug 6009 - off by one error
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-17 17:19:32 +00:00
Kevin P. Fleming
8ef66261f1 Max-Forwards headers must only be present on requests, not responses
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-17 03:59:05 +00:00
Kevin P. Fleming
90812b536c forcibly expire previous subscriptions from a peer when they resubscribe (keeps them from building up and waiting for expiration, and stops us sending unwanted NOTIFY messages to devices)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-17 03:44:30 +00:00
Kevin P. Fleming
2b880d3ef8 fix some buglet when building team branch version strings
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-17 02:20:04 +00:00
Tilghman Lesher
6ab729aeb3 We want to check the previous value, not the current value (which was just changed).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-17 01:02:29 +00:00
Tilghman Lesher
c9f97f49c5 First field is truncated
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-16 00:49:39 +00:00
Christian Richter
8b352fcb94 * Added mISDN/mISDNuser Echo cancel Patch
* Fixed Makefiles so that chan_misdn can be compiled again
* added some hints, that mISDN cannot be compiled against gcc-4, SMP, Spinlock Debug
* fixed some Minor issues in chan_misdn, regarding Type Of Number and Presentation






git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-15 10:52:30 +00:00
BJ Weschke
5a06af4d57 Bug #6003 - Don't free the channel structure until after having sent the manager event.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-15 02:51:54 +00:00
Kevin P. Fleming
2ede900bfd clarify substring documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-13 18:54:22 +00:00
Kevin P. Fleming
fb0ffc7784 correct broken math in tvfix() for timestamp values over one million
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-13 16:06:27 +00:00
Kevin P. Fleming
e69171dc06 restore ability of caller to hangup calls that are still ringing (issue #5839)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-13 05:53:00 +00:00
Kevin P. Fleming
8452f6b494 ensure that hangups while incoming calls are in early state are handled properly (issue #5919)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-13 05:14:27 +00:00
Kevin P. Fleming
f9bc6f8afc only report AGENT_IDLE for callback mode agents when they are actually idle (issue #5902)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-13 04:43:38 +00:00
Kevin P. Fleming
f9f44d7d9b use the stream's current point when pausing/unpausing, instead of elapsed time (which doesn't work when the stream has been skipped forward or backward) (issue #5897)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-13 04:25:14 +00:00
Kevin P. Fleming
86bb1472cc set all the child file descriptors to non-blocking so that we don't hang if the child fails to send a newline-terminated command or error message
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-12 17:30:59 +00:00
Tilghman Lesher
ef09c506c8 Typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-12 17:19:29 +00:00
Russell Bryant
af7b3b420e silence a couple of compiler warnings about pointer signedness
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-11 06:08:56 +00:00
Tilghman Lesher
3b80a35a66 Bug 5965 - major bug in AST_LIST_REMOVE
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-11 01:26:51 +00:00
Tilghman Lesher
f59b27258c Bug 5967
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-11 01:15:15 +00:00
BJ Weschke
d38fff38f9 Bug #5877
Make sure the digit string from E&M wink DNIS collection is properly null terminated as it grows.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-10 18:10:50 +00:00
Tilghman Lesher
91c5b12f25 Bug 5960
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-08 23:45:36 +00:00
Tilghman Lesher
894bdd5cda Documenting two keywords that were previously missing
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-08 23:32:08 +00:00
Kevin P. Fleming
d8c58ca6c8 initialize the buffer before using it...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-08 01:05:43 +00:00
Kevin P. Fleming
43f7956422 ensure that hints are allowed to use global variable references
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-07 20:46:55 +00:00
Kevin P. Fleming
96fcc02900 ensure that sound/music files are handled as binary
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-06 00:23:05 +00:00
Kevin P. Fleming
2e8b6e7f20 replace with unmodified file
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-06 00:19:17 +00:00
Kevin P. Fleming
3ed93398e9 _really_ don't mess with line endings
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-06 00:08:19 +00:00
Kevin P. Fleming
d84e0caea8 don't try to expand keywords in this file
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-06 00:07:48 +00:00
Kevin P. Fleming
5c1da58b90 set this file to binary mode, so it won't be mangled on export/checkout
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-06 00:02:08 +00:00
Russell Bryant
018c617199 remove ASTERISKVERSIONNUM from the version string given to doxygen
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-05 06:47:51 +00:00
Russell Bryant
a49f954f6a don't delete dynamic queue members when reloading the static members from a realtime database (issue #5922)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-05 00:09:12 +00:00
Russell Bryant
03a8791440 fix the order of arguments to an error message (issue #5927)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-05 00:01:17 +00:00
Kevin P. Fleming
78ad17381e use a more efficient way to get the revision number, that will also report if the working copy contains uncommitted modifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-04 18:03:07 +00:00
Tilghman Lesher
5b03803e2f Bug 5925: check for "Unknown", as that's what app_voicemail puts into the field for Unknown callerid
Also, remove useless res checks (initialized to 0; never set)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-03 19:55:05 +00:00
Olle Johansson
ee1e461a57 Documenting the default registerattempts setting as 0, continue hammering the server for ever and ever ;-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-03 01:24:40 +00:00
Tilghman Lesher
a543725311 Turn on executable bits for startup scripts, and fix bash var interpolation for Mandrake
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 21:12:05 +00:00
Olle Johansson
8c701a0861 Bug #5907. Improve SIP INFO DTMF debugging output. (1.2 & Trunk)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 00:52:13 +00:00
Kevin P. Fleming
5fbe566524 inherit channel variables into channels created by Page() application (issue #5888)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 00:51:15 +00:00
Kevin P. Fleming
e14cf31bc9 allow previous context-searching behavior to be used if desired (issue #5899)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 00:42:40 +00:00
Kevin P. Fleming
0042c03c7e properly handle password changes when mailbox is last line of config file and not followed by a newline (issue #5870)
reformat password changing code to conform to coding guidelines (issue #5870)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 00:39:00 +00:00
Kevin P. Fleming
41023ecb9c protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue #5879)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 00:28:48 +00:00
Kevin P. Fleming
fb8d0a544d allow variables to exist on both 'halves' of the Local channel (issue #5810)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 00:26:12 +00:00
Kevin P. Fleming
acaf8c9cc9 don't block waiting for the Festival server forever when it goes away (issue #5882)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 23:49:44 +00:00
Kevin P. Fleming
0d3fc8d103 ensure channel's scheduling context is freed (issue #5788)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 23:34:58 +00:00
Kevin P. Fleming
9bbfbacacc Makefile 'update' target now supports updating from Subversion repositories (issue #5875)
remove support for 'patches' subdirectory, it's no longer useful


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 23:18:29 +00:00
Olle Johansson
8e301c629f Changing bug report address to the Asterisk issue tracker
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 23:18:14 +00:00
Olle Johansson
9576d8a081 Removing references to 1.1dev, replacing with 1.2, in documentation files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 22:21:13 +00:00
Olle Johansson
7db96672bf Fixing some spelling errors, as well as changing "cvs" to "subversion" in misdn documentation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 21:38:38 +00:00
Kevin P. Fleming
0d8f099ca2 ensure that 'svn info' output is in the expected language for the script to parse (issue #5880)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 19:25:06 +00:00
Russell Bryant
0a4d7e5068 use ast_app_separate_args to split arguments (issue #5686)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 02:33:58 +00:00
Russell Bryant
a32f75b800 fix queue weight feature - compare member interfaces instead of pointers to
the members, since each queue has its own list of members. (issue #5863)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 01:19:04 +00:00
Russell Bryant
78f37c51ef use '=' instead of '==' for string comparisons. /bin/bash is ok with this, but
/bin/sh is not.  (issue #5885)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-01 00:44:34 +00:00
Russell Bryant
d6e5eb75ee remove outdated redhat init script and provide the updated one in 'make rpm' (issue #5786)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 21:31:18 +00:00
Russell Bryant
6f433a7e7b Comment out LD_ASSUME_KERNEL by default.
Print error messages if the asterisk executable or the asterisk configuration
directory are not found. (issue #5785, #5708)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 21:24:52 +00:00
Russell Bryant
ce2ecb5582 fix DIALEDTIME when call has not been answered (issue #5862)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 17:39:36 +00:00
Russell Bryant
45c15e8561 do not allow an rtp message with zero type (issue #5749)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 14:27:59 +00:00
Russell Bryant
5e3f4186da fix hint case sensitivity (issue #5856)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 07:22:42 +00:00
Russell Bryant
d03694df19 add description of the "fromdomain" option (issue #5874)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 05:26:26 +00:00
Josh Roberson
d52e8fa7d2 backport fix from trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 03:52:18 +00:00
Kevin P. Fleming
77c6cd0bff remove remaining CVS references
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 03:37:37 +00:00
Kevin P. Fleming
463ebe8b4b port memory leak fix from rev 7223 in trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-30 03:20:42 +00:00
Kevin P. Fleming
a563eab49a remove extraneous svn:executable properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Kevin P. Fleming
bf9d4b103d do the multiple-lock check for cond_wait properly...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 14:26:22 +00:00
Russell Bryant
7dc2449f3a print an error message if invalid arguments are specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 06:12:29 +00:00
Russell Bryant
27cc20db11 fix a couple of typos and a buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 05:11:05 +00:00
Kevin P. Fleming
4e04f5f731 if the lock protected a pthread_cond is held recursively, warn before waiting onthe condition
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 01:25:28 +00:00
Kevin P. Fleming
5ec3844077 remove CVS ignore lists, set SVN ignore lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 00:46:54 +00:00
Kevin P. Fleming
f641c7cd0d port version string computation from trunk
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-28 04:01:06 +00:00
Kevin P. Fleming
49aa54cafc branch renames
remove unneeded branches


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-27 16:04:52 +00:00
Russell Bryant
e3b81e66a1 issue #5850
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-25 14:17:38 +00:00
Russell Bryant
7bb6b928b5 fix typo - thanks twisted :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-23 06:02:32 +00:00
Russell Bryant
ad4dc7c4a9 fix the date
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-23 05:59:05 +00:00
Russell Bryant
feb9764721 issue #5828
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-23 05:57:10 +00:00
Russell Bryant
8c74501001 issue #5826
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-23 05:49:35 +00:00
Russell Bryant
5861d3fd64 issue #5829
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-23 05:43:27 +00:00
Kevin P. Fleming
08acdc6a86 backport fix from HEAD branch
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 19:34:09 +00:00
Kevin P. Fleming
3b50570c9b backport fix from HEAD branch
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 19:31:26 +00:00
Kevin P. Fleming
00d7e962a7 backport fix from HEAD branch
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 19:29:51 +00:00
Russell Bryant
192f7413c2 revert previous change for Darwin
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 15:57:51 +00:00
Russell Bryant
5bdb8074aa issue #5789
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 13:40:34 +00:00
Russell Bryant
6abe5e1b23 don't hardcode poll.o for Darwin
fix incorrect portion of yesterday's Solaris fixes


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 13:23:53 +00:00
Russell Bryant
4612b4ccca issue #5815
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 13:17:32 +00:00
Russell Bryant
3245bf61a1 issue #5775
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 02:44:06 +00:00
Russell Bryant
9ee13167bb issue #5787
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 02:03:23 +00:00
Russell Bryant
ca9633ca9b issue #5794
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 01:00:51 +00:00
Russell Bryant
e04884545c issue #5806
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-21 00:03:40 +00:00
Russell Bryant
aa2239a050 issue #5773
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:56:49 +00:00
Russell Bryant
40a1b60cbd issue #5774
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:51:58 +00:00
Russell Bryant
cccb11916f fix logic for n+101 jumps
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:42:43 +00:00
Russell Bryant
49641825eb issue #5795
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:36:45 +00:00
Russell Bryant
c14c078405 issue #5792
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:33:03 +00:00
Russell Bryant
f2af073588 issue #5799
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:27:28 +00:00
Russell Bryant
b9a5eddb6d fix issue number for previous commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:22:10 +00:00
Russell Bryant
bffc815375 issue #5791
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:21:40 +00:00
Russell Bryant
5c3f322364 Shorten the module description (issue #5791)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-20 23:18:01 +00:00
Russell Bryant
3a6fae817c fix the output of Makefile generated variables to doxygen
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-18 04:13:39 +00:00
Russell Bryant
d8f74ecb94 Add missing carriage return and line feed to the SDP line indicating that we don't support VAD (issue #5780)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-17 20:26:27 +00:00
Kevin P. Fleming
f7f2b1b033 fix remaining breakage related to chan_modem modules
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-17 04:26:07 +00:00
Admin Commit
601ab7ff82 This commit was manufactured by cvs2svn to create branch 'v1-2'.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-2@7126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 22:40:43 +00:00
Josh Roberson
59fe845c6c Finish removing chan_modem* by default.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 22:40:43 +00:00
Jeremy McNamara
af4301802d don't register channel type until we are ready, coding format updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 21:07:52 +00:00
Jeremy McNamara
3dc12025c8 Make voicemail not terminate asterisk if no config file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 21:02:25 +00:00
Kevin P. Fleming
c86be56b3b don't build chan_modem by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 20:54:15 +00:00
Kevin P. Fleming
6d0b8522d0 small improvement :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 20:49:44 +00:00
Josh Roberson
892978fb4b Issue # 5757
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 20:23:53 +00:00
Kevin P. Fleming
891569befc correct ChangeLog details
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 18:59:51 +00:00
Kevin P. Fleming
7953c3f407 issue #5763
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 18:21:10 +00:00
Kevin P. Fleming
60ebbb5744 issue #5770
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 18:11:28 +00:00
Kevin P. Fleming
544a2ecbd3 issue #5766
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 17:48:18 +00:00
Kevin P. Fleming
639104bbb2 fix previous commit to actually do it properly...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 17:46:59 +00:00
Kevin P. Fleming
2b656be753 issue #5764
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 17:26:11 +00:00
Kevin P. Fleming
492087f45f issue #5761
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 17:16:23 +00:00
Kevin P. Fleming
b9e2fcfdea issue #5767
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 17:12:36 +00:00
Kevin P. Fleming
296ca06e35 small debugging information change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 04:11:48 +00:00
Kevin P. Fleming
a31a587bc0 issue #5035
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 02:20:16 +00:00
Kevin P. Fleming
1fb64fa4bd minor improvements to backtrace generation notes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 00:56:10 +00:00
Mark Spencer
9cdcba170e Fix compile issue (presumably on BSD) (bug #5745)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-16 00:22:30 +00:00
Kevin P. Fleming
4331958422 issue #5539
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 22:50:43 +00:00
Kevin P. Fleming
c7c3fa1d53 issue #5672
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 20:56:19 +00:00
Kevin P. Fleming
3d599e6501 issue #5739 (plus ast_copy_string() usage conversion)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 20:20:45 +00:00
Kevin P. Fleming
e88e390bb8 issue #5751
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 19:52:25 +00:00
Kevin P. Fleming
a14758518d correct a small problem with recent commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 19:40:08 +00:00
Kevin P. Fleming
a45b2019df issue #5752
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 19:33:15 +00:00
Kevin P. Fleming
6bfdf6f45a issue #5736
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 19:27:18 +00:00
Kevin P. Fleming
2e6475fd03 correct typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 19:15:19 +00:00
Russell Bryant
685e88645f don't crash on setvar (issue #5760)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 18:35:30 +00:00
Russell Bryant
2a53a89aa6 add app exit status vars (issue #5737)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 18:16:46 +00:00
Josh Roberson
15705f94a7 Issue #5737
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 01:33:31 +00:00
Russell Bryant
d8dfa4434d finish merging doxygen updates from issue #5605
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-14 19:00:38 +00:00
Russell Bryant
0702130ed1 fix a typo in the RetryDial description
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-14 10:24:59 +00:00
Mark Spencer
3fbcf6e3d0 fix bsd compile issue (bug #5731)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-14 00:45:07 +00:00
Mark Spencer
8f965a06cb Never call load_module / unload_module
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-13 02:19:14 +00:00
Mark Spencer
b05ff7c343 Fix i4l breakage (bug #5729)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-13 00:52:57 +00:00
Mark Spencer
d5348b71c9 Mention callerid name / num changes in UPGRADE.txt (bug #5624)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-13 00:46:06 +00:00
Russell Bryant
c9ceb15e1e fix a lil' typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 23:44:16 +00:00
Mark Spencer
2b547e1f9e Fix build on FreeBSD 4.11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 20:04:57 +00:00
Kevin P. Fleming
266674e123 rc2 update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 03:37:13 +00:00
Kevin P. Fleming
766d1a73b1 issue #5712
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 02:57:43 +00:00
Kevin P. Fleming
52da8d9862 issue #5704
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 02:39:06 +00:00
Kevin P. Fleming
3b8c82543d issue #5718
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 02:34:01 +00:00
Kevin P. Fleming
50ab28bd94 issue #5720
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 01:33:10 +00:00
Kevin P. Fleming
38c665bd67 fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 00:53:47 +00:00
Kevin P. Fleming
51b54236de issue #5721
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 00:52:08 +00:00
Kevin P. Fleming
64aaaa1f4a issue #5663 again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-12 00:09:43 +00:00
Kevin P. Fleming
8605bf0104 minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 21:41:54 +00:00
Kevin P. Fleming
6f45949ca1 issue #5663
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 21:04:10 +00:00
Kevin P. Fleming
500dd158fe update for mark's commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 18:03:31 +00:00
Mark Spencer
a7d794a0ac Fix DTMF issue with 3-way native zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 18:00:07 +00:00
Russell Bryant
00de2bc78b clean up descriptions for the voicemail applications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 17:14:13 +00:00
Kevin P. Fleming
36315b865b issue #5713
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 16:02:56 +00:00
Russell Bryant
45c7589284 update the descriptions of a couple more apps
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 15:52:55 +00:00
Russell Bryant
78d740290a more cleanups to application descriptions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 13:34:38 +00:00
Kevin P. Fleming
91b616c9ba give marko credit for his fix :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 04:32:25 +00:00
Kevin P. Fleming
ed465f4a85 issue #5595
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 04:12:54 +00:00
Mark Spencer
4606d74a66 Fix wrap around for rtp (bug #5595)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 04:07:03 +00:00
Kevin P. Fleming
c6e7b2a333 issue #5590
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 03:48:28 +00:00
Kevin P. Fleming
7e939cb273 issue #5669
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 01:30:34 +00:00
Kevin P. Fleming
9e4c207dd3 ugh... another broken commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 01:01:19 +00:00
Kevin P. Fleming
5545974c6a issue #5676
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:53:19 +00:00
Kevin P. Fleming
c79c0f97f1 issue #5680
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:45:02 +00:00
Kevin P. Fleming
f603eb0135 issue #5671
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:35:21 +00:00
Kevin P. Fleming
ba349963a8 issue #5673
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:32:45 +00:00
Kevin P. Fleming
b3ffb91539 issue #5668, modified to compile on non-Cygwin platforms :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:21:42 +00:00
Kevin P. Fleming
adb02d0107 issue #5354
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:14:13 +00:00
Kevin P. Fleming
734034d824 issue #5689
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-11 00:10:44 +00:00
Kevin P. Fleming
1740d40182 issue #5693
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:42:45 +00:00
Kevin P. Fleming
8c9a32bd4b issue #5685
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:34:30 +00:00
Kevin P. Fleming
8fddeef1ac issue #5700
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:31:10 +00:00
Kevin P. Fleming
829447c811 issue #5701
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:28:55 +00:00
Kevin P. Fleming
608d63ac54 issue #5703
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:26:40 +00:00
Kevin P. Fleming
54dd7ac9fa issue #5707
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:22:37 +00:00
Kevin P. Fleming
ff364c3068 slight correction to options parsing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:18:03 +00:00
Russell Bryant
b124b6d649 issue #5630, #5711, and probably others
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:12:09 +00:00
Russell Bryant
14d426098e issue #5709
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 23:08:00 +00:00
Kevin P. Fleming
c3b6ac6004 issue #5706
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 22:55:36 +00:00
Russell Bryant
642be05f09 fix typos in my doc cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 21:39:01 +00:00
Russell Bryant
f3b4e0291c clean up some application descriptions to use more gooder English
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-10 20:56:45 +00:00
Russell Bryant
9b037b4872 clean up descriptions for built-in applications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 21:48:59 +00:00
Mark Spencer
73b90d3b74 Fix enum lookup (bug 5674)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 21:14:45 +00:00
Kevin P. Fleming
6dabdbc7cd eliminate useless warnings generated by IAXy registrations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 19:05:52 +00:00
Kevin P. Fleming
ea70f31f2f prepare for -rc1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 02:26:42 +00:00
Kevin P. Fleming
0aa9429c96 issue #5658, different fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 02:04:27 +00:00
Kevin P. Fleming
a87d3f5c19 issue #5563
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 02:01:12 +00:00
Kevin P. Fleming
580d6f3482 issue #5664
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 01:51:46 +00:00
Kevin P. Fleming
bdda6254f4 correct logic for group-match CONGESTION checking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 01:42:38 +00:00
Kevin P. Fleming
cdf4031963 issue #3360 plus related fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 00:48:38 +00:00
Russell Bryant
9a06a7c14c formatting ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 00:31:44 +00:00
Kevin P. Fleming
33c15f19fe issue #5601
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-09 00:16:08 +00:00
Kevin P. Fleming
9b03ffc513 issue #2720
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 23:37:53 +00:00
Kevin P. Fleming
3e4feebbd6 issues #3599 and #4252
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 23:19:30 +00:00
Kevin P. Fleming
9433b7157f whitepace cleanup and various minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 21:32:51 +00:00
Kevin P. Fleming
15b01f246c issue #5604
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 20:38:10 +00:00
Kevin P. Fleming
7b2e24777f issue #5650
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 19:47:56 +00:00
Mark Spencer
c5f0a6db6f Fix three-way issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 19:36:20 +00:00
Russell Bryant
5efc81c789 This is a start toward coming up with a feature ChangeLog. It is from some
notes I was keeping while writing some documentation.  It needs some formatting
help as well as short descriptions for each of the new options.  We also need to
come up with a list for all the time not accounted for here.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 05:45:28 +00:00
Russell Bryant
a612ed5f72 remove an unnecessary line
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:57:34 +00:00
Russell Bryant
987b87662c make app_queue 1.2 jump compliant (issue #5580)
add missing includes of stdio.h
remove some unused and duplicate headers


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:48:00 +00:00
Kevin P. Fleming
511c096592 issue #5532
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:17:53 +00:00
Kevin P. Fleming
0941c32d38 issue #5569 minus lock.h changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:13:19 +00:00
Kevin P. Fleming
ebf04fc570 more header include simplification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 04:02:35 +00:00
Kevin P. Fleming
2251dd3723 issue #5570
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:54:04 +00:00
Kevin P. Fleming
eb24670aff header cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:48:02 +00:00
Russell Bryant
869ae80f16 fix application options that take arguments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:41:10 +00:00
Kevin P. Fleming
a4be983a63 issue #5571
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:35:40 +00:00
Kevin P. Fleming
77390dfeaf issue #5572
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:31:45 +00:00
Kevin P. Fleming
d56ce5d1f3 whitespace fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:24:31 +00:00
Kevin P. Fleming
8f7c94ab0f whitespace cleanup, don't include unnecessary header
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 03:19:05 +00:00
Kevin P. Fleming
52f25ae960 issue #5649
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 02:56:01 +00:00
Kevin P. Fleming
9061716644 issue #5581
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 02:19:53 +00:00
Kevin P. Fleming
e463c42ba7 issue #5576
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 02:14:42 +00:00
Kevin P. Fleming
00d3c31496 issue #5585
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 02:11:42 +00:00
Kevin P. Fleming
a0a9769616 issue #5648
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 01:55:31 +00:00
Kevin P. Fleming
2ea48ce114 issue #5583
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 01:50:35 +00:00
Kevin P. Fleming
be7cdd4cd1 issue #5595
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 01:44:47 +00:00
Kevin P. Fleming
6e27e24452 let's actually use a variable scheduler event...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 01:32:40 +00:00
Kevin P. Fleming
81bda951d2 issue #5599
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 01:29:14 +00:00
Kevin P. Fleming
0ac4bbfdd9 issue #5602
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 01:05:52 +00:00
Kevin P. Fleming
3a003e8714 correct new option documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 00:50:13 +00:00
Kevin P. Fleming
6f4fabf043 issue #5621
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 00:30:29 +00:00
Kevin P. Fleming
145daf44d8 issue #5634 and a little ChangeLog cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 00:12:21 +00:00
Kevin P. Fleming
3fb2544a41 issue #5633
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 00:08:09 +00:00
Kevin P. Fleming
c6f312fdef issue #5638
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 00:06:09 +00:00
Kevin P. Fleming
5e0149d7cf issue #5639
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-08 00:02:53 +00:00
Kevin P. Fleming
24cc108694 issue #5640 with minor mods
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 23:10:02 +00:00
Kevin P. Fleming
5eceb92944 issue #5642
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 23:03:28 +00:00
Kevin P. Fleming
8f536c775e issue #5643
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:55:34 +00:00
Kevin P. Fleming
1ca8bccc2f issue #5646
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:48:29 +00:00
Kevin P. Fleming
608f5f7f45 issue #5647
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:41:58 +00:00
Kevin P. Fleming
018e8c8395 dont-optimize was broken...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:33:12 +00:00
Kevin P. Fleming
87c87fe158 remove extraneous message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:05:31 +00:00
Kevin P. Fleming
f09c6bc78e application doc update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 22:01:22 +00:00
Russell Bryant
4eb2c0d832 use correct arguments to ast_cdr_reset from my changes earlier today
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 04:14:48 +00:00
Russell Bryant
e8f2ad304a user correct arguments to ast_cdr_reset from my changes earlier today
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-07 04:10:41 +00:00
Russell Bryant
bb3e125ed4 don't loop forever on an invalid options string (issue #5629)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 22:17:47 +00:00
Russell Bryant
e4ce764744 make jumping optional, make an exit status var, use args parsing macros (issue #5628)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 22:02:18 +00:00
Russell Bryant
7d4a5abb1d Convert some built-in applications to use new args parsing macros.
Change ast_cdr_reset to take a pointer to an ast_flags structure instead of an integer for flags.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 21:00:35 +00:00
Russell Bryant
bb7eb69c09 issue #5627, with mods
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 19:44:39 +00:00
Russell Bryant
88cc39af74 issue #5625
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 19:36:27 +00:00
Russell Bryant
f3d02da7d8 issue #5626
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 19:19:59 +00:00
Russell Bryant
3cf2991be1 issue #5623
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 18:42:39 +00:00
Russell Bryant
dd21a2b170 issue #5614
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 18:36:37 +00:00
Russell Bryant
29dbc6c204 issue #5612
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 18:30:23 +00:00
Russell Bryant
f477f462d3 issue #5598
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 18:11:13 +00:00
Russell Bryant
31a804b97c issue #5605
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 15:09:47 +00:00
Russell Bryant
75c812f26d issue #5622
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 14:30:53 +00:00
Russell Bryant
314bdba709 issue #5596
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 06:20:33 +00:00
Russell Bryant
1781e73435 use enum's for iax user/peer flags, and for pvt state
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:52:26 +00:00
Russell Bryant
3bd298f2dd alphabetize option lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:34:13 +00:00
Mark Spencer
4600902059 Handle ODBC forwarding properly (bug #5606)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:15:29 +00:00
Mark Spencer
8e680521ec Allow mixmon names to have dots (bug #5607)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:13:45 +00:00
Mark Spencer
7c3efb156c chan_misdn updates (bug #5597)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:07:58 +00:00
Mark Spencer
b721635619 Janitor project, app_controlplayback (bug #5610)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:03:14 +00:00
Mark Spencer
535ed63c6f Dial janitor patch (bug #5613)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 05:00:42 +00:00
Mark Spencer
34152c3abc Meetme whitespace changes (bug #5615)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 04:52:44 +00:00
Mark Spencer
5e17bb19d9 Add missing newline (bug #5616)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 04:51:00 +00:00
Mark Spencer
a67c2702c5 Fix chan_oss buglets (bug #5618)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 04:44:19 +00:00
Mark Spencer
ddf63421f6 Fix extra semicolon (bug #5617)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 04:39:52 +00:00
Mark Spencer
3d473eebbc Fix chan_zap build on non-PRI (bug #5620)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-06 04:38:39 +00:00
Mark Spencer
994b9db081 Handle DTMF properly when combined with other events
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-05 22:30:31 +00:00
Kevin P. Fleming
da0d0f975a stop recompiling cli.c on every 'make'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-05 18:58:27 +00:00
Kevin P. Fleming
c103bc7806 issue #5609
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-04 22:11:51 +00:00
Russell Bryant
5039ee0965 allow the IAXPEER function to check a peer's status
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-04 18:40:35 +00:00
Kevin P. Fleming
8f8fc4e57e old compiler compatibility (again...)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-04 15:23:32 +00:00
Kevin P. Fleming
929d7e6e9b document an undocumented variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 21:53:44 +00:00
Ben Kramer
3e2507a07a i/ got the loop drop the wrong way around
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 21:49:20 +00:00
Kevin P. Fleming
980887f8eb minor cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 21:48:39 +00:00
Kevin P. Fleming
2bebbca579 flags usage simplification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 21:40:36 +00:00
Russell Bryant
8925c3834b issue #5589
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 21:25:57 +00:00
Kevin P. Fleming
426360e389 major update to arg/option parsing APIs and documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 21:19:11 +00:00
Jim Dixon
fc9612edad Fixed a couple of silly boo-boo's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 18:58:24 +00:00
Mark Spencer
5b252b65e6 Update BUGS file (bug #5568)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 02:41:10 +00:00
Jeremy McNamara
fa46248f9d Request a sane amount of bandwdith from GK, and fix one-way auido problems with broken H.323 stacks *cough* CCM.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 01:41:32 +00:00
Jeremy McNamara
27041dbda8 document UserByAlias usage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 01:30:33 +00:00
Ben Kramer
e9f5bd158b / added dropping of loop when hanging up a station port from another chan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-03 00:04:09 +00:00
Kevin P. Fleming
8f0a6a7d4f uhh... oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 21:50:03 +00:00
Kevin P. Fleming
ce50837d70 upgrade Dial() app to use API-based argument/option parsing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 21:46:52 +00:00
Kevin P. Fleming
150ff6393b add some doxygen docs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 18:08:33 +00:00
Kevin P. Fleming
5f50e4cb93 native bridging changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 17:20:35 +00:00
Ben Kramer
9693d05882 / fix to for compiling with both 2.4.x and 3.x vpb-drivers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 01:43:03 +00:00
Ben Kramer
b2c2b5cd49 working on delay issue when bridging via ast_bridge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-02 01:02:02 +00:00
Ben Kramer
610f5614e3 added patched to support collecting caller ID before first ring using
line voltage detection (tested in Gibralta)
 added further support for Line Voltage events on OpenLine4 cards
 updated to use ast_codn functions


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 23:20:46 +00:00
Kevin P. Fleming
e1bcf1d043 issue #5558
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 22:11:55 +00:00
Kevin P. Fleming
661a2b97af update with today's work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 22:08:04 +00:00
Kevin P. Fleming
986a8ca089 issue #5566
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 22:04:14 +00:00
Kevin P. Fleming
9b6f887db5 commit doc file added in issue #4678
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 22:03:16 +00:00
Kevin P. Fleming
7ffb604a2f issue #4678
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 21:53:30 +00:00
Kevin P. Fleming
b05e64ed12 issue #5564
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 21:11:57 +00:00
Kevin P. Fleming
631ee6670c issue #5560
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 21:02:07 +00:00
Kevin P. Fleming
da097c4f5e issue #5561
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 20:57:42 +00:00
Kevin P. Fleming
156470f895 convert today's earlier changes into ChangeLog format
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 20:42:30 +00:00
Kevin P. Fleming
ddaed942ee issue #5499
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 20:29:36 +00:00
Kevin P. Fleming
d6b64431b0 issue #5549
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 20:26:29 +00:00
Kevin P. Fleming
8839ff95df add new GCC-specific macro and force inlining of certain functions where speed is paramount, even when optimization is disabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 20:09:09 +00:00
Kevin P. Fleming
c24c35e5b6 start a new ChangeLog file (GNU style, an entry for each set of changes that go into the tree)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 19:57:48 +00:00
Kevin P. Fleming
bb47f9fdc3 rename ChangeLog to CHANGES, a file which will contain a list of the significant changes between Asterisk releases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 19:57:20 +00:00
Kevin P. Fleming
cfced0420e use a writeable frame (some channel drivers/transcoders may modify the frame after it has been passed to ast_write())
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 18:48:05 +00:00
Kevin P. Fleming
03ceef35ac optionally send silence during recording (issue #5135)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 17:22:25 +00:00
Kevin P. Fleming
236ce8f796 document locking rules for spy API functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 15:28:01 +00:00
Russell Bryant
eae43386f0 when going through new user setup, don't change the password if they don't
match.  Also, allow 3 tries before bailing out.  (issue #5495, different fix)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 02:20:30 +00:00
Kevin P. Fleming
cb28ef70bc allow DTMF timeout to be configurable (issue #5160)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-01 00:06:43 +00:00
Kevin P. Fleming
261e51b03a handle comments containing what appear to be context names during voicemail.conf updates better (issue #5385)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:41:20 +00:00
Mark Spencer
4468de1bd7 Only consider timeouts on realtimers (bug #5554)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:38:40 +00:00
Kevin P. Fleming
6eaca0ad8f finish chan_misdn commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:30:09 +00:00
Kevin P. Fleming
033cd4d58f revert strncpy->ast_copy_string changes where the semantics are subtly different
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:28:30 +00:00
Kevin P. Fleming
e86e9a9fe3 allow netsock objects to be unref'd so they can disappear when needed (issue #5454)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:16:27 +00:00
Kevin P. Fleming
d8672874ef properly handle '100 Trying' that arrives after a dialog has been dropped (issue #5475)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 23:03:44 +00:00
Kevin P. Fleming
9c25f9d1d5 handle improperly formatted initial requests properly (issue #5483)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 22:58:54 +00:00
Kevin P. Fleming
0ac988acaa add experimental mISDN channel driver (issue #4077)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 22:51:12 +00:00
Kevin P. Fleming
b099701da9 various text/formatting updates (issue #5503 plus some minor additions)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 22:47:58 +00:00
Kevin P. Fleming
3da6bf02c9 add some warning message for when chan_sip gets overloaded (issue #5530)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 22:18:36 +00:00
Kevin P. Fleming
a15a52208d don't increment 'inuse' counter when call is being failed because of limit (issue #5545)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 22:08:41 +00:00
Kevin P. Fleming
0a314b2454 add some additional log output and comment cleanup in the registration process (issue #5534)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 22:01:13 +00:00
Kevin P. Fleming
b175ff39ef properly support 'musicclass' setting for peers/users (issue #5521)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 21:43:53 +00:00
Kevin P. Fleming
551ac9af04 don't use 'rowcount' after SELECT statements, since the ODBC API does not say it is allowed (issue #5083)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 21:31:25 +00:00
Kevin P. Fleming
c3f9388b23 provide an alternate getloadavg implementation and a fallback for systems that don't have it at all (issue #5549 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 21:25:21 +00:00
Kevin P. Fleming
f9c8bb8087 ignore non-regular files during config parsing (issue #5510, different fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 21:08:55 +00:00
Kevin P. Fleming
a40e852ed3 don't pass short arguments by value, it will cause compiler warnings on most platforms about implicit conversions (thanks Luigi!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 18:15:02 +00:00
Kevin P. Fleming
8fb55e2478 fix various bugs related to list handling of channel variables (issue #5548)
use nolock lists for channel variables, since no locks are needed (these lists are either temporary or protected by the channel's own lock)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 15:34:11 +00:00
Kevin P. Fleming
7ef0527a7d correct comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 15:33:27 +00:00
Kevin P. Fleming
20a7a4ca96 silence compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-31 15:21:12 +00:00
Mark Spencer
39d27dbab8 Fix ability to do lots of outbound registrations (bug #5529)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-30 21:36:27 +00:00
Kevin P. Fleming
ccc121825f protect web form parameters against malicious input
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-30 16:30:35 +00:00
Mark Spencer
06320f5790 Fix build of CVS head on Solaris (bug #5527)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-30 07:24:27 +00:00
Mark Spencer
388f958ecc Actually write audio to file in get_voice (bug #5547)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-30 06:58:17 +00:00
Mark Spencer
754e28abaf Cleanup language in sip.conf (bug #5543)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 21:05:34 +00:00
Mark Spencer
a4c3f0ae61 Merge TDS cdr fixes (bug #5517, with slight mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 18:49:25 +00:00
Mark Spencer
d6a963c476 Do not look for libosp since that name is not used anymore and conflicts with opensp (bug #5542)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 18:14:18 +00:00
Mark Spencer
6b26826bab Remove ancient copy/paste error (bug #5541)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 17:45:07 +00:00
Mark Spencer
6be92affa2 Fix minor iax2 device state issue (bug #5540)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 16:23:32 +00:00
Kevin P. Fleming
15ac76178a do saturated math properly (thanks to the eagle-eyes of Tony Mountifield)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-29 13:03:23 +00:00
Kevin P. Fleming
80fb221f10 find OSP toolkit library properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 23:53:07 +00:00
Kevin P. Fleming
ed3be69bce update Makefile for new app name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 23:52:23 +00:00
Kevin P. Fleming
e6fc49806d complete the rename of MuxMon to MixMonitor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 23:04:30 +00:00
Kevin P. Fleming
846b39a9f1 major redesign of the channel spy infrastructure, increasing efficiency and reducing locking conflicts
(nearly) complete rewrite of app_muxmon, renaming the application to MixMonitor and fixing a large number of bugs and inconsistencies
update app_chanspy to use new spy infrastructure


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 23:01:13 +00:00
Kevin P. Fleming
97c9900b59 add API call to properly sum two frames of SLINEAR data
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 21:49:27 +00:00
Kevin P. Fleming
8dad624c68 ensure that SLINEAR volume adjustments don't wrap around short integer maximums
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 21:35:55 +00:00
Kevin P. Fleming
c24ba6ac5e fix remaining breakage from yesterday's changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 17:22:34 +00:00
Kevin P. Fleming
fff6a2c159 use new app-argument macros, and try to fix yesterday's breakage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 17:11:20 +00:00
Kevin P. Fleming
69194e2bc2 fix non-DEBUG_THREADS builds with new cond wrappers and lock header reorganization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:59:48 +00:00
Kevin P. Fleming
f9a98f7110 use API call for frame volume adjustment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:36:10 +00:00
Kevin P. Fleming
a0cb07e467 add 'ast_cond_t' type for pthread condition variables, and appropriate API wrappers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:35:43 +00:00
Kevin P. Fleming
ce6b727c2c add macros for explicit module usecount increment/decrement
remove unnecessary locking around setting usecount to zero


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:33:09 +00:00
Kevin P. Fleming
79c0865338 add 'tail' pointer to list heads, so that common 'insert-to-tail' operations can run more quickly
add option for list heads without embedded locks


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:32:08 +00:00
Kevin P. Fleming
0d34142f7e add API function to perform volume adjustment on a frame of SLINEAR data
documentation cleanup


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:20:44 +00:00
Kevin P. Fleming
d47e839c32 add some macros to simplify application argument parsing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:19:43 +00:00
Kevin P. Fleming
59584f5744 fix compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:19:04 +00:00
Kevin P. Fleming
aca0431935 properly document this morning's changes to 'ignoreregexpire'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 16:00:09 +00:00
Mark Spencer
de47e29d09 Merge highly modified fullcontact in realtime sip patch (bug #4832, heavy mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28 13:37:31 +00:00
Mark Spencer
f8c90f03b8 Fix CDR crash (bug #5525 and many others)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-27 21:57:53 +00:00
Russell Bryant
7deac2300a strncpy to ast_copy_string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-27 02:48:56 +00:00
Russell Bryant
395f81d734 strncpy to ast_copy_string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-27 02:42:05 +00:00
Russell Bryant
9ddf0e4dce Remove unnecessary checks before calls to ast_strlen_zero. Also, change
some places where strlen is used instead of ast_strlen_zero


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-27 02:19:37 +00:00
Russell Bryant
3332a8acd1 clean up a lot of doxygen errors and warnings (issue #5522)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 23:11:36 +00:00
Russell Bryant
5187de9ab6 remove unnecessary checks before calls to ast_strlen_zero
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 19:48:14 +00:00
Russell Bryant
dbc5c06c94 Add Claude Patry to the Credits. Thank you Junk-Y!!!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 19:09:47 +00:00
Russell Bryant
a736096e0b change ast_strlen_zero to also check for the string to be defined
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 18:54:24 +00:00
Russell Bryant
b5326f99fc use ast_skip_blanks in pbx_ael
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 18:03:44 +00:00
Russell Bryant
08e32630ad use double quotes for asterisk header ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 17:36:53 +00:00
Russell Bryant
87d4ff6fcd remove duplicate header
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 17:33:29 +00:00
Russell Bryant
d57fb0b655 doxygenify the comments for data structures and defines in chan_iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 17:07:51 +00:00
Russell Bryant
f1b14773dd use an enum instead of #define'd integers in a couple of places
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 16:18:25 +00:00
Russell Bryant
052db5af42 fix up arguments to AgentCallbackLogin so that the options string and the
specified extension do not conflict.  This also makes the application not
assume that the extension is numeric.  While we're at it, include some code
cleanup - strcpy to ast_copy_string, and cleanups to LOCAL_USER handling.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 16:16:05 +00:00
Jim Dixon
7810f546f3 Many changes and new stuff including Reverse Autopatch and completely new authentication system no longer requiring static IP address assignment.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 16:00:38 +00:00
Russell Bryant
f622612bee look for the last '-' in the channel name instead of the first (issue #5514)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 15:34:34 +00:00
Russell Bryant
6262e9ec9f fix misplaced } (issue #5518)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 15:02:23 +00:00
Russell Bryant
6324072247 more doxygenification (issue #5513)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 13:03:17 +00:00
Mark Spencer
c7db73070a Add missing documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 04:01:11 +00:00
Mark Spencer
0b36348b12 Allow limitation by loadavg not just calls (should be BSD friendly)...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26 03:58:32 +00:00
Russell Bryant
f2dcf45a98 merge changes to doxygen config (issue #5505)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-25 13:19:12 +00:00
Russell Bryant
f31f09bf53 there is a variable defined for 'install', might as well use it ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-25 12:47:54 +00:00
Russell Bryant
3453e3efa5 Doxygen documentation update from oej (issue #5505)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-24 20:12:06 +00:00
Mark Spencer
c3226a226a Fix segfault when building peer based on IP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-23 18:11:54 +00:00
Mark Spencer
60e9a6edf7 Fix app_disa to set the proper variable before goign to invalid (bug #5439)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-23 01:39:40 +00:00
Mark Spencer
5f78c43950 Fix max forwards interoperability (bug #5474)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-23 01:31:17 +00:00
Russell Bryant
c3c96a7461 fix reload problem - unload_module was not setting connected to 0 (issue #5498)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-22 15:28:56 +00:00
Russell Bryant
4cc2618bd1 fix output of 'zap show status' to line up properly (issue #5491)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-22 12:15:07 +00:00
Matthew Fredrickson
0f850c2ffb Add user to user ie transmission support in chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-21 21:23:16 +00:00
Mark Spencer
f5d5814f5f Fix segfault in CVS head (sorry about that)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-21 14:09:03 +00:00
Mark Spencer
e60ab6d916 Be sure to avoid octal interpretations of IP's (bug #5477)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-21 04:09:23 +00:00
Mark Spencer
e973e76c9f Fix DISA documentation (bug #5461)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-21 04:00:13 +00:00
Mark Spencer
5ef59963d0 Fix timeout > 600000 on Linux x86-32
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-20 22:45:47 +00:00
Russell Bryant
56135f210f silence compiler warnings when ZT_TONEDETECT is not defined (issue #5470)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-20 16:50:18 +00:00
Russell Bryant
b4e0cedf94 fix up help text (issue #5479)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-20 16:42:53 +00:00
Jim Dixon
e726a13036 Allow for obtaining IAX2 call peer (endpoint) IP address with IAXPEER(CURRENTCHAN) function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-19 18:19:22 +00:00
Russell Bryant
4aa7912057 Massive cleanups to applications for LOCAL_USER handling and some other things.
In general, LOCAL_USER_ADD/REMOVE should be the first/last thing called in an
application.  An exception is if there is some *fast* setup code that might
halt the execution of the application, such as checking to see if an argument
exists.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-19 18:19:02 +00:00
Mark Spencer
e5afdbbe16 Fix res_musiconhold lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-19 03:51:25 +00:00
Mark Spencer
e603dcedb5 Perform some extra checks before performing masquerades
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-19 03:45:49 +00:00
Mark Spencer
44640b39cf Fix small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 23:58:36 +00:00
Russell Bryant
29829640bf it's a good idea to unregister everything before calling STANDARD_HANGUP_LOCALUSERS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 22:52:21 +00:00
Russell Bryant
907fd55883 add missing STANDARD_HANGUP_LOCALUSERS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 21:06:48 +00:00
Mark Spencer
b1cee61174 Fix various documentation issues (bugs #5464-5467)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 21:06:38 +00:00
Russell Bryant
65cb05b658 clean up DUNDiLookup application
implement 'b' option to bypass DUNDi cache for the lookup
add DUNDILOOKUP dialplan function to eventually replace the application
mark DUNDiLookup application as deprecated
don't register all of the DUNDi goodies until after everything has initialized


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 21:03:49 +00:00
Mark Spencer
dbdd193e12 Fix segfault in app queue when no cdr exists for the calling channel (bug #5462)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 20:58:16 +00:00
Kevin P. Fleming
a3df4cdda2 fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 20:48:34 +00:00
Mark Spencer
5c8c0ef907 Update README documentation (bug #5463, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 19:21:16 +00:00
Mark Spencer
eace0101f2 The amazing disappearing and reappearing patch... This time with documentation explaining it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 19:16:13 +00:00
Mark Spencer
a16432e294 Setting variables should NOT overwrite prefixed (sorry! revert of 5444)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 17:53:57 +00:00
Mark Spencer
e634c61ef8 Small paging fixups (bug #5460)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 17:44:52 +00:00
Mark Spencer
37add4fee5 Be sure to not consider prefix on variable updates (bug #5444)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 17:42:42 +00:00
Mark Spencer
68c2c01b1c Fix truth of strings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 16:51:28 +00:00
Mark Spencer
50d20994f8 Fix off-by-one issue with sort (bug #5459)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 16:48:19 +00:00
Josh Roberson
82d7020516 Don't only accept AST_DEVICE_UNKNOWN when we're trying to determine if the device is in use. (Bug # 5338)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 03:29:12 +00:00
Russell Bryant
463ad17f5d fix build on older versions of mac osx, thanks twisted!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 03:24:41 +00:00
Russell Bryant
b59ab89e1a implement TXTCIDNAME as a dialplan function and mark the application deprecated
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 03:02:06 +00:00
Russell Bryant
ff34fbd02b remove unnecessary config file loading
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-18 02:21:45 +00:00
Mark Spencer
4e919f337c Fix queue, iax and sip formatting issues (bug #5449)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-17 22:26:33 +00:00
Russell Bryant
a863d2b280 clean up function to be more consistent with coding guidelines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-17 17:54:32 +00:00
Russell Bryant
07e6b5c19a clean up headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-17 17:54:05 +00:00
Mark Spencer
7e890dd49c Handle device state changes properly when formatting characters are present (bug #5450, new patch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-17 15:41:55 +00:00
Kevin P. Fleming
7a59bc42c8 correct behavior change introduced by issue #5448 patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-17 13:53:50 +00:00
Mark Spencer
43fd4d64b0 Improve config parsing performance (bug #5448)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-17 03:53:27 +00:00
Kevin P. Fleming
4d5c1aefb7 minor changes and eliminate some compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 23:26:35 +00:00
Russell Bryant
858e90fe57 make ouput a little bit more informative
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 23:01:14 +00:00
Mark Spencer
d499a85f05 Use FILE * instead of fd for files to support buffering
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 16:12:51 +00:00
Mark Spencer
d2025ad2a1 Add walk by channel name prefixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 16:11:52 +00:00
Mark Spencer
f5a38b3871 Make alsa/oss ignore VIDUPDATE control frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 16:05:41 +00:00
Mark Spencer
1ceb04cfb7 More utility cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 03:10:33 +00:00
Mark Spencer
4803298fe8 Make crypto loading optional
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 03:08:58 +00:00
Mark Spencer
90cfc9e3bc Make indications work more efficiently and without heavy floating point (bug #5360)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 03:07:15 +00:00
Mark Spencer
a5dd6a1a14 Add muxmon application (bug #4735 with mods, thanks tony!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-16 02:59:13 +00:00
Kevin P. Fleming
754446e5ac move GPL/trademark licensing information into LICENSE file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-15 05:29:13 +00:00
Kevin P. Fleming
ce16733e72 move GPL text to proper file name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-15 05:12:12 +00:00
Mark Spencer
0aec4ef713 Fix carefulwrite and its usage within manager (bug #5355, maybe)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 20:37:40 +00:00
Mark Spencer
141d9f7156 Make sure when the timeout occurs that we actually break the bridge (bug #5252)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 17:02:20 +00:00
Kevin P. Fleming
9b69c79a36 fix compile error (%d changed to %n)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 05:29:41 +00:00
Jeremy McNamara
69bc7e0900 add missing new line
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 05:19:34 +00:00
Kevin P. Fleming
4d1506e64d make chan_sip able to deal with PBX-level call limit being reached (issue #5131)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 01:14:29 +00:00
Kevin P. Fleming
2fe49e7a5f support sending text through agent channels (issue #5295)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:46:13 +00:00
Kevin P. Fleming
9a85d06a64 initialize variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:45:38 +00:00
Mark Spencer
cb5e5c1fd5 Don't wait for channels to answer before moving on!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:23:47 +00:00
Kevin P. Fleming
57a8f5d82c ensure Dial() options are sorted in help output (issue #5386)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:11:50 +00:00
Kevin P. Fleming
cc5f36d139 ensure that message envelopes are retrieved from ODBC storage when advanced options menu is used (issue #5393)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:08:24 +00:00
Russell Bryant
9ce40204d6 add "hello-world" prompt, courtesy of Jared Smith :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:07:14 +00:00
Kevin P. Fleming
1e21c56426 use existing sample size in frame instead of recalculating it (issue #5390)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-14 00:03:41 +00:00
Kevin P. Fleming
ba7386ebed ensure that parking context/extension (and other settings) are properly updated on reload (issue #5401)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:58:33 +00:00
Kevin P. Fleming
81932c6142 make DISA() use 'i' extension if it exists (issue #5439 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:52:42 +00:00
Kevin P. Fleming
454061ec18 don't force CLID to be a phone-number-looking-thingie (issue #5325)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:48:12 +00:00
Kevin P. Fleming
28dacd0815 use English states in 'show hints' CLI command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:35:57 +00:00
Kevin P. Fleming
7c936b8826 don't try to send events to dead sessions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:29:24 +00:00
Kevin P. Fleming
cc0d3c33ae document that CLID matching is not available for realtime extensions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:19:37 +00:00
Kevin P. Fleming
d509e41078 remove unused variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:15:30 +00:00
Kevin P. Fleming
7215e4179d add auto-monitor support (issue #5411)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 23:14:19 +00:00
Mark Spencer
0b265779b2 Fix the ordering of the sscanfs for SDP parsing (bug #AT&T)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:56:53 +00:00
Kevin P. Fleming
053326ac85 ensure that priorityjumping option returns to its default during reload if it is no longer specified in extensions.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:55:28 +00:00
Mark Spencer
03eb870f3e Fix naming on realtime peers (bug #5421)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:48:11 +00:00
Russell Bryant
bcb449e56b update docs to reflect that priority jumping only occurs when the global
option is enabled


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:43:46 +00:00
Mark Spencer
370f98e223 Fix crash in chanspy (bug #5332)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:10:16 +00:00
Kevin P. Fleming
c05c0c7ce6 clean up pedantic mode tag handling (issue #5125)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 22:03:53 +00:00
Kevin P. Fleming
7734cca1c2 properly display connected channel name in 'agents' manager action for non-callback agents (issue #5235)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 21:59:25 +00:00
Russell Bryant
a74e947c59 remove unused manager header (issue #5438)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 21:20:53 +00:00
Mark Spencer
d75fb48fb8 Display proper error for matching domain registers (bug #5412)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 20:43:33 +00:00
Russell Bryant
dee30a519e allow manager getvar action to retrieve global variables as well as
channel variables (issue #5429)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 20:30:39 +00:00
Russell Bryant
1f2943fc0a re-bind the socket if the bindaddr option is changed during reload (issue #5435)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 20:17:21 +00:00
Josh Roberson
485e3e0801 Log timeouts in queues when the call timeout is set from the dialplan (Bug #5422)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 20:16:50 +00:00
Kevin P. Fleming
04d7bcc757 send "100 Trying" when we receive PROCEEDING, unless "183 Session Progress" has already been sent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 20:04:38 +00:00
Mark Spencer
dd11afca42 Fix call timeouts with rtp bridge etc (bug #5252)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 18:27:54 +00:00
Russell Bryant
6fea13619e fix typo in function name (issue #5437)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 18:01:31 +00:00
Mark Spencer
bb49ec837f Fix seg in chan_agent (bug #5402)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 16:29:49 +00:00
Mark Spencer
7c99490b3a Fix ael if, while, else (bug #5370)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 15:36:29 +00:00
Kevin P. Fleming
f48b822a20 make new app conform to coding guidelines :-(
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 13:14:03 +00:00
Mark Spencer
42cb1956fc Make sure paging can be duplex if necessary
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-13 05:37:49 +00:00
Mark Spencer
995b3973a2 Fix "bug" of not being able to page multiple phones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 22:56:53 +00:00
Russell Bryant
8e5d45f3ac fix some formatting and add some comments (issue #5403)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 20:45:18 +00:00
Mark Spencer
bdef480cdd Back out improper freeing of variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 20:18:13 +00:00
Mark Spencer
7560605ebc Fix "screen" for network numbers (bug #5432)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 14:40:04 +00:00
Mark Spencer
522dfad107 Do *not* default to a max number of registration attempts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 05:43:21 +00:00
Mark Spencer
4d9210f705 Don't override calling presentation if *name* is present (bug #5405)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 05:12:43 +00:00
Mark Spencer
65afb68602 Handle yet some SIP contact issue nuances and exceptions (bug #5289 with mods and rant)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 04:59:58 +00:00
Mark Spencer
c07a31e4bc Fix noncecount update (bug #5308, redone fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 04:35:10 +00:00
Josh Roberson
cc104b0066 finish commit bug 5427 (sip.conf.sample deserves to be updated too)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 01:46:42 +00:00
Russell Bryant
33377538b0 provide the correct string to evaluate with the given regex, instead of the
entire string provided as input to the REGEX function..  Also, use the
provided buffer to store the result.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-12 01:09:04 +00:00
Mark Spencer
c5a8178bb4 Fix directed pickup to a call that is up (bug #5425 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-11 21:08:26 +00:00
Russell Bryant
460655f31c allow semicolons to be escaped in call files (issue #5407)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-11 20:52:37 +00:00
Mark Spencer
1ae71d0b41 Fix memory leak in outbound calls (bug #5406, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-11 20:44:23 +00:00
Russell Bryant
a5373b7e78 fix command listing for top level CLI commands (issue #5416)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-11 20:20:40 +00:00
Russell Bryant
080cc2d4b6 capitalize dialplan function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-11 03:49:15 +00:00
Russell Bryant
65f586c866 Merge ChangeLog from the v1-0 branch and begin a major feature addition list
for 1.2.  I know this list is very incomplete so anyone that would like to help
add stuff, please contact me.  (No, 1.0.10 hasn't been released.  That is going
to come out with 1.2).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-10 04:14:59 +00:00
Russell Bryant
c0119acc0e fix a typo, oops!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-08 17:08:44 +00:00
Kevin P. Fleming
2aa0434048 don't check 'acknowledged' for setting lastdisc, since it's guaranteed to be zero at this point (issue #5254)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 21:27:38 +00:00
Kevin P. Fleming
350aaac04b properly report hangupcause when ast_request() fails for the last (or only) target of a dial operation (issue #5394, different fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 21:18:28 +00:00
Kevin P. Fleming
6f869da9b0 correct variable header documentation (issue #5397)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 21:12:57 +00:00
Kevin P. Fleming
b00e8e509b clean up some poorly constructed code (issue #5399, with mod to include header file for ast_copy_string())
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 21:11:17 +00:00
Kevin P. Fleming
8496d5fe92 fix authentication header extra space (issue #5329)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 01:40:01 +00:00
Kevin P. Fleming
4807571648 add VMCOUNT() function to replace HasVoicemail/HasNewVoicemail apps (issue #5335)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 01:37:48 +00:00
Kevin P. Fleming
d9f508c7f1 fix timer T1 handling (issue #5330)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 01:31:29 +00:00
Kevin P. Fleming
a755500ef8 ensure that the correct flags are always copied from peers/users to private structures (so RPID sending will work properly, issue #5322)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 01:29:02 +00:00
Kevin P. Fleming
d50adefa05 ensure that Remote-Party-ID is sent even on secondary INVITEs within a dialog (issue #5322)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 00:42:09 +00:00
Kevin P. Fleming
17b668e180 don't twiddle memory that doesn't belong to us (issue #5348)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 00:28:04 +00:00
Kevin P. Fleming
130bf3b9e0 use thread ID instead of process ID in logger messages (issue #5349)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 00:21:56 +00:00
Kevin P. Fleming
0bffff1930 correct cygwin detection (issue #5328)
handle parallel make better (issue #5328)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 00:17:57 +00:00
Kevin P. Fleming
aeaf9f4cc6 remove unused config option (issue #5358)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-05 00:05:13 +00:00
Kevin P. Fleming
7c1bbe6eef handle peer matching for subscriptions by name instead of IP address (issue #5103)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 23:54:04 +00:00
Kevin P. Fleming
6fe572d1a9 fix various state-related bugs (issue #5369, with mod to return AST_DEVICE_INUSE)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 23:38:09 +00:00
Kevin P. Fleming
b7c31babb0 support call duration limits on inbound OSP calls (issue #5346)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 23:28:57 +00:00
Kevin P. Fleming
f387421905 make sample config files easier to ready (issue #5371)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:51:59 +00:00
Kevin P. Fleming
e338682949 fix memory leak and unload problems (issue #5380)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:44:15 +00:00
Kevin P. Fleming
b1a61a9672 generate fewer 'stale nonce' messages (issue #5381)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:42:34 +00:00
Kevin P. Fleming
0c886c21c2 truncate last 200ms of DTMF-terminated recording to eliminate inband DTMF (issue #5383)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:35:43 +00:00
Kevin P. Fleming
f7d567fe85 allow write timeout to be set on a per-user basis in AMI (issue #5352)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:25:15 +00:00
Kevin P. Fleming
e67a6e0344 allow manager actions to properly close the session again (issue #5350)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:15:28 +00:00
Kevin P. Fleming
a0a478a72c don't destroy calls when re-INVITE messages ask for things we can't do (issue #5384)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 22:09:23 +00:00
Russell Bryant
dea1d768f9 update sample configuration to reflect new options (issue #5357)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 19:05:40 +00:00
Mark Spencer
3f285f03e1 If you're hanging up channels, be sure we clean it up...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 17:41:30 +00:00
Matthew Fredrickson
1406f660b6 Rewrite of PRI progress and message handling. Fixes bugs #5266 and #4468
(Early media related digit passing and passing early media progress between
channels)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-04 17:00:01 +00:00
Kevin P. Fleming
d4bf5408a7 fix 'invalid command' logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-03 21:01:29 +00:00
Kevin P. Fleming
d167235344 don't build manager event output until it is needed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-03 19:40:03 +00:00
Kevin P. Fleming
9835bc4330 add ast_build_string_va(), which accepts a varargs list directly
ensure the _entire_ manager_event() output is either queued or sent via ast_carefulwrite()


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-01 15:41:27 +00:00
Russell Bryant
270b98d2f4 clarify option description (issue #5351)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-01 01:24:15 +00:00
Kevin P. Fleming
44a7b88d82 don't take session lock in astman_send_error() and astman_send_response(), since it is no longer needed
don't build authority string and event string for every session in manager_event(), do it only once


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-30 23:52:04 +00:00
Kevin P. Fleming
a08f3f75ff tell the user about invalid/unknown commands before sending queued events
s->challenge does not need to be protected by the lock, since only process_message() (and functions it calls) ever use it, and process_message() is a blocking operation by definition


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-30 23:44:12 +00:00
Kevin P. Fleming
7f429e3b02 ensure structure has enough space for embedded string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-30 16:49:23 +00:00
Kevin P. Fleming
9d1fc454d4 properly clear out manager header structure between actions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-30 16:27:14 +00:00
Kevin P. Fleming
834193c08a support a 'post install' script for local modifications after installation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-30 14:48:41 +00:00
Kevin P. Fleming
e0680525e7 fix queues properly (issue #5300, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-30 14:01:56 +00:00
Mark Spencer
2b883819be Fix manager bug (can't destroy a session while a thread is using it!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 20:37:01 +00:00
Kevin P. Fleming
8e4697d8f2 ensure that peer codec preferences take precedence over global preferences
clean and simplify SDP-building code


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 17:41:00 +00:00
Kevin P. Fleming
62209ede0c code cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 17:40:24 +00:00
Kevin P. Fleming
7eb43aa05d re-factor variable/function name parsing, and add substring support to function results (issue #5284)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 04:39:14 +00:00
Mark Spencer
6c54fa36dd Print anomlies at free / show memory allocations time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 04:34:11 +00:00
Kevin P. Fleming
d45b683bdd ensure that app_queue won't crash if no members are defined via Realtime (issue #5300)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 04:12:08 +00:00
Kevin P. Fleming
91b72f5ff0 ensure scheduling priority is inherited into new threads (issue #5293)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 04:08:18 +00:00
Kevin P. Fleming
3b7332c5e6 allow some more paths to be overridden on the command line (issue #5292)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 04:06:15 +00:00
Kevin P. Fleming
13519f72e7 support both regular and Feature Group D dialing syntax on EM_WINK trunks (issue #5323)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 03:25:25 +00:00
Kevin P. Fleming
35b5891b74 don't replace CLID/CNAM when RPID is being generated (issue #5301)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 03:12:46 +00:00
Kevin P. Fleming
61a0f7a65e install 'rasterisk' symlink and update process name when used remotely (issue #5318 with minor mod)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-29 02:38:24 +00:00
Mark Spencer
ea215f5b7d Remove possibility of manager deadlocks from manager actions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 23:10:14 +00:00
Kevin P. Fleming
4287cb7f42 more whitespace fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 21:29:40 +00:00
Kevin P. Fleming
b450a235b2 more whitespace cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 21:23:54 +00:00
Kevin P. Fleming
f8f7d21252 whitespace fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 20:46:43 +00:00
Kevin P. Fleming
eb91322494 fix comment typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 20:40:24 +00:00
Kevin P. Fleming
2685a48e37 missed a line...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 20:35:47 +00:00
Kevin P. Fleming
35c4afd0fd code cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 20:34:11 +00:00
Kevin P. Fleming
b40ba965d6 minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 20:26:41 +00:00
Kevin P. Fleming
b5e6b8af98 clean up formatting, use the same flag bit for both GR-303 modes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 20:06:22 +00:00
Russell Bryant
9f0cf49bca make sure to LOCAL_USER_REMOVE in all cases where the application can exit (issue #5307)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 19:42:36 +00:00
Russell Bryant
90aec0b0e3 fix logic error that breaks queue exit (issue #5312)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 19:33:00 +00:00
Russell Bryant
380005fea4 fix variable name (issue #5302)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 19:24:30 +00:00
Russell Bryant
3c020accfd don't declare the priority inside of the for loop so that the priority
can actually be switched at each iteration (issue #5319)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 19:18:48 +00:00
Mark Spencer
bca61024ca 486 (and friends) are really BUSY (bug #5257)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-28 04:08:57 +00:00
Kevin P. Fleming
bc596e3543 say minutes/seconds using existing 'say number' code for Danish (issue #5277)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-27 02:25:12 +00:00
Kevin P. Fleming
626582a84c store tag in the private structure as formatted text, instead of formatting every time we send a packet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-27 02:12:36 +00:00
Kevin P. Fleming
8af7725f98 support optional sending of Remote-Party-ID headers (issue #2471, heavily modified to actually work properly)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-27 01:54:17 +00:00
Mark Spencer
266529a503 Fix "console" help (thanks to Andy Dvorak)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-27 00:55:55 +00:00
Kevin P. Fleming
fdccf66d52 add domains documentation and rename config option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 23:14:59 +00:00
Kevin P. Fleming
9bbf4c3854 add basic SIP domain support (issue #4466, with major mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 23:07:50 +00:00
Russell Bryant
da7ca691b2 move variable declaration to the beginning of the function (issue #5299)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 20:53:33 +00:00
Kevin P. Fleming
02c80ab20b one more oops (when global variables need substitutions)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 19:51:58 +00:00
Kevin P. Fleming
5156c0621f oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 19:31:03 +00:00
Kevin P. Fleming
44aff84c2e use a more generic means to decide whether we need to provide poll/dlfcn functionality (issue #5297)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 17:17:56 +00:00
Kevin P. Fleming
f68285950b minor code and stack space optimizations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 16:58:40 +00:00
Kevin P. Fleming
852bf07caa ensure that if the verbose buffer is full, we send it out even if it's not complete (issue #5263, patch modified to actually compile)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 15:43:16 +00:00
Kevin P. Fleming
24cdb73f92 handle polarity reversal hangup indication during an incoming call that is still ringing (issue #5191)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 03:14:44 +00:00
Kevin P. Fleming
78fa3593b1 properly ignore retransmitted INVITEs on long latency links (issue #3658)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 03:05:37 +00:00
Kevin P. Fleming
aae3bb3e48 minor optimizations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 03:02:06 +00:00
Kevin P. Fleming
9d63d731aa fix minor build problem on *BSD (issue #5290)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 02:08:06 +00:00
Kevin P. Fleming
f0b4072039 fix some buglets in 'agents' Manager action (issue #5235)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 02:04:07 +00:00
Kevin P. Fleming
43d43b8b46 properly respond to REGISTER queries (issue #5272)
remove unused sip_peer expiry field


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 01:22:09 +00:00
Kevin P. Fleming
d3f7c5fb74 don't drop the caller just because it's not time to play an announcement (issue #5279)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26 00:41:28 +00:00
Kevin P. Fleming
051ddb97f3 clean update devicestate function, ensure that it can return AST_DEVICE_UNKNOWN when call limits are not turned on (issue #5281)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 21:21:47 +00:00
Kevin P. Fleming
5599da9581 support new version of OSP toolkit (issue #5168)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 20:50:40 +00:00
Kevin P. Fleming
d612e3bc27 ensure result buffer is initialized (issue #5285)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 20:47:00 +00:00
Kevin P. Fleming
43e0f52600 correct logic errors (issue #5258)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 20:39:19 +00:00
Kevin P. Fleming
b151666d4c correct sense of logic test (issue #5259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 20:37:05 +00:00
Mark Spencer
1097fc2d38 Make curl a function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 19:36:48 +00:00
Mark Spencer
da7c542e29 Handle authenticating *to* realtime peers (bug #5269)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 19:13:54 +00:00
Russell Bryant
168733a179 Fix expressions on Big Endian platforms (issue #5233)
using bison version 1.875d, flex version 2.5.31


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 17:03:18 +00:00
Mark Spencer
9804f96c0f Fix manager EINTR issue (bug #5247)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 16:58:56 +00:00
Mark Spencer
fcc0b23e18 Fix restart in Mac OSX (bug #5251)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 16:52:04 +00:00
Mark Spencer
446d1eee3e Fix meet me / local channel (bug #5274)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 03:57:53 +00:00
Mark Spencer
96286be0ee Fix GetVar manager action result (bug #5275)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 03:49:22 +00:00
Mark Spencer
1b3cb1e8a6 Fix CLI completion issue (bug #5041)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 03:13:00 +00:00
Mark Spencer
cfabcabae8 Null out call number on release complete when number is unallocated (bug #4633)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-25 02:28:31 +00:00
Kevin P. Fleming
7470ddb6b2 fix copy-and-paste error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-24 22:56:41 +00:00
Mark Spencer
7196493caa Fix CLI memory leak (bug #5035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-24 15:25:52 +00:00
Mark Spencer
2e5537a4a0 Fix directed pickup deadlock bug (bug #5270)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-24 14:22:12 +00:00
Mark Spencer
a21c9058e0 Fix cut/paste error (bug #5282)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-24 14:19:59 +00:00
Mark Spencer
eb4a86ee7b Don't crash on recursive show extension foo@bar...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-24 14:19:00 +00:00
Jim Dixon
b3d871f223 Added support for iaxrpt gui client
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-23 03:07:06 +00:00
Russell Bryant
779d033f21 move process_quotes_and_slashes to utils.c since it is used by both pbx_ael and pbx_config
clean up some formatting
remove some commented out reference code
move unload_module in pbx_ael down to be with the rest of the standard module functions


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-23 02:57:14 +00:00
Russell Bryant
afb00fce12 Use Goto instead of GotoIf when jumping over the else block (issue #4660)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-23 02:53:53 +00:00
Russell Bryant
21eb11c40e fix some gcc4 pointer signedness warnings and clean up some formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-23 02:40:38 +00:00
Mark Spencer
8087701923 iax2 parser cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-21 12:47:03 +00:00
Russell Bryant
6f96370770 don't remove the ast_expr .c files when building testexpr2 since they are
now directly included in the tree


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-19 12:41:32 +00:00
Russell Bryant
ff649ebc1b fix ENUMLOOKUP examples (issue #5244)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-18 22:13:44 +00:00
Russell Bryant
bcaaea9ce6 add missing newline (issue #5243)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-18 22:10:35 +00:00
Russell Bryant
56ca94095a clean up singular vs. plural output for the 'show dialplan' CLI command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-16 18:11:00 +00:00
Kevin P. Fleming
b28847320d add Pickup() application (issue #4865)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 20:28:23 +00:00
Jeremy McNamara
9ce1402c8b ok wtf, no compiler error here
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 17:08:52 +00:00
Jeremy McNamara
59e784c96a I swore this compiled. Honest, officer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 16:58:02 +00:00
Kevin P. Fleming
29bdd1b424 add API for searching active channels by context/exten
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 16:34:39 +00:00
Kevin P. Fleming
b8f23573fa more license/copyright header updates (thanks Ian!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 15:44:26 +00:00
Kevin P. Fleming
d6ef44afe0 revert an optimization that didn't work (issue #5222)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 15:01:23 +00:00
Kevin P. Fleming
1a0ceef2db correct accidental logic reversal
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 14:27:14 +00:00
Jeremy McNamara
3cba705808 Lets try this - an attempt to properly deal with DTMF
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 03:26:02 +00:00
Jeremy McNamara
777e97ab26 clean up debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 03:16:07 +00:00
Jeremy McNamara
c1517d081a castrate the logic in oh323_digit to pass DTMF no matter what. (issue #4989)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 03:14:21 +00:00
Kevin P. Fleming
4fb8ce1fd9 allow minimum/maximum registration intervals to be set on server side (issue #51111)
respect server-provided registration interval on client side


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 02:25:06 +00:00
Kevin P. Fleming
981970c57b _really_ fix app_directory (doh... how did I miss this before?) (issue #5232, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 01:31:49 +00:00
Kevin P. Fleming
44e3b6feb1 ensure that Record() will exit even if no audio is received from the channel (issue #4899)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 01:17:51 +00:00
Kevin P. Fleming
5bd40f4e11 revert a portion of issue #5138 which broke this app (issue #5232)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 00:56:09 +00:00
Kevin P. Fleming
509c285380 don't distribute compressed man pages,let the installer do it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 00:12:36 +00:00
Kevin P. Fleming
c4d824cf71 error message generated using backwards logic (issue #5224)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-15 00:05:27 +00:00
Kevin P. Fleming
f94a1d47d6 clean up ast_verbose(), don't hold the lock any longer than needed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 23:56:50 +00:00
Kevin P. Fleming
fadae17355 don't leave a buffer not filled in when getting a REGACK (issue #5226)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 22:51:19 +00:00
Kevin P. Fleming
ff41d6ab6c correct 'progressinband' parsing (issue #5209, different fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 22:45:31 +00:00
Kevin P. Fleming
b68657fcec ensure that ast_safe_system() is thread-safe (issue #4947)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 22:40:54 +00:00
Kevin P. Fleming
eb332490ff put items in RFC-specified order (issue #5217)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 22:06:00 +00:00
Kevin P. Fleming
02e5af9cf5 proper header name and attribution (issue #5218)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 21:43:55 +00:00
Kevin P. Fleming
e30adc051f various niteroperability fixes (issue #5221)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 21:41:02 +00:00
Kevin P. Fleming
e84273f392 use API call for setting call time limit (issue #5227)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 21:24:50 +00:00
Kevin P. Fleming
1ec15b9458 doc fixes (issue #5230)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 21:23:05 +00:00
Kevin P. Fleming
d62b19048a spelling fix (issue #5231)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 20:48:41 +00:00
Kevin P. Fleming
5da915dcfd update MANY more files with proper copyright/license info (thanks Ian!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 20:46:50 +00:00
Kevin P. Fleming
f6dff3608d allow channel receive gain to be adjusted while recording messages/greetings in voicemail (workaround for issue #2023 from the ancient past)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 20:00:54 +00:00
Russell Bryant
99b3d9206d delete streamplayer with 'make clean'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 18:47:54 +00:00
Kevin P. Fleming
4e7c01765f use a better name for structure element (when using named initializers)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 17:20:24 +00:00
Kevin P. Fleming
49ade5ed71 slightly clear argument processing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 17:19:55 +00:00
Kevin P. Fleming
b42abc9ce0 deprecate EnumLookup() application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 14:26:27 +00:00
Kevin P. Fleming
f2e6ac45ca don't abort Asterisk load if configuration not found (issue #5115)
don't register channel type until after config has been loaded


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:52:11 +00:00
Kevin P. Fleming
ee696945de support all OSP authentication models (issue #5159)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:45:37 +00:00
Kevin P. Fleming
77ed1394b6 ensure that exten field is cleared when incoming number is not matched to an extension (issue #5203)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:41:05 +00:00
Kevin P. Fleming
aa92d9c1f8 don't double define our own string functions on platforms that don't have them (issue #5169)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:30:33 +00:00
Kevin P. Fleming
fc0b625da1 make While() able to find the matching EndWhile() for when the condition is zero (issue #5145)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:24:38 +00:00
Kevin P. Fleming
16cd2019b1 ensure that Manager hold/unhold events are generated even for non-bridged channels (issue #4594)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:18:45 +00:00
Kevin P. Fleming
e60671d5bf make RTP handling errors less likely to crash Asterisk (issue #5172)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:15:14 +00:00
Kevin P. Fleming
811ec06cfd more documentation (issue #5174)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 02:12:37 +00:00
Kevin P. Fleming
07a06d83a4 handle rport/received in Via headers properly (issue #5037)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 01:53:06 +00:00
Kevin P. Fleming
8f537c4378 add status variable output and jumping control to SendURL() (issue #4812)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 01:46:09 +00:00
Kevin P. Fleming
7b0c1cb275 add token format specification support (issue #5199)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 01:40:22 +00:00
Kevin P. Fleming
0c8f0e8bdb extensive ENUM support update, including ENUMLOOKUP() dialplan function (issue #5201 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 01:36:15 +00:00
Kevin P. Fleming
72437b1dba more BSD portability fixes (issue #5155)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 01:10:20 +00:00
Kevin P. Fleming
67584e21c8 ensure that agent channels don't get seized during login (issue #5020)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 00:59:51 +00:00
Mark Spencer
5600956db8 Handle dialog updates to to tag properly (bug #5166)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 00:43:11 +00:00
Kevin P. Fleming
f16f81db05 ensure that the AGENTBYCALLERID_* variable is cleared when an agent logs in to a different device (issue #5213)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 00:39:05 +00:00
Kevin P. Fleming
6f49ab2dfa partial formatting cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 00:28:06 +00:00
Kevin P. Fleming
a1bdc4836a output 'our tag' in proper format
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14 00:27:51 +00:00
Russell Bryant
8da2550874 ensure that user events are identified with the correct type (issue #5200)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-13 23:36:55 +00:00
Kevin P. Fleming
cabcfd8921 check call limit in ast_pbx_start(), instead of waiting until background thread has been launched (needed for issue #5131)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-13 21:59:45 +00:00
Mark Spencer
41bf6b42fd Try a more generally correct solution, for NFAS (bug #5179)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-13 02:27:32 +00:00
Mark Spencer
04e4a54ae8 Restart PRI when we come out of alarm if we're not already up...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-13 02:20:37 +00:00
Josh Roberson
8ac8621f40 don't send a 200 ACK before a 404 on invalid subscriptions (Bug #5198)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-13 01:38:00 +00:00
Mark Spencer
064520786e Fix permissions on safe_asterisk (bug #5193)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-12 04:06:52 +00:00
Mark Spencer
f06a4016be Properly install appropriate sound files, prefix spy ones with spy- (bug #5192)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-12 03:49:54 +00:00
Jim Dixon
391d8b0994 Better improved HF interface
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-11 22:08:44 +00:00
Mark Spencer
961cd50bba Don't allow callwait to happen during initial ringdown (bug #5188)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-11 17:01:10 +00:00
Mark Spencer
1541e97afe Make sure RTP timestamps are accurate on playback
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-10 18:46:38 +00:00
Josh Roberson
f406fe76a8 Set filaneme BEFORE we return from open_mailbox() if we don't have positive message count (Bug #5175)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 21:13:42 +00:00
Kevin P. Fleming
60ffafcc39 allow users of RTP to know when the peer endpoint is (apparently) behind a NAT
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 19:54:34 +00:00
Mark Spencer
a2b177fcbb Increase PRI buffers just in case
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 18:41:17 +00:00
Matthew Fredrickson
f49370c82f Fix 'w' to correctly send sending complete on PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 16:07:06 +00:00
Mark Spencer
d95ad5b4d8 Make lock logging reentrant when DEBUG_THREADS enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 05:35:14 +00:00
Russell Bryant
943e527d0a don't use a signed buffer for data that the protocol specifies as unsigned.
This fixes an issues with RSA authentication (issue #5148)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-09 01:07:25 +00:00
Jim Dixon
4794638c99 Fixed signalling problem with pciradio
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 17:29:49 +00:00
Russell Bryant
d0ff6c46f8 add missing break (issue #5154)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 15:34:38 +00:00
Kevin P. Fleming
f2b293b8c4 add frame type for T.38, remove some unused stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 03:23:38 +00:00
Kevin P. Fleming
b50f649446 oops :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 02:26:35 +00:00
Kevin P. Fleming
f00e5c6d8d portability fixes for NetBSD (issue #5151)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 02:24:02 +00:00
Kevin P. Fleming
f77779b4fc more Cygwin portability (issue #4678)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 02:21:24 +00:00
Kevin P. Fleming
4c2377ddd9 first set of Cygwin portability stuff (issue #4678)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 02:19:02 +00:00
Kevin P. Fleming
b9c919ca3e ensure that MALLOC_DEBUG and 'make dont-optimize' don't conflict (issue #4970)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-08 00:34:19 +00:00
Russell Bryant
720272254b initialize these variables because they could be used uninitialized in the
case that the codec capabilities are 0, oops


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 23:29:17 +00:00
Kevin P. Fleming
a51556ff3e don't reject REGREL requests (issue #5152)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 23:18:39 +00:00
Kevin P. Fleming
19631cb588 update prompts to match new meetme menus
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 22:25:50 +00:00
Kevin P. Fleming
03f39d5a1e ensure that TRANSFERSTATUS can return FAILURE (issue #5146)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 21:39:53 +00:00
Kevin P. Fleming
9a4c8f8c9c enable DTMF monitoring when DYNAMIC_FEATURES are specified for a brige (issue #5153)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 21:36:30 +00:00
Kevin P. Fleming
1e854ea773 remove useless buffer initializations (issue #5134)
convert pbx_dundi to use ast_copy_string) (issue #5134)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 21:01:31 +00:00
Kevin P. Fleming
04a954ae16 ensure debug messages are only output if debug is enabled (issue #5142)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 20:54:19 +00:00
Matthew Fredrickson
6f78afbe00 Revert change that removed q931_call structure too soon
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 20:52:17 +00:00
Kevin P. Fleming
c70e1d1674 handle no-peer-specified-in-dial-string gracefully (issue #5132)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 20:52:03 +00:00
Kevin P. Fleming
836916dab4 add doxygen documentation (issue #5133)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 20:44:57 +00:00
Kevin P. Fleming
a78f58b4e4 put a limit on Macro depth (to combat recursion) (issue #5114)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 20:39:20 +00:00
Kevin P. Fleming
19a4e8fe6d clarify transmission failure message when RTP peer is behind NAT (issue #5136 with mods to use flag bits instead of new variable)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 20:33:30 +00:00
Kevin P. Fleming
e0f02b46f1 convert a bunch of apps to use ast_goto_if_exists() (issue #5138)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 19:13:00 +00:00
Kevin P. Fleming
1bd1a35a9a factor out INVITE response handling in its own function (issue #5127)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 19:00:31 +00:00
Kevin P. Fleming
721bd0aa59 eliminate signedness warnings (issue #5130)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 18:57:01 +00:00
Kevin P. Fleming
40c5fa88a4 eliminate signedness warnings (issue #5129)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 18:55:03 +00:00
Kevin P. Fleming
a833f4699a add status variable output to System() app (issue #5121)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 18:52:54 +00:00
Kevin P. Fleming
7d37750831 remove unneeded variables (issue #5117)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 18:49:32 +00:00
Russell Bryant
c842090c76 add more options (issue #5137)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 17:07:56 +00:00
Kevin P. Fleming
4e87243686 fix some race conditions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 15:32:01 +00:00
Kevin P. Fleming
4b8de0713e reset channel volumes when exiting apps that use them
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 14:15:37 +00:00
Josh Roberson
8f21e3659b Fix spelling of Accountcode. *wink*
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 04:23:15 +00:00
Kevin P. Fleming
ff4ec53348 add note about volume adjustments in app_meetme (new sound files are on their way)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 02:42:12 +00:00
Kevin P. Fleming
6a34f551ec re-add 'listen' volume control
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 02:27:58 +00:00
Kevin P. Fleming
35d9febc6e another buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 01:55:29 +00:00
Kevin P. Fleming
764cfe8f8e actually do issue #4170 right... it was supposed to adjust talk volume, not listen volume (sorry)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 01:39:11 +00:00
Kevin P. Fleming
5fdc070109 add new channel option (via ast_channel_setoption()) to let channel drivers adjust txgain/rxgain if they are able (only Zap channels at this time)
modify app_chanspy to use new gain option
reformat app_chanspy to match coding guidelines
add user-controlled volume adjustment to app_meetme (issue #4170, heavily modified to actually work on Zap channels)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-07 01:30:01 +00:00
Mark Spencer
2f67f66577 Allow "auto" dtmf mode to select between RFC2833 and inband based on peer's offer or answer.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-06 21:04:40 +00:00
Mark Spencer
bcd06b8582 Don't recreate stuff on authentication (so it works on reinvites)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-06 20:03:31 +00:00
Matthew Fredrickson
7348cba9c7 Fixed possible hangup race condition that would lead to segfualt with hangups.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-06 17:50:55 +00:00
Russell Bryant
4daf98741a fix a warning on osx
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-05 17:46:09 +00:00
Russell Bryant
7d7090ef8f look in CROSS_COMPILE_TARGET for speex headers (issue #5118)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-05 15:48:47 +00:00
Kevin P. Fleming
aa6883aba6 revert unnecessary change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:38:08 +00:00
Kevin P. Fleming
93a1922549 ensure that OSP-provided call duration limit is honored (issue #5099)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:32:20 +00:00
Kevin P. Fleming
c5ca63efc9 eliminate compiler warning (issue #5094)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:29:18 +00:00
Kevin P. Fleming
5679500b31 correct terminology (issue #5100)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:27:01 +00:00
Kevin P. Fleming
3bad83e0f2 ensure that notify message sent out have the correct state (issue #5088 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:24:32 +00:00
Kevin P. Fleming
6a260b78fe use unsigned char for data elements and native-signed char for strings (issue #5104)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:17:19 +00:00
Kevin P. Fleming
6543de5620 use native-sign characters for strings (issue #5105)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:15:03 +00:00
Kevin P. Fleming
f16cd5f39c use matching char types for strings (issue #5106)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 19:12:35 +00:00
Mark Spencer
0602837f4e Fix vidupdate for chan_zap to eliminate sillyl warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 18:43:36 +00:00
Kevin P. Fleming
5f6431a75a factor calling-plan-apply logic into a separate function
apply calling plan to RDNIS


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 18:37:53 +00:00
Kevin P. Fleming
04ebc9b7db remove unused header and old comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 18:07:26 +00:00
Kevin P. Fleming
f5dd769dcc doh!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 16:05:53 +00:00
Kevin P. Fleming
a2be145193 make chan_iax2 rtupdate behave the same as chan_sip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 14:19:36 +00:00
Russell Bryant
019310244e fix a couple of warnings on osx
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-02 11:39:24 +00:00
Kevin P. Fleming
6b76015469 allow for custom URI options to be set (issue #4927 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 23:01:54 +00:00
Kevin P. Fleming
14c769230b allow longer 'busy' tones to be detected (issue #5085)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:34:24 +00:00
Kevin P. Fleming
37a3c098bf fix stupid thinko (thanks velter!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:32:29 +00:00
Kevin P. Fleming
d3a76999d0 various devicestate fixes (issue #5081, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:28:33 +00:00
Kevin P. Fleming
3a31b6ff2d don't try to reference through pvt if it is NULL (issue #5089)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:11:02 +00:00
Kevin P. Fleming
16773c3d7c ensure variable structure is initialized before use (issue #5092)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:08:58 +00:00
Kevin P. Fleming
421ceff171 don't send OSP tokens do devices that are not OSP aware (issue #5093)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:06:23 +00:00
Kevin P. Fleming
dd88d578fd eliminate the urgent handler message, since it can causing blocking in the stdio library (issue #5087)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 22:03:10 +00:00
Kevin P. Fleming
8fc8505607 don't send warnings for unhandled indications, let ast_indicate() deal with them (issue #5097)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 21:56:39 +00:00
Kevin P. Fleming
06e4ba227d send the correct Call-ID when using OSP (issue #5095)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 21:53:52 +00:00
Kevin P. Fleming
253e6537df don't reverse variable order during inheritance (issue #5091)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 21:50:49 +00:00
Kevin P. Fleming
4f493d1126 don't add a colon to the header name (thanks bkw!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 21:09:34 +00:00
Kevin P. Fleming
56c27b5a14 add warning about new expression parser
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 21:00:06 +00:00
Kevin P. Fleming
d10c2c7ee7 don't unlock a channel we didn't lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 20:15:58 +00:00
Kevin P. Fleming
0361052ae1 ensure that file handles are never double closed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 19:44:51 +00:00
Kevin P. Fleming
25f3403b21 don't access freed memory if the frame was malloc'd
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 19:34:49 +00:00
Matthew Fredrickson
c88ab78d47 New, more robust way of doing e&m digit collection. Bug #3805
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 19:02:37 +00:00
Kevin P. Fleming
66371e182a minor optimization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 18:45:36 +00:00
Matthew Fredrickson
25d9051633 Make sure we enable echo cancellation on incoming overlapdial calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 17:38:25 +00:00
Matthew Fredrickson
a99cc6b16d Forgot to commit sample config update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 17:33:18 +00:00
Kevin P. Fleming
e04ba4a11f eliminate old chan->pvt field, and fix bug in generic bridge to watch chan->tech_pvt instead
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 00:10:49 +00:00
Kevin P. Fleming
fc91dd1035 eliminate spurious warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-01 00:05:47 +00:00
Kevin P. Fleming
e86bb70642 stop adding 'username@' to incoming IAX2 channel names, so that they can be properly matched in the device-state system (issue #5081)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 22:13:40 +00:00
Kevin P. Fleming
050d6c7d34 ensure revents fields are initialized before calling poll()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 22:12:23 +00:00
Kevin P. Fleming
b67fced7ae correct Makefile errors (issue #5072)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 21:29:58 +00:00
Kevin P. Fleming
1480688582 clarify comments (issue #5075)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 21:28:12 +00:00
Kevin P. Fleming
3103fd6292 don't duplicate devicestate-to-string function (issue #5078)
use ast_build_string() for building output string


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 20:16:47 +00:00
Kevin P. Fleming
5b819fc101 stop retransmitting INVITE after we have sent CANCEL for the same call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 19:53:38 +00:00
Kevin P. Fleming
81fd292e40 don't remove .version during 'make clean', it's not the temporary file it used to be
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 18:48:21 +00:00
Mark Spencer
ac0eaaf1f2 Add support for ring begin event and configurable ringtimeout.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 05:02:33 +00:00
Kevin P. Fleming
e40361f803 remove patch that no longer applies and is not being updated any longer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 03:32:53 +00:00
Kevin P. Fleming
22dc4f71fe minor cleanup and reorganization (issue #5073)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 03:32:15 +00:00
Kevin P. Fleming
561ab01345 add doc on how to create backtraces for debugging (issue #5036)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 03:28:40 +00:00
Kevin P. Fleming
e3ebb69fd1 correct case error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 02:55:36 +00:00
Kevin P. Fleming
f3c46f8f20 deprecate chan_modem and its subdrivers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 02:54:06 +00:00
Kevin P. Fleming
9614adc056 make DEBUG_THREADS have more visible logging
make DEBUG_THREADS able to catch locks being unlocked by threads that did not own them
add proper wrappers for pthread_cond_wait() and pthread_cond_timedwait() for DEBUG_THREADS mode


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 02:43:44 +00:00
Russell Bryant
746efc536a ensure that the MOH_QUIET flag gets set for the mode "quietmp3nb"
add mode to the output of the "moh classes show" cli command


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 01:16:48 +00:00
Kevin P. Fleming
bef3341975 remove unused define
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-31 00:27:33 +00:00
Kevin P. Fleming
102ff2d56e preserve user-added headers when outbound INVITE must be authenticated (issue #5070)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 21:59:01 +00:00
Kevin P. Fleming
b74c9906d2 force cleaning with today's changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 21:38:41 +00:00
Kevin P. Fleming
085ad00ee0 don't terminate subscriptions before they should be (issue #5063)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 21:34:41 +00:00
Kevin P. Fleming
5f07eec58a remove unused 'outgoinglimit' code, rename 'incominglimit' to 'call-limit' (old syntax is still supported) (issue #5068)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 21:26:33 +00:00
Kevin P. Fleming
6d19c704b7 make chan_sip and chan_iax2 less chatty when not in debug mode (issue #5067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 21:20:59 +00:00
Kevin P. Fleming
d4e44d7c31 correct syntax error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 20:08:59 +00:00
Mark Spencer
63ad336bbf Add lookup script for people without CIDNAME plus rich variables...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 18:41:42 +00:00
Kevin P. Fleming
1632d52795 major header file cleanup: license, copyrights, descriptions, markers, etc.
remove deprecated config_old.c/config_old.h
remove unused cvsid.h


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 18:32:10 +00:00
Kevin P. Fleming
a90915e4e9 fix cdr_pgsql build on Debian testing (issue #5064)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 15:59:25 +00:00
Kevin P. Fleming
76d34be89b correct syntax error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 15:44:09 +00:00
Matthew Fredrickson
98047ff61d Add support for override of the default pri exclusive/preferred channel
selection behavior


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 15:39:43 +00:00
Kevin P. Fleming
60ef1dc9d1 ensure that the parser is generated in 'full/fast' mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 14:44:00 +00:00
Kevin P. Fleming
9519f6c5f4 clean up, use make functions instead of subshells, remove unused stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 02:54:02 +00:00
Mark Spencer
5d4d2fdfd4 Add SIP video fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 02:12:09 +00:00
Kevin P. Fleming
538e160956 fix error I introduced into oej's patch :-(
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30 01:04:17 +00:00
Kevin P. Fleming
388e8bd9a8 massive upgrade to SUBSCRIBE, device state and messaging support (issue #3644)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 23:53:29 +00:00
Kevin P. Fleming
b42b25b521 eliminate compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 23:49:43 +00:00
Kevin P. Fleming
49b0098c4a ensure CDR pointer is cleared after detaching it from channel (related to issue #4877)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 23:11:29 +00:00
Kevin P. Fleming
ae1e51c857 use proper next hop in strict routing mode (issue #3609)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 23:03:07 +00:00
Kevin P. Fleming
022cf309e4 add dialplan functions for URI encoding/decoding (issue #4857)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 22:54:54 +00:00
Kevin P. Fleming
1824c2f630 encode/decode URIs in 'pedantic' mode (issue #3923)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 22:39:39 +00:00
Kevin P. Fleming
0f03a734b1 don't make expression evaluator allocate a memory buffer for each result
to
be returned; use the buffers already present in the PBX for this purpose
update testexpr2/check_expr to allocate buffers for expression
evaluation


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 22:03:37 +00:00
Kevin P. Fleming
8b331ab17d eliminate compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 21:18:35 +00:00
Kevin P. Fleming
3ac4417753 eliminate warning when !ZAPATA_PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 21:18:20 +00:00
Kevin P. Fleming
830943cd0d fix signed/unsigned result issue on 32-bit platforms (issue #5050)
(expression parser was rebuilt with bison 1.875d as well)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 20:43:16 +00:00
Kevin P. Fleming
464c3dca3c don't use unsigned in on Solaris, will break math expressions that are
supposed to generate negative results (related to issue #5050)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 20:17:25 +00:00
Kevin P. Fleming
d996db1ae9 remove unused defines and logic (issue #5058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 19:07:24 +00:00
Russell Bryant
14fa6770e4 fix build when NEWJB is not defined (issue #5046)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 16:19:07 +00:00
Russell Bryant
ba8b18ca83 app_rpt is experimental, not obsolete (issue #5047)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 16:14:38 +00:00
Russell Bryant
d1ec6c80d1 fix mem leak from not destrying config (issue #5048)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-29 16:08:53 +00:00
Kevin P. Fleming
99929b21e4 preserve hint watchers and laststate across 'extensions reload' (issue #2522)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-27 23:55:14 +00:00
Kevin P. Fleming
601e4bb78a ensure that 'Events: On' enables all event types (issue #5016)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 23:04:20 +00:00
Kevin P. Fleming
8084c8d9d7 add Russian support to say_number (issue #4781)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:29:11 +00:00
Kevin P. Fleming
ffe23eb007 add AgentCallbackLogin and AgentLogoff manager actions (issue #4766)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:24:16 +00:00
Kevin P. Fleming
8e3af106db update to use Speex 1.1.x features and doc cleanups (issue #4755)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:14:06 +00:00
Kevin P. Fleming
27dda09b0f work around parsing problem by using GotoIf() (issue #4876)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:10:17 +00:00
Kevin P. Fleming
ad21be9cc7 ignore equals-signs inside parens (issue #5022)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:08:28 +00:00
Kevin P. Fleming
da627fc643 use case-insensitive comparisons for headears (issue #5023)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:04:28 +00:00
Kevin P. Fleming
ed63297dfd convert Cut() into CUT() function (issue #4892)
add SORT() function (issue #4892)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 20:01:22 +00:00
Kevin P. Fleming
6319baba24 remove extra dependencies
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 19:55:11 +00:00
Kevin P. Fleming
66e69e0143 switch to 'new' expression parser, remove support for old parser
provide parser files in source tree, so flex/bison are not need to build
update Makefile to use simpler techniques to build parser
update README to remove references to old vs. new parsers
remove version comparison tool used for flex/bison programs


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 19:21:57 +00:00
Russell Bryant
7fa558c71e fix format string (inspired by issue #4945)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 15:59:00 +00:00
Russell Bryant
f64c91537a updates for extensions.txt (bug #5028)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-26 15:24:38 +00:00
Kevin P. Fleming
fcc3a3ac32 don't install moh functions if no classes are configured (issue #5025 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 23:29:30 +00:00
Kevin P. Fleming
7085e27835 doc updates and copyright header cleanup (issue #5026)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 23:23:26 +00:00
Kevin P. Fleming
866ae3cd53 doc updates and copyright header cleanup (issue #5027)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 23:21:01 +00:00
Kevin P. Fleming
39e8d87476 minor doc fixes and copyright header cleanup (issue #5029 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 23:17:47 +00:00
Kevin P. Fleming
239d0bf4f7 fix race condition
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 18:30:02 +00:00
Russell Bryant
9f13284f02 change sample ip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 16:11:46 +00:00
Kevin P. Fleming
f51d313a94 ensure that Random() can support priority labels as targets (issue #5013)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 04:04:14 +00:00
Kevin P. Fleming
529fcab374 add T1 timer support for NOTIFY dialogs (issue #5017)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 03:44:22 +00:00
Kevin P. Fleming
37930961e1 add optional 'extended ODBC storage' mode (issue #4403)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 03:15:18 +00:00
Kevin P. Fleming
aad6fbb85e add madplay example for Solaris users (issue #4929)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:40:08 +00:00
Kevin P. Fleming
1cb8d00523 ensure Asterisk won't segfault during re-registration (issue #5011)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:33:21 +00:00
Kevin P. Fleming
bf6bc6d4fd clean up rtcaching config options (issue #4075)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:25:30 +00:00
Kevin P. Fleming
5c4fa40a8f add documentation of new parameters to sample config file (issue #5021)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:22:04 +00:00
Kevin P. Fleming
60718ec80b handle INVITEs that are asking for authentication that we cannot supply more intelligently (issue #4995)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:19:42 +00:00
Kevin P. Fleming
20e887d708 make some messages show up only under debugging and other minor cleanups (issue #5018)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:16:25 +00:00
Kevin P. Fleming
fa4b3f8416 fix 'sip debug' vs. reload properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-25 02:12:49 +00:00
Kevin P. Fleming
e979e32374 clean up code, fix a few bugs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-24 23:10:55 +00:00
Kevin P. Fleming
0bd1861df8 clear out memory allocated by LOCAL_USER_ADD/LOCAL_USER_ACF_ADD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-24 23:10:24 +00:00
Kevin P. Fleming
7950e4216e make AST_LIST_REMOVE_HEAD safer to use
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-24 23:10:06 +00:00
Russell Bryant
a07997b961 fix build for OpenBSD (bug #5019)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-24 17:23:44 +00:00
Kevin P. Fleming
0d7115e65c protocol upgrades
shorter timeout during wait() calls
log channel name in all log messages


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-24 14:24:55 +00:00
Kevin P. Fleming
6aeb93a629 handle whitepace around expression
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 22:03:24 +00:00
Kevin P. Fleming
87f2acf15d don't reset sipdebug to zero during reload (issue #5000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 17:59:26 +00:00
Kevin P. Fleming
61ef3c1c7c make the warning message be LOG_WARNING (issue #4960)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 17:55:59 +00:00
Kevin P. Fleming
81c127758b ensure buffer is adequately sized for frames with lots of elements (issue #4974)
various minor formatting/cleanup changes


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 17:38:58 +00:00
Kevin P. Fleming
d86ce557ef allow more adjustability in peer qualification system (issue #4192 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 17:11:44 +00:00
Kevin P. Fleming
8a52a7cf10 add counter to 'show formats' (issue #5001)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 15:43:47 +00:00
Kevin P. Fleming
4c6693f39d add count to 'show keys' (issue #5002)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 15:41:17 +00:00
Kevin P. Fleming
f52192183c fix build on FreeBSD (issue #5003)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 15:36:01 +00:00
Kevin P. Fleming
98563fdb73 formatting fixes and compile fix for FreeBSD (issue #5004)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 15:33:27 +00:00
Kevin P. Fleming
f07adb44c0 fix buglets in new authentication code (issue #4860)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 15:21:48 +00:00
Kevin P. Fleming
5473ad640b make MALLOC_DEBUG build work properly (issue #4970 with additional changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 15:08:55 +00:00
Kevin P. Fleming
9a6618e8d8 show global vmexten in 'sip show settings' (issue #5005)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 14:41:51 +00:00
Kevin P. Fleming
3442368b28 ensure that features are not duplicated during reload (issue #3764, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 14:40:03 +00:00
Russell Bryant
460e8fc8b7 add indications for es (bug #4939)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 12:38:48 +00:00
Kevin P. Fleming
477f581889 don't require 'make samples' to require code to be built (issue #4997)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 02:30:30 +00:00
Kevin P. Fleming
9e9f3ace21 add ability to map feature sequences to applications (issue #3764)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 02:22:33 +00:00
Kevin P. Fleming
eb805b409f do expensive 'next message number' calculation before playing sounds (issue #4955)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 02:01:37 +00:00
Kevin P. Fleming
fd781b3174 use memmove() when memory regions might overlap (issue #4957)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:52:38 +00:00
Kevin P. Fleming
0a3502b592 handle on-/off-hold properly with RTP reinvited streams (issue #3974)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:50:11 +00:00
Kevin P. Fleming
a5b640cb40 add 'sip show settings' CLI command (issue #4806)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:44:28 +00:00
Kevin P. Fleming
8b1077669e don't try to change run priority, EUID or EGID on restart if they were already set (issue #4734 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:37:26 +00:00
Kevin P. Fleming
2cde73fddb make sure realtime/high scheduling priority is relinquished before executing an AGI script (issue #4930)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:30:22 +00:00
Kevin P. Fleming
dde23d5d0f reverse commit due to lack of disclaimer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:09:49 +00:00
Kevin P. Fleming
a0ebefc915 make Record() properly timeout even if no input is received from the channel (issue #4899)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 01:08:07 +00:00
Kevin P. Fleming
0bf1d48e40 support configurable Message-Account value in NOTIFY messages (issue #4801)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-23 00:50:38 +00:00
Kevin P. Fleming
6755f0b642 make SIGURG handler message more obvious (issue #4878)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 23:06:14 +00:00
Kevin P. Fleming
d69e96de11 allow custom dialplan functions to be called from AGI (issue #4855)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 23:00:23 +00:00
Kevin P. Fleming
3480297607 add preliminary support for SIP timers (issue #4359)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 22:55:06 +00:00
Kevin P. Fleming
c9287324ea make pager messages configurable (issue #4829)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 22:43:47 +00:00
Kevin P. Fleming
3315ea79b9 add CONTROL STREAM FILE AGI command (issue #4738)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 21:59:24 +00:00
Kevin P. Fleming
fda760f7bd add text status variable output to SendText() application (issue #4808)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 21:55:46 +00:00
Kevin P. Fleming
dffade452c add a LOG_DTMF logging channel and send all bridged DTMF events out that channel (issue #4835)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 21:19:59 +00:00
Kevin P. Fleming
09bd4cfb95 add SIPCHANINFO function to retrieve information about the current connected SIP endpoint (issue #4698)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 21:13:37 +00:00
Kevin P. Fleming
26ed14a7e4 add file to ignore list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 20:53:53 +00:00
Kevin P. Fleming
9d899a2075 add status output to Transfer() application (issue #4810, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 20:53:38 +00:00
Kevin P. Fleming
97b45d5d6d handle BYE instead of CANCEL from callers (issue #4994)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 19:47:00 +00:00
Kevin P. Fleming
ff971379f4 support new format for musiconhold.conf (issue #4908)
support non-SLINEAR moh streams (issue #4908)
add external app to feed TCP stream into Asterisk for moh (issue #4908)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 19:29:29 +00:00
Kevin P. Fleming
69f9c479e7 add 'restart' character to ast_control_playback function and ControlPlayback() application (issue #4693)
rework app_controlplayback.c to take into account all Asterisk 1.2 coding style requirements


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 19:06:42 +00:00
Kevin P. Fleming
26ea6ea391 add count to 'show functions' CLI command (issue #4991)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 18:47:19 +00:00
Kevin P. Fleming
971091a17c add count of files used to build Asterisk/modules (issue #4992 with text mod)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 18:45:41 +00:00
Kevin P. Fleming
1b420b7696 make 'show modules like' not case sensitive (issue #4990)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 18:43:32 +00:00
Jim Dixon
6b2ff5db90 Added support for Yaesu FT-897 HF/VHF/UHF radio and other improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-22 02:38:37 +00:00
Mark Spencer
e6732b52d8 Document AGI SIGHUP changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-21 16:54:43 +00:00
Mark Spencer
f76171a643 Fix IAX2 Provisioning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-19 20:04:58 +00:00
Russell Bryant
6e9eaaf217 fix execiftime and include some code cleanup while we're at it (bug #4380)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-19 07:12:53 +00:00
Mark Spencer
47334c3193 Fix language in d-channel (bug #4979)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-19 04:23:23 +00:00
Kevin P. Fleming
8a2b540f0a protect PRI-specific code with ifdefs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-17 17:52:14 +00:00
Mark Spencer
71fcf66d1e Fix password change bug (bug #4976)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-17 15:49:34 +00:00
Kevin P. Fleming
8253780716 temporarily revert aggressive native bridge attempts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-16 20:37:27 +00:00
Matthew Fredrickson
d39d277ada Don't catch digits from zaptel during overlap dialing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-16 16:12:22 +00:00
Mark Spencer
b353b1d6fb Allow Asterisk to start even when eventlog is turned off (bug #4938)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-15 19:35:25 +00:00
Josh Roberson
88ea13f07e Fix description text for IF function. (Bug #4966)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-15 17:06:30 +00:00
Mark Spencer
3b12e18473 Fix PRI against masquerade
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-15 14:57:58 +00:00
Josh Roberson
4e153882d7 Fix usage text for AGI recieve text (bug #4948)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-15 02:45:34 +00:00
Josh Roberson
ccb3b5d1d4 Fix misspelling of "Launching" in pbx.c (Bug #<4964)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-15 01:56:40 +00:00
Mark Spencer
6f07e6cc4f Reorder dnsmgr to before other modules (bug #4927)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 23:47:40 +00:00
Ben Kramer
5cd67220f4 / fixed bug introduced during bridge code cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 22:56:34 +00:00
Mark Spencer
1dfc0af171 Fix build on OpenBSD (bug #4951)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 03:16:06 +00:00
Mark Spencer
129fd190a9 Make sure "now" is initialized (bug #4961)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 03:08:08 +00:00
Mark Spencer
f448fd7703 Whe make_valgrind_happy, initialize dns to 0 before passing to res_ninit (bug #4959)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 02:23:33 +00:00
Mark Spencer
079b24c53c Build safe_asterisk script substituting the proper path in (bug #4952, patch not used)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 02:19:16 +00:00
Mark Spencer
436353205a Fix cli matchstr initialization (bug #4958)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-14 01:48:14 +00:00
Mark Spencer
8b7e1054fe Fix accidental RTCP/RTP linkage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-12 18:59:43 +00:00
Mark Spencer
e65f1c2a95 Fix CLI formatting typo (bug #4945)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-12 18:29:41 +00:00
Kevin P. Fleming
ab7ae00513 fix bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-11 18:34:03 +00:00
Mark Spencer
86c7ad9217 Extend enum buffer sizes (bug #4943)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-11 18:05:25 +00:00
Mark Spencer
f2c72aca7b Fix potential deadlock in asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-11 16:43:36 +00:00
Mark Spencer
766acde0dc Build dependencies first
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-11 15:47:41 +00:00
Mark Spencer
081aa86b0d Fix acl compile on solaris (bug #4932)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-11 05:39:09 +00:00
Kevin P. Fleming
82453465f0 correct error Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-10 23:25:55 +00:00
Kevin P. Fleming
d0ec4b9e94 add ExternalIVR() application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-10 23:24:39 +00:00
Russell Bryant
f3c9715947 fix a little oopsie
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-09 19:31:54 +00:00
Mark Spencer
97e1ede292 Centralize and fix tos for IAX (bug #4850 inspired)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-09 16:41:28 +00:00
Mark Spencer
95cf08ee92 Allow ToS to be set in hex (bug #4923)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-09 16:20:32 +00:00
Kevin P. Fleming
957eed7682 eliminate compiler warnings when DEBUG_THREADS is enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-09 15:37:33 +00:00
Kevin P. Fleming
ce7a1e4768 bridging code cleanups:
code style, formatting
	use enum/symbolic constants for return codes
	efficiency improvements
	(zaptel) only disable DTMF detection once per bridge, not every frame
	(zaptel) ensure VPM DTMF detector is turned off during native bridge


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-09 01:59:59 +00:00
Mark Spencer
d9cb23cc90 Don't wait longer than our timeout for something to happen (bug #4653)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-08 06:54:36 +00:00
Mark Spencer
ce49016c96 Show callerid in meetme show list (bug #4851 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-08 02:32:37 +00:00
Mark Spencer
0462b845e2 Better alignment/truncation of show channels output (bug #4741 with extensive mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-08 01:45:29 +00:00
Russell Bryant
99d6c05f13 more pointer signedness fixes for gcc4 warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-08 01:16:44 +00:00
Mark Spencer
6dde38ed52 Be consistent with User/Username (bug #4916)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-08 00:15:37 +00:00
Mark Spencer
13a0bec612 Merge steve's busy detect stuff (bug #4830)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-08 00:08:48 +00:00
Mark Spencer
195a36afac Fix poll error condition causing memory corruption (bug #4915)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 22:59:04 +00:00
Mark Spencer
ef753b53bd Fix lookup to use proper API call...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 22:32:30 +00:00
Mark Spencer
0e411496e1 Default paths properly when building for solaris (bug #4902)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 14:59:41 +00:00
Mark Spencer
4f37e6b4b0 Allow enumlookup to return a status variable (bug #4788)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 14:45:31 +00:00
Mark Spencer
e415ff3f87 Don't record all calls as abandoned (bug #4575) (fixes damage inadvertently added by bug #4644)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 14:11:48 +00:00
Russell Bryant
82883698cc more fixes for gcc4 warnings ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 06:47:20 +00:00
Russell Bryant
b870642ee9 more fixes for gcc4 warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 06:34:26 +00:00
Mark Spencer
f4a1a05205 Revert improperly applied patch from bug #4771
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-07 04:56:39 +00:00
Russell Bryant
149168f4a5 remove some sillyness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-06 17:09:18 +00:00
Mark Spencer
6b6ecee06d Properly handle | within ()'s when doing app arg parsing... (bug #4911)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-06 16:52:56 +00:00
Mark Spencer
51c390db61 Fix timestamp + trunking (bug #4891)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-06 14:53:14 +00:00
Russell Bryant
7564500552 formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-06 06:40:05 +00:00
Mark Spencer
f08acd7b45 Fix newline issue (bug #4632)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-05 21:44:19 +00:00
Russell Bryant
52594b6b12 fix a bunch of gcc4 warnings realted to pointer signedness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-05 16:29:30 +00:00
Russell Bryant
c2b31d45df fix seg fault if no variable is specified (bug #4907)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-05 15:19:51 +00:00
Russell Bryant
d0cec3dd99 fix seg fault
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-05 07:03:35 +00:00
Russell Bryant
0a87b55fe8 ensure that strings.h has va_list defined (bug #4900)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-04 20:13:55 +00:00
Russell Bryant
c65f1a04ab there is no reason to check the channeltype of the channel calling SIPAddHeader
because it really only matters what the channeltype is of the *created* channel
in the subsequent dial (bug #4896)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-04 20:03:45 +00:00
Russell Bryant
c3c496512f 'outgress' should be 'egress'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-04 17:33:21 +00:00
Russell Bryant
6e2aa7c62a only check for an existing cdr when about to set an arbitrary cdr variable (bug #4848)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 21:34:48 +00:00
Mark Spencer
3c6e6c9c96 Be sure not to leak frames in certain cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 20:17:53 +00:00
Mark Spencer
d8a7545a82 Fix documentation of overridecontext (bug #4379)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 19:58:34 +00:00
Mark Spencer
a9a91571a1 Remove queue/session co-locking until deadlocks are properly resolved
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 18:25:23 +00:00
Mark Spencer
73e21b0ccc Add extra aliases from RFC4028 and RFC3841 (bug #4889)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 18:05:40 +00:00
Mark Spencer
d07c47bac8 Fix solaris vasprintf (don't free the memory, duh) (bug #4890)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 17:36:46 +00:00
Mark Spencer
a384e30271 Improve RTP comments (bug #4792 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 05:00:42 +00:00
Mark Spencer
11258c02cb Fix some astmm formatting and path issues (bug #4753)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:50:09 +00:00
Mark Spencer
8712d1d7f1 Fix timestamp issue with features (bug #4760 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:42:59 +00:00
Mark Spencer
6e825f933d Revert a portion of oej's patch...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:32:09 +00:00
Mark Spencer
c57bfc55cf Don't ignore ACk packets (bug #4861)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:26:10 +00:00
Mark Spencer
6afb367b96 Fix issue with say digit str (bug #4883)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:23:58 +00:00
Mark Spencer
4f0d1b8428 Fix sighup with AGI (bug #4854)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:17:12 +00:00
Mark Spencer
033d64ba42 Move to rizzo's new chan_oss, but leave the old one just in case... (bug #4379 with changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 04:11:52 +00:00
Mark Spencer
3a362c7839 Reduce number of calls to get method (bug #4863)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 03:50:53 +00:00
Mark Spencer
e0b57f1fae Fix voicemail crash (bug #4800)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 02:45:30 +00:00
Mark Spencer
50087d3467 Fix qop syntax (bug #4822)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 02:34:57 +00:00
Mark Spencer
d5a51058cc Fix AEL max character bug (bug #4837)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 02:26:19 +00:00
Mark Spencer
2d108b8826 Fix vasnprintf emulation (bug #4882)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-03 02:07:25 +00:00
Mark Spencer
5c9027a293 Remove from maekfile, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-02 11:57:29 +00:00
Mark Spencer
57fcfceddf This script is now useless...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-02 11:57:06 +00:00
Jeremy McNamara
65f426169d Fix newsignal/newcontrol compile issue. Bug #4867
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-02 03:25:28 +00:00
Russell Bryant
11a1ecabdb fix warning (bug #4807)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-01 15:01:11 +00:00
Russell Bryant
e6f1ea2782 add info on asterisk.ctl (bug #4864)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-01 14:55:06 +00:00
Russell Bryant
6f312133ac make sure that iaxs gets initialized (bug #4856)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-01 14:46:14 +00:00
Mark Spencer
5d350297b6 Make sure we don't close a mailbox if we didn't open one (bug #4800)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-01 11:09:03 +00:00
Mark Spencer
8efba1c127 Minor voicemail fixup (related to 4800, but not the fix yet)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-01 11:03:09 +00:00
Mark Spencer
5a7a8666a1 Add periodic announcement (bug #4677 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-31 22:07:58 +00:00
Mark Spencer
f49ff59c3f Fix monitoring when channel redirected (bug #3809, patch redone)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-31 21:27:21 +00:00
Russell Bryant
a5f0c99bb3 fix netbsd compilation issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-30 19:12:30 +00:00
Russell Bryant
654ff10f8e make GROUP set group@categroy instead of category@group
ensure that GROUP_COUNT still returns "0", even if no group was found


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-28 21:16:02 +00:00
Mark Spencer
86ec024624 Fix music on hold leak (bug #4842)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-28 18:37:55 +00:00
Mark Spencer
9f136f57fe Don't delete RTP if there is a channel, even if we get REGISTER/SUBSCRIBE (bug #4534)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-28 18:24:04 +00:00
Mark Spencer
716a669818 Remove per-context maxmsg which should never have made it in (bug #4843)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-28 18:14:13 +00:00
Russell Bryant
9d880dd2b2 remove useless call to time() and an extra variable when we can just use the
one we already have


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 23:05:52 +00:00
Russell Bryant
50a1d758d5 the time must be initialized for the 'n' option to actually work (bug #4834)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 22:55:48 +00:00
Russell Bryant
bbb33e5c41 don't crash if no group is specified (bug #4836)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 22:43:18 +00:00
Russell Bryant
80af1153bc fix warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 22:19:49 +00:00
Russell Bryant
5196d60538 use Set instead of SetVar in the sample so that we don't get warnings when
running the demo :-)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 05:45:52 +00:00
Jeremy McNamara
adae4181f0 Stomp on deadlock. Bug #4555
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 04:45:11 +00:00
Jeremy McNamara
2fc8abd8ae one-way-audio problem on multihomed host with bind to secondary address. Bug #4505
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 04:39:53 +00:00
Kevin P. Fleming
11891d28da and now we know why #define-ing constants and trying to keep them in sequence is a bad idea...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 02:17:06 +00:00
Kevin P. Fleming
9080884688 fix breakage that was causing PUBLISH to be sent instead of CANCEL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 00:58:54 +00:00
Kevin P. Fleming
f99dcb7586 add a few const's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-27 00:32:37 +00:00
Kevin P. Fleming
b774d41660 enhance SIP_PEER function to return additional items (bug #4816)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 22:13:31 +00:00
Kevin P. Fleming
531554d835 additional documentation of options (bug #4811)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 22:05:50 +00:00
Kevin P. Fleming
bafebbd909 warn users about voicemail menu structure change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 21:57:32 +00:00
Kevin P. Fleming
c4c9401efd make queue and interface name matching case-insensitive (bug #4815)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 21:53:56 +00:00
Kevin P. Fleming
2c0f42361e correct comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 21:49:07 +00:00
Kevin P. Fleming
5cc0413c54 add a global option to disable priority jumping in applications (when they get updated), settable in extensions.conf
change app_dial to use 'j' to _ENABLE_ priority jumping if it has been globally disabled


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 16:29:56 +00:00
Russell Bryant
a657d3a7fa fix build issue for FreeBSD (bug #4802)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-26 14:40:41 +00:00
Kevin P. Fleming
4df19fa1c2 clean up SIP response and pedantic REGISTER matching (bug #3663)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 23:26:47 +00:00
Kevin P. Fleming
8703628608 add explanatory comment about timestamp compensation (bug #4763)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 23:13:20 +00:00
Kevin P. Fleming
f6c059d451 process asterisk.conf in a single pass, instead of twice (bug #4689)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 23:09:13 +00:00
Russell Bryant
0d695659ca don't set the event mask if the given eventmask was not valid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 23:01:39 +00:00
Russell Bryant
eb7f5e8d0b make sure a reponse is sent when setting the EventMask to on (bug #4799)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:58:34 +00:00
Kevin P. Fleming
f358db3d43 use CDR API calls instead of re-implementing them (bug #4726)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:56:18 +00:00
Kevin P. Fleming
307566933f more extensive documentation (bug #4444)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:52:25 +00:00
Kevin P. Fleming
e355c40279 add some basic documentation about asterisk.conf (bug #4758, rewritten)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:38:54 +00:00
Kevin P. Fleming
ae95c5d7e1 allow longer file version strings (bug #4765)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:19:13 +00:00
Kevin P. Fleming
9b8ee1f3e4 set the 'number complete' bit properly (bug #4771)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:16:35 +00:00
Kevin P. Fleming
8b3f4e3022 formatting cleanups (bug #4782)
fill out some Manager events with additional headers (bug #4782)
re-word some log messages to be clearer (bug #4782)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 22:13:32 +00:00
Kevin P. Fleming
1a5aa9c836 add dedicated function for adding Content-Length header (bug #4795)
use ast_build_string to build large text bodies (bug #4795)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 21:58:32 +00:00
Russell Bryant
829a14ed07 remove the need to have the BUSYDETECT routine defined in the CFLAGS unless
you want to use one other than the default


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 21:57:14 +00:00
Kevin P. Fleming
6596f8496e _really_ rewrite get_in_brackets to do the right thing (including skipping escaped double-quote characters)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 21:40:17 +00:00
Russell Bryant
8223580a4a formatting and callingpres support (bug #4787)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 20:04:46 +00:00
Kevin P. Fleming
6d7b939467 ensure translators don't generate old timestamps when silent periods end (bug #4707 with formatting fixes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 19:41:39 +00:00
Kevin P. Fleming
ff5409507c minor updates (bug #4777)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 19:17:43 +00:00
Kevin P. Fleming
a0acccffa5 fix line-ending style (bug #4778)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 19:13:21 +00:00
Kevin P. Fleming
654f3909e2 minor updates (bug #4779)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 19:11:19 +00:00
Russell Bryant
f34930313c get rid of potential memory leak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 19:10:38 +00:00
Kevin P. Fleming
6074f3441a add MD5-hash matching (bug #4764, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 18:59:11 +00:00
Kevin P. Fleming
1aa875b656 combine bracket-removing functions (bug #4794, with compiler warning mod)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 18:36:58 +00:00
Russell Bryant
cdf79750c0 squash a warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 18:34:40 +00:00
Kevin P. Fleming
1e9beaa1d2 ensure that port number in URI is presented when needed (bug #4784)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 18:11:19 +00:00
Kevin P. Fleming
a953eb06c3 formatting cleanups (bug #4786, with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 18:09:04 +00:00
Kevin P. Fleming
1153f74259 add plain-text hangup cause private header to outbound BYE/CANCEL (bug #4783 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 17:39:48 +00:00
Russell Bryant
eeb34ffd63 more formatting fixes! (bug #4780)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 17:31:53 +00:00
Kevin P. Fleming
5238d544e9 ensure socket address family is copied (bug #4789)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 17:31:50 +00:00
Russell Bryant
36093d24f7 get rid of a warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 17:27:36 +00:00
Russell Bryant
76b6344760 add ability to set or read both callerid name and num in one call to the function
This one is for you, Mark :-p


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 17:26:59 +00:00
Kevin P. Fleming
dd1cd37f11 ensure SIP_HEADER does not segfault when called on hung-up channels (bug #4756, different fix than posted patch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 17:13:24 +00:00
Russell Bryant
cd17218e59 add line break after show agents output (bug #4768)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 16:53:28 +00:00
Russell Bryant
32a267db40 formatting fixes (bug #4770)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 15:32:06 +00:00
Russell Bryant
4f007c8192 formatting fixups (bug #4769)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25 15:23:47 +00:00
Matthew Fredrickson
6eb0ec533e More minor cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-22 18:28:19 +00:00
Matthew Fredrickson
0577cdd35f Fixed little oops with DTMF tone duration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-22 18:07:53 +00:00
Matthew Fredrickson
23d05a2ebb Get rid of DSP after we don't need it anymore in MF mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-21 15:06:50 +00:00
Kevin P. Fleming
3f5035dce4 _really_ fix IAX2 crazy timestamp problem (bug #4747)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 22:46:58 +00:00
Russell Bryant
bd18858411 more formatting fixes from oej :-) (bug #4757)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6179 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 17:05:18 +00:00
Russell Bryant
5589a1e387 put ast_recvchar under its desc, add desc for ast_senddigit, don't use a
length limited copy for a static copy into a buffer that we *know* is big
enough


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 16:39:49 +00:00
Kevin P. Fleming
075a8ad21c add slinfactory object, and change app_chanspy to use it (bug #4724)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:53:21 +00:00
Kevin P. Fleming
91e8442629 add SIPPEER dialplan function (bug #4728)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:44:35 +00:00
Kevin P. Fleming
dc648f7334 add ActionID output and lock CLI fd for Manager action DBGet (bug #4727)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:38:20 +00:00
Kevin P. Fleming
1c30af0622 add English device state output (bug #4733, with minor mod)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:34:01 +00:00
Kevin P. Fleming
3db82d8597 add OGG/Vorbis file format support (bug #4296)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:25:54 +00:00
Kevin P. Fleming
9ecdab9452 add warning about enabling debug channels in logger (bug #4732)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:16:15 +00:00
Kevin P. Fleming
a6b0f6074f move strtoq into new string files (bug #4740)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:13:15 +00:00
Kevin P. Fleming
3677a861c8 formatting cleanup (bug #4752)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-20 00:09:39 +00:00
Kevin P. Fleming
0be59a11de simple fix for bug #3638
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 23:55:43 +00:00
Kevin P. Fleming
63b6795055 ensure account code is not overwritten when none is supplied (bug #4743)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 23:45:21 +00:00
Kevin P. Fleming
ddf5da66f7 formatting cleanup (bug #4750)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 23:35:45 +00:00
Kevin P. Fleming
be8e1d2381 restore proper difference calculation (bug #4746)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 23:28:12 +00:00
Kevin P. Fleming
4dd4428204 split acl and netsock code into separate files, in preparation for new netsock implementation
various minor cleanups


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 23:17:02 +00:00
Russell Bryant
c8f5c38f66 let the compiler learn the types for the elements of a struct timeval to fix
portability issues


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 19:06:24 +00:00
Russell Bryant
11fae70fca update guidelines to explain indent parameteres (bug #4742)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 17:59:27 +00:00
Russell Bryant
324f7d150f formatting fixes (bug #4736)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 15:54:17 +00:00
Russell Bryant
4817bc599d restore warning about negative timestamps now that it is fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 15:32:03 +00:00
Russell Bryant
de905a632a fix negative timestamp issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 15:30:31 +00:00
Russell Bryant
b134548d79 suppress timestamp message until we can figure out where it is coming from,
since it appears that this isn't causing a real problem


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 14:08:19 +00:00
Russell Bryant
4c5fbc1583 formatting fixes (bug #4739)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 13:44:42 +00:00
Matthew Fredrickson
0a4dd9a6b3 Fix for DSP code on 411/406. (Bug 4712). Also a settable tone length
option.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 13:30:37 +00:00
Ben Kramer
c3f1c4da4f / fixed typo bug introduced in fix for bug #4504
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-19 02:33:46 +00:00
Russell Bryant
088da8a0ab actually install the demo sounds ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 20:09:09 +00:00
Russell Bryant
5f04f09e5a also include /etc/asterisk.makeopts, but have file in home directory override
it if present


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 18:34:52 +00:00
Josh Roberson
2c85f4862c fix smoothfade for osx.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 15:51:09 +00:00
Russell Bryant
7f88c9549f get rid of warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 14:31:21 +00:00
Russell Bryant
5af1098063 get rid of unused variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 05:00:23 +00:00
Josh Roberson
d7fdaa1f37 and last but not least, fix my email address.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 04:30:33 +00:00
Josh Roberson
e380aa7452 Forgot to remove printf() used in debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 04:23:33 +00:00
Josh Roberson
25041974ef Update muted for operation on OSX. :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-18 04:22:08 +00:00
Russell Bryant
a9c7f50a09 Allow manager originate to specifiy more than one variable to be set.
Allow manager originate and spool files to set writable dialplan functions,
including those that use the pipe symbol to seperate arguments.
Allow CDR dialplan function to be able to set the account code and userfield.
This deprecates the use of the Account header in manager originate and spool
files, as well as the SetAccount and SetCDRUserField applications.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 23:24:51 +00:00
Kevin P. Fleming
22b0f5d306 add a library of timeval manipulation functions, and change a large number of usses to use the new functions (bug #4504)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 23:00:47 +00:00
Kevin P. Fleming
60cd1fa57d clean up scheduler debugging and expose defines in the Makefile (bug #4703)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 22:21:31 +00:00
Kevin P. Fleming
11486c084a re-enable SIGHUP and SIGCHLD after they fire on platforms that require it (bug #4720)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 22:12:55 +00:00
Kevin P. Fleming
9d8d86e19d phase two of string portability stuff:
don't need ast_ prefixes on functions
  use individual #defines for function presence
  add vasprintf to portability library


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 22:06:15 +00:00
Russell Bryant
da1d0363ca get rid of compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:32:44 +00:00
Kevin P. Fleming
38598f57b4 make 'Agents' manager action conform to protocol (bug #4723)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:21:41 +00:00
Kevin P. Fleming
ee568be647 revert unneeded change and add comment to avoid it in the future
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:15:57 +00:00
Kevin P. Fleming
904beec507 ensure that format string macros are undef'd after use (bug #4716)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:13:26 +00:00
Kevin P. Fleming
7070dafdbf don't use %i for scanf unless non-base-10 input is needed (bug #4717)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:10:21 +00:00
Kevin P. Fleming
17fee8dc68 various code formatting changes and cleanups related to bug #4706
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:03:02 +00:00
Kevin P. Fleming
7dfba67f7d ensure that channels that are busy/congested are marked AST_STATE_BUSY (bug #4706)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 16:02:37 +00:00
Kevin P. Fleming
494d253efe more ifdef cleanup to match proper Linux macros
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 15:37:58 +00:00
Josh Roberson
937740bd89 Fix breakage caused by bug #4669. Next time let's test the build on
linux before commiting a portability patch ;)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 02:28:10 +00:00
Kevin P. Fleming
b6486df40e first phase of proper fix for portable string function problems (bug #4669)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 00:39:01 +00:00
Kevin P. Fleming
dcfabce0e4 restore count_messages for ODBC storage to proper behavior (bug #4711)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 00:27:41 +00:00
Kevin P. Fleming
86e17a7487 clean up maxmsg parsing, and ensure default applies to Realtime voicemail users
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 00:18:58 +00:00
Russell Bryant
3c7779c766 fix some indentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-15 00:15:14 +00:00
Kevin P. Fleming
990bba90a7 ensure we record the last seqno we transmitted (bug #4659)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-14 23:58:36 +00:00
Russell Bryant
1d731c6d2a clarify comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-14 20:08:31 +00:00
Russell Bryant
ad1858bebc add ability to have a file, ~/.asterisk.makeopts, that will be included in
the makefile so that every time you checkout Asterisk, you don't have to
edit the makefile to set all of your common options


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-14 19:40:15 +00:00
Kevin P. Fleming
f50c27c355 don't ignore hardcoded CLID from zapata.conf when usecallerid=no
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 20:22:29 +00:00
Kevin P. Fleming
9a7a5d5623 fix up lock breakage from bug #4245
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 19:27:09 +00:00
Russell Bryant
f62a613d24 fix big endian compilation issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 19:21:04 +00:00
Kevin P. Fleming
aaa057778c add create_addr_from_peer, to use an existing peer reference
(solves a deadlock where create_addr was called with the peer already locked)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 18:06:49 +00:00
Kevin P. Fleming
1432749293 add QueueStatusComplete event (bug #4694 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 16:44:55 +00:00
Matthew Fredrickson
91f84f9098 Update variable name to match docs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 15:13:12 +00:00
Russell Bryant
709689f76e fix typo in app description (bug #4697)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-13 14:07:29 +00:00
Kevin P. Fleming
5b11473088 send final 3 RFC2833 packets with same seqno (bug #4659)
don't reprocess incoming RFC2833 event when packets received out of order (bug #4659)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 23:36:00 +00:00
Russell Bryant
38717a75c6 add a dialplan function to get and set the music on hold class
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 22:50:45 +00:00
Kevin P. Fleming
79760d4802 add support for multiple-digit extensions in queue exit contexts (bug #4690)
add QUEUEAGENTCOUNT dialplan function (bug #4690)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 22:28:51 +00:00
Kevin P. Fleming
85eb4c9afb support DTX and CNG in speex (bug #4608)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 22:20:16 +00:00
Kevin P. Fleming
676116f2e2 add UTC tag to date string so users are aware of the time offset
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 19:41:25 +00:00
Kevin P. Fleming
37184c4244 revert patch from bug #4532 until CPU consumption problem can be resolved
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 18:57:20 +00:00
Kevin P. Fleming
4bcf6f7806 fix logic error in searching for channel by name (bug #4684)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 16:00:23 +00:00
Russell Bryant
b62623fdaa convert ast_copy_string to use AST_INLINE_API macro (bug #4682)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 15:26:24 +00:00
Russell Bryant
4f64fe03f0 get rid of compiler warning (bug #4682)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 15:22:55 +00:00
Kevin P. Fleming
24f9f8586b cast constants into the proper type (bug #4686)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 15:13:39 +00:00
Kevin P. Fleming
7276c684c4 clean up and reorganize vm_intro_it (bug #4683, with formatting changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 15:10:31 +00:00
Kevin P. Fleming
c59c42e166 don't declare variables inside a code block (bug #4681)
fix formatting


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 14:58:25 +00:00
Mark Spencer
3916b7e41b Fix IAX2 encryption (really, bug #4500 for reference)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 14:46:20 +00:00
Kevin P. Fleming
0313d0b9c5 add privacy/screening functionality to app_dial (bug #752)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 03:23:31 +00:00
Kevin P. Fleming
9985055fd7 add support for say_number in Hebrew (bug #4420)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 03:00:49 +00:00
Kevin P. Fleming
2c79cc2fc6 correct arguments being passed to external notify function (bug #4595)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 02:57:50 +00:00
Kevin P. Fleming
99c29d7053 support a configurable number of mailboxes per folder (bug #4229)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 02:53:56 +00:00
Kevin P. Fleming
1ea58b4517 support military-style time announcing ('hundred' instead of 'o-clock') (bug #4605)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 02:36:53 +00:00
Kevin P. Fleming
a803ef7af0 pick up calling ANI information from libpri (bug #4571)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 02:33:57 +00:00
Kevin P. Fleming
d7e09f233f allow explicit source address/port selection for peers (bug #4257, with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 02:19:41 +00:00
Kevin P. Fleming
b06daf5859 make 'webvmail' installation directories more configurable (bug #4649)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 02:08:03 +00:00
Kevin P. Fleming
97671a2b05 add 'exit context' and 'only stop on match' options to Background app (bug #4511)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 01:34:06 +00:00
Russell Bryant
e2d42d2551 update the password in memory as well when using externpass (bug #4602)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 01:30:55 +00:00
Kevin P. Fleming
16c5ee5d56 fix voicemail path locking problems (bug #4245)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12 01:04:54 +00:00
Kevin P. Fleming
58d1d59cab simplify (and document!) macro for inlinable API functions (inspired by bug #4603, with slightly different implementation)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 23:25:31 +00:00
Russell Bryant
3cfa36143e properly handle the return of the rowcount from ast_update_realtime (bug #4452)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 23:13:11 +00:00
Kevin P. Fleming
771f699cdd fix threading portability problem with FreeBSD (bug #4532)
ensure that all mpg123 child processes get killed when the parent is killed (bug #4532)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 21:42:25 +00:00
Kevin P. Fleming
be9d72b11d remove complex malloc-avoidance (bug #4601)
remove resetting of variables during unload that will only be freed or set to known values on reload


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 21:06:27 +00:00
Russell Bryant
e24821e1cf fix off by one errors in calls to ast_copy_string (bug #4600)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 21:05:35 +00:00
Kevin P. Fleming
eb397f08df reverse arguments to ast_tvdiff_ms, so they match the 'raw' math being used between the arguments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 20:46:25 +00:00
Kevin P. Fleming
8079f53c01 don't hangup the channel when a RECEIVE TEXT command times out (bug #4607)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 20:40:02 +00:00
Matthew Fredrickson
e67bc60c40 Make PRI debug easier to read if you're not using NFAS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 19:23:02 +00:00
Kevin P. Fleming
9f210028d1 fix compiler warning about ast_copy_string
remove double-include of asterisk.h


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-11 00:00:11 +00:00
Russell Bryant
5df2640539 use AST_MAX_CONTEXT
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 23:58:33 +00:00
Kevin P. Fleming
5bf8872b42 more thoughts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 23:58:07 +00:00
Kevin P. Fleming
312122c113 minor fixes, and more topics covered
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 23:51:10 +00:00
Russell Bryant
4c531ca8c0 define an AST_MAX_CONTEXT for use instead of AST_MAX_EXTENSION
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 23:49:57 +00:00
Russell Bryant
c18fd5cd8c more ast_copy_string conversions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 23:21:39 +00:00
Russell Bryant
206f712599 more ast_copy_string conversions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 23:12:25 +00:00
Russell Bryant
edbc500b77 more ast_copy_string conversions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 22:56:21 +00:00
Mark Spencer
80f67ad1fa Pass along proceeding and progress even when overlap mode is not on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 16:05:59 +00:00
Mark Spencer
45895f6fa7 You must have version.h before building dependencies!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 15:53:05 +00:00
Kevin P. Fleming
87231c34a1 simplify locking (use a single lock, no deadlock possible)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 13:06:54 +00:00
Mark Spencer
3c8dfe099d Fix lock ordering in devicestate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 12:09:40 +00:00
Jim Dixon
b4f7592ebb Fixed iobase specification in rpt.conf and put in check for 'keyed' for
main system rx DTMF.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-10 03:13:42 +00:00
Anthony Minessale II
fb4106f357 Typo Fix (per corydon76)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-09 20:37:59 +00:00
Malcolm Davenport
47edc64ecd D'oh
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-09 15:36:59 +00:00
Malcolm Davenport
fe7c0b0cce Bug #4652 - Take two
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-09 12:18:59 +00:00
Malcolm Davenport
d36d51f732 Bug #4652 - Require libstrfunc for FreeBSD. Thanks Corydon
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 21:54:07 +00:00
Kevin P. Fleming
a913a5ce23 add the new files for the last commit :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 21:15:41 +00:00
Kevin P. Fleming
c13d601fb4 queue device state changes and handle them serially in a background thread
optimize device state related functions
add ast_get_channel_by_name_prefix to allow searching for matching channels in O(1) operation


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 21:14:34 +00:00
Kevin P. Fleming
0111a38e4b ensure globals are all static
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 21:09:38 +00:00
Matthew Fredrickson
f6f9cac028 Change level of message in case of write on hung up channel (Bug #4651)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 19:10:39 +00:00
Kevin P. Fleming
f64717b556 clean up compiler warnings during build on 64-bit systems
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 17:06:54 +00:00
Russell Bryant
ea346597bb update sample to reflect new nodir option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 15:04:01 +00:00
Russell Bryant
b8e8cdc968 make this call to socket() consistent with the rest of them in Asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-08 14:27:39 +00:00
Russell Bryant
c65d75dac5 super crazy ast_copy_string conversion madness!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 23:46:10 +00:00
Kevin P. Fleming
349a64ef8f add path-locking to voicemail CGI app (bug #4304)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 23:34:59 +00:00
Russell Bryant
91ee5d5ddd more fun with ast_copy_string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 23:32:37 +00:00
Kevin P. Fleming
25f2cb8ec9 ensure that "completed calls" counter is updated properly (bug #4575)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 23:29:48 +00:00
Kevin P. Fleming
bebab80538 ast_copy_string conversion
replace unnecessary length-limited copies with direct copies


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 23:17:22 +00:00
Russell Bryant
089e021868 more ast_copy_string conversions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 23:17:04 +00:00
Kevin P. Fleming
64cf50c8e1 allow user-configurable date formats in voicemail message body (bug #4554)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 22:56:49 +00:00
Kevin P. Fleming
608eec66d6 ensure that mailbox numbers are read correctly from password files (bug #4655)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 22:42:06 +00:00
Kevin P. Fleming
d39c932f20 ensure that conference created by new caller who fails to enter a PIN is destroyed (bug #4613)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 22:36:40 +00:00
Kevin P. Fleming
f268ea2b3c make CLI output use singular/plural when appropriate (bug #4654)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 22:32:20 +00:00
Malcolm Davenport
f1a18b8066 Hardcode urgent messages option in Voice-Message to 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07 19:51:33 +00:00
Kevin P. Fleming
6b72557890 ensure that AGENTBYCALLERID is set for agents being reloaded from persistent storage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-06 14:47:25 +00:00
Kevin P. Fleming
1bd88c387e don't segfault when peer doesn't send Referred-By (bug #4588)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-06 01:45:23 +00:00
Kevin P. Fleming
8b19bdba36 ensure buffer policy is restored after RAS is done with a channel (bug #4589, slightly simpler fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-06 01:41:54 +00:00
Kevin P. Fleming
9403a6e027 remember CallerID in AgentCallbackLogin, so it can be used at logoff time
use stored CallerID when auto-logoff occurs to clear AGENTBYCALLERID variable (bug #4616)
persist stored CallerID into/out of astdb


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-06 01:29:15 +00:00
Kevin P. Fleming
6797e6334f don't write frames out to channel until after sending them to spies and/or monitor, since the channel driver might modify the frame data in the buffer (bug #4623)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 22:21:54 +00:00
Kevin P. Fleming
054317fb13 add support for 'early loading' modules, so that nearly all configuration files can be read from Realtime storage
add warning for when file mapping is found but the engine is not available
add warning for trying to map 'logger.conf', since it cannot be reliably mapped


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 22:11:43 +00:00
Kevin P. Fleming
18cf6ee46a add new file to ignore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 22:10:39 +00:00
Kevin P. Fleming
65e52f3ba9 clean up find_engine()
issue a warning when a config file mapping is found but the desired driver is not available (inspired by bug #4628)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 21:17:58 +00:00
Kevin P. Fleming
750e8abd46 ensure that filesize-triggered reloads don't recurse (bug #4621, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 20:31:34 +00:00
Kevin P. Fleming
386f0e70b3 ensure that text frames are copied correctly even if they are not null-terminated (bug #4615)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 19:52:48 +00:00
Kevin P. Fleming
7d841b1885 make editline build properly on cygwin (bug #4624)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 19:30:18 +00:00
Kevin P. Fleming
232e7869e0 don't force autofallthrough to on (bug #4599)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 19:22:58 +00:00
Kevin P. Fleming
f8b140faa4 ensure that abandoned calls are recorded that way (bug #4644)
show 'available' for member channels that are not known to be in some other state (bug #4644)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 19:22:26 +00:00
Kevin P. Fleming
8f8d190b46 add man pages for autosupport and safe_asterisk scripts (bug #4642)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 19:04:49 +00:00
Kevin P. Fleming
83878abdc7 actually _install_ the astgenkey man page
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 19:02:25 +00:00
Russell Bryant
52ef5c7d30 add function to convert a cause code to a string
create MAX_MUSICCLASS instead of using MAX_LANGUAGE


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 17:16:17 +00:00
Kevin P. Fleming
3c91556d2d reset regattempts counter after successful registration (bug #4634)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 15:08:34 +00:00
Kevin P. Fleming
3abe796aa8 fix up warnings (bug #4638)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 14:45:48 +00:00
Kevin P. Fleming
253377c208 use proper shebang line in autosupport script, at proper location (bug #4640)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 14:41:28 +00:00
Kevin P. Fleming
ca2f18839d don't unlink files just because they can't be opened (bug #4641)
clean up and reformat ast_readfile and ast_writefile


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 14:37:24 +00:00
Russell Bryant
bcc5eb829d print out which format was bigger than MAX_FORMAT
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05 14:00:03 +00:00
Jim Dixon
4cac951c1c Added fix so that wctdm interface will start out in correct state
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-04 00:52:18 +00:00
Anthony Minessale II
de87676975 Apply NODIR Patch (Bug #4619)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-30 18:08:27 +00:00
Matthew Fredrickson
cb8ba75284 Fix for bug 4347. Also breaking redirectingreason interpretation routine into function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-29 21:47:44 +00:00
Matthew Fredrickson
220e24584a UK discconnect tone detection support. Need to enable callprogress in
zapata.conf and set progzone=uk


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-28 14:36:56 +00:00
Kevin P. Fleming
b83175862e add new header files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 22:50:07 +00:00
Kevin P. Fleming
3e44b65090 split up string/time functions into separate header files
make more LOW_MEMORY optimizations, and ensure that a non-inline version of each inlinable function is always available (for external modules)
move compiler-specific stuff into a separate header file


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 22:45:15 +00:00
Kevin P. Fleming
3ddc33f674 un-break three-way calling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 19:15:51 +00:00
Russell Bryant
436a8474b0 '9' doesn't fall there anymore ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 17:19:26 +00:00
Russell Bryant
f3e538205b no need to call srand() when it is already called in asterisk.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 04:38:59 +00:00
Kevin P. Fleming
6bf31cae9e add man pages (bug #4515)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 03:02:55 +00:00
Kevin P. Fleming
19c1ac82a4 actually get the host's name for the code that needs it (bug #4569)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 02:56:15 +00:00
Kevin P. Fleming
d8cea2c8d4 add conditional operator to expression parser, and various cleanups (bug #4459)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 02:51:47 +00:00
Kevin P. Fleming
9f4ad3363d ensure that 'zap show status' always generates output, even when there are no interfaces present (bug #3585)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 02:37:32 +00:00
Kevin P. Fleming
5769e90427 update to current loader API (bug #4574)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 02:33:14 +00:00
Kevin P. Fleming
4803ab0bb2 don't use locks when reading usecounts (reading only, not writing)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 02:15:04 +00:00
Kevin P. Fleming
8db7830293 fix outgoing format selection breakage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24 01:37:15 +00:00
Kevin P. Fleming
8ed59c10e4 make inlinable functions only need the function body in one file, and respond properly to LOW_MEMORY being defined
make ast_copy_string inlinable, and ast_tvdiff_ms LOW_MEMORY aware


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 23:07:55 +00:00
Kevin P. Fleming
061caa34c1 support cancellation of attended transfers using the defined disconnect code (bug #3729 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 22:12:01 +00:00
Russell Bryant
d6715842fb fix typo in description
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 22:00:10 +00:00
Kevin P. Fleming
7ec4d28296 optimize ast_recvchar/ast_recvtext (bug #4591)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 21:28:09 +00:00
Kevin P. Fleming
dfe71e885e let's try allocating the proper amount of memory...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 19:11:49 +00:00
Mark Spencer
2f39b2c5ab Okay ;)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 18:37:27 +00:00
Kevin P. Fleming
34adab5d08 support Swedish grammar for voicemail message counts (bug #4227)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 17:44:20 +00:00
Kevin P. Fleming
1f784b32d8 don't repeat a command during 'make install' (bug #4582)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 17:32:36 +00:00
Kevin P. Fleming
6a0fdb312f don't take locks when reading usecounts, they are not necessary (bug #4585)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 17:30:56 +00:00
Kevin P. Fleming
442f3b15a1 make 'transfer to busy' support a configurable option, and make it _only_ short-circuit AST_STATE_BUSY
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 14:51:52 +00:00
Mark Spencer
d69b5c74e5 Fix debugging to not print warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-23 01:17:00 +00:00
Ben Kramer
32741dc1c6 / fix for bug 4550
/ cleaned up most of the warning messages


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 23:54:47 +00:00
Russell Bryant
9a56a10379 fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 23:45:34 +00:00
Russell Bryant
170c422a5e it's actually the parser for the language, not a configuration file ... :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 22:19:31 +00:00
Russell Bryant
bd87915222 add some information on what the user must do to start using AEL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 22:18:02 +00:00
Mark Spencer
4358089aa7 Fix SIP with OSP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 21:10:02 +00:00
Kevin P. Fleming
eb19519c86 fix macro usage examples (bug #4579)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 20:08:43 +00:00
Kevin P. Fleming
f764db2e5b fix goto examples (bug #4578)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 19:20:31 +00:00
Kevin P. Fleming
5a80cd988f correct goto examples (bug #4576)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 19:18:02 +00:00
Kevin P. Fleming
d50d485c49 clean up macro example (bug #4572)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 19:15:02 +00:00
Kevin P. Fleming
369b421b78 make SIP registration accept RFC non-compliant Digest headers (bug #4577)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 19:10:39 +00:00
Kevin P. Fleming
b898cdcefb allow PROC to be supplied on the make command line (bug #4570)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-22 00:09:27 +00:00
Kevin P. Fleming
3e03366140 correct callwaiting tones for de and dk zones (bug #4519)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 23:53:16 +00:00
Kevin P. Fleming
21332e531e various speex fixes (bug #4253)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 23:16:32 +00:00
Kevin P. Fleming
85091ab68d add channel CLID info in manager Link event (bug #4548 with minor mod)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 23:10:29 +00:00
Kevin P. Fleming
d66913bea2 fix segfault when no CLID number is present (bug #4566)
clean up CLID/CNAM display generation code
suppress compiler warnings for unused items


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 23:06:44 +00:00
Kevin P. Fleming
da4cf4e3e1 use Solaris-compatible shell syntax (bug #4567)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 22:16:30 +00:00
Kevin P. Fleming
efe35e705f update docs for new check_expr tool (don't know why this didn't go in with the other commit)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 22:15:27 +00:00
Kevin P. Fleming
e3ddd96fec enhance check_expr to check for parsing errors in dialplans (bug #4556)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 20:16:51 +00:00
Kevin P. Fleming
eea9249eda correct syntax error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 19:57:18 +00:00
Kevin P. Fleming
2f5da9a173 make 'show config mapping' show all mappings associated with an engine (bug #4564)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 19:09:35 +00:00
Kevin P. Fleming
b68ffcd38d fix debug output (bug #4562)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 15:33:25 +00:00
Kevin P. Fleming
b7c4aa541a handle resync delay properly (bug #4560)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:30:10 +00:00
Kevin P. Fleming
52e26805e7 begin properly supporting 'Supported' and 'Required' headers (bug #4351)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:27:54 +00:00
Kevin P. Fleming
54e74ff81b control maximum number of interpolation frames generated during silence by jitterbuffer (bug #4295)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:20:14 +00:00
Kevin P. Fleming
767f019264 add AGI 'RECEIVE TEXT' command (bug #4525)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:16:18 +00:00
Kevin P. Fleming
4e6d610317 ensure that proper response code is return for unimplemented methods (bug #4512)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:07:31 +00:00
Kevin P. Fleming
e49ea06442 ensure script is portable to non-GNU systems (bug #4509)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:05:31 +00:00
Kevin P. Fleming
5285af5631 separate IAX2 protocol debugging and jitterbuffer debugging (bug #4523)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 01:02:07 +00:00
Kevin P. Fleming
c4be3dfb53 make query cache time configurable (bug #4524)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 00:58:31 +00:00
Kevin P. Fleming
ede1fcba53 minor cleanups (bug #4526 with text changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-21 00:52:47 +00:00
Kevin P. Fleming
11ea6fe59f use ast_build_string() to build strings into buffers, and general cleanup of variable serializing functions used by 'show channel' (bug #4558)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-20 23:37:01 +00:00
Mark Spencer
ffebf1f71b Fix OSP stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-20 17:46:54 +00:00
Kevin P. Fleming
0e9d920a60 move tools used during build into build_tools subdirectory
clean up Makefile headers


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-20 17:26:08 +00:00
Kevin P. Fleming
a752aeb4e8 fix reply_digest breakage from earlier patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-20 17:01:03 +00:00
Mark Spencer
f80df76143 Fix fd's when we release rtp/vrtp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-19 22:00:18 +00:00
Mark Spencer
b6ea1bcb29 Attempt to repair SIP parameter gathering brokenness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 23:30:40 +00:00
Mark Spencer
0c61fc56be Fix via comparison to be case insensitive
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 18:53:16 +00:00
Mark Spencer
df909bed06 Fix ipaq build (bug #4545)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 17:54:15 +00:00
Mark Spencer
121a4d8c71 Fix timelimit bug (bug #4552)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 17:18:02 +00:00
Mark Spencer
02998cb285 Revert silly "sipura fix" which breaks RFC compatibility (bug #4549)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 17:13:01 +00:00
Mark Spencer
01c96e65f6 Don't try to read from an rtcp if there isn't one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 16:46:44 +00:00
Mark Spencer
e74c288783 Fix agent recording issue (bug #4551)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 16:38:48 +00:00
Mark Spencer
222b5695e0 Fix up utils nonsense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-18 11:54:38 +00:00
Kevin P. Fleming
2f7e984a31 don't generate 'rport' unless RFC3581 support is enabled (bug #4533)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 15:03:56 +00:00
Mark Spencer
33263739ca Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 14:33:29 +00:00
Kevin P. Fleming
e4c22cea6b don't let ast_trim_blanks operate on empty strings or run off the beginning of the string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 14:27:57 +00:00
Mark Spencer
3b72686994 Merge midi changes (bug #4441)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 14:25:44 +00:00
Mark Spencer
ddaf30b7bd Fix typo in extensions.ael sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 14:08:58 +00:00
Kevin P. Fleming
7a8e125ff5 fix 2 bugs (bug #4518)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 13:39:34 +00:00
Kevin P. Fleming
81d1a11ed6 clean up and optimize reply_digest (bug #4447)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 13:29:04 +00:00
Kevin P. Fleming
9a80a7bc2c string/whitespace handling cleanups (bug #4449, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 13:25:01 +00:00
Kevin P. Fleming
fb6f36387f dueling commits, mark won!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 12:56:35 +00:00
Mark Spencer
3ba6894cd5 AEL minor fixes (bug #4539)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 12:53:26 +00:00
Kevin P. Fleming
9e12e429f6 minor fixes to conform to the newly-posted coding guideline :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 12:51:03 +00:00
Mark Spencer
ac4ac37df1 Fix reset cdr (bug #4531)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 00:37:43 +00:00
Mark Spencer
10542f6145 Fix expression handling for string comparisions without quotes (bug #4478)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-17 00:33:00 +00:00
Mark Spencer
e0f057820a Add Asterisk Extension Language support (AEL) from Astricon talk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-16 08:47:06 +00:00
Kevin P. Fleming
80fe4e16b2 ensure proper variables are returned from CDR function (bug #4521)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-15 15:01:40 +00:00
Jim Dixon
a64d79c196 Fixed transmitter hang problem
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-15 03:50:29 +00:00
Russell Bryant
b71be71262 fix deadlock message output (bug #4508)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-14 18:09:56 +00:00
Kevin P. Fleming
86511f89fb don't use pthread_mutex_lock
don't double-include pthread.h in utils.h, which can cause the
pthread_mutex_lock warning to not be generated on some systems


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-14 14:45:51 +00:00
Mark Spencer
fb12b92a43 Various IAX2 fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-13 08:48:17 +00:00
Russell Bryant
bef7d9da16 move deprecation warning until after all variable declarations (bug #4514)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-12 16:43:37 +00:00
Kevin P. Fleming
0aae19259a restructure buggy parse_args routine
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-10 20:25:23 +00:00
Kevin P. Fleming
0c082e7e62 update editline's config.guess to support platforms made in the last 3 years (bug #4507)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-10 15:35:32 +00:00
Ben Kramer
20c26996ef / fixes possibility for accessing of struct when null
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-10 03:18:24 +00:00
Kevin P. Fleming
79392ea53b add MATH() dialplan function (bug #4473, with mods)
deprecate the Math() application


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 22:59:08 +00:00
Kevin P. Fleming
f3efc756ad allow transfer-to number for SIP transfers to contain an '@' (and enforce the max-forwards restriction for these transfers) (bug #4048)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 22:41:18 +00:00
Kevin P. Fleming
4d102efb7a make incoming overlap calls with no number specified use the 's' extension (bug #4317)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 22:34:29 +00:00
Kevin P. Fleming
439002c898 make zap-transfers to busy/congestion channels behave more reasonably (bug #4495)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 22:23:21 +00:00
Kevin P. Fleming
d617e890a6 add countries and reorder file into alphabetical order (bug #4482, part 1)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 21:21:32 +00:00
Kevin P. Fleming
4ec448cc76 add check_expr to 'make clean' and CVS ignore list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 21:12:03 +00:00
Kevin P. Fleming
5736270107 add 'rtignoreexpire' option to allow Realtime addresses to be used regardless of expiration time (bug #4362)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 21:11:30 +00:00
Kevin P. Fleming
bd325f5219 add WAITSTATUS channel variable output to WaitForSilence() application (bug #4256)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 21:04:16 +00:00
Kevin P. Fleming
ddaa0cc0dd don't call alloca() or alloca()-using functions in parameter lists (bug #4487)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 20:55:07 +00:00
Kevin P. Fleming
d64c3d63fd add tool to check extensions.conf files for problems with new expression parser (bug #4491)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 20:50:48 +00:00
Kevin P. Fleming
aa0608cb34 remove useless code (bug #4492)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 20:43:54 +00:00
Kevin P. Fleming
706bf6d427 ensure CLI commands produce proper terminating output when used with manager interface (bug #4497)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 19:34:12 +00:00
Kevin P. Fleming
8c6c774ab6 fix channel walking problems from recent changes (bug #4494)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 19:27:19 +00:00
Kevin P. Fleming
e18a747172 move timeval-diff function into utils.h from app_alarmreceiver.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-09 14:39:34 +00:00
Ben Kramer
f70c5e190b / fixed bugs introduced by the fix for bug #4368 by kpfleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-08 00:10:09 +00:00
Kevin P. Fleming
b6ae77bcdf update guidelines to follow their own rules for whitespace (bug #4486)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 21:28:56 +00:00
Kevin P. Fleming
304bc75cf1 fix memory leaks in config loader (bug #4223)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 21:28:04 +00:00
Kevin P. Fleming
178842ec27 save 168 bytes per zaptel channel private structure (using bitfields)
save 28 bytes per zaptel subchannel structure (using bitfields)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 21:13:35 +00:00
Kevin P. Fleming
93f5cbacf0 fix build on Solaris (bug #4476)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 17:27:31 +00:00
Kevin P. Fleming
e5e64bfd41 header ordering fixes for FreeBSD (pending a global merge into asterisk.h) (bug #4484)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 17:06:33 +00:00
Kevin P. Fleming
7584fac64b various compiler warning fixes (bug #4483)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 16:59:20 +00:00
Kevin P. Fleming
0db4cee117 enable version string for this module, since it's standalone
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 16:11:06 +00:00
Kevin P. Fleming
01251090f0 fix version-string builds for non-gcc compilers
don't build version-string stuff for LOW_MEMORY builds


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 16:07:06 +00:00
Kevin P. Fleming
cf5b8dba96 add note about example
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 01:17:07 +00:00
Kevin P. Fleming
fb16b5cb0a add doxygen docs for file version stuff
make doxygen expand __GNUC__ protected code blocks
make doxygen process include/asterisk.h


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 01:13:23 +00:00
Kevin P. Fleming
59a0f860bd fix astman build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-07 00:21:01 +00:00
Kevin P. Fleming
adc9c81692 fix version tag macro calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 23:12:05 +00:00
Kevin P. Fleming
370e887fbf fix 'make rpm'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:44:37 +00:00
Kevin P. Fleming
c0b1e88e8a the last round of file version tags
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:39:32 +00:00
Kevin P. Fleming
2b8338cb52 more file version tags
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 22:12:19 +00:00
Kevin P. Fleming
005e436b57 another round of version tag updates, along with 'show version files' pattern filtering
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 21:09:59 +00:00
Kevin P. Fleming
0e6762dd5f remove experimental module version tags
add per-file revision tags and 'show version files' CLI command


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 20:27:51 +00:00
Kevin P. Fleming
6cbf69981d clean up module version number output
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 18:42:15 +00:00
Kevin P. Fleming
43cf15e339 add support for per-module version numbers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 18:31:29 +00:00
Kevin P. Fleming
ab206439d8 don't force build.h to be built at 'install' time, if it's already there leave it alone
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 18:29:57 +00:00
Kevin P. Fleming
512a5a47c0 more ignore fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 17:35:17 +00:00
Kevin P. Fleming
eaba80834c update ignore lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 15:38:41 +00:00
Kevin P. Fleming
a02f56d8bc more breakage from bug #4116 commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 12:50:13 +00:00
Kevin P. Fleming
e26bd40d89 add missing files from bug #4116 commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 11:57:50 +00:00
Kevin P. Fleming
8726967435 handle going to 'fax' extension when inside a macro properly (bug #4368)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 03:18:51 +00:00
Kevin P. Fleming
4f299de252 major Makefile and build process improvements, including removal of all hardcoded paths (modules must now use run-time paths as they should) (bug #4116)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 03:04:58 +00:00
Kevin P. Fleming
236c05fc59 let ODBC username/password default to the ones in odbc.ini (bug #4470)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 02:43:01 +00:00
Kevin P. Fleming
1bac31d6bd more efficient (and understandable) ast_channel_walk_locked, and vastly more efficient ast_channel_by_name_locked (bug #4265)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 02:29:18 +00:00
Mark Spencer
bccc1171f0 Fix minor OSP compile issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06 01:28:54 +00:00
Kevin P. Fleming
8ad230082e make AGI 'TDD MODE' command behave as documented when the channel doesn't support options (bug #4370)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 21:00:33 +00:00
Kevin P. Fleming
8a0ade1fd8 don't call reg_source_db() until after the peer has been added to the peer list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 20:05:55 +00:00
Kevin P. Fleming
723d6b5be8 more ast_copy_string() conversion
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 16:32:16 +00:00
Kevin P. Fleming
b972421945 don't try to copy NULL appdata (bug #4422)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 16:08:44 +00:00
Kevin P. Fleming
50307c4e80 fix compilation on Darwin (bug #4462, ugh, we need all this stuff moved into endian.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 15:40:49 +00:00
Kevin P. Fleming
7a2d5cbb3e make ast_waitstream_* return value compatible with platforms that use unsigned char by default (bug #4455)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 15:04:43 +00:00
Kevin P. Fleming
325602ff2b make format_au compile on FreeBSD (bug #4456)
change out-of-memory messages to LOG_ERROR


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 14:50:21 +00:00
Kevin P. Fleming
090f7d278b more cleanups for outbound registrations (bug #4457)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 14:47:09 +00:00
Kevin P. Fleming
d6a2290eb2 use a struct for long parameter list to transmit_invite (bug #4458)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 14:43:49 +00:00
Kevin P. Fleming
740fabf66f minor cleanups (bug #4460)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 14:40:00 +00:00
Kevin P. Fleming
420737f3ea correct oops in recent outbound registration rework (bug #4461)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 14:36:56 +00:00
Kevin P. Fleming
a273ffa005 make 'show channeltypes' list whether device state is supported (bug #4464)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-05 14:32:32 +00:00
Kevin P. Fleming
c9004afb94 various improvements to outbound registrations and response handling (bug #3850)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 22:15:20 +00:00
Kevin P. Fleming
68668b602d use ast_cli_register_multiple() for CLI commands
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 22:04:54 +00:00
Kevin P. Fleming
583ff43d60 add support for Sun Microsystems AU audio format (bug #4428 with minor mods)
remove hardcoded format list from app_record help text


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 21:52:00 +00:00
Kevin P. Fleming
b364c1b953 clean up logic functions code and help texts
add IFTIME function (bug #4394, with mods)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 21:04:04 +00:00
Kevin P. Fleming
a198e5af5a use ast_strip_quoted to strip brackets from key secrets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 21:02:51 +00:00
Kevin P. Fleming
115e45c7b0 handle stale authentication nonces more properly (bug #4343, with formatting fixes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 19:16:41 +00:00
Kevin P. Fleming
860d7948ba clean up create_addr, and use a structure instead of a large parameter list
make create_addr return the peer's outkey, so dynamic realtime peers can use keys for calls (bug #4431)
add key support for switch connection strings
use a common dial/switch string parser instead of three copies (none of them identical)
make doxygen docs cover the entire source base


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 18:46:58 +00:00
Kevin P. Fleming
37efff4481 correct case of file type for one-touch monitoring (bug #4443)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 12:50:05 +00:00
Mark Spencer
fbe952ccb7 Don't build app_intercom...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 04:16:13 +00:00
Kevin P. Fleming
6107dfe927 use ast_cli_register_multiple() for chan_zap CLI commands
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 03:24:37 +00:00
Kevin P. Fleming
fdbb400a0b use ast_cli_register_multiple() for pbx CLI commands
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 03:09:20 +00:00
Kevin P. Fleming
f09bd8a677 remove deprecated 'quit' and 'exit' commands from console (but not remote connections)
clean up core CLI command registration to use ast_cli_register_multiple()


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 03:04:08 +00:00
Kevin P. Fleming
23f14f839f add indications for Sweden (bug #4231)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 02:51:59 +00:00
Kevin P. Fleming
4e8d2f60b1 don't call poll() with an unitialized structure (bug #4387)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 02:41:59 +00:00
Kevin P. Fleming
ce89d985f2 allow global variables to be reset on reload (defaults to off) (bug #4385)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 02:27:08 +00:00
Kevin P. Fleming
db402ee5d6 allow ast_add_extension2 to accept a NULL destructor (bug #4411)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 02:21:07 +00:00
Kevin P. Fleming
23472dd2c0 support configurable batch posting of CDRs (off by default) (bug #3883)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03 01:42:31 +00:00
Kevin P. Fleming
0582912c5d document syntax change for Record() application (bug #4439)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 22:20:59 +00:00
Kevin P. Fleming
30973879c1 add realtime support to app_queue for static members/agents (bug #4037)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 21:42:49 +00:00
Kevin P. Fleming
050416ed29 make 'show channeltypes' output format work properly (bug #4413)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 21:37:09 +00:00
Kevin P. Fleming
c0ff0e340b consolidate API functions for saying numbers/digits/alpha/phonetic into less functions, using more efficient and clearer code (inspired by bug #4414)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 21:26:02 +00:00
Kevin P. Fleming
6cb7849dcb add guidelines for doxygen documentation writing (bug #4417, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 19:38:55 +00:00
Kevin P. Fleming
5c33b52ced add a minor allocation/zeroing guideline
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 19:17:04 +00:00
Kevin P. Fleming
9f3372e3e3 add missing if statement in say_position (bug #4435)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 18:26:18 +00:00
Mark Spencer
2d76529279 Fix offset calculation for signed linear (bug #4433)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 17:54:09 +00:00
Mark Spencer
c01873574a Blindly merge jitter buffer patch of bug #4342)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 17:45:38 +00:00
Mark Spencer
7b03b102c9 Setup transfer capability properly for outbound calls (bug #4434)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 17:16:49 +00:00
Mark Spencer
df349078da Fix dial to not seg when closing ')' is missing (bug #4410)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 17:12:04 +00:00
Jeremy McNamara
9950df1b49 Add button templates for 7902, 7935, 7940, 7960, 7970, support big endian machines with proper byte ordering, fixed caller*id on 7910 (others?) and more. Bug #4398
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 09:11:46 +00:00
Jeremy McNamara
59e98b5540 fix wordwrap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 00:50:38 +00:00
Jeremy McNamara
ed447c9cfe Spell noise correctly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-02 00:49:41 +00:00
Russell Bryant
367fd1d3cf fix the one digit exit extension for RetryDial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-01 18:02:46 +00:00
Russell Bryant
9d379a36d0 fix timeout option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-01 17:23:50 +00:00
Jeremy McNamara
fc0f505c5f Apply a proper solution to resolve AST_MAX_ACCOUNT_CODE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-01 16:00:13 +00:00
Mark Spencer
af9903eb05 Fix cdr.h ordering issue (bug #4401)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 14:30:47 +00:00
Mark Spencer
04be319867 Fix small sizeof bug (#4407)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 13:57:51 +00:00
Mark Spencer
5b55f3600b Fix attended transfer crash (bug #4404 with changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 13:51:04 +00:00
Mark Spencer
586c677bc2 Fix memory leak and remove useless coe (bug #4318, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 13:34:23 +00:00
Mark Spencer
db99849187 Fix reply digest selection of size (bug #4409)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 13:27:12 +00:00
Mark Spencer
ed233f7e82 Fix the ordering fo some checks (bug #4406)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 13:23:10 +00:00
Mark Spencer
f4d629f4ca Fix language handling (bug #4399)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-30 13:16:29 +00:00
Russell Bryant
4e329973eb use DEFAULT_SIP_PORT (bug #4408)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-29 23:08:12 +00:00
Russell Bryant
8791d21995 hopefully the last commit to make things happy
across various versions of newt (bug #4388)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-28 01:37:47 +00:00
Mark Spencer
a67bb4c8fc Fix cast to int from pointer (duh!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-27 21:10:06 +00:00
Malcolm Davenport
e596f53c9e Whoopsie :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 20:31:40 +00:00
Mark Spencer
2f1e6379b3 Fix agent deadlock and remove braindead tags dependency
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 20:24:56 +00:00
Jeremy McNamara
8adbac17df Define AST_MAX_ACCOUNTCODE because chan_h323.h does not link to the Asterisk headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 16:21:22 +00:00
Russell Bryant
8b81d9e384 fix seg fault when the app is called on an invalid url (bug #4389)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 16:15:58 +00:00
Russell Bryant
dc21f68a95 don't play any sounds when using the quiet option (bug #4348)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 16:05:07 +00:00
Russell Bryant
2cd9d4c676 fix return value for ExecIfTime when time is outside of the specified range (bug #4380)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 15:50:50 +00:00
Mark Spencer
a6f2f031b3 Fix typo about maddr (bug #4386)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 15:06:24 +00:00
Russell Bryant
89de7daba9 fix usage of const char (bug #4388)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-26 12:01:55 +00:00
Josh Roberson
43866b0ef2 Change define __OSX__ to more appropriate __Darwin__ (in light of Darwin being open sourced, and able to run on x86, OSX isn't really suitable)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 21:56:50 +00:00
Josh Roberson
70b3b8730e Fix typo in chan_sip. (Bug #4376).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 20:03:09 +00:00
Mark Spencer
2df83a9298 Fix SIP registration (bug #4138)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 17:45:31 +00:00
Mark Spencer
9d9ec72719 Fix sayunixtime for Danish (bug #3239)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 17:28:32 +00:00
Mark Spencer
41e7cc8154 Use defined AST_MAX_ACCOUNT_CODE (bug #4350)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 17:18:05 +00:00
Russell Bryant
9644f1dcfe various code cleanups (bug #4353)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-25 10:57:15 +00:00
Jeremy McNamara
5d5c4c97c7 Document model usage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-24 22:43:34 +00:00
Jeremy McNamara
fa46a46ec1 Correctly implement the button templates in hopes to support more 79XX series phones. Needs testing, please report. Bug #4366
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-24 22:24:04 +00:00
Matthew Fredrickson
c055fcc9a7 (Hopefully!) last remaining changes for NFAS.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-24 15:30:10 +00:00
Matthew Fredrickson
e92b07d372 More updates for NFAS span/channel mapping
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-24 14:19:27 +00:00
Russell Bryant
4fcf27b681 print out appropriate message when no help text is available for a command
fix a seg fault when astmm is enabled (bug #4356)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-24 10:23:51 +00:00
Russell Bryant
5a1d81ac57 get rid of some compilation warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-24 10:22:26 +00:00
Russell Bryant
d08dd1e1d8 remove seemingly useless write (bug #4299)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-23 23:16:43 +00:00
Matthew Fredrickson
91bfc89301 Bug in pri_find_principle
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-23 17:07:32 +00:00
Matthew Fredrickson
840a2ba5b4 Updates for new libpri set_message api
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-23 16:56:06 +00:00
Jeremy McNamara
2353f5925c Optimize global/user/peer configuration call options. Bug #4336
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-21 17:09:30 +00:00
Jeremy McNamara
39f884aaff Make debug output more precise. Bug #4345
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-21 16:27:57 +00:00
Matthew Fredrickson
ed76520002 Mods for IMPLICIT/EXPLICIT channel id selection support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 19:09:21 +00:00
Kevin P. Fleming
102c76a9c8 make IF dialplan function handle quoted strings properly (bug #4322, with API mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 16:30:13 +00:00
Kevin P. Fleming
dd0c01fc2f clarify comments even more
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 13:58:39 +00:00
Kevin P. Fleming
e65df4cc67 add a little comment to keep someone else from having the same misunderstanding I had :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 03:52:27 +00:00
Kevin P. Fleming
77284bfaa6 fix Solaris compatibility issues (bug #4339)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 03:18:35 +00:00
Kevin P. Fleming
17e476378a make 'sip debug' work again (commands must be registered shortest-first when they start with the same words) (bug #4341)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-20 03:14:41 +00:00
Mark Spencer
f3cbf61cbf Add SET function (bug #4335)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 20:38:51 +00:00
Mark Spencer
ebd2196ab7 Revert improper patch from bug #4294
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 20:33:55 +00:00
Kevin P. Fleming
9ebf63696a minor doc fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 20:31:39 +00:00
Jeremy McNamara
ec9ce8db9d Make capbilities be connection specific versus for the whole endpoint. Bug #4334
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 19:13:19 +00:00
Mark Spencer
9c83ec2f25 Cache result from database function reads (conf call)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 17:49:14 +00:00
Kevin P. Fleming
db988c5b3a ensure that objects in docs are sorted alphabetically (bug #4333)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 17:08:39 +00:00
Jeremy McNamara
793182ea7d Fix memory leak, avoid uncessary abuse of memory and formatting tweaks. Bug #4282
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 16:17:08 +00:00
Kevin P. Fleming
b051cccb89 more Makefile tweaks
ensure mkdep can handle creating rules for files that are using double-colon rules


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 15:20:06 +00:00
Kevin P. Fleming
d5b50fc83d formatting cleanup (bug #4330)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 15:19:42 +00:00
Kevin P. Fleming
6ac98c6724 make version-testing and echo constructs more shell-portable
add proper attribution to vercomp.c


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 14:53:56 +00:00
Kevin P. Fleming
58a530eba8 remove unnecessary conditional logic (bug #4313, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 12:51:58 +00:00
Kevin P. Fleming
041147243c ensure that peer-level RTP settings are actually used (bug #4313)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 04:49:12 +00:00
Kevin P. Fleming
c8889e6563 add IAXPEER function (bug #4310, with minor formatting and doc changes)
add note to CODING-GUIDELINES about minimizing indentation in function bodies


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 04:31:02 +00:00
Kevin P. Fleming
3dce570998 add more expr-related files to ignore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 04:09:50 +00:00
Kevin P. Fleming
813f0b9653 use new C-coded version comparison program for bison and flex (bug #2058, with different Makefile changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 04:08:01 +00:00
Kevin P. Fleming
d83eec795f support labels as targets of SET PRIORITY command (bug #4057)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 02:57:45 +00:00
Kevin P. Fleming
3e7675e728 properly check for debug and verbose messages to suppress (bug #4294)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 02:54:23 +00:00
Kevin P. Fleming
a1779650de move variable declarations to top of function where they belong (bug #4303)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 02:49:34 +00:00
Russell Bryant
3c98814bb5 add 'dontwarn' option to asterisk.conf to appease the whining masses :p (bug #4320)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 01:57:19 +00:00
Mark Spencer
53d655cf0a Yet another set of jitter buffer changes (this time some scheduling improvements) (bug #4319)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 01:24:09 +00:00
Russell Bryant
364e179b78 check to see if a comma or an open paren came first when splitting the application
from the application arguments (bug #4306)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 01:18:37 +00:00
Russell Bryant
9d0a1ce4a8 fix moh option in conjunction with intro option (bug #4298)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 01:09:46 +00:00
Mark Spencer
9272e1f68a More jitter buffer fixes for large resync (bug #4311)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 00:34:28 +00:00
Russell Bryant
334fcaa369 note the change from "port" to "bindport"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 00:24:31 +00:00
Mark Spencer
503be4c93a Merge skew reduction (bug #4222)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-19 00:01:11 +00:00
Mark Spencer
ee8cbfa872 Add IAX2 testing code (bug #4242)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-18 23:43:13 +00:00
Russell Bryant
85d809903b add DB_EXISTS function to be able to check if a key exists in the database
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-18 23:38:25 +00:00
Mark Spencer
28e5165284 Actually apply timestamp bug (bug #3961)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-18 23:33:06 +00:00
Russell Bryant
d07421064b provide a more explicit explination as to what the 'iaxcompat' option does
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-18 21:05:13 +00:00
Mark Spencer
38b7f7b4a4 Add optional call limit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-18 01:49:13 +00:00
Russell Bryant
9f9fcca6c0 print out the IAX DATETIME IE in 'iax2 debug' in human readable form
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-17 19:41:09 +00:00
Russell Bryant
f03896d1fc remove call to pall on unitialied fds
This function assumes that the fd is nonblocking (bug #4053)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-17 18:30:44 +00:00
Russell Bryant
5477aca22d remove extra LOCAL_USER_REMOVE (bug #4308)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-17 17:19:53 +00:00
Russell Bryant
376bc46af5 prevent copying of NULL (bug #4307)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-17 16:45:42 +00:00
Russell Bryant
c4ebf00d48 correct syntax on DB function example
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-17 14:29:31 +00:00
Russell Bryant
5c1bad1114 fix description of length parameter
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 20:58:35 +00:00
Matthew Fredrickson
ee296ae8a9 Turn on the DSP for the channel after an ANSWER so that we get DTMF detected
properly


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 19:15:56 +00:00
Matthew Fredrickson
9b89127c75 Additions to chan_zap.c to receive PRI_EVENT_KEYPAD_DIGIT properly. Bug #4286
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 18:48:09 +00:00
Kevin P. Fleming
252bf2d652 SIP hold improvements (bug #4290)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 16:16:41 +00:00
Kevin P. Fleming
507ceb1a29 add 'zap show status' CLI command to display card/span status (bug #3585)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 14:41:05 +00:00
Kevin P. Fleming
ab0c02acfb correct file names to ignore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 14:30:13 +00:00
Kevin P. Fleming
27a551a0eb temporarily suppress usage of vercomp.sh script until it can be fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 13:51:56 +00:00
Kevin P. Fleming
1eecc81838 clean up message duration writing code (bug #4285)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 13:36:35 +00:00
Russell Bryant
0dc3f6ee76 add comments, fix typos, and add note on default values (bug #4284)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 13:22:34 +00:00
Kevin P. Fleming
361109c377 add ability to control output format for one-touch-record feature (bug #4190)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 00:43:16 +00:00
Kevin P. Fleming
68f6db3104 CVS ignore output files from building new expression parser
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 00:36:26 +00:00
Kevin P. Fleming
2a7d309deb add upgraded expression parser (bug #2058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 00:35:38 +00:00
Kevin P. Fleming
0858dad2ad return CHANUNAVAIL for unregistered peers, not CONGESTION (bug #4276)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-16 00:09:09 +00:00
Kevin P. Fleming
2638192439 add EVAL function, deprecate Eval application (bug #4277)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 23:53:11 +00:00
Kevin P. Fleming
9cea81b035 rename SetVar application to Set, deprecate SetVar
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 23:32:38 +00:00
Kevin P. Fleming
9bf21dbf58 more strncpy -> ast_copy_string conversions, fixing some buglets along the way
add recommendation to CODING-GUIDELINES to use ast_copy_string instead of strncpy in new code


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 23:26:45 +00:00
Kevin P. Fleming
eaececc920 add ast_build_string library function (from bug #3644)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 22:33:02 +00:00
Kevin P. Fleming
fb59e4a857 combine two lines of code to make the logic clearer (bug #4273)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 22:05:16 +00:00
Jim Dixon
882eea1390 Fixed transmit/link hang problem and autopatch wierdness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 21:49:35 +00:00
Kevin P. Fleming
e4e9f26cf0 update sample extensions.conf for new dialplan functions (bug #4279)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 20:04:05 +00:00
Kevin P. Fleming
ea4c054123 fix segfaults in realtime_peer/realtime_user when wrong-type realtime entry is loaded (bug #4266)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 20:00:08 +00:00
Kevin P. Fleming
fa60672d58 add dialplan functions for Caller ID, language and timeouts (bug #4219, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 17:45:30 +00:00
Russell Bryant
bb1f05fba7 update Mark's email address
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 17:22:41 +00:00
Kevin P. Fleming
15f3cb303f support Swedish and Norwegian mailbox intros (bug #4227)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 17:03:08 +00:00
Kevin P. Fleming
f57d2825bc minor cleanups (bug #4158)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 05:46:34 +00:00
Kevin P. Fleming
131ace2d70 allow caller to exit during position announcement by pressing valid exit key (bug #3821, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 05:42:51 +00:00
Kevin P. Fleming
ed223f7f90 add silent option to VMAuthenticate application (bug #4157)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 05:23:05 +00:00
Kevin P. Fleming
99f890b746 add script for grabbing core dump from running Asterisk process (bug #4174)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 05:07:14 +00:00
Kevin P. Fleming
3fbdf210ce fix up help text and output for 'iax2 trunk debug' CLI command (bug #4191)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 04:51:13 +00:00
Kevin P. Fleming
4910637da7 code formatting and comments, plus minor device state fix (bug #4171)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 04:48:30 +00:00
Kevin P. Fleming
7bcaa0caa2 code formatting cleanup (bug #4213)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 04:17:42 +00:00
Kevin P. Fleming
acffa5d930 implement more detailed hangup causes (bug #4214)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 04:11:01 +00:00
Kevin P. Fleming
5c88a00280 fix RTP DTMF for Sipura SPA-3000 (bug #3675, yet again)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 04:06:16 +00:00
Kevin P. Fleming
0f6315b6b2 fix build with older popt.h (bug #4225)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 03:32:20 +00:00
Kevin P. Fleming
6cd4f9a8d3 correct some signed/unsigned issues found by GCC 4 (bug #4237)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 03:21:51 +00:00
Kevin P. Fleming
977fd5a157 don't define a local function with the same name as a library function (bug #4239)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 03:18:16 +00:00
Kevin P. Fleming
0356b70224 add functions to register/unregister multiple CLI commands in a single operation (bug #4255, with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 03:03:48 +00:00
Kevin P. Fleming
b5272684ee fix for dead manager connections to avoid deadlock (bug #4053)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 02:54:47 +00:00
Kevin P. Fleming
c382394360 add counters to 'show agents' CLI command (bug #4232)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 02:48:16 +00:00
Kevin P. Fleming
219541b5e0 various fixes:
use linked list macros for managing backend list (inspired by bug #4258)
  use ast_copy_string instead of strncpy when appropriate
  minor fixes and formatting cleanup
  add AST_LIST_HEAD_STATIC and AST_LIST_REMOVE_CURRENT macros


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 02:42:59 +00:00
Kevin P. Fleming
4515e94c39 various minor formatting changes and code cleanups (bug #4262)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 00:27:18 +00:00
Mark Spencer
e37adfa243 Add netstats option (bug #4175)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 00:15:14 +00:00
Mark Spencer
01424f1f05 Fix one way audio problem with iax trunking (bug #4221)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 00:07:42 +00:00
Mark Spencer
11aa5825fd Initialize target properly (bug #4167, take 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-15 00:03:17 +00:00
Mark Spencer
c936fc827c Add remainder of rtp fixes, iax2 patch (bug #3961)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 23:57:44 +00:00
Mark Spencer
060b71e52f Fix incorrect variable (bug #4243)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 23:45:22 +00:00
Kevin P. Fleming
23d7376f4d properly strip incoming padded RTP frames (bug #4264)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 23:41:12 +00:00
Kevin P. Fleming
d825e581f3 minor fix for refcount/flags to be unsigned
explicitly test refcount as a logical value for builtin_expect (thanks to rizzo for the cluebat!)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 23:32:31 +00:00
Mark Spencer
251e6bc2ed Fix logger check (bug #4260)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 23:28:47 +00:00
Mark Spencer
81643ec9c3 Remove double fout++ and comment on flag (bug #4267)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 23:26:37 +00:00
Russell Bryant
15623c07d1 clarify docs on ImportVar (that's for you, mog :p)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-14 00:36:55 +00:00
Jeremy McNamara
5af8df2b98 Formatting fixes and sanity checks Bug #4263
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-13 20:24:30 +00:00
Matthew Fredrickson
ef254b7819 Makefile update for codec_gsm.c to cross compile for powerpc (bug #4228)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-13 14:59:01 +00:00
James Golovich
7d26776adc Fix typo in chan_zap.c faclityenable != facilityenable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 21:11:42 +00:00
Russell Bryant
7d3f5785e9 fix some more typos and clarity issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 20:47:23 +00:00
Malcolm Davenport
04274f46c3 Resolve Bug #4248
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 20:45:32 +00:00
Russell Bryant
e82344f7e0 fix a little typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 20:36:40 +00:00
Russell Bryant
3a63967554 fix some lines that should not have been removed (bug #4251)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 19:21:41 +00:00
Russell Bryant
65a7d2ac76 fixes for the new jitter buffer (bug #4249)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 19:01:03 +00:00
Matthew Fredrickson
1febd6c72d Memory leak fixes Bug #4216
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 17:40:44 +00:00
Matthew Fredrickson
ba736889bf enable/disable facility ies
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 15:05:25 +00:00
Matthew Fredrickson
eae699533a zapata.conf for enable/disable of facility IEs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-12 15:04:55 +00:00
Matthew Fredrickson
567dd8c1ea Set DNID for immediate calls (Bug #4220)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-11 15:03:11 +00:00
Jeremy McNamara
c224da2948 C++ formatting fixes, Log PWLib assertions, remove uncessary locking and to shut bkw up. Bug #4185
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-11 13:39:33 +00:00
Jeremy McNamara
e6be0236e5 Formatting fixes, proper locking and to shut bkw up. Bug #4185
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-11 13:27:49 +00:00
Jeremy McNamara
f3f322c990 Fix one way audio with some broken Endpoints and to shut bkw up. Bug #4164
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-11 13:20:32 +00:00
Jeremy McNamara
bd8ec48b6a Add specific gcc version to shut bkw up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-11 12:45:39 +00:00
Matthew Fredrickson
31d5fab9cd chan_zap.c portion of PRI show debug command (Bug #3985)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-10 21:52:43 +00:00
Matthew Fredrickson
2bdce17b5a Fix to bug 4118
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-10 19:05:50 +00:00
Matthew Fredrickson
e70d3db697 Fix 'make clean' bug in for app (Bug 4230)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-10 18:52:09 +00:00
Russell Bryant
5f54bf2230 revert this patch ... THIS IS NORMAL OPERATION, see the bugnotes for details (bug #4107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-10 04:26:34 +00:00
Mark Spencer
4bb4df2e94 Fix features + astmm interaction (bug #4217)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-09 14:28:53 +00:00
Mark Spencer
af65be5a59 Fix jitter issues with out-of-order audio (bug #4163)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-09 14:24:58 +00:00
Mark Spencer
6f76e2b705 Fix to makefile (bug #4215)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-09 14:20:11 +00:00
Mark Spencer
ea03a11e25 Jitter buffer improvements (bug #4167)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-09 13:56:43 +00:00
Mark Spencer
8b308bdb50 Provide proper code attribution for public domain gethostbyname_r
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-09 13:50:38 +00:00
Mark Spencer
49a7a4809a Removed unnecessary strip (bug #4181)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 18:11:55 +00:00
Mark Spencer
ee79fe4036 Fix improper config dir path (bug #4184)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 17:31:09 +00:00
Mark Spencer
b33a3aa3e2 Update groupcount / db documentation (bug #4200, etc)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 17:17:34 +00:00
Mark Spencer
fa2381c19c Fix formatting of functions (bug #4196, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 17:10:58 +00:00
Mark Spencer
0e57cede55 Convert app_db to function variables (bug #4201)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 17:08:25 +00:00
Mark Spencer
f9417375dc Fix chan_spy on Solaris (bug #4204)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 17:01:42 +00:00
Mark Spencer
087eb40b76 Fix double unlock of hintlock (bug #4205)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 16:54:53 +00:00
Mark Spencer
82d52ffe35 Use maxdomainlen in chan_sip (bug #4212)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 16:49:28 +00:00
Mark Spencer
00bcbaaa05 Fix gethostname calls (bug #4198, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 16:44:25 +00:00
Mark Spencer
fa0f44a347 Allow transfer to work without a tech (bug #4199)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 16:35:54 +00:00
Mark Spencer
45a92ba5c2 Fix French time (bug #4197)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-08 16:34:10 +00:00
Russell Bryant
7e83b3a4b1 now fix the formatting part (bug #4207)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-07 19:51:39 +00:00
Russell Bryant
6ce084b7e2 remove unreachable block of code (bug #4207)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-07 19:49:32 +00:00
Russell Bryant
fbbac7cd26 use ast_strcasestr (bug #4203)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-07 12:49:36 +00:00
Russell Bryant
a48f36c3c5 fix header description
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-07 06:01:30 +00:00
Russell Bryant
cccca96058 add my name for the functions I wrote
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-07 05:33:44 +00:00
Russell Bryant
852d05d94a add missing newline to warning message (bug #4183)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-06 07:15:08 +00:00
Mark Spencer
cd6ad266b5 Build as a single executable, work around Makefile issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 17:39:18 +00:00
Anthony Minessale II
6b7677e842 expose function execution routines and warn about trying to set a read-only cdr var
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 15:07:49 +00:00
Kevin P. Fleming
b0685838db oej deserves to be in CREDITS as much as anyone else :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 12:52:18 +00:00
Kevin P. Fleming
7cd4ac0ee1 clean up file headers
restore appropriate copyrights for functions that came from files with copyrights listed


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 12:48:52 +00:00
Kevin P. Fleming
6ec28c9f98 correct build on platforms that require PIC objects (bug #4179)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 12:43:04 +00:00
Kevin P. Fleming
59bc293d15 ensure generated files are ignored by CVS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 05:56:34 +00:00
Kevin P. Fleming
f01e832eef add STRFTIME dialplan function (bug #4098, modified to use new funcs subdirectory)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 05:50:11 +00:00
Kevin P. Fleming
4d2537ae11 major re-work of dialplan functions, including:
- locking of functions list during registration/unregistration/searching
 - rename of function description structure to be consistent with the rest of the API
 - addition of 'desc' element to description structure, for detailed description (like applications)
 - addition of 'show function' CLI command to show function details
 - conversion of existing functions to use uppercase names to match policy
 - creation of new 'pbx_functions.so' module to contain standard 'builtin' functions
 - removal of all builtin functions from pbx.c and apps and placement into new 'funcs' directory


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 05:39:33 +00:00
Russell Bryant
e8bd5968ff function formatting and header order cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 03:16:07 +00:00
Kevin P. Fleming
0fddec0421 remove obsolete module (still available in CVS history if needed) (inspired by bug #4127)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-05 01:03:24 +00:00
Mark Spencer
824763970b Fix minor doc issue (bug #4145)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 19:50:36 +00:00
Kevin P. Fleming
358238b170 add app_dictate (bug #3893)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 19:33:33 +00:00
Mark Spencer
0575c11d72 Merge formatting changes (bug #4172)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 19:22:45 +00:00
Mark Spencer
2fcda7000b Minor protocol fixes (bug #4169)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 19:17:09 +00:00
Kevin P. Fleming
582b0b0711 document Zap dial string options in sample config (bug #4165)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 17:05:42 +00:00
Kevin P. Fleming
44b95a88d6 add doxygen docs for astobj.h (bug #4145, with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 17:02:32 +00:00
Kevin P. Fleming
a0f2a2e7c4 remove hardcoded CDR() support from pbx_builtin_setvar_helper in favor of already-implemented CDR() function
make SetVar() options actually work as documented
remove SetVar() 'c' and 'r' options, since the CDR() function can provide this functionality
add 'r' option to CDR() function to control recursive retrieval/storage
(inspired by bug #4143, but without the SetVar syntax changes)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 15:56:44 +00:00
Kevin P. Fleming
ba9b384f58 fix obvious fault in ast_separate_app_args
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 15:26:03 +00:00
Kevin P. Fleming
6f118fe66a remove extraneous manual string termination
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 14:03:47 +00:00
Kevin P. Fleming
7d6ba573e5 move some debugging output to a higher debug level (bug #4119)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 04:49:32 +00:00
Kevin P. Fleming
9bd5c1d95b don't report EAGAIN as an error (bug #4128)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 04:43:30 +00:00
Kevin P. Fleming
aba598c26f fix build on FreeBSD (bug #4125)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 04:35:27 +00:00
Kevin P. Fleming
2be3c7ab57 add GROUP_COUNT and GROU_MATCH_COUNT functions, deprecate GroupCount and GroupMatchCount apps, remove GROUPCOUNT variable from README.variables (bug #4133, with doc update)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 04:13:31 +00:00
Kevin P. Fleming
b9bda6aa41 add MD5 and CHECK_MD5 functions, deprecate MD5 and MD5Check apps (bug #4123)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 04:05:34 +00:00
Kevin P. Fleming
523911c9b0 re-implement ast_separate_app_args with clearer code and in a way that doesn't fail with certain combinations of array size and delimiter count
add doxygen docs for ast_separate_app_args


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 03:43:10 +00:00
Kevin P. Fleming
135f392c62 solve memory leak and allow chan_mgcp to be unloaded (bug #4148)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 00:40:14 +00:00
Kevin P. Fleming
54da34ff0a return proper string from description function (bug #4150)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 00:33:46 +00:00
Kevin P. Fleming
1518301885 update doxygen configuration file to current version (bug #4144)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 00:18:35 +00:00
Kevin P. Fleming
38c513fd02 ensure the SIP socket is closed on module unload (bug #4149)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-04 00:14:58 +00:00
Kevin P. Fleming
50b9f0e970 fix breakage when ast_copy_string is used to copy substrings (bug #4146, but a different fix)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 23:51:20 +00:00
Jeremy McNamara
09ed70fcaf Fix one-way audio issues with CCM and possibly other [broken] endpoints. Bug #4135
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 18:58:50 +00:00
Jeremy McNamara
f0c47a88ba Fix one-way audio issues with CCM and possibly other [broken] endpoints. Bug #4135
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 15:47:35 +00:00
Kevin P. Fleming
a813234dcd simplify argument parsing in sip_prune_realtime
don't force register expiration when pruning realtime peers
provide feedback for successful single item prune operations


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 03:22:14 +00:00
Kevin P. Fleming
ba04eb12ef use symbolic constants for RTP method flags, and add debugging output to sip_alloc to indicate when RTP is/is not allocated (bug #3986)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 02:32:50 +00:00
Kevin P. Fleming
deb3c32a49 correct documentation for ast_sched_add (bug #4136)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 02:21:57 +00:00
Kevin P. Fleming
98a973007d ensure astdb registration entries are parsed properly (bug #4126)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 02:16:45 +00:00
Kevin P. Fleming
cd9a1226b5 ensure buffer size is computed properly for ast_copy_string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-03 02:09:16 +00:00
Mark Spencer
7b576dd5cf Update README to discuss file descriptors (bug #4134)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 20:24:57 +00:00
Mark Spencer
f2c734ba04 Add support for native DTMF
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 20:16:21 +00:00
Jeremy McNamara
931e1debff Fix dtmfmode, dtmfcodec capability, Faststart for users and peers. Bug #4112
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 18:46:36 +00:00
Kevin P. Fleming
9a7b3b0347 testing has shown that ast_copy_string is nearly twice as fast as strncpy for the common use cases in Asterisk, so convert chan_sip over...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 13:44:38 +00:00
Kevin P. Fleming
fe6517959e change (iax2,sip) show (peers,users) to use 'like <pattern>' for pattern-matching to be consistent with other CLI commands
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 01:34:21 +00:00
Kevin P. Fleming
f0df8b7172 attempt to not allocate RTP ports for SIP private structures unless they are needed (bug #3986)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 01:15:23 +00:00
Kevin P. Fleming
abec217a1b add experimental ast_copy_string() function to be used in place of strncpy() (see discussion on asterisk-dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-02 00:27:54 +00:00
Kevin P. Fleming
405000c897 ensure that 'static' members of source files are documented too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 23:57:12 +00:00
Kevin P. Fleming
dfd4f13f55 ensure object reference is removed after unlinking from container
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 23:17:12 +00:00
Kevin P. Fleming
8c087b7d73 make verbosity of function registration match apps/manager events/etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 23:09:28 +00:00
Kevin P. Fleming
f07020fa1c clean up reg_source_db
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 23:07:05 +00:00
Kevin P. Fleming
6cd346ebe1 add some notes regarding the distinction between applications and functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 19:34:50 +00:00
Kevin P. Fleming
ce6a7846c0 properly check for error from pri_timer2idx (bug #4117)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 18:47:53 +00:00
Kevin P. Fleming
b1826af735 add SIP_HEADER function, mark SIPGetHeader app deprecated (will be removed on 2005-05-31)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 18:37:37 +00:00
Kevin P. Fleming
7d4b53c57a add direct object unlink macro to ASTOBJ api
various minor cleanups in chan_sip


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 18:08:14 +00:00
Anthony Minessale II
fc619c1402 keep 3710 patch in working condition
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 02:35:32 +00:00
Kevin P. Fleming
0a93667e9c ensure that old modules warning does not occur when 'make install' is run directly after 'make clean'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-05-01 01:43:44 +00:00
Kevin P. Fleming
82f888f457 enhance 'sip prune realtime' to support users as well as peers, and regex-based filtering
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 20:42:48 +00:00
Kevin P. Fleming
4319ece167 fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 17:28:27 +00:00
Kevin P. Fleming
9b1eb11a3a fix *BSD breakage from include-order changes (bug #4067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 17:24:58 +00:00
Kevin P. Fleming
8634ef9e4a don't use '%i' at all, since we have no current use cases that need non base-10 parsing (bug #4110)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 17:00:33 +00:00
Kevin P. Fleming
bef7a3ea37 formatting cleanup (bug #4109)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 16:13:04 +00:00
Kevin P. Fleming
ae90c1a014 make write() failures on Zap channels more prominent than 'debug' messages (bug #4107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 15:32:44 +00:00
Kevin P. Fleming
57e4310265 support various other formats for Asterisk manual page (bug #4113)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 15:18:10 +00:00
Kevin P. Fleming
bced63033d make 'goto' APIs aware of auto-processing loops, so they know exactly when to set the requested priority or one priority lower
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 15:04:26 +00:00
Jeremy McNamara
8cd6529426 Rework astersk make process to be compatable with the Open H.323 build process. Bug #3981
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 04:37:02 +00:00
Jeremy McNamara
1ebd942a88 Rework astersk make process to be compatable with the Open H.323 build process. Bug #3981
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 04:30:51 +00:00
Jeremy McNamara
45f7567d70 Fix codec negiocation on inbound calls. Bugs 3980, 4021, 4045
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-29 04:22:47 +00:00
Kevin P. Fleming
b2c3f0464f unregister reload command (bug #4102)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-28 16:21:00 +00:00
Russell Bryant
c295b46e4b oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-28 16:19:40 +00:00
Matthew Fredrickson
cabd5e105a Add Q.SIG option to zapata.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-28 03:25:02 +00:00
Jim Dixon
da9a73f4c9 Fixed problem with 'radio' attribute vanishing upon zap reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 23:44:24 +00:00
Kevin P. Fleming
7e058413fb allow fine-grained 'insecure' settings (bug #4024)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 17:04:17 +00:00
Kevin P. Fleming
1230770bb6 'make install' will now warn the user if their modules directory contains modules not installed by the newly-installed Asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 16:27:53 +00:00
Mark Spencer
55a6d4c1b5 Oops :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 15:11:46 +00:00
Mark Spencer
b99c287ef6 Fix lockup in register timeout
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 15:06:23 +00:00
Kevin P. Fleming
ac639e80c3 during 'make install', remove any headers from the destination include/asterisk directory that are no longer present in the source directory (bug #4035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 05:46:32 +00:00
Kevin P. Fleming
7acd3abe33 add patch from bug #3710 so it can get wider testing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 05:22:36 +00:00
Kevin P. Fleming
a9831e75ee perform global variable substitution before splitting extension and cidmatch when reading in dialplan (bug #4035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 04:52:58 +00:00
Ben Kramer
5c735f4c68 / changed the logging in vpb_call()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 04:28:24 +00:00
Kevin P. Fleming
22ef00edde add manager events for Zaptel DND state changes (bug #4070, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 04:03:49 +00:00
Mark Spencer
14fba8d8be Add option to park in the next slot (bug #4028)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 03:58:40 +00:00
Kevin P. Fleming
0fe9884e0b report IP of peer who sent failing registration (bug #4089)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 02:52:14 +00:00
Kevin P. Fleming
fefe2e8b4f protect ResponseTimeout and DigitTimeout apps from crashing when called in non-PBX channels (bug #4078)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 02:48:25 +00:00
Kevin P. Fleming
cd932e2234 reset 'confirm' mode so DTMF can be used by Zap callees after confirming (bug #4083)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 01:59:00 +00:00
Kevin P. Fleming
a1d24f740f help text cleanups (bug #4072, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 01:50:53 +00:00
Kevin P. Fleming
2d643dbc42 don't use %i for numeric input in scanf (bug #4071)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 01:42:33 +00:00
Kevin P. Fleming
57b1bfcc73 support old single-column options for realtime voicemail (bug #4080)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 01:37:46 +00:00
Kevin P. Fleming
2a4265b406 formatting cleanup (bug #4088)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-27 01:29:28 +00:00
Matthew Fredrickson
aaee30edcc Missing E911 signaling type in sample zapata.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-26 22:31:11 +00:00
Mark Spencer
7bedf24c8c If poll returns 0, force *ms to 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-24 22:54:50 +00:00
Kevin P. Fleming
f9876ccfa8 add guideline comment about not using '%i' with scanf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-23 15:11:28 +00:00
Matthew Fredrickson
fd4dbd6c5c Support for new signaling type Feature Group D (MF) through a tandem access
point.  Also support for an output file to send your PRI debug information.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 19:10:35 +00:00
Kevin P. Fleming
d22b95c454 minor wording fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 14:16:42 +00:00
Kevin P. Fleming
199add9567 phase 1 of header include cleanup (bug #4067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 13:11:34 +00:00
Kevin P. Fleming
e1dec7cda6 more clarification of time changes and how they affect Asterisk (bug #4020)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 04:39:41 +00:00
Kevin P. Fleming
c2ef8373c7 report the number of rows updated when using RealTime update method (bug #4066)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 03:29:03 +00:00
Kevin P. Fleming
06de953fbc add ability to send transferring party to a dialplan target after they blind transfer another party (bug #4056, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 02:55:14 +00:00
Kevin P. Fleming
5a6d5c1751 ensure cause code supplied by IAX2 peer is passed up to caller properly (bug #4064)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 02:30:36 +00:00
Kevin P. Fleming
0687688042 ensure that res_config_odbc can handle columns with NULL values (bug #3787)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 01:59:53 +00:00
Kevin P. Fleming
e1d1a962c7 initialize errno and don't report an error when poll() returns without indicating one (bug #4059)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22 01:40:23 +00:00
Kevin P. Fleming
a729a57ba1 fix various compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21 06:30:23 +00:00
Kevin P. Fleming
1f9ab2380a use double-quotes instead of angle-brackets for non-system include files (bug #4058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21 06:02:45 +00:00
Kevin P. Fleming
35f2e4b8ae ensure that sequential DTMF sent via RTP has some 'dead air' between digits (bug #3675)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-20 16:46:25 +00:00
Kevin P. Fleming
f6ddf9b971 add count of parked calls to 'show parkedcalls' (bug #4023)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-20 16:27:44 +00:00
Kevin P. Fleming
6d05d785be correct default language setting for Background() app (bug #4044)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-20 16:11:16 +00:00
Kevin P. Fleming
e1e893d3b9 enhance documentation for string chopping (bug #4049)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-20 14:46:54 +00:00
Mark Spencer
f933db8c24 Fix docs for digit/response timeout to mention default values (bug #4050)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-20 14:40:47 +00:00
Jeremy McNamara
e3db569d62 update so people don't whine any more
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-19 00:31:56 +00:00
Kevin P. Fleming
3afbc3287f don't force transcoding through SLINEAR when transcoding is not needed at all
clean up formatting and variable names in ast_channel_make_compatible


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-18 16:26:41 +00:00
Mark Spencer
58172f4ff0 Note that big time changes can cause issues (bug #4020)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-17 17:39:14 +00:00
Mark Spencer
d3213d7f47 Fix locking issue (bug #4041)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-17 03:44:19 +00:00
Mark Spencer
4c228c3f7a Remove useless declaration (bug #4040)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-16 08:50:50 +00:00
Russell Bryant
eea0213fe4 formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 17:34:14 +00:00
Russell Bryant
a3168fdc23 fix potential seg fault in my patch that just went in, oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 06:55:21 +00:00
Mark Spencer
fdff1f69b5 Add warning for _. match (bug #4032)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 06:08:47 +00:00
Mark Spencer
b49f1a7dfa Fix "show agents" when name is not present (bug #4030)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 05:51:30 +00:00
Mark Spencer
4b7e548d92 Add MusicOnHold to waitexten, update Background to use newstyle options (bug #4000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 05:47:40 +00:00
Mark Spencer
b5c7781d9f Add 'n' option to dial for "nojump" (bug #4034)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-15 05:30:27 +00:00
Russell Bryant
7bffc0459c add missing newlines, fix misspelling of nonexistent (bug #4027)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 23:33:47 +00:00
Mark Spencer
8d1744dd29 Add sched_when function (bug #4022)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 18:46:35 +00:00
Russell Bryant
42da18ec5f just formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 16:43:26 +00:00
Matthew Fredrickson
b90f35b24f Fixed chan_alsa.c unload bug (bug #4019)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 16:24:45 +00:00
Matthew Fredrickson
559423d973 Fix so that asterisk continues to build if libcurl is not present or the correct
version. bug #3982.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 15:17:41 +00:00
Kevin P. Fleming
55eee86242 add help text for manager redirect command (bug #4015)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 05:45:53 +00:00
Kevin P. Fleming
30de08c187 support postfix options in voicemail apps (prefix options still supported using old syntax) (bug #4007)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 05:22:51 +00:00
Mark Spencer
b32b3c1e50 Fix dashes, etc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 05:07:47 +00:00
Kevin P. Fleming
b052fe894b ensure that the random number generator(s) are always seeded with a different value during Asterisk startup
don't reinitialize random number generators in other modules
(bug #4017)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 04:47:39 +00:00
Ben Kramer
18e2c2e468 / updated to get it to use ast indications again after the change to ast_chan_tech stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 04:15:23 +00:00
Russell Bryant
700bf3772a add missing newline (bug #4018)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 03:41:20 +00:00
Ben Kramer
f61b19eda8 / fixed an inverted test
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 03:16:38 +00:00
Russell Bryant
b4cf0acd8e document cdr_manager headers (bug #4016)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-13 01:52:11 +00:00
Kevin P. Fleming
36833ce138 correct portability problem (don't look inside regex_t)
correct enable/disable option name to match sample config file


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-12 14:11:59 +00:00
Russell Bryant
7b5e73c7a8 show correct codec in verbose messages (bug #4008)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-12 02:41:29 +00:00
Russell Bryant
e3e62817fa formatting fixes (bug #4009)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-12 02:37:37 +00:00
Mark Spencer
71a99bab18 Fix MGCP call waiting (bug #3971, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-11 05:48:58 +00:00
Russell Bryant
a915aa4b69 correct descriptions for joinempty options (bug #3979)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-11 03:33:33 +00:00
Mark Spencer
bb1abed78f Add datetime to AGI (bug #3984)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-11 03:23:54 +00:00
Mark Spencer
922d62c39d Add calling party DTMF (bug #3994)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-11 02:46:25 +00:00
Mark Spencer
16661cc58f Add option to mask certain high frequency events (bug #3707)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-11 02:04:08 +00:00
Mark Spencer
0263e89354 Add documentation for TDS noting compilation problem on 0.63+
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-11 01:41:27 +00:00
Russell Bryant
700733784f formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-10 21:43:03 +00:00
Mark Spencer
a3c09af463 Add member/queue filters to queuestatus manager command (bug #3995)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-09 18:58:44 +00:00
Mark Spencer
e87a53037e Forward text frames before answer (bug #3717)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-09 18:54:58 +00:00
Mark Spencer
a0fdba74dc Fix needless queue breakage for 2.95 (bug #3993) but this DOES NOT MEAN WE WILL WORK TOWARDS 2.95 IN THE FUTURE!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-09 18:43:04 +00:00
Matthew Fredrickson
d0bca8cd77 Revert back on incorrect libcurl fix :-(
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-07 22:20:07 +00:00
Matthew Fredrickson
3a57d2285a Bugfix for old versions of libcurl (#3982)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-07 21:18:14 +00:00
Mark Spencer
ff42a275f8 Match special case of wav49 behavior (bug #3975)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-07 19:25:52 +00:00
Mark Spencer
4b03dace5f Fix little formatting thingy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-07 14:53:31 +00:00
Mark Spencer
b6f6544f3b Fix issue with global load_module symbol... hint: NEVER call "load_module();"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-07 14:53:17 +00:00
Kevin P. Fleming
0e941a8dfc fix thinko in dnsmgr.c (lesson: don't commit while you are rushing to a meeting and then heading out of town...)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-07 07:41:06 +00:00
Kevin P. Fleming
110560781a preliminary "managed DNS lookup" support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 21:13:51 +00:00
Kevin P. Fleming
d254db31c8 *** empty log message ***
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 21:12:32 +00:00
Mark Spencer
a7230de79a Correctly choose end of number (i.e. if it ends in 'w' with nothing following)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 19:17:21 +00:00
Kevin P. Fleming
b3613d3e48 re-implement realtime support in app_directory
add support for hiding entries from app_directory using new hidefromdir= option (bug #3950)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 18:55:33 +00:00
Russell Bryant
c66b66e45f actually space out the registrations :) (bug #3104)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 17:03:50 +00:00
Kevin P. Fleming
3fd8f01d7c ensure that successful configuration results in the module staying loaded (bug #3968)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 16:14:21 +00:00
Matthew Fredrickson
ea60d42f67 If an agent still has "wrapuptime" left after he finishes a call and the
wrapuptime is changed on a reload, he still waits his former wrapuptime (instead of
the new wrapuptime).  This reduces his "de facto" wrapuptime immediately to
the new value even if he has wrapuptime remaining from a previous call.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 16:06:05 +00:00
Mark Spencer
9cbc047b6a Fix ADSI 'B' issue (bug #3833)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 05:11:48 +00:00
Kevin P. Fleming
228f03ae87 use more efficient code to produce non-codec-capability list (bug #3960)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 03:43:59 +00:00
Russell Bryant
307f862c23 note that the weight has a special meaning for e164
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 03:36:39 +00:00
Russell Bryant
e6628a8003 document the 'weight' option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 03:33:30 +00:00
Russell Bryant
1c36c41f1e clarify information on time waited for a response
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 02:54:59 +00:00
Kevin P. Fleming
f5ac6f6c2e correct error in doxygen docs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06 02:06:27 +00:00
Kevin P. Fleming
c7c20f8656 report non-codec capabilities in 'sip debug' properly (bug #3960)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 23:34:56 +00:00
Kevin P. Fleming
45c92426e3 correct queue sample config file (bug #3964)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 21:42:40 +00:00
Kevin P. Fleming
864f6a50b8 ensure that MGCP AMA flags are passed into CDR (bug #3962)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 21:40:37 +00:00
Kevin P. Fleming
2650a7f2ae optimize frame handling in agent_read()
ensure that the call is marked acknowledged when it goes to AST_STATE_UP even if AST_CONTROL_ANSWER is not received (if ackcall is disabled)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 21:30:24 +00:00
Matthew Fredrickson
d41e65cd0d Merging AOC notifications for bug #3843
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 20:23:26 +00:00
Mark Spencer
c8f858f2aa Alerting *can* be sent after proceeding (bug #3963)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 19:40:37 +00:00
Russell Bryant
a7e9416c89 don't define a functioning returning an int inside of a do{...}while(0) (bug #3865)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 17:04:51 +00:00
Kevin P. Fleming
f63923ae29 ensure account code specified in mgcp.conf propagates to CDR (bug #3951)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 04:41:15 +00:00
Kevin P. Fleming
b6151c5141 correct french pronounciation of years between 1900 and 1999 (bug #3949)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-05 04:26:59 +00:00
Kevin P. Fleming
5b41f40c31 update manager interface documentation (bug #3936)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 23:47:47 +00:00
Kevin P. Fleming
8b2b938b7e correct IAX loading/binding message (bug #3953)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 23:41:34 +00:00
Kevin P. Fleming
f9f59ae89d move start_network_thread to _before_ testing its result :-) (bug #3952)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 23:32:11 +00:00
Kevin P. Fleming
6f86f6766b make the manager interface list the privileges required for each command (bug #3917)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 16:18:11 +00:00
Kevin P. Fleming
72ccf76581 let ast_say_digit_str say 'minus' preceding negative numbers (bug #3948)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 16:10:09 +00:00
Jeremy McNamara
4c736c3600 Better dependancy and version checking method, solve call problems when dealing with a gatekeeper, sanity check call cleanup, in hopes to avoid deadlocks (Bugs #3848 #3643, #3591)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 15:54:34 +00:00
Mark Spencer
e06257cf2e Fix MGCP *67 to automatically reset callerid (bug #3940)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 14:14:19 +00:00
Jeremy McNamara
0efb0da41f Better dependancy and version checking method, solve call problems when dealing with a gatekeeper, sanity check call cleanup, in hopes to avoid deadlocks (Bugs #3848 #3643, #3591)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 07:06:26 +00:00
Kevin P. Fleming
e7bbe31f8f optimize codec selection and format changing code
force all transcode paths to use AST_FORMAT_SLINEAR as the frames pass through the bridge (can be disabled using the 'transcode_via_sln' setting in th 'options' setting in asteris.conf)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 03:28:38 +00:00
Kevin P. Fleming
bbc8c2ce6f fix breakage from slin endianness commit earlier today (sorry :-()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-04 02:13:40 +00:00
Kevin P. Fleming
9f5b92a27f one more FreeBSD compile warning fix (bug #3938)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 23:23:36 +00:00
Kevin P. Fleming
b96ae79baa handle AST_FORMAT_SLINEAR endianness properly on big-endian systems (bug #3865)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 22:57:18 +00:00
Kevin P. Fleming
7e3e619497 further thought says '!' is a better early-match wildcard (bug #3889, take 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 22:24:17 +00:00
Kevin P. Fleming
be563d29a0 add docs for bug #3889
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 21:34:35 +00:00
Kevin P. Fleming
ee9c852b4d add 'early-match' wildcard for extension patterns (bug #3889)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 21:32:33 +00:00
Kevin P. Fleming
6ae8903fd8 fix obvious coding error from yesterday's fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 21:25:45 +00:00
Kevin P. Fleming
b4f4e23000 remaining endian.h fixes for FreeBSD (bug #3867)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 21:25:08 +00:00
Kevin P. Fleming
7438526620 fix various compiler warnings (bug #3938)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 21:16:01 +00:00
Kevin P. Fleming
3c7c893e6e ensure that needed headers are included for chmod() and mkdir() (bug #3937)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 20:25:43 +00:00
Anthony Minessale II
24a710bad2 forgot some code from the last chanspy repass (nothing exciting)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 15:46:22 +00:00
Russell Bryant
d23b94c206 add note about autofallthrough
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-03 00:25:21 +00:00
Kevin P. Fleming
d2ad9e17c8 clean up formatting (bug #3934)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-02 23:31:29 +00:00
Kevin P. Fleming
66568b0f66 Resolve app_meetme crash when member tries to mute/unmute (bug #3899)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-02 23:26:27 +00:00
Kevin P. Fleming
71f2c0c6ec don't unnecessarily open-code strchr()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-02 23:20:11 +00:00
Russell Bryant
64ee493b54 remove old iax.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-02 22:42:48 +00:00
Kevin P. Fleming
4597c9a9e8 add VM_MESSAGEFILE channel variable to hold path to message left by caller (bug #3926, plus doc update)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-02 01:08:55 +00:00
Kevin P. Fleming
6ac2bb1e88 correct 'sync' setting for manager-originated calls (bug #3922)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-02 00:58:33 +00:00
Kevin P. Fleming
604ebd84aa use local header for transfer definitions instead of libpri.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 23:56:32 +00:00
Kevin P. Fleming
4f0e5637a9 strip color code sequences from verbose messages being sent to files/syslog (bug #3929, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 23:49:57 +00:00
Kevin P. Fleming
565398f5e8 add FIELDQTY function to split variable contents and get any desired field (bug #3731)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 22:03:17 +00:00
Kevin P. Fleming
33801137f8 don't take the channel list lock until we're actually ready to put the new channel into the list in ast_channel_alloc (bug #3928)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 21:38:17 +00:00
Kevin P. Fleming
3da361ee77 optimize file reading in pbx_spool (bug #3927)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 21:31:12 +00:00
Kevin P. Fleming
c4ca6bf492 make CVS ignore tags-related files and Mac OS X object files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 21:28:40 +00:00
Kevin P. Fleming
c3ecb8741c add tags-related files to .cvsignore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 21:24:22 +00:00
Kevin P. Fleming
2fb8143f3a add ctags and etags support to Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 21:18:39 +00:00
Kevin P. Fleming
0403510bbd Fix up formatting and a few typos/poor grammar in pbx.c (bug #3924)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 19:56:35 +00:00
Kevin P. Fleming
793040a782 revert previous commit... was the wrong fix (my first oops)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 19:39:58 +00:00
Kevin P. Fleming
3cc8b20876 ensure that variables supplied to ast_pbx_outgoing_exten are applied to the channel even in 'sync' mode (bug #3922, for HEAD only)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 19:24:29 +00:00
Matthew Fredrickson
e07986caba Forgot to add app_settransfercapability.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 18:46:21 +00:00
Kevin P. Fleming
3ca72cb08a ensure that failure to register the cdr_custom backend results in a module load failure
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 17:31:41 +00:00
Matthew Fredrickson
b81f233e68 Merging in xylome's beaerer capabilty patch (bug 3547)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 17:00:50 +00:00
Kevin P. Fleming
41c684c4a3 clarify licensing text in README
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 17:00:01 +00:00
Anthony Minessale II
aef8538148 Finishing touches and addition of record flag to ChanSpy <pay up jets\!>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 16:09:52 +00:00
Kevin P. Fleming
2059316463 Put syslog facility/level name into filename field, so it will show in 'logger show channels' (bug #3916)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 16:09:21 +00:00
Kevin P. Fleming
661770497b Allow chan_iax2 to build on systems that don't define SO_NO_CHECK (bug #3908, round 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 15:52:26 +00:00
Kevin P. Fleming
2097977b7d Add 'iax2 reload' CLI command and fix peer counting with regex matches (bug #3876)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 04:50:21 +00:00
Kevin P. Fleming
93c8e08989 Update README to reflect modern Asterisk features and requirements
Add note in UPGRADE.txt about compiler requirements
Add note to CODING-GUIDELINES about new policy for CLI command structure


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 04:38:12 +00:00
Mark Spencer
6e764dc097 Fix spool files that lack their last return
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 03:41:08 +00:00
Mark Spencer
07b9a5e800 Add slackware initialization (bug #3900)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 03:39:45 +00:00
Mark Spencer
5ed63ffc87 Add CDR custom config warnings (Borga borga!) :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 03:38:35 +00:00
Anthony Minessale II
7d2b59410d fix codec timing issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-01 01:03:22 +00:00
Mark Spencer
f0380197a9 Fix jitter buffer for call recording (bug #3826)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 21:52:17 +00:00
Mark Spencer
6ea8bf36f8 Fix IAX2 out of memory failure (bug #3907)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 19:29:54 +00:00
Mark Spencer
1e477ed10f Fix RTP checksums config option (bug #3908 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 19:09:48 +00:00
Mark Spencer
642059b2e4 Make logger respond better to lack of disk space and add "logger show channels" CLI (bug #3909 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 19:08:51 +00:00
Mark Spencer
b6fd23d966 Fix build without zaptel (bug #3901)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 19:07:27 +00:00
Mark Spencer
c318a06f14 Fix strict mode for queues (bug #3913)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 19:06:08 +00:00
Anthony Minessale II
3e6f5dfcae more optimizations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 19:00:40 +00:00
Anthony Minessale II
e03ed12e00 minor tweak and optimization for chanspy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 18:00:35 +00:00
Anthony Minessale II
318406a0c5 unconfigured cdr_custom should not be fatal
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 15:55:44 +00:00
Mark Spencer
13bdb56867 Fix name of conf file sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 15:51:32 +00:00
Mark Spencer
0beb05fac4 Fix load of cdr_custom
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 15:50:15 +00:00
Mark Spencer
d4781cb4d1 Fix custom CDR error (thanks kpfleming)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 05:54:25 +00:00
Mark Spencer
c4ebbd5b2e Use requested extension (bug #3894)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 03:25:55 +00:00
Mark Spencer
886b082880 Make bridging more efficient
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-31 03:00:37 +00:00
Anthony Minessale II
1c7fef7ece increase queue length of chanspy queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 22:09:01 +00:00
Anthony Minessale II
cb80b98c7d fix dial a channel on chanspy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 16:57:59 +00:00
Anthony Minessale II
c02caf1e91 add missing newlines (part2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 16:28:28 +00:00
Anthony Minessale II
6afb37c9ae add missing newlines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 16:20:53 +00:00
Anthony Minessale II
0cc737f9ac increase buffer space
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 16:07:07 +00:00
Mark Spencer
b8a9e7558f Add say date to AGi (bug #3768)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 07:00:49 +00:00
Mark Spencer
cadd117ed0 Add fixup to chan_phone (bug #3825)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 06:39:39 +00:00
Mark Spencer
d3ba986fff Take out unimplemented comment from logger.conf (bug #3890)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 06:33:44 +00:00
Mark Spencer
3784f83bed Fix CC (bug #3895)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-30 06:31:42 +00:00
Mark Spencer
f3b51061e4 Add option to disable checksums on IAX
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 23:20:31 +00:00
Anthony Minessale II
c5df0c5e49 fix group and arg parsing bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 17:46:37 +00:00
Mark Spencer
9a019128c6 Fix beep logic error (bug #3888)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 06:34:50 +00:00
Mark Spencer
6347ced74a Little say numer fix (bug #3884)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 06:21:21 +00:00
Mark Spencer
b02fd7a66d Make sure ExecIf stuff returns properly (bug #3864)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 06:18:58 +00:00
Mark Spencer
eb91006b7c Allow functions to be written to (bug #2278, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 06:16:49 +00:00
Mark Spencer
f966e5e186 Simplify endianness and fix for unaligned reads (bug #3867)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-29 04:49:24 +00:00
Mark Spencer
bf940e8928 No need for sizeof (bug #3887)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 20:57:59 +00:00
Mark Spencer
dc9faa21e4 Fix a bunch of const stuff, merge queue changes, add experimental "hybrid" DTMF mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 20:48:24 +00:00
Mark Spencer
5c12ec4755 Clear out received tag in 407/401's (bug #3885)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 19:37:34 +00:00
Mark Spencer
200b967871 Delete cross targets for gentone and friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 16:28:00 +00:00
Mark Spencer
49ad55b85a Continue with GET_DATA if no file is there (bug #3878)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 07:08:39 +00:00
Mark Spencer
74075be1c4 Don't forget blank header in notify (bug #3877)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 07:06:28 +00:00
Mark Spencer
4fbb1a57c4 Cleanup SIP method stuff a little
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-28 05:23:04 +00:00
Mark Spencer
edf265741e Fix chanisavail typo that forced "state" mode (bug #3873)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 23:01:55 +00:00
Mark Spencer
4253cfd233 Avoid excessive "PROGRESS" messages (bug #3807)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:48:55 +00:00
Mark Spencer
8fa566e5ed Add load tester (bug #3870)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:44:09 +00:00
Mark Spencer
ff62953662 Oops, make good on my word :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:39:51 +00:00
Mark Spencer
a0a2592025 Fix cross compiling (bug #3868)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:39:17 +00:00
Mark Spencer
b0b916c16c Fix app bug, update skel example, add skel to makefile as option (bug #3869)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:29:57 +00:00
Mark Spencer
03da4fbf3b Add VM_CONTEXT for substitution (bug #3872)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:13:20 +00:00
Mark Spencer
1ce96b63c0 Repair danish format (bug #3239)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 22:07:39 +00:00
Mark Spencer
df81f135e4 GCC 4 fix (bug #3875)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 21:58:10 +00:00
Russell Bryant
a35dab18bd fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 07:19:11 +00:00
Mark Spencer
32b3083ba8 Make status update on agents properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 02:09:06 +00:00
Mark Spencer
fdc402153d Minor formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-27 02:08:37 +00:00
Russell Bryant
cd0655bf89 formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 21:01:59 +00:00
Anthony Minessale II
eaa4b200d2 fix volfactor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 17:40:00 +00:00
Mark Spencer
09d0d0181c Fix upgrade documentation to mention new manager event
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 15:33:52 +00:00
Mark Spencer
41b5832562 Fix discriptions / options (bug #3863)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 15:22:15 +00:00
Mark Spencer
c72d7a5c2c Fix order of priority reading / file reading (bug #3860)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 07:16:18 +00:00
Mark Spencer
2bc067a740 Implement fax detect within i4l (bug #3827)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 07:12:19 +00:00
Mark Spencer
e8a453e89d Fix timeouts when no-password used (bug #3859)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 07:08:47 +00:00
Mark Spencer
e6e2e59b4d Make sure AGI continues even when files aren't there (bug #3862)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-26 05:33:48 +00:00
Mark Spencer
c4f66c2c33 Fix DTMF formatting (bug #3853)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-25 21:05:08 +00:00
Mark Spencer
141b2b7d39 Don't use deprecated "2" location for G.726 (rfc3551)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-25 21:01:11 +00:00
Russell Bryant
85cbfad384 reflect actual format of ${DATETIME} in the docs (bug #3857)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-25 17:56:26 +00:00
Russell Bryant
6f85337227 remove channel_pvt.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-25 17:12:40 +00:00
Mark Spencer
39ca88f776 Fix fork CDR seggy (bug #3855)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-25 16:24:12 +00:00
Mark Spencer
03f5290b89 Add SIP real authentication (bug #3782)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 23:06:21 +00:00
Mark Spencer
78d9eee141 Fix OSS endian issues in OSS (bug #3846)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 22:01:56 +00:00
Russell Bryant
1398781ee7 show correct seq no in debug output (bug #3849)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 22:00:23 +00:00
Mark Spencer
122d0d8de6 Add custom CDR (bug #3595)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 21:57:42 +00:00
Mark Spencer
c3b2a120d4 Add missing sounds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 21:56:58 +00:00
Mark Spencer
8aa722871d Add additional fields for calling parameters per BT request
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 16:38:13 +00:00
Mark Spencer
2a89687393 fix repark of timed out parked calls (bug #3777)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 05:37:59 +00:00
Mark Spencer
e7b18536c4 Fix SIP/IAX caching (bug #3671)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 05:02:49 +00:00
Mark Spencer
070f50ccc7 Fix sound files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 03:31:53 +00:00
Anthony Minessale II
fee4bb4bab doh channel_pvt.h ?
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 03:31:07 +00:00
Anthony Minessale II
ba6613e769 forgot to fix this
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 03:24:51 +00:00
Anthony Minessale II
4d48644182 Fix the mysterious missing if
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 03:04:45 +00:00
Russell Bryant
e99e1fffde remove header that no longer exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 02:47:19 +00:00
Mark Spencer
4264fb193d Fix weird permissions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 01:19:37 +00:00
Mark Spencer
11e6204974 Add chanspy (bug #3836)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 01:19:02 +00:00
Mark Spencer
d8daf09817 fix endianness of OSS/Alsa (bug #3839)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 00:55:40 +00:00
Mark Spencer
ef6b032456 Add sounds for chanspy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 00:55:01 +00:00
Mark Spencer
f5b6b2b953 Make sure regtimeout is initialized (bug #3845)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-24 00:53:18 +00:00
Mark Spencer
29ce32912d Merge API changes for chanspy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 21:52:31 +00:00
Russell Bryant
f0c880d6f6 silly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 21:45:05 +00:00
Mark Spencer
aa25b367d6 Allow resetinterval to be "never"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 21:12:01 +00:00
Mark Spencer
4e156d3435 Fix portability (Bug #3842)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 20:42:49 +00:00
Mark Spencer
730194d609 Merge Russell's formatting patch (bug #3838)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 05:56:32 +00:00
Mark Spencer
d5455abe17 Fix wav format (bug #3837)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-23 04:30:31 +00:00
Mark Spencer
ff47b7ec31 Make sure that waitfordigit_full doesn't hangup on -EINTR (bug #3831)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 22:44:55 +00:00
Mark Spencer
e93e62e29b Ignore interrupted system calls (bug #3831)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 20:34:04 +00:00
Mark Spencer
6265cd3125 Fix OpenBSD compile (bug #3824)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 19:24:32 +00:00
Mark Spencer
ea5228686c Fix chan_agent segfault (bug #3590)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 19:10:21 +00:00
Mark Spencer
fea72cb65d Fix SIP realtime bug (somehow didn't get committed yesterday)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 19:09:47 +00:00
Mark Spencer
6e420b3c38 Fix manager declarations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 19:09:12 +00:00
Mark Spencer
4e70bbc3b2 If the D-channel goes down and comes back up, consider it "up" on any event other than a pri down event.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-22 16:26:54 +00:00
Mark Spencer
c446ba8b76 Fix queue weight issue (bug #3797, take 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 22:08:36 +00:00
Mark Spencer
ceadbd2d91 Make sure we don't accept streams we can't handle (bug #3818)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 15:09:10 +00:00
Mark Spencer
1507997410 Add README for jitter buffer (bug #3812), make src char *src a const
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 04:30:57 +00:00
Mark Spencer
ebc1c06835 Fix channel variables on cloned channels (bug #3804)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 04:18:50 +00:00
Mark Spencer
00ffb24b83 Revert broken portion of 3815 (bug #3816)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 03:23:05 +00:00
Mark Spencer
b0fa3b6450 Update SIP/IAX documentation and code (Bug #3810)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 02:17:36 +00:00
Mark Spencer
8085c618c0 Cleanup side effect sof meetme changes (bug #3815)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 02:06:58 +00:00
Ben Kramer
c6822b3fb1 / changed ast_channel_tech structure init to the GCC-specific format, seems
/ to compile, but havent run it yet


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-21 00:05:57 +00:00
Ben Kramer
6f5e43a60f / updated ast_channel_tech structure init.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 22:47:12 +00:00
Mark Spencer
9312b0c81c Fix minor formatting issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 18:02:45 +00:00
Mark Spencer
e31fd63b35 Add SIPPeers and SIPShowPeer manager events (bug #3693 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 07:54:05 +00:00
Mark Spencer
51226db44f Fix chopping of voice prompts (bug #3784)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 07:32:03 +00:00
Mark Spencer
d0e9afeb2b Minor sipredirect fixes (bug #3789)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 03:43:37 +00:00
Mark Spencer
87bbe6ee7a Add count of users in conference (bug #3215)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 03:04:46 +00:00
Mark Spencer
6d63970147 Fix PLC for BSD (bug #2532)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 02:53:48 +00:00
Mark Spencer
5c3c5fb65c Fix "," to "." notation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 02:48:41 +00:00
Mark Spencer
7353c879b0 Comment on sensitivity (bug #3802)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-20 00:49:31 +00:00
Mark Spencer
2af2747634 icseq increments only on requests, not responses (bug #3798)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-19 23:40:19 +00:00
Mark Spencer
ef1b495d45 Strengthen RFC conformity with respect to tags and stupid SIP complexities.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-19 22:47:32 +00:00
Mark Spencer
0d63eccb11 Fix "little crash" in inuse handling (bug #3792)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-19 22:42:29 +00:00
Mark Spencer
860eb98007 Fix queue stuff (bug #3797)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-19 17:35:59 +00:00
Mark Spencer
1205aaa664 Fix tag issue (bug #3795)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-19 17:31:33 +00:00
Anthony Minessale II
a8e79d3830 fix typo per stevek's req
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-18 00:32:49 +00:00
Mark Spencer
f9cfe60312 Add support for Solaris/x86 (bug #3064)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 23:12:15 +00:00
Mark Spencer
4c4264a448 Reorganize SIP code to make more readable (bug #3781)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 23:03:07 +00:00
Mark Spencer
47979c3e73 Make sip debug easier to read (bug #3785)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 22:58:44 +00:00
Mark Spencer
1719cd39d3 Add 'G' option to dial (bug #3786)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 22:39:04 +00:00
Mark Spencer
e92efc3742 Fix PLC for BSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 22:38:10 +00:00
Mark Spencer
0b37575aac Add missing plc.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 21:53:42 +00:00
Matthew Fredrickson
f146ecea99 Fixed Parking bug where SIP calls would loose MOH after an attended transfer to
the park extension.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 21:52:57 +00:00
Mark Spencer
7082d0584e Add PLC and jitter buffer and iax2 meta trunk with timestamps (bug #2532, #3400)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 21:30:19 +00:00
Mark Spencer
6546acebfb Add comments for hints (bug #3783)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 21:05:10 +00:00
Mark Spencer
ecec5ad9fc Merge improved announcements for conferences with leader (bug #2382)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 20:29:51 +00:00
Mark Spencer
0b23f4a6a7 Merge builtin If function (bug #3779)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 20:20:37 +00:00
Mark Spencer
488595c759 Cleanup registration expirey with realtime (bug #3751)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 16:11:19 +00:00
Mark Spencer
3fa3e8539d Merge config sample updates mentioning reload (bug #3697)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 15:56:55 +00:00
Josh Roberson
48b6ab921b Fix help and command line completion for "show config mappings" (Bug #3766)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-17 00:35:06 +00:00
Mark Spencer
f0449777db Fix missing newline to notice (bug #3775)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-16 18:33:56 +00:00
Mark Spencer
288fc53399 Update spec file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-16 16:51:45 +00:00
Ben Kramer
72c039758c / implementing callpickup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-16 04:53:30 +00:00
Mark Spencer
6b20a0f5db Inherit variables across local channel (bug #3769)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-16 04:01:28 +00:00
Mark Spencer
c6c9c0a3ed Merge tony's refactoring code with small mods (bug #3710)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5179 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-15 05:50:58 +00:00
Mark Spencer
5e8a912baf Fix serious typo (code segment was only enabled with verbose!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-14 05:51:20 +00:00
Mark Spencer
cb9d518b3e Record read size
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-14 01:05:34 +00:00
Mark Spencer
31bc43c48b Fix casting error (bug #3681, take 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-12 16:58:04 +00:00
Mark Spencer
2dae49b723 Fix TXTCIDName app (bug #3681)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-12 06:56:22 +00:00
Mark Spencer
4397ade80e Improve mandrake init files (bug #3699)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-12 06:50:22 +00:00
Mark Spencer
62efe4f3b0 Cleanup variable name, add restoration of format (bug #3759, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-12 06:00:05 +00:00
Mark Spencer
c44349ed1e Fix speex build (bug #3761)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-12 05:53:32 +00:00
Mark Spencer
2deba424d2 Create experimental new options API, various cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-12 05:37:32 +00:00
Russell Bryant
5dc4b018a4 updates from angler
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 17:13:04 +00:00
Mark Spencer
dbd42a645f Apply queuelog patch and perform final test of "test patches" system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 08:49:01 +00:00
Mark Spencer
2e0cf7a00c Update queue_log example
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 08:33:39 +00:00
Mark Spencer
f0c7729f81 Add sample experimental patch to show "make apply", "make unapply", "make patchlist", and "make update" targets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 08:24:23 +00:00
Matthew Fredrickson
1220a0e2fb Making 2bct work only if transfer=yes in zapata.conf for the channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 07:26:55 +00:00
Mark Spencer
26c7a07735 Add timestamping to console (bug #3653 with minor mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 07:24:10 +00:00
Russell Bryant
c246200ab0 fix compilation issue (bug #3752)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-11 06:20:08 +00:00
Mark Spencer
a76b90bfef Fix spanish date format (bug #3642)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-10 08:58:01 +00:00
Mark Spencer
d18b2f29bf Allow playback for multiple files (bug #3749)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-10 07:47:02 +00:00
Mark Spencer
3334ab2653 Remove duplicate CallerPres application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-09 06:42:56 +00:00
Mark Spencer
4fabc80629 Make ACL be what SIP is going to need (bug #2358, just first part)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-09 05:48:11 +00:00
Mark Spencer
98a3c16be4 Slow down the registrations to space them out
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-09 04:56:51 +00:00
Josh Roberson
4e395aac8b Fix compilation of chan_h323.c since removal of the private channel structures (Bug # 3738)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-08 23:11:23 +00:00
Josh Roberson
e1459ede01 Fix compile of utils.c on *BSD (Bug #3724)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-08 20:47:30 +00:00
Ben Kramer
1a6a17aab8 / updated to work with new fixes for bug #3573
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-08 04:12:38 +00:00
Mark Spencer
1bb8d52938 Flush out app stuff, make profiling easier to turn on/off
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 21:06:26 +00:00
Mark Spencer
77b8442606 Merge H.263+ support (bug #3709)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 20:57:49 +00:00
Mark Spencer
b9027295d7 Fix meetme flushing stupidity (doh!) (bug #3599)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 15:25:08 +00:00
Mark Spencer
a397a88192 Propagate device state properly when agentlogoff command is issued
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 05:43:15 +00:00
Mark Spencer
d42e070073 Unbreak expression handling from addition of function variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 05:21:45 +00:00
Mark Spencer
0eb1f2ec44 If we're only queueing audio, don't queue when we really want to engage the masquerade
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 04:35:23 +00:00
Mark Spencer
6f2ed85340 Don't consider wrapuptime when call was not answered
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 04:17:13 +00:00
Mark Spencer
c6cb8f9239 Allow debug to be enabled on a per-file basis...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 04:04:55 +00:00
Mark Spencer
badc4dec46 Make mpg123 behave more nicely
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 03:20:55 +00:00
Mark Spencer
7f97f0a332 More persistence fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 02:54:49 +00:00
Mark Spencer
fe64d7eca6 Minor persistence fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 02:53:27 +00:00
Mark Spencer
2fbb559a70 Remove accidental libpri dependency (bug #3714)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-05 02:08:37 +00:00
Mark Spencer
bb3a461b49 Fix stack size for ADSI (needs 128k by itself!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 22:37:25 +00:00
Mark Spencer
18d9b26cf9 Rework channel structure to eliminate "pvt" portion of channel (bug #3573)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 06:47:24 +00:00
Mark Spencer
fba0b595ab Add registerable functional variables (bug #3636, with doc mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 06:36:18 +00:00
Mark Spencer
c564c601bd Add timeoutrestart option (bug #3656)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 00:59:58 +00:00
Mark Spencer
d0d47362e3 Update documentation on agent groups (bug #3652)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 00:54:22 +00:00
Ben Kramer
9f553ef8ba / added fax detection support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 00:27:52 +00:00
Mark Spencer
686da4b054 Make stack size be selectable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-04 00:01:41 +00:00
Mark Spencer
50ef0504c6 Flush MeetMe at appropriate times (bug #3599)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 23:33:11 +00:00
Mark Spencer
418eefb9dc Member presistance improvements (bug #3647)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 20:31:21 +00:00
Mark Spencer
74a28969a4 Add dynamic dialplan support (bug #3566)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 17:00:57 +00:00
Josh Roberson
50d09049e1 Roll back previous change due to crossing of fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 16:27:28 +00:00
Josh Roberson
2a4ae392f0 Fix AST_STACKSIZE to match utils.h of AST_STACK_SIZE (bug 3706)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 16:21:33 +00:00
Mark Spencer
b9a34d8634 Fix stack size (take 2) (bug #3706)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 16:18:44 +00:00
Mark Spencer
592b27b17a Add realtime support to app_directory (bug #2475)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 05:31:43 +00:00
Mark Spencer
f8fc683adc Add "StartMusicOnHold and "StopMusicOnHold" apps (bug #3703)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 05:03:06 +00:00
Mark Spencer
9f2a6c79c4 Support > 300 threads on x86-32 and other 32-bit systems
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-03 03:46:41 +00:00
Matthew Fredrickson
7dc293f58f Commiting chan_zap.c patch for 2bct
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-02 16:09:27 +00:00
Mark Spencer
0bad15d227 Be sure to process SDP if we already have an owner (bug #3701)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-02 16:02:54 +00:00
Mark Spencer
1ed8dd396f Add manager doxygen docs (bug #3691)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-02 05:58:13 +00:00
Mark Spencer
dc297cd02a Fix chan_phone error code (bug #3692)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-02 05:42:38 +00:00
Mark Spencer
a5a45131bb Fix ENUM documentation (bug #3698)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-02 05:17:13 +00:00
Mark Spencer
0eab1fabcf Add mexican indications (bug #3667)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-01 06:43:08 +00:00
Mark Spencer
619528a3c3 Update agent manager docs (bug #3687)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-01 06:24:43 +00:00
Mark Spencer
f41813c782 Add some extra checks & verbosity (bug #3686)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-01 04:50:52 +00:00
Mark Spencer
dc0bfa2da4 Fix seg in authenticate (bug #3686)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-03-01 04:47:33 +00:00
Mark Spencer
9ac81e10ba Include stat.h to fix FreeBSD build (bug #3683)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 23:18:03 +00:00
Mark Spencer
45d7200427 Allow MGCP to use distinctive ring for call wait
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 22:26:41 +00:00
Mark Spencer
3def26a0e4 Add iax2 device state notification (bug #3640)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 06:40:20 +00:00
Mark Spencer
df68d15aba Add Estonian tone zone (bug #3589)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 06:19:57 +00:00
Mark Spencer
34e8ed636d Fix queue URL passing (bug #3543)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 06:06:42 +00:00
Mark Spencer
21e6e48a26 Don't pass agent audio until call is confirmed (bug #3677)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 00:40:35 +00:00
Mark Spencer
b216988746 Look for faxexten in the main context, too (bug #3634)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-28 00:18:28 +00:00
Mark Spencer
85a0e13c73 Merge mog's ReadFile application (bug #3670)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-27 19:07:46 +00:00
Mark Spencer
78b9e92af9 Revert earlier timestamp stuff pending contact with Intel over apparent HMP brokenness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-27 16:43:32 +00:00
Mark Spencer
618b325d73 Make sure we increase the timestamp between digits (bug #3675)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-27 05:59:24 +00:00
Mark Spencer
6a79d3a18f Fix build of new IVR stuff for GCC 2.96 and later gcc's too (bug #3639)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 19:06:09 +00:00
Mark Spencer
c021ec56e3 Fix small but big typo in REGISTER/SUBSCRIBE early RTP closing (bug #3673)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 16:29:15 +00:00
Mark Spencer
8295c77e9c Add additional parking events (bug #3620)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 07:54:28 +00:00
Mark Spencer
c96810b9d3 Add new callerpres parsing API (bug #3648)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 07:34:09 +00:00
Mark Spencer
e8b3ac0c6e Improve manager documentation (bug #3645)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 07:15:18 +00:00
Mark Spencer
94800f4521 Show number of meetme users (bug #3661)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 06:49:07 +00:00
Mark Spencer
233e26b112 Fix SetVar (bug #3668) and g + transfer (#3650)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 03:57:10 +00:00
Mark Spencer
3188414261 Release RTP ports early (bug #3655)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-26 01:16:12 +00:00
Matthew Fredrickson
84ad9b3a8a New iaxy firmware revision. Fixes problems with loss of registration
on iaxys.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 21:18:58 +00:00
Jeremy McNamara
da2ac25552 finally commit vm enhancements for skinny Bug #3511
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 17:43:10 +00:00
Mark Spencer
1764051747 Add realtime README (programmer docs)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 17:41:34 +00:00
Mark Spencer
e330970fb9 Fix GCC 4.0 build (bug #3662)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 17:32:37 +00:00
Mark Spencer
8ea159cc2e Handle SDP *after* authentication (bug #3660)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 16:37:34 +00:00
Mark Spencer
5a9f337de0 Add execiftime, remove duplicate agent logoff CLI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 00:25:28 +00:00
Matthew Fredrickson
a6a4d44176 Adding support to log off an agent from the console
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-25 00:00:35 +00:00
Mark Spencer
6eea9479e7 Allow global "qualify" option (bug #3649)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-24 13:57:45 +00:00
Mark Spencer
927828d4d4 Fix "tohost" logic errors (bug #3654)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-24 13:54:26 +00:00
Mark Spencer
fdb35c46a4 Fix "oopsie" (bug #3603)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-23 22:58:11 +00:00
Mark Spencer
b6c4282a03 Merge anthm's CDR updates (bug #3595)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-23 22:48:47 +00:00
Mark Spencer
7954654d15 Fix silly typo (bug #3646)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-23 05:09:10 +00:00
Mark Spencer
7279b57216 Add "admin pin" mode (bug #2387)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-22 15:42:41 +00:00
Russell Bryant
ef864a5cf2 fix terminology
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-22 07:36:29 +00:00
Mark Spencer
56e13139d4 Add "show hints" to CLI (bug #3631)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-21 06:31:01 +00:00
Ben Kramer
8df2830434 / added break-for-dtmf=no for native bridging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-21 04:30:42 +00:00
Ben Kramer
25a08db0c0 / updated with new config options
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-21 01:09:51 +00:00
Ben Kramer
37fcb4fc3f / added an option to use the AST vad DSP for DTMF detection
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-21 00:48:35 +00:00
Mark Spencer
fccd0750b2 Allow 0 retry time (bug #3630)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-20 19:02:20 +00:00
Mark Spencer
d10878282b Provide more info when native bridge cannot occur (bug #3627)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-19 20:46:34 +00:00
Mark Spencer
0f10f4119f Make cdr_pgsql gracefully handle restarts (bug #3628)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-19 20:10:52 +00:00
Mark Spencer
ef19fe6bef Add sip redirect support (bug #3419i, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-19 17:34:06 +00:00
Mark Spencer
6360dec439 Fix ODBC storage (bug #3625, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-19 16:34:45 +00:00
Mark Spencer
15b6cd5dec Add checking capability to MD5 (bug #3619)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-19 16:18:19 +00:00
Mark Spencer
e840a63d68 update UPGRADE.txt for new channel name for iax2 format.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-18 06:17:11 +00:00
Mark Spencer
9529e3ebb0 Make IAX2 channel names use "-" instead of "/" for call number (bug 3594)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-18 06:14:54 +00:00
Mark Spencer
0126706cac Add OEJ's md5 app (bug #3604)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-18 05:29:31 +00:00
Mark Spencer
f8aa020b3f Add event for agentlogoff from CLI (bug #3611)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-18 05:03:01 +00:00
Mark Spencer
f320936bbb Add descriptions for monitor action events (bug #3610)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 23:08:34 +00:00
Mark Spencer
5057e4898f Add atxfer fix (bug #3592)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 20:04:10 +00:00
Mark Spencer
a06c6bf412 Fix ${CALLINGSUBADDR}
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 19:41:23 +00:00
Russell Bryant
5348d0d581 update copyright header
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 18:07:33 +00:00
Mark Spencer
69061dec64 Merge anthm's ODBC sanity check fix (bug #3529)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 16:31:08 +00:00
Mark Spencer
f2f3825130 Make sure we search for url prefix only in format, not in filename (bug #3613)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 15:05:26 +00:00
Mark Spencer
ce18e66db2 Add placeholder IVR application support (static version)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 14:57:36 +00:00
Ben Kramer
367da10e08 / adjusted how the gain settings are implemeted
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-17 04:58:03 +00:00
Mark Spencer
f12c0bb3aa Fix DBget (bug #3603)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-16 03:54:08 +00:00
Mark Spencer
d5f8207a21 Make TDS CDR more resilient (bug #3597)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-16 03:52:47 +00:00
Mark Spencer
2127cf3c7b Begin autoservice while playing enter/leave sounds (bug #3599)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-16 03:50:41 +00:00
Mark Spencer
b0863c5e31 Optimize vm storage (bug #3605)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-16 03:46:00 +00:00
Mark Spencer
f9222e7e4b Fix misspellings of separate (bug #3607)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-16 02:58:18 +00:00
Russell Bryant
ad3558498f fix little typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-16 01:05:08 +00:00
Mark Spencer
73a38e14d3 Fix message from WARNING to DEBUG.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-15 15:57:52 +00:00
Mark Spencer
cea4a8e09e Fix native agent transfer, add UPGRADE.txt for notes about backwards compatibility issues upgrading from Asterisk 1.0 to current CVS head
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-14 23:20:01 +00:00
Mark Spencer
90267ab0ea Merge OSP udpates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-14 19:46:45 +00:00
Mark Spencer
7f5f113968 Remove a couple of peerification bbugs (bug #3576)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 22:40:41 +00:00
Mark Spencer
2887217560 Fix colon expansion (bug #3572)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 20:57:52 +00:00
Mark Spencer
9a43c29ca7 Don't lookup SRV's on IP addresses
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 19:55:28 +00:00
Mark Spencer
1ca9fb19e5 Merge limits patch (bug #3581)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 18:40:50 +00:00
Mark Spencer
062733f106 Fix user=phone stuff (bug #3575)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 17:02:39 +00:00
Mark Spencer
e83c29f281 Add sip show user completion (bug #3574)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 16:56:20 +00:00
Mark Spencer
afc33139c4 Properly differentiate between caller and agent hangups (bug #3578)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 16:53:29 +00:00
Mark Spencer
6a181832bb Add callingpres/calling limit support, small updates (bug #3577 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 16:40:56 +00:00
Mark Spencer
3af7d5a342 Add additional sanity checks (bug #3548)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 07:45:40 +00:00
Mark Spencer
cecb25eae5 Add sip show user and friends (bug #3571)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-13 01:16:10 +00:00
Mark Spencer
ddcfe8d3af Fix apparent logic error that causes unregistered non-realtime peers to be destroyed (bug #3569)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-12 20:15:15 +00:00
Mark Spencer
dd7e4ef47a Merge SIP changes from oej
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-12 20:14:21 +00:00
Mark Spencer
2b914b7ebf Add support for receiver reports (bug #3236, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-12 18:52:14 +00:00
Mark Spencer
54689b2f67 Add support for portugal (PT) (bug #3551)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-12 01:34:55 +00:00
Mark Spencer
d44286366b Flagify hold (bug #3456)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-11 21:16:34 +00:00
Mark Spencer
5611ff040e Fix native bridge not to intercept DTMF if it's needed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-11 20:07:45 +00:00
Mark Spencer
188fdf9260 Fix "not found" case (bug #3404)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-11 16:09:01 +00:00
Mark Spencer
41453ebf74 Copy/paste errors (bug #3559, #3560)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-11 06:53:18 +00:00
Mark Spencer
9cd9198127 Fix silly newline miss (bug #3555)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 23:46:03 +00:00
Mark Spencer
dcee71987e Remove duplicate section (bug #3545)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 21:17:36 +00:00
Mark Spencer
c52f076bca Separate IAX and SIP tables for users/peers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 21:14:11 +00:00
Mark Spencer
5d9bbe64c8 Merge tony's IAX/SIP realtime cache (bug #3509)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 20:04:42 +00:00
Mark Spencer
d2c0c613c8 Fix zap build for gcc 2.95
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 17:40:06 +00:00
Mark Spencer
3ed0a01068 Fix (in an admittedly icky way) the CALL variable broken issues (bug #3549)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 16:38:39 +00:00
Mark Spencer
6386563560 Update CDR documentation (bug #3525)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 07:28:27 +00:00
Mark Spencer
a175a7c2b7 Add comment information (bug #3537)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 07:21:26 +00:00
Mark Spencer
0a02a13bb2 Variable updates (bug #3525)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 07:16:44 +00:00
Mark Spencer
df460963fc Make agent support sending url (bug #3543)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 06:36:09 +00:00
Ben Kramer
847164efa0 / fixed ring-back on FXS ports
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-10 00:54:24 +00:00
Mark Spencer
fa48657020 Fix typos in app_dial (bug #3536)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 22:59:46 +00:00
Mark Spencer
07af9aa8f0 Fix minor typo (bug #3534)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 21:17:34 +00:00
Mark Spencer
6776ea7a79 Fix H.323 locking (bug #3540)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 21:15:44 +00:00
Mark Spencer
ad369fa974 Optimize variable lookups (bug #3541)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 21:10:41 +00:00
Mark Spencer
08d9c1a10c Make sure AST_DIGIT_ANY really means any (bug #3538)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 17:15:35 +00:00
Mark Spencer
97f589e6af Handle DNS failures on startup more gracefully (bug #3086)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 03:22:42 +00:00
Mark Spencer
aeaa181d74 Allow debug level to be more than just binary (bug #3524)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 00:13:52 +00:00
Mark Spencer
0d23fed9ab Update documentation (bug #3527, take 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-09 00:11:32 +00:00
Mark Spencer
89131204fd Minor deadlock detect fix (bug #3531)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-08 18:48:01 +00:00
Mark Spencer
4b485062ee quicky agent formatting fix, merge polarity/answer patch (bug #2847)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-08 07:49:40 +00:00
Mark Spencer
53060a3a44 Add new README.configuration (bug #3527)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-07 22:38:19 +00:00
Mark Spencer
cba23534f1 Inherit variables across an agent (bug #3520)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-07 22:24:11 +00:00
Mark Spencer
73b299843e Add "Dial" event to link callerid, src and destination channel (bug #3494)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-07 15:19:34 +00:00
Mark Spencer
82a9a22e99 Fix callerid segfault in rare combination (bug #3519)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-07 14:56:43 +00:00
Mark Spencer
88a49f727b Merge "show features" (bug #3515)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-06 23:36:35 +00:00
Josh Roberson
9ec6b2a358 Don't crash when pause/stop keys aren't defined on the command line (Bug #3514)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-06 06:43:32 +00:00
Mark Spencer
d771932983 Add option to disable beep to record (bug #3508, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-05 16:52:46 +00:00
Mark Spencer
e414807aaf Allow uptime to be displayed in seconds (bug #3510, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-05 16:49:14 +00:00
Mark Spencer
03652112b3 More flagification fixes (bug #3414, round 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-05 16:42:49 +00:00
Mark Spencer
1204348efa Fix callerid split (bug #3507)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 17:45:37 +00:00
Mark Spencer
6345a74c22 Make sure 10 byte read is considered EOF not error (bug #3505)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 15:46:01 +00:00
Mark Spencer
662356e3d8 Fix spanish pronunciation (bug #3121, thanks to David Corredor)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 07:11:28 +00:00
Mark Spencer
e75a91556c Properly handle PRI TON and allow changing number (bug #3493, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 06:12:32 +00:00
Mark Spencer
403d010294 Optionally store CDR's in GM time (bug #3500, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 05:52:45 +00:00
Mark Spencer
64f2fb6f2c Create "spec" target (bug #3413)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 05:44:13 +00:00
Mark Spencer
9790f6fa7e Fix big flagification errors (bug #3414)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 05:36:27 +00:00
Josh Roberson
d271dfa7af Fix build on OpenBSD and fix small typo. (Bug #3502)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-04 00:14:10 +00:00
Mark Spencer
6eca96c657 Fix wav append mode (bug #3498)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-03 05:35:03 +00:00
Mark Spencer
a678344264 Show last tx/rx command in sip show channels (bug #3499)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-03 05:31:01 +00:00
Mark Spencer
e95da4b9f7 Oops (first one of these in a while)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-03 04:21:07 +00:00
Mark Spencer
a43b8ec753 REname 'p' option to 'o' (bug #3490)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-03 03:30:41 +00:00
Mark Spencer
026c03b527 Add new 'p' flag to Dial for preserve callerid (bug #3490)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 20:35:25 +00:00
Mark Spencer
f286c413c0 Clarify documentation (bug #3495)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 19:48:53 +00:00
Mark Spencer
746dbf2c53 Make sure we always transmit the same from line (bug #3492)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 18:37:36 +00:00
Mark Spencer
d9020bb6fc Warn about setting read only variables (bug #3309)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 04:05:35 +00:00
Mark Spencer
b4f05e2c98 Merge #exec functionality (must be explicitly enabled!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 03:38:24 +00:00
Mark Spencer
67f3a558e0 Add option to prompt for PIN even if specified (bug #3489)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 02:57:45 +00:00
Mark Spencer
ab0566923b Include uniqueid in response for ManagerOriginate stuff (bug #3439)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 02:54:15 +00:00
Mark Spencer
b96ba5cae3 Fix conferencing of non-zap stuff (bug #3488)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-02 02:20:34 +00:00
Mark Spencer
c48522110f Fix silly typo (bug #3483)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 20:07:51 +00:00
Mark Spencer
d93cfc416c Fix proper cleanup (bug #3481)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 20:05:30 +00:00
Mark Spencer
e89fb66d79 Only use default callerid if it's specified (bug #3486)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 19:25:40 +00:00
Mark Spencer
3f306552dd Fix agent moh issue (bug #3383)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 07:09:56 +00:00
Mark Spencer
4d92934e6e Fix potential segfault (bug #3479)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 06:48:50 +00:00
Mark Spencer
a6c065816a Make monitoring accept args from both sides (bug #3449, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 03:49:35 +00:00
Ben Kramer
d77b6a6c8c / fix for when caller hangs up after first ring
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 03:27:36 +00:00
Mark Spencer
9ae7f2430a Add dundi show peers summary stats (bug #3474)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 03:00:28 +00:00
Mark Spencer
6ed8f15260 Allow hints to have names (bug #3471)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-02-01 01:53:25 +00:00
Ben Kramer
1be7bf0881 / new config option of dtmf idd time out
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-31 23:52:26 +00:00
Ben Kramer
f8d6b80b97 / updated so that it can deal with multiple matching in extensions, with
/ configurable dtmf idd time out


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-31 23:51:19 +00:00
Ben Kramer
08f888a148 / added parameter to change ec suppresion threshhold from config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-31 04:51:41 +00:00
Mark Spencer
ca0a0a0daa Merge IAX2 peer completion patch (bug #3462)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 21:32:26 +00:00
Mark Spencer
c1becf7fe5 Fix paths in astxs (bug #3466)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 19:10:40 +00:00
Mark Spencer
9774ddb9b5 Update tdesc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 18:39:35 +00:00
Mark Spencer
87cf6b3ec2 Fix 'g' flag (bug #3465)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 17:57:44 +00:00
Mark Spencer
7cd91c85fa Fix seg in variable replacement (bug #3464)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 17:34:44 +00:00
Mark Spencer
fda3016dc8 Fix silly typo in indications.conf (bug #3461()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 17:29:20 +00:00
Mark Spencer
0463f6b649 Remove dead header file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 17:21:45 +00:00
Mark Spencer
458f165c98 Add agent logon/logoff CLI command (bug #3440)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 06:55:10 +00:00
Mark Spencer
2491d3b75d Improve logging and add summaries (bug #3459)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 06:50:46 +00:00
Mark Spencer
0b04b3dfb2 Add category inheritance (bug #3099)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 06:26:19 +00:00
Mark Spencer
f85cf0138c Add setrdnis app (bug #3460)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 06:09:28 +00:00
Mark Spencer
fe5c5ba3f8 Add meetme talk detector (bug #3364)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-30 03:07:21 +00:00
Mark Spencer
3f80fd6bcc Add DBGet/DBPut (bug #3455)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-29 23:33:14 +00:00
Mark Spencer
8f199888d5 Merge callevents etc (bug #3456)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-29 23:19:01 +00:00
Mark Spencer
48dd0fef1d Add more manager events in queue (if enabled) (bug #3454)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-29 22:42:40 +00:00
Mark Spencer
aeb1002057 Fix ordering in portugese (bug #3452)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-29 17:35:12 +00:00
Jim Dixon
b5ecfdc179 Fixed more bugs.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-29 07:31:17 +00:00
Mark Spencer
259484a570 Update UK tones (bug #3430)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-29 04:05:09 +00:00
Mark Spencer
ccd7a7ac54 Reduce complexity of check for f->samples / 8 not being 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-28 22:08:24 +00:00
Jeremy McNamara
4e158e372c Force the use of specific versions of OpenH.323 and PWlib (Bug #3386 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-28 16:45:06 +00:00
Mark Spencer
c3f8e1fe08 Fix CID name when no CID name is supplied (bug #2795)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-28 05:38:16 +00:00
Mark Spencer
1be3670efe Fix interation of # transfer and flash hook transfer (bug #3011)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-28 05:19:06 +00:00
Mark Spencer
b1e0f0f102 Handle oddly sent 'A' to 'D' (bug #3445)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-28 03:49:08 +00:00
Mark Spencer
976bdba2d1 Fix properly the issue of the verbose level for parsing... (bug #3404 etc)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-28 00:31:50 +00:00
Anthony Minessale II
dad010329b Fixing "parsing" bug in config.c (AGAIN!)
if you had a verbose of 2 you got the following:
Parsing '/etc/asterisk/cdr_odbc.conf':   == Parsing '/etc/asterisk/confcall.conf': *CLI>   == Parsing '/etc/asterisk/sip_notify.conf':
the carraige return only prints on verbose of 3 or more so i am again moving them to be the same.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-27 21:10:44 +00:00
Mark Spencer
1f7c871993 Set dialed peer number properly when ringing multiple channels (bug #3437)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-27 16:33:12 +00:00
Mark Spencer
7a250ebd34 Fix reload on sip peers (bug #3432)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-27 04:46:31 +00:00
Ben Kramer
17f19d921b / put in ifdef wrapper around routines to save caller ID packet recording
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-27 04:31:38 +00:00
Mark Spencer
0444580a77 Add festival diffs for 1.95 (bug #3434)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-27 03:03:58 +00:00
Mark Spencer
d0a80c33d7 Fix parking issue (bug #3396)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-26 06:19:13 +00:00
Mark Spencer
1d5641fc9a Fix show_codec_n (bug #3427)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-26 02:46:26 +00:00
Mark Spencer
64127abd5c Fix C++ issues (bug #'s 3425, 3426)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-26 02:39:22 +00:00
Mark Spencer
a9c26705e0 Make sure registration is taken care of if DNS fails (bug #3424)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-26 00:11:38 +00:00
Mark Spencer
690bcfada2 Add old config files (bug #3406)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-25 06:11:11 +00:00
Mark Spencer
5f726ad8c7 Merge config updates (bug #3406)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-25 06:10:20 +00:00
Mark Spencer
a611ce04f1 Improve skinny display (bug #3416)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-25 03:41:05 +00:00
Mark Spencer
248c923284 Fix law table (i4l) (bug #3412)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-24 21:43:35 +00:00
Mark Spencer
b5f5e0762e Fix chan_modem_i4l to be sure we use unsigned (bug #3412)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-24 14:00:18 +00:00
Mark Spencer
3bafe1a8a5 Fix chan_modem_i4l (bug #3410)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-24 02:59:17 +00:00
Mark Spencer
91805d8f8e Remove duplicate alaw implementation (bug #3409)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-23 18:47:51 +00:00
Mark Spencer
4a072a452e Make sure two voicemails can't take the same message space (bug #3394)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-23 09:05:01 +00:00
Mark Spencer
17c311c9b9 Un-revert in preparation for actual fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-22 22:13:11 +00:00
Anthony Minessale II
28efa96e0d repeal config prototype changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-22 21:05:52 +00:00
Anthony Minessale II
d52d919a29 repeal config prototype changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-22 21:00:31 +00:00
Mark Spencer
9dfb8aac36 Fix tiny typo (bug #3404)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-22 17:18:28 +00:00
Mark Spencer
0fcb7c72f8 Add option for recording conference (bug #3393), thanks moc!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-22 04:51:30 +00:00
Mark Spencer
155af741e5 Merge john's autosupport updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 22:30:34 +00:00
Mark Spencer
d95c7d63d0 Copy language, too (bug #3401)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 22:30:16 +00:00
Mark Spencer
e969712c6f Add optional one way playback (bug #3397)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 21:27:17 +00:00
Anthony Minessale II
32ba309c68 Fix this annoying typeo that has been torturing me for weeks now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 21:26:34 +00:00
Mark Spencer
11cac381b4 Fix res_monitor asterisk issue (bug #3399)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 21:24:26 +00:00
Russell Bryant
0c30452423 update copyright headers for 2005
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 07:06:25 +00:00
Mark Spencer
3758d31fa1 Merge zap PRi call progress fixes (bug #2799)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 04:48:15 +00:00
Mark Spencer
f5458639d4 Install "autosupport" by default...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 04:44:49 +00:00
Mark Spencer
9edab98b2c Warn about wrong version of mpg123 (bug #3392)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 04:16:05 +00:00
Mark Spencer
66cbe07029 Merge mjohnston's pause/unpause (bug #3252)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 04:14:26 +00:00
Mark Spencer
4bd99a2bd2 Fix typo for bug #3142
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 03:57:47 +00:00
Mark Spencer
2184f91230 Add stereoize (bug #3142), faster than soxmix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 03:56:22 +00:00
Mark Spencer
9fc931366e Add John's autosupport script
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 03:43:03 +00:00
Mark Spencer
361211d401 Minor typo (thanks, angler)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21 01:44:16 +00:00
Mark Spencer
b27daee8b0 IAX codec fixes (bug #3387)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 23:42:06 +00:00
Mark Spencer
8a1906619f Fix typos (bug #3381)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 22:59:50 +00:00
Mark Spencer
e3da507a44 Make sure we check for owner even after a queue frame
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 22:53:57 +00:00
Mark Spencer
677eedfe6a Fix mpg123 build on non-linux (bug #3385)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 16:22:59 +00:00
Mark Spencer
fb69d9c88d Fix some typos in the voicemail config (bug #3384)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 05:00:07 +00:00
Mark Spencer
bec6aaf064 Fix ODBC to clear title each time (bug #3379)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 04:53:17 +00:00
Mark Spencer
442747adb6 Fix small typo (bug #3382)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 03:30:52 +00:00
Mark Spencer
f342859fac Add extra variables to voicemail (bug #3382)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-20 03:27:10 +00:00
Mark Spencer
191bf77082 Fix "send text" crash (bug #3378)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-19 14:51:02 +00:00
Anthony Minessale II
01a2a2a19f Modify code example suggestion
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-19 02:34:59 +00:00
Mark Spencer
581ae73586 Additional coding guidelines (bug #3374)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 23:35:30 +00:00
Mark Spencer
2a1dff7ba2 Add missing cvs ignore (bug #3373)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 21:32:26 +00:00
Mark Spencer
bd29d3ccb6 Fix agentcallback login (bug #3293)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 20:43:53 +00:00
Mark Spencer
e983edd221 Fix small app_dial issue (bug #3368)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 16:47:33 +00:00
Mark Spencer
d4c553c202 Make sure we ring queues properly and know busy vs. no answer (bug #3114)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 16:40:56 +00:00
Jeremy McNamara
ee456ae10d use PROC instead of OSARCH
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 16:21:54 +00:00
Mark Spencer
a9bbac93a2 Send a few more rfc2833 events on hte "down" (bug #3339)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 14:16:04 +00:00
Mark Spencer
5373fc0d2b Fix bindaddr on IAX (bug #3366)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 13:58:33 +00:00
Mark Spencer
b2c110329f Fix compiler warnings (bug #3367)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 11:40:44 +00:00
Mark Spencer
8b0d0923b4 Fix recently introduced zap crash from HOLD/UNHOLD patch (bug #3365)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 11:37:08 +00:00
Ben Kramer
5914c791bb / trimmed down caller ID collect time for vpb cid.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 03:28:39 +00:00
Ben Kramer
44fbf78d78 / patched for bug 3350
/ also cleaned up the caller ID stuff a bit
/ should now also forward caller ID from a trunk


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 03:24:41 +00:00
Mark Spencer
cd2ef5b548 Merge anthm's RetryDial with changes (bug #3313)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-18 03:12:53 +00:00
Josh Roberson
7f887cca90 Misc Grammer/formatting fixes - Thanks Corydon76! (bug #3361)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-17 22:53:36 +00:00
Mark Spencer
840f035827 Merge hold patch (bug #1840)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-17 12:37:55 +00:00
Mark Spencer
441c545ccc Allow me to force a "make clean ; make install" on a cvs update (bug #3358)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-17 04:48:51 +00:00
Mark Spencer
b7178fdce9 Rid us of a silly compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-17 04:47:01 +00:00
Ben Kramer
a00fad7d48 / updated caller ID to use ast_set_callerid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-17 03:45:18 +00:00
Mark Spencer
1496da97fb Optimize module loading (bug #3356)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 22:59:30 +00:00
Mark Spencer
261b4a85e1 Fix static db problem
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 22:58:44 +00:00
Mark Spencer
cb55bf96ef Fix ringback on outbound skinny calls (bug #3295)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 08:16:07 +00:00
Mark Spencer
93629a3a89 Don't even attempt to masquerade a channel into itself (bug #3040)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 08:10:12 +00:00
Mark Spencer
b6b393c1b9 Give outbound channels callerid of their extension *after* calling (bug #2489)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 07:58:51 +00:00
Mark Spencer
0b4862c822 Avoid duplicate 200 OK
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 07:22:34 +00:00
Mark Spencer
b0772febde config restructure, sip peer completion (bug #3352, #3327)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 06:01:50 +00:00
Mark Spencer
fd3845293b Add missing sounds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16 00:21:40 +00:00
Mark Spencer
160c04b793 Repair // comments to /* */ comments (bug #3347)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 23:48:12 +00:00
Mark Spencer
df4a69f7ce Fix agent deadlock (bug #3311)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 23:31:19 +00:00
Mark Spencer
488845c2c6 Minor doc fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 22:59:32 +00:00
Mark Spencer
96503a02c1 Make groups be 64-bits (bug #3351, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 21:51:38 +00:00
Mark Spencer
a0e6229adb Fix H.323 build on ppc (bug #3353)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 19:04:45 +00:00
Mark Spencer
c487ca43e6 ixjuser is not needed as best as I can tell since it comes from /usr/include/linux. I wonder why it was there in the first place...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 17:53:22 +00:00
Mark Spencer
26a40258cc ODBC CDR fixes for bizarre error conditions and small performance improvement (bug #3340)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 09:01:52 +00:00
Mark Spencer
c732690384 Keep dead console from killing asterisk (bu #3331)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 08:53:28 +00:00
Mark Spencer
e2c9887aeb Simplify find_peer usage (bug #3341)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 07:33:17 +00:00
Mark Spencer
122b11ec21 Handle masq properly when clone channel has no vars (bug 3344)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 06:37:51 +00:00
Jim Dixon
99e2b961c2 Fixed another little bug.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15 00:53:17 +00:00
Jim Dixon
924bc59162 Fixed some bugs; added re-connect mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 21:57:31 +00:00
Mark Spencer
1a8a7ff064 Fix unused debug code (bug #3342)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 21:11:21 +00:00
Mark Spencer
3519110944 Give us more wiggle room on incoming registrations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 21:10:16 +00:00
Mark Spencer
8eab29c445 Fix small issue with smsq and sub addresses (bug #3338)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 15:20:56 +00:00
Mark Spencer
b1953951ac Change option '6' back to more logical option '3' (bug #2491)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 05:10:00 +00:00
Ben Kramer
185461cfb6 / added a ring timer so that an incoming call will termintate if it hasnt
/ been answered before the caller hangs up, and the telco doesnt provide a
/ loop-drop event on caller hang up.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 04:51:20 +00:00
Josh Roberson
7e209d3edf oops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 04:32:55 +00:00
Josh Roberson
e4f6ef985e Add meetme option to kick last user (bug #2491 with slight modification)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-14 04:25:35 +00:00
Mark Spencer
9811d4502f Fix realtime in SIP (bug #3332)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-13 20:26:33 +00:00
Mark Spencer
278a0a0891 Implement eswitch for evalulating variables at runtime (bug #3168)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-13 05:14:56 +00:00
Mark Spencer
7c048c0b65 Handle syntax errors in group descriptions more gracefully (bug #3330)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-13 03:31:58 +00:00
Mark Spencer
5bb53baa0e Send 405 Method Not Allowed when message received outside of call (bug #3324, commited from within the plane to huntsville)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-12 23:01:44 +00:00
Anthony Minessale II
b730f9435c fix bug 3329 (monitor flags)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-12 18:14:47 +00:00
Mark Spencer
5a69a332e5 Fix to be sure we have a valid fd on a peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-12 17:28:26 +00:00
Mark Spencer
74deb4f9e0 Restore functionality of "show dialplan" with no arguments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-12 16:28:25 +00:00
Mark Spencer
e536f91885 Allow softhangup to work on partial matches if requested (bug #3261)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-12 15:55:52 +00:00
Mark Spencer
b72da3343c Destroy sip channel when message is sent outside the context of a call...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-12 15:23:06 +00:00
Mark Spencer
ea8e10e8bc Fix types for character (bug #3255, take 3)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 21:25:21 +00:00
Mark Spencer
820d525ac6 Make ODBC storage as int configurable to be string or int (bug #3255)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 18:56:57 +00:00
Mark Spencer
21f63cd4db shame on oej for submitting a patch which doesn't even compile, shame on me for comitting it...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 18:54:22 +00:00
Mark Spencer
cb06d1d954 Minor configuration fixes/standardizations (bug #3317)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 18:39:48 +00:00
Mark Spencer
010da5943a Fix one touch record (bug #3263, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 18:24:27 +00:00
Mark Spencer
b846c71e0a Fix typo in tone detect (bug #3315)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 18:10:30 +00:00
Mark Spencer
60b57a20b7 Remove unused variable (bug #3318)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 17:35:35 +00:00
Mark Spencer
186e36c403 Allow multiple bindaddrs so asterisk uses the same interface for tx as rx
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 17:08:52 +00:00
Mark Spencer
96271267c9 Add examples for extconfig with alt table
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 17:05:50 +00:00
Mark Spencer
c2bee5d802 When moving PRI channel rename channel properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-11 16:51:57 +00:00
Mark Spencer
ff6c09c775 Revert loader change now that we do it at runtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 22:16:42 +00:00
Mark Spencer
2c1f9b84ff Check moh files at runtime (bug #3314)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 22:12:58 +00:00
Ben Kramer
dcd583bbde / checks to if owner is set before using it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 22:09:19 +00:00
Mark Spencer
41af0f753e Update IAX readme (bug #3310)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 22:07:01 +00:00
Mark Spencer
e4d79daa75 Send "not compatible here" instead of "unavailable" on codec mismatch (bug #3306)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 19:58:35 +00:00
Mark Spencer
92eb0c2018 More flagification, courtesy drumkilla (bug #3280)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 14:46:59 +00:00
Mark Spencer
e7cb975021 Improve object destruction (bug #3286)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 05:46:25 +00:00
Mark Spencer
8c85a8461c Truncate file as appropriate (bug #3304)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 05:29:46 +00:00
Mark Spencer
34ff765820 Merge anthm's monitor fixes (better default path, set variable for monitor) (bug #3266)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 04:29:33 +00:00
Mark Spencer
b629af806e Handle masq properly with music (bug #3235)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 04:23:39 +00:00
Mark Spencer
9a3304c65d Fix voicemail symlinks (bug #3024)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 04:18:18 +00:00
Mark Spencer
77dafbed41 Merge Tony's one touch record improvements (bug #3263)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 04:03:30 +00:00
Mark Spencer
4fc6c2eb0d Fix MGCP when running without verbose (bug #3260)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10 00:43:01 +00:00
Ben Kramer
847de38584 / changed mkif to static function so as not to conflict with other modules
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 22:29:55 +00:00
Mark Spencer
a42fe2a4ea Handle speex subdirectories peroperly (bug #3283)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 20:39:31 +00:00
Mark Spencer
ca4c644403 Improve show dialplan support to support patterns and also to select contexts (bug #3230)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 20:28:47 +00:00
Mark Spencer
13f514e143 Improve indications formatting (bug #3298)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 20:17:51 +00:00
Mark Spencer
9aba06cfed Set blind transfer variable (bug #3268)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 20:09:48 +00:00
Mark Spencer
306a8662f7 Remove unused channel fields (bug #3301)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 19:40:01 +00:00
Mark Spencer
82be2f2153 Allow sip show users/peers to filter on regexp (bug #3222)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 18:49:20 +00:00
Mark Spencer
18ff12ba8b Merge regex for iax2 show peers (bug #3223)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 18:35:31 +00:00
Mark Spencer
06292d1cf7 Include utils.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 18:34:48 +00:00
Mark Spencer
b705f19938 Fix small sip conf issues (bug #3296)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 18:05:41 +00:00
Mark Spencer
adc9e59e0b Fix privacy manager to "do the right things" with blank, but present, callerid (bug #3294)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 10:37:03 +00:00
Mark Spencer
4038178ccb Merge experimental codec preferences for IAX2 (bug #2971)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 10:32:53 +00:00
Mark Spencer
88979c2a4a Don't allow masquerading into oneself (bug #3040)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 09:42:54 +00:00
Mark Spencer
7af0234fa7 Various small fixups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 09:01:40 +00:00
Mark Spencer
03458dc73a Various moh fixes (bug #3291)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 09:00:41 +00:00
Mark Spencer
89fb8c1037 Fix Alert-Info for optipoint 400 (bug #3288)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 01:58:45 +00:00
Mark Spencer
0748d47164 Minor externip fixes (bug #3262)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-09 01:15:43 +00:00
Mark Spencer
2d8160ecd5 AGI formatting fixes (bug #3270)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 19:35:20 +00:00
Mark Spencer
96d17b07a5 Fix typo (bug #3271)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 19:30:40 +00:00
Mark Spencer
87c9e1db33 Warn if flags is signed instead of unsigned (bug #3279)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 19:00:46 +00:00
Mark Spencer
17acbf1e38 Include missing file (bug #3277)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 18:54:30 +00:00
Mark Spencer
e163642ed1 Don't native bridge when needing digits
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 18:52:18 +00:00
Mark Spencer
3a49a959ca Fix macro formatting (bug #3275)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 18:45:13 +00:00
Mark Spencer
51cab9e7cc Make queue support channel variable inheritance (bug #3274)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-08 17:23:29 +00:00
Mark Spencer
c5aedb3086 Fix "externhost"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 21:35:50 +00:00
Mark Spencer
e5ad6907c5 Make sure we clear out owner in SUB_REAL when moving a call (bug #3267)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 21:18:00 +00:00
Mark Spencer
e83f71679f Fix typo in moh output (bug #3265)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 14:47:51 +00:00
Mark Spencer
14ed4bdf02 Merge Moc's announcement patch (bug #3219)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 07:23:31 +00:00
Mark Spencer
d3418aa14a Support CNG transmission when on hold (bug #2904)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 07:11:40 +00:00
Mark Spencer
238c12b67e Fix README for variables (bug #3209)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 06:38:00 +00:00
Mark Spencer
11e6ed5eac ODBC CLI improvements (bug #3220)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 06:36:02 +00:00
Mark Spencer
50b11dab9e Add missing schema (bug #3216)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 06:19:37 +00:00
Mark Spencer
094f2cb611 Include lock performance (bug #3234)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 06:14:50 +00:00
Mark Spencer
97ad147395 Add MacroExit application (bug #3045)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 05:42:31 +00:00
Mark Spencer
cd3f85188a Merge weight option (bug #3038)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-07 04:05:22 +00:00
Mark Spencer
51880b7ddc Fix typo for blind transfer (bug #3259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 17:19:54 +00:00
Mark Spencer
9ff8416c79 Improve MGCP formatting (bug #3247)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 08:16:43 +00:00
Mark Spencer
71675d14f9 Fix command completion issue (bug #3257)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 08:11:43 +00:00
Mark Spencer
8db8179f97 Fix DUNDi segfault
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 06:07:44 +00:00
Mark Spencer
45b4dbf298 Fix music on hold to quitat hangup rather than during channel destruction (bug #3035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 04:18:15 +00:00
Mark Spencer
6463533f80 Merge distinctive ring for MGCP (bug #2880, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 04:02:33 +00:00
Mark Spencer
95e75f4354 More flag on dial tweaks (bug #3254, take two)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-06 02:59:20 +00:00
Mark Spencer
2cd8a11bf2 If pedantic mode enabled, look for media-level addresses
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 23:43:34 +00:00
Mark Spencer
6097648bf0 Make cdr_odbc store disposition as string not integer (thus matching documentation in doc/cdr.txt) (bug #3255)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 23:25:34 +00:00
Mark Spencer
8a92b798e9 Fix compliance of SIP presence (bug #3251)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 23:18:00 +00:00
Mark Spencer
8e3722ceee More flagification (bug #3254)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 23:05:49 +00:00
Mark Spencer
15307e3978 Use ast_setcallerid instead of manual (bug #3115)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 22:40:42 +00:00
Mark Spencer
87b40b4d14 Stream courtesy tone if appropriate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 22:38:07 +00:00
Mark Spencer
c31621bbec Calculate tvdiff properly (avoid off-by-one)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 22:29:30 +00:00
Mark Spencer
fd5cf4bdec Make sure time limit is the "backup" one when interpreting features
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 22:13:37 +00:00
Mark Spencer
9f232928dc Various/assundry cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 21:31:40 +00:00
Mark Spencer
e5b594c0e8 Add beep error sound
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 21:09:50 +00:00
Anthony Minessale II
3092cb538e allow sounds to be configurable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 21:00:20 +00:00
Mark Spencer
526622d6e0 Merge Tony's attended # transfer with changes (bug #3241)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 19:56:47 +00:00
Mark Spencer
68c634721a Revert Jim's earlier "fix" :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 19:23:23 +00:00
Anthony Minessale II
5ad345f6b0 add rawplayer applet to contrib/utils
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 19:11:26 +00:00
Mark Spencer
7568d9a4ef Merge OSP updates from matt nicholson (with changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 15:15:12 +00:00
Mark Spencer
5db0b8e31a Allow post data, too (bug #3151)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 06:38:39 +00:00
Mark Spencer
8ddb3aba81 Allow connection notifications on manager interface to be hidden (bug #3085)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 06:24:59 +00:00
Mark Spencer
d481e22f29 Merge sip notify fixes (bug #3243)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 05:04:43 +00:00
Ben Kramer
2da38463da / fixed un-initilized variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-05 00:33:40 +00:00
Mark Spencer
127c3c93d0 Load formats first (bug #3242)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 20:55:43 +00:00
Mark Spencer
88721d2e74 Only print message one time (bug #3240)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 20:54:36 +00:00
Jim Dixon
c9d317ba1a Fixed threeway calling disconnect wrong party bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 20:28:50 +00:00
Anthony Minessale II
66049c961b tweak to make music load classes more elegantly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 19:09:00 +00:00
Anthony Minessale II
edd3fe50fb fix bug added to my code so I don
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 18:26:17 +00:00
Mark Spencer
0b0bac6d92 Fix silly extra ! in app_queue (bug #3238)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 14:39:24 +00:00
Mark Spencer
ca40ab4b67 Allow generic sip notify (bug #3231)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 06:21:05 +00:00
Mark Spencer
dfceae320d Allow early exit from traverse (bug #3221)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 06:16:04 +00:00
Mark Spencer
2f2783f231 Document polycom example (bug #3129)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 05:13:32 +00:00
Mark Spencer
e7d4ae8efa Make features configurable and easier to implement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 04:01:40 +00:00
Ben Kramer
7754314450 / fixed bug when using AST caller ID functions, shouldnt be trying to write
/ samples to file, was only ment to be used for debuging


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04 00:38:00 +00:00
Mark Spencer
3e8bdfc9c9 Fix "0" auto deleting messages from voicemail (bug #3057)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 02:01:58 +00:00
Mark Spencer
ef0a57efce Fix various formatting errors (bug #3226)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 01:46:19 +00:00
Mark Spencer
4430b896fa Fix formatting etc in queues (bug #3159)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 01:42:37 +00:00
Mark Spencer
4b5e3caa7d Rename musiconhold option for consistency (bug #3163)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 01:37:44 +00:00
Mark Spencer
75d674dd9b Merge twisted's dsp formatting fixes (bug #3218)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 01:21:15 +00:00
Mark Spencer
056325aca6 Merge josh's strlen fix (thanks!) (bug #2893)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 01:16:00 +00:00
Mark Spencer
0c3cea35f0 Merge OEJ's print groups feature (bug #3228, with changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 00:51:57 +00:00
Mark Spencer
7b968f6151 Merge kpflemings moh_files fixes (bug #3224)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-03 00:38:01 +00:00
Mark Spencer
86dada47fc Remove silly break (bug #3217)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-02 23:51:33 +00:00
Mark Spencer
1ea2b79b37 Handle group memberships better with masquerade (bug #3067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-02 02:07:24 +00:00
Mark Spencer
1e127d75d2 Improve check order
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-02 00:48:11 +00:00
Mark Spencer
559cae8751 Fix chan_phone for pre-gcc 3.0 (bug #3214)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-01 23:58:57 +00:00
Mark Spencer
7abe9e6c16 List improvements from kpfleming (bugs #3166,#3140)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-01 21:26:37 +00:00
Mark Spencer
b87a692804 Remove DOS style newlines (bug #3213)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-01 20:46:46 +00:00
Mark Spencer
c7306dce2b Make sure to wake up sleeper on sip transfer issue (bug #2938)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-01 20:17:11 +00:00
Mark Spencer
08f3c195f7 Grab lock in hangup earlier
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-01 00:59:54 +00:00
Mark Spencer
5924e61b40 Add ability to remember agents
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-01 00:57:04 +00:00
Mark Spencer
3ead7cdb6e Fix GCC 2.95 build (bug #3211)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 23:26:39 +00:00
Mark Spencer
a2e70340b8 Don't die when a file is missing (bug #3212)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 21:52:56 +00:00
Mark Spencer
974ecf7830 Fix example to reflect that "never" is the default value for progressinband (bug #3129)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 15:38:14 +00:00
Mark Spencer
a3d8377135 Fix astobj to compile against GCC 2.95
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 15:29:22 +00:00
Mark Spencer
71ec46b4e9 Remove comment about update.out
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 15:17:25 +00:00
Mark Spencer
981afbee6e Make voicemail registration apps register (bug #3034)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 01:11:33 +00:00
Mark Spencer
a66d310f8d Agent documentation changes to agents and verbose / debug fixes (bug #3158)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 00:58:44 +00:00
Mark Spencer
658000cc9a Increase max stack size for context searches (bug #3182)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 00:37:55 +00:00
Mark Spencer
9d49aa6573 Merge anthm's senddtmf chagnes (bug #3193)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 00:29:29 +00:00
Mark Spencer
1b3af96143 Phone driver updates (bug #1975)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 00:16:30 +00:00
Mark Spencer
ce2e6b28e8 Merge OEJ's channel type listing (bug #3187) with slight modifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-31 00:04:41 +00:00
Mark Spencer
91e1317f4a Switch more options into flags (bug #3201)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-30 16:38:17 +00:00
Mark Spencer
2f7b2aad34 Make sure all options get copied from general (bug #3194)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-30 01:58:07 +00:00
Mark Spencer
ddcac96e9b Fix Speex config issue (bug #3175)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-30 01:40:47 +00:00
Mark Spencer
d021bc7327 Allow moh class to be specified (bug #3199)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-30 01:17:07 +00:00
Mark Spencer
cc01517489 Show conflits on make update (bug #3191)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 23:52:42 +00:00
Mark Spencer
ccead56701 Log execution stack if option_debug is enabled (bug #3177)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 23:40:54 +00:00
Mark Spencer
9fd51d4ef6 Remove app_qcall entirely
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 23:18:18 +00:00
Mark Spencer
69d5139b36 Make casts work again properly (bug #3155)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 23:11:51 +00:00
Mark Spencer
90197dbbdc Minor IAX2 fixes, add incomplete-but-very-basically-functional IAX2 encryption
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 23:02:21 +00:00
Anthony Minessale II
5d2654205d let's see how many times we can commit app_read in 1 day =D
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 19:20:18 +00:00
Anthony Minessale II
8ec0f8abf2 fix compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 18:51:33 +00:00
Anthony Minessale II
c19caed171 fix missing proto's missing semi colon
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 18:46:19 +00:00
Anthony Minessale II
f3e9793826 fix missing proto
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 18:43:38 +00:00
Mark Spencer
8aff4b2d95 Various oej fixes (bug #3013)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 13:42:14 +00:00
Mark Spencer
9c35e9a7d1 Stop transmission when sendonly is set (bug #3185)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 13:31:57 +00:00
Mark Spencer
176b1061eb Fix anthm formatting (bug #3013)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 13:24:10 +00:00
Mark Spencer
118b47674f Merge anthm's app_read addition, somewhat modified (bug #3013)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 13:06:53 +00:00
Mark Spencer
ed18567073 Allow Answer(delay) to create delay after answering (bug #3160)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 12:49:35 +00:00
Mark Spencer
8bf932bf27 Fix MWI for SIP when using "friend" type (bug #3004)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 12:43:08 +00:00
Mark Spencer
5559a4c39c Fix registration bug with new astobj (bug #3184)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 12:15:44 +00:00
Mark Spencer
6ffeccbd4c Mildly resurect G.723.1 file format
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 12:12:59 +00:00
Mark Spencer
9aace6da49 Merge remainder of kpfleming's astobj patch (bug #3183)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 07:50:15 +00:00
Mark Spencer
f19f4411e1 Fix additional typos (bug #3162)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-29 07:46:10 +00:00
Mark Spencer
6884bd9758 Documentation fixes (bug #3170)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 23:58:12 +00:00
Mark Spencer
d3f7d3a958 Formatting fixes, safe_system instead of system, cleanups (bug #3171)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 23:49:46 +00:00
Mark Spencer
59e86b63b0 Merge kpflemings ASTOBJ improvements (bug #3167)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 23:27:44 +00:00
Mark Spencer
526fc0afe9 Set normal clearing for answered calls (bug #3165)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 23:18:31 +00:00
Mark Spencer
0255d5805f Merge gramatical fixes from corydon (bug #3180)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 23:01:22 +00:00
Mark Spencer
eda2d325b7 Fix pbx.c to be able to display hints (bug #3074)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 22:52:40 +00:00
Mark Spencer
ce87d2977f Make cidrings configurable (bug #2889)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 21:32:25 +00:00
Mark Spencer
b1b8802edd Make it possible to configure an externhost and not just an externip (bug #3069)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 21:20:18 +00:00
Anthony Minessale II
886ebab04a fix transfer goto issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 20:31:37 +00:00
Mark Spencer
4c1332fb76 Remove duplicate parse (bug #3173)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 16:48:20 +00:00
Mark Spencer
8bb060d8ac Ignore invalid RTP packets (bug #3030)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 16:45:03 +00:00
Mark Spencer
46ffd20c48 Various and assundary formatting fixes (bug #3174)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 16:43:20 +00:00
Mark Spencer
d331358a3b Permit RTP to be reset
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 16:35:31 +00:00
Anthony Minessale II
907ed4d346 tiny tweak to allow pvt config engines to use __ast_load
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 14:53:40 +00:00
Mark Spencer
aa01269484 Fix small typos (bug #3162)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 07:51:25 +00:00
Mark Spencer
cdbb9183d6 Fix leak of file descriptors in odd networking situations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-28 07:44:13 +00:00
Russell Bryant
6cd0d316e2 fix logging issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-27 22:41:58 +00:00
Matthew Fredrickson
7488a01ade Housekeeping updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-27 14:51:52 +00:00
Mark Spencer
33d2d312e2 Fix inversion error on addrcmp (bug #3155)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-27 13:36:34 +00:00
Mark Spencer
a91b07d340 Fix for FreeBSD portability
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-27 13:08:45 +00:00
Mark Spencer
83728dbd79 Merge Tilghman's cause codes patch (bug #3032)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-26 22:33:25 +00:00
Russell Bryant
1866e93ff6 fix to work with astobj stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-26 18:08:06 +00:00
Mark Spencer
a479a033a1 Fix CLI to report "N/A" when appropriate for time, chan_features updates, ALSA and OSS codec fixes (bug #3145)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-26 11:08:34 +00:00
Anthony Minessale II
10a6e598ac misplaced chdir call on moh DoH\!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-26 00:33:17 +00:00
Mark Spencer
802dbe4677 Add Asterisk "object model" and update chan_sip to use it for peers/regs/users
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-25 22:15:32 +00:00
Russell Bryant
a84da8a0b9 fix flag error (bug #3130)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-24 18:56:57 +00:00
Mark Spencer
713a2eb072 Merge anthm's native MOH patch (bug #2639) he promises me he'll rid it of ast_flag_moh...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-24 01:40:07 +00:00
Mark Spencer
f72f506f34 Merge anthm's while loop code (thanks tony!) (bug #2907)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-24 01:18:13 +00:00
Mark Spencer
9dd4fbe85a Document linked lists better (bug #3139)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 22:35:35 +00:00
Mark Spencer
13f9166f7d Small fix for features channel driver
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 22:29:23 +00:00
Mark Spencer
cecda3fb67 Speed up ast_list macros (bug #3135)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 15:11:46 +00:00
Mark Spencer
b9c3f3567a Minor chan_features tweak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 11:35:21 +00:00
Mark Spencer
d61401cde2 Add "flash" capability to command line
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 11:34:33 +00:00
Mark Spencer
1395d93c0e Add "ast_flags_all" mask (bug #3136)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 11:32:22 +00:00
Jim Dixon
8e1a2d57a6 Fix Divide by zero possibility (ouch!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 07:04:16 +00:00
Mark Spencer
a2775a6109 fix documentation (bug #3127)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 03:27:29 +00:00
Mark Spencer
4752c18d08 Merge remainder of Greek support (bug 3107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 03:04:12 +00:00
Mark Spencer
7cda0babd2 Add app_curl from tilghman (bug #3131)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 02:55:53 +00:00
Mark Spencer
3fde2e56b8 Fix AGI to know about "builtin" variables, too (bug #2737)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 02:47:01 +00:00
Mark Spencer
55a24aecad Fix US tones (bug #3132)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 01:46:39 +00:00
Mark Spencer
49eb667a95 Move iax2 to flags, too (thanks drumkilla!) (bug #3124)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 01:42:14 +00:00
Mark Spencer
93bbbc0b66 Use flags for voicemail (bug #3130)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 01:37:48 +00:00
Mark Spencer
822807067f Add missing "minus.gsm" (bug #3128)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 01:30:43 +00:00
Mark Spencer
07c4def47c Make sure users inherit NAT settings properly (bug #3125)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 01:28:41 +00:00
Mark Spencer
7f05fd2620 Fix sip hold bug (#3113)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-23 01:15:46 +00:00
Jim Dixon
46c3db1169 Fixed ackcall (once again, this time differently) in chan_agent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-22 20:50:23 +00:00
Anthony Minessale II
414430d775 update astxs (small tweak)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-22 18:26:10 +00:00
Jim Dixon
a9ebcff694 Made changes to go with pciradio zaptel driver changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-22 05:02:00 +00:00
Mark Spencer
b2981a4430 Merge tilghman's "showkey" patch (bug #2986)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-22 01:07:02 +00:00
Mark Spencer
ad3c50f656 Merge Steve's timestamp patch (bug #3119)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-22 00:16:42 +00:00
Mark Spencer
ea8882067e Add partial greek support (bug #3107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-22 00:08:53 +00:00
Mark Spencer
a5b05e975b display new/old messages in voicemail event (bug #3117)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 23:11:40 +00:00
Mark Spencer
1d200d55bd Allow '*' to exit the directory (bug #3118)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 22:43:25 +00:00
Mark Spencer
9bf92ad7e4 More OpenBSD fixes (bug #3120)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 21:58:11 +00:00
Mark Spencer
946e66ef0e Make event parameter names consistent for callerid (bug #3116)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 21:46:58 +00:00
Mark Spencer
a519477534 Fix Realtime to work with MySQL and Postgres both (bug #3029)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 01:39:49 +00:00
Mark Spencer
217bc41c7b Allow zapscan to operate on a group (bug #2927)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 01:21:12 +00:00
Jeremy McNamara
f4d1002166 Fix G.729 name annoucement to Open H.323 and inform Asterisk's RTP stack specifically which codec we are expecting.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 00:07:56 +00:00
Mark Spencer
9f6e3aed8a Fix GSM makefile for OpenBSD (bug #3102)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-21 00:03:59 +00:00
Mark Spencer
11b29650d5 Fix Makefile for ppc64 (bug #3111)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 23:49:22 +00:00
Mark Spencer
e6db9fa895 Update queue to use ast_flags (bug #3108)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 16:20:38 +00:00
Mark Spencer
a0af83a9c4 Minor ACk fix (bug #2687, again)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 09:35:11 +00:00
Mark Spencer
30a4094907 Fix a small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 09:30:09 +00:00
Ben Kramer
82a9214dce / changed native bridge checking for playing DTMF's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 03:18:26 +00:00
Ben Kramer
6516708b9b / fixed "Fix comment issues (bug #3089)" bugs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 02:34:26 +00:00
Jeremy McNamara
8b679b004a Create string properly and cast peer correctly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 00:14:19 +00:00
Mark Spencer
d87c4f7008 iax2 typename fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-20 00:10:05 +00:00
Mark Spencer
245541a8d7 Merge optimize options patch (bug #3095)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 22:21:10 +00:00
Mark Spencer
ed2d0a0eb2 Add some more of kpflemings optimizations (bugs #3092, #3094)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 21:44:24 +00:00
Mark Spencer
0570c6305f Additional queue optimization (bug #3093, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 21:30:55 +00:00
Mark Spencer
c85b38383c Compute queue caller's timeout just once (bug #3091, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 21:23:36 +00:00
Mark Spencer
f58a5942cb Fix MGCP compile warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 21:18:17 +00:00
Mark Spencer
d6471bec31 Merge Olle's comment patch (bug #3097)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 21:13:41 +00:00
Mark Spencer
d6a415c262 Merge drumkilla's bitfield patch for SIP (bug #3083)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 20:50:55 +00:00
Mark Spencer
bfaa2734a6 Fix little macro (bug #3100)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 18:33:05 +00:00
Mark Spencer
f81cf74784 Make sure read/write format are setup properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 18:26:12 +00:00
Mark Spencer
775e0953be SIP locking improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 18:22:47 +00:00
Mark Spencer
61f25c3e92 Merge twisted's OSX compat fix (bug #3090)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 17:33:19 +00:00
Mark Spencer
374c9c1789 SMS fix, pbx optimization (bug #3098)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-19 17:16:39 +00:00
Mark Spencer
933f3a22f4 Make sure we del any remaining connections (bug #2982)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 23:32:42 +00:00
Mark Spencer
b3a0ef24ed Fix comment issues (bug #3089)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 22:04:07 +00:00
Mark Spencer
750c73a62f Fix SIP ACK for BYE (bug #3087)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 21:58:05 +00:00
Mark Spencer
c14a82f2fe Improve ACL performance (thanks sailer) (bug #3084)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 21:54:58 +00:00
Mark Spencer
a9e69f2753 Merge olle's amazing ACK fix (bug #2687)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 14:26:24 +00:00
Mark Spencer
05e5da6083 Fix silly error in makefile (bug #3081)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 13:38:15 +00:00
Jeremy McNamara
d999f80dbe oopsie
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 07:10:46 +00:00
Jeremy McNamara
d2f64f963d Fix incoming caller*id. Bug #3077
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-18 04:09:39 +00:00
Mark Spencer
f864477ba8 Fix missing NULL (bug #3078)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-17 15:08:55 +00:00
Mark Spencer
ab9a5820e8 Fix mkdep to work with /bin/sh on solaris and friends (bug #3050)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-17 07:59:26 +00:00
Jeremy McNamara
c49adea89c Properly deal with Q.931 cause codes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-16 04:25:49 +00:00
Mark Spencer
cadb8d010b Merge russell's flag macro patch (with slight mods) (bug #3046)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-16 03:15:20 +00:00
Mark Spencer
da6073e8c6 Warn when libpri is too old
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-16 03:14:59 +00:00
Jeremy McNamara
0155dee2fd Properly deal with Caller*ID, document the new RTP Payload setting, remove compiler option that may confuse g++ and force chan_h323.so to be relinked on every compile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-16 02:03:19 +00:00
Jeremy McNamara
4082e265d6 Major fixes: Fixed deadlock issue, added support for inband call progress and correct Progress Indicator messages, added configurable RTP payload to send RFC2833 DTMF and correct sending of RFC2833 User Input capability, fixed hostname parsing on peers, preliminary support for correct Q.931 cause codes and fixed bindaddr compile warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 23:24:13 +00:00
Ben Kramer
f08b28975b / finished off support for DTMF caller ID (brazil) using patch provided by
/ Daniel Bichara


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 22:59:47 +00:00
Mark Spencer
d1956e855d Don't let you change your password to '#' (bug #3066)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 22:49:37 +00:00
Mark Spencer
6e72bad3af Extra debugging in CDRCSV (bug #3063)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 20:49:33 +00:00
Mark Spencer
e58083c1f9 DISA fix, makefile fix (bug #3049)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 20:29:31 +00:00
Mark Spencer
77b39af6bf Fix DISA with callerid (bug #3058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 20:20:58 +00:00
Matthew Fredrickson
e399238ee3 Little addition to the redirectionreason stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 20:03:17 +00:00
Matthew Fredrickson
b420a63e73 Add new variable for PRIREDIRECTREASON in dial plan if you a call is redirected
to you.  Also some E&M tweaking parameters.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 19:59:53 +00:00
Mark Spencer
76de8d70a8 Fix it so TARGET always has at least one thing in it (bug #3049)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 16:09:30 +00:00
Mark Spencer
467c5dbf9f Fix quad_t (bug #3048)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 16:07:35 +00:00
Mark Spencer
dd6a232277 Add missing patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 16:01:13 +00:00
Mark Spencer
54b418482f Fix glob issue on solaris (bug #3047)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 16:00:10 +00:00
Mark Spencer
5d92e20876 Minor disa fix for 3.4
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 15:40:29 +00:00
Mark Spencer
77617f592e Remove broken "ackcall" fix (bug #3043)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 04:47:12 +00:00
Mark Spencer
706bb6f067 Fix silly read problem which would hang up if nobody called (bug #3042)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 04:27:35 +00:00
Mark Spencer
dc636198ec Small macro fix (bug #3044)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-15 03:24:39 +00:00
Mark Spencer
9d40b8ee80 Merge slimey's Solaris compatibility (with small mods) (bug #2740)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-14 23:36:30 +00:00
Mark Spencer
0f205bb079 Add "SAY ALPHA" (matt nicholson)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-14 18:39:25 +00:00
Mark Spencer
7a5dfd65ba Fix minor makefile issues (bug #3036)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-13 21:45:03 +00:00
Ben Kramer
ac4b71a0ba / fix for callerid configuration when opening channel driver
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-13 21:04:12 +00:00
Mark Spencer
c9bc9e135d Fix res_config_mysql crash (thanks drumkilla!) (bug #3009)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-13 15:26:26 +00:00
Mark Spencer
ff740c1bd8 GR-303 conferencing fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-13 15:11:36 +00:00
Mark Spencer
7d6a43c2bb Fix PGSQL CDR issue (bug #3028)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 23:34:24 +00:00
Mark Spencer
8c68897d1e smsq issues (bug #3025)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 23:29:47 +00:00
Mark Spencer
0e5cec5e09 fix DIALSTATUS issue (bug #2989)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 04:58:07 +00:00
Mark Spencer
9db0fbf879 Add optional category for voicemail (bug #3022)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 04:52:24 +00:00
Mark Spencer
7e036135be Fix language handling (bug #3023)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 04:30:52 +00:00
Mark Spencer
7d4a46d9d2 Merge SIP authentication reuse patch (bug #2917) aka "The Broadvoice Patch" with modifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 04:25:59 +00:00
Mark Spencer
1297800175 Make registertimeout be configurable (bug #2874)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 03:44:17 +00:00
Mark Spencer
fd0b9cc522 Merge privacy enhancements (bug #2091)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 01:24:35 +00:00
Mark Spencer
33cf4bcb0f Expose SIP URI (bug #3017)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-12 01:15:54 +00:00
Mark Spencer
f88fd2f9e4 Don't send DTMF when there is no owner (partof bug #3011)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 23:00:20 +00:00
Mark Spencer
bbbd682ed6 Revert earlier patch (bug #2825)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 22:46:10 +00:00
Mark Spencer
30bc3eec6e Merge sms stuff and move to "utils" subdir (bug #2973)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 22:36:27 +00:00
Mark Spencer
442e1403a8 Restore ignoring missing include files (bug #2825)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 20:03:42 +00:00
Mark Spencer
bc92c225fb Add iax2 provisioning application for dialplan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 19:25:10 +00:00
Mark Spencer
be9ec5833d Add support for globbing (bug #2825)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 05:16:30 +00:00
Mark Spencer
c2d98239d2 Fix use count for agent/local (bug #2996 et al)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 04:46:49 +00:00
Mark Spencer
3680db8630 Add polish zones (bug #3016)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 04:31:05 +00:00
Mark Spencer
343ef16d4f Make sure context is passed properly on _exec (bug #2969)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 03:50:19 +00:00
Russell Bryant
9470de1b49 Show some counters with 'show dialplan' (bug #2968)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 03:08:12 +00:00
Mark Spencer
1e51aa13af Reload fixes (bug #2991)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-11 00:02:08 +00:00
Mark Spencer
8ed07241cb Fix setvar issue (bug #3010)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-10 23:01:48 +00:00
Jim Dixon
be2505fef8 Added 'c' option to AgentMonitorOutgoing (like in wiki, wiki, wiki) which
changes source channel in CDR to agent id.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-10 17:37:20 +00:00
Jim Dixon
e245ef4b0d Fix ackcall problem for Zaptel channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-10 13:45:11 +00:00
Russell Bryant
4bbdbf3a79 make table configurable for cdr_odbc (bug #2755)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-10 11:59:43 +00:00
Jim Dixon
998621f76a Fixed call parking, added separate paramater to allow/disallow call parking on
Zaptel interfaces (canpark=yes/no in zapata.conf), added urlbase paramater to
Monitor so that a url can optionally be included in CDR (user field), cleaned up a couple of minor things


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-09 22:39:14 +00:00
Mark Spencer
9f1a7379cc Make table for PGSQL CDR's configurable (bug #2951)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-09 20:34:35 +00:00
Mark Spencer
5789ae4d18 Make music on hold truly optional (bug #2998)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-09 19:55:01 +00:00
Mark Spencer
78642a3ed2 Add to ignore list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-09 19:44:58 +00:00
Mark Spencer
40fbe50662 Update comment for fmtp 16, implement in RTP (bug #2999)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-09 14:54:13 +00:00
Mark Spencer
6e800f4797 Add Lithuania and Hungary to tone zones (bug #2992)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-09 06:33:40 +00:00
Mark Spencer
52a39dd8c1 Merge josh's exit dir patch (bug #2995)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-08 21:24:00 +00:00
Mark Spencer
82a95912e6 Add version 22 firmware for iaxy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-08 21:14:40 +00:00
Anthony Minessale II
8708f19e39 fix bug 2994 (off by 1 error)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-08 18:24:04 +00:00
Russell Bryant
ab7bf9d4fd remove unnecessary 'if'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-08 14:41:49 +00:00
Anthony Minessale II
c18db950e5 fix case sensitivity issue in codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-08 00:55:31 +00:00
Mark Spencer
c46e21252c Big diet for struct ast_channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-07 20:38:43 +00:00
Russell Bryant
53f5a568fb fix mem leak in free_value (bug #2990)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-07 19:46:29 +00:00
Russell Bryant
d685a19c9e change strdupa to ast_strdupa (bug #2988)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-07 15:42:00 +00:00
Mark Spencer
77b5459c59 Minor translation performance improvement (bug #2987, not that patch though)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-06 21:53:57 +00:00
Mark Spencer
dc074b7029 Merge bkw's formatting and variable substitition (bug #2984)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-06 17:21:44 +00:00
Mark Spencer
4429bce838 Add missing free's in rare circumstances (bug #2985)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-06 17:12:21 +00:00
Mark Spencer
0455688ea1 Add persistent dynamic queue member support (bug #2929)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-06 05:54:16 +00:00
Mark Spencer
0ceb14b9a4 Consider a comment to start with ;-- but not if there are more dashes (bug #2977)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-05 07:29:09 +00:00
Mark Spencer
1b9c72655e silliness (N for "nat" not "no")
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-04 23:52:05 +00:00
Mark Spencer
50f65a4307 Add heavily revised version of anthm's multi-line comment (bug #2911)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-04 16:09:45 +00:00
Mark Spencer
244dd57299 Fix allow/disallow nomenclature (bug #2945, part deux)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-03 23:46:09 +00:00
Mark Spencer
4820c2bb97 Add *preliminary* per-peer outbound proxy (bug #2859, new patch though)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-03 23:34:45 +00:00
Anthony Minessale II
41306646ad one more disallow issue resolved disallow=all in peer must flush prefs list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-03 01:16:11 +00:00
Anthony Minessale II
07bce6f282 add missing ~ to ast_parse_allow_deny that was breaking disallow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-03 01:05:40 +00:00
Mark Spencer
d069845b46 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 23:53:17 +00:00
Mark Spencer
6bf1183922 Add nasty sip get header, too (bug #2838)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 23:51:10 +00:00
Mark Spencer
3b7b130683 Add nasty "AddSIPHeader" application (bug #2846)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 23:44:35 +00:00
Mark Spencer
1a147cf804 Add user=phone option (bug #2244, thanks oej)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 23:29:25 +00:00
Mark Spencer
f375ebee86 Merge SIP portion of new codec work from bug #2945
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 22:18:09 +00:00
Mark Spencer
36928f0644 Merge updates to frame.h and frame.c (codec stuff from bug #2945, part 1)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 21:57:45 +00:00
Anthony Minessale II
3253f72193 fix small goto logic issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-02 18:08:11 +00:00
Mark Spencer
2e868d323f Use correct function for name of codec (bug #2897)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 21:41:21 +00:00
Mark Spencer
55b8c48960 Update festival documenation (bug #2964)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 21:10:28 +00:00
Mark Spencer
374e04f6a5 Don't create the channel if there already is one...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 18:44:52 +00:00
Mark Spencer
dccc0214c1 Fix missing ast_destroy's in PGSQL (bug #2944)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 05:27:18 +00:00
Mark Spencer
50da413b63 Specify hostname if there is a crash (bug #2958)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 05:10:32 +00:00
Mark Spencer
6d8ef68057 Merge manager action and example (bug #2701)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 05:00:29 +00:00
Mark Spencer
34e56e8675 Make sure we really have a bridged channel (bug #2963)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 04:35:34 +00:00
Mark Spencer
4a42b24900 Print number of applications (bug #2961)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-01 01:28:07 +00:00
Mark Spencer
3d4abcf751 If messages is deleted, don't send it (bug #2957)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-30 21:46:29 +00:00
Ben Kramer
8976d39051 / fixed bug w/regards to playing dtmf's on native bridges
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-30 20:55:23 +00:00
Mark Spencer
15ba447e53 Add brazil detection (bug #2872)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-30 14:27:36 +00:00
Ben Kramer
a8de8a68b4 / added "indication" option to use Ast indication functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-30 04:16:05 +00:00
Ben Kramer
bc47ead812 / added "indication" option, to use Ast indication functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-30 04:14:27 +00:00
Ben Kramer
18051c0086 / added extra options to callerid variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-29 23:57:19 +00:00
Ben Kramer
862cebad5c / added new function to use the Asterisk callerid functions.
/ set callerid=v23|bell to use the asterisk based function
/ set callerid=on to use the vpb caller id function


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-29 23:20:16 +00:00
Mark Spencer
46927aa38b Don't print silly unregistered messages on realtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-29 03:24:35 +00:00
Mark Spencer
ebda286578 Don't seed on temponly peers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-29 03:19:55 +00:00
Mark Spencer
3050320746 Implement max # of forwards (bug #2942, different strategy)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-28 22:08:44 +00:00
Mark Spencer
aaf49c6f4c Add option for small headers (bug #2948)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-28 21:49:07 +00:00
Mark Spencer
e95fa2a065 Add ability to store voicemail in ODBC database
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-28 21:28:30 +00:00
Mark Spencer
1406e38d8f Try call if call is 0 or more (bug #2935)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 22:11:06 +00:00
Mark Spencer
62cf9a21ea Fix missing )
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 18:52:16 +00:00
Anthony Minessale II
f885e0a6cd fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 13:45:29 +00:00
Russell Bryant
dc78939d1a Add temporary greetings to voicemail (bug #2360)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 06:48:26 +00:00
Russell Bryant
5a18fe243c fix mem leak (bug #2940)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 06:13:29 +00:00
Mark Spencer
5a3595c4f9 Fix meetmesecs (bug #2936)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 03:23:07 +00:00
Mark Spencer
e7bc4fa3d7 Small chan_features patch (bug #2939)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 03:19:18 +00:00
Mark Spencer
8c42a49ec8 Merge tony's ampersand patch (bug #2934)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-25 02:57:34 +00:00
Mark Spencer
7ea9bd7b83 Add WaitForSilence application (bug #2467)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-24 05:01:49 +00:00
Mark Spencer
dff0090504 Don't increment RTP timestmap on sending of DTMF (bug #2928)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-24 04:12:23 +00:00
Mark Spencer
a56e3a0a9f Increase max buffer size (bug #2926)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-24 03:19:27 +00:00
Mark Spencer
8f2b687a95 Make realtime pbx understand patterns.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-24 03:07:08 +00:00
Anthony Minessale II
2a1bf5efd9 fix inherited softhangup issue in ast_goto_if_exists()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-23 20:25:02 +00:00
Mark Spencer
5e650c8260 Build out "multi" version of realtime config (directory and realtime extensions will need this)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-23 17:58:59 +00:00
Mark Spencer
d92e62d4d4 Fix for rpid (from airport, bug #2910)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-23 16:10:24 +00:00
Mark Spencer
893b238eff Don't hold the iaxsl[x] lock while finding the peer, do it ahead of time.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-23 13:44:08 +00:00
Mark Spencer
c0fc084559 Fix Record with "." in filename (bug #2923)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-23 02:35:46 +00:00
Mark Spencer
239f1a0ef9 Quickie fix to remove unnecessary newline (bug #2922)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-23 02:13:56 +00:00
Mark Spencer
9cd104ff6f Merge anthm's MacroIf patch (bug #2912)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 23:41:34 +00:00
Mark Spencer
d456e6ba54 Little dial typo fix and make WaitExten continue if nothing entered and there is a step n+1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 22:40:06 +00:00
Mark Spencer
d7da317979 Add improved macro functionality (bug #2905)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 22:11:10 +00:00
Mark Spencer
4562f0632a Fix typo (missing braces) (bug #2919)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 19:01:11 +00:00
Mark Spencer
39be2d6244 Don't allow more than 10 seconds of audio for callerid (bug #2920)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 18:59:19 +00:00
Mark Spencer
a69c0016da Realtime improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 18:39:40 +00:00
Mark Spencer
23c2d6b12c Release call lock while we look for the peer to avoid a deadlock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 18:25:27 +00:00
Mark Spencer
b48d2563ae Fix missing arguments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 14:33:42 +00:00
Mark Spencer
536d9d370e Minor realtime improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 05:03:03 +00:00
Mark Spencer
fdfd69cca0 Add first pass at realtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-22 03:25:27 +00:00
Mark Spencer
0e35816160 Little fixups for busy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 20:38:32 +00:00
Mark Spencer
7f445141f2 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 20:27:21 +00:00
Mark Spencer
a50dd88d24 Display cause code for failure to get channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 20:25:45 +00:00
Mark Spencer
e4d1ada252 In fact, be even more pedantic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 19:36:46 +00:00
Mark Spencer
4c624caef3 Don't create owner twice (this should go to -stable too)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 19:34:19 +00:00
Mark Spencer
77f36c6b87 Fix variable reset in SIP (bug #2916)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 19:18:04 +00:00
Mark Spencer
53082f28e9 Fix compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-21 17:02:04 +00:00
Mark Spencer
1c76c72ccb Fix app_queue when working in conjunction with anthm's moh patch (bug #2891)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-20 15:15:51 +00:00
Mark Spencer
877dcd1aa5 Don't overwrite unchanged files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-20 06:47:33 +00:00
Mark Spencer
cd4ff4ecb1 Add sampling rate handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 21:52:25 +00:00
Anthony Minessale II
eca329c0d0 Minor Fix to disposition on clone routine
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 17:52:53 +00:00
Mark Spencer
0351e3e37c Create "OVERWRITE" option to Makefile to prevent sample from overwriting options
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 14:04:57 +00:00
Mark Spencer
c05c95b497 Fix V23 callerid handling if an event is received (bug #2909)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 13:45:44 +00:00
Mark Spencer
e584c9dab7 Add option to use directory for forward/compose (bug #2025)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 05:47:21 +00:00
Mark Spencer
3884b05a0e Increment seqno in RTP in RFC2833 (bug #2902)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 05:24:45 +00:00
Mark Spencer
066d22ae0d Add incremental/decremental priorities (bug #2906)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-19 05:18:10 +00:00
Mark Spencer
1632d45e85 Fix little SIP header continuation issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-18 04:26:22 +00:00
Mark Spencer
a71e44bbdc Minor command completion tweak (bug #988 bis)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-18 04:11:51 +00:00
Mark Spencer
a53765b55a Fix initialization of CLI (bug #2861)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 19:28:08 +00:00
Mark Spencer
ef74e24331 Fix little logging issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 19:27:47 +00:00
Mark Spencer
bb6493c861 Make sure sin_family is filled in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 19:11:33 +00:00
Mark Spencer
c75879d64a Revised seqno fix (bug #2887)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 19:04:48 +00:00
Mark Spencer
0e5ecf4a0d Fix rollover with DTMF (bug #2887)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 18:36:17 +00:00
Mark Spencer
834627669e Check that FD's are open before closing (bug #2858)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 18:16:08 +00:00
Mark Spencer
07b19fad72 Update IAXy to firmware 20
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 14:48:39 +00:00
Mark Spencer
7cc2ae0e40 Small bug big fix for MGCP (bug #2888)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 14:48:16 +00:00
Mark Spencer
a085c07f89 Don't hold modlock while doing reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 13:40:47 +00:00
Mark Spencer
09319f66a0 Merge polarity reversal hangup patch (bug #2847)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 06:18:33 +00:00
Mark Spencer
a465a8aef9 Expose tone state and threshold (bug #2830)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 05:55:26 +00:00
Jim Dixon
c513f7318c Updated so that it will work with latest changes in asterisk, plus fixed a couple of little problems.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 05:26:36 +00:00
Mark Spencer
6b72043074 Add "ImportVar" application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 04:48:58 +00:00
Mark Spencer
17d5d7bdb7 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 04:36:39 +00:00
Mark Spencer
eedf47ac8f Add GET FULL VARIABLE AGI command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 04:02:56 +00:00
Mark Spencer
d1f802d254 Fix silence detection in app_record (bug #2883)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 03:34:56 +00:00
Mark Spencer
387fbae462 Update sample config files for setvar
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 03:11:42 +00:00
Mark Spencer
ee47520f28 Merge Tony's uservars (bug #2882)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17 03:10:38 +00:00
Mark Spencer
13814b20a1 Make sure we use new tags for sip register calls (bug #2697)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 23:18:37 +00:00
Anthony Minessale II
6c16e5aa2b Fix ANI2 variable so it preserves 2 digit precision like it's supposed to.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 16:57:08 +00:00
Jeremy McNamara
eb035201f8 Another temp fix attempt, until I can do it correctly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 15:37:56 +00:00
Mark Spencer
e6a9e6f90c Fix logger
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 13:52:35 +00:00
Mark Spencer
0c67840847 Fix double ring...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 03:58:46 +00:00
Mark Spencer
94f6f76fbe Add get option command (bug #2868, thanks junky!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 03:37:07 +00:00
Mark Spencer
c86ee49fde Documentation fixup (thanks, drumkilla)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 03:13:05 +00:00
Mark Spencer
351497ce36 Update has_no_members to know about device status codes (bug #2867)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-16 01:24:31 +00:00
Mark Spencer
11c51dd7e1 Generate new QueueMemberAdded and QueueMemberRemoved events
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 18:06:54 +00:00
Mark Spencer
9dcb9a0000 Channel availability updates (bug #2829 with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 16:27:28 +00:00
Mark Spencer
8438e42858 Fix mgcp oopsie...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 14:29:15 +00:00
Mark Spencer
4dbfcb6556 Merge comment/formatting fixes from OEJ
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 13:39:40 +00:00
Russell Bryant
9b78337c6e add missing file (bug #2843)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 04:32:12 +00:00
Mark Spencer
8de7794637 ADPCM and G.726 performance improvements courtesy fOSSiL (bug #2843)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 00:56:53 +00:00
Mark Spencer
9bf48f9ce7 DSP enhancements (bug #2826) courtesy pcadach
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 00:48:36 +00:00
Mark Spencer
0e3c6239fc Add depend support for H.323 (bug #2757)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 00:41:25 +00:00
Mark Spencer
419e5113e6 Oops for mgcp and logger fix for old linux
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 00:35:49 +00:00
Mark Spencer
483146e034 Make res crypto less chatty (bug #2857)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-15 00:33:07 +00:00
Russell Bryant
3539a390fe truncate 'const const' to 'const'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 22:38:34 +00:00
Mark Spencer
ccff3cf375 Fix bizarre construct
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 22:33:32 +00:00
Russell Bryant
015a3ca155 comment out misery in the dundi sample config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 18:00:26 +00:00
Mark Spencer
91dda91521 Fix MGCP deadlock potential
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 17:23:06 +00:00
Mark Spencer
732337d1e6 On second thought, add new "never" option for progressinband
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 15:13:13 +00:00
Mark Spencer
61b70c7f36 Send 180 ringing even if we're going to send in-band if we're still in RING state...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 14:54:54 +00:00
Mark Spencer
05cbf44ba8 Fix possible race...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 05:52:08 +00:00
Russell Bryant
05bcdff586 fix subtraction error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 00:24:35 +00:00
Russell Bryant
e88b1ec532 another little typo ... to make twisted happy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 00:16:54 +00:00
Russell Bryant
f608394204 fix little typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-14 00:06:54 +00:00
Mark Spencer
d7b3ef9b58 Send progress before in-band indications for BUSY/CONGESTION
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-13 23:56:50 +00:00
Mark Spencer
dffb2566bc Big agent / queue fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-13 22:44:33 +00:00
Mark Spencer
c75b317757 Pull language from peer too (bug #2848)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-13 16:22:44 +00:00
Mark Spencer
dd43338425 Updates from char * to const char * + german syntax + enumeration (bug #2780)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-13 16:13:07 +00:00
Mark Spencer
a1cdeb6f80 Fix comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 13:27:11 +00:00
Mark Spencer
3e1fa1f6ac Fix sneakiness of OEJ
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 03:57:39 +00:00
Mark Spencer
ef6fc3ed74 Make status available on agent channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 03:50:19 +00:00
Mark Spencer
d08bd95ac6 Make mailbox time configurable with SIP (bug #2837)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 03:49:13 +00:00
Mark Spencer
d5c7dd696e Allow dashes in extensions (bug #2835)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 02:54:17 +00:00
Mark Spencer
37a14d1de8 Merge Italian voicemail support (bug #2842)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 01:35:16 +00:00
Mark Spencer
f2b31be954 Merge italian "say" support (bug #2840)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-12 01:32:45 +00:00
Jeremy McNamara
be93d86b48 format properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 21:35:56 +00:00
Jeremy McNamara
0543c58018 A [possibly] better solution to the CalledPartyAddress problem. Test and report please
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 21:30:30 +00:00
Mark Spencer
c5c331ab15 Make timing stuff generic (bug #2839)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 21:23:45 +00:00
Mark Spencer
c4cca41a72 Fix for DESTDIR
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 20:57:49 +00:00
Jeremy McNamara
b1b95fe6f1 Use passed dest value, for the moment. A better fix is being worked on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 20:34:46 +00:00
Mark Spencer
7563b0ab7d SIP fix for full contact in OPTIONS (bug #2836)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 20:13:22 +00:00
Jeremy McNamara
a17779bba8 lets try it this way
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 20:10:45 +00:00
Jeremy McNamara
7db49b3107 Use the right charector, dummy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 20:04:00 +00:00
Mark Spencer
9ab27e3382 Fix segfault
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 19:55:09 +00:00
Jeremy McNamara
42cb459cce copy over username to create a proper called addr
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 19:51:55 +00:00
Mark Spencer
13d180bc66 On second thought, require 'j' option to enable new jumping feature
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 15:16:50 +00:00
Mark Spencer
7763920906 Allow app_authenticate to go to n+101
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 15:13:41 +00:00
Mark Spencer
2840e351ad Cleanup/performance improve chan_sip slightly (bug #2823)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 15:08:57 +00:00
Mark Spencer
ec3dc05bf7 Fix chan_phone for kernel 2.6 (bug #2831)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 14:58:57 +00:00
Mark Spencer
53d9aa13eb Add pkgconfig support (bug #2734)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 14:48:53 +00:00
Mark Spencer
9690c20710 Work around silly macos (bug #2833)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 14:43:18 +00:00
Mark Spencer
06221c4ec5 Fix leaky fd issue (bug #2832)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-11 14:40:14 +00:00
Mark Spencer
81a481d738 Fix off by one (bug #2872, but different solution)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-10 20:20:18 +00:00
Mark Spencer
168d706b03 Make features programable (will require iaxy binary firmware 20 to be released soon)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-09 21:19:35 +00:00
Mark Spencer
369d4bfae2 Show status of agents...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-09 05:38:40 +00:00
Mark Spencer
a5075fe0f8 Make timezone configurable within IAX (bug #2814)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-09 05:05:07 +00:00
Mark Spencer
1fd3b9976a Fix segfault
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-09 02:38:18 +00:00
Mark Spencer
0a2fff51c7 Fix supervised transfer (bug #2813)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 18:23:01 +00:00
Mark Spencer
6e85376343 Fix verbose error (bug #2809)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 15:05:53 +00:00
Mark Spencer
0364da8271 Add British and Norwegian syntax (bug #2683)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 15:02:44 +00:00
Mark Spencer
2f69aac45f Fix spelling error (bug #2810)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 14:57:54 +00:00
Mark Spencer
dd7e72feca Provide "ident" command line (at least the start of one)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 02:49:33 +00:00
Mark Spencer
b6524df6c8 Oops, set the userfield, not the account code...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 00:37:02 +00:00
Mark Spencer
552b431691 Allow client code to be set from snom phone if "useclientcode=yes" in friend
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 00:35:23 +00:00
Mark Spencer
bc60921076 Update indications.conf.sample for SG
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-08 00:12:11 +00:00
Mark Spencer
36f1b37542 Add OUTBOUND_GROUP support (bug #2530)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 21:49:43 +00:00
Mark Spencer
345742c6b9 Major MGCP locking fixes (bug #2696)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 21:46:09 +00:00
Mark Spencer
5509371ffc Fix page thingy (bug #2789)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 20:25:17 +00:00
Mark Spencer
06b5085b52 Add ANI2 to zap (bug #2788)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 18:59:20 +00:00
Mark Spencer
8aad8d2aa0 Come into compliance with RFC3842
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 18:44:33 +00:00
Mark Spencer
134e6180c5 Disable echo canceller for digital calls (bug #2785), fix build on MacOSX (bug #2803)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 16:21:01 +00:00
Mark Spencer
b9b3841885 Setup fromuser properly (bug #2802)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-07 00:19:42 +00:00
Mark Spencer
c732dd54e4 Fix callerid name to work with peer...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-06 23:58:46 +00:00
Mark Spencer
6cb38ac23a Add features (incomplete, highly experimental), fix DundiLookup app, debug improvements (bug #2800)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-06 21:33:01 +00:00
Mark Spencer
0f11b3b189 oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-06 04:48:34 +00:00
Mark Spencer
e89f4dab17 Add dumpchan application (bug #2678)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-06 04:46:06 +00:00
Mark Spencer
b5bea1c29d Fix bad line
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-05 20:29:55 +00:00
Mark Spencer
e3514814ba Make clear that "hookstate" is only valid on FXS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-05 17:10:28 +00:00
Mark Spencer
193cc5bb0d Fix non-std characters
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-04 13:53:55 +00:00
Mark Spencer
1bb19bec4b Fix VMAuthenticate application (bug #2775)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-04 03:41:26 +00:00
Mark Spencer
94994626b6 Pass through flash hook
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-03 22:37:55 +00:00
Russell Bryant
5718466917 change 'incoming' to 'inbound' in dundi.conf.sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-03 22:23:58 +00:00
Mark Spencer
50010fd3d0 Fix "killa" console issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-03 22:04:40 +00:00
Mark Spencer
506e44802d Add VMAuthenticate application (bug #2775)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-03 15:06:44 +00:00
Mark Spencer
1f8baf8b09 Add french support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-03 14:08:32 +00:00
Mark Spencer
798e1fde9a Fix managerproxy (bug #2506)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-02 22:34:51 +00:00
Mark Spencer
9941b34dd8 Fix locking issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-02 21:56:01 +00:00
Mark Spencer
5d93698d99 Fix off-by-one buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-02 21:38:38 +00:00
Mark Spencer
fa161c49f1 Use getpid (non-linux) or gettid(linux) for thread identification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 16:26:32 +00:00
Mark Spencer
6dce1a5a3f Little variable optimizations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 15:48:42 +00:00
Mark Spencer
2f5cd4a95c Fix small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 14:48:07 +00:00
Mark Spencer
fbc2051442 Update ChangeLog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 02:43:53 +00:00
Mark Spencer
668001f9c8 Make channel variables inheritable by _ (bug #928)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 02:23:28 +00:00
Mark Spencer
a872c59003 vmail.cgi updates (bug #2686)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 02:08:55 +00:00
Mark Spencer
37b375c21a Add TALK_DETECTED variable (bug #2628)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 02:04:05 +00:00
Mark Spencer
219acbcc07 Accept %d/%d in m= line of SDP (bug #2625, but not their patch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 02:01:37 +00:00
Mark Spencer
3c5099158d Fix say for portugese (bug #2749)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 01:51:12 +00:00
Mark Spencer
2b6344872f Console fix (bug #2764) and logger fix...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 01:48:35 +00:00
Mark Spencer
afd15388cc Debugging improvements (bug #2765)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-01 01:44:11 +00:00
Mark Spencer
b8885530f4 Pass redirecting number on PRI calls (bug #2763)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-31 23:34:22 +00:00
Mark Spencer
c18dfe9bf6 Ouch.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-31 23:29:56 +00:00
Mark Spencer
3e9b079007 DISA enhancemnets (bug #2766)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-31 23:28:42 +00:00
Mark Spencer
bec04aa020 Misc code fixes (bug #2762)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-31 23:17:11 +00:00
Mark Spencer
18780395de Add voicemail to say # of minutes remaining (bug #2302)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-30 20:49:42 +00:00
Mark Spencer
b40c7e28a4 Add RTP debug support (bug #2570)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-30 01:52:12 +00:00
Mark Spencer
da13a5c885 Oopsies...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-29 22:31:36 +00:00
Mark Spencer
f38c6ee7fa Make retrans timer less aggressive
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-29 21:47:42 +00:00
Mark Spencer
c46c83bc96 Complete DUNDi push (first pass) support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-29 13:04:37 +00:00
Mark Spencer
913f28a9c2 Fix record app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 22:14:08 +00:00
Mark Spencer
22384074d9 Fix qsig support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 21:42:39 +00:00
Mark Spencer
3895c7d599 Fix potential seg if someone doesn't specify an extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 21:37:18 +00:00
Mark Spencer
cd7c8b1382 Add structures for status reporting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 19:55:18 +00:00
Mark Spencer
2bbb53147d Record application updates (bug #2627)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 19:08:02 +00:00
Matthew Fredrickson
ac558d5dbe Adding Q.SIG switchtype option to chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 16:11:04 +00:00
James Golovich
3c12ea1c89 Cleanup formatting in bug 2741 patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 15:53:36 +00:00
Mark Spencer
6b9d24b54a Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 14:25:50 +00:00
Jeremy McNamara
a15297d29f more code clean-up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 06:06:58 +00:00
Mark Spencer
384bf5dc32 fix compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 01:56:49 +00:00
Ben Kramer
2781d38064 / fixed for change in ast_channel structure
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-28 00:51:25 +00:00
Mark Spencer
b7015cb9bc Transfer improvements and fixes (bug #2741)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-27 22:01:33 +00:00
Mark Spencer
a82963fb1c Fix H.323 doc stuff (bug #2739)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-27 20:02:35 +00:00
Mark Spencer
4c0c0db318 Preliminary "PRECACHE" / push support...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-27 13:58:31 +00:00
Anthony Minessale II
a18f60f5e8 rollback stupid code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-27 03:33:14 +00:00
Anthony Minessale II
827df5e987 even more paranoid serialize code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-27 02:26:17 +00:00
Anthony Minessale II
5e5c478934 add more paranoid handling to pbx_builtin_serialize_variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-27 01:34:06 +00:00
Mark Spencer
8a13712e45 Pass concept of status back, permit "leaveempty" to work with static agents who are not loggedon (bug #2719)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 22:25:43 +00:00
Mark Spencer
9efbc46301 Add manager proxy (bug #2506)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 04:02:57 +00:00
Mark Spencer
dcb396b76b Fix chan_local debug message (bug #2725)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 03:01:52 +00:00
Mark Spencer
352f1f4e14 Fix MGCP dtmf buglet (bug #2696)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 02:57:18 +00:00
Mark Spencer
db58aec4f3 Add n+101 jump if file does not exist (bug #2722)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 02:25:50 +00:00
Mark Spencer
b8a02257a5 Fix short message isssue (bug #2723)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-26 02:21:43 +00:00
James Golovich
2486f30a41 Fix compilation of chan_agent.c on gcc < 3.0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 18:02:32 +00:00
James Golovich
286ea2461d Use same defines for NetBSD as FreeBSD in pbx_dundi.c (bug 2716)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 17:53:10 +00:00
Mark Spencer
5bdaba8193 Add new features to agent stuff (bug #1693)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 13:24:16 +00:00
Mark Spencer
73558b7492 Do not build with DEBUG_THREADS on by default!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 13:18:19 +00:00
Mark Spencer
d687e019e5 Fix email debyg line (bug #2675)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 13:15:12 +00:00
Mark Spencer
f8d3b1ad77 Fix Makefile issue (bug #2691, again)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 13:11:15 +00:00
James Golovich
8009d53690 Pass format string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 06:44:37 +00:00
Mark Spencer
e14ae8b10b Don't execute log functions for log levels we don't track
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 06:12:21 +00:00
Mark Spencer
16e8f4ca35 Allow "dundi flush" to flush statistics too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 06:04:48 +00:00
Mark Spencer
8870947391 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 05:55:34 +00:00
Mark Spencer
11dfba3120 Add cache bypass mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 05:51:57 +00:00
Mark Spencer
49da32e637 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 05:08:45 +00:00
Mark Spencer
76b5be4c87 DUNDi performance enhancments and metrics for average lookup time.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 04:54:42 +00:00
Mark Spencer
73a820a93b Fix user event body (bug #2713)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 03:17:37 +00:00
Mark Spencer
382bbb68cc Add missing pbx_loopback file...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 03:14:44 +00:00
Mark Spencer
82cbf28993 Add "Loopback" switch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-24 02:53:24 +00:00
Anthony Minessale II
4959fb958c Make sure close() is not called on a fd < 1 with a wrapper call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 22:00:40 +00:00
Mark Spencer
69a8f90814 Fix for FreeBSD (netbsd too?) (bug #2702)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 21:41:17 +00:00
Mark Spencer
d309ffbd0a Fix SMS thingy for Bezeq (bug #2708)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 20:34:40 +00:00
James Golovich
efd028f632 Check return value of malloc before dereferencing ptr in chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 20:33:01 +00:00
Mark Spencer
ee52c6062a Fix BSD issue (bug #2668)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 14:15:59 +00:00
Mark Spencer
cf764b8cba Tones for singapore (bug #2688)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 13:08:57 +00:00
Mark Spencer
e21ed1865b First pass at making transfer work within agent (not tested, shouldn't break anything that currently worked)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 12:19:47 +00:00
Mark Spencer
9235f8bda3 Help leanup (bug #2677)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 12:17:46 +00:00
Mark Spencer
3267c78539 Add missing fixup (bug #2667)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 11:50:04 +00:00
James Golovich
73831ac046 More memory checks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 07:03:01 +00:00
James Golovich
584418a282 Make sure malloc worked before accessing the mem in tdd.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 06:28:19 +00:00
James Golovich
10dfeecffe Make sure malloc worked before accessing the mem in chan_modem.c (bug 2704)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 06:03:29 +00:00
James Golovich
1890e5d87e Cleanup dundi-parser.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 04:53:12 +00:00
Jeremy McNamara
b31c4d7fb9 implement type=alias to deprecate type=h323 and a whole lot more code clean up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-23 02:43:41 +00:00
Anthony Minessale II
4f2438acab This patch adds a new api call:
int pbx_builtin_serialize_variables(struct ast_channel *chan, char *buf, size_t size);
takes a chan and a char * 'buf' assumed to be 'size' bytes.

The function fills 'buf' with a <CR>('\n') delimited list of name,value pairs in turn delimeted by '='
eg:
SIPCALLID=f30e4e72-f715193f@1.2.3.4
SIPUSERAGENT=Sipura/SPA2000-2.0.6(c)
SIPDOMAIN=1.2.3.4

It returns the acutal number of variables encountered.
If the attempt to fill 'buf' goes beyond 'size' bytes the operation is halted and the incomplete string is returned as is.

To demonstrate a use for this, the "show channel <channame>" command has been retrofitted with the call so it also dumps all of the chan's vars

*CLI> show channel Zap/5-1
 -- General --
           Name: Zap/5-1
           Type: Zap
       UniqueID: 1098480666.17
      Caller ID: 4999
 Caller ID Name: Tony
    DNID Digits: (N/A)
          State: Up (6)
          Rings: 0
   NativeFormat: 68
    WriteFormat: 4
     ReadFormat: 4
1st File Descriptor: 22
      Frames in: 41969
     Frames out: 83240
 Time to Hangup: 0
   Elapsed Time: 0h13m54s
 --   PBX   --
        Context: phone1
      Extension: 4994
       Priority: 2
     Call Group: 2
   Pickup Group: 2
    Application: Dial
           Data: IAX2/ulaw@cube1/00010014994@croip
          Stack: 0
    Blocking in: ast_waitfor_nandfds
Variables:
DIALEDPEERNUMBER=ulaw@cube1/00010014994@croip
DIALEDPEERNAME=IAX2/cube1/3
CALLTYPE=SPEECH
tempvar=tempval


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 20:59:38 +00:00
Mark Spencer
c4da80e6e0 Fix some callerid output
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 19:45:39 +00:00
Jeremy McNamara
9f0d70a9e6 re-implement callerid, still might not be right. Remove channel limits, in favor to app_groupcount. A lot more code cleanup. Please test and report as I am sure I broke something
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 19:04:02 +00:00
Mark Spencer
031a65ee73 Fix minor OSP issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 15:28:32 +00:00
James Golovich
487dc0897a Small verbosity fix in chan_iax2.c from bkw_
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 15:02:13 +00:00
James Golovich
4eab504331 Update example dundi.conf docs to include the other 2 variables that can be used in the destination string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 14:52:42 +00:00
Mark Spencer
8c4657bddf Work on precaching
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 14:19:11 +00:00
Mark Spencer
28e37def56 Fixed in CVS head.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 13:24:00 +00:00
Mark Spencer
3c8a994aed Handle unknown 1xx reponses as 100 (bug #2698)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 13:18:20 +00:00
Mark Spencer
e5091a2b33 Fix the shrink_number to not remove the trailing '.'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-22 13:08:35 +00:00
Ben Kramer
898a67b80e / updated caller ID to use the new structures and re-enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-21 05:03:00 +00:00
Mark Spencer
a73fc9a283 Disable mac lookup, fix compile on NetBSD (bug #2680)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-20 12:47:03 +00:00
Mark Spencer
0a9fd1435b Fix initialization tiddly bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-20 12:39:22 +00:00
James Golovich
c7c92a9f15 Fix typo and missing format string in a fprintf in lock.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-20 05:45:09 +00:00
Mark Spencer
91cdb43004 Fix potential segfault.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-20 04:27:31 +00:00
Mark Spencer
96a557c6bf Put Constantine's last name in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-19 21:16:46 +00:00
Mark Spencer
7bcb9629fd Send empty frames when missing frames arrive (hope this doesn't break anything)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-19 21:07:10 +00:00
Mark Spencer
17e80052e5 Don't "ignore" on CANCEL (bug #2670)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-19 03:17:26 +00:00
Mark Spencer
06dfca5d24 Add DUNDi.... (http://www.dundi.com)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-18 21:45:13 +00:00
Mark Spencer
8405193cff Delete old app_qcall (obsolete)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-18 01:32:24 +00:00
Mark Spencer
e1dcf90094 Fix ndbm compile warnings (bug #2540)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-17 22:24:46 +00:00
Mark Spencer
12e2fe4d94 Thread fixes, vm fix (bug #2665)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-17 22:13:05 +00:00
James Golovich
9f5f95fe87 Remove late-night excuse for wasting cpu cycles. revert previous res_agi change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-17 05:16:22 +00:00
James Golovich
f3ad3d0359 Fix chan_zap reload with pseudo channels (bug 2664)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-17 05:05:22 +00:00
Mark Spencer
dfdf53c00d Put a real beep...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-17 00:10:07 +00:00
Mark Spencer
c646d9ce18 Don't restart PRI channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 22:44:53 +00:00
Mark Spencer
9b46246c2b Improve peer stats (bug #2635)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 22:40:48 +00:00
Mark Spencer
06857dcdd9 Make chan_zap reloadable (bug #2637)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 22:34:57 +00:00
Mark Spencer
3e5368b763 Provide module command completion (make twisted happy)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 21:14:05 +00:00
Mark Spencer
a3e8fa573c Handle a few more cases of realtime and voicemail (bug #2648)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 20:01:57 +00:00
Mark Spencer
996c8e7126 Add autofallthrough mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 19:46:02 +00:00
Mark Spencer
eadd6c5509 Oops it didn't make it in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 16:00:04 +00:00
Mark Spencer
787822b4c8 Minor improvements to debug output (bug #2644)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 15:36:16 +00:00
Mark Spencer
1e0c75701e Fix hangup handling with chansiavail with agent (bug #2658)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16 15:01:59 +00:00
Mark Spencer
94ba880548 Generate CDR's for failed outbound spool
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-15 17:51:37 +00:00
Jeremy McNamara
ddd6a40a44 stop seg on reload if no h323.conf file and hopefully not break the monitor thread
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-15 07:07:50 +00:00
Jeremy McNamara
839d68586b stop a seggy..it helps if you dont try to print out something we already know is NULL :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 23:59:22 +00:00
Mark Spencer
def2962670 Fix some small typos (bug #2649)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 18:48:04 +00:00
Mark Spencer
f8ee49646c Forget fullcontact when specific number is dialed (bug #2620)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 18:29:47 +00:00
Mark Spencer
4ff125c703 Fix iLBC compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 05:45:34 +00:00
Jeremy McNamara
f84de658d4 be more explicit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 05:32:07 +00:00
Jeremy McNamara
1dfc11aec9 use the right variable to ensure it copied correctly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 05:29:55 +00:00
Jeremy McNamara
34e4f69f84 document proper usage of Bindaddr and type=peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 05:24:39 +00:00
Jeremy McNamara
9695141c09 sorta fix External IP Address discovery. We really need a better way than bindaddr, but this hack works, for now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 05:21:12 +00:00
Mark Spencer
d4ff9abc61 Update to new iLBC codec
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 05:15:48 +00:00
Mark Spencer
7c4337dc91 Add option for "show modules like" (bug #2643)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 04:38:29 +00:00
Mark Spencer
0134b03b77 Add CLI for realtime stuff (bug #2626)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 04:17:34 +00:00
Mark Spencer
f9bd7c1e9e Handle excessive entries properly (bug #2634)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 04:12:05 +00:00
Mark Spencer
f12f0a7011 Make PRI debug work when verbosity = 0 (bug #2645)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 04:03:24 +00:00
Mark Spencer
bb10f5af9f Fix trasnfer issue (bug #2632)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14 03:58:35 +00:00
Ben Kramer
9a87d520b1 / added missing frame processing code to native bridge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-13 23:17:01 +00:00
James Golovich
8b8d26f9bc Fix pbx_builtin_setlanguage to not seg when data is a NULL ptr. Also fix AGI so we dont run into this with other specific problems as well. (bug 2641)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-13 22:47:42 +00:00
Mark Spencer
3673eeb23f Peers stats improvements (bug #2635)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-13 01:05:31 +00:00
Mark Spencer
96dcc5de3d When deleting expiry, put -1 if temponly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-12 22:29:58 +00:00
Mark Spencer
8fcc070d1d One more temp vs. dynamic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-12 22:02:19 +00:00
Mark Spencer
bf63baa047 Fix MGCP build, SIP should destroy on temponly, not on show peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-12 21:51:08 +00:00
Mark Spencer
9dde51a708 Eliminate extraneous message (bug #2633)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-12 21:30:53 +00:00
Mark Spencer
e0ff16cf78 Be careful!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-12 19:54:54 +00:00
Jeremy McNamara
7232819f11 enable compiling of chan_h323.so
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-11 21:26:00 +00:00
Mark Spencer
73617495d2 Add global mute/unmute (bug #2601)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-11 15:40:24 +00:00
Mark Spencer
da6ca93454 Add missing carriage return (bug #2595)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-11 03:36:43 +00:00
Mark Spencer
a9bcc5ed49 Add missing sound file (bug #2077)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-11 02:52:18 +00:00
Mark Spencer
fd514b89f9 Keep back delivery times on trunk (bug #2587)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 20:27:54 +00:00
Mark Spencer
760dbbed48 Increase max packet size to 4096
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 17:32:55 +00:00
Jeremy McNamara
a3b0b2d6a0 Detail type=peer a bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 12:45:13 +00:00
Jeremy McNamara
67cdd39162 Update README with new information.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 12:41:10 +00:00
Jeremy McNamara
34afeec2e7 finish implementing type=peer, implement setting of FastStart and H.245 Tunneling per user/peer, update External RTP implemenation, fixed compile process/other buglets to operate with Open H.323 v1.14.4 and PWLib v1.7.5, and massive code clean up. All of the above is untested, please test and report
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 12:20:18 +00:00
Mark Spencer
f43e241593 Merge jjames's voicemail fixes (bug #2436)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 06:28:46 +00:00
Mark Spencer
67ad985735 Remove old compatibility apps
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 04:23:10 +00:00
Mark Spencer
b950439080 Add autokill to IAX2, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-10 01:42:46 +00:00
Mark Spencer
9b702cc543 Don't build GTK console by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 21:04:31 +00:00
Mark Spencer
513b6333fb Fix SIP buglets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 20:08:41 +00:00
Mark Spencer
0e76390736 Remove silly printf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 16:34:12 +00:00
Mark Spencer
07d1b22e81 Fix wave file lengths (bug #2486)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 14:55:14 +00:00
Russell Bryant
37f4e037c5 fix voicemail account setup (bug #2077)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 04:28:44 +00:00
Mark Spencer
0f15f042b9 Add Russell to the CREDITS file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 04:28:17 +00:00
Mark Spencer
1626a052bc Fix little typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-09 03:12:48 +00:00
Mark Spencer
6390872a5d IAX2 authentication improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 23:20:02 +00:00
Mark Spencer
befaca888d Minor config updates, add module counts (bug #2593)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 18:20:49 +00:00
Mark Spencer
5ef0da8240 Add compatibilty with proprietary nortel DTMF info (bug #2605)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 15:52:44 +00:00
Mark Spencer
c991f6acf1 Don't strip bracketed hyphens (bug #2608)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 15:49:37 +00:00
Mark Spencer
a1e87f11eb Fix lookup cidname (bug #2609)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 15:44:28 +00:00
Mark Spencer
9209bc5e13 Don't save dynamic peers in registery (bug #2610)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 15:21:20 +00:00
Mark Spencer
f869646706 Provide more useful iax2 debugging (bug #2603)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 05:37:19 +00:00
Mark Spencer
d808177d50 realtimeify voicemail...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 05:36:23 +00:00
Mark Spencer
b70b531699 Fix small verboseness bugs (bug #2602)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08 04:23:22 +00:00
Mark Spencer
eb2cd99a14 Default for overriden should be passed screen
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 21:06:32 +00:00
Mark Spencer
3ec18090b9 Fix callerid on IAX2 (received)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 21:04:10 +00:00
Mark Spencer
ed62f449a9 Oops, we have to be able to pass multiple restrictions for when we go to voicemail...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 19:57:50 +00:00
Mark Spencer
e1038e3090 Remove last vestiges of MySQL friends from makefile, in favor of realtime config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 19:05:05 +00:00
Mark Spencer
973481807e Fix app_sms to use correct path (bug #2597)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 19:00:00 +00:00
Mark Spencer
c608e97005 Do not send progress when "ringing" only flag is set (bug #2553)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 18:28:49 +00:00
Mark Spencer
d8cfe78b33 Merge SIP memory leak fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 18:27:12 +00:00
Mark Spencer
9202b378d9 Fix CDR CSV to flush on CDR
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 17:50:15 +00:00
Anthony Minessale II
37eeb4abd0 fix typo in chan sip that causes segV
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 16:42:37 +00:00
Mark Spencer
e2418b7008 Move voicemail beep (bug #2594)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 16:07:45 +00:00
Mark Spencer
5e134348dd Add recognition for Rich Murphy for substantial BSD fixes (bug #2598)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 15:49:08 +00:00
Mark Spencer
6c20ceb717 Fix which one we use initreqprep vs. reqprep (bug #2591, 2596)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 15:47:39 +00:00
Mark Spencer
fbbd30ca23 Add realtime support to SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-07 15:46:08 +00:00
Mark Spencer
209d413c6b Be sure prev struct is built properly (bug #2581)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 23:45:26 +00:00
Anthony Minessale II
e54e28b631 imporve app_realtime to do writes too with RealTimeUpdate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 17:42:31 +00:00
Mark Spencer
4a6c4d41fc Merge anth's realtime patch, as well as the bindaddr fix that didn't make it in somehow yesterday. (bug #2588)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 15:52:01 +00:00
Ben Kramer
415d197da1 changed it to not play a received DTMF frame if native bridged!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 10:54:58 +00:00
Ben Kramer
f3e54a41da commented out Caller ID setting stuff, needs to be updated to match new format
changed so that it no longer sends DTMF frames to a native bridged channel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 10:37:57 +00:00
Mark Spencer
dbdb058f31 Use reqprep, not initreqprep for NOTIFY for REFER...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 04:40:57 +00:00
Mark Spencer
32126398ef Locking updates for debug mode, fix SIP MWI (bug #2582)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-06 04:30:16 +00:00
Mark Spencer
e27afd5b74 Fix MGCP seg (bug #2572)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-05 21:00:54 +00:00
Mark Spencer
efdcabc2cb Fix zap seggy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-05 20:55:31 +00:00
Mark Spencer
ebb18daf22 Major changes to res_config to support centralized config, eliminate configuration of res_config_odbc, update config examples, integrate with iax2, remove mysql friends from iax2, put on flame retardant vest...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-05 06:46:11 +00:00
James Golovich
1a2ba48fa1 Formatting fix and use ast_true in cdr_odbc.c (bug 2569) Thanks bkw_
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-05 01:05:30 +00:00
Mark Spencer
f927433a40 Fix SIP friends + MySQL (head only)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-04 17:17:08 +00:00
Mark Spencer
76172327f8 Have SIP_CODEC variable override replace all other codecs (bug #2566)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-04 13:03:53 +00:00
Jeremy McNamara
c0273110c4 a major rework - type=peer support, code cleanup, and optimization. Still not ready to use
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-04 10:18:06 +00:00
Jeremy McNamara
9c65039c32 a major rework - type=peer, code cleanup, and optimization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-04 10:13:01 +00:00
Mark Spencer
1688ea358b Add app_hasnewvoicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 21:23:54 +00:00
Mark Spencer
0ddbbd1785 Add ability to check voicemail from multiple folders (bug #2561)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 21:18:27 +00:00
Mark Spencer
c52e38d3be Merge member delay patch (bug #2563)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 20:37:09 +00:00
Mark Spencer
e8f0958d01 Correct CDR's for supervised transfer (bug #1595)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 19:59:46 +00:00
Mark Spencer
de1b42b6bf Add reporting of actual hold time (bug #2564)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 16:46:06 +00:00
Mark Spencer
292e397759 Improve groupcount handling (bug #2529) thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 16:34:52 +00:00
Mark Spencer
b4142e0cd2 Allow you to use labels with + to be nice to Tilghman.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 16:15:44 +00:00
James Golovich
a17f53358c Cleanup formatting in app_math.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 15:59:52 +00:00
Mark Spencer
864d84e1a7 Fix potential callerid snafu's in iax and sip (based on 2562)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 14:57:01 +00:00
Mark Spencer
375162b4fb shrink phone number for callerid matching (bug #2562)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 14:52:33 +00:00
Mark Spencer
220623f88a Update documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 14:22:01 +00:00
Mark Spencer
c22c053f82 Add (heavily modified) math application (bug #2534)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 14:19:31 +00:00
Mark Spencer
c26fb30f20 Fix netbsd paths (bug #2560)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 13:07:59 +00:00
James Golovich
cc9f35f8c7 Fix HasVoicemail so it can parse all arguments correctly (bug 2559)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 05:38:27 +00:00
Mark Spencer
c1a5796446 Update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 05:14:10 +00:00
Mark Spencer
027f79d840 Add '+foo' option, update sample config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 05:08:51 +00:00
Mark Spencer
cd4ebb34ec Update chanelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 04:46:18 +00:00
Mark Spencer
fce17976e9 Major PBX revamps (including labels, update examples)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-03 04:19:59 +00:00
Mark Spencer
34988d1ce9 Allow "n" or "next" and "s" or "same" in dialplan logic priorities
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 20:43:16 +00:00
Mark Spencer
c8673a011e Don't set state to UP state within the driver, but instead allow ast_read to do so.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 17:16:36 +00:00
James Golovich
7aef6a5b83 Add #ifdef to chan_zap.c in case someone updates asterisk but not libpri
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 15:04:38 +00:00
James Golovich
809166ff78 Allow PRI timers to be congfigurable. (bug 2518)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 15:01:37 +00:00
James Golovich
8249c40b7b Formatting cleanup in app_voicemail.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 14:46:26 +00:00
Mark Spencer
4721dc5d1c Implement voicemail force account setup (bug #2077)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 03:01:20 +00:00
Mark Spencer
702bd20b65 Fix littlet ypo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 02:31:36 +00:00
Mark Spencer
666dd0f75c More IAX2 TNS/TOS/PRES fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 02:13:04 +00:00
Mark Spencer
15c6bf0860 Add iax2 parsing for TNS/TON/PRES
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 01:56:08 +00:00
Mark Spencer
856a9a528c Remove IAX and VoFR channel drivers permenantly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 01:09:05 +00:00
Mark Spencer
8dd03ff284 Move populate TNS/Presentation/TON from calling channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 01:05:11 +00:00
Mark Spencer
04fc29c8b2 Huge callerid rework (might break H.323, others)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-02 00:58:31 +00:00
James Golovich
9b926b1d64 Fix some formatting in asterisk.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-01 18:35:35 +00:00
James Golovich
74786b8c58 Use event2str consisitently in chan_zap anytime we are printing debug info about an event (bug 2548)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-01 13:26:47 +00:00
James Golovich
3e2253a3c4 Code formatting cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-01 13:16:44 +00:00
Jeremy McNamara
c82026012e work on peers some more, still highly broken
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-01 04:50:34 +00:00
Mark Spencer
b6f979100d Add configurable options to Speex (from anthm) (bug #2536)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-01 03:18:48 +00:00
Mark Spencer
aa5bf2bc6e Merge Tilghman's color detection patch (bug #2495)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-01 03:11:52 +00:00
Mark Spencer
1434bb9792 Fix SIP transport to ignore ;transport=udp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 19:59:00 +00:00
Jeremy McNamara
83f342776e massive changes, very broken, do not use (from airport)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 19:36:46 +00:00
Jeremy McNamara
d42c7aeede make chan_h323 not compile, until i can fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 19:31:39 +00:00
Jeremy McNamara
76485d3f02 massive changes, very broken, do not use (from airport)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 19:30:49 +00:00
Mark Spencer
250260064f Fix callerid for canada (bug #2552)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 17:54:41 +00:00
Mark Spencer
678c1d90c0 Fix potential seg (Bug #2550)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 15:30:05 +00:00
Mark Spencer
e2318bdba9 Merge ring pulse stuff (Bug #2016)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 15:26:04 +00:00
Russell Bryant
ca88a7476f update description for VoiceMailMain (bug #2546)
update ChangeLog for Asterisk 1.0.1


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-30 04:00:41 +00:00
1167 changed files with 145076 additions and 58231 deletions

1
.cleancount Normal file
View File

@@ -0,0 +1 @@
8

View File

@@ -1,6 +0,0 @@
asterisk
build.h
ast_expr.c
.version
.depend
.applied

1
.lastclean Normal file
View File

@@ -0,0 +1 @@
8

1
.version Normal file
View File

@@ -0,0 +1 @@
1.2.3

23
BUGS Executable file → Normal file
View File

@@ -1,23 +1,22 @@
Asterisk 1.0-RC-1 Known Major Bugs
==================================
* Some people still have issues with H.323
* QuickNet driver still not entirely stable
Asterisk Bug Tracking Information
=================================
To learn about and report Asterisk bugs or make feature
requests, please visit the official Asterisk Bug Tracker
at:
To learn about and report Asterisk bugs, please visit
the official Asterisk Bug Tracker at:
http://bugs.digium.com
For more information on using the bug tracker, or to
learn how you can contribute by acting as a bug marshal
learn how you can contribute by acting as a bug marshall
please see:
http://www.digium.com/bugtracker.html
http://www.digium.com/index.php?menu=bugguidelines
If you would like to submit a feature request, please
resist the temptation to post it to the bug tracker.
Feature requests should be posted to the asterisk-dev
mailing list, located at:
http://lists.digium.com
Thank you!
Mark

497
CHANGES Executable file → Normal file
View File

@@ -1,370 +1,127 @@
-- Add ability to purge callers from queue if no agents are logged in
-- Fix inband PRI indication detection
-- Fix for MGCP - always request digits if no RTP stream
-- Fixed seg fault for ast_control_streamfile
-- Added AGI over TCP support
-- Make pick-up extension configurable via features.conf
Asterisk 1.0.0
-- Use Q.931 standard cause codes for asterisk cause codes
-- Bug fixes from the bug tracker
Asterisk 1.0-RC2
-- Additional CDR backends
-- Allow muted to reconnect
-- Call parking improvements (including SIP parking support)
-- Added licensed hold music from FreePlayMusic
-- GR-303 and Zap improvements
-- More bug fixes from the bug tracker
-- Improved FreeBSD/OpenBSD/MacOS X support
Asterisk 1.0-RC1
-- Innumerable bug fixes and features from the bug tracker
-- Added Open Settlement Protocol (OSP) support
-- Added Non-facility Associated Signalling (NFAS) Support
-- Added alarm Monitoring support
-- Added new MeetMe options
-- Added GR-303 Support
-- Added trunk groups
-- ADPCM Standardization
-- Numerous bug fixes
-- Add IAX2 Firmware Support
-- Add G.726 support
-- Add ices/icecast support
-- Numerous bug fixes
Asterisk 0.7.2
-- Countless small bug fixes from bug tracker
-- DSP Fixes
-- Fix unloading of Zaptel
-- Pass Caller*ID/ANI properly on call forwarding
-- Add indication for Italy
Asterisk 0.7.1
-- Fixed timed include context's and GotoIfTime
-- Fixed chan_h323 it now gets remote ip properly instead of 127.0.0.1
Asterisk 0.7.0
-- Removed MP3 format and codec
-- Can now load and unload SIP,IAX,IAX2,H323 channels without core
-- Fixed various compiler warnings and clean up source tree
-- Preliminary AES Support
-- Fix SIP REINVITE
-- Outbound SIP registration behind NAT using externip
-- More CLI documentation and clean up
-- Pin numbers on MeeMe
-- Dynamic MeetMe conferences are more consistent with static conferences
-- Added channel variables ${HANGUPCAUSE}, ${SIPDOMAIN}, ${TIMESTAMP}, ${ACCONTCODE}
-- ODBC support for logging CDRs
-- Indications for Norway and New Zeland
-- Major redesign of app_voicemail
-- Syslog support
-- Reload logfiles with CLI command 'logger reload' and rotate logs with "logger rotate'
-- Configurable DEBUG, NOTICE, WARNING, ERROR and ast_verbose messages now appear on remote console
-- Properly reaping any zombie processes
-- Added applications SayUnixTime, SetCDRUserField, HasNewVoicemail, ZapScan, Random, ResetCDR, NoCDR
-- Make PRI Hangup Cause available to the dialplan
-- Verify included contexts in extensions.conf
-- Add DESTDIR support for building RPMs and packages
-- Do route lookups on OpenBSD
-- Add support for building on FreeBSD and OS X
-- Add support for PostgreSQL in Voicemail
-- Translate SIP hangup cause to PRI hangup cause where needed
-- Better support for MOH in IAX2
-- Fix SIP problem where channels were not removed on BYE
-- Display codecs by name
-- Remove MySQL and put PGSql instead for licensing reasons
-- Better capability matching in SIP
-- Full IBR4 compliance for chan_zap
-- More flexible CDR handling
-- Distinguish between BUSY and FAILURE on outbound calls
-- Add initial support for SCCP via chan_skinny
-- Better support for Future Group B signaling
Asterisk 0.5.0
-- Retain IAX2 and SIP registrations past shutdown/crash and restart
-- True data mode bridging when possible
-- H.323 build improvements
-- Agent Callback-login support
-- RFC2833 Improvements
-- Add thread debugging
-- Add optional pedantic SIP checking for Pingtel
-- Allow extension names, include context, switch to use global vars.
-- Allow variables in extensions.conf to reference previously defined ones
-- Merge voicemail enhancements (app_voicemail2)
-- Add multiple queueing strategies
-- Merge support for 'T'
-- Allow pending agent calling (Agent/:1)
-- Add groupings to agents.conf
-- Add video support to IAX2
-- Zaptel optimize playback
-- Add video support to SIP
-- Make RTP ports configurable
-- Add RDNIS support to SIP and IAX2
-- Add transfer app (implement in SIP and IAX2)
-- Make voicemail segmentable by context (app_voicemail2)
-- Major restructuring of voicemail (app_voicemail2)
-- Add initial ENUM support
-- Add malloc debugging support
-- Add preliminary Voicetronix support
-- Add iLBC codec
Asterisk 0.4.0
-- Merge and edit Nick's FXO dial support
-- Reengineer SIP registration (outbound)
-- Support call pickup on SIP and compatibly with ZAP
-- Support 302 Redirect on SIP
-- Management interface improvements
-- Add "hint" support
-- Improve call forwarding using new "Local" channel driver.
-- Add "Local" channel
-- Substantial SIP enhancements including retransmissions
-- Enforce case sensitivity on extension/context names
-- Add monitor support (Thanks, Mahmut)
-- Add experimental "trunk" option to IAX2 for high density VoIP
-- Add experimental "debug channel" command
-- Add 'C' flag to dial command to reset call detail record (handy for calling cards)
-- Add NAT and dynamic support to MGCP
-- Allow selection of in-band, out-of-band, or INFO based DTMF
-- Add contributed "*80" support to blacklist numbers (Thanks James!)
-- Add "NAT" option to sip user, peer, friend
-- Add experimental "IAX2" protocol
-- Change special variable "EXTEN-n" to "EXTEN:n" to follow Bash syntax
-- Add "Enhanced" AGI with audio pass-through (voice recognition anyone?)
-- Choose best priority from codec from allow/disallow
-- Reject SIP calls to self
-- Allow SIP registration to provide an alternative contact
-- Make HOLD on SIP make use of asterisk MOH
-- Add supervised transfer (tested with Pingtel only)
-- Allow maxexpirey and defaultexpirey to be runtime configurable for SIP
-- Preliminary codec 13 support (RFC3389)
-- Add app_authenticate for general purpose authentication
-- Optimize RTP and smoother
-- Create special variable "EXTEN-n" where it is extension stripped by n MSD
-- Fix uninitialized frame pointer in channel.c
-- Add global variables support under [globals] of extensions.conf
-- Add macro support (show application Macro)
-- Allow [123-5] etc in extensions
-- Allow format of App(arg1,arg2,...) instead of just App,arg1|arg2 in dialplan
-- Add message waiting indicator to SIP
-- Fix double free bug in channel.c
Asterisk 0.3.0
-- Add fastfoward, rewind, seek, and truncate functions to streams
-- Support registration
-- Add G729 format
-- Permit applications to return a digit indicating new extension
-- Change "SHUTDOWN" to "STOP" in commands
-- SIP "Hold" fixes and VXML URI support
-- New chan_zap with 160 sample chunk size
-- Add DTMF, MF, and Fax tone detector to dsp routines
-- Allow overlap dialing (inbound) on PRI
-- Enable tone detection with PRI
-- Add special information tone detection
-- Add Asterisk DB support
-- Add pulse dialing
-- Re-record all system prompts
-- Change "timelen" to samples for better accuracy
-- Move to editline, eliminating readline dependency
-- Add peer "poke" support to SIP and IAX
-- Add experimental call progress detection
-- Add SIP authentication (digest)
-- Add RDNIS
-- Reroute faxes to "fax" extension
-- Create ISDN/modem group concept
-- Centralize indication
-- Add initial MGCP support
-- SIP debugging cleanup
-- SIP reload
-- SIP commands (show channels, etc)
-- Add optional busy detection
-- Add Visual Message Waiting Indicator (MDMF and SDMF)
-- Add ambiguous extension matching
-- Add *69
-- Major SIP enhancements from SIPit
-- Rewrite of ZAP CLASS features using subchannels
-- Enhanced call parking
-- Add extended outgoing spool support (pbx_spool)
Asterisk 0.2.0
-- Outbound origination API
-- Call management improvements
-- Add Do Not Disturb (*78, *79)
-- Add agents
-- Document variables
-- Add transfer capability on the console
-- Add SpeeX codec translator
-- Add call queues
-- Add setcallerid functionality (AGI, application)
-- Add special variables ${CALLERID}, ${EXTEN}, ${CONTEXT}, ${PRIORITY}
-- Don't echo cancel on pure TDM connections by default
-- Implement Async GOTO
-- Differentiate softhangups
-- Add date/time
Asterisk 0.1.12
-- Fix for Big Endian machines
-- MySQL CDR Engine
-- Various SIP fixes and enhancements
-- Add "zapateller application and arbitrary tone pairs
-- Don't always start at "s"
-- Separate linear mode for pseudo and real
-- Add initial RTP and SIP support (no jitter buffer yet, unknown stability)
-- Add 'h' extension, executed on hangup
-- Add duration timer to message info
-- Add web based voicemail checking ("make webvmail")
-- Add ast_queue_frame function and eliminate frame pipes in most drivers
-- Centralize host access (and possibly future ACL's)
-- Add Caller*ID on PhoneJack (Thanks Nathan)
-- Add "safe_asterisk" wrapper script to auto-restart Asterisk
-- Indicate ringback on chan_phone
-- Add answer confirmation (press '#' to confirm answer)
-- Add distinctive ring support (e.g. Dial,Zap/4r2)
-- Add ANSI/vt100 color support
-- Make parking configurable through parking.conf
-- Fix the empty voicemail problem
-- Add Music On Hold
-- Add ADSI Compiler (app_adsiprog)
-- Extensive DISA re-work to improve tone generation
-- Reset all idle channels every 10 minutes on a PRI
-- Reset channels which are hungup with "channel in use"
-- Implement VNAK support in chan_iax
-- Fix chan_oss to support proper hangups and autoanswer
-- Make shutdown properly hangup channels
-- Add idling capability to chan_zap for idle-net
-- Add "MeetMe" conferencing app (app_meetme)
-- Add timing information to include
Asterisk 0.1.11
-- Add ISDN RAS capability
-- Add stutter dialtone to Chan Zap
-- Add "#include" capability to config files.
-- Add call-forward variable to Chan Zap (*72, *73)
-- Optimize IAX flow when transfer isn't possible
-- Allow transmission of ANI over IAX
Asterisk 0.1.10
-- Make ast_readstring parameter be the max # of digits, not the max size with \0
-- Make up any missing messages on the fly
-- Add support for specific DTMF interruption to saying numbers
-- Add new "u" and "b" options to condense busy/unavail handling
-- Add support for RSA authentication on IAX calls
-- Add support for ADSI compatible CPE
-- Outgoing call queue
-- Remote dialplan fixes for Quicknet
-- Added AGI commands supporting TDD functions (RECEIVE CHAR & TDD MODE)
-- Added TDD support (send/receive text in chan_zap)
-- Fix all strncpy references
-- Implement CSV CDR backend
-- Implement Call Detail Records
Asterisk 0.1.9
-- Implement IAX quelching
-- Allow Caller*ID to be overridden and suggested
-- Configure defaults to use IAXTEL
-- Allow remote dialplan polling via IAX
-- Eliminate ast_longest_extension
-- Implement dialplan request/reply
-- Let peers have allow/disallow for codecs
-- Change allow/deny to permit/deny in IAX
-- Allow dialplan entries to match Caller*ID as well
-- Added AGI (Asterisk Gateway Interface) scripting interface (app_agi)
-- Added chan_zap for zapata telephony kernel interface, removed chan_tor
-- Add convenience functions
-- Fix race condition in channel hangup
-- Fix memory leaks in both asterisk and iax frame allocations
-- Add "iax show stats" command and -DTRACE_FRAMES (for frame tracing)
-- Add DISA application (Thanks to Jim Dixon)
-- Add IAX transfer support
-- Add URL and HTML transmission
-- Add application for sending images
-- Add RedHat RPM spec file and build capability
-- Fix GSM WAV file format bug
-- Move ignorepat to main dialplan
-- Add ability to specificy TOS bits in IAX
-- Allow username:password in IAX strings
-- Updates to PhoneJack interface
-- Allow "servermail" in voicemail.conf to override e-mail in "from" line
-- Add 'skip' option to app_playback
-- Reject IAX calls on unknown extensions
-- Fix version stuff
Asterisk 0.1.8
-- Keep track of version information
-- Add -f to cause Asterisk not to fork
-- Keep important information in voicemail .txt file
-- Adtran Voice over Frame Relay updates
-- Implement option setting/querying of channel drivers
-- IAX performance improvements and protocol fixes
-- Substantial enhancement of console channel driver
-- Add IAX registration. Now IAX can dynamically register
-- Add flash-hook transfer on tormenta channels
-- Added Three Way Calling on tormenta channels
-- Start on concept of zombie channel
-- Add Call Waiting CallerID
-- Keep track of who registeres contexts, includes, and extensions
-- Added Call Waiting(tm), *67, *70, and *82 codes
-- Move parked calls into "parkedcalls" context by default
-- Allow dialplan to be displayed
-- Allow "=>" instead of just "=" to make instantiation clearer
-- Asterisk forks if called with no arguments
-- Add remote control by running asterisk -vvvc
-- Adjust verboseness with "set verbose" now
-- No longer requires libaudiofile
-- Install beep
-- Make PBX Config module reload extensions on SIGHUP
-- Allow modules to be reloaded when SIGHUP is received
-- Variables now contain line numbers
-- Make dialer send in band signalling
-- Add record application
-- Added PRI signalling to Tormenta driver
-- Allow use of BYEXTENSION in "Goto"
-- Allow adjustment of gains on tormenta channels
-- Added raw PCM file format support
-- Add U-law translator
-- Fix DTMF handling in bridge code
-- Fix access control with IAX
* Asterisk 0.1.7
-- Update configuration files and add some missing sounds
-- Added ability to include one context in another
-- Rewrite of PBX switching
-- Major mods to dialler application
-- Added Caller*ID spill reception
-- Added Dialogic VOX file format support
-- Added ADPCM Codec
-- Add Tormenta driver (RBS signalling)
-- Add Caller*ID spill creation
-- Rewrite of translation layer entirely
-- Add ability to run PBX without additional thread
* Asterisk 0.1.6
-- Make app_dial handle a lack of translators smoothly
-- Add ISDN4Linux support -- dtmf is weird...
-- Minor bug fixes
* Asterisk 0.1.5
-- Fix a small mistake in IAX
-- Fix the QuickNet driver to work with newer cards
* Asterisk 0.1.4
-- Update VoFR some more
-- Fix the QuickNet driver to work with LineJack
-- Add ability to pass images for IAX.
* Asterisk 0.1.3
-- Update VoFR for latest sangoma code
-- Update QuickNet Driver
-- Add text message handling
-- Fix transfers to use "default" if not in current context
-- Add call parking
-- Improve format/content negotiation
-- Added support for multiple languages
-- Bug fixes, as always...
* Asterisk 0.1.2
-- Updated README file with a "Getting Started" section
-- Added sample sounds and configuration files.
-- Added LPC10 very low bandwidth (low quality) compression
-- Enhanced translation selection mechanism.
-- Enhanced IAX jitter buffer, improved reliability
-- Support echo cancelation on PhoneJack
-- Updated PhoneJack driver to std. Telephony interface
-- Added app_echo for evaluating VoIP latency
-- Added app_system to execute arbitrary programs
-- Updated sample configuration files
-- Added OSS channel driver (full duplex only)
-- Added IAX implementation
-- Fixed some deadlocks.
-- A whole bunch of bug fixes
* Asterisk 0.1.1
-- Revised translator, fixed some general race conditions throughout *
-- Made dialer somewhat more aware of incompatible voice channels
-- Added Voice Modem driver and A/Open Modem Driver stub
-- Added MP3 decoder channel
-- Added Microsoft WAV49 support
-- Revised License -- Pure GPL, nothing else
-- Modified Copyright statement since code is still currently owned by author
-- Added RAW GSM headerless data format
-- Innumerable bug fixes
* Asterisk 0.1.0
-- Initial Release
Changes since Asterisk 1.2.0-beta2:
* Cygwin build system portability
* Optional generation of outbound silence during channel recording
Changes since Asterisk 1.2.0-beta1:
* Many, many bug fixes
* Documentation and sample configuration updates
* Vastly improved presence/subscription support in the SIP channel driver
* A new (experimental) mISDN channel driver
* A new monitoring application (MixMonitor)
* More portability fixes for non-Linux platforms
* New dialplan functions replacing old applications
* Significant deadlock and performance upgrades for the Manager interface
* An upgrade to the 'new' dialplan expression parser for all users
* New Zaptel echo cancellers with improved performance
* Support for the latest OSP toolkit from TransNexus
* Support user-controlled volume adjustment in MeetMe application
* More dialplan applications now return status variables instead of priority jumping
* Much more powerful ENUM support in the dialplan
* SIP domain support for authentication and virtual hosting
* Many PRI protocol updates and fixes, including more complete Q.SIG support
* New applications: Pickup() and Page()
Changes since Asterisk 1.0:
This list currently only containts changes made from the end of November until
March 26, 2005.
* Add new applications:
-- AgentMonitorOutgoing
-- Curl
-- ExecIf
-- ExecIfTime
-- IAX2Provision
-- MacroExit
-- MacroIf
-- PauseQueueMember
-- ReadFile
-- SetRDNIS
-- SIPAddHeader
-- SIPGetHeader
-- StartMusicOnHold
-- StopMusicOnHold
-- UnpauseQueueMember
-- WaitForSilence
-- While / EndWhile
* app Answer
-- added delay option
* app ChanIsAvail
-- added 's' option
* app Dial
-- add option to specify the class for musiconhold with m option
* app EnumLookup
-- added "reload enum" for configuration
* app Goto
-- added relative priorities
* app GotoIf
-- added relative priorities
* app MeetMe
-- added 'i' option
-- added 'r' option
-- added 'T' option
-- added 'P' option
-- added 'c' option
-- added adminpin to meetme.conf
-- added reload command
* app PrivacyManager
-- add config file privacy.conf
* app queue
-- queues.conf
-- added persistentmembers option to queues.conf
-- changed music option to musiconhold
-- added weight option
-- added note about why agent groups probably shouldn't be used
-- added timeoutrestart option
* app Read
-- added attempts parameter
-- added timeout parameter
* app Record
-- added 'q' option
* app SendDTMF
-- add timeout option
* app SMS
-- document alternative syntax for queueing messages
* app Voicemail
-- add info about VM_CATEGORY
-- voicemail.conf
-- added usedirectory option
-- added VM_CIDNUM and VM_CIDNAME in message config
* chan IAX2
-- new jitterbuffer
-- added setvar option
-- added regex to iax2 show peers/users
-- allow multiple bindaddr lines in iax.conf
-- added reload command
-- added forcejitterbuffer option
-- added note about specifying bindport before bindaddr
-- added trunktimestamps option
* chan Agent
-- added agent logoff CLI command
* chan OSS
-- added Flash CLI command
* chan SIP
-- added setvar option
-- added compactheaders option
-- added usereqphone option
-- added registertimeout option
-- added externhost option
-- added sip notify CLI command
-- added sip_notify.conf
-- added allowguest option
* chan Zap
-- added hanguponplarityswitch option
-- added sendcalleridafter option
-- added priresetinterval option
-- added TON/NPI config options (the ones right above the resetinterval option)
-- added answeronpolarityswitch option
-- added "never" for resetinterval
* extensions
-- allow '*' when including files (#include "sip-*.conf")
-- added eswitch
* General
-- added #exec syntax for including output from a command
-- added show features CLI command
-- added configuration templates for category inheritance

341
COPYING Normal file
View File

@@ -0,0 +1,341 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

54
CREDITS Executable file → Normal file
View File

@@ -1,6 +1,6 @@
=== DEVELOPMENT SUPPORT ===
I'd like to thank the following companies for helping fund development of
We'd like to thank the following companies for helping fund development of
Asterisk:
Pilosoft, Inc. - for supporting ADSI development in Asterisk
@@ -26,48 +26,70 @@ Wasim - Hangup detect
PhoneJack and Linejack card to the project. (http://www.quicknet.net)
=== MISCELLANEOUS PATCHES ===
Anthony Minessale - Countless big and small fixes, and relentless forward push
anthmct@yahoo.com http://www.asterlink.com
Jim Dixon - Zapata Telephony and app_rpt
http://www.zapatatelephony.org/app_rpt.html
Russell Bryant - Asterisk 1.0 maintainer and misc. enhancements
russelb@clemson.edu
Anthony Minessale II - Countless big and small fixes, and relentless forward push
anthmct@yahoo.com http://www.asterlink.com
James Golovich - Innumerable contributions
You can find him and asterisk-perl at http://asterisk.gnuinter.net
You can find him and asterisk-perl at http://asterisk.gnuinter.net
Andre Bierwirth - Extension hints and status
Oliver Daudey - ISDN4Linux fixes
Pauline Middelink - ISDN4Linux patches and some general patches.
She can be found at http://www.polyware.nl/~middelink/En/
She can be found at http://www.polyware.nl/~middelink/En/
Jean-Denis Girard - Various contributions from the South Pacific Islands
jd-girard@esoft.pf http://www.esoft.pf
William Jordan / Vonage - MySQL enhancmenets to Voicemail
jd-girard@esoft.pf http://www.esoft.pf
William Jordan / Vonage - MySQL enhancements to Voicemail
wjordan@vonage.com
Jac Kersing - Various fixes
Steven Critchfield - Seek and Trunc functions for playback and recording
critch@basesys.com
critch@basesys.com
Jefferson Noxon - app_lookupcidname, app_db, and various other contributions
Klaus-Peter Junghanns - in-band DTMF on SIP and MGCP
Ross Finlayson - Dynamic RTP payload support
Mahmut Fettahlioglu - Audio recording, music-on-hold changes, alaw file
format, and various fixes. Can be contacted at mahmut@oa.com.au
format, and various fixes. Can be contacted at mahmut@oa.com.au
James Dennis - Cisco SIP compatibility patches to work with SIP service
providers. Can be contacted at asterisk@jdennis.net
Tilghman Lesher - - Route lookup code; ast_localtime(), ast_say_date_with_format();
GotoIfTime, Random, SayUnixTime, HasNewVoicemail, and Cut applications,
along with various other patches. http://asterisk.drunkcoder.com/
providers. Can be contacted at asterisk@jdennis.net
Tilghman Lesher - ast_localtime(); ast_say_date_with_format();
GotoIfTime, Random, SayUnixTime, HasNewVoicemail applications;
CUT, SORT, EVAL, CURL, FIELDQTY, STRFTIME, QUEUEAGENT* functions;
and other innumerable bug fixes. http://asterisk.drunkcoder.com/
Jayson Vantuyl - Manager protocol changes, various other bugs.
jvantuyl@computingedge.net
Thorsten Lockert - OpenBSD, FreeBSD ports, making MacOS X port run on 10.3,
dialplan include verification, route lookup on OpenBSD, various other
bugs. tholo@sigmasoft.com
Brian West - ODBC support and Bug Marshaling
Josh Roberson - chan_zap reload support, Advanced Voicemail Features, other misc. patches,
and Bug Marshalling. - josh@asteriasgi.com, http://www.asteriasgi.com
William Waites - syslog support, SIP NAT traversal for SIP-UA. ww@styx.org
Rich Murphey - Porting to FreeBSD, NetBSD, OpenBSD, and Darwin.
rich@whiteoaklabs.com http://whiteoaklabs.com
Simon Lockhart - Porting to Solaris (based on work of Logan ???)
simon@slimey.org
Olle E. Johansson - SIP RFC compliance, documentation and testing, testing, testing
oej@edvina.net, http://edvina.net
Steve Kann - new jitter buffer for IAX2
stevek@stevek.com
Constantine Filin - major contributions to the Asterisk Realtime Architecture
Steve Murphy - privacy support
Claude Patry - bug fixes, feature enhancements, and bug marshalling
cpatry@gmail.com
=== OTHER CONTRIBUTIONS ===
John Todd - Monkey sounds and associated teletorture prompt
Michael Jerris - bug marshaling
Leif Madsen, Jared Smith and Jim van Meggelen - the Asterisk book
available under a Creative Commons License at http://www.asteriskdocs.org
=== HOLD MUSIC ===
Music provided by www.freeplaymusic.com
Music provided by www.opsound.org
=== OTHER SOURCE CODE IN ASTERISK ===
I did not implement the codecs in asterisk. Here is the copyright on the
Digium did not implement the codecs in Asterisk. Here is the copyright on the
GSM source:
Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,
@@ -92,7 +114,7 @@ And the copyright on the ADPCM source:
Copyright 1992 by Stichting Mathematisch Centrum, Amsterdam, The
Netherlands.
All Rights Reserved
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,

1143
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

0
HARDWARE Executable file → Normal file
View File

381
LICENSE Executable file → Normal file
View File

@@ -1,341 +1,56 @@
Asterisk is distributed under the GNU General Public License version 2
and is also available under alternative licenses negotiated directly
with Digium, Inc. If you obtained Asterisk under the GPL, then the GPL
applies to all loadable Asterisk modules used on your system as well,
except as defined below. The GPL (version 2) is included in this
source tree in the file COPYING.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Digium, Inc. (formerly Linux Support Services) holds copyright
and/or sufficient licenses to all components of the Asterisk
package, and therefore can grant, at its sole discretion, the ability
for companies, individuals, or organizations to create proprietary or
Open Source (even if not GPL) modules which may be dynamically linked at
runtime with the portions of Asterisk which fall under our
copyright/license umbrella, or are distributed under more flexible
licenses than GPL.
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
If you wish to use our code in other GPL programs, don't worry --
there is no requirement that you provide the same exception in your
GPL'd products (although if you've written a module for Asterisk we
would strongly encourage you to make the same exception that we do).
Preamble
Specific permission is also granted to link Asterisk with OpenSSL and
OpenH323.
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
In addition, Asterisk implements two management/control protocols: the
Asterisk Manager Interface (AMI) and the Asterisk Gateway Interface
(AGI). It is our belief that applications using these protocols to
manage or control an Asterisk instance do not have to be licensed
under the GPL or a compatible license, as we believe these protocols
do not create a 'derivative work' as referred to in the GPL. However,
should any court or other judiciary body find that these protocols do
fall under the terms of the GPL, then we hereby grant you a license to
use these protocols in combination with Asterisk in external
applications licensed under any license you wish.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
The 'Asterisk' name and logos are trademarks owned by Digium, Inc.,
and use of them is subject to our trademark licensing policies. If you
wish to use these trademarks for purposes other than simple
redistribution of Asterisk source code obtained from Digium, you
should contact our licensing department to determine the necessary
steps you must take.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
If you have any questions regarding our licensing policy, please
contact us:
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
+1.877.546.8963 (via telephone in the USA)
+1.256.428.6000 (via telephone outside the USA)
+1.256.864.0464 (via FAX inside or outside the USA)
IAX2/misery.digium.com/6000 (via IAX2)
licensing@digium.com (via email)
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
Digium, Inc.
150 West Park Loop
Suite 100
Huntsville, AL 35806
USA

839
Makefile Executable file → Normal file

File diff suppressed because it is too large Load Diff

214
README Executable file → Normal file
View File

@@ -1,12 +1,17 @@
The Asterisk Open Source PBX
by Mark Spencer <markster@digium.com>
Copyright (C) 2001-2004 Digium
and the Asterisk.org developer community
Copyright (C) 2001-2005 Digium, Inc.
and other copyright holders.
================================================================
* SECURITY
It is imperative that you read and fully understand the contents of
the SECURITY file before you attempt to configure an Asterisk server.
the SECURITY file before you attempt to configure and run an Asterisk
server.
* WHAT IS ASTERISK
* WHAT IS ASTERISK ?
Asterisk is an Open Source PBX and telephony toolkit. It is, in a
sense, middleware between Internet and telephony channels on the bottom,
and Internet and telephony applications at the top. For more information
@@ -14,95 +19,118 @@ on the project itself, please visit the Asterisk home page at:
http://www.asterisk.org
In addition you'll find lot's of information compiled by the Asterisk
In addition you'll find lots of information compiled by the Asterisk
community on this Wiki:
http://www.voip-info.org/wiki-Asterisk
* LICENSING
Asterisk is distributed under GNU General Public License. The GPL also
must apply to all loadable modules as well, except as defined below.
There is a book on Asterisk published by O'Reilly under the
Creative Commons License. It is available in book stores as well
as in a downloadable version on the http://www.asteriskdocs.org
web site.
Digium, Inc. (formerly Linux Support Services) retains copyright to all
of the core Asterisk system, and therefore can grant, at its sole discretion,
the ability for companies, individuals, or organizations to create proprietary
or Open Source (but non-GPL'd) modules which may be dynamically linked at
runtime with the portions of Asterisk which fall under our copyright
umbrella, or are distributed under more flexible licenses than GPL.
If you wish to use our code in other GPL programs, don't worry -- there
is no requirement that you provide the same exemption in your GPL'd
products (although if you've written a module for Asterisk we would
strongly encourage you to make the same exemption that we do).
Specific permission is also granted to OpenSSL and OpenH323 to link to
Asterisk.
If you have any questions, whatsoever, regarding our licensing policy,
please contact us.
Modules that are GPL-licensed and not available under Digium's
licensing scheme are added to the Asterisk-addons CVS module.
* REQUIRED COMPONENTS
* SUPPORTED OPERATING SYSTEMS
== Linux ==
Currently, the Asterisk Open Source PBX is only known to run on the
Linux OS, although it may be portable to other UNIX-like operating systems
(like FreeBSD) as well.
The Asterisk Open Source PBX is developed and tested primarily on the
GNU/Linux operating system, and is supported on every major GNU/Linux
distribution.
== Others ==
Asterisk has also been 'ported' and reportedly runs properly on other
operating systems as well, including Sun Solaris, Apple's Mac OS X, and
the BSD variants.
* GETTING STARTED
First, be sure you've got supported hardware (but note that you don't need ANY hardware, not even a soundcard) to install and run Asterisk. Supported are:
First, be sure you've got supported hardware (but note that you don't need
ANY special hardware, not even a soundcard) to install and run Asterisk.
Supported telephony hardware includes:
* All Wildcard (tm) products from Digium (www.digium.com)
* QuickNet Internet PhoneJack and LineJack (http://www.quicknet.net)
* Full Duplex Sound Card supported by Linux
* Adtran Atlas 800 Plus
* ISDN4Linux compatible ISDN card
* Tormenta Dual T1 card (www.bsdtelephony.com.mx)
* any full duplex sound card supported by ALSA or OSS
* VoiceTronix OpenLine products
Hint: CAPI compatible ISDN cards can be run using the add-on channel chan_capi.
The are several drivers for ISDN BRI cards available from third party sources.
Check the voip-info.org wiki for more information on chan_capi, chan_misdn and
zaphfc.
So let's proceed:
* UPGRADING FROM VERSION 1.0
If you are updating from a previous version of Asterisk, make sure you
read the UPGRADE.txt file in the source directory. There are some files
and configuration options that you will have to change, even though we
made every effort possible to maintain backwards compatibility.
In order to discover new features to use, please check the configuration
examples in the /configs directory of the source code distribution.
To discover the major new features of Asterisk 1.2, please visit
http://www.astricon.net/asterisk1-2/
* NEW INSTALLATIONS
Ensure that your system contains a compatible compiler and development
libraries. Asterisk requires either the GNU Compiler Collection (GCC) version
3.0 or higher, or a compiler that supports the C99 specification and some of
the gcc language extensions. In addition, your system needs to have the C
library headers available, and the headers and libraries for OpenSSL,
ncurses and zlib.
On many distributions, these files are installed by packages with names like
'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel' or similar.
So let's proceed:
1) Run "make"
Assuming the build completes successfully:
2) Run "make install"
If this is your first time working with Asterisk, you may wish to install
Each time you update or checkout from CVS, you are strongly encouraged
to ensure all previous object files are removed to avoid internal
inconsistency in Asterisk. Normally, this is automatically done with
the presence of the file .cleancount, which increments each time a 'make clean'
is required, and the file .lastclean, which contains the last .cleancount used.
If this is your first time working with Asterisk, you may wish to install
the sample PBX, with demonstration extensions, etc. If so, run:
"make samples"
3) "make samples"
Doing so will overwrite any existing config files you have. If you are lacking a soundcard you won't be able to use the DIAL command on the console, though.
Doing so will overwrite any existing config files you have.
Finally, you can launch Asterisk with:
Finally, you can launch Asterisk in the foreground mode (not a daemon)
with:
./asterisk -vvvc
# asterisk -vvvc
You'll see a bunch of verbose messages fly by your screen as Asterisk
You'll see a bunch of verbose messages fly by your screen as Asterisk
initializes (that's the "very very verbose" mode). When it's ready, if
you specified the "c" then you'll get a command line console, that looks
like this:
*CLI>
You can type "help" at any time to get help with the system. For help
You can type "help" at any time to get help with the system. For help
with a specific command, type "help <command>". To start the PBX using
your sound card, you can type "dial" to dial the PBX. Then you can use
"answer", "hangup", and "dial" to simulate the actions of a telephone.
Remember that if you don't have a full duplex sound card (And asterisk
will tell you somewhere in its verbose messages if you do/don't) than it
Remember that if you don't have a full duplex sound card (and Asterisk
will tell you somewhere in its verbose messages if you do/don't) then it
won't work right (not yet).
Feel free to look over the configuration files in /etc/asterisk, where
"man asterisk" at the Unix/Linux command prompt will give you detailed
information on how to start and stop Asterisk, as well as all the command
line options for starting Asterisk.
Feel free to look over the configuration files in /etc/asterisk, where
you'll find a lot of information about what you can do with Asterisk.
* ABOUT CONFIGURATION FILES
All Asterisk configuration files share a common format. Comments are
All Asterisk configuration files share a common format. Comments are
delimited by ';' (since '#' of course, being a DTMF digit, may occur in
many places). A configuration file is divided into sections whose names
appear in []'s. Each section typically contains two types of statements,
@@ -111,12 +139,12 @@ parameters'. Internally the use of '=' and '=>' is exactly the same, so
they're used only to help make the configuration file easier to
understand, and do not affect how it is actually parsed.
Entries of the form 'variable=value' set the value of some parameter in
asterisk. For example, in tormenta.conf, one might specify:
Entries of the form 'variable=value' set the value of some parameter in
asterisk. For example, in zapata.conf, one might specify:
switchtype=national
In order to indicate to Asterisk that the switch they are connecting to is
in order to indicate to Asterisk that the switch they are connecting to is
of the type "national". In general, the parameter will apply to
instantiations which occur below its specification. For example, if the
configuration file read:
@@ -127,26 +155,86 @@ configuration file read:
switchtype = dms100
channel => 25-47
Then, the "national" switchtype would be applied to channels one through
the "national" switchtype would be applied to channels one through
four and channels 10 through 12, whereas the "dms100" switchtype would
apply to channels 25 through 47.
The "object => parameters" instantiates an object with the given
The "object => parameters" instantiates an object with the given
parameters. For example, the line "channel => 25-47" creates objects for
the channels 25 through 47 of the tormenta card, obtaining the settings
the channels 25 through 47 of the card, obtaining the settings
from the variables specified above.
* SPECIAL NOTE ON TIME
Those using SIP phones should be aware that Asterisk is sensitive to
large jumps in time. Manually changing the system time using date(1)
(or other similar commands) may cause SIP registrations and other
internal processes to fail. If your system cannot keep accurate time
by itself use NTP (http://www.ntp.org/) to keep the system clock
synchronized to "real time". NTP is designed to keep the system clock
synchronized by speeding up or slowing down the system clock until it
is synchronized to "real time" rather than by jumping the time and
causing discontinuities. Most Linux distributions include precompiled
versions of NTP. Beware of some time synchronization methods that get
the correct real time periodically and then manually set the system
clock.
Apparent time changes due to daylight savings time are just that,
apparent. The use of daylight savings time in a Linux system is
purely a user interface issue and does not affect the operation of the
Linux kernel or Asterisk. The system clock on Linux kernels operates
on UTC. UTC does not use daylight savings time.
Also note that this issue is separate from the clocking of TDM
channels, and is known to at least affect SIP registrations.
* FILE DESCRIPTORS
Depending on the size of your system and your configuration,
Asterisk can consume a large number of file descriptors. In UNIX,
file descriptors are used for more than just files on disk. File
descriptors are also used for handling network communication
(e.g. SIP, IAX2, or H.323 calls) and hardware access (e.g. analog and
digital trunk hardware). Asterisk accesses many on-disk files for
everything from configuration information to voicemail storage.
Most systems limit the number of file descriptors that Asterisk can
have open at one time. This can limit the number of simultaneous
calls that your system can handle. For example, if the limit is set
at 1024 (a common default value) Asterisk can handle approxiately 150
SIP calls simultaneously. To change the number of file descriptors
follow the instructions for your system below:
== PAM-based Linux System ==
If your system uses PAM (Pluggable Authentication Modules) edit
/etc/security/limits.conf. Add these lines to the bottom of the file:
root soft nofile 4096
root hard nofile 8196
asterisk soft nofile 4096
asterisk hard nofile 8196
(adjust the numbers to taste). You may need to reboot the system for
these changes to take effect.
== Generic UNIX System ==
If there are no instructions specifically adapted to your system
above you can try adding the command "ulimit -n 8192" to the script
that starts Asterisk.
* MORE INFORMATION
See the doc directory for more documentation.
See the doc directory for more documentation on various features. Again,
please read all the configuration samples that include documentation on
the configuration options.
Finally, you may wish to visit the web site and join the mailing list if
Finally, you may wish to visit the web site and join the mailing list if
you're interested in getting more information.
http://www.asterisk.org/index.php?menu=support
http://www.asterisk.org/support
Welcome to the growing worldwide community of Asterisk users!
Welcome to the growing worldwide community of Asterisk users!
Mark Spencer

View File

@@ -1,8 +0,0 @@
About Hold Music
================
Digium has licensed the music included with
the Asterisk distribution From FreePlayMusic
for use and distribution with Asterisk. It
is licensed ONLY for use as hold music within
an Asterisk based PBX.

22
README.opsound Normal file
View File

@@ -0,0 +1,22 @@
About Hold Music
================
These files were obtained from http://opsound.org, where the authors placed them
under the Creative Commons Attribution-Share Alike 2.5 license, a copy of which
may be found at http://creativecommons.org.
Credits
================
macroform-cold_day - Paul Shuler (Macroform)
paulshuler@gmail.com - http://macroform.bandcamp.com/
macroform-robot_dity - Paul Shuler (Macroform)
paulshuler@gmail.com - http://macroform.bandcamp.com/
macroform-the_simplicity - Paul Shuler (Macroform)
paulshuler@gmail.com - http://macroform.bandcamp.com/
manolo_camp-morning_coffee - Manolo Camp
beatbastard@gmx.net - http://ccmixter.org/people/ManoloCamp
reno_project-system - Reno Project
renoproject@hotmail.com - http://www.jamendo.com/en/album/23661

28
SECURITY Executable file → Normal file
View File

@@ -4,6 +4,32 @@ PLEASE READ THE FOLLOWING IMPORTANT SECURITY RELATED INFORMATION.
IMPROPER CONFIGURATION OF ASTERISK COULD ALLOW UNAUTHORIZED USE OF YOUR
FACILITIES, POTENTIALLY INCURRING SUBSTANTIAL CHARGES.
Asterisk security involves both network security (encryption, authentication)
as well as dialplan security (authorization - who can access services in
your pbx). If you are setting up Asterisk in production use, please make
sure you understand the issues involved.
* NETWORK SECURITY
If you install Asterisk and use the "make samples" command to install
a demonstration configuration, Asterisk will open a few ports for accepting
VoIP calls. Check the channel configuration files for the ports and IP addresses.
If you enable the manager interface in manager.conf, please make sure that
you access manager in a safe environment or protect it with SSH or other
VPN solutions.
For all TCP/IP connections in Asterisk, you can set ACL lists that
will permit or deny network access to Asterisk services. Please check
the "permit" and "deny" configuration options in manager.conf and
the VoIP channel configurations - i.e. sip.conf and iax.conf.
The IAX2 protocol supports strong RSA key authentication as well as
AES encryption of voice and signalling. The SIP channel does not
support encryption in this version of Asterisk.
* DIALPLAN SECURITY
First and foremost remember this:
USE THE EXTENSION CONTEXTS TO ISOLATE OUTGOING OR TOLL SERVICES FROM ANY
@@ -38,4 +64,4 @@ exten => 6123,Dial(Zap/1)
DON'T FORGET TO TAKE THE DEMO CONTEXT OUT OF YOUR DEFAULT CONTEXT. There
isn't really a security reason, it just will keep people from wanting to
play with your asterisk setup remotely.
play with your Asterisk setup remotely.

205
UPGRADE.txt Normal file
View File

@@ -0,0 +1,205 @@
Information for Upgrading From Previous Asterisk Releases
=========================================================
Compiling:
* The Asterisk 1.2 source code now uses C language features
supported only by 'modern' C compilers. Generally, this means GCC
version 3.0 or higher, although some GCC 2.96 releases will also
work. Some non-GCC compilers that support C99 and the common GCC
extensions (including anonymous structures and unions) will also
work. All releases of GCC 2.95 do _not_ have the requisite feature
support; systems using that compiler will need to be upgraded to
a more recent compiler release.
Dialplan Expressions:
* The dialplan expression parser (which handles $[ ... ] constructs)
has gone through a major upgrade, but has one incompatible change:
spaces are no longer required around expression operators, including
string comparisons. However, you can now use quoting to keep strings
together for comparison. For more details, please read the
doc/README.variables file, and check over your dialplan for possible
problems.
Agents:
* The default for ackcall has been changed to "no" instead of "yes"
because of a bug which caused the "yes" behavior to generally act like
"no". You may need to adjust the value if your agents behave
differently than you expect with respect to acknowledgement.
* The AgentCallBackLogin application now requires a second '|' before
specifying an extension@context. This is to distinguish the options
string from the extension, so that they do not conflict. See
'show application AgentCallbackLogin' for more details.
Parking:
* Parking behavior has changed slightly; when a parked call times out,
Asterisk will attempt to deliver the call back to the extension that
parked it, rather than the 's' extension. If that extension is busy
or unavailable, the parked call will be lost.
Dialing:
* The Caller*ID of the outbound leg is now the extension that was
called, rather than the Caller*ID of the inbound leg of the call. The
"o" flag for Dial can be used to restore the original behavior if
desired. Note that if you are looking for the originating callerid
from the manager event, there is a new manager event "Dial" which
provides the source and destination channels and callerid.
IAX:
* The naming convention for IAX channels has changed in two ways:
1. The call number follows a "-" rather than a "/" character.
2. The name of the channel has been simplified to IAX2/peer-callno,
rather than IAX2/peer@peer-callno or even IAX2/peer@peer/callno.
SIP:
* The global option "port" in 1.0.X that is used to set which port to
bind to has been changed to "bindport" to be more consistent with
the other channel drivers and to avoid confusion with the "port"
option for users/peers.
* The "Registry" event now uses "Username" rather than "User" for
consistency with IAX.
Applications:
* With the addition of dialplan functions (which operate similarly
to variables), the SetVar application has been renamed to Set.
* The CallerPres application has been removed. Use SetCallerPres
instead. It accepts both numeric and symbolic names.
* The applications GetGroupCount, GetGroupMatchCount, SetGroup, and
CheckGroup have been deprecated in favor of functions. Here is a
table of their replacements:
GetGroupCount([groupname][@category] GROUP_COUNT([groupname][@category]) Set(GROUPCOUNT=${GROUP_COUNT()})
GroupMatchCount(groupmatch[@category]) GROUP_MATCH_COUNT(groupmatch[@category]) Set(GROUPCOUNT=${GROUP_MATCH_COUNT(SIP/.*)})
SetGroup(groupname[@category]) GROUP([category])=groupname Set(GROUP()=test)
CheckGroup(max[@category]) N/A GotoIf($[ ${GROUP_COUNT()} > 5 ]?103)
Note that CheckGroup does not have a direct replacement. There is
also a new function called GROUP_LIST() which will return a space
separated list of all of the groups set on a channel. The GROUP()
function can also return the name of the group set on a channel when
used in a read environment.
* The applications DBGet and DBPut have been deprecated in favor of
functions. Here is a table of their replacements:
DBGet(foo=family/key) Set(foo=${DB(family/key)})
DBPut(family/key=${foo}) Set(DB(family/key)=${foo})
* The application SetLanguage has been deprecated in favor of the
function LANGUAGE().
SetLanguage(fr) Set(LANGUAGE()=fr)
The LANGUAGE function can also return the currently set language:
Set(MYLANG=${LANGUAGE()})
* The applications AbsoluteTimeout, DigitTimeout, and ResponseTimeout
have been deprecated in favor of the function TIMEOUT(timeouttype):
AbsoluteTimeout(300) Set(TIMEOUT(absolute)=300)
DigitTimeout(15) Set(TIMEOUT(digit)=15)
ResponseTimeout(15) Set(TIMEOUT(response)=15)
The TIMEOUT() function can also return the currently set timeouts:
Set(DTIMEOUT=${TIMEOUT(digit)})
* The applications SetCIDName, SetCIDNum, and SetRDNIS have been
deprecated in favor of the CALLERID(datatype) function:
SetCIDName(Joe Cool) Set(CALLERID(name)=Joe Cool)
SetCIDNum(2025551212) Set(CALLERID(number)=2025551212)
SetRDNIS(2024561414) Set(CALLERID(RDNIS)=2024561414)
* The application Record now uses the period to separate the filename
from the format, rather than the colon.
* The application VoiceMail now supports a 'temporary' greeting for each
mailbox. This greeting can be recorded by using option 4 in the
'mailbox options' menu, and 'change your password' option has been
moved to option 5.
* The application VoiceMailMain now only matches the 'default' context if
none is specified in the arguments. (This was the previously
documented behavior, however, we didn't follow that behavior.) The old
behavior can be restored by setting searchcontexts=yes in voicemail.conf.
Queues:
* A queue is now considered empty not only if there are no members but if
none of the members are available (e.g. agents not logged on). To
restore the original behavior, use "leavewhenempty=strict" or
"joinwhenempty=strict" instead of "=yes" for those options.
* It is now possible to use multi-digit extensions in the exit context
for a queue (although you should not have overlapping extensions,
as there is no digit timeout). This means that the EXITWITHKEY event
in queue_log can now contain a key field with more than a single
character in it.
Extensions:
* By default, there is a new option called "autofallthrough" in
extensions.conf that is set to yes. Asterisk 1.0 (and earlier)
behavior was to wait for an extension to be dialed after there were no
more extensions to execute. "autofallthrough" changes this behavior
so that the call will immediately be terminated with BUSY,
CONGESTION, or HANGUP based on Asterisk's best guess. If you are
writing an extension for IVR, you must use the WaitExten application
if "autofallthrough" is set to yes.
AGI:
* AGI scripts did not always get SIGHUP at the end, previously. That
behavior has been fixed. If you do not want your script to terminate
at the end of AGI being called (e.g. on a hangup) then set SIGHUP to
be ignored within your application.
* CallerID is reported with agi_callerid and agi_calleridname instead
of a single parameter holding both.
Music On Hold:
* The preferred format for musiconhold.conf has changed; please see the
sample configuration file for the new format. The existing format
is still supported but will generate warnings when the module is loaded.
chan_modem:
* All the chan_modem channel drivers (aopen, bestdata and i4l) are deprecated
in this release, and will be removed in the next major Asterisk release.
Please migrate to chan_misdn for ISDN interfaces; there is no upgrade
path for aopen and bestdata modem users.
MeetMe:
* The conference application now allows users to increase/decrease their
speaking volume and listening volume (independently of each other and
other users); the 'admin' and 'user' menus have changed, and new sound
files are included with this release. However, if a user calling in
over a Zaptel channel that does NOT have hardware DTMF detection
increases their speaking volume, it is likely they will no longer be
able to enter/exit the menu or make any further adjustments, as the
software DTMF detector will not be able to recognize the DTMF coming
from their device.
GetVar Manager Action:
* Previously, the behavior of the GetVar manager action reported the value
of a variable in the following manner:
> name: value
This has been changed to a manner similar to the SetVar action and is now
> Variable: name
> Value: value

340
acl.c Executable file → Normal file
View File

@@ -1,14 +1,25 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Various sorts of access control
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Various sorts of access control
*
*/
#include <stdio.h>
@@ -18,25 +29,50 @@
#include <signal.h>
#include <errno.h>
#include <unistd.h>
#include <asterisk/acl.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/utils.h>
#include <asterisk/lock.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netdb.h>
#include <net/if.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <sys/ioctl.h>
#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
#include <fcntl.h>
#include <net/route.h>
AST_MUTEX_DEFINE_STATIC(routeseq_lock);
#endif
#if defined(SOLARIS)
#include <sys/sockio.h>
#endif
/* netinet/ip.h may not define the following (See RFCs 791 and 1349) */
#if !defined(IPTOS_LOWCOST)
#define IPTOS_LOWCOST 0x02
#endif
#if !defined(IPTOS_MINCOST)
#define IPTOS_MINCOST IPTOS_LOWCOST
#endif
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/acl.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/options.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#include "asterisk/srv.h"
#include "asterisk/compat.h"
#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
AST_MUTEX_DEFINE_STATIC(routeseq_lock);
#endif
struct ast_ha {
/* Host access rule */
@@ -77,12 +113,10 @@ static void ast_copy_ha(struct ast_ha *from, struct ast_ha *to)
static struct ast_ha *ast_duplicate_ha(struct ast_ha *original)
{
struct ast_ha *new_ha = malloc(sizeof(struct ast_ha));
/* Copy from original to new object */
ast_copy_ha(original, new_ha);
return(new_ha);
return new_ha;
}
/* Create duplicate HA link list */
@@ -93,7 +127,7 @@ struct ast_ha *ast_duplicate_ha_list(struct ast_ha *original)
struct ast_ha *ret = NULL;
struct ast_ha *link,*prev=NULL;
while(start) {
while (start) {
link = ast_duplicate_ha(start); /* Create copy of this object */
if (prev)
prev->next = link; /* Link previous to this object */
@@ -104,34 +138,34 @@ struct ast_ha *ast_duplicate_ha_list(struct ast_ha *original)
start = start->next; /* Go to next object */
prev = link; /* Save pointer to this object */
}
return (ret); /* Return start of list */
return ret; /* Return start of list */
}
struct ast_ha *ast_append_ha(char *sense, char *stuff, struct ast_ha *path)
{
struct ast_ha *ha = malloc(sizeof(struct ast_ha));
char *nm="255.255.255.255";
char tmp[256] = "";
char *nm = "255.255.255.255";
char tmp[256];
struct ast_ha *prev = NULL;
struct ast_ha *ret;
int x,z;
int x, z;
unsigned int y;
ret = path;
while(path) {
while (path) {
prev = path;
path = path->next;
}
if (ha) {
strncpy(tmp, stuff, sizeof(tmp) - 1);
ast_copy_string(tmp, stuff, sizeof(tmp));
nm = strchr(tmp, '/');
if (!nm)
if (!nm) {
nm = "255.255.255.255";
else {
} else {
*nm = '\0';
nm++;
}
if (!strchr(nm, '.')) {
if ((sscanf(nm, "%i", &x) == 1) && (x >= 0) && (x <= 32)) {
if ((sscanf(nm, "%d", &x) == 1) && (x >= 0) && (x <= 32)) {
y = 0;
for (z=0;z<x;z++) {
y >>= 1;
@@ -140,12 +174,12 @@ struct ast_ha *ast_append_ha(char *sense, char *stuff, struct ast_ha *path)
ha->netmask.s_addr = htonl(y);
}
} else if (!inet_aton(nm, &ha->netmask)) {
ast_log(LOG_WARNING, "%s not a valid netmask\n", nm);
ast_log(LOG_WARNING, "%s is not a valid netmask\n", nm);
free(ha);
return path;
}
if (!inet_aton(tmp, &ha->netaddr)) {
ast_log(LOG_WARNING, "%s not a valid IP\n", tmp);
ast_log(LOG_WARNING, "%s is not a valid IP\n", tmp);
free(ha);
return path;
}
@@ -156,12 +190,13 @@ struct ast_ha *ast_append_ha(char *sense, char *stuff, struct ast_ha *path)
ha->sense = AST_SENSE_DENY;
}
ha->next = NULL;
if (prev)
if (prev) {
prev->next = ha;
else
} else {
ret = ha;
}
}
ast_log(LOG_DEBUG, "%s/%s appended to acl for peer\n",stuff, nm);
ast_log(LOG_DEBUG, "%s/%s appended to acl for peer\n", stuff, nm);
return ret;
}
@@ -169,7 +204,7 @@ int ast_apply_ha(struct ast_ha *ha, struct sockaddr_in *sin)
{
/* Start optimistic */
int res = AST_SENSE_ALLOW;
while(ha) {
while (ha) {
char iabuf[INET_ADDRSTRLEN];
char iabuf2[INET_ADDRSTRLEN];
/* DEBUG */
@@ -179,17 +214,29 @@ int ast_apply_ha(struct ast_ha *ha, struct sockaddr_in *sin)
ast_inet_ntoa(iabuf2, sizeof(iabuf2), ha->netaddr));
/* For each rule, if this address and the netmask = the net address
apply the current rule */
if ((sin->sin_addr.s_addr & ha->netmask.s_addr) == (ha->netaddr.s_addr))
if ((sin->sin_addr.s_addr & ha->netmask.s_addr) == ha->netaddr.s_addr)
res = ha->sense;
ha = ha->next;
}
return res;
}
int ast_get_ip(struct sockaddr_in *sin, char *value)
int ast_get_ip_or_srv(struct sockaddr_in *sin, const char *value, const char *service)
{
struct hostent *hp;
struct ast_hostent ahp;
char srv[256];
char host[256];
int tportno = ntohs(sin->sin_port);
if (inet_aton(value, &sin->sin_addr))
return 0;
if (service) {
snprintf(srv, sizeof(srv), "%s.%s", service, value);
if (ast_get_srv(NULL, host, sizeof(host), &tportno, srv) > 0) {
sin->sin_port = htons(tportno);
value = host;
}
}
hp = ast_gethostbyname(value, &ahp);
if (hp) {
memcpy(&sin->sin_addr, hp->h_addr, sizeof(sin->sin_addr));
@@ -200,182 +247,109 @@ int ast_get_ip(struct sockaddr_in *sin, char *value)
return 0;
}
int ast_str2tos(const char *value, int *tos)
{
int fval;
if (sscanf(value, "%i", &fval) == 1)
*tos = fval & 0xff;
else if (!strcasecmp(value, "lowdelay"))
*tos = IPTOS_LOWDELAY;
else if (!strcasecmp(value, "throughput"))
*tos = IPTOS_THROUGHPUT;
else if (!strcasecmp(value, "reliability"))
*tos = IPTOS_RELIABILITY;
else if (!strcasecmp(value, "mincost"))
*tos = IPTOS_MINCOST;
else if (!strcasecmp(value, "none"))
*tos = 0;
else
return -1;
return 0;
}
int ast_get_ip(struct sockaddr_in *sin, const char *value)
{
return ast_get_ip_or_srv(sin, value, NULL);
}
/* iface is the interface (e.g. eth0); address is the return value */
int ast_lookup_iface(char *iface, struct in_addr *address) {
int ast_lookup_iface(char *iface, struct in_addr *address)
{
int mysock, res = 0;
struct my_ifreq ifreq;
memset(&ifreq, 0, sizeof(ifreq));
strncpy(ifreq.ifrn_name,iface,sizeof(ifreq.ifrn_name) - 1);
ast_copy_string(ifreq.ifrn_name, iface, sizeof(ifreq.ifrn_name));
mysock = socket(PF_INET,SOCK_DGRAM,IPPROTO_IP);
res = ioctl(mysock,SIOCGIFADDR,&ifreq);
mysock = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
res = ioctl(mysock, SIOCGIFADDR, &ifreq);
close(mysock);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to get IP of %s: %s\n", iface, strerror(errno));
memcpy((char *)address,(char *)&__ourip,sizeof(__ourip));
memcpy((char *)address, (char *)&__ourip, sizeof(__ourip));
return -1;
} else {
memcpy((char *)address,(char *)&ifreq.ifru_addr.sin_addr,sizeof(ifreq.ifru_addr.sin_addr));
memcpy((char *)address, (char *)&ifreq.ifru_addr.sin_addr, sizeof(ifreq.ifru_addr.sin_addr));
return 0;
}
}
int ast_ouraddrfor(struct in_addr *them, struct in_addr *us)
{
#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
struct sockaddr_in *sin;
struct sockaddr *sa;
struct {
struct rt_msghdr m_rtm;
char m_space[512];
} m_rtmsg;
char iabuf[INET_ADDRSTRLEN];
char *cp, *p;
int i, l, s, seq, flags;
pid_t pid = getpid();
static int routeseq; /* Protected by "routeseq_lock" mutex */
int s;
struct sockaddr_in sin;
socklen_t slen;
p = ast_strdupa(ast_inet_ntoa(iabuf, sizeof(iabuf), *them));
memset(us, 0, sizeof(struct in_addr));
memset(&m_rtmsg, 0, sizeof(m_rtmsg));
m_rtmsg.m_rtm.rtm_type = RTM_GET;
m_rtmsg.m_rtm.rtm_flags = RTF_UP | RTF_HOST;
m_rtmsg.m_rtm.rtm_version = RTM_VERSION;
ast_mutex_lock(&routeseq_lock);
seq = ++routeseq;
ast_mutex_unlock(&routeseq_lock);
m_rtmsg.m_rtm.rtm_seq = seq;
m_rtmsg.m_rtm.rtm_addrs = RTA_IFA | RTA_DST;
m_rtmsg.m_rtm.rtm_msglen = sizeof(struct rt_msghdr) + sizeof(struct sockaddr_in);
sin = (struct sockaddr_in *)m_rtmsg.m_space;
sin->sin_family = AF_INET;
sin->sin_len = sizeof(struct sockaddr_in);
sin->sin_addr = *them;
if ((s = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) {
ast_log(LOG_ERROR, "Error opening routing socket\n");
s = socket(PF_INET, SOCK_DGRAM, 0);
if (s < 0) {
ast_log(LOG_WARNING, "Cannot create socket\n");
return -1;
}
flags = fcntl(s, F_GETFL);
fcntl(s, F_SETFL, flags | O_NONBLOCK);
if (write(s, (char *)&m_rtmsg, m_rtmsg.m_rtm.rtm_msglen) < 0) {
ast_log(LOG_ERROR, "Error writing to routing socket: %s\n", strerror(errno));
sin.sin_family = AF_INET;
sin.sin_port = 5060;
sin.sin_addr = *them;
if (connect(s, (struct sockaddr *)&sin, sizeof(sin))) {
ast_log(LOG_WARNING, "Cannot connect\n");
close(s);
return -1;
}
do {
l = read(s, (char *)&m_rtmsg, sizeof(m_rtmsg));
} while (l > 0 && (m_rtmsg.m_rtm.rtm_seq != 1 || m_rtmsg.m_rtm.rtm_pid != pid));
if (l < 0) {
if (errno != EAGAIN)
ast_log(LOG_ERROR, "Error reading from routing socket\n");
slen = sizeof(sin);
if (getsockname(s, (struct sockaddr *)&sin, &slen)) {
ast_log(LOG_WARNING, "Cannot get socket name\n");
close(s);
return -1;
}
close(s);
if (m_rtmsg.m_rtm.rtm_version != RTM_VERSION) {
ast_log(LOG_ERROR, "Unsupported route socket protocol version\n");
return -1;
}
if (m_rtmsg.m_rtm.rtm_msglen != l)
ast_log(LOG_WARNING, "Message length mismatch, in packet %d, returned %d\n",
m_rtmsg.m_rtm.rtm_msglen, l);
if (m_rtmsg.m_rtm.rtm_errno) {
ast_log(LOG_ERROR, "RTM_GET got %s (%d)\n",
strerror(m_rtmsg.m_rtm.rtm_errno), m_rtmsg.m_rtm.rtm_errno);
return -1;
}
cp = (char *)m_rtmsg.m_space;
if (m_rtmsg.m_rtm.rtm_addrs)
for (i = 1; i; i <<= 1)
if (m_rtmsg.m_rtm.rtm_addrs & i) {
sa = (struct sockaddr *)cp;
if (i == RTA_IFA && sa->sa_family == AF_INET) {
sin = (struct sockaddr_in *)sa;
*us = sin->sin_addr;
ast_log(LOG_DEBUG, "Found route to %s, output from our address %s.\n", p, ast_inet_ntoa(iabuf, sizeof(iabuf), *us));
return 0;
}
cp += sa->sa_len > 0 ?
(1 + ((sa->sa_len - 1) | (sizeof(long) - 1))) :
sizeof(long);
}
ast_log(LOG_DEBUG, "No route found for address %s!\n", p);
return -1;
#else
FILE *PROC;
unsigned int remote_ip;
int res = 1;
char line[256];
remote_ip = them->s_addr;
PROC = fopen("/proc/net/route","r");
if (!PROC) {
bzero(us,sizeof(struct in_addr));
return -1;
}
/* First line contains headers */
fgets(line,sizeof(line),PROC);
while (!feof(PROC)) {
char iface[256];
unsigned int dest, gateway, mask;
int i,fieldnum;
char *fields[40];
fgets(line,sizeof(line),PROC);
fieldnum = 0;
for (i=0;i<sizeof(line);i++) {
char *offset;
fields[fieldnum++] = line + i;
offset = strchr(line + i,'\t');
if (offset == NULL) {
/* Exit loop */
break;
} else if (fieldnum >= 9) {
/* Short-circuit: can't break at 8, since the end of field 7 is figured when fieldnum=8 */
break;
} else {
*offset = '\0';
i = offset - line;
}
}
if (fieldnum >= 8) {
sscanf(fields[0],"%s",iface);
sscanf(fields[1],"%x",&dest);
sscanf(fields[2],"%x",&gateway);
sscanf(fields[7],"%x",&mask);
#if 0
{ char iabuf[INET_ADDRSTRLEN];
printf("Addr: %s %08x Dest: %08x Mask: %08x\n", ast_inet_ntoa(iabuf, sizeof(iabuf), *them), remote_ip, dest, mask); }
#endif
/* Looks simple, but here is the magic */
if (((remote_ip & mask) ^ dest) == 0) {
res = ast_lookup_iface(iface,us);
break;
}
}
}
fclose(PROC);
if (res == 1) {
ast_log(LOG_WARNING, "Yikes! No default route?!!\n");
bzero(us,sizeof(struct in_addr));
return -2;
} else if (res) {
/* We've already warned in subroutine */
return -1;
}
*us = sin.sin_addr;
return 0;
#endif
}
int ast_find_ourip(struct in_addr *ourip, struct sockaddr_in bindaddr)
{
char ourhost[MAXHOSTNAMELEN] = "";
struct ast_hostent ahp;
struct hostent *hp;
struct in_addr saddr;
/* just use the bind address if it is nonzero */
if (ntohl(bindaddr.sin_addr.s_addr)) {
memcpy(ourip, &bindaddr.sin_addr, sizeof(*ourip));
return 0;
}
/* try to use our hostname */
if (gethostname(ourhost, sizeof(ourhost) - 1)) {
ast_log(LOG_WARNING, "Unable to get hostname\n");
} else {
hp = ast_gethostbyname(ourhost, &ahp);
if (hp) {
memcpy(ourip, hp->h_addr, sizeof(*ourip));
return 0;
}
}
/* A.ROOT-SERVERS.NET. */
if (inet_aton("198.41.0.4", &saddr) && !ast_ouraddrfor(&saddr, ourip))
return 0;
return -1;
}

4
aescrypt.c Executable file → Normal file
View File

@@ -30,7 +30,9 @@
---------------------------------------------------------------------------
Issue Date: 26/08/2003
This file contains the code for implementing encryption and decryption
*/
/*! \file
\brief This file contains the code for implementing encryption and decryption
for AES (Rijndael) for block and key sizes of 16, 24 and 32 bytes. It
can optionally be replaced by code written in assembler using NASM. For
further details see the file aesopt.h

4
aeskey.c Executable file → Normal file
View File

@@ -30,7 +30,9 @@
---------------------------------------------------------------------------
Issue Date: 26/08/2003
This file contains the code for implementing the key schedule for AES
*/
/*! \file
\brief This file contains the code for implementing the key schedule for AES
(Rijndael) for block and key sizes of 16, 24, and 32 bytes. See aesopt.h
for further details including optimisation.
*/

22
aesopt.h Executable file → Normal file
View File

@@ -135,7 +135,8 @@
#ifndef _AESOPT_H
#define _AESOPT_H
#include <asterisk/aes.h>
#include "asterisk/aes.h"
#include "asterisk/endian.h"
/* CONFIGURATION - USE OF DEFINES
@@ -146,25 +147,6 @@
#if clauses.
*/
/* PLATFORM SPECIFIC INCLUDES */
#if defined( __OpenBSD__ )
# include <machine/types.h>
# include <sys/endian.h>
#elif defined( __FreeBSD__ ) || defined( __NetBSD__ )
# include <sys/types.h>
# include <sys/endian.h>
#elif defined( BSD ) && ( BSD >= 199103 ) || defined(__APPLE__)
# include <machine/endian.h>
#elif defined( __GNUC__ ) || defined( __GNU_LIBRARY__ )
# include <endian.h>
#if !defined(__APPLE__)
# include <byteswap.h>
#endif
#elif defined( linux )
# include <endian.h>
#endif
/* BYTE ORDER IN 32-BIT WORDS
To obtain the highest speed on processors with 32-bit words, this code

0
aestab.c Executable file → Normal file
View File

View File

@@ -1,3 +0,0 @@
eagi-test
eagi-sphinx-test
.depend

0
agi/DialAnMp3.agi Executable file → Normal file
View File

21
agi/Makefile Executable file → Normal file
View File

@@ -1,11 +1,11 @@
#
# Asterisk -- A telephony toolkit for Linux.
#
# Makefile for PBX frontends (dynamically loaded)
# Makefile for AGI-related stuff
#
# Copyright (C) 1999, Mark Spencer
# Copyright (C) 1999-2005, Digium
#
# Mark Spencer <markster@linux-support.net>
# Mark Spencer <markster@digium.com>
#
# This program is free software, distributed under the terms of
# the GNU General Public License
@@ -15,6 +15,15 @@ AGIS=agi-test.agi eagi-test eagi-sphinx-test
CFLAGS+=
LIBS=
ifeq ($(OSARCH),SunOS)
LIBS=-lsocket -lnsl ../strcompat.o
endif
ifeq ($(findstring BSD,${OSARCH}),BSD)
CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include -L$(CROSS_COMPILE_TARGET)/usr/local/lib
endif
all: depend $(AGIS)
install: all
@@ -22,10 +31,10 @@ install: all
for x in $(AGIS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(AGI_DIR) ; done
eagi-test: eagi-test.o
$(CC) $(CFLAGS) -o eagi-test eagi-test.o
$(CC) $(CFLAGS) -o eagi-test eagi-test.o $(LIBS)
eagi-sphinx-test: eagi-sphinx-test.o
$(CC) $(CFLAGS) -o eagi-sphinx-test eagi-sphinx-test.o
$(CC) $(CFLAGS) -o eagi-sphinx-test eagi-sphinx-test.o $(LIBS)
clean:
rm -f *.so *.o look .depend eagi-test eagi-sphinx-test
@@ -40,4 +49,4 @@ endif
depend: .depend
.depend:
../mkdep $(CFLAGS) `ls *.c`
../build_tools/mkdep $(CFLAGS) `ls *.c`

0
agi/agi-test.agi Executable file → Normal file
View File

1
agi/eagi-sphinx-test.c Executable file → Normal file
View File

@@ -17,6 +17,7 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <asterisk/compat.h>
#define AUDIO_FILENO (STDERR_FILENO + 1)

1
agi/eagi-test.c Executable file → Normal file
View File

@@ -11,6 +11,7 @@
#include <errno.h>
#include <string.h>
#include <sys/select.h>
#include <asterisk/compat.h>
#define AUDIO_FILENO (STDERR_FILENO + 1)

0
agi/fastagi-test Executable file → Normal file
View File

0
agi/numeralize Executable file → Normal file
View File

29
alaw.c Executable file → Normal file
View File

@@ -1,17 +1,32 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* u-Law to Signed linear conversion
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <asterisk/alaw.h>
/*! \file
*
* \brief u-Law to Signed linear conversion
*
*/
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/alaw.h"
#define AMI_MASK 0x55

1001
app.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
.depend

111
apps/Makefile Executable file → Normal file
View File

@@ -1,57 +1,87 @@
#
# Asterisk -- A telephony toolkit for Linux.
#
# Makefile for PBX frontends (dynamically loaded)
# Makefile for PBX applications
#
# Copyright (C) 1999, Mark Spencer
# Copyright (C) 1999-2005, Digium
#
# Mark Spencer <markster@linux-support.net>
# Mark Spencer <markster@digium.com>
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#
USE_MYSQL_VM_INTERFACE=0
USE_POSTGRES_VM_INTERFACE=0
#APPS=app_dial.so app_playback.so app_directory.so app_intercom.so app_mp3.so
APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_mp3.so\
app_system.so app_echo.so app_record.so app_image.so app_url.so app_disa.so \
app_qcall.so app_adsiprog.so app_getcpeid.so app_milliwatt.so \
app_adsiprog.so app_getcpeid.so app_milliwatt.so \
app_zapateller.so app_setcallerid.so app_festival.so \
app_queue.so app_senddtmf.so app_parkandannounce.so app_striplsd.so \
app_setcidname.so app_lookupcidname.so app_substring.so app_macro.so \
app_queue.so app_senddtmf.so app_parkandannounce.so \
app_setcidname.so app_lookupcidname.so app_macro.so \
app_authenticate.so app_softhangup.so app_lookupblacklist.so \
app_waitforring.so app_privacy.so app_db.so app_chanisavail.so \
app_enumlookup.so app_transfer.so app_setcidnum.so app_cdr.so \
app_hasnewvoicemail.so app_sayunixtime.so app_cut.so app_read.so \
app_setcdruserfield.so app_random.so app_ices.so app_eval.so \
app_nbscat.so app_sendtext.so app_exec.so app_sms.so \
app_nbscat.so app_sendtext.so app_exec.so \
app_groupcount.so app_txtcidname.so app_controlplayback.so \
app_talkdetect.so app_alarmreceiver.so app_userevent.so app_verbose.so \
app_test.so app_forkcdr.so
ifneq (${OSARCH},Darwin)
APPS+=app_intercom.so
endif
app_test.so app_forkcdr.so app_math.so app_realtime.so \
app_dumpchan.so app_waitforsilence.so app_while.so app_setrdnis.so \
app_md5.so app_readfile.so app_chanspy.so app_settransfercapability.so \
app_dictate.so app_externalivr.so app_directed_pickup.so \
app_mixmonitor.so app_stack.so
#
# Obsolete things...
#
#APPS+=app_sql_postgres.so
#APPS+=app_sql_odbc.so
#
# Experimental things
#
#APPS+=app_ivrdemo.so
#APPS+=app_skel.so
#APPS+=app_rpt.so
APPS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
APPS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
APPS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "app_osplookup.so" ; fi)
ifndef WITHOUT_ZAPTEL
ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/zaptel.h),)
APPS+=app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so app_page.so
endif
endif # WITHOUT_ZAPTEL
ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/osp/osp.h $(CROSS_COMPILE_TARGET)/usr/include/osp/osp.h),)
APPS+=app_osplookup.so
endif
ifeq ($(findstring BSD,${OSARCH}),BSD)
CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include -L$(CROSS_COMPILE_TARGET)/usr/local/lib
endif
CURLLIBS=$(shell $(CROSS_COMPILE_BIN)curl-config --libs)
ifneq ($(shell if [[ 0x`$(CROSS_COMPILE_BIN)curl-config --vernum` -ge 0x70907 ]]; then echo "OK" ; fi),)
ifneq (${CURLLIBS},)
APPS+=app_curl.so
endif
endif
ifeq (${OSARCH},CYGWIN)
CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
CYGSOLIB=-L.. -L. -L../res -lasterisk.dll -lres_features.so -lres_adsi.so -lres_monitor.so
else
CFLAGS+=-fPIC
ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
CFLAGS+=-DUSEPOSTGRESVM
APPS+=app_sms.so
endif
ifeq ($(USE_MYSQL_VM_INTERFACE),1)
CFLAGS+=-DUSEMYSQLVM
endif
#
# If you have UnixODBC you can use ODBC voicemail
# storage
#
# Uncomment to use ODBC storage
#CFLAGS+=-DUSE_ODBC_STORAGE
# Uncomment for extended ODBC voicemail storage
#CFLAGS+=-DEXTENDED_ODBC_STORAGE
# See doc/README.odbcstorage for more information
all: $(APPS)
@@ -59,46 +89,45 @@ clean:
rm -f *.so *.o look .depend
%.so : %.o
$(CC) $(SOLINK) -o $@ $<
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}
app_rpt.so : app_rpt.o
$(CC) $(SOLINK) -o $@ $< -ltonezone
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -ltonezone
install: all
for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
rm -f $(DESTDIR)$(MODULES_DIR)/app_qcall.so
app_voicemail.so : app_voicemail.o
ifeq ($(USE_MYSQL_VM_INTERFACE),1)
$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql -lmysqlclient -lz
else
ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq
else
$(CC) $(SOLINK) -o $@ $(MLFLAGS) $<
endif
endif
app_curl.so: app_curl.o
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CURLLIBS)
app_sql_postgres.o: app_sql_postgres.c
$(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
app_sql_postgres.so: app_sql_postgres.o
$(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -L/usr/local/pgsql/lib -lpq
app_sql_odbc.so: app_sql_odbc.o
$(CC) $(SOLINK) -o $@ $< -lodbc
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -lodbc
look: look.c
$(CC) -pipe -O6 -g look.c -o look -lncurses
ifeq (SunOS,$(shell uname))
app_chanspy.so: app_chanspy.o
$(CC) $(SOLINK) -o $@ $< -lrt
endif
ifneq ($(wildcard .depend),)
include .depend
include .depend
endif
depend: .depend
.depend:
../mkdep $(CFLAGS) `ls *.c`
../build_tools/mkdep $(CFLAGS) `ls *.c`
env:
env

88
apps/app_adsiprog.c Executable file → Normal file
View File

@@ -1,26 +1,28 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Program Asterisk ADSI Scripts into phone
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief Program Asterisk ADSI Scripts into phone
*
* \ingroup applications
*/
#include <sys/types.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/adsi.h>
#include <asterisk/options.h>
#include <asterisk/utils.h>
#include <asterisk/lock.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <unistd.h>
@@ -30,8 +32,19 @@
#include <stdio.h>
#include <errno.h>
#include "../asterisk.h"
#include "../astconf.h"
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/adsi.h"
#include "asterisk/options.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
static char *tdesc = "Asterisk ADSI Programming Application";
@@ -42,9 +55,8 @@ static char *synopsis = "Load Asterisk ADSI Scripts into phone";
/* #define DUMP_MESSAGES */
static char *descrip =
" ADSIProg(script): Programs an ADSI Phone with the given script.\n"
"If none is specified, the default is used. Returns 0 unless CPE\n"
"is hungup.\n";
" ADSIProg(script): This application programs an ADSI Phone with the given\n"
"script. If nothing is specified, the default script (asterisk.adsi) is used.\n";
STANDARD_LOCAL_USER;
@@ -159,9 +171,9 @@ struct adsi_script {
struct adsi_flag flags[7];
/* Stuff from adsi script */
char sec[5];
unsigned char sec[5];
char desc[19];
char fdn[5];
unsigned char fdn[5];
int ver;
};
@@ -400,7 +412,7 @@ static struct adsi_flag *getflagbyname(struct adsi_script *state, char *name, ch
ast_log(LOG_WARNING, "No more flag space at line %d of %s\n", lineno, script);
return NULL;
}
strncpy(state->flags[state->numflags].vname, name, sizeof(state->flags[state->numflags].vname) - 1);
ast_copy_string(state->flags[state->numflags].vname, name, sizeof(state->flags[state->numflags].vname));
state->flags[state->numflags].id = state->numflags + 1;
state->numflags++;
return &state->flags[state->numflags-1];
@@ -503,7 +515,7 @@ static struct adsi_soft_key *getkeybyname(struct adsi_script *state, char *name,
ast_log(LOG_WARNING, "No more key space at line %d of %s\n", lineno, script);
return NULL;
}
strncpy(state->keys[state->numkeys].vname, name, sizeof(state->keys[state->numkeys].vname) - 1);
ast_copy_string(state->keys[state->numkeys].vname, name, sizeof(state->keys[state->numkeys].vname));
state->keys[state->numkeys].id = state->numkeys + 2;
state->numkeys++;
return &state->keys[state->numkeys-1];
@@ -519,7 +531,7 @@ static struct adsi_subscript *getsubbyname(struct adsi_script *state, char *name
ast_log(LOG_WARNING, "No more subscript space at line %d of %s\n", lineno, script);
return NULL;
}
strncpy(state->subs[state->numsubs].vname, name, sizeof(state->subs[state->numsubs].vname) - 1);
ast_copy_string(state->subs[state->numsubs].vname, name, sizeof(state->subs[state->numsubs].vname));
state->subs[state->numsubs].id = state->numsubs;
state->numsubs++;
return &state->subs[state->numsubs-1];
@@ -538,7 +550,7 @@ static struct adsi_state *getstatebyname(struct adsi_script *state, char *name,
ast_log(LOG_WARNING, "No more state space at line %d of %s\n", lineno, script);
return NULL;
}
strncpy(state->states[state->numstates].vname, name, sizeof(state->states[state->numstates].vname) - 1);
ast_copy_string(state->states[state->numstates].vname, name, sizeof(state->states[state->numstates].vname));
state->states[state->numstates].id = state->numstates + 1;
state->numstates++;
return &state->states[state->numstates-1];
@@ -557,7 +569,7 @@ static struct adsi_display *getdisplaybyname(struct adsi_script *state, char *na
ast_log(LOG_WARNING, "No more display space at line %d of %s\n", lineno, script);
return NULL;
}
strncpy(state->displays[state->numdisplays].vname, name, sizeof(state->displays[state->numdisplays].vname) - 1);
ast_copy_string(state->displays[state->numdisplays].vname, name, sizeof(state->displays[state->numdisplays].vname));
state->displays[state->numdisplays].id = state->numdisplays + 1;
state->numdisplays++;
return &state->displays[state->numdisplays-1];
@@ -1043,7 +1055,7 @@ static int adsi_process(struct adsi_script *state, char *buf, char *script, int
break;
}
} else {
strncpy(tmp2, tmp, sizeof(tmp2) - 1);
ast_copy_string(tmp2, tmp, sizeof(tmp2));
}
if (strlen(tmp2) > 18) {
ast_log(LOG_WARNING, "Truncating full name to 18 characters at line %d of %s\n", lineno, script);
@@ -1336,7 +1348,7 @@ static struct adsi_script *compile_script(char *script)
int x, err;
struct adsi_script *scr;
if (script[0] == '/')
strncpy(fn, script, sizeof(fn) - 1);
ast_copy_string(fn, script, sizeof(fn));
else
snprintf(fn, sizeof(fn), "%s/%s", (char *)ast_config_AST_CONFIG_DIR, script);
f = fopen(fn, "r");
@@ -1425,7 +1437,7 @@ static int adsi_prog(struct ast_channel *chan, char *script)
{
struct adsi_script *scr;
int x;
char buf[1024];
unsigned char buf[1024];
int bytes;
scr = compile_script(script);
if (!scr)
@@ -1540,9 +1552,12 @@ static int adsi_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
if (!data || ast_strlen_zero(data))
data = "asterisk.adsi";
LOCAL_USER_ADD(u);
if (ast_strlen_zero(data))
data = "asterisk.adsi";
if (!adsi_available(chan)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "ADSI Unavailable on CPE. Not bothering to try.\n");
@@ -1551,14 +1566,21 @@ static int adsi_exec(struct ast_channel *chan, void *data)
ast_verbose(VERBOSE_PREFIX_3 "ADSI Available on CPE. Attempting Upload.\n");
res = adsi_prog(chan, data);
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

139
apps/app_alarmreceiver.c Executable file → Normal file
View File

@@ -1,38 +1,34 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Central Station Alarm receiver for Ademco Contact ID
*
* Copyright (C) 2004 Steve Rodgers
* Copyright (C) 2004 - 2005 Steve Rodgers
*
* Steve Rodgers <hwstar@rodgers.sdcoxmail.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief Central Station Alarm receiver for Ademco Contact ID
* \author Steve Rodgers <hwstar@rodgers.sdcoxmail.com>
*
* *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
*
* Use at your own risk. Please consult the GNU GPL license document included with Asterisk details. *
*
* *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/ulaw.h>
#include <asterisk/options.h>
#include <asterisk/app.h>
#include <asterisk/dsp.h>
#include <asterisk/config.h>
#include <asterisk/localtime.h>
#include <asterisk/callerid.h>
#include <asterisk/astdb.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
@@ -41,6 +37,26 @@
#include <unistd.h>
#include <sys/time.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/ulaw.h"
#include "asterisk/options.h"
#include "asterisk/app.h"
#include "asterisk/dsp.h"
#include "asterisk/config.h"
#include "asterisk/localtime.h"
#include "asterisk/callerid.h"
#include "asterisk/astdb.h"
#define ALMRCV_CONFIG "alarmreceiver.conf"
#define ADEMCO_CONTACT_ID "ADEMCO_CONTACT_ID"
@@ -55,15 +71,17 @@ static char *tdesc = "Alarm Receiver for Asterisk";
static char *app = "AlarmReceiver";
static char *synopsis = "Provide support for receving alarm reports from a burglar or fire alarm panel\n";
static char *synopsis = "Provide support for receving alarm reports from a burglar or fire alarm panel";
static char *descrip =
"Alarm receiver application for Asterisk. Only 1 signalling format is supported at this time:\n"
"Ademco Contact ID. This application should be called whenever there is an alarm panel calling in\n"
"to dump its events. The application will handshake with the alarm panel, and receive events,\n"
"validate them, handshake them, and store them until the panel hangs up. Once the panel hangs up,\n"
"the application will run the command line specified by the eventcmd setting in alarmreceiver.conf\n"
"and pipe the events to the standard input of the application. Alarmreceiver.conf also contains settings\n"
"for DTMF timing, and for the loudness of the acknowledgement tones.\n";
" AlarmReceiver(): Only 1 signalling format is supported at this time: Ademco\n"
"Contact ID. This application should be called whenever there is an alarm\n"
"panel calling in to dump its events. The application will handshake with the\n"
"alarm panel, and receive events, validate them, handshake them, and store them\n"
"until the panel hangs up. Once the panel hangs up, the application will run the\n"
"system command specified by the eventcmd setting in alarmreceiver.conf and pipe\n"
"the events to the standard input of the application. The configuration file also\n"
"contains settings for DTMF timing, and for the loudness of the acknowledgement\n"
"tones.\n";
/* Config Variables */
@@ -103,7 +121,7 @@ static void database_increment( char *key )
char value[16];
if(!strlen(db_family))
if (ast_strlen_zero(db_family))
return; /* If not defined, don't do anything */
res = ast_db_get(db_family, key, value, sizeof(value) - 1);
@@ -213,20 +231,6 @@ static int send_tone_burst(struct ast_channel *chan, float freq, int duration, i
return res;
}
/*
* Return the difference in milliseconds between two timeval structs
*/
static int ms_diff(struct timeval *tv1, struct timeval *tv2){
int ms;
ms = (tv1->tv_sec - tv2->tv_sec) * 1000;
ms += (tv1->tv_usec - tv2->tv_usec) / 1000;
return(ms);
}
/*
* Receive a string of DTMF digits where the length of the digit string is known in advance. Do not give preferential
* treatment to any digit value, and allow separate time out values to be specified for the first digit and all subsequent
@@ -244,14 +248,12 @@ static int receive_dtmf_digits(struct ast_channel *chan, char *digit_string, int
int i = 0;
int r;
struct ast_frame *f;
struct timeval now, lastdigittime;
struct timeval lastdigittime;
gettimeofday(&lastdigittime,NULL);
lastdigittime = ast_tvnow();
for(;;){
gettimeofday(&now,NULL);
/* if outa time, leave */
if (ms_diff(&now,&lastdigittime) >
if (ast_tvdiff_ms(ast_tvnow(), lastdigittime) >
((i > 0) ? sdto : fdto)){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: DTMF Digit Timeout on %s\n", chan->name);
@@ -296,7 +298,7 @@ static int receive_dtmf_digits(struct ast_channel *chan, char *digit_string, int
if(i >= length)
break;
gettimeofday(&lastdigittime,NULL);
lastdigittime = ast_tvnow();
}
digit_string[i] = '\0'; /* Nul terminate the end of the digit string */
@@ -318,8 +320,8 @@ static int write_metadata( FILE *logfile, char *signalling_type, struct ast_chan
char timestamp[80];
/* Extract the caller ID location */
strncpy(workstring, chan->callerid, sizeof(workstring) - 1);
if (chan->cid.cid_num)
ast_copy_string(workstring, chan->cid.cid_num, sizeof(workstring));
workstring[sizeof(workstring) - 1] = '\0';
ast_callerid_parse(workstring, &cn, &cl);
@@ -394,11 +396,11 @@ static int log_events(struct ast_channel *chan, char *signalling_type, event_no
FILE *logfile;
event_node_t *elp = event;
if(strlen(event_spool_dir)){
if (!ast_strlen_zero(event_spool_dir)) {
/* Make a template */
strncpy(workstring, event_spool_dir, sizeof(workstring) - 1);
ast_copy_string(workstring, event_spool_dir, sizeof(workstring));
strncat(workstring, event_file, sizeof(workstring) - strlen(workstring) - 1);
/* Make the temporary file */
@@ -518,7 +520,7 @@ static int receive_ademco_contact_id( struct ast_channel *chan, void *data, int
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Incomplete string: %s, trying again...\n", event);
if(!got_some_digits){
got_some_digits = (strlen(event)) ? 1 : 0;
got_some_digits = (!ast_strlen_zero(event)) ? 1 : 0;
ack_retries++;
}
continue;
@@ -590,7 +592,7 @@ static int receive_ademco_contact_id( struct ast_channel *chan, void *data, int
memset(enew, 0, sizeof(event_node_t));
enew->next = NULL;
strncpy(enew->data, event, sizeof(enew->data) - 1);
ast_copy_string(enew->data, event, sizeof(enew->data));
/*
* Insert event onto end of list
@@ -653,17 +655,19 @@ static int alarmreceiver_exec(struct ast_channel *chan, void *data)
if (ast_set_write_format(chan,AST_FORMAT_ULAW)){
ast_log(LOG_WARNING, "AlarmReceiver: Unable to set write format to Mu-law on %s\n",chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
if (ast_set_read_format(chan,AST_FORMAT_ULAW)){
ast_log(LOG_WARNING, "AlarmReceiver: Unable to set read format to Mu-law on %s\n",chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
/* Set default values for this invokation of the application */
strncpy(signalling_type, ADEMCO_CONTACT_ID, sizeof(signalling_type) - 1);
ast_copy_string(signalling_type, ADEMCO_CONTACT_ID, sizeof(signalling_type));
/* Answer the channel if it is not already */
@@ -715,7 +719,7 @@ static int alarmreceiver_exec(struct ast_channel *chan, void *data)
* Do we exec a command line at the end?
*/
if((!res) && (strlen(event_app)) && (event_head)){
if((!res) && (!ast_strlen_zero(event_app)) && (event_head)){
ast_log(LOG_DEBUG,"Alarmreceiver: executing: %s\n", event_app);
ast_safe_system(event_app);
}
@@ -747,7 +751,7 @@ static int load_config(void)
/* Read in the config file */
cfg = ast_load(ALMRCV_CONFIG);
cfg = ast_config_load(ALMRCV_CONFIG);
if(!cfg){
@@ -760,7 +764,7 @@ static int load_config(void)
p = ast_variable_retrieve(cfg, "general", "eventcmd");
if(p){
strncpy(event_app, p, sizeof(event_app) - 1);
ast_copy_string(event_app, p, sizeof(event_app));
event_app[sizeof(event_app) - 1] = '\0';
}
@@ -800,24 +804,24 @@ static int load_config(void)
p = ast_variable_retrieve(cfg, "general", "eventspooldir");
if(p){
strncpy(event_spool_dir, p, sizeof(event_spool_dir) - 1);
ast_copy_string(event_spool_dir, p, sizeof(event_spool_dir));
event_spool_dir[sizeof(event_spool_dir) - 1] = '\0';
}
p = ast_variable_retrieve(cfg, "general", "timestampformat");
if(p){
strncpy(time_stamp_format, p, sizeof(time_stamp_format) - 1);
ast_copy_string(time_stamp_format, p, sizeof(time_stamp_format));
time_stamp_format[sizeof(time_stamp_format) - 1] = '\0';
}
p = ast_variable_retrieve(cfg, "general", "db-family");
if(p){
strncpy(db_family, p, sizeof(db_family) - 1);
ast_copy_string(db_family, p, sizeof(db_family));
db_family[sizeof(db_family) - 1] = '\0';
}
ast_destroy(cfg);
ast_config_destroy(cfg);
}
return 0;
@@ -830,8 +834,13 @@ static int load_config(void)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

146
apps/app_authenticate.c Executable file → Normal file
View File

@@ -1,32 +1,47 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Execute arbitrary authenticate commands
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief Execute arbitrary authenticate commands
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/app.h>
#include <asterisk/astdb.h>
#include <asterisk/utils.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/app.h"
#include "asterisk/astdb.h"
#include "asterisk/utils.h"
static char *tdesc = "Authentication Application";
static char *app = "Authenticate";
@@ -34,20 +49,24 @@ static char *app = "Authenticate";
static char *synopsis = "Authenticate a user";
static char *descrip =
" Authenticate(password[|options]): Requires a user to enter a"
"given password in order to continue execution. If the\n"
"password begins with the '/' character, it is interpreted as\n"
"a file which contains a list of valid passwords (1 per line).\n"
"an optional set of opions may be provided by concatenating any\n"
"of the following letters:\n"
" a - Set account code to the password that is entered\n"
" d - Interpret path as database key, not literal file\n"
" r - Remove database key upon successful entry (valid with 'd' only)\n"
"\n"
"When using a database key, the value associated with the key can be\n"
"anything.\n"
"Returns 0 if the user enters a valid password within three\n"
"tries, or -1 otherwise (or on hangup).\n";
" Authenticate(password[|options]): This application asks the caller to enter a\n"
"given password in order to continue dialplan execution. If the password begins\n"
"with the '/' character, it is interpreted as a file which contains a list of\n"
"valid passwords, listed 1 password per line in the file.\n"
" When using a database key, the value associated with the key can be anything.\n"
"Users have three attempts to authenticate before the channel is hung up. If the\n"
"passsword is invalid, the 'j' option is specified, and priority n+101 exists,\n"
"dialplan execution will continnue at this location.\n"
" Options:\n"
" a - Set the channels' account code to the password that is entered\n"
" d - Interpret the given path as database key, not a literal file\n"
" j - Support jumping to n+101 if authentication fails\n"
" m - Interpret the given path as a file which contains a list of account\n"
" codes and password hashes delimited with ':', listed one per line in\n"
" the file. When one of the passwords is matched, the channel will have\n"
" its account code set to the corresponding account code in the file.\n"
" r - Remove the database key upon successful entry (valid with 'd' only)\n"
;
STANDARD_LOCAL_USER;
@@ -56,17 +75,21 @@ LOCAL_USER_DECL;
static int auth_exec(struct ast_channel *chan, void *data)
{
int res=0;
int jump = 0;
int retries;
struct localuser *u;
char password[256]="";
char passwd[256];
char *opts;
char *prompt;
if (!data || ast_strlen_zero(data)) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Authenticate requires an argument(password)\n");
return -1;
}
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP) {
res = ast_answer(chan);
if (res) {
@@ -74,6 +97,7 @@ static int auth_exec(struct ast_channel *chan, void *data)
return -1;
}
}
strncpy(password, data, sizeof(password) - 1);
opts=strchr(password, '|');
if (opts) {
@@ -81,6 +105,8 @@ static int auth_exec(struct ast_channel *chan, void *data)
opts++;
} else
opts = "";
if (strchr(opts, 'j'))
jump = 1;
/* Start asking for password */
prompt = "agent-pass";
for (retries = 0; retries < 3; retries++) {
@@ -105,17 +131,44 @@ static int auth_exec(struct ast_channel *chan, void *data)
f = fopen(password, "r");
if (f) {
char buf[256] = "";
while(!feof(f)) {
char md5passwd[33] = "";
char *md5secret = NULL;
while (!feof(f)) {
fgets(buf, sizeof(buf), f);
if (!feof(f) && !ast_strlen_zero(buf)) {
buf[strlen(buf) - 1] = '\0';
if (!ast_strlen_zero(buf) && !strcmp(passwd, buf))
break;
if (strchr(opts, 'm')) {
md5secret = strchr(buf, ':');
if (md5secret == NULL)
continue;
*md5secret = '\0';
md5secret++;
ast_md5_hash(md5passwd, passwd);
if (!strcmp(md5passwd, md5secret)) {
if (strchr(opts, 'a'))
ast_cdr_setaccount(chan, buf);
break;
}
} else {
if (!strcmp(passwd, buf)) {
if (strchr(opts, 'a'))
ast_cdr_setaccount(chan, buf);
break;
}
}
}
}
fclose(f);
if (!ast_strlen_zero(buf) && !strcmp(passwd, buf))
break;
if (!ast_strlen_zero(buf)) {
if (strchr(opts, 'm')) {
if (md5secret && !strcmp(md5passwd, md5secret))
break;
} else {
if (!strcmp(passwd, buf))
break;
}
}
} else
ast_log(LOG_WARNING, "Unable to open file '%s' for authentication: %s\n", password, strerror(errno));
}
@@ -127,17 +180,19 @@ static int auth_exec(struct ast_channel *chan, void *data)
prompt="auth-incorrect";
}
if ((retries < 3) && !res) {
if (strchr(opts, 'a'))
if (strchr(opts, 'a') && !strchr(opts, 'm'))
ast_cdr_setaccount(chan, passwd);
res = ast_streamfile(chan, "auth-thankyou", chan->language);
if (!res)
res = ast_waitstream(chan, "");
} else {
if (!res)
res = ast_streamfile(chan, "vm-goodbye", chan->language);
if (!res)
res = ast_waitstream(chan, "");
res = -1;
if (jump && ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) {
res = 0;
} else {
if (!ast_streamfile(chan, "vm-goodbye", chan->language))
res = ast_waitstream(chan, "");
res = -1;
}
}
LOCAL_USER_REMOVE(u);
return res;
@@ -145,8 +200,13 @@ static int auth_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

55
apps/app_cdr.c Executable file → Normal file
View File

@@ -1,28 +1,47 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Applictions connected with CDR engine
*
* Copyright (C) 2003, Digium
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Martin Pycko <martinp@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief Applications connected with CDR engine
*
* \ingroup applications
*/
#include <sys/types.h>
#include <asterisk/channel.h>
#include <asterisk/module.h>
#include <asterisk/pbx.h>
#include <stdlib.h>
#include "asterisk.h"
static char *tdesc = "Make sure asterisk doesn't save CDR for a certain call";
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/channel.h"
#include "asterisk/module.h"
#include "asterisk/pbx.h"
static char *tdesc = "Tell Asterisk to not maintain a CDR for the current call";
static char *nocdr_descrip =
" NoCDR(): This application will tell Asterisk not to maintain a CDR for the\n"
"current call.\n";
static char *nocdr_descrip = "NoCDR(): makes sure there won't be any CDR written for a certain call";
static char *nocdr_app = "NoCDR";
static char *nocdr_synopsis = "Make sure asterisk doesn't save CDR for a certain call";
static char *nocdr_synopsis = "Tell Asterisk to not maintain a CDR for the current call";
STANDARD_LOCAL_USER;
@@ -30,17 +49,29 @@ LOCAL_USER_DECL;
static int nocdr_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
LOCAL_USER_ADD(u);
if (chan->cdr) {
ast_cdr_free(chan->cdr);
chan->cdr = NULL;
}
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(nocdr_app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(nocdr_app);
return res;
}
int load_module(void)

135
apps/app_chanisavail.c Executable file → Normal file
View File

@@ -1,48 +1,65 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Check if Channel is Available
*
* Copyright (C) 2003, Digium
*
* Mark Spencer <markster@digium.com>
* James Golovich <james@gnuinter.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
* James Golovich <james@gnuinter.net>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief Check if Channel is Available
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/app.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/ioctl.h>
static char *tdesc = "Check if channel is available";
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/app.h"
#include "asterisk/devicestate.h"
#include "asterisk/options.h"
static char *tdesc = "Check channel availability";
static char *app = "ChanIsAvail";
static char *synopsis = "Check if channel is available";
static char *synopsis = "Check channel availability";
static char *descrip =
" ChanIsAvail(Technology/resource[&Technology2/resource2...]): \n"
"Checks is any of the requested channels are available. If none\n"
"of the requested channels are available the new priority will be\n"
"n+101 (unless such a priority does not exist or on error, in which\n"
"case ChanIsAvail will return -1). If any of the requested channels\n"
"are available, the next priority will be n+1, the channel variable\n"
"${AVAILCHAN} will be set to the name of the available channel and\n"
"the ChanIsAvail app will return 0. ${AVAILORIGCHAN} is\n"
"the canonical channel name that was used to create the channel.\n";
" ChanIsAvail(Technology/resource[&Technology2/resource2...][|options]): \n"
"This application will check to see if any of the specified channels are\n"
"available. The following variables will be set by this application:\n"
" ${AVAILCHAN} - the name of the available channel, if one exists\n"
" ${AVAILORIGCHAN} - the canonical channel name that was used to create the channel\n"
" ${AVAILSTATUS} - the status code for the available channel\n"
" Options:\n"
" s - Consider the channel unavailable if the channel is in use at all\n"
" j - Support jumping to priority n+101 if no channel is available\n";
STANDARD_LOCAL_USER;
@@ -50,18 +67,29 @@ LOCAL_USER_DECL;
static int chanavail_exec(struct ast_channel *chan, void *data)
{
int res=-1;
int res=-1, inuse=-1, option_state=0, priority_jump=0;
int status;
struct localuser *u;
char info[512], tmp[512], *peers, *tech, *number, *rest, *cur;
char *info, tmp[512], trychan[512], *peers, *tech, *number, *rest, *cur, *options, *stringp;
struct ast_channel *tempchan;
if (!data) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "ChanIsAvail requires an argument (Zap/1&Zap/2)\n");
return -1;
}
LOCAL_USER_ADD(u);
strncpy(info, (char *)data, sizeof(info)-1);
info = ast_strdupa(data);
stringp = info;
strsep(&stringp, "|");
options = strsep(&stringp, "|");
if (options) {
if (strchr(options, 's'))
option_state = 1;
if (strchr(options, 'j'))
priority_jump = 1;
}
peers = info;
if (peers) {
cur = peers;
@@ -76,31 +104,47 @@ static int chanavail_exec(struct ast_channel *chan, void *data)
number = strchr(tech, '/');
if (!number) {
ast_log(LOG_WARNING, "ChanIsAvail argument takes format ([technology]/[device])\n");
LOCAL_USER_REMOVE(u);
return -1;
}
*number = '\0';
number++;
if ((tempchan = ast_request(tech, chan->nativeformats, number))) {
if (option_state) {
/* If the pbx says in use then don't bother trying further.
This is to permit testing if someone's on a call, even if the
channel can permit more calls (ie callwaiting, sip calls, etc). */
snprintf(trychan, sizeof(trychan), "%s/%s",cur,number);
status = inuse = ast_device_state(trychan);
}
if ((inuse <= 1) && (tempchan = ast_request(tech, chan->nativeformats, number, &status))) {
pbx_builtin_setvar_helper(chan, "AVAILCHAN", tempchan->name);
/* Store the originally used channel too */
snprintf(tmp, sizeof(tmp), "%s/%s", tech, number);
pbx_builtin_setvar_helper(chan, "AVAILORIGCHAN", tmp);
snprintf(tmp, sizeof(tmp), "%d", status);
pbx_builtin_setvar_helper(chan, "AVAILSTATUS", tmp);
ast_hangup(tempchan);
tempchan = NULL;
res = 1;
break;
} else {
snprintf(tmp, sizeof(tmp), "%d", status);
pbx_builtin_setvar_helper(chan, "AVAILSTATUS", tmp);
}
cur = rest;
} while (cur);
}
if (res < 1) {
pbx_builtin_setvar_helper(chan, "AVAILCHAN", "");
pbx_builtin_setvar_helper(chan, "AVAILORIGCHAN", "");
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority+=100;
else
return -1;
if (priority_jump || option_priority_jumping) {
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) {
LOCAL_USER_REMOVE(u);
return -1;
}
}
}
LOCAL_USER_REMOVE(u);
@@ -109,8 +153,13 @@ static int chanavail_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res = 0;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

587
apps/app_chanspy.c Normal file
View File

@@ -0,0 +1,587 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2005 Anthony Minessale II (anthmct@yahoo.com)
*
* Disclaimed to Digium
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief ChanSpy: Listen in on any channel.
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <ctype.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/chanspy.h"
#include "asterisk/features.h"
#include "asterisk/options.h"
#include "asterisk/app.h"
#include "asterisk/utils.h"
#include "asterisk/say.h"
#include "asterisk/pbx.h"
#include "asterisk/translate.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
AST_MUTEX_DEFINE_STATIC(modlock);
#define AST_NAME_STRLEN 256
#define ALL_DONE(u, ret) LOCAL_USER_REMOVE(u); return ret;
#define get_volfactor(x) x ? ((x > 0) ? (1 << x) : ((1 << abs(x)) * -1)) : 0
static const char *synopsis = "Listen to the audio of an active channel\n";
static const char *app = "ChanSpy";
static const char *desc =
" ChanSpy([chanprefix][|options]): This application is used to listen to the\n"
"audio from an active Asterisk channel. This includes the audio coming in and\n"
"out of the channel being spied on. If the 'chanprefix' parameter is specified,\n"
"only channels beginning with this string will be spied upon.\n"
" While Spying, the following actions may be performed:\n"
" - Dialing # cycles the volume level.\n"
" - Dialing * will stop spying and look for another channel to spy on.\n"
" - Dialing a series of digits followed by # builds a channel name to append\n"
" to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing\n"
" the digits '1234#' while spying will begin spying on the channel,\n"
" 'Agent/1234'.\n"
" Options:\n"
" b - Only spy on channels involved in a bridged call.\n"
" g(grp) - Match only channels where their ${SPYGROUP} variable is set to\n"
" 'grp'.\n"
" q - Don't play a beep when beginning to spy on a channel.\n"
" r[(basename)] - Record the session to the monitor spool directory. An\n"
" optional base for the filename may be specified. The\n"
" default is 'chanspy'.\n"
" v([value]) - Adjust the initial volume in the range from -4 to 4. A\n"
" negative value refers to a quieter setting.\n"
;
static const char *chanspy_spy_type = "ChanSpy";
enum {
OPTION_QUIET = (1 << 0), /* Quiet, no announcement */
OPTION_BRIDGED = (1 << 1), /* Only look at bridged calls */
OPTION_VOLUME = (1 << 2), /* Specify initial volume */
OPTION_GROUP = (1 << 3), /* Only look at channels in group */
OPTION_RECORD = (1 << 4), /* Record */
} chanspy_opt_flags;
enum {
OPT_ARG_VOLUME = 0,
OPT_ARG_GROUP,
OPT_ARG_RECORD,
OPT_ARG_ARRAY_SIZE,
} chanspy_opt_args;
AST_APP_OPTIONS(chanspy_opts, {
AST_APP_OPTION('q', OPTION_QUIET),
AST_APP_OPTION('b', OPTION_BRIDGED),
AST_APP_OPTION_ARG('v', OPTION_VOLUME, OPT_ARG_VOLUME),
AST_APP_OPTION_ARG('g', OPTION_GROUP, OPT_ARG_GROUP),
AST_APP_OPTION_ARG('r', OPTION_RECORD, OPT_ARG_RECORD),
});
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
struct chanspy_translation_helper {
/* spy data */
struct ast_channel_spy spy;
int fd;
int volfactor;
};
static struct ast_channel *local_channel_walk(struct ast_channel *chan)
{
struct ast_channel *ret;
ast_mutex_lock(&modlock);
if ((ret = ast_channel_walk_locked(chan))) {
ast_mutex_unlock(&ret->lock);
}
ast_mutex_unlock(&modlock);
return ret;
}
static struct ast_channel *local_get_channel_begin_name(char *name)
{
struct ast_channel *chan, *ret = NULL;
ast_mutex_lock(&modlock);
chan = local_channel_walk(NULL);
while (chan) {
if (!strncmp(chan->name, name, strlen(name))) {
ret = chan;
break;
}
chan = local_channel_walk(chan);
}
ast_mutex_unlock(&modlock);
return ret;
}
static void *spy_alloc(struct ast_channel *chan, void *data)
{
/* just store the data pointer in the channel structure */
return data;
}
static void spy_release(struct ast_channel *chan, void *data)
{
/* nothing to do */
}
static int spy_generate(struct ast_channel *chan, void *data, int len, int samples)
{
struct chanspy_translation_helper *csth = data;
struct ast_frame *f;
if (csth->spy.status != CHANSPY_RUNNING)
/* Channel is already gone more than likely */
return -1;
ast_mutex_lock(&csth->spy.lock);
f = ast_channel_spy_read_frame(&csth->spy, samples);
ast_mutex_unlock(&csth->spy.lock);
if (!f)
return 0;
if (ast_write(chan, f)) {
ast_frfree(f);
return -1;
}
if (csth->fd)
write(csth->fd, f->data, f->datalen);
ast_frfree(f);
return 0;
}
static struct ast_generator spygen = {
.alloc = spy_alloc,
.release = spy_release,
.generate = spy_generate,
};
static int start_spying(struct ast_channel *chan, struct ast_channel *spychan, struct ast_channel_spy *spy)
{
int res;
struct ast_channel *peer;
ast_log(LOG_NOTICE, "Attaching %s to %s\n", spychan->name, chan->name);
ast_mutex_lock(&chan->lock);
res = ast_channel_spy_add(chan, spy);
ast_mutex_unlock(&chan->lock);
if (!res && ast_test_flag(chan, AST_FLAG_NBRIDGE) && (peer = ast_bridged_channel(chan))) {
ast_softhangup(peer, AST_SOFTHANGUP_UNBRIDGE);
}
return res;
}
static void stop_spying(struct ast_channel *chan, struct ast_channel_spy *spy)
{
/* If our status has changed to DONE, then the channel we're spying on is gone....
DON'T TOUCH IT!!! RUN AWAY!!! */
if (spy->status == CHANSPY_DONE)
return;
if (!chan)
return;
ast_mutex_lock(&chan->lock);
ast_channel_spy_remove(chan, spy);
ast_mutex_unlock(&chan->lock);
};
/* Map 'volume' levels from -4 through +4 into
decibel (dB) settings for channel drivers
*/
static signed char volfactor_map[] = {
-24,
-18,
-12,
-6,
0,
6,
12,
18,
24,
};
/* attempt to set the desired gain adjustment via the channel driver;
if successful, clear it out of the csth structure so the
generator will not attempt to do the adjustment itself
*/
static void set_volume(struct ast_channel *chan, struct chanspy_translation_helper *csth)
{
signed char volume_adjust = volfactor_map[csth->volfactor + 4];
if (!ast_channel_setoption(chan, AST_OPTION_TXGAIN, &volume_adjust, sizeof(volume_adjust), 0))
csth->volfactor = 0;
}
static int channel_spy(struct ast_channel *chan, struct ast_channel *spyee, int *volfactor, int fd)
{
struct chanspy_translation_helper csth;
int running, res = 0, x = 0;
char inp[24];
char *name=NULL;
struct ast_frame *f;
running = (chan && !ast_check_hangup(chan) && spyee && !ast_check_hangup(spyee));
if (running) {
memset(inp, 0, sizeof(inp));
name = ast_strdupa(spyee->name);
if (option_verbose >= 2)
ast_verbose(VERBOSE_PREFIX_2 "Spying on channel %s\n", name);
memset(&csth, 0, sizeof(csth));
ast_set_flag(&csth.spy, CHANSPY_FORMAT_AUDIO);
ast_set_flag(&csth.spy, CHANSPY_TRIGGER_NONE);
ast_set_flag(&csth.spy, CHANSPY_MIXAUDIO);
csth.spy.type = chanspy_spy_type;
csth.spy.status = CHANSPY_RUNNING;
csth.spy.read_queue.format = AST_FORMAT_SLINEAR;
csth.spy.write_queue.format = AST_FORMAT_SLINEAR;
ast_mutex_init(&csth.spy.lock);
csth.volfactor = *volfactor;
set_volume(chan, &csth);
csth.spy.read_vol_adjustment = csth.volfactor;
csth.spy.write_vol_adjustment = csth.volfactor;
csth.fd = fd;
if (start_spying(spyee, chan, &csth.spy))
running = 0;
}
if (running) {
running = 1;
ast_activate_generator(chan, &spygen, &csth);
while (csth.spy.status == CHANSPY_RUNNING &&
chan && !ast_check_hangup(chan) &&
spyee &&
!ast_check_hangup(spyee) &&
running == 1 &&
(res = ast_waitfor(chan, -1) > -1)) {
if ((f = ast_read(chan))) {
res = 0;
if (f->frametype == AST_FRAME_DTMF) {
res = f->subclass;
}
ast_frfree(f);
if (!res) {
continue;
}
} else {
break;
}
if (x == sizeof(inp)) {
x = 0;
}
if (res < 0) {
running = -1;
}
if (res == 0) {
continue;
} else if (res == '*') {
running = 0;
} else if (res == '#') {
if (!ast_strlen_zero(inp)) {
running = x ? atoi(inp) : -1;
break;
} else {
(*volfactor)++;
if (*volfactor > 4) {
*volfactor = -4;
}
if (option_verbose > 2) {
ast_verbose(VERBOSE_PREFIX_3 "Setting spy volume on %s to %d\n", chan->name, *volfactor);
}
csth.volfactor = *volfactor;
set_volume(chan, &csth);
csth.spy.read_vol_adjustment = csth.volfactor;
csth.spy.write_vol_adjustment = csth.volfactor;
}
} else if (res >= 48 && res <= 57) {
inp[x++] = res;
}
}
ast_deactivate_generator(chan);
stop_spying(spyee, &csth.spy);
if (option_verbose >= 2) {
ast_verbose(VERBOSE_PREFIX_2 "Done Spying on channel %s\n", name);
}
} else {
running = 0;
}
ast_mutex_destroy(&csth.spy.lock);
return running;
}
static int chanspy_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
struct ast_channel *peer=NULL, *prev=NULL;
char name[AST_NAME_STRLEN],
peer_name[AST_NAME_STRLEN + 5],
*args,
*ptr = NULL,
*options = NULL,
*spec = NULL,
*argv[5],
*mygroup = NULL,
*recbase = NULL;
int res = -1,
volfactor = 0,
silent = 0,
argc = 0,
bronly = 0,
chosen = 0,
count=0,
waitms = 100,
num = 0,
oldrf = 0,
oldwf = 0,
fd = 0;
struct ast_flags flags;
signed char zero_volume = 0;
if (!(args = ast_strdupa((char *)data))) {
ast_log(LOG_ERROR, "Out of memory!\n");
return -1;
}
LOCAL_USER_ADD(u);
oldrf = chan->readformat;
oldwf = chan->writeformat;
if (ast_set_read_format(chan, AST_FORMAT_SLINEAR) < 0) {
ast_log(LOG_ERROR, "Could Not Set Read Format.\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (ast_set_write_format(chan, AST_FORMAT_SLINEAR) < 0) {
ast_log(LOG_ERROR, "Could Not Set Write Format.\n");
LOCAL_USER_REMOVE(u);
return -1;
}
ast_answer(chan);
ast_set_flag(chan, AST_FLAG_SPYING); /* so nobody can spy on us while we are spying */
if ((argc = ast_app_separate_args(args, '|', argv, sizeof(argv) / sizeof(argv[0])))) {
spec = argv[0];
if ( argc > 1) {
options = argv[1];
}
if (ast_strlen_zero(spec) || !strcmp(spec, "all")) {
spec = NULL;
}
}
if (options) {
char *opts[OPT_ARG_ARRAY_SIZE];
ast_app_parse_options(chanspy_opts, &flags, opts, options);
if (ast_test_flag(&flags, OPTION_GROUP)) {
mygroup = opts[1];
}
if (ast_test_flag(&flags, OPTION_RECORD)) {
if (!(recbase = opts[2])) {
recbase = "chanspy";
}
}
silent = ast_test_flag(&flags, OPTION_QUIET);
bronly = ast_test_flag(&flags, OPTION_BRIDGED);
if (ast_test_flag(&flags, OPTION_VOLUME) && opts[1]) {
int vol;
if ((sscanf(opts[0], "%d", &vol) != 1) || (vol > 4) || (vol < -4))
ast_log(LOG_NOTICE, "Volume factor must be a number between -4 and 4\n");
else
volfactor = vol;
}
}
if (recbase) {
char filename[512];
snprintf(filename,sizeof(filename),"%s/%s.%d.raw",ast_config_AST_MONITOR_DIR, recbase, (int)time(NULL));
if ((fd = open(filename, O_CREAT | O_WRONLY, O_TRUNC, 0644)) <= 0) {
ast_log(LOG_WARNING, "Cannot open %s for recording\n", filename);
fd = 0;
}
}
for(;;) {
if (!silent) {
res = ast_streamfile(chan, "beep", chan->language);
if (!res)
res = ast_waitstream(chan, "");
if (res < 0) {
ast_clear_flag(chan, AST_FLAG_SPYING);
break;
}
}
count = 0;
res = ast_waitfordigit(chan, waitms);
if (res < 0) {
ast_clear_flag(chan, AST_FLAG_SPYING);
break;
}
peer = local_channel_walk(NULL);
prev=NULL;
while(peer) {
if (peer != chan) {
char *group = NULL;
int igrp = 1;
if (peer == prev && !chosen) {
break;
}
chosen = 0;
group = pbx_builtin_getvar_helper(peer, "SPYGROUP");
if (mygroup) {
if (!group || strcmp(mygroup, group)) {
igrp = 0;
}
}
if (igrp && (!spec || ((strlen(spec) <= strlen(peer->name) &&
!strncasecmp(peer->name, spec, strlen(spec)))))) {
if (peer && (!bronly || ast_bridged_channel(peer)) &&
!ast_check_hangup(peer) && !ast_test_flag(peer, AST_FLAG_SPYING)) {
int x = 0;
strncpy(peer_name, "spy-", 5);
strncpy(peer_name + strlen(peer_name), peer->name, AST_NAME_STRLEN);
ptr = strchr(peer_name, '/');
*ptr = '\0';
ptr++;
for (x = 0 ; x < strlen(peer_name) ; x++) {
if (peer_name[x] == '/') {
break;
}
peer_name[x] = tolower(peer_name[x]);
}
if (!silent) {
if (ast_fileexists(peer_name, NULL, NULL) != -1) {
res = ast_streamfile(chan, peer_name, chan->language);
if (!res)
res = ast_waitstream(chan, "");
if (res)
break;
} else
res = ast_say_character_str(chan, peer_name, "", chan->language);
if ((num=atoi(ptr)))
ast_say_digits(chan, atoi(ptr), "", chan->language);
}
count++;
prev = peer;
res = channel_spy(chan, peer, &volfactor, fd);
if (res == -1) {
break;
} else if (res > 1 && spec) {
snprintf(name, AST_NAME_STRLEN, "%s/%d", spec, res);
if ((peer = local_get_channel_begin_name(name))) {
chosen = 1;
}
continue;
}
}
}
}
if ((peer = local_channel_walk(peer)) == NULL) {
break;
}
}
waitms = count ? 100 : 5000;
}
if (fd > 0) {
close(fd);
}
if (oldrf && ast_set_read_format(chan, oldrf) < 0) {
ast_log(LOG_ERROR, "Could Not Set Read Format.\n");
}
if (oldwf && ast_set_write_format(chan, oldwf) < 0) {
ast_log(LOG_ERROR, "Could Not Set Write Format.\n");
}
ast_clear_flag(chan, AST_FLAG_SPYING);
ast_channel_setoption(chan, AST_OPTION_TXGAIN, &zero_volume, sizeof(zero_volume), 0);
ALL_DONE(u, res);
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, chanspy_exec, synopsis, desc);
}
char *description(void)
{
return (char *) synopsis;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

199
apps/app_controlplayback.c Executable file → Normal file
View File

@@ -1,42 +1,69 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Trivial application to control playback a sound file
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief Trivial application to control playback of a sound file
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/app.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/utils.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
static char *tdesc = "Control Playback Application";
#include "asterisk.h"
static char *app = "ControlPlayback";
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static char *synopsis = "Play a file with fast forward and rewind";
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/utils.h"
#include "asterisk/options.h"
static char *descrip =
"ControlPlayback(filename[|skipms[|ffchar[|rewchar[|stopchar[|pausechr]]]]]):\n"
" Plays back a given filename (do not put extension). Options may also\n"
" be included following a pipe symbol. You can use * and # to rewind and\n"
" fast forward the playback specified. If 'stopchar' is added the file will\n"
" terminate playback when 'stopchar' is pressed. Returns -1 if the channel\n"
" was hung up, or if the file does not exist. Returns 0 otherwise.\n\n"
" Example: exten => 1234,1,ControlPlayback(file|4000|*|#|1|0)\n\n";
static const char *tdesc = "Control Playback Application";
static const char *app = "ControlPlayback";
static const char *synopsis = "Play a file with fast forward and rewind";
static const char *descrip =
" ControlPlayback(file[|skipms[|ff[|rew[|stop[|pause[|restart|options]]]]]]]):\n"
"This application will play back the given filename. By default, the '*' key\n"
"can be used to rewind, and the '#' key can be used to fast-forward.\n"
"Parameters:\n"
" skipms - This is number of milliseconds to skip when rewinding or\n"
" fast-forwarding.\n"
" ff - Fast-forward when this DTMF digit is received.\n"
" rew - Rewind when this DTMF digit is received.\n"
" stop - Stop playback when this DTMF digit is received.\n"
" pause - Pause playback when this DTMF digit is received.\n"
" restart - Restart playback when this DTMF digit is received.\n"
"Options:\n"
" j - Jump to priority n+101 if the requested file is not found.\n"
"This application sets the following channel variable upon completion:\n"
" CPLAYBACKSTATUS - This variable contains the status of the attempt as a text\n"
" string, one of: SUCCESS | USERSTOPPED | ERROR\n";
STANDARD_LOCAL_USER;
@@ -44,80 +71,99 @@ LOCAL_USER_DECL;
static int is_on_phonepad(char key)
{
return (key == 35 || key == 42 || (key >= 48 && key <= 57)) ? 1 : 0;
return key == 35 || key == 42 || (key >= 48 && key <= 57);
}
static int controlplayback_exec(struct ast_channel *chan, void *data)
{
int res = 0;
int res = 0, priority_jump = 0;
int skipms = 0;
struct localuser *u;
char tmp[256];
char *skip = NULL, *fwd = NULL, *rev = NULL, *stop = NULL, *pause = NULL, *file = NULL;
if (!data || ast_strlen_zero((char *)data)) {
char *tmp;
int argc;
char *argv[8];
enum arg_ids {
arg_file = 0,
arg_skip = 1,
arg_fwd = 2,
arg_rev = 3,
arg_stop = 4,
arg_pause = 5,
arg_restart = 6,
options = 7,
};
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "ControlPlayback requires an argument (filename)\n");
return -1;
}
strncpy(tmp, (char *)data, sizeof(tmp)-1);
file = tmp;
LOCAL_USER_ADD(u);
tmp = ast_strdupa(data);
memset(argv, 0, sizeof(argv));
if ((skip=strchr(tmp,'|'))) {
*skip = '\0';
*skip++;
fwd=strchr(skip,'|');
if (fwd) {
*fwd = '\0';
*fwd++;
rev = strchr(fwd,'|');
if (rev) {
*rev = '\0';
*rev++;
stop = strchr(rev,'|');
if (stop) {
*stop = '\0';
*stop++;
pause = strchr(stop,'|');
if (pause) {
*pause = '\0';
*pause++;
}
}
}
}
argc = ast_app_separate_args(tmp, '|', argv, sizeof(argv) / sizeof(argv[0]));
if (argc < 1) {
ast_log(LOG_WARNING, "ControlPlayback requires an argument (filename)\n");
LOCAL_USER_REMOVE(u);
return -1;
}
skipms = skip ? atoi(skip) : 3000;
skipms = argv[arg_skip] ? atoi(argv[arg_skip]) : 3000;
if (!skipms)
skipms = 3000;
if (!fwd || !is_on_phonepad(*fwd))
fwd = "#";
if (!rev || !is_on_phonepad(*rev))
rev = "*";
if (stop && !is_on_phonepad(*stop))
stop = NULL;
if (pause && !is_on_phonepad(*pause))
pause = NULL;
if (!argv[arg_fwd] || !is_on_phonepad(*argv[arg_fwd]))
argv[arg_fwd] = "#";
if (!argv[arg_rev] || !is_on_phonepad(*argv[arg_rev]))
argv[arg_rev] = "*";
if (argv[arg_stop] && !is_on_phonepad(*argv[arg_stop]))
argv[arg_stop] = NULL;
if (argv[arg_pause] && !is_on_phonepad(*argv[arg_pause]))
argv[arg_pause] = NULL;
if (argv[arg_restart] && !is_on_phonepad(*argv[arg_restart]))
argv[arg_restart] = NULL;
LOCAL_USER_ADD(u);
if (argv[options]) {
if (strchr(argv[options], 'j'))
priority_jump = 1;
}
res = ast_control_streamfile(chan, file, fwd, rev, stop, pause, skipms);
res = ast_control_streamfile(chan, argv[arg_file], argv[arg_fwd], argv[arg_rev], argv[arg_stop], argv[arg_pause], argv[arg_restart], skipms);
/* If we stopped on one of our stop keys, return 0 */
if (argv[arg_stop] && strchr(argv[arg_stop], res)) {
res = 0;
pbx_builtin_setvar_helper(chan, "CPLAYBACKSTATUS", "USERSTOPPED");
} else {
if (res < 0) {
if (priority_jump || option_priority_jumping) {
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) {
ast_log(LOG_WARNING, "ControlPlayback tried to jump to priority n+101 as requested, but priority didn't exist\n");
}
}
res = 0;
pbx_builtin_setvar_helper(chan, "CPLAYBACKSTATUS", "ERROR");
} else
pbx_builtin_setvar_helper(chan, "CPLAYBACKSTATUS", "SUCCESS");
}
LOCAL_USER_REMOVE(u);
/* If we stopped on one of our stop keys, return 0 */
if(stop && strchr(stop, res))
res = 0;
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)
@@ -127,12 +173,13 @@ int load_module(void)
char *description(void)
{
return tdesc;
return (char *) tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}

256
apps/app_curl.c Normal file
View File

@@ -0,0 +1,256 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2004 - 2005, Tilghman Lesher
*
* Tilghman Lesher <curl-20050919@the-tilghman.com>
* and Brian Wilkins <bwilkins@cfl.rr.com> (Added POST option)
*
* app_curl.c is distributed with no restrictions on usage or
* redistribution.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
* \brief Curl - App to load a URL
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/cli.h"
#include "asterisk/options.h"
#include "asterisk/module.h"
static char *tdesc = "Load external URL";
static char *app = "Curl";
static char *synopsis = "Load an external URL";
static char *descrip =
" Curl(URL[|postdata]): This application will request the specified URL.\n"
"It is mainly used for signalling external applications of an event.\n"
"Parameters:\n"
" URL - This is the external URL to request.\n"
" postdata - This information will be treated as POST data.\n"
"This application will set the following variable:\n"
" CURL - This variable will contain the resulting page.\n"
"This application has been deprecated in favor of the CURL function.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
struct MemoryStruct {
char *memory;
size_t size;
};
static void *myrealloc(void *ptr, size_t size)
{
/* There might be a realloc() out there that doesn't like reallocing
NULL pointers, so we take care of it here */
if (ptr)
return realloc(ptr, size);
else
return malloc(size);
}
static size_t WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
{
register int realsize = size * nmemb;
struct MemoryStruct *mem = (struct MemoryStruct *)data;
mem->memory = (char *)myrealloc(mem->memory, mem->size + realsize + 1);
if (mem->memory) {
memcpy(&(mem->memory[mem->size]), ptr, realsize);
mem->size += realsize;
mem->memory[mem->size] = 0;
}
return realsize;
}
static int curl_internal(struct MemoryStruct *chunk, char *url, char *post)
{
CURL *curl;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (!curl) {
return -1;
}
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)chunk);
curl_easy_setopt(curl, CURLOPT_USERAGENT, "asterisk-libcurl-agent/1.0");
if (post) {
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post);
}
curl_easy_perform(curl);
curl_easy_cleanup(curl);
return 0;
}
static int curl_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
char *info, *post_data=NULL, *url;
struct MemoryStruct chunk = { NULL, 0 };
static int dep_warning = 0;
if (!dep_warning) {
ast_log(LOG_WARNING, "The application Curl is deprecated. Please use the CURL() function instead.\n");
dep_warning = 1;
}
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Curl requires an argument (URL)\n");
return -1;
}
LOCAL_USER_ADD(u);
if ((info = ast_strdupa(data))) {
url = strsep(&info, "|");
post_data = info;
} else {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (! curl_internal(&chunk, url, post_data)) {
if (chunk.memory) {
chunk.memory[chunk.size] = '\0';
if (chunk.memory[chunk.size - 1] == 10)
chunk.memory[chunk.size - 1] = '\0';
pbx_builtin_setvar_helper(chan, "CURL", chunk.memory);
free(chunk.memory);
}
} else {
ast_log(LOG_ERROR, "Cannot allocate curl structure\n");
res = -1;
}
LOCAL_USER_REMOVE(u);
return res;
}
static char *acf_curl_exec(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
{
struct localuser *u;
char *info, *post_data=NULL, *url;
struct MemoryStruct chunk = { NULL, 0 };
*buf = '\0';
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "CURL requires an argument (URL)\n");
return buf;
}
LOCAL_USER_ACF_ADD(u);
info = ast_strdupa(data);
if (!info) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return buf;
}
url = strsep(&info, "|");
post_data = info;
if (! curl_internal(&chunk, url, post_data)) {
if (chunk.memory) {
chunk.memory[chunk.size] = '\0';
if (chunk.memory[chunk.size - 1] == 10)
chunk.memory[chunk.size - 1] = '\0';
ast_copy_string(buf, chunk.memory, len);
free(chunk.memory);
}
} else {
ast_log(LOG_ERROR, "Cannot allocate curl structure\n");
}
LOCAL_USER_REMOVE(u);
return buf;
}
struct ast_custom_function acf_curl = {
.name = "CURL",
.synopsis = "Retrieves the contents of a URL",
.syntax = "CURL(url[|post-data])",
.desc =
" url - URL to retrieve\n"
" post-data - Optional data to send as a POST (GET is default action)\n",
.read = acf_curl_exec,
};
int unload_module(void)
{
int res;
res = ast_custom_function_unregister(&acf_curl);
res |= ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_custom_function_register(&acf_curl);
res |= ast_register_application(app, curl_exec, synopsis, descrip);
return res;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

379
apps/app_cut.c Executable file → Normal file
View File

@@ -1,81 +1,179 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Cut application
* Asterisk -- An open source telephony toolkit.
*
* Copyright (c) 2003 Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <app_cut__v003@the-tilghman.com>
*
* $Id$
*
* This code is released by the author with no restrictions on usage.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
* \brief Cut application
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/app.h"
/* Maximum length of any variable */
#define MAXRESULT 1024
static char *tdesc = "Cuts up variables";
static char *tdesc = "Cut out information from a string";
static char *app_cut = "Cut";
static char *cut_synopsis = "Cut(newvar=varname|delimiter|fieldspec)";
static char *cut_synopsis = "Splits a variable's contents using the specified delimiter";
static char *cut_descrip =
"Cut(newvar=varname,delimiter,field)\n"
" Cut(newvar=varname,delimiter,fieldspec): This applicaiton will split the\n"
"contents of a variable based on the given delimeter and store the result in\n"
"a new variable.\n"
"Parameters:\n"
" newvar - new variable created from result string\n"
" varname - variable you want cut\n"
" delimiter - defaults to '-'\n"
" fieldspec - number of the field you want (1-based offset)\n"
" may also be specified as a range (with -)\n"
" or group of ranges and fields (with &)\n"
" Returns 0 or -1 on hangup or error.\n";
" may also be specified as a range (with -)\n"
" or group of ranges and fields (with &)\n"
"This application has been deprecated in favor of the CUT function.\n";
static char *app_sort = "Sort";
static char *app_sort_synopsis = "Sorts a list of keywords and values";
static char *app_sort_descrip =
" Sort(newvar=key1:val1[,key2:val2[[...],keyN:valN]]): This application will\n"
"sort the list provided in ascending order. The result will be stored in the\n"
"specified variable name.\n"
" This applicaiton has been deprecated in favor of the SORT function.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int cut_exec(struct ast_channel *chan, void *data)
struct sortable_keys {
char *key;
float value;
};
static int sort_subroutine(const void *arg1, const void *arg2)
{
int res=0;
struct localuser *u;
char *s, *newvar=NULL, *varname=NULL, *delimiter=NULL, *field=NULL;
const struct sortable_keys *one=arg1, *two=arg2;
if (one->value < two->value) {
return -1;
} else if (one->value == two->value) {
return 0;
} else {
return 1;
}
}
#define ERROR_NOARG (-1)
#define ERROR_NOMEM (-2)
#define ERROR_USAGE (-3)
static int sort_internal(struct ast_channel *chan, char *data, char *buffer, size_t buflen)
{
char *strings, *ptrkey, *ptrvalue;
int count=1, count2, element_count=0;
struct sortable_keys *sortable_keys;
memset(buffer, 0, buflen);
if (!data) {
return ERROR_NOARG;
}
strings = ast_strdupa((char *)data);
if (!strings) {
return ERROR_NOMEM;
}
for (ptrkey = strings; *ptrkey; ptrkey++) {
if (*ptrkey == '|') {
count++;
}
}
sortable_keys = alloca(count * sizeof(struct sortable_keys));
if (!sortable_keys) {
return ERROR_NOMEM;
}
memset(sortable_keys, 0, count * sizeof(struct sortable_keys));
/* Parse each into a struct */
count2 = 0;
while ((ptrkey = strsep(&strings, "|"))) {
ptrvalue = index(ptrkey, ':');
if (!ptrvalue) {
count--;
continue;
}
*ptrvalue = '\0';
ptrvalue++;
sortable_keys[count2].key = ptrkey;
sscanf(ptrvalue, "%f", &sortable_keys[count2].value);
count2++;
}
/* Sort the structs */
qsort(sortable_keys, count, sizeof(struct sortable_keys), sort_subroutine);
for (count2 = 0; count2 < count; count2++) {
int blen = strlen(buffer);
if (element_count++) {
strncat(buffer + blen, ",", buflen - blen - 1);
blen++;
}
strncat(buffer + blen, sortable_keys[count2].key, buflen - blen - 1);
}
return 0;
}
static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size_t buflen)
{
char *s, *args[3], *varname=NULL, *delimiter=NULL, *field=NULL;
int args_okay = 0;
LOCAL_USER_ADD(u);
memset(buffer, 0, buflen);
/* Check and parse arguments */
if (data) {
s = ast_strdupa((char *)data);
if (s) {
newvar = strsep(&s, "=");
if (newvar && (newvar[0] != '\0')) {
varname = strsep(&s, "|");
if (varname && (varname[0] != '\0')) {
delimiter = strsep(&s, "|");
if (delimiter) {
field = strsep(&s, "|");
if (field) {
args_okay = 1;
}
}
}
ast_app_separate_args(s, '|', args, 3);
varname = args[0];
delimiter = args[1];
field = args[2];
if (field) {
args_okay = 1;
}
} else {
ast_log(LOG_ERROR, "Out of memory\n");
res = -1;
return ERROR_NOMEM;
}
}
@@ -83,16 +181,12 @@ static int cut_exec(struct ast_channel *chan, void *data)
char d, ds[2];
char *tmp = alloca(strlen(varname) + 4);
char varvalue[MAXRESULT], *tmp2=varvalue;
char retstring[MAXRESULT];
memset(retstring, 0, MAXRESULT);
if (tmp) {
snprintf(tmp, strlen(varname) + 4, "${%s}", varname);
memset(varvalue, 0, sizeof(varvalue));
} else {
ast_log(LOG_ERROR, "Out of memory");
return -1;
return ERROR_NOMEM;
}
if (delimiter[0])
@@ -124,9 +218,7 @@ static int cut_exec(struct ast_channel *chan, void *data)
/* single number */
num2 = num1;
} else {
ast_log(LOG_ERROR, "Cut(): Illegal range '%s'\n", nextgroup);
ast_log(LOG_ERROR, "Usage: %s\n", cut_synopsis);
return -1;
return ERROR_USAGE;
}
/* Get to start, if any */
@@ -139,7 +231,7 @@ static int cut_exec(struct ast_channel *chan, void *data)
/* Most frequent problem is the expectation of reordering fields */
if ((num1 > 0) && (curfieldnum > num1)) {
ast_log(LOG_WARNING, "Cut(): we're already past the field you wanted?\n");
ast_log(LOG_WARNING, "We're already past the field you wanted?\n");
}
/* Re-null tmp2 if we added 1 to NULL */
@@ -149,35 +241,218 @@ static int cut_exec(struct ast_channel *chan, void *data)
/* Output fields until we either run out of fields or num2 is reached */
while ((tmp2 != NULL) && (curfieldnum <= num2)) {
char *tmp3 = strsep(&tmp2, ds);
int curlen = strlen(retstring);
int curlen = strlen(buffer);
if (strlen(retstring)) {
snprintf(retstring + curlen, MAXRESULT - curlen, "%c%s", d, tmp3);
if (curlen) {
snprintf(buffer + curlen, buflen - curlen, "%c%s", d, tmp3);
} else {
snprintf(retstring, MAXRESULT, "%s", tmp3);
snprintf(buffer, buflen, "%s", tmp3);
}
curfieldnum++;
}
}
}
} else {
return ERROR_NOARG;
}
return 0;
}
pbx_builtin_setvar_helper(chan, newvar, retstring);
static int sort_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *varname, *strings, result[512] = "";
static int dep_warning=0;
if (!dep_warning) {
ast_log(LOG_WARNING, "The application Sort is deprecated. Please use the SORT() function instead.\n");
dep_warning=1;
}
if (!data) {
ast_log(LOG_ERROR, "Sort() requires an argument\n");
return 0;
}
LOCAL_USER_ADD(u);
strings = ast_strdupa((char *)data);
if (!strings) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return 0;
}
varname = strsep(&strings, "=");
switch (sort_internal(chan, strings, result, sizeof(result))) {
case ERROR_NOARG:
ast_log(LOG_ERROR, "Sort() requires an argument\n");
res = 0;
break;
case ERROR_NOMEM:
ast_log(LOG_ERROR, "Out of memory\n");
res = -1;
break;
case 0:
pbx_builtin_setvar_helper(chan, varname, result);
res = 0;
break;
default:
ast_log(LOG_ERROR, "Unknown internal error\n");
res = -1;
}
LOCAL_USER_REMOVE(u);
return res;
}
static int cut_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s, *newvar=NULL, result[512];
static int dep_warning = 0;
LOCAL_USER_ADD(u);
if (!dep_warning) {
ast_log(LOG_WARNING, "The application Cut is deprecated. Please use the CUT() function instead.\n");
dep_warning=1;
}
/* Check and parse arguments */
if (data) {
s = ast_strdupa((char *)data);
if (s) {
newvar = strsep(&s, "=");
} else {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
}
switch (cut_internal(chan, s, result, sizeof(result))) {
case ERROR_NOARG:
ast_log(LOG_ERROR, "Cut() requires an argument\n");
res = 0;
break;
case ERROR_NOMEM:
ast_log(LOG_ERROR, "Out of memory\n");
res = -1;
break;
case ERROR_USAGE:
ast_log(LOG_ERROR, "Usage: %s\n", cut_synopsis);
res = 0;
break;
case 0:
pbx_builtin_setvar_helper(chan, newvar, result);
res = 0;
break;
default:
ast_log(LOG_ERROR, "Unknown internal error\n");
res = -1;
}
LOCAL_USER_REMOVE(u);
return res;
}
static char *acf_sort_exec(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
{
struct localuser *u;
LOCAL_USER_ACF_ADD(u);
switch (sort_internal(chan, data, buf, len)) {
case ERROR_NOARG:
ast_log(LOG_ERROR, "SORT() requires an argument\n");
break;
case ERROR_NOMEM:
ast_log(LOG_ERROR, "Out of memory\n");
break;
case 0:
break;
default:
ast_log(LOG_ERROR, "Unknown internal error\n");
}
LOCAL_USER_REMOVE(u);
return buf;
}
static char *acf_cut_exec(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
{
struct localuser *u;
LOCAL_USER_ACF_ADD(u);
switch (cut_internal(chan, data, buf, len)) {
case ERROR_NOARG:
ast_log(LOG_ERROR, "CUT() requires an argument\n");
break;
case ERROR_NOMEM:
ast_log(LOG_ERROR, "Out of memory\n");
break;
case ERROR_USAGE:
ast_log(LOG_ERROR, "Usage: %s\n", cut_synopsis);
break;
case 0:
break;
default:
ast_log(LOG_ERROR, "Unknown internal error\n");
}
LOCAL_USER_REMOVE(u);
return buf;
}
struct ast_custom_function acf_sort = {
.name = "SORT",
.synopsis = "Sorts a list of key/vals into a list of keys, based upon the vals",
.syntax = "SORT(key1:val1[...][,keyN:valN])",
.desc =
"Takes a comma-separated list of keys and values, each separated by a colon, and returns a\n"
"comma-separated list of the keys, sorted by their values. Values will be evaluated as\n"
"floating-point numbers.\n",
.read = acf_sort_exec,
};
struct ast_custom_function acf_cut = {
.name = "CUT",
.synopsis = "Slices and dices strings, based upon a named delimiter.",
.syntax = "CUT(<varname>,<char-delim>,<range-spec>)",
.desc =
" varname - variable you want cut\n"
" char-delim - defaults to '-'\n"
" range-spec - number of the field you want (1-based offset)\n"
" may also be specified as a range (with -)\n"
" or group of ranges and fields (with &)\n",
.read = acf_cut_exec,
};
int unload_module(void)
{
int res;
res = ast_custom_function_unregister(&acf_cut);
res |= ast_custom_function_unregister(&acf_sort);
res |= ast_unregister_application(app_sort);
res |= ast_unregister_application(app_cut);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_cut);
return res;
}
int load_module(void)
{
return ast_register_application(app_cut, cut_exec, cut_synopsis, cut_descrip);
int res;
res = ast_custom_function_register(&acf_cut);
res |= ast_custom_function_register(&acf_sort);
res |= ast_register_application(app_sort, sort_exec, app_sort_synopsis, app_sort_descrip);
res |= ast_register_application(app_cut, cut_exec, cut_synopsis, cut_descrip);
return res;
}
char *description(void)

54
apps/app_datetime.c Executable file → Normal file
View File

@@ -1,27 +1,43 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Time of day - Report the time of day
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/say.h>
/*! \file
* \brief Time of day - Report the time of day
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/say.h"
static char *tdesc = "Date and Time";
@@ -30,8 +46,7 @@ static char *app = "DateTime";
static char *synopsis = "Say the date and time";
static char *descrip =
" DateTime(): Says the current date and time. Returns -1 on hangup or 0\n"
"otherwise.\n";
" DateTime(): This application will say the current date and time.\n";
STANDARD_LOCAL_USER;
@@ -54,8 +69,13 @@ static int datetime_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

298
apps/app_db.c Executable file → Normal file
View File

@@ -1,50 +1,74 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Database access functions
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
* Copyright (C) 2003, Jefferson Noxon
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
* Jefferson Noxon <jeff@debian.org>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <sys/types.h>
#include <asterisk/options.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/astdb.h>
#include <asterisk/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
/*! \file
*
* \brief Database access functions
*
* \ingroup applications
*/
static char *tdesc = "Database access functions for Asterisk extension logic";
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/options.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/astdb.h"
#include "asterisk/lock.h"
#include "asterisk/options.h"
static char *tdesc = "Database Access Functions";
static char *g_descrip =
" DBget(varname=family/key): Retrieves a value from the Asterisk\n"
"database and stores it in the given variable. Always returns 0. If the\n"
"requested key is not found, jumps to priority n+101 if available.\n";
" DBget(varname=family/key[|options]): This application will retrieve a value\n"
"from the Asterisk database and store it in the given variable.\n"
" Options:\n"
" j - Jump to priority n+101 if the requested family/key isn't found.\n"
" This application sets the following channel variable upon completion:\n"
" DBGETSTATUS - This variable will contain the status of the attempt\n"
" FOUND | NOTFOUND \n"
" This application has been deprecated in favor of the DB function.\n";
static char *p_descrip =
" DBput(family/key=value): Stores the given value in the Asterisk\n"
"database. Always returns 0.\n";
" DBput(family/key=value): This application will store the given value in the\n"
"specified location in the Asterisk database.\n"
" This application has been deprecated in favor of the DB function.\n";
static char *d_descrip =
" DBdel(family/key): Deletes a key from the Asterisk database. Always\n"
"returns 0.\n";
" DBdel(family/key): This applicaiton will delete a key from the Asterisk\n"
"database.\n";
static char *dt_descrip =
" DBdeltree(family[/keytree]): Deletes a family or keytree from the Asterisk\n"
"database. Always returns 0.\n";
" DBdeltree(family[/keytree]): This application will delete a family or keytree\n"
"from the Asterisk database\n";
static char *g_app = "DBget";
static char *p_app = "DBput";
@@ -60,27 +84,29 @@ STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int deltree_exec (struct ast_channel *chan, void *data)
static int deltree_exec(struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *family, *keytree;
struct localuser *u;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
LOCAL_USER_ADD(u);
argv = ast_strdupa(data);
if (!argv) {
ast_log(LOG_ERROR, "Memory allocation failed\n");
LOCAL_USER_REMOVE(u);
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '/')) {
family = strsep (&argv, "/");
keytree = strsep (&argv, "\0");
if (strchr(argv, '/')) {
family = strsep(&argv, "/");
keytree = strsep(&argv, "\0");
if (!family || !keytree) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
ast_log(LOG_DEBUG, "Ignoring; Syntax error in argument\n");
LOCAL_USER_REMOVE(u);
return 0;
}
if (!strlen (keytree))
if (ast_strlen_zero(keytree))
keytree = 0;
} else {
family = argv;
@@ -89,167 +115,209 @@ static int deltree_exec (struct ast_channel *chan, void *data)
if (option_verbose > 2) {
if (keytree)
ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: family=%s, keytree=%s\n", family, keytree);
ast_verbose(VERBOSE_PREFIX_3 "DBdeltree: family=%s, keytree=%s\n", family, keytree);
else
ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: family=%s\n", family);
ast_verbose(VERBOSE_PREFIX_3 "DBdeltree: family=%s\n", family);
}
if (ast_db_deltree (family, keytree)) {
if (ast_db_deltree(family, keytree)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: Error deleting key from database.\n");
ast_verbose(VERBOSE_PREFIX_3 "DBdeltree: Error deleting key from database.\n");
}
LOCAL_USER_REMOVE(u);
return 0;
}
static int del_exec (struct ast_channel *chan, void *data)
static int del_exec(struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *family, *key;
struct localuser *u;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
LOCAL_USER_ADD(u);
argv = ast_strdupa(data);
if (!argv) {
ast_log (LOG_ERROR, "Memory allocation failed\n");
LOCAL_USER_REMOVE(u);
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '/')) {
family = strsep (&argv, "/");
key = strsep (&argv, "\0");
if (strchr(argv, '/')) {
family = strsep(&argv, "/");
key = strsep(&argv, "\0");
if (!family || !key) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
ast_log(LOG_DEBUG, "Ignoring; Syntax error in argument\n");
LOCAL_USER_REMOVE(u);
return 0;
}
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBdel: family=%s, key=%s\n", family, key);
if (ast_db_del (family, key)) {
ast_verbose(VERBOSE_PREFIX_3 "DBdel: family=%s, key=%s\n", family, key);
if (ast_db_del(family, key)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBdel: Error deleting key from database.\n");
ast_verbose(VERBOSE_PREFIX_3 "DBdel: Error deleting key from database.\n");
}
} else {
ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
ast_log(LOG_DEBUG, "Ignoring, no parameters\n");
}
LOCAL_USER_REMOVE(u);
return 0;
}
static int put_exec (struct ast_channel *chan, void *data)
static int put_exec(struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *value, *family, *key;
static int dep_warning = 0;
struct localuser *u;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
LOCAL_USER_ADD(u);
if (!dep_warning) {
ast_log(LOG_WARNING, "This application has been deprecated, please use the ${DB(family/key)} function instead.\n");
dep_warning = 1;
}
argv = ast_strdupa(data);
if (!argv) {
ast_log(LOG_ERROR, "Memory allocation failed\n");
LOCAL_USER_REMOVE(u);
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '/') && strchr (argv, '=')) {
family = strsep (&argv, "/");
key = strsep (&argv, "=");
value = strsep (&argv, "\0");
if (strchr(argv, '/') && strchr(argv, '=')) {
family = strsep(&argv, "/");
key = strsep(&argv, "=");
value = strsep(&argv, "\0");
if (!value || !family || !key) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
ast_log(LOG_DEBUG, "Ignoring; Syntax error in argument\n");
LOCAL_USER_REMOVE(u);
return 0;
}
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBput: family=%s, key=%s, value=%s\n", family, key, value);
if (ast_db_put (family, key, value)) {
ast_verbose(VERBOSE_PREFIX_3 "DBput: family=%s, key=%s, value=%s\n", family, key, value);
if (ast_db_put(family, key, value)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBput: Error writing value to database.\n");
ast_verbose(VERBOSE_PREFIX_3 "DBput: Error writing value to database.\n");
}
} else {
ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
}
LOCAL_USER_REMOVE(u);
return 0;
}
static int get_exec (struct ast_channel *chan, void *data)
static int get_exec(struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *varname, *family, *key;
char *argv, *varname, *family, *key, *options = NULL;
char dbresult[256];
static int dep_warning = 0;
int priority_jump = 0;
struct localuser *u;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
LOCAL_USER_ADD(u);
if (!dep_warning) {
ast_log(LOG_WARNING, "This application has been deprecated, please use the ${DB(family/key)} function instead.\n");
dep_warning = 1;
}
argv = ast_strdupa(data);
if (!argv) {
ast_log(LOG_ERROR, "Memory allocation failed\n");
LOCAL_USER_REMOVE(u);
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '=') && strchr (argv, '/')) {
varname = strsep (&argv, "=");
family = strsep (&argv, "/");
key = strsep (&argv, "\0");
if (strchr(argv, '=') && strchr(argv, '/')) {
varname = strsep(&argv, "=");
family = strsep(&argv, "/");
if (strchr((void *)&argv, '|')) {
key = strsep(&argv, "|");
options = strsep(&argv, "\0");
} else
key = strsep(&argv, "\0");
if (!varname || !family || !key) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
ast_log(LOG_DEBUG, "Ignoring; Syntax error in argument\n");
LOCAL_USER_REMOVE(u);
return 0;
}
if (options) {
if (strchr(options, 'j'))
priority_jump = 1;
}
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBget: varname=%s, family=%s, key=%s\n", varname, family, key);
if (!ast_db_get (family, key, dbresult, sizeof (dbresult) - 1)) {
pbx_builtin_setvar_helper (chan, varname, dbresult);
ast_verbose(VERBOSE_PREFIX_3 "DBget: varname=%s, family=%s, key=%s\n", varname, family, key);
if (!ast_db_get(family, key, dbresult, sizeof (dbresult) - 1)) {
pbx_builtin_setvar_helper(chan, varname, dbresult);
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBget: set variable %s to %s\n", varname, dbresult);
ast_verbose(VERBOSE_PREFIX_3 "DBget: set variable %s to %s\n", varname, dbresult);
pbx_builtin_setvar_helper(chan, "DBGETSTATUS", "FOUND");
} else {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBget: Value not found in database.\n");
/* Send the call to n+101 priority, where n is the current priority */
if (ast_exists_extension (chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
ast_verbose(VERBOSE_PREFIX_3 "DBget: Value not found in database.\n");
if (priority_jump || option_priority_jumping) {
/* Send the call to n+101 priority, where n is the current priority */
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
}
pbx_builtin_setvar_helper(chan, "DBGETSTATUS", "NOTFOUND");
}
} else {
ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
ast_log(LOG_DEBUG, "Ignoring, no parameters\n");
}
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module (void)
int unload_module(void)
{
int retval;
retval = ast_unregister_application(dt_app);
retval |= ast_unregister_application(d_app);
retval |= ast_unregister_application(p_app);
retval |= ast_unregister_application(g_app);
STANDARD_HANGUP_LOCALUSERS;
retval = ast_unregister_application (dt_app);
retval |= ast_unregister_application (d_app);
retval |= ast_unregister_application (p_app);
retval |= ast_unregister_application (g_app);
return retval;
}
int load_module (void)
int load_module(void)
{
int retval;
retval = ast_register_application (g_app, get_exec, g_synopsis, g_descrip);
if (!retval)
retval = ast_register_application (p_app, put_exec, p_synopsis, p_descrip);
if (!retval)
retval = ast_register_application (d_app, del_exec, d_synopsis, d_descrip);
if (!retval)
retval = ast_register_application (dt_app, deltree_exec, dt_synopsis, dt_descrip);
retval = ast_register_application(g_app, get_exec, g_synopsis, g_descrip);
retval |= ast_register_application(p_app, put_exec, p_synopsis, p_descrip);
retval |= ast_register_application(d_app, del_exec, d_synopsis, d_descrip);
retval |= ast_register_application(dt_app, deltree_exec, dt_synopsis, dt_descrip);
return retval;
}
char *description (void)
char *description(void)
{
return tdesc;
}
int usecount (void)
int usecount(void)
{
int res;
STANDARD_USECOUNT (res);
STANDARD_USECOUNT(res);
return res;
}
char *key ()
char *key()
{
return ASTERISK_GPL_KEY;
}

1781
apps/app_dial.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

358
apps/app_dictate.c Normal file
View File

@@ -0,0 +1,358 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2005, Anthony Minessale II
*
* Anthony Minessale II <anthmct@yahoo.com>
*
* Donated by Sangoma Technologies <http://www.samgoma.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Virtual Dictation Machine Application For Asterisk
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h> /* for mkdir */
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/say.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
static char *tdesc = "Virtual Dictation Machine";
static char *app = "Dictate";
static char *synopsis = "Virtual Dictation Machine";
static char *desc = " Dictate([<base_dir>])\n"
"Start dictation machine using optional base dir for files.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
typedef enum {
DFLAG_RECORD = (1 << 0),
DFLAG_PLAY = (1 << 1),
DFLAG_TRUNC = (1 << 2),
DFLAG_PAUSE = (1 << 3),
} dflags;
typedef enum {
DMODE_INIT,
DMODE_RECORD,
DMODE_PLAY
} dmodes;
#define ast_toggle_flag(it,flag) if(ast_test_flag(it, flag)) ast_clear_flag(it, flag); else ast_set_flag(it, flag)
static int play_and_wait(struct ast_channel *chan, char *file, char *digits)
{
int res = -1;
if (!ast_streamfile(chan, file, chan->language)) {
res = ast_waitstream(chan, digits);
}
return res;
}
static int dictate_exec(struct ast_channel *chan, void *data)
{
char *mydata, *argv[2], *path = NULL, filein[256];
char dftbase[256];
char *base;
struct ast_flags flags = {0};
struct ast_filestream *fs;
struct ast_frame *f = NULL;
struct localuser *u;
int ffactor = 320 * 80,
res = 0,
argc = 0,
done = 0,
oldr = 0,
lastop = 0,
samples = 0,
speed = 1,
digit = 0,
len = 0,
maxlen = 0,
mode = 0;
LOCAL_USER_ADD(u);
snprintf(dftbase, sizeof(dftbase), "%s/dictate", ast_config_AST_SPOOL_DIR);
if (!ast_strlen_zero(data) && (mydata = ast_strdupa(data))) {
argc = ast_app_separate_args(mydata, '|', argv, sizeof(argv) / sizeof(argv[0]));
}
if (argc) {
base = argv[0];
} else {
base = dftbase;
}
oldr = chan->readformat;
if ((res = ast_set_read_format(chan, AST_FORMAT_SLINEAR)) < 0) {
ast_log(LOG_WARNING, "Unable to set to linear mode.\n");
LOCAL_USER_REMOVE(u);
return -1;
}
ast_answer(chan);
ast_safe_sleep(chan, 200);
for(res = 0; !res;) {
if (ast_app_getdata(chan, "dictate/enter_filename", filein, sizeof(filein), 0) ||
ast_strlen_zero(filein)) {
res = -1;
break;
}
mkdir(base, 0755);
len = strlen(base) + strlen(filein) + 2;
if (!path || len > maxlen) {
path = alloca(len);
memset(path, 0, len);
maxlen = len;
} else {
memset(path, 0, maxlen);
}
snprintf(path, len, "%s/%s", base, filein);
fs = ast_writefile(path, "raw", NULL, O_CREAT|O_APPEND, 0, 0700);
mode = DMODE_PLAY;
memset(&flags, 0, sizeof(flags));
ast_set_flag(&flags, DFLAG_PAUSE);
digit = play_and_wait(chan, "dictate/forhelp", AST_DIGIT_ANY);
done = 0;
speed = 1;
res = 0;
lastop = 0;
samples = 0;
while (!done && ((res = ast_waitfor(chan, -1)) > -1) && fs && (f = ast_read(chan))) {
if (digit) {
struct ast_frame fr = {AST_FRAME_DTMF, digit};
ast_queue_frame(chan, &fr);
digit = 0;
}
if ((f->frametype == AST_FRAME_DTMF)) {
int got = 1;
switch(mode) {
case DMODE_PLAY:
switch(f->subclass) {
case '1':
ast_set_flag(&flags, DFLAG_PAUSE);
mode = DMODE_RECORD;
break;
case '2':
speed++;
if (speed > 4) {
speed = 1;
}
res = ast_say_number(chan, speed, AST_DIGIT_ANY, chan->language, (char *) NULL);
break;
case '7':
samples -= ffactor;
if(samples < 0) {
samples = 0;
}
ast_seekstream(fs, samples, SEEK_SET);
break;
case '8':
samples += ffactor;
ast_seekstream(fs, samples, SEEK_SET);
break;
default:
got = 0;
}
break;
case DMODE_RECORD:
switch(f->subclass) {
case '1':
ast_set_flag(&flags, DFLAG_PAUSE);
mode = DMODE_PLAY;
break;
case '8':
ast_toggle_flag(&flags, DFLAG_TRUNC);
lastop = 0;
break;
default:
got = 0;
}
break;
default:
got = 0;
}
if (!got) {
switch(f->subclass) {
case '#':
done = 1;
continue;
break;
case '*':
ast_toggle_flag(&flags, DFLAG_PAUSE);
if (ast_test_flag(&flags, DFLAG_PAUSE)) {
digit = play_and_wait(chan, "dictate/pause", AST_DIGIT_ANY);
} else {
digit = play_and_wait(chan, mode == DMODE_PLAY ? "dictate/playback" : "dictate/record", AST_DIGIT_ANY);
}
break;
case '0':
ast_set_flag(&flags, DFLAG_PAUSE);
digit = play_and_wait(chan, "dictate/paused", AST_DIGIT_ANY);
switch(mode) {
case DMODE_PLAY:
digit = play_and_wait(chan, "dictate/play_help", AST_DIGIT_ANY);
break;
case DMODE_RECORD:
digit = play_and_wait(chan, "dictate/record_help", AST_DIGIT_ANY);
break;
}
if (digit == 0) {
digit = play_and_wait(chan, "dictate/both_help", AST_DIGIT_ANY);
} else if (digit < 0) {
done = 1;
break;
}
break;
}
}
} else if (f->frametype == AST_FRAME_VOICE) {
switch(mode) {
struct ast_frame *fr;
int x;
case DMODE_PLAY:
if (lastop != DMODE_PLAY) {
if (ast_test_flag(&flags, DFLAG_PAUSE)) {
digit = play_and_wait(chan, "dictate/playback_mode", AST_DIGIT_ANY);
if (digit == 0) {
digit = play_and_wait(chan, "dictate/paused", AST_DIGIT_ANY);
} else if (digit < 0) {
break;
}
}
if (lastop != DFLAG_PLAY) {
lastop = DFLAG_PLAY;
ast_closestream(fs);
fs = ast_openstream(chan, path, chan->language);
ast_seekstream(fs, samples, SEEK_SET);
chan->stream = NULL;
}
lastop = DMODE_PLAY;
}
if (!ast_test_flag(&flags, DFLAG_PAUSE)) {
for (x = 0; x < speed; x++) {
if ((fr = ast_readframe(fs))) {
ast_write(chan, fr);
samples += fr->samples;
ast_frfree(fr);
fr = NULL;
} else {
samples = 0;
ast_seekstream(fs, 0, SEEK_SET);
}
}
}
break;
case DMODE_RECORD:
if (lastop != DMODE_RECORD) {
int oflags = O_CREAT | O_WRONLY;
if (ast_test_flag(&flags, DFLAG_PAUSE)) {
digit = play_and_wait(chan, "dictate/record_mode", AST_DIGIT_ANY);
if (digit == 0) {
digit = play_and_wait(chan, "dictate/paused", AST_DIGIT_ANY);
} else if (digit < 0) {
break;
}
}
lastop = DMODE_RECORD;
ast_closestream(fs);
if ( ast_test_flag(&flags, DFLAG_TRUNC)) {
oflags |= O_TRUNC;
digit = play_and_wait(chan, "dictate/truncating_audio", AST_DIGIT_ANY);
} else {
oflags |= O_APPEND;
}
fs = ast_writefile(path, "raw", NULL, oflags, 0, 0700);
if (ast_test_flag(&flags, DFLAG_TRUNC)) {
ast_seekstream(fs, 0, SEEK_SET);
ast_clear_flag(&flags, DFLAG_TRUNC);
} else {
ast_seekstream(fs, 0, SEEK_END);
}
}
if (!ast_test_flag(&flags, DFLAG_PAUSE)) {
res = ast_writestream(fs, f);
}
break;
}
}
ast_frfree(f);
}
}
if (oldr) {
ast_set_read_format(chan, oldr);
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, dictate_exec, synopsis, desc);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

169
apps/app_directed_pickup.c Normal file
View File

@@ -0,0 +1,169 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2005, Joshua Colp
*
* Joshua Colp <jcolp@asterlink.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Directed Call Pickup Support
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
static const char *tdesc = "Directed Call Pickup Application";
static const char *app = "Pickup";
static const char *synopsis = "Directed Call Pickup";
static const char *descrip =
" Pickup(extension[@context]): This application can pickup any ringing channel\n"
"that is calling the specified extension. If no context is specified, the current\n"
"context will be used.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int pickup_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u = NULL;
struct ast_channel *origin = NULL, *target = NULL;
char *tmp = NULL, *exten = NULL, *context = NULL;
char workspace[256] = "";
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Pickup requires an argument (extension) !\n");
return -1;
}
LOCAL_USER_ADD(u);
/* Get the extension and context if present */
exten = data;
context = strchr(data, '@');
if (context) {
*context = '\0';
context++;
}
/* Find a channel to pickup */
origin = ast_get_channel_by_exten_locked(exten, context);
if (origin && origin->cdr) {
ast_cdr_getvar(origin->cdr, "dstchannel", &tmp, workspace,
sizeof(workspace), 0);
if (tmp) {
/* We have a possible channel... now we need to find it! */
target = ast_get_channel_by_name_locked(tmp);
} else {
ast_log(LOG_DEBUG, "No target channel found.\n");
res = -1;
}
ast_mutex_unlock(&origin->lock);
} else {
if (origin)
ast_mutex_unlock(&origin->lock);
ast_log(LOG_DEBUG, "No originating channel found.\n");
}
if (res)
goto out;
if (target && (!target->pbx) && ((target->_state == AST_STATE_RINGING) || (target->_state == AST_STATE_RING))) {
ast_log(LOG_DEBUG, "Call pickup on chan '%s' by '%s'\n", target->name,
chan->name);
res = ast_answer(chan);
if (res) {
ast_log(LOG_WARNING, "Unable to answer '%s'\n", chan->name);
res = -1;
goto out;
}
res = ast_queue_control(chan, AST_CONTROL_ANSWER);
if (res) {
ast_log(LOG_WARNING, "Unable to queue answer on '%s'\n",
chan->name);
res = -1;
goto out;
}
res = ast_channel_masquerade(target, chan);
if (res) {
ast_log(LOG_WARNING, "Unable to masquerade '%s' into '%s'\n", chan->name, target->name);
res = -1;
goto out;
}
} else {
ast_log(LOG_DEBUG, "No call pickup possible...\n");
res = -1;
}
/* Done */
out:
if (target)
ast_mutex_unlock(&target->lock);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, pickup_exec, synopsis, descrip);
}
char *description(void)
{
return (char *) tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

241
apps/app_directory.c Executable file → Normal file
View File

@@ -1,51 +1,74 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Provide a directory of extensions
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Provide a directory of extensions
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/config.h>
#include <asterisk/say.h>
#include <asterisk/utils.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include "../asterisk.h"
#include "../astconf.h"
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/config.h"
#include "asterisk/say.h"
#include "asterisk/utils.h"
static char *tdesc = "Extension Directory";
static char *app = "Directory";
static char *synopsis = "Provide directory of voicemail extensions";
static char *descrip =
" Directory(vm-context[|dial-context[|options]]): Presents the user with a directory\n"
"of extensions from which they may select by name. The list of names \n"
"and extensions is discovered from voicemail.conf. The vm-context argument\n"
"is required, and specifies the context of voicemail.conf to use. The\n"
"dial-context is the context to use for dialing the users, and defaults to\n"
"the vm-context if unspecified. The 'f' option causes the directory to match\n"
"based on the first name in voicemail.conf instead of the last name.\n"
"Returns 0 unless the user hangs up. It also sets up the channel on exit\n"
"to enter the extension the user selected.\n";
" Directory(vm-context[|dial-context[|options]]): This application will present\n"
"the calling channel with a directory of extensions from which they can search\n"
"by name. The list of names and corresponding extensions is retrieved from the\n"
"voicemail configuration file, voicemail.conf.\n"
" This applicaiton will immediate exit if one of the following DTMF digits are\n"
"received and the extension to jump to exists:\n"
" 0 - Jump to the 'o' extension, if it exists.\n"
" * - Jump to the 'a' extension, if it exists.\n\n"
" Parameters:\n"
" vm-context - This is the context within voicemail.conf to use for the\n"
" Directory.\n"
" dial-context - This is the dialplan context to use when looking for an\n"
" extension that the user has selected, or when jumping to the\n"
" 'o' or 'a' extension.\n\n"
" Options:\n"
" f - Allow the caller to enter the first name of a user in the directory\n"
" instead of using the last name.\n";
/* For simplicity, I'm keeping the format compatible with the voicemail config,
but i'm open to suggestions for isolating it */
#define DIRECTORY_CONFIG "voicemail.conf"
#define VOICEMAIL_CONFIG "voicemail.conf"
/* How many digits to read in */
#define NUMDIGITS 3
@@ -176,11 +199,7 @@ static int play_mailbox_owner(struct ast_channel *chan, char *context, char *dia
case '1':
/* Name selected */
loop = 0;
if (ast_exists_extension(chan,dialcontext,ext,1,chan->callerid)) {
strncpy(chan->exten, ext, sizeof(chan->exten)-1);
chan->priority = 0;
strncpy(chan->context, dialcontext, sizeof(chan->context)-1);
} else {
if (ast_goto_if_exists(chan, dialcontext, ext, 1)) {
ast_log(LOG_WARNING,
"Can't find extension '%s' in context '%s'. "
"Did you pass the wrong context to Directory?\n",
@@ -210,6 +229,65 @@ static int play_mailbox_owner(struct ast_channel *chan, char *context, char *dia
return(res);
}
static struct ast_config *realtime_directory(char *context)
{
struct ast_config *cfg;
struct ast_config *rtdata;
struct ast_category *cat;
struct ast_variable *var;
char *mailbox;
char *fullname;
char *hidefromdir;
char tmp[100];
/* Load flat file config. */
cfg = ast_config_load(VOICEMAIL_CONFIG);
if (!cfg) {
/* Loading config failed. */
ast_log(LOG_WARNING, "Loading config failed.\n");
return NULL;
}
/* Get realtime entries, categorized by their mailbox number
and present in the requested context */
rtdata = ast_load_realtime_multientry("voicemail", "mailbox LIKE", "%", "context", context, NULL);
/* if there are no results, just return the entries from the config file */
if (!rtdata)
return cfg;
/* Does the context exist within the config file? If not, make one */
cat = ast_category_get(cfg, context);
if (!cat) {
cat = ast_category_new(context);
if (!cat) {
ast_log(LOG_WARNING, "Out of memory\n");
ast_config_destroy(cfg);
return NULL;
}
ast_category_append(cfg, cat);
}
mailbox = ast_category_browse(rtdata, NULL);
while (mailbox) {
fullname = ast_variable_retrieve(rtdata, mailbox, "fullname");
hidefromdir = ast_variable_retrieve(rtdata, mailbox, "hidefromdir");
snprintf(tmp, sizeof(tmp), "no-password,%s,hidefromdir=%s",
fullname ? fullname : "",
hidefromdir ? hidefromdir : "no");
var = ast_variable_new(mailbox, tmp);
if (var)
ast_variable_append(cat, var);
else
ast_log(LOG_WARNING, "Out of memory adding mailbox '%s'\n", mailbox);
mailbox = ast_category_browse(rtdata, mailbox);
}
ast_config_destroy(rtdata);
return cfg;
}
static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *context, char *dialcontext, char digit, int last)
{
/* Read in the first three digits.. "digit" is the first digit, already read */
@@ -221,12 +299,34 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
int lastuserchoice = 0;
char *start, *pos, *conv,*stringp=NULL;
if (!context || ast_strlen_zero(context)) {
if (ast_strlen_zero(context)) {
ast_log(LOG_WARNING,
"Directory must be called with an argument "
"(context in which to interpret extensions)\n");
return -1;
}
if (digit == '0') {
if (!ast_goto_if_exists(chan, chan->context, "o", 1) ||
(!ast_strlen_zero(chan->macrocontext) &&
!ast_goto_if_exists(chan, chan->macrocontext, "o", 1))) {
return 0;
} else {
ast_log(LOG_WARNING, "Can't find extension 'o' in current context. "
"Not Exiting the Directory!\n");
res = 0;
}
}
if (digit == '*') {
if (!ast_goto_if_exists(chan, chan->context, "a", 1) ||
(!ast_strlen_zero(chan->macrocontext) &&
!ast_goto_if_exists(chan, chan->macrocontext, "a", 1))) {
return 0;
} else {
ast_log(LOG_WARNING, "Can't find extension 'a' in current context. "
"Not Exiting the Directory!\n");
res = 0;
}
}
memset(ext, 0, sizeof(ext));
ext[0] = digit;
res = 0;
@@ -239,12 +339,12 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
while(v) {
/* Find a candidate extension */
start = strdup(v->value);
if (start) {
if (start && !strcasestr(start, "hidefromdir=yes")) {
stringp=start;
strsep(&stringp, ",");
pos = strsep(&stringp, ",");
if (pos) {
strncpy(name, pos, sizeof(name) - 1);
ast_copy_string(name, pos, sizeof(name));
/* Grab the last name */
if (last && strrchr(pos,' '))
pos = strrchr(pos, ' ') + 1;
@@ -276,11 +376,11 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
lastuserchoice = 0;
break;
case '1':
/* user pressed '1' and extensions exists */
/* user pressed '1' and extensions exists;
play_mailbox_owner will already have done
a goto() on the channel
*/
lastuserchoice = res;
strncpy(chan->context, dialcontext, sizeof(chan->context) - 1);
strncpy(chan->exten, v->name, sizeof(chan->exten) - 1);
chan->priority = 0;
break;
case '*':
/* user pressed '*' to skip something found */
@@ -316,17 +416,13 @@ static int directory_exec(struct ast_channel *chan, void *data)
int last = 1;
char *context, *dialcontext, *dirintro, *options;
if (!data) {
ast_log(LOG_WARNING, "directory requires an argument (context[,dialcontext])\n");
return -1;
}
cfg = ast_load(DIRECTORY_CONFIG);
if (!cfg) {
ast_log(LOG_WARNING, "Unable to open directory configuration %s\n", DIRECTORY_CONFIG);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Directory requires an argument (context[,dialcontext])\n");
return -1;
}
LOCAL_USER_ADD(u);
top:
context = ast_strdupa(data);
dialcontext = strchr(context, '|');
if (dialcontext) {
@@ -341,43 +437,60 @@ top:
}
} else
dialcontext = context;
cfg = realtime_directory(context);
if (!cfg) {
LOCAL_USER_REMOVE(u);
return -1;
}
dirintro = ast_variable_retrieve(cfg, context, "directoryintro");
if (!dirintro || ast_strlen_zero(dirintro))
if (ast_strlen_zero(dirintro))
dirintro = ast_variable_retrieve(cfg, "general", "directoryintro");
if (!dirintro || ast_strlen_zero(dirintro)) {
if (ast_strlen_zero(dirintro)) {
if (last)
dirintro = "dir-intro";
else
dirintro = "dir-intro-fn";
}
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
if (!res)
res = ast_streamfile(chan, dirintro, chan->language);
if (!res)
res = ast_waitstream(chan, AST_DIGIT_ANY);
ast_stopstream(chan);
if (!res)
res = ast_waitfordigit(chan, 5000);
if (res > 0) {
res = do_directory(chan, cfg, context, dialcontext, res, last);
if (res > 0) {
for (;;) {
if (!res)
res = ast_streamfile(chan, dirintro, chan->language);
if (!res)
res = ast_waitstream(chan, AST_DIGIT_ANY);
ast_stopstream(chan);
if (res >= 0) {
goto top;
ast_stopstream(chan);
if (!res)
res = ast_waitfordigit(chan, 5000);
if (res > 0) {
res = do_directory(chan, cfg, context, dialcontext, res, last);
if (res > 0) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
ast_stopstream(chan);
if (res >= 0) {
continue;
}
}
}
break;
}
ast_destroy(cfg);
ast_config_destroy(cfg);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

341
apps/app_disa.c Executable file → Normal file
View File

@@ -1,33 +1,52 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* DISA -- Direct Inward System Access Application 6/20/2001
*
* Copyright (C) 2001, Linux Support Services, Inc.
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Jim Dixon <jim@lambdatel.com>
*
* Made only slightly more sane by Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief DISA -- Direct Inward System Access Application
*
* \author Jim Dixon <jim@lambdatel.com>
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/indications.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/ulaw.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <sys/time.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/app.h"
#include "asterisk/indications.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/ulaw.h"
#include "asterisk/callerid.h"
static char *tdesc = "DISA (Direct Inward System Access) Application";
@@ -36,30 +55,27 @@ static char *app = "DISA";
static char *synopsis = "DISA (Direct Inward System Access)";
static char *descrip =
"DISA (Direct Inward System Access) -- Allows someone from outside\n"
"the telephone switch (PBX) to obtain an \"internal\" system dialtone\n"
"and to place calls from it as if they were placing a call from within\n"
"the switch. A user calls a number that connects to the DISA application\n"
"and is given dialtone. The user enters their passcode, followed by the\n"
"pound sign (#). If the passcode is correct, the user is then given\n"
"DISA(<numeric passcode>[|<context>]) or disa(<filename>)\n"
"The DISA, Direct Inward System Access, application allows someone from \n"
"outside the telephone switch (PBX) to obtain an \"internal\" system \n"
"dialtone and to place calls from it as if they were placing a call from \n"
"within the switch.\n"
"DISA plays a dialtone. The user enters their numeric passcode, followed by\n"
"the pound sign (#). If the passcode is correct, the user is then given\n"
"system dialtone on which a call may be placed. Obviously, this type\n"
"of access has SERIOUS security implications, and GREAT care must be\n"
"taken NOT to compromise your security.\n\n"
"There is a possibility of accessing DISA without password. Simply\n"
"exchange your password with no-password.\n\n"
" Example: exten => s,1,DISA,no-password|local\n\n"
"but be aware of using this for your security compromising.\n\n"
"exchange your password with \"no-password\".\n\n"
" Example: exten => s,1,DISA(no-password|local)\n\n"
"Be aware that using this compromises the security of your PBX.\n\n"
"The arguments to this application (in extensions.conf) allow either\n"
"specification of a single global password (that everyone uses), or\n"
"individual passwords contained in a file. It also allow specification\n"
"specification of a single global passcode (that everyone uses), or\n"
"individual passcodes contained in a file. It also allow specification\n"
"of the context on which the user will be dialing. If no context is\n"
"specified, the DISA application defaults the context to \"disa\"\n"
"presumably that a normal system will have a special context set up\n"
"for DISA use with some or a lot of restrictions. The arguments are\n"
"one of the following:\n\n"
" numeric-passcode\n"
" numeric-passcode|context\n"
" full-pathname-of-file-that-contains-passcodes\n\n"
"specified, the DISA application defaults the context to \"disa\".\n"
"Presumably a normal system will have a special context set up\n"
"for DISA use with some or a lot of restrictions. \n\n"
"The file that contains the passcodes (if used) allows specification\n"
"of either just a passcode (defaulting to the \"disa\" context, or\n"
"passcode|context on each line of the file. The file may contain blank\n"
@@ -67,35 +83,29 @@ static char *descrip =
"above arguments may have |new-callerid-string appended to them, to\n"
"specify a new (different) callerid to be used for this call, for\n"
"example: numeric-passcode|context|\"My Phone\" <(234) 123-4567> or \n"
"full-pathname-of-passcode-file|\"My Phone\" <(234) 123-4567>. Note that\n"
"full-pathname-of-passcode-file|\"My Phone\" <(234) 123-4567>. Last\n"
"but not least, |mailbox[@context] may be appended, which will cause\n"
"a stutter-dialtone (indication \"dialrecall\") to be used, if the\n"
"specified mailbox contains any new messages, for example:\n"
"numeric-passcode|context||1234 (w/a changing callerid). Note that\n"
"in the case of specifying the numeric-passcode, the context must be\n"
"specified if the callerid is specified also.\n\n"
"If login is successful, the application parses the dialed number in\n"
"the specified (or default) context, and returns 0 with the new extension\n"
"context filled-in and the priority set to 1, so that the PBX may\n"
"re-apply the routing tables to it and complete the call normally.";
"If login is successful, the application looks up the dialed number in\n"
"the specified (or default) context, and executes it if found.\n"
"If the user enters an invalid extension and extension \"i\" (invalid) \n"
"exists in the context, it will be used.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int firstdigittimeout = 20000; /* 20 seconds first digit timeout */
static int digittimeout = 10000; /* 10 seconds subsequent digit timeout */
static int ms_diff(struct timeval *tv1, struct timeval *tv2)
{
int ms;
ms = (tv1->tv_sec - tv2->tv_sec) * 1000;
ms += (tv1->tv_usec - tv2->tv_usec) / 1000;
return(ms);
}
static void play_dialtone(struct ast_channel *chan)
static void play_dialtone(struct ast_channel *chan, char *mailbox)
{
const struct tone_zone_sound *ts = NULL;
ts = ast_get_indication_tone(chan->zone, "dial");
if(ast_app_has_voicemail(mailbox, NULL))
ts = ast_get_indication_tone(chan->zone, "dialrecall");
else
ts = ast_get_indication_tone(chan->zone, "dial");
if (ts)
ast_playtones_start(chan, 0, ts->data, 0);
else
@@ -105,49 +115,67 @@ static void play_dialtone(struct ast_channel *chan)
static int disa_exec(struct ast_channel *chan, void *data)
{
int i,j,k,x,did_ignore;
int firstdigittimeout = 20000;
int digittimeout = 10000;
struct localuser *u;
char tmp[256],arg2[256]="",exten[AST_MAX_EXTENSION],acctcode[20]="";
char *ourcontext,*ourcallerid;
char *tmp, exten[AST_MAX_EXTENSION],acctcode[20]="";
char pwline[256];
char ourcidname[256],ourcidnum[256];
struct ast_frame *f;
struct timeval lastout, now, lastdigittime;
struct timeval lastdigittime;
int res;
time_t rstart;
FILE *fp;
char *stringp=NULL;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(passcode);
AST_APP_ARG(context);
AST_APP_ARG(cid);
AST_APP_ARG(mailbox);
);
if (ast_set_write_format(chan,AST_FORMAT_ULAW))
{
ast_log(LOG_WARNING, "Unable to set write format to Mu-law on %s\n",chan->name);
return -1;
}
if (ast_set_read_format(chan,AST_FORMAT_ULAW))
{
ast_log(LOG_WARNING, "Unable to set read format to Mu-law on %s\n",chan->name);
return -1;
}
lastout.tv_sec = lastout.tv_usec = 0;
if (!data || !strlen((char *)data)) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "disa requires an argument (passcode/passcode file)\n");
return -1;
}
strncpy(tmp, (char *)data, sizeof(tmp)-1);
stringp=tmp;
strsep(&stringp, "|");
ourcontext = strsep(&stringp, "|");
/* if context specified, save 2nd arg and parse third */
if (ourcontext) {
strncpy(arg2,ourcontext, sizeof(arg2) - 1);
ourcallerid = strsep(&stringp,"|");
}
/* if context not specified, use "disa" */
else {
arg2[0] = 0;
ourcallerid = NULL;
ourcontext = "disa";
}
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP)
{
if (chan->pbx) {
firstdigittimeout = chan->pbx->rtimeout*1000;
digittimeout = chan->pbx->dtimeout*1000;
}
if (ast_set_write_format(chan,AST_FORMAT_ULAW)) {
ast_log(LOG_WARNING, "Unable to set write format to Mu-law on %s\n",chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
if (ast_set_read_format(chan,AST_FORMAT_ULAW)) {
ast_log(LOG_WARNING, "Unable to set read format to Mu-law on %s\n",chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
ast_log(LOG_DEBUG, "Digittimeout: %d\n", digittimeout);
ast_log(LOG_DEBUG, "Responsetimeout: %d\n", firstdigittimeout);
tmp = ast_strdupa(data);
if (!tmp) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, tmp);
if (ast_strlen_zero(args.context))
args.context = "disa";
if (ast_strlen_zero(args.mailbox))
args.mailbox = "";
ast_log(LOG_DEBUG, "Mailbox: %s\n",args.mailbox);
if (chan->_state != AST_STATE_UP) {
/* answer */
ast_answer(chan);
}
@@ -157,26 +185,23 @@ static int disa_exec(struct ast_channel *chan, void *data)
acctcode[0] = 0;
/* can we access DISA without password? */
ast_log(LOG_DEBUG, "Context: %s\n",ourcontext);
ast_log(LOG_DEBUG, "Context: %s\n",args.context);
if (!strcasecmp(tmp, "no-password"))
{;
k = 1;
if (!strcasecmp(args.passcode, "no-password")) {
k |= 1; /* We have the password */
ast_log(LOG_DEBUG, "DISA no-password login success\n");
}
gettimeofday(&lastdigittime,NULL);
lastdigittime = ast_tvnow();
play_dialtone(chan);
play_dialtone(chan, args.mailbox);
for(;;)
{
gettimeofday(&now,NULL);
for (;;) {
/* if outa time, give em reorder */
if (ms_diff(&now,&lastdigittime) >
((k) ? digittimeout : firstdigittimeout))
if (ast_tvdiff_ms(ast_tvnow(), lastdigittime) >
((k&2) ? digittimeout : firstdigittimeout))
{
ast_log(LOG_DEBUG,"DISA %s entry timeout on chan %s\n",
((k) ? "extension" : "password"),chan->name);
((k&1) ? "extension" : "password"),chan->name);
break;
}
if ((res = ast_waitfor(chan, -1) < 0)) {
@@ -211,54 +236,58 @@ static int disa_exec(struct ast_channel *chan, void *data)
j = f->subclass; /* save digit */
ast_frfree(f);
if (i == 0)
{
k|=2; /* We have the first digit */
ast_playtones_stop(chan);
gettimeofday(&lastdigittime,NULL);
}
lastdigittime = ast_tvnow();
/* got a DTMF tone */
if (i < AST_MAX_EXTENSION) /* if still valid number of digits */
{
if (!k) /* if in password state */
if (!(k&1)) /* if in password state */
{
if (j == '#') /* end of password */
{
/* see if this is an integer */
if (sscanf(tmp,"%d",&j) < 1)
if (sscanf(args.passcode,"%d",&j) < 1)
{ /* nope, it must be a filename */
fp = fopen(tmp,"r");
fp = fopen(args.passcode,"r");
if (!fp)
{
ast_log(LOG_WARNING,"DISA password file %s not found on chan %s\n",tmp,chan->name);
ast_log(LOG_WARNING,"DISA password file %s not found on chan %s\n",args.passcode,chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
tmp[0] = 0;
while(fgets(tmp,sizeof(tmp) - 1,fp))
pwline[0] = 0;
while(fgets(pwline,sizeof(pwline) - 1,fp))
{
char *stringp=NULL,*stringp2;
if (!tmp[0]) continue;
if (tmp[strlen(tmp) - 1] == '\n')
tmp[strlen(tmp) - 1] = 0;
if (!tmp[0]) continue;
if (!pwline[0]) continue;
if (pwline[strlen(pwline) - 1] == '\n')
pwline[strlen(pwline) - 1] = 0;
if (!pwline[0]) continue;
/* skip comments */
if (tmp[0] == '#') continue;
if (tmp[0] == ';') continue;
stringp=tmp;
strsep(&stringp, "|");
stringp2=strsep(&stringp, "|");
if (stringp2) {
ourcontext=stringp2;
stringp2=strsep(&stringp, "|");
if (stringp2) ourcallerid=stringp2;
}
if (pwline[0] == '#') continue;
if (pwline[0] == ';') continue;
AST_STANDARD_APP_ARGS(args, pwline);
ast_log(LOG_DEBUG, "Mailbox: %s\n",args.mailbox);
/* password must be in valid format (numeric) */
if (sscanf(tmp,"%d",&j) < 1) continue;
if (sscanf(args.passcode,"%d",&j) < 1) continue;
/* if we got it */
if (!strcmp(exten,tmp)) break;
if (!strcmp(exten,args.passcode)) {
if (ast_strlen_zero(args.context))
args.context = "disa";
if (ast_strlen_zero(args.mailbox))
args.mailbox = "";
break;
}
}
fclose(fp);
}
/* compare the two */
if (strcmp(exten,tmp))
if (strcmp(exten,args.passcode))
{
ast_log(LOG_WARNING,"DISA on chan %s got bad password %s\n",chan->name,exten);
goto reorder;
@@ -266,12 +295,12 @@ static int disa_exec(struct ast_channel *chan, void *data)
}
/* password good, set to dial state */
ast_log(LOG_DEBUG,"DISA on chan %s password is good\n",chan->name);
play_dialtone(chan);
play_dialtone(chan, args.mailbox);
k = 1;
k|=1; /* In number mode */
i = 0; /* re-set buffer pointer */
exten[sizeof(acctcode)] = 0;
strncpy(acctcode,exten, sizeof(acctcode) - 1);
ast_copy_string(acctcode, exten, sizeof(acctcode));
exten[0] = 0;
ast_log(LOG_DEBUG,"Successful DISA log-in on chan %s\n",chan->name);
continue;
@@ -280,11 +309,11 @@ static int disa_exec(struct ast_channel *chan, void *data)
exten[i++] = j; /* save digit */
exten[i] = 0;
if (!k) continue; /* if getting password, continue doing it */
if (!(k&1)) continue; /* if getting password, continue doing it */
/* if this exists */
if (ast_ignore_pattern(ourcontext, exten)) {
play_dialtone(chan);
if (ast_ignore_pattern(args.context, exten)) {
play_dialtone(chan, "");
did_ignore = 1;
} else
if (did_ignore) {
@@ -293,30 +322,43 @@ static int disa_exec(struct ast_channel *chan, void *data)
}
/* if can do some more, do it */
if (!ast_matchmore_extension(chan,ourcontext,exten,1, chan->callerid)) {
if (!ast_matchmore_extension(chan,args.context,exten,1, chan->cid.cid_num)) {
break;
}
}
}
if (k && ast_exists_extension(chan,ourcontext,exten,1, chan->callerid))
{
ast_playtones_stop(chan);
/* We're authenticated and have a valid extension */
if (ourcallerid && *ourcallerid)
{
if (chan->callerid) free(chan->callerid);
chan->callerid = strdup(ourcallerid);
if (k == 3) {
int recheck = 0;
struct ast_flags flags = { AST_CDR_FLAG_POSTED };
if (!ast_exists_extension(chan, args.context, exten, 1, chan->cid.cid_num)) {
pbx_builtin_setvar_helper(chan, "INVALID_EXTEN", exten);
exten[0] = 'i';
exten[1] = '\0';
recheck = 1;
}
if (!recheck || ast_exists_extension(chan, args.context, exten, 1, chan->cid.cid_num)) {
ast_playtones_stop(chan);
/* We're authenticated and have a target extension */
if (!ast_strlen_zero(args.cid))
{
ast_callerid_split(args.cid, ourcidname, sizeof(ourcidname), ourcidnum, sizeof(ourcidnum));
ast_set_callerid(chan, ourcidnum, ourcidname, ourcidnum);
}
if (!ast_strlen_zero(acctcode))
ast_copy_string(chan->accountcode, acctcode, sizeof(chan->accountcode));
ast_cdr_reset(chan->cdr, &flags);
ast_explicit_goto(chan, args.context, exten, 1);
LOCAL_USER_REMOVE(u);
return 0;
}
strncpy(chan->exten, exten, sizeof(chan->exten) - 1);
strncpy(chan->context, ourcontext, sizeof(chan->context) - 1);
strncpy(chan->accountcode, acctcode, sizeof(chan->accountcode) - 1);
chan->priority = 0;
ast_cdr_init(chan->cdr,chan);
LOCAL_USER_REMOVE(u);
return 0;
}
/* Received invalid, but no "i" extension exists in the given context */
reorder:
ast_indicate(chan,AST_CONTROL_CONGESTION);
@@ -338,8 +380,13 @@ reorder:
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

192
apps/app_dumpchan.c Normal file
View File

@@ -0,0 +1,192 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2004 - 2005, Anthony Minessale II.
*
* Anthony Minessale <anthmct@yahoo.com>
*
* disclaimed to Digium
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Application to dump channel variables
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/options.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#include "asterisk/utils.h"
static char *tdesc = "Dump Info About The Calling Channel";
static char *app = "DumpChan";
static char *synopsis = "Dump Info About The Calling Channel";
static char *desc =
" DumpChan([<min_verbose_level>])\n"
"Displays information on channel and listing of all channel\n"
"variables. If min_verbose_level is specified, output is only\n"
"displayed when the verbose level is currently set to that number\n"
"or greater. \n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int ast_serialize_showchan(struct ast_channel *c, char *buf, size_t size)
{
struct timeval now;
long elapsed_seconds=0;
int hour=0, min=0, sec=0;
char cgrp[256];
char pgrp[256];
now = ast_tvnow();
memset(buf,0,size);
if (!c)
return 0;
if (c->cdr) {
elapsed_seconds = now.tv_sec - c->cdr->start.tv_sec;
hour = elapsed_seconds / 3600;
min = (elapsed_seconds % 3600) / 60;
sec = elapsed_seconds % 60;
}
snprintf(buf,size,
"Name= %s\n"
"Type= %s\n"
"UniqueID= %s\n"
"CallerID= %s\n"
"CallerIDName= %s\n"
"DNIDDigits= %s\n"
"State= %s (%d)\n"
"Rings= %d\n"
"NativeFormat= %d\n"
"WriteFormat= %d\n"
"ReadFormat= %d\n"
"1stFileDescriptor= %d\n"
"Framesin= %d %s\n"
"Framesout= %d %s\n"
"TimetoHangup= %ld\n"
"ElapsedTime= %dh%dm%ds\n"
"Context= %s\n"
"Extension= %s\n"
"Priority= %d\n"
"CallGroup= %s\n"
"PickupGroup= %s\n"
"Application= %s\n"
"Data= %s\n"
"Blocking_in= %s\n",
c->name,
c->type,
c->uniqueid,
(c->cid.cid_num ? c->cid.cid_num : "(N/A)"),
(c->cid.cid_name ? c->cid.cid_name : "(N/A)"),
(c->cid.cid_dnid ? c->cid.cid_dnid : "(N/A)" ),
ast_state2str(c->_state),
c->_state,
c->rings,
c->nativeformats,
c->writeformat,
c->readformat,
c->fds[0], c->fin & 0x7fffffff, (c->fin & 0x80000000) ? " (DEBUGGED)" : "",
c->fout & 0x7fffffff, (c->fout & 0x80000000) ? " (DEBUGGED)" : "", (long)c->whentohangup,
hour,
min,
sec,
c->context,
c->exten,
c->priority,
ast_print_group(cgrp, sizeof(cgrp), c->callgroup),
ast_print_group(pgrp, sizeof(pgrp), c->pickupgroup),
( c->appl ? c->appl : "(N/A)" ),
( c-> data ? (!ast_strlen_zero(c->data) ? c->data : "(Empty)") : "(None)"),
(ast_test_flag(c, AST_FLAG_BLOCKING) ? c->blockproc : "(Not Blocking)"));
return 0;
}
static int dumpchan_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char vars[1024];
char info[1024];
int level = 0;
static char *line = "================================================================================";
LOCAL_USER_ADD(u);
if (!ast_strlen_zero(data)) {
level = atoi(data);
}
pbx_builtin_serialize_variables(chan, vars, sizeof(vars));
ast_serialize_showchan(chan, info, sizeof(info));
if (option_verbose >= level)
ast_verbose("\nDumping Info For Channel: %s:\n%s\nInfo:\n%s\nVariables:\n%s%s\n",chan->name, line, info, vars, line);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, dumpchan_exec, synopsis, desc);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

55
apps/app_echo.c Executable file → Normal file
View File

@@ -1,26 +1,43 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Echo application -- play back what you hear to evaluate latency
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Echo application -- play back what you hear to evaluate latency
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
static char *tdesc = "Simple Echo Application";
@@ -29,8 +46,9 @@ static char *app = "Echo";
static char *synopsis = "Echo audio read back to the user";
static char *descrip =
" Echo(): Echo audio read from channel back to the channel. Returns 0\n"
"if the user exits with the '#' key, or -1 if the user hangs up.\n";
" Echo(): Echo audio read from channel back to the channel. \n"
"User can exit the application by either pressing the '#' key, \n"
"or hanging up.\n";
STANDARD_LOCAL_USER;
@@ -73,8 +91,13 @@ static int echo_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

181
apps/app_enumlookup.c Executable file → Normal file
View File

@@ -1,49 +1,69 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Time of day - Report the time of day
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Enumlookup - lookup entry in ENUM
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/options.h>
#include <asterisk/config.h>
#include <asterisk/module.h>
#include <asterisk/enum.h>
#include <asterisk/utils.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/options.h"
#include "asterisk/config.h"
#include "asterisk/module.h"
#include "asterisk/enum.h"
#include "asterisk/utils.h"
#include "asterisk/app.h"
#include "asterisk/options.h"
static char *tdesc = "ENUM Lookup";
static char *app = "EnumLookup";
static char *synopsis = "Lookup number in ENUM";
static char *descrip =
" EnumLookup(exten): Looks up an extension via ENUM and sets\n"
static char *descrip =
" EnumLookup(exten[|option]): Looks up an extension via ENUM and sets\n"
"the variable 'ENUM'. For VoIP URIs this variable will \n"
"look like 'TECHNOLOGY/URI' with the appropriate technology.\n"
"Returns -1 on hangup, or 0 on completion regardless of whether the \n"
"lookup was successful. \n"
"Currently, the enumservices SIP, H323, IAX, IAX2 and TEL are recognized. \n"
"A good SIP, H323, IAX or IAX2 entry will result in normal priority handling, \n"
"whereas a good TEL entry will increase the priority by 51 (if existing).\n"
"If the lookup was *not* successful and there exists a priority n + 101,\n"
"then that priority will be taken next.\n" ;
"\nReturns status in the ENUMSTATUS channel variable:\n"
" ERROR Failed to do a lookup\n"
" <tech> Technology of the successful lookup: SIP, H323, IAX, IAX2 or TEL\n"
" BADURI Got URI Asterisk does not understand.\n"
" The option string may contain zero or the following character:\n"
" 'j' -- jump to +101 priority if the lookup isn't successful.\n"
" and jump to +51 priority on a TEL entry.\n";
#define ENUM_CONFIG "enum.conf"
@@ -54,24 +74,63 @@ STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
/*--- enumlookup_exec: Look up number in ENUM and return result */
static int enumlookup_exec(struct ast_channel *chan, void *data)
{
int res=0;
int res=0,priority_jump=0;
char tech[80];
char dest[80];
char tmp[256];
char *c,*t;
char *c,*t = NULL;
static int dep_warning=0;
struct localuser *u;
if (!data || ast_strlen_zero(data)) {
char *parse;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(d);
AST_APP_ARG(o);
);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "EnumLookup requires an argument (extension)\n");
res = 1;
return -1;
}
if (!dep_warning) {
ast_log(LOG_WARNING, "The application EnumLookup is deprecated. Please use the ENUMLOOKUP() function instead.\n");
dep_warning = 1;
}
LOCAL_USER_ADD(u);
if (!res) {
res = ast_get_enum(chan, data, dest, sizeof(dest), tech, sizeof(tech));
printf("ENUM got '%d'\n", res);
parse = ast_strdupa(data);
if (!parse) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
LOCAL_USER_REMOVE(u);
AST_STANDARD_APP_ARGS(args, parse);
tech[0] = '\0';
dest[0] = '\0';
if (args.o) {
if (strchr(args.o, 'j'))
priority_jump = 1;
}
res = ast_get_enum(chan, args.d, dest, sizeof(dest), tech, sizeof(tech), NULL, NULL);
if (!res) { /* Failed to do a lookup */
if (priority_jump || option_priority_jumping) {
/* Look for a "busy" place */
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
}
pbx_builtin_setvar_helper(chan, "ENUMSTATUS", "ERROR");
LOCAL_USER_REMOVE(u);
return 0;
}
pbx_builtin_setvar_helper(chan, "ENUMSTATUS", tech);
/* Parse it out */
if (res > 0) {
if (!strcasecmp(tech, "SIP")) {
@@ -87,7 +146,7 @@ static int enumlookup_exec(struct ast_channel *chan, void *data)
snprintf(tmp, sizeof(tmp), "%s/%s", h323driver, c);
/* do a s!;.*!! on the H323 URI */
t = strchr(c,';');
if (t)
if (t)
*t = 0;
pbx_builtin_setvar_helper(chan, "ENUM", tmp);
} else if (!strcasecmp(tech, "iax")) {
@@ -112,7 +171,7 @@ static int enumlookup_exec(struct ast_channel *chan, void *data)
res = 0;
} else {
/* now copy over the number, skipping all non-digits and stop at ; or NULL */
t = tmp;
t = tmp;
while( *c && (*c != ';') && (t - tmp < (sizeof(tmp) - 1))) {
if (isdigit(*c))
*t++ = *c;
@@ -121,38 +180,37 @@ static int enumlookup_exec(struct ast_channel *chan, void *data)
*t = 0;
pbx_builtin_setvar_helper(chan, "ENUM", tmp);
ast_log(LOG_NOTICE, "tel: ENUM set to \"%s\"\n", tmp);
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 51, chan->callerid))
chan->priority += 50;
else
res = 0;
if (priority_jump || option_priority_jumping) {
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 51))
res = 0;
}
}
} else if (!ast_strlen_zero(tech)) {
ast_log(LOG_NOTICE, "Don't know how to handle technology '%s'\n", tech);
pbx_builtin_setvar_helper(chan, "ENUMSTATUS", "BADURI");
res = 0;
}
}
if (!res) {
/* Look for a "busy" place */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
} else if (res > 0)
res = 0;
return res;
LOCAL_USER_REMOVE(u);
return 0;
}
/*--- load_config: Load enum.conf and find out how to handle H.323 */
static int load_config(void)
{
struct ast_config *cfg;
char *s;
cfg = ast_load(ENUM_CONFIG);
cfg = ast_config_load(ENUM_CONFIG);
if (cfg) {
if (!(s=ast_variable_retrieve(cfg, "general", "h323driver"))) {
strncpy(h323driver, H323DRIVERDEFAULT, sizeof(h323driver) - 1);
} else {
strncpy(h323driver, s, sizeof(h323driver) - 1);
}
ast_destroy(cfg);
ast_config_destroy(cfg);
return 0;
}
ast_log(LOG_NOTICE, "No ENUM Config file, using defaults\n");
@@ -160,30 +218,39 @@ static int load_config(void)
}
/*--- unload_module: Unload this application from PBX */
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
/*--- load_module: Load this application into PBX */
int load_module(void)
{
int res;
res = ast_register_application(app, enumlookup_exec, synopsis, descrip);
if (res)
return(res);
if ((res=load_config())) {
return(res);
}
return(0);
if (!res)
res = load_config();
return res;
}
/*--- reload: Reload configuration file */
int reload(void)
{
return(load_config());
return load_config();
}
/*--- description: Describe module */
char *description(void)
{
return tdesc;

56
apps/app_eval.c Executable file → Normal file
View File

@@ -1,28 +1,43 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Eval application
*
* Copyright (c) 2004 Tilghman Lesher. All rights reserved.
* Copyright (c) 2004 - 2005, Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <app_eval__v001@the-tilghman.com>
*
* $Id$
*
* This code is released by the author with no restrictions on usage.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
* \brief Eval application
*
* \author Tilghman Lesher <app_eval__v001@the-tilghman.com>
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
/* Maximum length of any variable */
#define MAXRESULT 1024
@@ -31,10 +46,10 @@ static char *tdesc = "Reevaluates strings";
static char *app_eval = "Eval";
static char *eval_synopsis = "Eval(newvar=somestring)";
static char *eval_synopsis = "Evaluates a string";
static char *eval_descrip =
"Eval(newvar=somestring)\n"
"Usage: Eval(newvar=somestring)\n"
" Normally Asterisk evaluates variables inline. But what if you want to\n"
"store variable offsets in a database, to be evaluated later? Eval is\n"
"the answer, by allowing a string to be evaluated twice in the dialplan,\n"
@@ -49,8 +64,14 @@ static int eval_exec(struct ast_channel *chan, void *data)
int res=0;
struct localuser *u;
char *s, *newvar=NULL, tmp[MAXRESULT];
static int dep_warning = 0;
LOCAL_USER_ADD(u);
if (!dep_warning) {
ast_log(LOG_WARNING, "This application has been deprecated in favor of the dialplan function, EVAL\n");
dep_warning = 1;
}
/* Check and parse arguments */
if (data) {
@@ -74,8 +95,13 @@ static int eval_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app_eval);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_eval);
return res;
}
int load_module(void)

58
apps/app_exec.c Executable file → Normal file
View File

@@ -1,28 +1,44 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Exec application
*
* Copyright (c) 2004 Tilghman Lesher. All rights reserved.
* Copyright (c) 2004 - 2005, Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <app_exec__v001@the-tilghman.com>
*
* $Id$
*
* This code is released by the author with no restrictions on usage.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
*
* \brief Exec application
*
* \author Tilghman Lesher <app_exec__v001@the-tilghman.com>
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
/* Maximum length of any variable */
#define MAXRESULT 1024
@@ -31,13 +47,14 @@ static char *tdesc = "Executes applications";
static char *app_exec = "Exec";
static char *exec_synopsis = "Exec(Appname(arguments))";
static char *exec_synopsis = "Executes internal application";
static char *exec_descrip =
"Exec(appname(arguments))\n"
"Usage: Exec(appname(arguments))\n"
" Allows an arbitrary application to be invoked even when not\n"
"hardcoded into the dialplan. Returns whatever value the\n"
"app returns or -2 when the app cannot be found.\n";
"hardcoded into the dialplan. To invoke external applications\n"
"see the application System. Returns whatever value the\n"
"app returns or a non-zero value if the app cannot be found.\n";
STANDARD_LOCAL_USER;
@@ -71,7 +88,7 @@ static int exec_exec(struct ast_channel *chan, void *data)
res = pbx_exec(chan, app, args, 1);
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
res = -2;
res = -1;
}
}
} else {
@@ -86,8 +103,13 @@ static int exec_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app_exec);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_exec);
return res;
}
int load_module(void)

583
apps/app_externalivr.c Normal file
View File

@@ -0,0 +1,583 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Kevin P. Fleming <kpfleming@digium.com>
*
* Portions taken from the file-based music-on-hold work
* created by Anthony Minessale II in res_musiconhold.c
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief External IVR application interface
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/linkedlists.h"
#include "asterisk/app.h"
static const char *tdesc = "External IVR Interface Application";
static const char *app = "ExternalIVR";
static const char *synopsis = "Interfaces with an external IVR application";
static const char *descrip =
" ExternalIVR(command[|arg[|arg...]]): Forks an process to run the supplied command,\n"
"and starts a generator on the channel. The generator's play list is\n"
"controlled by the external application, which can add and clear entries\n"
"via simple commands issued over its stdout. The external application\n"
"will receive all DTMF events received on the channel, and notification\n"
"if the channel is hung up. The application will not be forcibly terminated\n"
"when the channel is hung up.\n"
"See doc/README.externalivr for a protocol specification.\n";
/* XXX the parser in gcc 2.95 gets confused if you don't put a space between 'name' and the comma */
#define ast_chan_log(level, channel, format, ...) ast_log(level, "%s: " format, channel->name , ## __VA_ARGS__)
struct playlist_entry {
AST_LIST_ENTRY(playlist_entry) list;
char filename[1];
};
struct localuser {
struct ast_channel *chan;
struct localuser *next;
AST_LIST_HEAD(playlist, playlist_entry) playlist;
AST_LIST_HEAD(finishlist, playlist_entry) finishlist;
int abort_current_sound;
int playing_silence;
int option_autoclear;
};
LOCAL_USER_DECL;
struct gen_state {
struct localuser *u;
struct ast_filestream *stream;
struct playlist_entry *current;
int sample_queue;
};
static void send_child_event(FILE *handle, const char event, const char *data,
const struct ast_channel *chan)
{
char tmp[256];
if (!data) {
snprintf(tmp, sizeof(tmp), "%c,%10d", event, (int)time(NULL));
} else {
snprintf(tmp, sizeof(tmp), "%c,%10d,%s", event, (int)time(NULL), data);
}
fprintf(handle, "%s\n", tmp);
ast_chan_log(LOG_DEBUG, chan, "sent '%s'\n", tmp);
}
static void *gen_alloc(struct ast_channel *chan, void *params)
{
struct localuser *u = params;
struct gen_state *state;
state = calloc(1, sizeof(*state));
if (!state)
return NULL;
state->u = u;
return state;
}
static void gen_closestream(struct gen_state *state)
{
if (!state->stream)
return;
ast_closestream(state->stream);
state->u->chan->stream = NULL;
state->stream = NULL;
}
static void gen_release(struct ast_channel *chan, void *data)
{
struct gen_state *state = data;
gen_closestream(state);
free(data);
}
/* caller has the playlist locked */
static int gen_nextfile(struct gen_state *state)
{
struct localuser *u = state->u;
char *file_to_stream;
u->abort_current_sound = 0;
u->playing_silence = 0;
gen_closestream(state);
while (!state->stream) {
state->current = AST_LIST_REMOVE_HEAD(&u->playlist, list);
if (state->current) {
file_to_stream = state->current->filename;
} else {
file_to_stream = "silence-10";
u->playing_silence = 1;
}
if (!(state->stream = ast_openstream_full(u->chan, file_to_stream, u->chan->language, 1))) {
ast_chan_log(LOG_WARNING, u->chan, "File '%s' could not be opened: %s\n", file_to_stream, strerror(errno));
if (!u->playing_silence) {
continue;
} else {
break;
}
}
}
return (!state->stream);
}
static struct ast_frame *gen_readframe(struct gen_state *state)
{
struct ast_frame *f = NULL;
struct localuser *u = state->u;
if (u->abort_current_sound ||
(u->playing_silence && AST_LIST_FIRST(&u->playlist))) {
gen_closestream(state);
AST_LIST_LOCK(&u->playlist);
gen_nextfile(state);
AST_LIST_UNLOCK(&u->playlist);
}
if (!(state->stream && (f = ast_readframe(state->stream)))) {
if (state->current) {
AST_LIST_LOCK(&u->finishlist);
AST_LIST_INSERT_TAIL(&u->finishlist, state->current, list);
AST_LIST_UNLOCK(&u->finishlist);
state->current = NULL;
}
if (!gen_nextfile(state))
f = ast_readframe(state->stream);
}
return f;
}
static int gen_generate(struct ast_channel *chan, void *data, int len, int samples)
{
struct gen_state *state = data;
struct ast_frame *f = NULL;
int res = 0;
state->sample_queue += samples;
while (state->sample_queue > 0) {
if (!(f = gen_readframe(state)))
return -1;
res = ast_write(chan, f);
ast_frfree(f);
if (res < 0) {
ast_chan_log(LOG_WARNING, chan, "Failed to write frame: %s\n", strerror(errno));
return -1;
}
state->sample_queue -= f->samples;
}
return res;
}
static struct ast_generator gen =
{
alloc: gen_alloc,
release: gen_release,
generate: gen_generate,
};
static struct playlist_entry *make_entry(const char *filename)
{
struct playlist_entry *entry;
entry = calloc(1, sizeof(*entry) + strlen(filename) + 10);
if (!entry)
return NULL;
strcpy(entry->filename, filename);
return entry;
}
static int app_exec(struct ast_channel *chan, void *data)
{
struct localuser *u = NULL;
struct playlist_entry *entry;
const char *args = data;
int child_stdin[2] = { 0,0 };
int child_stdout[2] = { 0,0 };
int child_stderr[2] = { 0,0 };
int res = -1;
int gen_active = 0;
int pid;
char *argv[32];
int argc = 1;
char *buf, *command;
FILE *child_commands = NULL;
FILE *child_errors = NULL;
FILE *child_events = NULL;
LOCAL_USER_ADD(u);
AST_LIST_HEAD_INIT(&u->playlist);
AST_LIST_HEAD_INIT(&u->finishlist);
u->abort_current_sound = 0;
if (ast_strlen_zero(args)) {
ast_log(LOG_WARNING, "ExternalIVR requires a command to execute\n");
goto exit;
}
buf = ast_strdupa(data);
if (!buf) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
argc = ast_app_separate_args(buf, '|', argv, sizeof(argv) / sizeof(argv[0]));
if (pipe(child_stdin)) {
ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child input: %s\n", strerror(errno));
goto exit;
}
if (pipe(child_stdout)) {
ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child output: %s\n", strerror(errno));
goto exit;
}
if (pipe(child_stderr)) {
ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child errors: %s\n", strerror(errno));
goto exit;
}
if (chan->_state != AST_STATE_UP) {
ast_answer(chan);
}
if (ast_activate_generator(chan, &gen, u) < 0) {
ast_chan_log(LOG_WARNING, chan, "Failed to activate generator\n");
goto exit;
} else
gen_active = 1;
pid = fork();
if (pid < 0) {
ast_log(LOG_WARNING, "Failed to fork(): %s\n", strerror(errno));
goto exit;
}
if (!pid) {
/* child process */
int i;
dup2(child_stdin[0], STDIN_FILENO);
dup2(child_stdout[1], STDOUT_FILENO);
dup2(child_stderr[1], STDERR_FILENO);
for (i = STDERR_FILENO + 1; i < 1024; i++)
close(i);
execv(argv[0], argv);
fprintf(stderr, "Failed to execute '%s': %s\n", argv[0], strerror(errno));
exit(1);
} else {
/* parent process */
int child_events_fd = child_stdin[1];
int child_commands_fd = child_stdout[0];
int child_errors_fd = child_stderr[0];
struct ast_frame *f;
int ms;
int exception;
int ready_fd;
int waitfds[2] = { child_errors_fd, child_commands_fd };
struct ast_channel *rchan;
close(child_stdin[0]);
child_stdin[0] = 0;
close(child_stdout[1]);
child_stdout[1] = 0;
close(child_stderr[1]);
child_stderr[1] = 0;
if (!(child_events = fdopen(child_events_fd, "w"))) {
ast_chan_log(LOG_WARNING, chan, "Could not open stream for child events\n");
goto exit;
}
if (!(child_commands = fdopen(child_commands_fd, "r"))) {
ast_chan_log(LOG_WARNING, chan, "Could not open stream for child commands\n");
goto exit;
}
if (!(child_errors = fdopen(child_errors_fd, "r"))) {
ast_chan_log(LOG_WARNING, chan, "Could not open stream for child errors\n");
goto exit;
}
setvbuf(child_events, NULL, _IONBF, 0);
setvbuf(child_commands, NULL, _IONBF, 0);
setvbuf(child_errors, NULL, _IONBF, 0);
res = 0;
while (1) {
if (ast_test_flag(chan, AST_FLAG_ZOMBIE)) {
ast_chan_log(LOG_NOTICE, chan, "Is a zombie\n");
res = -1;
break;
}
if (ast_check_hangup(chan)) {
ast_chan_log(LOG_NOTICE, chan, "Got check_hangup\n");
send_child_event(child_events, 'H', NULL, chan);
res = -1;
break;
}
ready_fd = 0;
ms = 100;
errno = 0;
exception = 0;
rchan = ast_waitfor_nandfds(&chan, 1, waitfds, 2, &exception, &ready_fd, &ms);
if (!AST_LIST_EMPTY(&u->finishlist)) {
AST_LIST_LOCK(&u->finishlist);
while ((entry = AST_LIST_REMOVE_HEAD(&u->finishlist, list))) {
send_child_event(child_events, 'F', entry->filename, chan);
free(entry);
}
AST_LIST_UNLOCK(&u->finishlist);
}
if (rchan) {
/* the channel has something */
f = ast_read(chan);
if (!f) {
ast_chan_log(LOG_NOTICE, chan, "Returned no frame\n");
send_child_event(child_events, 'H', NULL, chan);
res = -1;
break;
}
if (f->frametype == AST_FRAME_DTMF) {
send_child_event(child_events, f->subclass, NULL, chan);
if (u->option_autoclear) {
if (!u->abort_current_sound && !u->playing_silence)
send_child_event(child_events, 'T', NULL, chan);
AST_LIST_LOCK(&u->playlist);
while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list))) {
send_child_event(child_events, 'D', entry->filename, chan);
free(entry);
}
if (!u->playing_silence)
u->abort_current_sound = 1;
AST_LIST_UNLOCK(&u->playlist);
}
} else if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_HANGUP)) {
ast_chan_log(LOG_NOTICE, chan, "Got AST_CONTROL_HANGUP\n");
send_child_event(child_events, 'H', NULL, chan);
ast_frfree(f);
res = -1;
break;
}
ast_frfree(f);
} else if (ready_fd == child_commands_fd) {
char input[1024];
if (exception || feof(child_commands)) {
ast_chan_log(LOG_WARNING, chan, "Child process went away\n");
res = -1;
break;
}
if (!fgets(input, sizeof(input), child_commands))
continue;
command = ast_strip(input);
ast_chan_log(LOG_DEBUG, chan, "got command '%s'\n", input);
if (strlen(input) < 4)
continue;
if (input[0] == 'S') {
if (ast_fileexists(&input[2], NULL, NULL) == -1) {
ast_chan_log(LOG_WARNING, chan, "Unknown file requested '%s'\n", &input[2]);
send_child_event(child_events, 'Z', NULL, chan);
strcpy(&input[2], "exception");
}
if (!u->abort_current_sound && !u->playing_silence)
send_child_event(child_events, 'T', NULL, chan);
AST_LIST_LOCK(&u->playlist);
while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list))) {
send_child_event(child_events, 'D', entry->filename, chan);
free(entry);
}
if (!u->playing_silence)
u->abort_current_sound = 1;
entry = make_entry(&input[2]);
if (entry)
AST_LIST_INSERT_TAIL(&u->playlist, entry, list);
AST_LIST_UNLOCK(&u->playlist);
} else if (input[0] == 'A') {
if (ast_fileexists(&input[2], NULL, NULL) == -1) {
ast_chan_log(LOG_WARNING, chan, "Unknown file requested '%s'\n", &input[2]);
send_child_event(child_events, 'Z', NULL, chan);
strcpy(&input[2], "exception");
}
entry = make_entry(&input[2]);
if (entry) {
AST_LIST_LOCK(&u->playlist);
AST_LIST_INSERT_TAIL(&u->playlist, entry, list);
AST_LIST_UNLOCK(&u->playlist);
}
} else if (input[0] == 'H') {
ast_chan_log(LOG_NOTICE, chan, "Hanging up: %s\n", &input[2]);
send_child_event(child_events, 'H', NULL, chan);
break;
} else if (input[0] == 'O') {
if (!strcasecmp(&input[2], "autoclear"))
u->option_autoclear = 1;
else if (!strcasecmp(&input[2], "noautoclear"))
u->option_autoclear = 0;
else
ast_chan_log(LOG_WARNING, chan, "Unknown option requested '%s'\n", &input[2]);
}
} else if (ready_fd == child_errors_fd) {
char input[1024];
if (exception || feof(child_errors)) {
ast_chan_log(LOG_WARNING, chan, "Child process went away\n");
res = -1;
break;
}
if (fgets(input, sizeof(input), child_errors)) {
command = ast_strip(input);
ast_chan_log(LOG_NOTICE, chan, "stderr: %s\n", command);
}
} else if ((ready_fd < 0) && ms) {
if (errno == 0 || errno == EINTR)
continue;
ast_chan_log(LOG_WARNING, chan, "Wait failed (%s)\n", strerror(errno));
break;
}
}
}
exit:
if (gen_active)
ast_deactivate_generator(chan);
if (child_events)
fclose(child_events);
if (child_commands)
fclose(child_commands);
if (child_errors)
fclose(child_errors);
if (child_stdin[0])
close(child_stdin[0]);
if (child_stdin[1])
close(child_stdin[1]);
if (child_stdout[0])
close(child_stdout[0]);
if (child_stdout[1])
close(child_stdout[1]);
if (child_stderr[0])
close(child_stderr[0]);
if (child_stderr[1])
close(child_stderr[1]);
while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list)))
free(entry);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, app_exec, synopsis, descrip);
}
char *description(void)
{
return (char *) tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

115
apps/app_festival.c Executable file → Normal file
View File

@@ -1,26 +1,29 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Connect to festival
*
* Copyright (C) 2002, Christos Ricudis
*
* Christos Ricudis <ricudis@itc.auth.gr>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Connect to festival
*
* \ingroup applications
*/
#include <sys/types.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/md5.h>
#include <asterisk/config.h>
#include <asterisk/utils.h>
#include <asterisk/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
@@ -37,6 +40,19 @@
#include <fcntl.h>
#include <ctype.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/md5.h"
#include "asterisk/config.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#define FESTIVAL_CONFIG "festival.conf"
@@ -120,7 +136,7 @@ static int send_waveform_to_fd(char *waveform, int length, int fd) {
if (x != fd)
close(x);
}
//IAS
/*IAS */
#ifdef __PPC__
for( x=0; x<length; x+=2)
{
@@ -131,7 +147,6 @@ static int send_waveform_to_fd(char *waveform, int length, int fd) {
#endif
write(fd,waveform,length);
write(fd,"a",1);
close(fd);
exit(0);
}
@@ -160,7 +175,8 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
ast_stopstream(chan);
ast_indicate(chan, -1);
owriteformat = chan->writeformat;
res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
@@ -216,7 +232,7 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
res = -1;
break;
}
if (res < needed) { // last frame
if (res < needed) { /* last frame */
ast_log(LOG_DEBUG, "Last frame\n");
res=0;
break;
@@ -231,8 +247,9 @@ static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, in
}
close(fds[0]);
close(fds[1]);
// if (pid > -1)
// kill(pid, SIGKILL);
/* if (pid > -1) */
/* kill(pid, SIGKILL); */
if (!res && owriteformat)
ast_set_write_format(chan, owriteformat);
return res;
@@ -277,13 +294,21 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
int fdesc = -1;
char buffer[16384];
int seekpos = 0;
char data[256] = "";
char *data;
char *intstr;
struct ast_config *cfg;
cfg = ast_load(FESTIVAL_CONFIG);
if (ast_strlen_zero(vdata)) {
ast_log(LOG_WARNING, "festival requires an argument (text)\n");
return -1;
}
LOCAL_USER_ADD(u);
cfg = ast_config_load(FESTIVAL_CONFIG);
if (!cfg) {
ast_log(LOG_WARNING, "No such configuration file %s\n", FESTIVAL_CONFIG);
LOCAL_USER_REMOVE(u);
return -1;
}
if (!(host = ast_variable_retrieve(cfg, "general", "host"))) {
@@ -305,19 +330,23 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
if (!(festivalcommand = ast_variable_retrieve(cfg, "general", "festivalcommand"))) {
festivalcommand = "(tts_textasterisk \"%s\" 'file)(quit)\n";
}
ast_destroy(cfg);
if (!vdata || ast_strlen_zero(vdata)) {
ast_log(LOG_WARNING, "festival requires an argument (text)\n");
data = ast_strdupa(vdata);
if (!data) {
ast_log(LOG_ERROR, "Out of memery\n");
ast_config_destroy(cfg);
LOCAL_USER_REMOVE(u);
return -1;
}
strncpy(data, vdata, sizeof(data) - 1);
if ((intstr = strchr(data, '|'))) {
intstr = strchr(data, '|');
if (intstr) {
*intstr = '\0';
intstr++;
if (!strcasecmp(intstr, "any"))
intstr = AST_DIGIT_ANY;
}
LOCAL_USER_ADD(u);
ast_log(LOG_DEBUG, "Text passed to festival server : %s\n",(char *)data);
/* Connect to local festival server */
@@ -325,6 +354,8 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
if (fd < 0) {
ast_log(LOG_WARNING,"festival_client: can't get socket\n");
ast_config_destroy(cfg);
LOCAL_USER_REMOVE(u);
return -1;
}
memset(&serv_addr, 0, sizeof(serv_addr));
@@ -333,6 +364,8 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
serverhost = ast_gethostbyname(host, &ahp);
if (serverhost == (struct hostent *)0) {
ast_log(LOG_WARNING,"festival_client: gethostbyname failed\n");
ast_config_destroy(cfg);
LOCAL_USER_REMOVE(u);
return -1;
}
memmove(&serv_addr.sin_addr,serverhost->h_addr, serverhost->h_length);
@@ -342,6 +375,8 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
if (connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) != 0) {
ast_log(LOG_WARNING,"festival_client: connect to server failed\n");
ast_config_destroy(cfg);
LOCAL_USER_REMOVE(u);
return -1;
}
@@ -421,8 +456,20 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
/* This assumes only one waveform will come back, also LP is unlikely */
wave = 0;
do {
int read_data;
for (n=0; n < 3; )
n += read(fd,ack+n,3-n);
{
read_data = read(fd,ack+n,3-n);
/* this avoids falling in infinite loop
* in case that festival server goes down
* */
if ( read_data == -1 )
{
ast_log(LOG_WARNING,"Unable to read from cache/festival fd");
return -1;
}
n += read_data;
}
ack[3] = '\0';
if (strcmp(ack,"WV\n") == 0) { /* receive a waveform */
ast_log(LOG_DEBUG,"Festival WV command\n");
@@ -444,15 +491,21 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
}
} while (strcmp(ack,"OK\n") != 0);
close(fd);
LOCAL_USER_REMOVE(u);
ast_config_destroy(cfg);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

64
apps/app_flash.c Executable file → Normal file
View File

@@ -1,34 +1,52 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to flash a zap trunk
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to flash a zap trunk
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/options.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/ioctl.h>
#ifdef __linux__
#include <linux/zaptel.h>
#else
#include <zaptel.h>
#endif /* __linux__ */
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/options.h"
static char *tdesc = "Flash zap trunk application";
@@ -39,8 +57,7 @@ static char *synopsis = "Flashes a Zap Trunk";
static char *descrip =
" Flash(): Sends a flash on a zap trunk. This is only a hack for\n"
"people who want to perform transfers and such via AGI and is generally\n"
"quite useless otherwise. Returns 0 on success or -1 if this is not\n"
"a zap trunk\n";
"quite useless oths application will only work on Zap trunks.\n";
STANDARD_LOCAL_USER;
@@ -92,8 +109,13 @@ static int flash_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

110
apps/app_forkcdr.c Executable file → Normal file
View File

@@ -1,59 +1,96 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Fork CDR application
* Copyright Anthony Minessale anthmct@yahoo.com
* Copyright (C) 1999 - 2005, Anthony Minessale anthmct@yahoo.com
* Development of this app Sponsered/Funded by TAAN Softworks Corp
*
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/cdr.h>
#include <asterisk/module.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
/*! \file
*
* \brief Fork CDR application
*
* \ingroup applications
*/
static char *tdesc = "Fork The CDR into 2 seperate entities.";
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/cdr.h"
#include "asterisk/module.h"
static char *tdesc = "Fork The CDR into 2 separate entities.";
static char *app = "ForkCDR";
static char *synopsis =
"Forks the Call Data Record\n"
" ForkCDR(): Causes the Call Data Record to fork an additional\n"
"cdr record starting from the time of the fork call\n";
"Forks the Call Data Record";
static char *descrip =
" ForkCDR([options]): Causes the Call Data Record to fork an additional\n"
"cdr record starting from the time of the fork call\n"
"If the option 'v' is passed all cdr variables will be passed along also.\n"
"";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static void ast_cdr_fork(struct ast_channel *chan)
{
struct ast_cdr *cdr;
struct ast_cdr *newcdr;
struct ast_flags flags = { AST_CDR_FLAG_KEEP_VARS };
static void ast_cdr_clone(struct ast_cdr *cdr) {
struct ast_cdr *newcdr = ast_cdr_alloc();
memcpy(newcdr,cdr,sizeof(struct ast_cdr));
ast_cdr_append(cdr,newcdr);
gettimeofday(&newcdr->start, NULL);
memset(&newcdr->answer, 0, sizeof(newcdr->answer));
ast_cdr_add_flag(cdr,AST_CDR_FLAG_CHILD|AST_CDR_FLAG_LOCKED);
}
cdr = chan->cdr;
static void ast_cdr_fork(struct ast_channel *chan) {
if(chan && chan->cdr) {
ast_cdr_clone(chan->cdr);
}
while (cdr->next)
cdr = cdr->next;
if (!(newcdr = ast_cdr_dup(cdr)))
return;
ast_cdr_append(cdr, newcdr);
ast_cdr_reset(newcdr, &flags);
if (!ast_test_flag(cdr, AST_CDR_FLAG_KEEP_VARS))
ast_cdr_free_vars(cdr, 0);
ast_set_flag(cdr, AST_CDR_FLAG_CHILD | AST_CDR_FLAG_LOCKED);
}
static int forkcdr_exec(struct ast_channel *chan, void *data)
{
int res=0;
int res = 0;
struct localuser *u;
if (!chan->cdr) {
ast_log(LOG_WARNING, "Channel does not have a CDR\n");
return 0;
}
LOCAL_USER_ADD(u);
if (!ast_strlen_zero(data))
ast_set2_flag(chan->cdr, strchr(data, 'v'), AST_CDR_FLAG_KEEP_VARS);
ast_cdr_fork(chan);
LOCAL_USER_REMOVE(u);
@@ -62,13 +99,18 @@ static int forkcdr_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)
{
return ast_register_application(app, forkcdr_exec, synopsis, tdesc);
return ast_register_application(app, forkcdr_exec, synopsis, descrip);
}
char *description(void)

59
apps/app_getcpeid.c Executable file → Normal file
View File

@@ -1,28 +1,45 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Execute arbitrary system commands
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Get ADSI CPE ID
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/adsi.h>
#include <asterisk/options.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/adsi.h"
#include "asterisk/options.h"
static char *tdesc = "Get ADSI CPE ID";
@@ -31,9 +48,8 @@ static char *app = "GetCPEID";
static char *synopsis = "Get ADSI CPE ID";
static char *descrip =
" GetCPEID: Obtains and displays CPE ID and other information in order to\n"
"properly setup zapata.conf for on-hook operations. Returns -1 on hanup\n"
"only.";
" GetCPEID: Obtains and displays ADSI CPE ID and other information in order\n"
"to properly setup zapata.conf for on-hook operations.\n";
STANDARD_LOCAL_USER;
@@ -119,8 +135,13 @@ static int cpeid_exec(struct ast_channel *chan, void *idata)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

370
apps/app_groupcount.c Executable file → Normal file
View File

@@ -1,146 +1,131 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Group Manipulation Applications
*
* Copyright (c) 2004 Digium
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Group Manipulation Applications
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/utils.h>
#include <sys/types.h>
#include <regex.h>
static char *tdesc = "Group Management Routines";
#include "asterisk.h"
static char *app_group_count = "GetGroupCount";
static char *app_group_set = "SetGroup";
static char *app_group_check = "CheckGroup";
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static char *group_count_synopsis = "GetGroupCount([groupname][@category])";
static char *group_set_synopsis = "SetGroup(groupname[@category])";
static char *group_check_synopsis = "CheckGroup(max[@category])";
static char *group_count_descrip =
"GetGroupCount([group][@category])\n"
" Calculates the group count for the specified group, or uses\n"
"the current channel's group if not specifed (and non-empty).\n"
"Stores result in GROUPCOUNT. Always returns 0.\n";
static char *group_set_descrip =
"SetGroup(group)\n"
" Sets the channel group to the specified value. Equivalent to\n"
"SetVar(GROUP=group). Always returns 0.\n";
static char *group_check_descrip =
"CheckGroup(max)\n"
" Checks that the current number of total channels in the\n"
"current channel's group does not exceed 'max'. If the number\n"
"does not exceed 'max', we continue to the next step. If the\n"
"number does in fact exceed max, if priority n+101 exists, then\n"
"execution continues at that step, otherwise -1 is returned.\n";
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/utils.h"
#include "asterisk/cli.h"
#include "asterisk/app.h"
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define DEFAULT_CATEGORY "GROUP"
static int group_get_count(char *group, char *category)
{
struct ast_channel *chan;
int count = 0;
char *test;
if (group && !ast_strlen_zero(group)) {
chan = ast_channel_walk_locked(NULL);
while(chan) {
test = pbx_builtin_getvar_helper(chan, category);
if (test && !strcasecmp(test, group))
count++;
ast_mutex_unlock(&chan->lock);
chan = ast_channel_walk_locked(chan);
}
}
return count;
}
static int group_count_exec(struct ast_channel *chan, void *data)
{
int res=0;
int res = 0;
int count;
struct localuser *u;
char *group=NULL;
char *cat = NULL;
char ret[80]="";
char tmp[256]="";
char group[80] = "";
char category[80] = "";
char ret[80] = "";
char *grp;
static int deprecation_warning = 0;
LOCAL_USER_ADD(u);
/* Check and parse arguments */
if (data && !ast_strlen_zero(data)) {
strncpy(tmp, data, sizeof(tmp) - 1);
group = tmp;
cat = strchr(tmp, '@');
if (cat) {
*cat = '\0';
cat++;
}
if (!deprecation_warning) {
ast_log(LOG_WARNING, "The GetGroupCount application has been deprecated, please use the GROUP_COUNT function.\n");
deprecation_warning = 1;
}
if (cat)
snprintf(ret, sizeof(ret), "GROUP_%s", cat);
else
strncpy(ret, DEFAULT_CATEGORY, sizeof(ret) - 1);
if (!group || ast_strlen_zero(group)) {
group = pbx_builtin_getvar_helper(chan, ret);
ast_app_group_split_group(data, group, sizeof(group), category, sizeof(category));
if (ast_strlen_zero(group)) {
grp = pbx_builtin_getvar_helper(chan, category);
strncpy(group, grp, sizeof(group) - 1);
}
count = group_get_count(group, ret);
count = ast_app_group_get_count(group, category);
snprintf(ret, sizeof(ret), "%d", count);
pbx_builtin_setvar_helper(chan, "GROUPCOUNT", ret);
LOCAL_USER_REMOVE(u);
return res;
}
static int group_match_count_exec(struct ast_channel *chan, void *data)
{
int res = 0;
int count;
struct localuser *u;
char group[80] = "";
char category[80] = "";
char ret[80] = "";
static int deprecation_warning = 0;
LOCAL_USER_ADD(u);
if (!deprecation_warning) {
ast_log(LOG_WARNING, "The GetGroupMatchCount application has been deprecated, please use the GROUP_MATCH_COUNT function.\n");
deprecation_warning = 1;
}
ast_app_group_split_group(data, group, sizeof(group), category, sizeof(category));
if (!ast_strlen_zero(group)) {
count = ast_app_group_match_get_count(group, category);
snprintf(ret, sizeof(ret), "%d", count);
pbx_builtin_setvar_helper(chan, "GROUPCOUNT", ret);
}
LOCAL_USER_REMOVE(u);
return res;
}
static int group_set_exec(struct ast_channel *chan, void *data)
{
int res=0;
int res = 0;
struct localuser *u;
char ret[80] = "";
char tmp[256] = "";
char *cat=NULL, *group=NULL;
static int deprecation_warning = 0;
LOCAL_USER_ADD(u);
/* Check and parse arguments */
if (data && !ast_strlen_zero(data)) {
strncpy(tmp, data, sizeof(tmp) - 1);
group = tmp;
cat = strchr(tmp, '@');
if (cat) {
*cat = '\0';
cat++;
}
if (!deprecation_warning) {
ast_log(LOG_WARNING, "The SetGroup application has been deprecated, please use the GROUP() function.\n");
deprecation_warning = 1;
}
if (cat)
snprintf(ret, sizeof(ret), "GROUP_%s", cat);
else
strncpy(ret, DEFAULT_CATEGORY, sizeof(ret) - 1);
if (group && !ast_strlen_zero(group)) {
pbx_builtin_setvar_helper(chan, ret, group);
} else
if (ast_app_group_set_channel(chan, data))
ast_log(LOG_WARNING, "SetGroup requires an argument (group name)\n");
LOCAL_USER_REMOVE(u);
@@ -149,60 +134,191 @@ static int group_set_exec(struct ast_channel *chan, void *data)
static int group_check_exec(struct ast_channel *chan, void *data)
{
int res=0;
int res = 0;
int max, count;
struct localuser *u;
char ret[80] = "";
char tmp[256] = "";
char *cat, *group;
char limit[80]="";
char category[80]="";
static int deprecation_warning = 0;
char *parse;
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(max);
AST_APP_ARG(options);
);
LOCAL_USER_ADD(u);
if (data && !ast_strlen_zero(data)) {
strncpy(tmp, data, sizeof(tmp) - 1);
group = tmp;
cat = strchr(tmp, '@');
if (cat) {
*cat = '\0';
cat++;
}
if ((sscanf((char *)tmp, "%i", &max) == 1) && (max > -1)) {
if (cat)
snprintf(ret, sizeof(ret), "GROUP_%s", cat);
else
strncpy(ret, DEFAULT_CATEGORY, sizeof(ret) - 1);
count = group_get_count(pbx_builtin_getvar_helper(chan, ret), ret);
if (count > max) {
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
else
if (!deprecation_warning) {
ast_log(LOG_WARNING, "The CheckGroup application has been deprecated, please use a combination of the GotoIf application and the GROUP_COUNT() function.\n");
deprecation_warning = 1;
}
if (!(parse = ast_strdupa(data))) {
ast_log(LOG_WARNING, "Memory Error!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, parse);
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
if (ast_strlen_zero(args.max)) {
ast_log(LOG_WARNING, "CheckGroup requires an argument(max[@category][|options])\n");
return res;
}
ast_app_group_split_group(args.max, limit, sizeof(limit), category, sizeof(category));
if ((sscanf(limit, "%d", &max) == 1) && (max > -1)) {
count = ast_app_group_get_count(pbx_builtin_getvar_helper(chan, category), category);
if (count > max) {
pbx_builtin_setvar_helper(chan, "CHECKGROUPSTATUS", "OVERMAX");
if (priority_jump || option_priority_jumping) {
if (!ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
res = -1;
}
} else
ast_log(LOG_WARNING, "CheckGroup requires a positive integer argument (max)\n");
pbx_builtin_setvar_helper(chan, "CHECKGROUPSTATUS", "OK");
} else
ast_log(LOG_WARNING, "CheckGroup requires an argument(max)\n");
ast_log(LOG_WARNING, "CheckGroup requires a positive integer argument (max)\n");
LOCAL_USER_REMOVE(u);
return res;
}
static int group_show_channels(int fd, int argc, char *argv[])
{
#define FORMAT_STRING "%-25s %-20s %-20s\n"
struct ast_channel *c = NULL;
int numchans = 0;
struct ast_var_t *current;
struct varshead *headp;
regex_t regexbuf;
int havepattern = 0;
if (argc < 3 || argc > 4)
return RESULT_SHOWUSAGE;
if (argc == 4) {
if (regcomp(&regexbuf, argv[3], REG_EXTENDED | REG_NOSUB))
return RESULT_SHOWUSAGE;
havepattern = 1;
}
ast_cli(fd, FORMAT_STRING, "Channel", "Group", "Category");
while ( (c = ast_channel_walk_locked(c)) != NULL) {
headp=&c->varshead;
AST_LIST_TRAVERSE(headp,current,entries) {
if (!strncmp(ast_var_name(current), GROUP_CATEGORY_PREFIX "_", strlen(GROUP_CATEGORY_PREFIX) + 1)) {
if (!havepattern || !regexec(&regexbuf, ast_var_value(current), 0, NULL, 0)) {
ast_cli(fd, FORMAT_STRING, c->name, ast_var_value(current),
(ast_var_name(current) + strlen(GROUP_CATEGORY_PREFIX) + 1));
numchans++;
}
} else if (!strcmp(ast_var_name(current), GROUP_CATEGORY_PREFIX)) {
if (!havepattern || !regexec(&regexbuf, ast_var_value(current), 0, NULL, 0)) {
ast_cli(fd, FORMAT_STRING, c->name, ast_var_value(current), "(default)");
numchans++;
}
}
}
numchans++;
ast_mutex_unlock(&c->lock);
}
if (havepattern)
regfree(&regexbuf);
ast_cli(fd, "%d active channel%s\n", numchans, (numchans != 1) ? "s" : "");
return RESULT_SUCCESS;
#undef FORMAT_STRING
}
static char *tdesc = "Group Management Routines";
static char *app_group_count = "GetGroupCount";
static char *app_group_set = "SetGroup";
static char *app_group_check = "CheckGroup";
static char *app_group_match_count = "GetGroupMatchCount";
static char *group_count_synopsis = "Get the channel count of a group";
static char *group_set_synopsis = "Set the channel's group";
static char *group_check_synopsis = "Check the channel count of a group against a limit";
static char *group_match_count_synopsis = "Get the channel count of all groups that match a pattern";
static char *group_count_descrip =
"Usage: GetGroupCount([groupname][@category])\n"
" Calculates the group count for the specified group, or uses\n"
"the current channel's group if not specifed (and non-empty).\n"
"Stores result in GROUPCOUNT. \n"
"This application has been deprecated, please use the function\n"
"GroupCount.\n";
static char *group_set_descrip =
"Usage: SetGroup(groupname[@category])\n"
" Sets the channel group to the specified value. Equivalent to\n"
"Set(GROUP=group). Always returns 0.\n";
static char *group_check_descrip =
"Usage: CheckGroup(max[@category][|options])\n"
" Checks that the current number of total channels in the\n"
"current channel's group does not exceed 'max'. If the number\n"
"does not exceed 'max', we continue to the next step. \n"
" The option string may contain zero of the following character:\n"
" 'j' -- jump to n+101 priority if the number does in fact exceed max,\n"
" and priority n+101 exists. Execuation then continues at that\n"
" step, otherwise -1 is returned.\n"
" This application sets the following channel variable upon successful completion:\n"
" CHECKGROUPSTATUS The status of the check that the current channel's\n"
" group does not exceed 'max'. It's value is one of\n"
" OK | OVERMAX \n";
static char *group_match_count_descrip =
"Usage: GetGroupMatchCount(groupmatch[@category])\n"
" Calculates the group count for all groups that match the specified\n"
"pattern. Uses standard regular expression matching (see regex(7)).\n"
"Stores result in GROUPCOUNT. Always returns 0.\n"
"This application has been deprecated, please use the function\n"
"GroupMatchCount.\n";
static char show_channels_usage[] =
"Usage: group show channels [pattern]\n"
" Lists all currently active channels with channel group(s) specified.\n Optional regular expression pattern is matched to group names for each channel.\n";
static struct ast_cli_entry cli_show_channels =
{ { "group", "show", "channels", NULL }, group_show_channels, "Show active channels with group(s)", show_channels_usage};
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app_group_count);
res = ast_cli_unregister(&cli_show_channels);
res |= ast_unregister_application(app_group_count);
res |= ast_unregister_application(app_group_set);
res |= ast_unregister_application(app_group_check);
res |= ast_unregister_application(app_group_match_count);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_register_application(app_group_count, group_count_exec, group_count_synopsis, group_count_descrip);
res |= ast_register_application(app_group_set, group_set_exec, group_set_synopsis, group_set_descrip);
res |= ast_register_application(app_group_check, group_check_exec, group_check_synopsis, group_check_descrip);
res |= ast_register_application(app_group_match_count, group_match_count_exec, group_match_count_synopsis, group_match_count_descrip);
res |= ast_cli_register(&cli_show_channels);
return res;
}

287
apps/app_hasnewvoicemail.c Executable file → Normal file
View File

@@ -1,8 +1,7 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* HasVoicemail application
* Changes Copyright (c) 2004 Todd Freeman <freeman@andrews.edu>
* Changes Copyright (c) 2004 - 2005 Todd Freeman <freeman@andrews.edu>
*
* 95% based on HasNewVoicemail by:
*
@@ -10,142 +9,240 @@
*
* Tilghman Lesher <asterisk-hasnewvoicemail-app@the-tilghman.com>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
* EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <sys/types.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <dirent.h>
/*! \file
*
* \brief HasVoicemail application
*
* \ingroup applications
*/
#include "../astconf.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/types.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/utils.h"
#include "asterisk/app.h"
#include "asterisk/options.h"
static char *tdesc = "Indicator for whether a voice mailbox has messages in a given folder.";
static char *app_hasvoicemail = "HasVoicemail";
static char *hasvoicemail_synopsis = "Conditionally branches to priority + 101";
static char *hasvoicemail_synopsis = "Conditionally branches to priority + 101 with the right options set";
static char *hasvoicemail_descrip =
"HasVoicemail(vmbox[@context][:folder][|varname])\n"
" Branches to priority + 101, if there is voicemail in folder indicated."
"HasVoicemail(vmbox[/folder][@context][|varname[|options]])\n"
" Optionally sets <varname> to the number of messages in that folder."
" Assumes folder of INBOX if not specified.\n";
" Assumes folder of INBOX if not specified.\n"
" The option string may contain zero or the following character:\n"
" 'j' -- jump to priority n+101, if there is voicemail in the folder indicated.\n"
" This application sets the following channel variable upon completion:\n"
" HASVMSTATUS The result of the voicemail check returned as a text string as follows\n"
" <# of messages in the folder, 0 for NONE>\n";
static char *app_hasnewvoicemail = "HasNewVoicemail";
static char *hasnewvoicemail_synopsis = "Conditionally branches to priority + 101";
static char *hasnewvoicemail_synopsis = "Conditionally branches to priority + 101 with the right options set";
static char *hasnewvoicemail_descrip =
"HasNewVoicemail(vmbox[@context][|varname])\n"
" Branches to priority + 101, if there is voicemail in folder INBOX."
" Optionally sets <varname> to the number of messages in that folder.\n";
"HasNewVoicemail(vmbox[/folder][@context][|varname[|options]])\n"
"Assumes folder 'INBOX' if folder is not specified. Optionally sets <varname> to the number of messages\n"
"in that folder.\n"
" The option string may contain zero of the following character:\n"
" 'j' -- jump to priority n+101, if there is new voicemail in folder 'folder' or INBOX\n"
" This application sets the following channel variable upon completion:\n"
" HASVMSTATUS The result of the new voicemail check returned as a text string as follows\n"
" <# of messages in the folder, 0 for NONE>\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int hasvoicemail_exec(struct ast_channel *chan, void *data)
static int hasvoicemail_internal(char *context, char *box, char *folder)
{
int res=0;
struct localuser *u;
char vmpath[256], *input, *varname = NULL, *vmbox, *vmfolder = "INBOX", *context = "default";
char vmpath[256];
DIR *vmdir;
struct dirent *vment;
int vmcount = 0;
int count=0;
snprintf(vmpath,sizeof(vmpath), "%s/voicemail/%s/%s/%s", (char *)ast_config_AST_SPOOL_DIR, context, box, folder);
if ((vmdir = opendir(vmpath))) {
/* No matter what the format of VM, there will always be a .txt file for each message. */
while ((vment = readdir(vmdir))) {
if (!strncmp(vment->d_name + 7, ".txt", 4)) {
count++;
}
}
closedir(vmdir);
}
return count;
}
static int hasvoicemail_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
char *input, *varname = NULL, *vmbox, *context = "default";
char *vmfolder;
int vmcount = 0;
static int dep_warning = 0;
int priority_jump = 0;
char tmp[12];
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(vmbox);
AST_APP_ARG(varname);
AST_APP_ARG(options);
);
if (!dep_warning) {
ast_log(LOG_WARNING, "The applications HasVoicemail and HasNewVoicemail have been deprecated. Please use the VMCOUNT() function instead.\n");
dep_warning = 1;
}
if (!data) {
ast_log(LOG_WARNING, "HasVoicemail requires an argument (vm-box[@context][:folder]|varname)\n");
ast_log(LOG_WARNING, "HasVoicemail requires an argument (vm-box[/folder][@context][|varname[|options]])\n");
return -1;
}
LOCAL_USER_ADD(u);
input = ast_strdupa((char *)data);
if (input) {
if ((vmbox = strsep(&input,":")))
if ((vmfolder = strsep(&input,"|")))
varname = input;
else
vmfolder = input;
else
if ((vmbox = strsep(&input,"|")))
varname = input;
else
vmbox = input;
if (index(vmbox,'@')) {
context = vmbox;
vmbox = strsep(&context,"@");
}
snprintf(vmpath,sizeof(vmpath), "%s/voicemail/%s/%s/%s", (char *)ast_config_AST_SPOOL_DIR, context, vmbox, vmfolder);
if (!(vmdir = opendir(vmpath))) {
ast_log(LOG_NOTICE, "Voice mailbox %s at %s does not exist\n", vmbox, vmpath);
} else {
/* No matter what the format of VM, there will always be a .txt file for each message. */
while ((vment = readdir(vmdir)))
if (!strncmp(vment->d_name + 7,".txt",4))
vmcount++;
closedir(vmdir);
}
/* Set the count in the channel variable */
if (varname) {
char tmp[12];
snprintf(tmp, sizeof(tmp), "%d", vmcount);
pbx_builtin_setvar_helper(chan, varname, tmp);
}
if (vmcount > 0) {
/* Branch to the next extension */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid)) {
chan->priority += 100;
} else
ast_log(LOG_WARNING, "VM box %s@%s has new voicemail, but extension %s, priority %d doesn't exist\n", vmbox, context, chan->exten, chan->priority + 101);
}
} else {
if (! input) {
ast_log(LOG_ERROR, "Out of memory error\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, input);
if ((vmbox = strsep(&args.vmbox, "@")))
if (!ast_strlen_zero(args.vmbox))
context = args.vmbox;
if (!vmbox)
vmbox = args.vmbox;
vmfolder = strchr(vmbox, '/');
if (vmfolder) {
*vmfolder = '\0';
vmfolder++;
} else {
vmfolder = "INBOX";
}
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
vmcount = hasvoicemail_internal(context, vmbox, vmfolder);
/* Set the count in the channel variable */
if (varname) {
snprintf(tmp, sizeof(tmp), "%d", vmcount);
pbx_builtin_setvar_helper(chan, varname, tmp);
}
if (vmcount > 0) {
/* Branch to the next extension */
if (priority_jump || option_priority_jumping) {
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
ast_log(LOG_WARNING, "VM box %s@%s has new voicemail, but extension %s, priority %d doesn't exist\n", vmbox, context, chan->exten, chan->priority + 101);
}
}
snprintf(tmp, sizeof(tmp), "%d", vmcount);
pbx_builtin_setvar_helper(chan, "HASVMSTATUS", tmp);
LOCAL_USER_REMOVE(u);
return res;
return 0;
}
static char *acf_vmcount_exec(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
{
struct localuser *u;
char *args, *context, *box, *folder;
LOCAL_USER_ACF_ADD(u);
buf[0] = '\0';
args = ast_strdupa(data);
if (!args) {
ast_log(LOG_ERROR, "Out of memory");
LOCAL_USER_REMOVE(u);
return buf;
}
box = strsep(&args, "|");
if (strchr(box, '@')) {
context = box;
box = strsep(&context, "@");
} else {
context = "default";
}
if (args) {
folder = args;
} else {
folder = "INBOX";
}
snprintf(buf, len, "%d", hasvoicemail_internal(context, box, folder));
LOCAL_USER_REMOVE(u);
return buf;
}
struct ast_custom_function acf_vmcount = {
.name = "VMCOUNT",
.synopsis = "Counts the voicemail in a specified mailbox",
.syntax = "VMCOUNT(vmbox[@context][|folder])",
.desc =
" context - defaults to \"default\"\n"
" folder - defaults to \"INBOX\"\n",
.read = acf_vmcount_exec,
};
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app_hasvoicemail);
res = ast_custom_function_unregister(&acf_vmcount);
res |= ast_unregister_application(app_hasvoicemail);
res |= ast_unregister_application(app_hasnewvoicemail);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_register_application(app_hasvoicemail, hasvoicemail_exec, hasvoicemail_synopsis, hasvoicemail_descrip);
res = ast_custom_function_register(&acf_vmcount);
res |= ast_register_application(app_hasvoicemail, hasvoicemail_exec, hasvoicemail_synopsis, hasvoicemail_descrip);
res |= ast_register_application(app_hasnewvoicemail, hasvoicemail_exec, hasnewvoicemail_synopsis, hasnewvoicemail_descrip);
return res;
}

75
apps/app_ices.c Executable file → Normal file
View File

@@ -1,24 +1,28 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Stream to an icecast server via ICES (see contrib/asterisk-ices.xml)
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Stream to an icecast server via ICES (see contrib/asterisk-ices.xml)
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/frame.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <string.h>
#include <stdio.h>
#include <signal.h>
@@ -27,7 +31,19 @@
#include <fcntl.h>
#include <sys/time.h>
#include <errno.h>
#include "../astconf.h"
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/frame.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#define ICES "/usr/bin/ices"
#define LOCAL_ICES "/usr/local/bin/ices"
@@ -41,8 +57,7 @@ static char *synopsis = "Encode and stream using 'ices'";
static char *descrip =
" ICES(config.xml) Streams to an icecast server using ices\n"
"(available separately). A configuration file must be supplied\n"
"for ices (see examples/asterisk-ices.conf). Returns -1 on\n"
"hangup or 0 otherwise.\n";
"for ices (see examples/asterisk-ices.conf). \n";
STANDARD_LOCAL_USER;
@@ -85,20 +100,24 @@ static int ices_exec(struct ast_channel *chan, void *data)
struct ast_frame *f;
char filename[256]="";
char *c;
last.tv_usec = 0;
last.tv_sec = 0;
if (!data || !strlen(data)) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "ICES requires an argument (configfile.xml)\n");
return -1;
}
LOCAL_USER_ADD(u);
last = ast_tv(0, 0);
if (pipe(fds)) {
ast_log(LOG_WARNING, "Unable to create pipe\n");
LOCAL_USER_REMOVE(u);
return -1;
}
flags = fcntl(fds[1], F_GETFL);
fcntl(fds[1], F_SETFL, flags | O_NONBLOCK);
LOCAL_USER_ADD(u);
ast_stopstream(chan);
if (chan->_state != AST_STATE_UP)
@@ -108,6 +127,7 @@ static int ices_exec(struct ast_channel *chan, void *data)
close(fds[0]);
close(fds[1]);
ast_log(LOG_WARNING, "Answer failed!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
@@ -117,6 +137,7 @@ static int ices_exec(struct ast_channel *chan, void *data)
close(fds[0]);
close(fds[1]);
ast_log(LOG_WARNING, "Unable to set write format to signed linear\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (((char *)data)[0] == '/')
@@ -159,18 +180,26 @@ static int ices_exec(struct ast_channel *chan, void *data)
}
}
close(fds[1]);
LOCAL_USER_REMOVE(u);
if (pid > -1)
kill(pid, SIGKILL);
if (!res && oreadformat)
ast_set_read_format(chan, oreadformat);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

114
apps/app_image.c Executable file → Normal file
View File

@@ -1,26 +1,46 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to transmit an image
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to transmit an image
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/app.h"
#include "asterisk/options.h"
static char *tdesc = "Image Transmission Application";
@@ -29,12 +49,15 @@ static char *app = "SendImage";
static char *synopsis = "Send an image file";
static char *descrip =
" SendImage(filename): Sends an image on a channel. If the channel\n"
"does not support image transport, and there exists a step with\n"
"priority n + 101, then execution will continue at that step.\n"
"Otherwise, execution will continue at the next priority level.\n"
"SendImage only returns 0 if the image was sent correctly or if\n"
"the channel does not support image transport, and -1 otherwise.\n";
" SendImage(filename): Sends an image on a channel. \n"
"If the channel supports image transport but the image send\n"
"fails, the channel will be hung up. Otherwise, the dialplan\n"
"continues execution.\n"
"The option string may contain the following character:\n"
" 'j' -- jump to priority n+101 if the channel doesn't support image transport\n"
"This application sets the following channel variable upon completion:\n"
" SENDIMAGESTATUS The status is the result of the attempt as a text string, one of\n"
" OK | NOSUPPORT \n";
STANDARD_LOCAL_USER;
@@ -44,26 +67,61 @@ static int sendimage_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
if (!data || !strlen((char *)data)) {
ast_log(LOG_WARNING, "SendImage requires an argument (filename)\n");
char *parse;
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(filename);
AST_APP_ARG(options);
);
LOCAL_USER_ADD(u);
if (!(parse = ast_strdupa(data))) {
ast_log(LOG_WARNING, "Memory Error!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
LOCAL_USER_ADD(u);
AST_STANDARD_APP_ARGS(args, parse);
if (ast_strlen_zero(args.filename)) {
ast_log(LOG_WARNING, "SendImage requires an argument (filename[|options])\n");
return -1;
}
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
if (!ast_supports_images(chan)) {
/* Does not support transport */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "NOSUPPORT");
LOCAL_USER_REMOVE(u);
return 0;
}
res = ast_send_image(chan, data);
res = ast_send_image(chan, args.filename);
if (!res)
pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "OK");
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

65
apps/app_intercom.c Executable file → Normal file
View File

@@ -1,24 +1,29 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Use /dev/dsp as an intercom.
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Use /dev/dsp as an intercom.
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/frame.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <sys/ioctl.h>
@@ -35,6 +40,19 @@
#include <soundcard.h>
#endif
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/frame.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#ifdef __OpenBSD__
#define DEV_DSP "/dev/audio"
#else
@@ -51,8 +69,7 @@ static char *app = "Intercom";
static char *synopsis = "(Obsolete) Send to Intercom";
static char *descrip =
" Intercom(): Sends the user to the intercom (i.e. /dev/dsp). This program\n"
"is generally considered obselete by the chan_oss module. Returns 0 if the\n"
"user exits with a DTMF tone, or -1 if they hangup.\n";
"is generally considered obselete by the chan_oss module. User can terminate\n"with a DTMF tone, or by hangup.\n";
STANDARD_LOCAL_USER;
@@ -141,6 +158,7 @@ static int intercom_exec(struct ast_channel *chan, void *data)
res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set format to signed linear on channel %s\n", chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
/* Read packets from the channel */
@@ -168,18 +186,27 @@ static int intercom_exec(struct ast_channel *chan, void *data)
res = -1;
}
}
LOCAL_USER_REMOVE(u);
if (!res)
ast_set_read_format(chan, oreadformat);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
int res;
if (sound > -1)
close(sound);
return ast_unregister_application(app);
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)

144
apps/app_ivrdemo.c Normal file
View File

@@ -0,0 +1,144 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief IVR Demo application
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
static char *tdesc = "IVR Demo Application";
static char *app = "IVRDemo";
static char *synopsis =
" This is a skeleton application that shows you the basic structure to create your\n"
"own asterisk applications and demonstrates the IVR demo.\n";
static int ivr_demo_func(struct ast_channel *chan, void *data)
{
ast_verbose("IVR Demo, data is %s!\n", (char *)data);
return 0;
}
AST_IVR_DECLARE_MENU(ivr_submenu, "IVR Demo Sub Menu", 0,
{
{ "s", AST_ACTION_BACKGROUND, "demo-abouttotry" },
{ "s", AST_ACTION_WAITOPTION },
{ "1", AST_ACTION_PLAYBACK, "digits/1" },
{ "1", AST_ACTION_PLAYBACK, "digits/1" },
{ "1", AST_ACTION_RESTART },
{ "2", AST_ACTION_PLAYLIST, "digits/2;digits/3" },
{ "3", AST_ACTION_CALLBACK, ivr_demo_func },
{ "4", AST_ACTION_TRANSFER, "demo|s|1" },
{ "*", AST_ACTION_REPEAT },
{ "#", AST_ACTION_UPONE },
{ NULL }
});
AST_IVR_DECLARE_MENU(ivr_demo, "IVR Demo Main Menu", 0,
{
{ "s", AST_ACTION_BACKGROUND, "demo-congrats" },
{ "g", AST_ACTION_BACKGROUND, "demo-instruct" },
{ "g", AST_ACTION_WAITOPTION },
{ "1", AST_ACTION_PLAYBACK, "digits/1" },
{ "1", AST_ACTION_RESTART },
{ "2", AST_ACTION_MENU, &ivr_submenu },
{ "2", AST_ACTION_RESTART },
{ "i", AST_ACTION_PLAYBACK, "invalid" },
{ "i", AST_ACTION_REPEAT, (void *)(unsigned long)2 },
{ "#", AST_ACTION_EXIT },
{ NULL },
});
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int skel_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "skel requires an argument (filename)\n");
return -1;
}
LOCAL_USER_ADD(u);
/* Do our thing here */
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
if (!res)
res = ast_ivr_menu_run(chan, &ivr_demo, data);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, skel_exec, tdesc, synopsis);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

133
apps/app_lookupblacklist.c Executable file → Normal file
View File

@@ -1,29 +1,49 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to lookup the callerid number, and see if it is blacklisted
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to lookup the callerid number, and see if it is blacklisted
*
* \ingroup applications
*
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/callerid.h>
#include <asterisk/astdb.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
#include "asterisk/astdb.h"
#include "asterisk/options.h"
static char *tdesc = "Look up Caller*ID name/number from blacklist database";
@@ -32,14 +52,14 @@ static char *app = "LookupBlacklist";
static char *synopsis = "Look up Caller*ID name/number from blacklist database";
static char *descrip =
" LookupBlacklist: Looks up the Caller*ID number on the active\n"
"channel in the Asterisk database (family 'blacklist'). If the\n"
"number is found, and if there exists a priority n + 101,\n"
"where 'n' is the priority of the current instance, then the\n"
"channel will be setup to continue at that priority level.\n"
"Otherwise, it returns 0. Does nothing if no Caller*ID was received on the\n"
"channel.\n"
"Example: database put blacklist <name/number> 1\n";
" LookupBlacklist(options): Looks up the Caller*ID number on the active\n"
"channel in the Asterisk database (family 'blacklist'). \n"
"The option string may contain the following character:\n"
" 'j' -- jump to n+101 priority if the number/name is found in the blacklist\n"
"This application sets the following channel variable upon completion:\n"
" LOOKUPBLSTATUS The status of the Blacklist lookup as a text string, one of\n"
" FOUND | NOTFOUND\n"
"Example: exten => 1234,1,LookupBlacklist()\n";
STANDARD_LOCAL_USER;
@@ -48,47 +68,54 @@ LOCAL_USER_DECL;
static int
lookupblacklist_exec (struct ast_channel *chan, void *data)
{
char old_cid[144] = "", *num, *name;
char blacklist[1];
char shrunknum[64] = "";
struct localuser *u;
int bl = 0;
int priority_jump = 0;
LOCAL_USER_ADD (u);
if (chan->callerid)
{
strncpy (old_cid, chan->callerid, sizeof (old_cid) - 1);
ast_callerid_parse (old_cid, &name, &num);
if (num)
strncpy (shrunknum, num, sizeof (shrunknum) - 1);
else
num = shrunknum;
ast_shrink_phone_number (shrunknum);
if (!ast_db_get ("blacklist", shrunknum, blacklist, sizeof (blacklist)))
{
LOCAL_USER_ADD(u);
if (!ast_strlen_zero(data)) {
if (strchr(data, 'j'))
priority_jump = 1;
}
if (chan->cid.cid_num) {
if (!ast_db_get("blacklist", chan->cid.cid_num, blacklist, sizeof (blacklist))) {
if (option_verbose > 2)
ast_log(LOG_NOTICE, "Blacklisted number %s found\n",shrunknum);
bl = 1;
}
else if (!ast_db_get ("blacklist", name, blacklist, sizeof (blacklist)))
{
if (option_verbose > 2)
ast_log (LOG_NOTICE,"Blacklisted name \"%s\" found\n",name);
ast_log(LOG_NOTICE, "Blacklisted number %s found\n",chan->cid.cid_num);
bl = 1;
}
}
if (bl && ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority+=100;
LOCAL_USER_REMOVE (u);
if (chan->cid.cid_name) {
if (!ast_db_get("blacklist", chan->cid.cid_name, blacklist, sizeof (blacklist))) {
if (option_verbose > 2)
ast_log (LOG_NOTICE,"Blacklisted name \"%s\" found\n",chan->cid.cid_name);
bl = 1;
}
}
if (bl) {
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
pbx_builtin_setvar_helper(chan, "LOOKUPBLSTATUS", "FOUND");
} else
pbx_builtin_setvar_helper(chan, "LOOKUPBLSTATUS", "NOTFOUND");
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module (void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application (app);
return res;
}
int load_module (void)

93
apps/app_lookupcidname.c Executable file → Normal file
View File

@@ -1,29 +1,47 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to set callerid name from database, based on directory number
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set callerid name from database, based on directory number
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/callerid.h>
#include <asterisk/astdb.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
#include "asterisk/astdb.h"
static char *tdesc = "Look up CallerID Name from local database";
@@ -37,7 +55,7 @@ static char *descrip =
"Caller*ID name. Does nothing if no Caller*ID was received on the\n"
"channel. This is useful if you do not subscribe to Caller*ID\n"
"name delivery, or if you want to change the names on some incoming\n"
"calls. Always returns 0.\n";
"calls.\n";
STANDARD_LOCAL_USER;
@@ -46,32 +64,18 @@ LOCAL_USER_DECL;
static int
lookupcidname_exec (struct ast_channel *chan, void *data)
{
char old_cid[144] = "", *num, *name;
char new_cid[144];
char dbname[64];
char shrunknum[64] = "";
struct localuser *u;
LOCAL_USER_ADD (u);
if (chan->callerid)
{
strncpy (old_cid, chan->callerid, sizeof (old_cid) - 1);
ast_callerid_parse (old_cid, &name, &num); /* this destroys the original string */
if (num) /* It's possible to get an empty number */
strncpy (shrunknum, num, sizeof (shrunknum) - 1);
else
num = shrunknum;
ast_shrink_phone_number (shrunknum);
if (!ast_db_get ("cidname", shrunknum, dbname, sizeof (dbname)))
{
snprintf (new_cid, sizeof (new_cid), "\"%s\" <%s>", dbname, num);
ast_set_callerid (chan, new_cid, 0);
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID to %s\n",
new_cid);
if (chan->cid.cid_num) {
if (!ast_db_get ("cidname", chan->cid.cid_num, dbname, sizeof (dbname))) {
ast_set_callerid (chan, NULL, dbname, NULL);
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID name to %s\n",
dbname);
}
}
}
LOCAL_USER_REMOVE (u);
return 0;
}
@@ -79,8 +83,13 @@ lookupcidname_exec (struct ast_channel *chan, void *data)
int
unload_module (void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application (app);
int res;
res = ast_unregister_application (app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int

503
apps/app_macro.c Executable file → Normal file
View File

@@ -1,50 +1,87 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Macro Implementation
*
* Copyright (C) 2003, Digium
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Dial plan macro Implementation
*
* \ingroup applications
*/
#include <sys/types.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/options.h>
#include <asterisk/utils.h>
#include <asterisk/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/options.h"
#include "asterisk/config.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#define MAX_ARGS 80
/* special result value used to force macro exit */
#define MACRO_EXIT_RESULT 1024
static char *tdesc = "Extension Macros";
static char *descrip =
" Macro(macroname|arg1|arg2...): Executes a macro using the context\n"
"'macro-<macroname>', jumping to the 's' extension of that context and\n"
"executing each step, then returning when the steps end. The calling\n"
"extension, context, and priority are stored in ${MACRO_EXTEN}, \n"
"executing each step, then returning when the steps end. \n"
"The calling extension, context, and priority are stored in ${MACRO_EXTEN}, \n"
"${MACRO_CONTEXT} and ${MACRO_PRIORITY} respectively. Arguments become\n"
"${ARG1}, ${ARG2}, etc in the macro context. Macro returns -1 if\n"
"any step in the macro returns -1, and 0 otherwise. If you Goto out\n"
"of the Macro context, the Macro will terminate and control will be return\n"
"at the location of the Goto. Otherwise if ${MACRO_OFFSET} is set at\n"
"termination, Macro will attempt to continue at priority\n"
"MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n";
"${ARG1}, ${ARG2}, etc in the macro context.\n"
"If you Goto out of the Macro context, the Macro will terminate and control\n"
"will be returned at the location of the Goto.\n"
"If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue\n"
"at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n";
static char *if_descrip =
" MacroIf(<expr>?macroname_a[|arg1][:macroname_b[|arg1]])\n"
"Executes macro defined in <macroname_a> if <expr> is true\n"
"(otherwise <macroname_b> if provided)\n"
"Arguments and return values as in application macro()\n";
static char *exit_descrip =
" MacroExit():\n"
"Causes the currently running macro to exit as if it had\n"
"ended normally by running out of priorities to execute.\n"
"If used outside a macro, will likely cause unexpected\n"
"behavior.\n";
static char *app = "Macro";
static char *if_app = "MacroIf";
static char *exit_app = "MacroExit";
static char *synopsis = "Macro Implementation";
static char *if_synopsis = "Conditional Macro Implementation";
static char *exit_synopsis = "Exit From Macro";
STANDARD_LOCAL_USER;
@@ -52,186 +89,284 @@ LOCAL_USER_DECL;
static int macro_exec(struct ast_channel *chan, void *data)
{
char tmp[256] = "";
char *cur, *rest;
char *macro;
char fullmacro[80];
char varname[80];
char *oldargs[MAX_ARGS + 1] = { NULL, };
int argc, x;
int res=0;
char oldexten[256]="";
int oldpriority;
char pc[80];
char oldcontext[256] = "";
char *offsets;
int offset;
int setmacrocontext=0;
char *tmp;
char *cur, *rest;
char *macro;
char fullmacro[80];
char varname[80];
char *oldargs[MAX_ARGS + 1] = { NULL, };
int argc, x;
int res=0;
char oldexten[256]="";
int oldpriority;
char pc[80], depthc[12];
char oldcontext[AST_MAX_CONTEXT] = "";
char *offsets;
int offset, depth;
int setmacrocontext=0;
int autoloopflag;
char *save_macro_exten;
char *save_macro_context;
char *save_macro_priority;
char *save_macro_offset;
if (!data || ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Invalid Macro incantation\n");
return 0;
}
strncpy(tmp, data, sizeof(tmp) - 1);
rest = tmp;
macro = strsep(&rest, "|");
if (!macro || ast_strlen_zero(macro)) {
ast_log(LOG_WARNING, "Invalid macro name specified\n");
return 0;
}
snprintf(fullmacro, sizeof(fullmacro), "macro-%s", macro);
if (!ast_exists_extension(chan, fullmacro, "s", 1, chan->callerid)) {
if (!ast_context_find(fullmacro))
ast_log(LOG_WARNING, "No such context '%s' for macro '%s'\n", fullmacro, macro);
else
ast_log(LOG_WARNING, "Context '%s' for macro '%s' lacks 's' extension, priority 1\n", fullmacro, macro);
return 0;
}
/* Save old info */
oldpriority = chan->priority;
strncpy(oldexten, chan->exten, sizeof(oldexten) - 1);
strncpy(oldcontext, chan->context, sizeof(oldcontext) - 1);
if (ast_strlen_zero(chan->macrocontext)) {
strncpy(chan->macrocontext, chan->context, sizeof(chan->macrocontext) - 1);
strncpy(chan->macroexten, chan->exten, sizeof(chan->macroexten) - 1);
chan->macropriority = chan->priority;
setmacrocontext=1;
}
argc = 1;
/* Save old macro variables */
save_macro_exten = pbx_builtin_getvar_helper(chan, "MACRO_EXTEN");
if (save_macro_exten) save_macro_exten = strdup(save_macro_exten);
pbx_builtin_setvar_helper(chan, "MACRO_EXTEN", oldexten);
save_macro_context = pbx_builtin_getvar_helper(chan, "MACRO_CONTEXT");
if (save_macro_context) save_macro_context = strdup(save_macro_context);
pbx_builtin_setvar_helper(chan, "MACRO_CONTEXT", oldcontext);
save_macro_priority = pbx_builtin_getvar_helper(chan, "MACRO_PRIORITY");
if (save_macro_priority) save_macro_priority = strdup(save_macro_priority);
snprintf(pc, sizeof(pc), "%d", oldpriority);
pbx_builtin_setvar_helper(chan, "MACRO_PRIORITY", pc);
save_macro_offset = pbx_builtin_getvar_helper(chan, "MACRO_OFFSET");
if (save_macro_offset) save_macro_offset = strdup(save_macro_offset);
pbx_builtin_setvar_helper(chan, "MACRO_OFFSET", NULL);
/* Setup environment for new run */
chan->exten[0] = 's';
chan->exten[1] = '\0';
strncpy(chan->context, fullmacro, sizeof(chan->context) - 1);
chan->priority = 1;
while((cur = strsep(&rest, "|")) && (argc < MAX_ARGS)) {
/* Save copy of old arguments if we're overwriting some, otherwise
let them pass through to the other macro */
snprintf(varname, sizeof(varname), "ARG%d", argc);
oldargs[argc] = pbx_builtin_getvar_helper(chan, varname);
if (oldargs[argc])
oldargs[argc] = strdup(oldargs[argc]);
pbx_builtin_setvar_helper(chan, varname, cur);
argc++;
}
while(ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->callerid)) {
if ((res = ast_spawn_extension(chan, chan->context, chan->exten, chan->priority, chan->callerid))) {
/* Something bad happened, or a hangup has been requested. */
if (((res >= '0') && (res <= '9')) || ((res >= 'A') && (res <= 'F'))) {
/* Just return result as to the previous application as if it had been dialed */
ast_log(LOG_DEBUG, "Oooh, got something to jump out with ('%c')!\n", res);
break;
}
switch(res) {
case AST_PBX_KEEPALIVE:
if (option_debug)
ast_log(LOG_DEBUG, "Spawn extension (%s,%s,%d) exited KEEPALIVE in macro %s on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
else if (option_verbose > 1)
ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited KEEPALIVE in macro '%s' on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
goto out;
break;
default:
if (option_debug)
ast_log(LOG_DEBUG, "Spawn extension (%s,%s,%d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
else if (option_verbose > 1)
ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
goto out;
}
char *save_macro_exten;
char *save_macro_context;
char *save_macro_priority;
char *save_macro_offset;
struct localuser *u;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Macro() requires arguments. See \"show application macro\" for help.\n");
return -1;
}
if (strcasecmp(chan->context, fullmacro)) {
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Channel '%s' jumping out of macro '%s'\n", chan->name, macro);
break;
}
/* don't stop executing extensions when we're in "h" */
if (chan->_softhangup && strcasecmp(oldexten,"h")) {
ast_log(LOG_DEBUG, "Extension %s, priority %d returned normally even though call was hung up\n",
chan->exten, chan->priority);
goto out;
}
chan->priority++;
}
out:
for (x=1;x<argc;x++) {
/* Restore old arguments and delete ours */
snprintf(varname, sizeof(varname), "ARG%d", x);
if (oldargs[x]) {
pbx_builtin_setvar_helper(chan, varname, oldargs[x]);
free(oldargs[x]);
LOCAL_USER_ADD(u);
/* Count how many levels deep the rabbit hole goes */
tmp = pbx_builtin_getvar_helper(chan, "MACRO_DEPTH");
if (tmp) {
sscanf(tmp, "%d", &depth);
} else {
pbx_builtin_setvar_helper(chan, varname, NULL);
depth = 0;
}
}
/* Restore macro variables */
pbx_builtin_setvar_helper(chan, "MACRO_EXTEN", save_macro_exten);
if (save_macro_exten) free(save_macro_exten);
pbx_builtin_setvar_helper(chan, "MACRO_CONTEXT", save_macro_context);
if (save_macro_context) free(save_macro_context);
pbx_builtin_setvar_helper(chan, "MACRO_PRIORITY", save_macro_priority);
if (save_macro_priority) free(save_macro_priority);
if (setmacrocontext) {
chan->macrocontext[0] = '\0';
chan->macroexten[0] = '\0';
chan->macropriority = 0;
}
if (depth >= 7) {
ast_log(LOG_ERROR, "Macro(): possible infinite loop detected. Returning early.\n");
LOCAL_USER_REMOVE(u);
return 0;
}
snprintf(depthc, sizeof(depthc), "%d", depth + 1);
pbx_builtin_setvar_helper(chan, "MACRO_DEPTH", depthc);
if (!strcasecmp(chan->context, fullmacro)) {
/* If we're leaving the macro normally, restore original information */
chan->priority = oldpriority;
strncpy(chan->context, oldcontext, sizeof(chan->context) - 1);
if (!(chan->_softhangup & AST_SOFTHANGUP_ASYNCGOTO)) {
/* Copy the extension, so long as we're not in softhangup, where we could be given an asyncgoto */
strncpy(chan->exten, oldexten, sizeof(chan->exten) - 1);
if ((offsets = pbx_builtin_getvar_helper(chan, "MACRO_OFFSET"))) {
/* Handle macro offset if it's set by checking the availability of step n + offset + 1, otherwise continue
normally if there is any problem */
if (sscanf(offsets, "%d", &offset) == 1) {
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + offset + 1, chan->callerid)) {
chan->priority += offset;
tmp = ast_strdupa(data);
rest = tmp;
macro = strsep(&rest, "|");
if (ast_strlen_zero(macro)) {
ast_log(LOG_WARNING, "Invalid macro name specified\n");
LOCAL_USER_REMOVE(u);
return 0;
}
snprintf(fullmacro, sizeof(fullmacro), "macro-%s", macro);
if (!ast_exists_extension(chan, fullmacro, "s", 1, chan->cid.cid_num)) {
if (!ast_context_find(fullmacro))
ast_log(LOG_WARNING, "No such context '%s' for macro '%s'\n", fullmacro, macro);
else
ast_log(LOG_WARNING, "Context '%s' for macro '%s' lacks 's' extension, priority 1\n", fullmacro, macro);
LOCAL_USER_REMOVE(u);
return 0;
}
/* Save old info */
oldpriority = chan->priority;
ast_copy_string(oldexten, chan->exten, sizeof(oldexten));
ast_copy_string(oldcontext, chan->context, sizeof(oldcontext));
if (ast_strlen_zero(chan->macrocontext)) {
ast_copy_string(chan->macrocontext, chan->context, sizeof(chan->macrocontext));
ast_copy_string(chan->macroexten, chan->exten, sizeof(chan->macroexten));
chan->macropriority = chan->priority;
setmacrocontext=1;
}
argc = 1;
/* Save old macro variables */
save_macro_exten = pbx_builtin_getvar_helper(chan, "MACRO_EXTEN");
if (save_macro_exten)
save_macro_exten = strdup(save_macro_exten);
pbx_builtin_setvar_helper(chan, "MACRO_EXTEN", oldexten);
save_macro_context = pbx_builtin_getvar_helper(chan, "MACRO_CONTEXT");
if (save_macro_context)
save_macro_context = strdup(save_macro_context);
pbx_builtin_setvar_helper(chan, "MACRO_CONTEXT", oldcontext);
save_macro_priority = pbx_builtin_getvar_helper(chan, "MACRO_PRIORITY");
if (save_macro_priority)
save_macro_priority = strdup(save_macro_priority);
snprintf(pc, sizeof(pc), "%d", oldpriority);
pbx_builtin_setvar_helper(chan, "MACRO_PRIORITY", pc);
save_macro_offset = pbx_builtin_getvar_helper(chan, "MACRO_OFFSET");
if (save_macro_offset)
save_macro_offset = strdup(save_macro_offset);
pbx_builtin_setvar_helper(chan, "MACRO_OFFSET", NULL);
/* Setup environment for new run */
chan->exten[0] = 's';
chan->exten[1] = '\0';
ast_copy_string(chan->context, fullmacro, sizeof(chan->context));
chan->priority = 1;
while((cur = strsep(&rest, "|")) && (argc < MAX_ARGS)) {
/* Save copy of old arguments if we're overwriting some, otherwise
let them pass through to the other macro */
snprintf(varname, sizeof(varname), "ARG%d", argc);
oldargs[argc] = pbx_builtin_getvar_helper(chan, varname);
if (oldargs[argc])
oldargs[argc] = strdup(oldargs[argc]);
pbx_builtin_setvar_helper(chan, varname, cur);
argc++;
}
autoloopflag = ast_test_flag(chan, AST_FLAG_IN_AUTOLOOP);
ast_set_flag(chan, AST_FLAG_IN_AUTOLOOP);
while(ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num)) {
/* Reset the macro depth, if it was changed in the last iteration */
pbx_builtin_setvar_helper(chan, "MACRO_DEPTH", depthc);
if ((res = ast_spawn_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num))) {
/* Something bad happened, or a hangup has been requested. */
if (((res >= '0') && (res <= '9')) || ((res >= 'A') && (res <= 'F')) ||
(res == '*') || (res == '#')) {
/* Just return result as to the previous application as if it had been dialed */
ast_log(LOG_DEBUG, "Oooh, got something to jump out with ('%c')!\n", res);
break;
}
switch(res) {
case MACRO_EXIT_RESULT:
res = 0;
goto out;
case AST_PBX_KEEPALIVE:
if (option_debug)
ast_log(LOG_DEBUG, "Spawn extension (%s,%s,%d) exited KEEPALIVE in macro %s on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
else if (option_verbose > 1)
ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited KEEPALIVE in macro '%s' on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
goto out;
break;
default:
if (option_debug)
ast_log(LOG_DEBUG, "Spawn extension (%s,%s,%d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
else if (option_verbose > 1)
ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
goto out;
}
}
if (strcasecmp(chan->context, fullmacro)) {
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Channel '%s' jumping out of macro '%s'\n", chan->name, macro);
break;
}
/* don't stop executing extensions when we're in "h" */
if (chan->_softhangup && strcasecmp(oldexten,"h")) {
ast_log(LOG_DEBUG, "Extension %s, priority %d returned normally even though call was hung up\n",
chan->exten, chan->priority);
goto out;
}
chan->priority++;
}
out:
/* Reset the depth back to what it was when the routine was entered (like if we called Macro recursively) */
snprintf(depthc, sizeof(depthc), "%d", depth);
pbx_builtin_setvar_helper(chan, "MACRO_DEPTH", depthc);
ast_set2_flag(chan, autoloopflag, AST_FLAG_IN_AUTOLOOP);
for (x=1; x<argc; x++) {
/* Restore old arguments and delete ours */
snprintf(varname, sizeof(varname), "ARG%d", x);
if (oldargs[x]) {
pbx_builtin_setvar_helper(chan, varname, oldargs[x]);
free(oldargs[x]);
} else {
pbx_builtin_setvar_helper(chan, varname, NULL);
}
}
/* Restore macro variables */
pbx_builtin_setvar_helper(chan, "MACRO_EXTEN", save_macro_exten);
if (save_macro_exten)
free(save_macro_exten);
pbx_builtin_setvar_helper(chan, "MACRO_CONTEXT", save_macro_context);
if (save_macro_context)
free(save_macro_context);
pbx_builtin_setvar_helper(chan, "MACRO_PRIORITY", save_macro_priority);
if (save_macro_priority)
free(save_macro_priority);
if (setmacrocontext) {
chan->macrocontext[0] = '\0';
chan->macroexten[0] = '\0';
chan->macropriority = 0;
}
if (!strcasecmp(chan->context, fullmacro)) {
/* If we're leaving the macro normally, restore original information */
chan->priority = oldpriority;
ast_copy_string(chan->context, oldcontext, sizeof(chan->context));
if (!(chan->_softhangup & AST_SOFTHANGUP_ASYNCGOTO)) {
/* Copy the extension, so long as we're not in softhangup, where we could be given an asyncgoto */
ast_copy_string(chan->exten, oldexten, sizeof(chan->exten));
if ((offsets = pbx_builtin_getvar_helper(chan, "MACRO_OFFSET"))) {
/* Handle macro offset if it's set by checking the availability of step n + offset + 1, otherwise continue
normally if there is any problem */
if (sscanf(offsets, "%d", &offset) == 1) {
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + offset + 1, chan->cid.cid_num)) {
chan->priority += offset;
}
}
}
}
}
}
pbx_builtin_setvar_helper(chan, "MACRO_OFFSET", save_macro_offset);
if (save_macro_offset) free(save_macro_offset);
return res;
pbx_builtin_setvar_helper(chan, "MACRO_OFFSET", save_macro_offset);
if (save_macro_offset)
free(save_macro_offset);
LOCAL_USER_REMOVE(u);
return res;
}
static int macroif_exec(struct ast_channel *chan, void *data)
{
char *expr = NULL, *label_a = NULL, *label_b = NULL;
int res = 0;
struct localuser *u;
LOCAL_USER_ADD(u);
expr = ast_strdupa(data);
if (!expr) {
ast_log(LOG_ERROR, "Out of Memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if ((label_a = strchr(expr, '?'))) {
*label_a = '\0';
label_a++;
if ((label_b = strchr(label_a, ':'))) {
*label_b = '\0';
label_b++;
}
if (ast_true(expr))
macro_exec(chan, label_a);
else if (label_b)
macro_exec(chan, label_b);
} else
ast_log(LOG_WARNING, "Invalid Syntax.\n");
LOCAL_USER_REMOVE(u);
return res;
}
static int macro_exit_exec(struct ast_channel *chan, void *data)
{
return MACRO_EXIT_RESULT;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(if_app);
res |= ast_unregister_application(exit_app);
res |= ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)
{
return ast_register_application(app, macro_exec, synopsis, descrip);
int res;
res = ast_register_application(exit_app, macro_exit_exec, exit_synopsis, exit_descrip);
res |= ast_register_application(if_app, macroif_exec, if_synopsis, if_descrip);
res |= ast_register_application(app, macro_exec, synopsis, descrip);
return res;
}
char *description(void)

297
apps/app_math.c Normal file
View File

@@ -0,0 +1,297 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2004 - 2005, Andy Powell
*
* Updated by Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief A simple math application
*
* \ingroup applications
*/
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
#include <dirent.h>
#include <ctype.h>
#include <sys/file.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/options.h"
#include "asterisk/config.h"
#include "asterisk/say.h"
#include "asterisk/module.h"
#include "asterisk/app.h"
#include "asterisk/manager.h"
#include "asterisk/localtime.h"
#include "asterisk/cli.h"
#include "asterisk/utils.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
static char *tdesc = "Basic Math Functions";
static char *app_math = "Math";
static char *math_synopsis = "Performs Mathematical Functions";
static char *math_descrip =
"Math(returnvar,<number1><op><number 2>\n\n"
"Perform floating point calculation on number 1 to number 2 and \n"
"store the result in returnvar. Valid ops are: \n"
" +,-,/,*,%,<,>,>=,<=,==\n"
"and behave as their C equivalents.\n";
#define ADDFUNCTION 0
#define DIVIDEFUNCTION 1
#define MULTIPLYFUNCTION 2
#define SUBTRACTFUNCTION 3
#define MODULUSFUNCTION 4
#define GTFUNCTION 5
#define LTFUNCTION 6
#define GTEFUNCTION 7
#define LTEFUNCTION 8
#define EQFUNCTION 9
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int math_exec(struct ast_channel *chan, void *data)
{
float fnum1;
float fnum2;
float ftmp = 0;
char *op;
int iaction=-1;
static int deprecation_warning = 0;
/* dunno, big calulations :D */
char user_result[30];
char *s;
char *mvar, *mvalue1, *mvalue2=NULL;
struct localuser *u;
if (!deprecation_warning) {
ast_log(LOG_WARNING, "Math() is deprecated, please use Set(var=${MATH(...)} instead.\n");
deprecation_warning = 1;
}
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "No parameters passed. !\n");
return -1;
}
LOCAL_USER_ADD(u);
s = ast_strdupa(data);
if (!s) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
mvar = strsep(&s, "|");
mvalue1 = strsep(&s, "|");
if ((op = strchr(mvalue1, '+'))) {
iaction = ADDFUNCTION;
*op = '\0';
} else if ((op = strchr(mvalue1, '-'))) {
iaction = SUBTRACTFUNCTION;
*op = '\0';
} else if ((op = strchr(mvalue1, '*'))) {
iaction = MULTIPLYFUNCTION;
*op = '\0';
} else if ((op = strchr(mvalue1, '/'))) {
iaction = DIVIDEFUNCTION;
*op = '\0';
} else if ((op = strchr(mvalue1, '>'))) {
iaction = GTFUNCTION;
*op = '\0';
if (*(op+1) == '=') {
op++;
*op = '\0';
iaction = GTEFUNCTION;
}
} else if ((op = strchr(mvalue1, '<'))) {
iaction = LTFUNCTION;
*op = '\0';
if (*(op+1) == '=') {
op++;
*op = '\0';
iaction = LTEFUNCTION;
}
} else if ((op = strchr(mvalue1, '='))) {
iaction = GTFUNCTION;
*op = '\0';
if (*(op+1) == '=') {
op++;
*op = '\0';
iaction = EQFUNCTION;
} else
op = NULL;
}
if (op)
mvalue2 = op + 1;
if (!mvar || !mvalue1 || !mvalue2) {
ast_log(LOG_WARNING, "Supply all the parameters - just this once, please\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (!strcmp(mvar,"")) {
ast_log(LOG_WARNING, "No return variable set.\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (sscanf(mvalue1, "%f", &fnum1) != 1) {
ast_log(LOG_WARNING, "'%s' is not a valid number\n", mvalue1);
LOCAL_USER_REMOVE(u);
return -1;
}
if (sscanf(mvalue2, "%f", &fnum2) != 1) {
ast_log(LOG_WARNING, "'%s' is not a valid number\n", mvalue2);
LOCAL_USER_REMOVE(u);
return -1;
}
switch (iaction) {
case ADDFUNCTION :
ftmp = fnum1 + fnum2;
break;
case DIVIDEFUNCTION :
if (fnum2 <=0)
ftmp = 0; /* can't do a divide by 0 */
else
ftmp = (fnum1 / fnum2);
break;
case MULTIPLYFUNCTION :
ftmp = (fnum1 * fnum2);
break;
case SUBTRACTFUNCTION :
ftmp = (fnum1 - fnum2);
break;
case MODULUSFUNCTION : {
int inum1 = fnum1;
int inum2 = fnum2;
ftmp = (inum1 % inum2);
break;
}
case GTFUNCTION :
if (fnum1 > fnum2)
strcpy(user_result, "TRUE");
else
strcpy(user_result, "FALSE");
break;
case LTFUNCTION :
if (fnum1 < fnum2)
strcpy(user_result, "TRUE");
else
strcpy(user_result, "FALSE");
break;
case GTEFUNCTION :
if (fnum1 >= fnum2)
strcpy(user_result, "TRUE");
else
strcpy(user_result, "FALSE");
break;
case LTEFUNCTION :
if (fnum1 <= fnum2)
strcpy(user_result, "TRUE");
else
strcpy(user_result, "FALSE");
break;
case EQFUNCTION :
if (fnum1 == fnum2)
strcpy(user_result, "TRUE");
else
strcpy(user_result, "FALSE");
break;
default :
ast_log(LOG_WARNING, "Something happened that neither of us should be proud of %d\n", iaction);
LOCAL_USER_REMOVE(u);
return -1;
}
if (iaction < GTFUNCTION || iaction > EQFUNCTION)
snprintf(user_result,sizeof(user_result),"%f",ftmp);
pbx_builtin_setvar_helper(chan, mvar, user_result);
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app_math);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app_math, math_exec, math_synopsis, math_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}
/* Fading everything to black and blue... */

205
apps/app_md5.c Normal file
View File

@@ -0,0 +1,205 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2005, Olle E. Johansson, Edvina.net
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief MD5 checksum application
*
* \todo Remove this deprecated application in 1.3dev
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/utils.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
static char *tdesc_md5 = "MD5 checksum applications";
static char *app_md5 = "MD5";
static char *desc_md5 = "Calculate MD5 checksum";
static char *synopsis_md5 =
" MD5(<var>=<string>): Calculates a MD5 checksum on <string>.\n"
"Returns hash value in a channel variable. \n";
static char *app_md5check = "MD5Check";
static char *desc_md5check = "Check MD5 checksum";
static char *synopsis_md5check =
" MD5Check(<md5hash>|<string>[|options]): Calculates a MD5 checksum on <string>\n"
"and compares it with the hash. Returns 0 if <md5hash> is correct for <string>.\n"
"The option string may contain zero or more of the following characters:\n"
" 'j' -- jump to priority n+101 if the hash and string do not match \n"
"This application sets the following channel variable upon completion:\n"
" CHECKMD5STATUS The status of the MD5 check, one of the following\n"
" MATCH | NOMATCH\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
/*--- md5_exec: Calculate MD5 checksum (hash) on given string and
return it in channel variable ---*/
static int md5_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *varname= NULL; /* Variable to set */
char *string = NULL; /* String to calculate on */
char retvar[50]; /* Return value */
static int dep_warning = 0;
if (!dep_warning) {
ast_log(LOG_WARNING, "This application has been deprecated, please use the MD5 function instead.\n");
dep_warning = 1;
}
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Syntax: md5(<varname>=<string>) - missing argument!\n");
return -1;
}
LOCAL_USER_ADD(u);
memset(retvar,0, sizeof(retvar));
string = ast_strdupa(data);
varname = strsep(&string,"=");
if (ast_strlen_zero(varname)) {
ast_log(LOG_WARNING, "Syntax: md5(<varname>=<string>) - missing argument!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
ast_md5_hash(retvar, string);
pbx_builtin_setvar_helper(chan, varname, retvar);
LOCAL_USER_REMOVE(u);
return res;
}
/*--- md5check_exec: Calculate MD5 checksum and compare it with
existing checksum. ---*/
static int md5check_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *string = NULL; /* String to calculate on */
char newhash[50]; /* Return value */
static int dep_warning = 0;
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(md5hash);
AST_APP_ARG(string);
AST_APP_ARG(options);
);
if (!dep_warning) {
ast_log(LOG_WARNING, "This application has been deprecated, please use the CHECK_MD5 function instead.\n");
dep_warning = 1;
}
LOCAL_USER_ADD(u);
if (!(string = ast_strdupa(data))) {
ast_log(LOG_WARNING, "Memory Error!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, string);
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
if (ast_strlen_zero(args.md5hash) || ast_strlen_zero(args.string)) {
ast_log(LOG_WARNING, "Syntax: MD5Check(<md5hash>|<string>[|options]) - missing argument!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
memset(newhash,0, sizeof(newhash));
ast_md5_hash(newhash, args.string);
if (!strcmp(newhash, args.md5hash)) { /* Verification ok */
if (option_debug > 2)
ast_log(LOG_DEBUG, "MD5 verified ok: %s -- %s\n", args.md5hash, args.string);
pbx_builtin_setvar_helper(chan, "CHECKMD5STATUS", "MATCH");
LOCAL_USER_REMOVE(u);
return 0;
}
if (option_debug > 2)
ast_log(LOG_DEBUG, "ERROR: MD5 not verified: %s -- %s\n", args.md5hash, args.string);
pbx_builtin_setvar_helper(chan, "CHECKMD5STATUS", "NOMATCH");
if (priority_jump || option_priority_jumping) {
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
if (option_debug > 2)
ast_log(LOG_DEBUG, "Can't jump to exten+101 (e%s,p%d), sorry\n", chan->exten,chan->priority+101);
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app_md5);
res |= ast_unregister_application(app_md5check);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_register_application(app_md5check, md5check_exec, desc_md5check, synopsis_md5check);
res |= ast_register_application(app_md5, md5_exec, desc_md5, synopsis_md5);
return res;
}
char *description(void)
{
return tdesc_md5;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

1634
apps/app_meetme.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

68
apps/app_milliwatt.c Executable file → Normal file
View File

@@ -1,28 +1,45 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Digital Milliwatt Test
*
* Copyright (C) 2002, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Digital Milliwatt Test
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
static char *tdesc = "Digital Milliwatt (mu-law) Test Application";
static char *app = "Milliwatt";
@@ -56,30 +73,29 @@ static void milliwatt_release(struct ast_channel *chan, void *data)
static int milliwatt_generate(struct ast_channel *chan, void *data, int len, int samples)
{
struct ast_frame wf;
unsigned char waste[AST_FRIENDLY_OFFSET];
unsigned char buf[640];
unsigned char buf[AST_FRIENDLY_OFFSET + 640];
int i,*indexp = (int *) data;
if (len > sizeof(buf))
if (len + AST_FRIENDLY_OFFSET > sizeof(buf))
{
ast_log(LOG_WARNING,"Only doing %d bytes (%d bytes requested)\n",(int)sizeof(buf),len);
len = sizeof(buf);
ast_log(LOG_WARNING,"Only doing %d bytes (%d bytes requested)\n",(int)(sizeof(buf) - AST_FRIENDLY_OFFSET),len);
len = sizeof(buf) - AST_FRIENDLY_OFFSET;
}
waste[0] = 0; /* make compiler happy */
wf.frametype = AST_FRAME_VOICE;
wf.subclass = AST_FORMAT_ULAW;
wf.offset = AST_FRIENDLY_OFFSET;
wf.mallocd = 0;
wf.data = buf;
wf.data = buf + AST_FRIENDLY_OFFSET;
wf.datalen = len;
wf.samples = wf.datalen;
wf.src = "app_milliwatt";
wf.delivery.tv_sec = 0;
wf.delivery.tv_usec = 0;
wf.prev = wf.next = NULL;
/* create a buffer containing the digital milliwatt pattern */
for(i = 0; i < len; i++)
{
buf[i] = digital_milliwatt[(*indexp)++];
buf[AST_FRIENDLY_OFFSET + i] = digital_milliwatt[(*indexp)++];
*indexp &= 7;
}
if (ast_write(chan,&wf) < 0)
@@ -111,6 +127,7 @@ static int milliwatt_exec(struct ast_channel *chan, void *data)
if (ast_activate_generator(chan,&milliwattgen,"milliwatt") < 0)
{
ast_log(LOG_WARNING,"Failed to activate generator on '%s'\n",chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
while(!ast_safe_sleep(chan, 10000));
@@ -121,8 +138,13 @@ static int milliwatt_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

466
apps/app_mixmonitor.c Normal file
View File

@@ -0,0 +1,466 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2005, Anthony Minessale II
* Copyright (C) 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
* Kevin P. Fleming <kpfleming@digium.com>
*
* Based on app_muxmon.c provided by
* Anthony Minessale II <anthmct@yahoo.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
* \brief MixMonitor() - Record a call and mix the audio during the recording
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/chanspy.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/cli.h"
#include "asterisk/options.h"
#include "asterisk/app.h"
#include "asterisk/linkedlists.h"
#define get_volfactor(x) x ? ((x > 0) ? (1 << x) : ((1 << abs(x)) * -1)) : 0
static const char *tdesc = "Mixed Audio Monitoring Application";
static const char *app = "MixMonitor";
static const char *synopsis = "Record a call and mix the audio during the recording";
static const char *desc = ""
" MixMonitor(<file>.<ext>[|<options>[|<command>]])\n\n"
"Records the audio on the current channel to the specified file.\n"
"If the filename is an absolute path, uses that path, otherwise\n"
"creates the file in the configured monitoring directory from\n"
"asterisk.conf.\n\n"
"Valid options:\n"
" a - Append to the file instead of overwriting it.\n"
" b - Only save audio to the file while the channel is bridged.\n"
" Note: does not include conferences.\n"
" v(<x>) - Adjust the heard volume by a factor of <x> (range -4 to 4)\n"
" V(<x>) - Adjust the spoken volume by a factor of <x> (range -4 to 4)\n"
" W(<x>) - Adjust the both heard and spoken volumes by a factor of <x>\n"
" (range -4 to 4)\n\n"
"<command> will be executed when the recording is over\n"
"Any strings matching ^{X} will be unescaped to ${X} and \n"
"all variables will be evaluated at that time.\n"
"The variable MIXMONITOR_FILENAME will contain the filename used to record.\n"
"";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static const char *mixmonitor_spy_type = "MixMonitor";
struct mixmonitor {
struct ast_channel *chan;
char *filename;
char *post_process;
unsigned int flags;
int readvol;
int writevol;
};
enum {
MUXFLAG_APPEND = (1 << 1),
MUXFLAG_BRIDGED = (1 << 2),
MUXFLAG_VOLUME = (1 << 3),
MUXFLAG_READVOLUME = (1 << 4),
MUXFLAG_WRITEVOLUME = (1 << 5),
} mixmonitor_flags;
enum {
OPT_ARG_READVOLUME = 0,
OPT_ARG_WRITEVOLUME,
OPT_ARG_VOLUME,
OPT_ARG_ARRAY_SIZE,
} mixmonitor_args;
AST_APP_OPTIONS(mixmonitor_opts, {
AST_APP_OPTION('a', MUXFLAG_APPEND),
AST_APP_OPTION('b', MUXFLAG_BRIDGED),
AST_APP_OPTION_ARG('v', MUXFLAG_READVOLUME, OPT_ARG_READVOLUME),
AST_APP_OPTION_ARG('V', MUXFLAG_WRITEVOLUME, OPT_ARG_WRITEVOLUME),
AST_APP_OPTION_ARG('W', MUXFLAG_VOLUME, OPT_ARG_VOLUME),
});
static void stopmon(struct ast_channel *chan, struct ast_channel_spy *spy)
{
/* If our status has changed to DONE, then the channel we're spying on is gone....
DON'T TOUCH IT!!! RUN AWAY!!! */
if (spy->status == CHANSPY_DONE)
return;
if (!chan)
return;
ast_mutex_lock(&chan->lock);
ast_channel_spy_remove(chan, spy);
ast_mutex_unlock(&chan->lock);
}
static int startmon(struct ast_channel *chan, struct ast_channel_spy *spy)
{
struct ast_channel *peer;
int res;
if (!chan)
return -1;
ast_mutex_lock(&chan->lock);
res = ast_channel_spy_add(chan, spy);
ast_mutex_unlock(&chan->lock);
if (!res && ast_test_flag(chan, AST_FLAG_NBRIDGE) && (peer = ast_bridged_channel(chan)))
ast_softhangup(peer, AST_SOFTHANGUP_UNBRIDGE);
return res;
}
#define SAMPLES_PER_FRAME 160
static void *mixmonitor_thread(void *obj)
{
struct mixmonitor *mixmonitor = obj;
struct ast_channel_spy spy;
struct ast_filestream *fs = NULL;
char *ext, *name;
unsigned int oflags;
struct ast_frame *f;
char post_process[1024] = "";
STANDARD_INCREMENT_USECOUNT;
name = ast_strdupa(mixmonitor->chan->name);
oflags = O_CREAT|O_WRONLY;
oflags |= ast_test_flag(mixmonitor, MUXFLAG_APPEND) ? O_APPEND : O_TRUNC;
if ((ext = strrchr(mixmonitor->filename, '.'))) {
*(ext++) = '\0';
} else {
ext = "raw";
}
fs = ast_writefile(mixmonitor->filename, ext, NULL, oflags, 0, 0644);
if (!fs) {
ast_log(LOG_ERROR, "Cannot open %s.%s\n", mixmonitor->filename, ext);
goto out;
}
if (ast_test_flag(mixmonitor, MUXFLAG_APPEND))
ast_seekstream(fs, 0, SEEK_END);
memset(&spy, 0, sizeof(spy));
ast_set_flag(&spy, CHANSPY_FORMAT_AUDIO);
ast_set_flag(&spy, CHANSPY_MIXAUDIO);
spy.type = mixmonitor_spy_type;
spy.status = CHANSPY_RUNNING;
spy.read_queue.format = AST_FORMAT_SLINEAR;
spy.write_queue.format = AST_FORMAT_SLINEAR;
if (mixmonitor->readvol) {
ast_set_flag(&spy, CHANSPY_READ_VOLADJUST);
spy.read_vol_adjustment = mixmonitor->readvol;
}
if (mixmonitor->writevol) {
ast_set_flag(&spy, CHANSPY_WRITE_VOLADJUST);
spy.write_vol_adjustment = mixmonitor->writevol;
}
ast_mutex_init(&spy.lock);
if (startmon(mixmonitor->chan, &spy)) {
ast_log(LOG_WARNING, "Unable to add '%s' spy to channel '%s'\n",
spy.type, mixmonitor->chan->name);
goto out2;
}
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Begin MixMonitor Recording %s\n", name);
while (1) {
struct ast_frame *next;
int write;
ast_mutex_lock(&spy.lock);
ast_channel_spy_trigger_wait(&spy);
if (ast_check_hangup(mixmonitor->chan) || spy.status != CHANSPY_RUNNING) {
ast_mutex_unlock(&spy.lock);
break;
}
while (1) {
if (!(f = ast_channel_spy_read_frame(&spy, SAMPLES_PER_FRAME)))
break;
write = (!ast_test_flag(mixmonitor, MUXFLAG_BRIDGED) ||
ast_bridged_channel(mixmonitor->chan));
/* it is possible for ast_channel_spy_read_frame() to return a chain
of frames if a queue flush was necessary, so process them
*/
for (; f; f = next) {
next = f->next;
if (write)
ast_writestream(fs, f);
ast_frfree(f);
}
}
ast_mutex_unlock(&spy.lock);
}
if (mixmonitor->post_process) {
char *p;
for (p = mixmonitor->post_process; *p ; p++) {
if (*p == '^' && *(p+1) == '{') {
*p = '$';
}
}
pbx_substitute_variables_helper(mixmonitor->chan, mixmonitor->post_process, post_process, sizeof(post_process) - 1);
}
stopmon(mixmonitor->chan, &spy);
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "End MixMonitor Recording %s\n", name);
if (!ast_strlen_zero(post_process)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_2 "Executing [%s]\n", post_process);
ast_safe_system(post_process);
}
out2:
ast_mutex_destroy(&spy.lock);
if (fs)
ast_closestream(fs);
out:
free(mixmonitor);
STANDARD_DECREMENT_USECOUNT;
return NULL;
}
static void launch_monitor_thread(struct ast_channel *chan, const char *filename, unsigned int flags,
int readvol, int writevol, const char *post_process)
{
pthread_attr_t attr;
pthread_t thread;
struct mixmonitor *mixmonitor;
int len;
len = sizeof(*mixmonitor) + strlen(filename) + 1;
if (!ast_strlen_zero(post_process))
len += strlen(post_process) + 1;
if (!(mixmonitor = calloc(1, len))) {
ast_log(LOG_ERROR, "Memory Error!\n");
return;
}
mixmonitor->chan = chan;
mixmonitor->filename = (char *) mixmonitor + sizeof(*mixmonitor);
strcpy(mixmonitor->filename, filename);
if (!ast_strlen_zero(post_process)) {
mixmonitor->post_process = mixmonitor->filename + strlen(filename) + 1;
strcpy(mixmonitor->post_process, post_process);
}
mixmonitor->readvol = readvol;
mixmonitor->writevol = writevol;
mixmonitor->flags = flags;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
ast_pthread_create(&thread, &attr, mixmonitor_thread, mixmonitor);
pthread_attr_destroy(&attr);
}
static int mixmonitor_exec(struct ast_channel *chan, void *data)
{
int x, readvol = 0, writevol = 0;
struct localuser *u;
struct ast_flags flags = {0};
char *parse;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(filename);
AST_APP_ARG(options);
AST_APP_ARG(post_process);
);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "MixMonitor requires an argument (filename)\n");
return -1;
}
LOCAL_USER_ADD(u);
if (!(parse = ast_strdupa(data))) {
ast_log(LOG_WARNING, "Memory Error!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, parse);
if (ast_strlen_zero(args.filename)) {
ast_log(LOG_WARNING, "MixMonitor requires an argument (filename)\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (args.options) {
char *opts[OPT_ARG_ARRAY_SIZE] = { NULL, };
ast_app_parse_options(mixmonitor_opts, &flags, opts, args.options);
if (ast_test_flag(&flags, MUXFLAG_READVOLUME)) {
if (ast_strlen_zero(opts[OPT_ARG_READVOLUME])) {
ast_log(LOG_WARNING, "No volume level was provided for the heard volume ('v') option.\n");
} else if ((sscanf(opts[OPT_ARG_READVOLUME], "%d", &x) != 1) || (x < -4) || (x > 4)) {
ast_log(LOG_NOTICE, "Heard volume must be a number between -4 and 4, not '%s'\n", opts[OPT_ARG_READVOLUME]);
} else {
readvol = get_volfactor(x);
}
}
if (ast_test_flag(&flags, MUXFLAG_WRITEVOLUME)) {
if (ast_strlen_zero(opts[OPT_ARG_WRITEVOLUME])) {
ast_log(LOG_WARNING, "No volume level was provided for the spoken volume ('V') option.\n");
} else if ((sscanf(opts[OPT_ARG_WRITEVOLUME], "%d", &x) != 1) || (x < -4) || (x > 4)) {
ast_log(LOG_NOTICE, "Spoken volume must be a number between -4 and 4, not '%s'\n", opts[OPT_ARG_WRITEVOLUME]);
} else {
writevol = get_volfactor(x);
}
}
if (ast_test_flag(&flags, MUXFLAG_VOLUME)) {
if (ast_strlen_zero(opts[OPT_ARG_VOLUME])) {
ast_log(LOG_WARNING, "No volume level was provided for the combined volume ('W') option.\n");
} else if ((sscanf(opts[OPT_ARG_VOLUME], "%d", &x) != 1) || (x < -4) || (x > 4)) {
ast_log(LOG_NOTICE, "Combined volume must be a number between -4 and 4, not '%s'\n", opts[OPT_ARG_VOLUME]);
} else {
readvol = writevol = get_volfactor(x);
}
}
}
/* if not provided an absolute path, use the system-configured monitoring directory */
if (args.filename[0] != '/') {
char *build;
build = alloca(strlen(ast_config_AST_MONITOR_DIR) + strlen(args.filename) + 3);
sprintf(build, "%s/%s", ast_config_AST_MONITOR_DIR, args.filename);
args.filename = build;
}
pbx_builtin_setvar_helper(chan, "MIXMONITOR_FILENAME", args.filename);
launch_monitor_thread(chan, args.filename, flags.flags, readvol, writevol, args.post_process);
LOCAL_USER_REMOVE(u);
return 0;
}
static int mixmonitor_cli(int fd, int argc, char **argv)
{
struct ast_channel *chan;
if (argc < 3)
return RESULT_SHOWUSAGE;
if (!(chan = ast_get_channel_by_name_prefix_locked(argv[2], strlen(argv[2])))) {
ast_cli(fd, "No channel matching '%s' found.\n", argv[2]);
return RESULT_SUCCESS;
}
if (!strcasecmp(argv[1], "start"))
mixmonitor_exec(chan, argv[3]);
else if (!strcasecmp(argv[1], "stop"))
ast_channel_spy_stop_by_type(chan, mixmonitor_spy_type);
ast_mutex_unlock(&chan->lock);
return RESULT_SUCCESS;
}
static struct ast_cli_entry cli_mixmonitor = {
{ "mixmonitor", NULL, NULL },
mixmonitor_cli,
"Execute a MixMonitor command",
"mixmonitor <start|stop> <chan_name> [<args>]\n"
};
int unload_module(void)
{
int res;
res = ast_cli_unregister(&cli_mixmonitor);
res |= ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_cli_register(&cli_mixmonitor);
res |= ast_register_application(app, mixmonitor_exec, synopsis, desc);
return res;
}
char *description(void)
{
return (char *) tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

101
apps/app_mp3.c Executable file → Normal file
View File

@@ -1,24 +1,28 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Silly application to play an MP3 file -- uses mpg123
*
* Copyright (C) 1999-2004, Digium, Inc.
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Silly application to play an MP3 file -- uses mpg123
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/frame.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <string.h>
#include <stdio.h>
#include <signal.h>
@@ -27,6 +31,19 @@
#include <fcntl.h>
#include <sys/time.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/frame.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#define LOCAL_MPG_123 "/usr/local/bin/mpg123"
#define MPG_123 "/usr/bin/mpg123"
@@ -37,9 +54,9 @@ static char *app = "MP3Player";
static char *synopsis = "Play an MP3 file or stream";
static char *descrip =
" MP3Player(location) Executes mpg123 to play the given location\n"
"which typically would be a filename or a URL. Returns -1 on\n"
"hangup or 0 otherwise. User can exit by pressing any key\n.";
" MP3Player(location) Executes mpg123 to play the given location,\n"
"which typically would be a filename or a URL. User can exit by pressing\n"
"any key on the dialpad, or by hanging up.";
STANDARD_LOCAL_USER;
@@ -104,60 +121,51 @@ static int mp3_exec(struct ast_channel *chan, void *data)
int pid = -1;
int owriteformat;
int timeout = 2000;
struct timeval now, next;
struct timeval next;
struct ast_frame *f;
struct myframe {
struct ast_frame f;
char offset[AST_FRIENDLY_OFFSET];
short frdata[160];
} myf;
if (!data) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "MP3 Playback requires an argument (filename)\n");
return -1;
}
LOCAL_USER_ADD(u);
if (pipe(fds)) {
ast_log(LOG_WARNING, "Unable to create pipe\n");
LOCAL_USER_REMOVE(u);
return -1;
}
LOCAL_USER_ADD(u);
ast_stopstream(chan);
owriteformat = chan->writeformat;
res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set write format to signed linear\n");
LOCAL_USER_REMOVE(u);
return -1;
}
gettimeofday(&now, NULL);
res = mp3play((char *)data, fds[1]);
if (!strncasecmp((char *)data, "http://", 7)) {
timeout = 10000;
}
/* Wait 1000 ms first */
next = now;
next = ast_tvnow();
next.tv_sec += 1;
if (res >= 0) {
pid = res;
/* Order is important -- there's almost always going to be mp3... we want to prioritize the
user */
for (;;) {
gettimeofday(&now, NULL);
ms = (next.tv_sec - now.tv_sec) * 1000;
ms += (next.tv_usec - now.tv_usec) / 1000;
#if 0
printf("ms: %d\n", ms);
#endif
ms = ast_tvdiff_ms(next, ast_tvnow());
if (ms <= 0) {
#if 0
{
static struct timeval last;
struct timeval tv;
gettimeofday(&tv, NULL);
printf("Since last: %ld\n", (tv.tv_sec - last.tv_sec) * 1000 + (tv.tv_usec - last.tv_usec) / 1000);
last = tv;
}
#endif
res = timed_read(fds[0], myf.frdata, sizeof(myf.frdata), timeout);
if (res > 0) {
myf.f.frametype = AST_FRAME_VOICE;
@@ -179,14 +187,7 @@ static int mp3_exec(struct ast_channel *chan, void *data)
res = 0;
break;
}
next.tv_usec += res / 2 * 125;
if (next.tv_usec >= 1000000) {
next.tv_usec -= 1000000;
next.tv_sec++;
}
#if 0
printf("Next: %d\n", ms);
#endif
next = ast_tvadd(next, ast_samp2tv(myf.f.samples, 8000));
} else {
ms = ast_waitfor(chan, ms);
if (ms < 0) {
@@ -214,18 +215,26 @@ static int mp3_exec(struct ast_channel *chan, void *data)
}
close(fds[0]);
close(fds[1]);
LOCAL_USER_REMOVE(u);
if (pid > -1)
kill(pid, SIGKILL);
if (!res && owriteformat)
ast_set_write_format(chan, owriteformat);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

100
apps/app_nbscat.c Executable file → Normal file
View File

@@ -1,24 +1,28 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Silly application to play an NBScat file -- uses nbscat8k
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Silly application to play an NBScat file -- uses nbscat8k
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/frame.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <string.h>
#include <stdio.h>
#include <signal.h>
@@ -28,9 +32,26 @@
#include <sys/time.h>
#include <sys/socket.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/frame.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#define LOCAL_NBSCAT "/usr/local/bin/nbscat8k"
#define NBSCAT "/usr/bin/nbscat8k"
#ifndef AF_LOCAL
#define AF_LOCAL AF_UNIX
#endif
static char *tdesc = "Silly NBS Stream Application";
static char *app = "NBScat";
@@ -39,8 +60,7 @@ static char *synopsis = "Play an NBS local stream";
static char *descrip =
" NBScat: Executes nbscat to listen to the local NBS stream.\n"
"Returns -1 on\n hangup or 0 otherwise. User can exit by \n"
"pressing any key\n.";
"User can exit by pressing any key\n.";
STANDARD_LOCAL_USER;
@@ -90,52 +110,43 @@ static int NBScat_exec(struct ast_channel *chan, void *data)
int ms = -1;
int pid = -1;
int owriteformat;
struct timeval now, next;
struct timeval next;
struct ast_frame *f;
struct myframe {
struct ast_frame f;
char offset[AST_FRIENDLY_OFFSET];
short frdata[160];
} myf;
LOCAL_USER_ADD(u);
if (socketpair(AF_LOCAL, SOCK_STREAM, 0, fds)) {
ast_log(LOG_WARNING, "Unable to create socketpair\n");
LOCAL_USER_REMOVE(u);
return -1;
}
LOCAL_USER_ADD(u);
ast_stopstream(chan);
owriteformat = chan->writeformat;
res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set write format to signed linear\n");
LOCAL_USER_REMOVE(u);
return -1;
}
res = NBScatplay(fds[1]);
/* Wait 1000 ms first */
next = now;
next = ast_tvnow();
next.tv_sec += 1;
if (res >= 0) {
pid = res;
/* Order is important -- there's almost always going to be mp3... we want to prioritize the
user */
for (;;) {
gettimeofday(&now, NULL);
ms = (next.tv_sec - now.tv_sec) * 1000;
ms += (next.tv_usec - now.tv_usec) / 1000;
#if 0
printf("ms: %d\n", ms);
#endif
ms = ast_tvdiff_ms(next, ast_tvnow());
if (ms <= 0) {
#if 0
{
static struct timeval last;
struct timeval tv;
gettimeofday(&tv, NULL);
printf("Since last: %ld\n", (tv.tv_sec - last.tv_sec) * 1000 + (tv.tv_usec - last.tv_usec) / 1000);
last = tv;
}
#endif
res = timed_read(fds[0], myf.frdata, sizeof(myf.frdata));
if (res > 0) {
myf.f.frametype = AST_FRAME_VOICE;
@@ -157,14 +168,7 @@ static int NBScat_exec(struct ast_channel *chan, void *data)
res = 0;
break;
}
next.tv_usec += res / 2 * 125;
if (next.tv_usec >= 1000000) {
next.tv_usec -= 1000000;
next.tv_sec++;
}
#if 0
printf("Next: %d\n", ms);
#endif
next = ast_tvadd(next, ast_samp2tv(myf.f.samples, 8000));
} else {
ms = ast_waitfor(chan, ms);
if (ms < 0) {
@@ -192,18 +196,26 @@ static int NBScat_exec(struct ast_channel *chan, void *data)
}
close(fds[0]);
close(fds[1]);
LOCAL_USER_REMOVE(u);
if (pid > -1)
kill(pid, SIGKILL);
if (!res && owriteformat)
ast_set_write_format(chan, owriteformat);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

264
apps/app_osplookup.c Executable file → Normal file
View File

@@ -1,33 +1,52 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Time of day - Report the time of day
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/options.h>
#include <asterisk/config.h>
#include <asterisk/module.h>
#include <asterisk/utils.h>
#include <asterisk/causes.h>
#include <asterisk/astosp.h>
/*! \file
*
* \brief Open Settlement Protocol Lookup
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/options.h"
#include "asterisk/config.h"
#include "asterisk/module.h"
#include "asterisk/utils.h"
#include "asterisk/causes.h"
#include "asterisk/astosp.h"
#include "asterisk/app.h"
#include "asterisk/options.h"
static char *tdesc = "OSP Lookup";
static char *app = "OSPLookup";
@@ -47,23 +66,33 @@ static char *descrip =
" ${OSPHANDLE}: The OSP Handle for anything remaining\n"
" ${OSPRESULTS}: The number of OSP results total remaining\n"
"\n"
"If the lookup was *not* successful and there exists a priority n + 101,\n"
"then that priority will be taken next.\n" ;
"The option string may contain the following character:\n"
" 'j' -- jump to n+101 priority if the lookup was NOT successful\n"
"This application sets the following channel variable upon completion:\n"
" OSPLOOKUPSTATUS The status of the OSP Lookup attempt as a text string, one of\n"
" SUCCESS | FAILED \n";
static char *descrip2 =
" OSPNext: Looks up the next OSP Destination for ${OSPHANDLE}\n"
" OSPNext(cause[|options]): Looks up the next OSP Destination for ${OSPHANDLE}\n"
"See OSPLookup for more information\n"
"\n"
"If the lookup was *not* successful and there exists a priority n + 101,\n"
"then that priority will be taken next.\n" ;
"The option string may contain the following character:\n"
" 'j' -- jump to n+101 priority if the lookup was NOT successful\n"
"This application sets the following channel variable upon completion:\n"
" OSPNEXTSTATUS The status of the OSP Next attempt as a text string, one of\n"
" SUCCESS | FAILED \n";
static char *descrip3 =
" OSPFinish(status): Records call state for ${OSPHANDLE}, according to\n"
"status, which should be one of BUSY, CONGESTION, ANSWER, NOANSWER, or NOCHANAVAIL\n"
"or coincidentally, just what the Dial application stores in its ${DIALSTATUS}\n"
" OSPFinish(status[|options]): Records call state for ${OSPHANDLE}, according to\n"
"status, which should be one of BUSY, CONGESTION, ANSWER, NOANSWER, or CHANUNAVAIL\n"
"or coincidentally, just what the Dial application stores in its ${DIALSTATUS}.\n"
"\n"
"If the finishing was *not* successful and there exists a priority n + 101,\n"
"then that priority will be taken next.\n" ;
"The option string may contain the following character:\n"
" 'j' -- jump to n+101 priority if the finish attempt was NOT successful\n"
"This application sets the following channel variable upon completion:\n"
" OSPFINISHSTATUS The status of the OSP Finish attempt as a text string, one of\n"
" SUCCESS | FAILED \n";
STANDARD_LOCAL_USER;
@@ -92,43 +121,58 @@ static int osplookup_exec(struct ast_channel *chan, void *data)
int res=0;
struct localuser *u;
char *temp;
char *provider, *opts=NULL;
struct ast_osp_result result;
if (!data || ast_strlen_zero(data) || !(temp = ast_strdupa(data))) {
ast_log(LOG_WARNING, "OSPLookup requires an argument (extension)\n");
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(extension);
AST_APP_ARG(provider);
AST_APP_ARG(options);
);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "OSPLookup requires an argument OSPLookup(exten[|provider[|options]])\n");
return -1;
}
provider = strchr(temp, '|');
if (provider) {
*provider = '\0';
provider++;
opts = strchr(provider, '|');
if (opts) {
*opts = '\0';
opts++;
}
}
LOCAL_USER_ADD(u);
ast_log(LOG_DEBUG, "Whoo hoo, looking up OSP on '%s' via '%s'\n", temp, provider ? provider : "<default>");
if ((res = ast_osp_lookup(chan, provider, temp, chan->callerid, &result)) > 0) {
temp = ast_strdupa(data);
if (!temp) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, temp);
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
ast_log(LOG_DEBUG, "Whoo hoo, looking up OSP on '%s' via '%s'\n", args.extension, args.provider ? args.provider : "<default>");
if ((res = ast_osp_lookup(chan, args.provider, args.extension, chan->cid.cid_num, &result)) > 0) {
char tmp[80];
snprintf(tmp, sizeof(tmp), "%d", result.handle);
pbx_builtin_setvar_helper(chan, "OSPHANDLE", tmp);
pbx_builtin_setvar_helper(chan, "OSPTECH", result.tech);
pbx_builtin_setvar_helper(chan, "OSPDEST", result.dest);
pbx_builtin_setvar_helper(chan, "OSPTOKEN", result.token);
pbx_builtin_setvar_helper(chan, "_OSPHANDLE", tmp);
pbx_builtin_setvar_helper(chan, "_OSPTECH", result.tech);
pbx_builtin_setvar_helper(chan, "_OSPDEST", result.dest);
pbx_builtin_setvar_helper(chan, "_OSPTOKEN", result.token);
snprintf(tmp, sizeof(tmp), "%d", result.numresults);
pbx_builtin_setvar_helper(chan, "OSPRESULTS", tmp);
pbx_builtin_setvar_helper(chan, "_OSPRESULTS", tmp);
pbx_builtin_setvar_helper(chan, "OSPLOOKUPSTATUS", "SUCCESS");
} else {
if (!res)
ast_log(LOG_NOTICE, "OSP Lookup failed for '%s' (provider '%s')\n", temp, provider ? provider : "<default>");
else
ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Lookup for '%s' (provider '%s')!\n", chan->name, temp, provider ? provider : "<default>" );
if (!res) {
ast_log(LOG_NOTICE, "OSP Lookup failed for '%s' (provider '%s')\n", args.extension, args.provider ? args.provider : "<default>");
pbx_builtin_setvar_helper(chan, "OSPLOOKUPSTATUS", "FAILED");
} else
ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Lookup for '%s' (provider '%s')!\n", chan->name, args.extension, args.provider ? args.provider : "<default>" );
}
if (!res) {
/* Look for a "busy" place */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
} else if (res > 0)
res = 0;
LOCAL_USER_REMOVE(u);
@@ -142,23 +186,51 @@ static int ospnext_exec(struct ast_channel *chan, void *data)
char *temp;
int cause;
struct ast_osp_result result;
if (!data || ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "OSPNext should have an argument (cause)\n");
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(cause);
AST_APP_ARG(options);
);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "OSPNext should have an argument (cause[|options])\n");
return -1;
}
LOCAL_USER_ADD(u);
cause = str2cause((char *)data);
temp = ast_strdupa(data);
if (!temp) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, temp);
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
cause = str2cause(args.cause);
temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE");
result.handle = -1;
if (temp && strlen(temp) && (sscanf(temp, "%i", &result.handle) == 1) && (result.handle > -1)) {
if (!ast_strlen_zero(temp) && (sscanf(temp, "%d", &result.handle) == 1) && (result.handle > -1)) {
temp = pbx_builtin_getvar_helper(chan, "OSPRESULTS");
if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.numresults) != 1)) {
result.numresults = 0;
}
if ((res = ast_osp_next(&result, cause)) > 0) {
char tmp[80];
snprintf(tmp, sizeof(tmp), "%d", result.handle);
pbx_builtin_setvar_helper(chan, "OSPHANDLE", tmp);
pbx_builtin_setvar_helper(chan, "OSPTECH", result.tech);
pbx_builtin_setvar_helper(chan, "OSPDEST", result.dest);
pbx_builtin_setvar_helper(chan, "OSPTOKEN", result.token);
pbx_builtin_setvar_helper(chan, "_OSPHANDLE", tmp);
pbx_builtin_setvar_helper(chan, "_OSPTECH", result.tech);
pbx_builtin_setvar_helper(chan, "_OSPDEST", result.dest);
pbx_builtin_setvar_helper(chan, "_OSPTOKEN", result.token);
snprintf(tmp, sizeof(tmp), "%d", result.numresults);
pbx_builtin_setvar_helper(chan, "OSPRESULTS", tmp);
pbx_builtin_setvar_helper(chan, "_OSPRESULTS", tmp);
pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "SUCCESS");
}
} else {
if (!res) {
@@ -166,13 +238,14 @@ static int ospnext_exec(struct ast_channel *chan, void *data)
ast_log(LOG_NOTICE, "OSP Lookup Next failed for handle '%d'\n", result.handle);
else
ast_log(LOG_DEBUG, "No OSP handle specified\n");
pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "FAILED");
} else
ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Next!\n", chan->name);
}
if (!res) {
/* Look for a "busy" place */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
} else if (res > 0)
res = 0;
LOCAL_USER_REMOVE(u);
@@ -187,9 +260,33 @@ static int ospfinished_exec(struct ast_channel *chan, void *data)
int cause;
time_t start=0, duration=0;
struct ast_osp_result result;
if (!data || ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "OSPFinish should have an argument (cause)\n");
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(status);
AST_APP_ARG(options);
);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "OSPFinish should have an argument (status[|options])\n");
return -1;
}
LOCAL_USER_ADD(u);
temp = ast_strdupa(data);
if (!temp) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, temp);
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
if (chan->cdr) {
start = chan->cdr->answer.tv_sec;
if (start)
@@ -198,13 +295,14 @@ static int ospfinished_exec(struct ast_channel *chan, void *data)
duration = 0;
} else
ast_log(LOG_WARNING, "OSPFinish called on channel '%s' with no CDR!\n", chan->name);
LOCAL_USER_ADD(u);
cause = str2cause((char *)data);
cause = str2cause(args.status);
temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE");
result.handle = -1;
if (temp && strlen(temp) && (sscanf(temp, "%i", &result.handle) == 1) && (result.handle > -1)) {
if (!ast_strlen_zero(temp) && (sscanf(temp, "%d", &result.handle) == 1) && (result.handle > -1)) {
if (!ast_osp_terminate(result.handle, cause, start, duration)) {
pbx_builtin_setvar_helper(chan, "OSPHANDLE", "");
pbx_builtin_setvar_helper(chan, "_OSPHANDLE", "");
pbx_builtin_setvar_helper(chan, "OSPFINISHSTATUS", "SUCCESS");
res = 1;
}
} else {
@@ -213,13 +311,14 @@ static int ospfinished_exec(struct ast_channel *chan, void *data)
ast_log(LOG_NOTICE, "OSP Finish failed for handle '%d'\n", result.handle);
else
ast_log(LOG_DEBUG, "No OSP handle specified\n");
pbx_builtin_setvar_helper(chan, "OSPFINISHSTATUS", "FAILED");
} else
ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Terminate!\n", chan->name);
}
if (!res) {
/* Look for a "busy" place */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
} else if (res > 0)
res = 0;
LOCAL_USER_REMOVE(u);
@@ -230,26 +329,25 @@ static int ospfinished_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app3);
res |= ast_unregister_application(app2);
res |= ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_register_application(app, osplookup_exec, synopsis, descrip);
if (res)
return(res);
res = ast_register_application(app2, ospnext_exec, synopsis2, descrip2);
if (res)
return(res);
res = ast_register_application(app3, ospfinished_exec, synopsis3, descrip3);
if (res)
return(res);
return(0);
res |= ast_register_application(app2, ospnext_exec, synopsis2, descrip2);
res |= ast_register_application(app3, ospfinished_exec, synopsis3, descrip3);
return res;
}
int reload(void)

234
apps/app_page.c Normal file
View File

@@ -0,0 +1,234 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (c) 2004 - 2005 Digium, Inc. All rights reserved.
*
* Mark Spencer <markster@digium.com>
*
* This code is released under the GNU General Public License
* version 2.0. See LICENSE for more information.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
*
* \brief page() - Paging application
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/options.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/file.h"
#include "asterisk/app.h"
#include "asterisk/chanvars.h"
static const char *tdesc = "Page Multiple Phones";
static const char *app_page= "Page";
static const char *page_synopsis = "Pages phones";
static const char *page_descrip =
"Page(Technology/Resource&Technology2/Resource2[|options])\n"
" Places outbound calls to the given technology / resource and dumps\n"
"them into a conference bridge as muted participants. The original\n"
"caller is dumped into the conference as a speaker and the room is\n"
"destroyed when the original caller leaves. Valid options are:\n"
" d - full duplex audio\n"
" q - quiet, do not play beep to caller\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
enum {
PAGE_DUPLEX = (1 << 0),
PAGE_QUIET = (1 << 1),
} page_opt_flags;
AST_APP_OPTIONS(page_opts, {
AST_APP_OPTION('d', PAGE_DUPLEX),
AST_APP_OPTION('q', PAGE_QUIET),
});
struct calloutdata {
char cidnum[64];
char cidname[64];
char tech[64];
char resource[256];
char meetmeopts[64];
struct ast_variable *variables;
};
static void *page_thread(void *data)
{
struct calloutdata *cd = data;
ast_pbx_outgoing_app(cd->tech, AST_FORMAT_SLINEAR, cd->resource, 30000,
"MeetMe", cd->meetmeopts, NULL, 0, cd->cidnum, cd->cidname, cd->variables, NULL);
free(cd);
return NULL;
}
static void launch_page(struct ast_channel *chan, const char *meetmeopts, const char *tech, const char *resource)
{
struct calloutdata *cd;
const char *varname;
struct ast_variable *lastvar = NULL;
struct ast_var_t *varptr;
pthread_t t;
pthread_attr_t attr;
cd = malloc(sizeof(struct calloutdata));
if (cd) {
memset(cd, 0, sizeof(struct calloutdata));
ast_copy_string(cd->cidnum, chan->cid.cid_num ? chan->cid.cid_num : "", sizeof(cd->cidnum));
ast_copy_string(cd->cidname, chan->cid.cid_name ? chan->cid.cid_name : "", sizeof(cd->cidname));
ast_copy_string(cd->tech, tech, sizeof(cd->tech));
ast_copy_string(cd->resource, resource, sizeof(cd->resource));
ast_copy_string(cd->meetmeopts, meetmeopts, sizeof(cd->meetmeopts));
AST_LIST_TRAVERSE(&chan->varshead, varptr, entries) {
if (!(varname = ast_var_full_name(varptr)))
continue;
if (varname[0] == '_') {
struct ast_variable *newvar = NULL;
if (varname[1] == '_') {
newvar = ast_variable_new(varname, ast_var_value(varptr));
} else {
newvar = ast_variable_new(&varname[1], ast_var_value(varptr));
}
if (newvar) {
if (lastvar)
lastvar->next = newvar;
else
cd->variables = newvar;
lastvar = newvar;
}
}
}
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
if (ast_pthread_create(&t, &attr, page_thread, cd)) {
ast_log(LOG_WARNING, "Unable to create paging thread: %s\n", strerror(errno));
free(cd);
}
}
}
static int page_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
char *options;
char *tech, *resource;
char meetmeopts[80];
struct ast_flags flags = { 0 };
unsigned int confid = rand();
struct ast_app *app;
char *tmp;
int res=0;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "This application requires at least one argument (destination(s) to page)\n");
return -1;
}
LOCAL_USER_ADD(u);
if (!(app = pbx_findapp("MeetMe"))) {
ast_log(LOG_WARNING, "There is no MeetMe application available!\n");
LOCAL_USER_REMOVE(u);
return -1;
};
options = ast_strdupa(data);
if (!options) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
tmp = strsep(&options, "|");
if (options)
ast_app_parse_options(page_opts, &flags, NULL, options);
snprintf(meetmeopts, sizeof(meetmeopts), "%ud|%sqxdw", confid, ast_test_flag(&flags, PAGE_DUPLEX) ? "" : "m");
while ((tech = strsep(&tmp, "&"))) {
if ((resource = strchr(tech, '/'))) {
*resource++ = '\0';
launch_page(chan, meetmeopts, tech, resource);
} else {
ast_log(LOG_WARNING, "Incomplete destination '%s' supplied.\n", tech);
}
}
if (!ast_test_flag(&flags, PAGE_QUIET)) {
res = ast_streamfile(chan, "beep", chan->language);
if (!res)
res = ast_waitstream(chan, "");
}
if (!res) {
snprintf(meetmeopts, sizeof(meetmeopts), "%ud|A%sqxd", confid, ast_test_flag(&flags, PAGE_DUPLEX) ? "" : "t");
pbx_exec(chan, app, meetmeopts, 1);
}
LOCAL_USER_REMOVE(u);
return -1;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app_page);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app_page, page_exec, page_synopsis, page_descrip);
}
char *description(void)
{
return (char *) tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

94
apps/app_parkandannounce.c Executable file → Normal file
View File

@@ -1,36 +1,51 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* ParkAndAnnounce application for Asterisk
* Author: Ben Miller <bgmiller@dccinc.com>
* With TONS of help from Mark!
*
* Asterisk is Copyrighted as follows
* Copyright (C) 1999, Mark Spencer
*
* Mark Spencer <markster@linux-support.net>
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <sys/types.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/channel_pvt.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/features.h>
#include <asterisk/options.h>
#include <asterisk/logger.h>
#include <asterisk/say.h>
#include <asterisk/lock.h>
/*! \file
*
* \brief ParkAndAnnounce application for Asterisk
*
* \ingroup applications
*/
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/features.h"
#include "asterisk/options.h"
#include "asterisk/logger.h"
#include "asterisk/say.h"
#include "asterisk/lock.h"
static char *tdesc = "Call Parking and Announce Application";
@@ -41,7 +56,7 @@ static char *synopsis = "Park and Announce";
static char *descrip =
" ParkAndAnnounce(announce:template|timeout|dial|[return_context]):\n"
"Park a call into the parkinglot and announce the call over the console.\n"
"announce template: colon seperated list of files to announce, the word PARKED\n"
"announce template: colon separated list of files to announce, the word PARKED\n"
" will be replaced by a say_digits of the ext the call is parked in\n"
"timeout: time in seconds before the call returns into the return context.\n"
"dial: The app_dial style resource to call to make the announcement. Console/dsp calls the console.\n"
@@ -64,18 +79,23 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
char *s,*orig_s;
struct ast_channel *dchan;
struct outgoing_helper oh;
int outstate;
struct localuser *u;
if(!data || (data && !strlen(data))) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "ParkAndAnnounce requires arguments: (announce:template|timeout|dial|[return_context])\n");
return -1;
}
LOCAL_USER_ADD(u);
l=strlen(data)+2;
orig_s=malloc(l);
if(!orig_s) {
ast_log(LOG_WARNING, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
s=orig_s;
@@ -85,6 +105,7 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
if(! template) {
ast_log(LOG_WARNING, "PARK: An announce template must be defined\n");
free(orig_s);
LOCAL_USER_REMOVE(u);
return -1;
}
@@ -94,8 +115,9 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
}
dial=strsep(&s, "|");
if(!dial) {
ast_log(LOG_WARNING, "PARK: A dial resouce must be specified i.e: Console/dsp or Zap/g1/5551212\n");
ast_log(LOG_WARNING, "PARK: A dial resource must be specified i.e: Console/dsp or Zap/g1/5551212\n");
free(orig_s);
LOCAL_USER_REMOVE(u);
return -1;
} else {
dialtech=strsep(&dial, "/");
@@ -128,6 +150,7 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
if(atoi(priority) < 0) {
ast_log(LOG_WARNING, "Priority '%s' must be a number > 0\n", priority);
free(orig_s);
LOCAL_USER_REMOVE(u);
return -1;
}
/* At this point we have a priority and maybe an extension and a context */
@@ -140,16 +163,13 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
chan->priority++;
}
if(option_verbose > 2) {
ast_verbose( VERBOSE_PREFIX_3 "Return Context: (%s,%s,%d) ID: %s\n", chan->context,chan->exten, chan->priority, chan->callerid);
if(!ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->callerid)) {
ast_verbose( VERBOSE_PREFIX_3 "Return Context: (%s,%s,%d) ID: %s\n", chan->context,chan->exten, chan->priority, chan->cid.cid_num);
if(!ast_exists_extension(chan, chan->context, chan->exten, chan->priority, chan->cid.cid_num)) {
ast_verbose( VERBOSE_PREFIX_3 "Warning: Return Context Invalid, call will return to default|s\n");
}
}
LOCAL_USER_ADD(u);
/* we are using masq_park here to protect * from touching the channel once we park it. If the channel comes out of timeout
before we are done announcing and the channel is messed with, Kablooeee. So we use Masq to prevent this. */
@@ -161,7 +181,9 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
/* Now place the call to the extention */
dchan = ast_request_and_dial(dialtech, AST_FORMAT_SLINEAR, dialstr,30000, &outstate, chan->callerid);
memset(&oh, 0, sizeof(oh));
oh.parent_channel = chan;
dchan = __ast_request_and_dial(dialtech, AST_FORMAT_SLINEAR, dialstr,30000, &outstate, chan->cid.cid_num, chan->cid.cid_name, &oh);
if(dchan) {
if(dchan->_state == AST_STATE_UP) {
@@ -215,9 +237,10 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
ast_stopstream(dchan);
ast_hangup(dchan);
LOCAL_USER_REMOVE(u);
free(orig_s);
LOCAL_USER_REMOVE(u);
return res;
}
@@ -225,8 +248,13 @@ static int parkandannounce_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

148
apps/app_playback.c Executable file → Normal file
View File

@@ -1,43 +1,68 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Trivial application to playback a sound file
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Trivial application to playback a sound file
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/utils.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
static char *tdesc = "Trivial Playback Application";
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/utils.h"
#include "asterisk/options.h"
#include "asterisk/app.h"
static char *tdesc = "Sound File Playback Application";
static char *app = "Playback";
static char *synopsis = "Play a file";
static char *descrip =
" Playback(filename[|option]): Plays back a given filename (do not put\n"
"extension). Options may also be included following a pipe symbol. The 'skip'\n"
"option causes the playback of the message to be skipped if the channel\n"
"is not in the 'up' state (i.e. it hasn't been answered yet. If 'skip' is \n"
" Playback(filename[&filename2...][|option]): Plays back given filenames (do not put\n"
"extension). Options may also be included following a pipe symbol. The 'skip'\n"
"option causes the playback of the message to be skipped if the channel\n"
"is not in the 'up' state (i.e. it hasn't been answered yet). If 'skip' is \n"
"specified, the application will return immediately should the channel not be\n"
"off hook. Otherwise, unless 'noanswer' is specified, the channel channel will\n"
"off hook. Otherwise, unless 'noanswer' is specified, the channel will\n"
"be answered before the sound is played. Not all channels support playing\n"
"messages while still hook. Returns -1 if the channel was hung up, or if the\n"
"file does not exist. Returns 0 otherwise.\n";
"messages while still on hook. If 'j' is specified, the application\n"
"will jump to priority n+101 if present when a file specified to be played\n"
"does not exist.\n"
"This application sets the following channel variable upon completion:\n"
" PLAYBACKSTATUS The status of the playback attempt as a text string, one of\n"
" SUCCESS | FAILED\n"
;
STANDARD_LOCAL_USER;
@@ -45,26 +70,43 @@ LOCAL_USER_DECL;
static int playback_exec(struct ast_channel *chan, void *data)
{
int res = 0;
int res = 0, mres = 0;
struct localuser *u;
char tmp[256];
char *options;
char *tmp = NULL;
int option_skip=0;
int option_noanswer = 0;
char *stringp;
if (!data || ast_strlen_zero((char *)data)) {
char *front = NULL, *back = NULL;
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(filenames);
AST_APP_ARG(options);
);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Playback requires an argument (filename)\n");
return -1;
}
strncpy(tmp, (char *)data, sizeof(tmp)-1);
stringp=tmp;
strsep(&stringp, "|");
options = strsep(&stringp, "|");
if (options && !strcasecmp(options, "skip"))
option_skip = 1;
if (options && !strcasecmp(options, "noanswer"))
option_noanswer = 1;
LOCAL_USER_ADD(u);
tmp = ast_strdupa(data);
if (!tmp) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, tmp);
if (args.options) {
if (strcasestr(args.options, "skip"))
option_skip = 1;
if (strcasestr(args.options, "noanswer"))
option_noanswer = 1;
if (strchr(args.options, 'j'))
priority_jump = 1;
}
if (chan->_state != AST_STATE_UP) {
if (option_skip) {
/* At the user's option, skip if the line is not up */
@@ -76,14 +118,29 @@ static int playback_exec(struct ast_channel *chan, void *data)
}
if (!res) {
ast_stopstream(chan);
res = ast_streamfile(chan, tmp, chan->language);
if (!res)
res = ast_waitstream(chan, "");
else {
ast_log(LOG_WARNING, "ast_streamfile failed on %s for %s\n", chan->name, (char *)data);
res = 0;
front = tmp;
while (!res && front) {
if ((back = strchr(front, '&'))) {
*back = '\0';
back++;
}
res = ast_streamfile(chan, front, chan->language);
if (!res) {
res = ast_waitstream(chan, "");
ast_stopstream(chan);
} else {
ast_log(LOG_WARNING, "ast_streamfile failed on %s for %s\n", chan->name, (char *)data);
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
res = 0;
mres = 1;
}
front = back;
}
ast_stopstream(chan);
if (mres)
pbx_builtin_setvar_helper(chan, "PLAYBACKSTATUS", "FAILED");
else
pbx_builtin_setvar_helper(chan, "PLAYBACKSTATUS", "SUCCESS");
}
LOCAL_USER_REMOVE(u);
return res;
@@ -91,8 +148,13 @@ static int playback_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

206
apps/app_privacy.c Executable file → Normal file
View File

@@ -1,30 +1,49 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Block all calls without Caller*ID, require phone # to be entered
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Block all calls without Caller*ID, require phone # to be entered
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/callerid.h>
#include <asterisk/app.h>
#include <asterisk/config.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/utils.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
#include "asterisk/app.h"
#include "asterisk/config.h"
#define PRIV_CONFIG "privacy.conf"
@@ -35,40 +54,56 @@ static char *app = "PrivacyManager";
static char *synopsis = "Require phone number to be entered, if no CallerID sent";
static char *descrip =
" PrivacyManager: If no Caller*ID is sent, PrivacyManager answers the\n"
"channel and asks the caller to enter their 10 digit phone number.\n"
"The caller is given 3 attempts. If after 3 attempts, they do not enter\n"
"their 10 digit phone number, and if there exists a priority n + 101,\n"
"where 'n' is the priority of the current instance, then the\n"
"channel will be setup to continue at that priority level.\n"
"Otherwise, it returns 0. Does nothing if Caller*ID was received on the\n"
"channel.\n";
" PrivacyManager([maxretries[|minlength[|options]]]): If no Caller*ID \n"
"is sent, PrivacyManager answers the channel and asks the caller to\n"
"enter their phone number. The caller is given 3 attempts to do so.\n"
"The application does nothing if Caller*ID was received on the channel.\n"
" Configuration file privacy.conf contains two variables:\n"
" maxretries default 3 -maximum number of attempts the caller is allowed \n"
" to input a callerid.\n"
" minlength default 10 -minimum allowable digits in the input callerid number.\n"
"If you don't want to use the config file and have an i/o operation with\n"
"every call, you can also specify maxretries and minlength as application\n"
"parameters. Doing so supercedes any values set in privacy.conf.\n"
"The option string may contain the following character: \n"
" 'j' -- jump to n+101 priority after <maxretries> failed attempts to collect\n"
" the minlength number of digits.\n"
"The application sets the following channel variable upon completion: \n"
"PRIVACYMGRSTATUS The status of the privacy manager's attempt to collect \n"
" a phone number from the user. A text string that is either:\n"
" SUCCESS | FAILED \n"
;
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int
privacy_exec (struct ast_channel *chan, void *data)
static int privacy_exec (struct ast_channel *chan, void *data)
{
int res=0;
int retries;
int maxretries = 3;
int x;
int minlength = 10;
int x = 0;
char *s;
char phone[10];
char new_cid[144];
char phone[30];
struct localuser *u;
struct ast_config *cfg;
struct ast_config *cfg = NULL;
char *parse = NULL;
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(maxretries);
AST_APP_ARG(minlength);
AST_APP_ARG(options);
);
LOCAL_USER_ADD (u);
if (chan->callerid)
{
if (!ast_strlen_zero(chan->cid.cid_num)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "CallerID Present: Skipping\n");
}
else
{
} else {
/*Answer the channel if it is not already*/
if (chan->_state != AST_STATE_UP) {
res = ast_answer(chan);
@@ -77,9 +112,55 @@ privacy_exec (struct ast_channel *chan, void *data)
return -1;
}
}
/*Read in the config file*/
cfg = ast_load(PRIV_CONFIG);
if (!ast_strlen_zero((char *)data))
{
parse = ast_strdupa(data);
if (!parse) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
AST_STANDARD_APP_ARGS(args, parse);
if (args.maxretries) {
if (sscanf(args.maxretries, "%d", &x) == 1)
maxretries = x;
else
ast_log(LOG_WARNING, "Invalid max retries argument\n");
}
if (args.minlength) {
if (sscanf(args.minlength, "%d", &x) == 1)
minlength = x;
else
ast_log(LOG_WARNING, "Invalid min length argument\n");
}
if (args.options)
if (strchr(args.options, 'j'))
priority_jump = 1;
}
if (!x)
{
/*Read in the config file*/
cfg = ast_config_load(PRIV_CONFIG);
if (cfg && (s = ast_variable_retrieve(cfg, "general", "maxretries"))) {
if (sscanf(s, "%d", &x) == 1)
maxretries = x;
else
ast_log(LOG_WARNING, "Invalid max retries argument\n");
}
if (cfg && (s = ast_variable_retrieve(cfg, "general", "minlength"))) {
if (sscanf(s, "%d", &x) == 1)
minlength = x;
else
ast_log(LOG_WARNING, "Invalid min length argument\n");
}
}
/*Play unidentified call*/
res = ast_safe_sleep(chan, 1000);
@@ -88,23 +169,21 @@ privacy_exec (struct ast_channel *chan, void *data)
if (!res)
res = ast_waitstream(chan, "");
if (cfg && (s = ast_variable_retrieve(cfg, "general", "maxretries"))) {
if (sscanf(s, "%d", &x) == 1) {
maxretries = x;
} else {
ast_log(LOG_WARNING, "Invalid max retries argument\n");
}
}
/*Ask for 10 digit number, give 3 attempts*/
for (retries = 0; retries < maxretries; retries++) {
if (!res)
res = ast_app_getdata(chan, "privacy-prompt", phone, sizeof(phone), 0);
res = ast_streamfile(chan, "privacy-prompt", chan->language);
if (!res)
res = ast_waitstream(chan, "");
if (!res )
res = ast_readstring(chan, phone, sizeof(phone) - 1, /* digit timeout ms */ 3200, /* first digit timeout */ 5000, "#");
if (res < 0)
break;
/*Make sure we get 10 digits*/
if (strlen(phone) == 10)
/*Make sure we get at least digits*/
if (strlen(phone) >= minlength )
break;
else {
res = ast_streamfile(chan, "privacy-incorrect", chan->language);
@@ -114,21 +193,21 @@ privacy_exec (struct ast_channel *chan, void *data)
}
/*Got a number, play sounds and send them on their way*/
if ((retries < maxretries) && !res) {
if ((retries < maxretries) && !res ) {
res = ast_streamfile(chan, "privacy-thankyou", chan->language);
if (!res)
res = ast_waitstream(chan, "");
snprintf (new_cid, sizeof (new_cid), "\"%s\" <%s>", "Privacy Manager", phone);
ast_set_callerid (chan, new_cid, 0);
ast_set_callerid (chan, phone, "Privacy Manager", NULL);
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID to %s\n",new_cid);
ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID to %s\n",phone);
pbx_builtin_setvar_helper(chan, "PRIVACYMGRSTATUS", "SUCCESS");
} else {
/*Send the call to n+101 priority, where n is the current priority*/
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority+=100;
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
pbx_builtin_setvar_helper(chan, "PRIVACYMGRSTATUS", "FAILED");
}
if (cfg)
ast_destroy(cfg);
ast_config_destroy(cfg);
}
LOCAL_USER_REMOVE (u);
@@ -138,8 +217,13 @@ privacy_exec (struct ast_channel *chan, void *data)
int
unload_module (void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application (app);
int res;
res = ast_unregister_application (app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int

View File

@@ -1,394 +0,0 @@
/** @file app_qcall.c
*
* Asterisk -- A telephony toolkit for Linux.
*
* Call back a party and connect them to a running pbx thread
*
* Copyright (C) 1999, Mark Spencer
*
* Mark Spencer <markster@linux-support.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*
* Call a user from a file contained within a queue (/var/spool/asterisk/qcall)
*
* The queue is a directory containing files with the call request information
* as a single line of text as follows:
*
* Dialstring Caller-ID Extension Maxsecs [Identifier] [Required-response]
*
* Dialstring -- A Dial String (The number to be called) in the
* format Technology/Number, such IAX/mysys/1234 or Zap/g1/1234
*
* Caller-ID -- A Standard nomalized representation of the Caller-ID of
* the number being dialed (generally 10 digits in the US). Leave as
* "asreceived" to use the default Caller*ID
*
* Extension -- The Extension (optionally Extension@context) that the
* user should be "transferred" to after acceptance of the call.
*
* Maxsecs -- The Maximum time of the call in seconds. Specify 0 for infinite.
*
* Identifier -- The "Identifier" of the request. This is used to determine
* the names of the audio prompt files played. The first prompt, the one that
* asks for the input, is just the exact string specified as the identifier.
* The second prompt, the one that is played after the correct input is given,
* (generally a "thank you" recording), is the specified string with "-ok"
* added to the end. So, if you specify "foo" as the identifier, your first
* prompt file that will be played will be "foo" and the second one will be
* "foo-ok". If omitted no prompt is given
*
* Required-Response (Optional) -- Specify a digit string to be used as the
* acceptance "code" if you desire it to be something other then "1". This
* can be used to implement some sort of PIN or security system. It may be
* more then a single character.
*
* NOTE: It is important to remember that the process that creates these
* files needs keep and maintain a write lock (using flock with the LOCK_EX
* option) when writing these files.
*
*/
#include <asterisk/lock.h>
#include <asterisk/utils.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/options.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <dirent.h>
#include <ctype.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/file.h>
#include "../astconf.h"
static char qdir[255];
static char *tdesc = "Call from Queue";
static pthread_t qcall_thread;
static int debug = 0;
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define OLDESTOK 14400 /* not any more then this number of secs old */
#define INITIALONE 1 /* initial wait before the first one in secs */
#define NEXTONE 600 /* wait before trying it again in secs */
#define MAXWAITFORANSWER 45000 /* max call time before answer */
/* define either one or both of these two if your application requires it */
#if 0
#define ACCTCODE "SOMETHING" /* Account code */
#define AMAFLAGS AST_CDR_BILLING /* AMA flags */
#endif
/* define this if you want to have a particular CLID display on the user's
phone when they receive the call */
#if 0
#define OURCLID "2564286275" /* The callerid to be displayed when calling */
#endif
static void *qcall_do(void *arg);
static void *qcall(void *ignore)
{
pthread_t dialer_thread;
DIR *dirp;
FILE *fp;
struct dirent *dp;
char fname[80];
struct stat mystat;
time_t t;
void *arg;
pthread_attr_t attr;
time(&t);
if (debug) printf("@@@@ qcall starting at %s",ctime(&t));
for(;;)
{
time(&t);
dirp = opendir(qdir);
if (!dirp)
{
perror("app_qcall:Cannot open queue directory");
break;
}
while((dp = readdir(dirp)) != NULL)
{
if (dp->d_name[0] == '.') continue;
snprintf(fname, sizeof(fname), "%s/%s", qdir, dp->d_name);
if (stat(fname,&mystat) == -1)
{
perror("app_qcall:stat");
fprintf(stderr,"%s\n",fname);
continue;
}
/* if not a regular file, skip it */
if ((mystat.st_mode & S_IFMT) != S_IFREG) continue;
/* if not yet .... */
if (mystat.st_atime == mystat.st_mtime)
{ /* first time */
if ((mystat.st_atime + INITIALONE) > t)
continue;
}
else
{ /* already looked at once */
if ((mystat.st_atime + NEXTONE) > t) continue;
}
/* if too old */
if (mystat.st_mtime < (t - OLDESTOK))
{
/* kill it, its too old */
unlink(fname);
continue;
}
/* "touch" file's access time */
fp = fopen(fname,"r");
if (fp) fclose(fp);
/* make a copy of the filename string, so that we
may go on and use the buffer */
arg = (void *) strdup(fname);
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
if (ast_pthread_create(&dialer_thread,&attr,qcall_do,arg) == -1)
{
perror("qcall: Cannot create thread");
continue;
}
}
closedir(dirp);
sleep(1);
}
pthread_exit(NULL);
}
/* single thread with one file (request) to dial */
static void *qcall_do(void *arg)
{
char fname[300] = "";
char dialstr[300];
char extstr[300];
char ident[300] = "";
char reqinp[300] = "";
char buf[300];
char clid[300],*tele,*context;
FILE *fp;
int ms = MAXWAITFORANSWER,maxsecs;
struct ast_channel *channel;
time_t t;
/* get the filename from the arg */
strncpy(fname,(char *)arg, sizeof(fname) - 1);
free(arg);
time(&t);
fp = fopen(fname,"r");
if (!fp) /* if cannot open request file */
{
perror("qcall_do:fopen");
fprintf(stderr,"%s\n",fname);
unlink(fname);
pthread_exit(NULL);
}
/* lock the file */
if (flock(fileno(fp),LOCK_EX) == -1)
{
perror("qcall_do:flock");
fprintf(stderr,"%s\n",fname);
pthread_exit(NULL);
}
/* default required input for acknowledgement */
reqinp[0] = '1';
reqinp[1] = '\0';
/* default no ident */
ident[0] = '\0'; /* default no ident */
if (fscanf(fp,"%s %s %s %d %s %s",dialstr,clid,
extstr,&maxsecs,ident,reqinp) < 4)
{
fprintf(stderr,"qcall_do:file line invalid in file %s:\n",fname);
pthread_exit(NULL);
}
flock(fileno(fp),LOCK_UN);
fclose(fp);
tele = strchr(dialstr,'/');
if (!tele)
{
fprintf(stderr,"qcall_do:Dial number must be in format tech/number\n");
unlink(fname);
pthread_exit(NULL);
}
*tele++ = 0;
channel = ast_request(dialstr,AST_FORMAT_SLINEAR,tele);
if (channel)
{
ast_set_read_format(channel,AST_FORMAT_SLINEAR);
ast_set_write_format(channel,AST_FORMAT_SLINEAR);
#ifdef OURCLID
if (channel->callerid)
free(channel->callerid);
channel->callerid = strdup(OURCLID);
if (channel->ani)
free(channel->ani);
channel->ani = strdup(OURCLID);
#endif
channel->whentohangup = 0;
channel->appl = "AppQcall";
channel->data = "(Outgoing Line)";
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Qcall initiating call to %s/%s on %s (%s)\n",
dialstr,tele,channel->name,fname);
ast_call(channel,tele,MAXWAITFORANSWER);
}
else
{
fprintf(stderr,"qcall_do:Sorry unable to obtain channel\n");
pthread_exit(NULL);
}
if (strcasecmp(clid, "asreceived")) {
if (channel->callerid) free(channel->callerid);
channel->callerid = NULL;
if (channel->ani) free(channel->ani);
channel->ani = NULL;
}
if (channel->_state == AST_STATE_UP)
if (debug) printf("@@@@ Autodial:Line is Up\n");
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Qcall waiting for answer on %s\n",
channel->name);
while(ms > 0){
struct ast_frame *f;
ms = ast_waitfor(channel,ms);
f = ast_read(channel);
if (!f)
{
if (debug) printf("@@@@ qcall_do:Hung Up\n");
unlink(fname);
break;
}
if (f->frametype == AST_FRAME_CONTROL)
{
if (f->subclass == AST_CONTROL_HANGUP)
{
if (debug) printf("@@@@ qcall_do:Hung Up\n");
unlink(fname);
ast_frfree(f);
break;
}
if (f->subclass == AST_CONTROL_ANSWER)
{
if (debug) printf("@@@@ qcall_do:Phone Answered\n");
if (channel->_state == AST_STATE_UP)
{
unlink(fname);
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Qcall got answer on %s\n",
channel->name);
usleep(1500000);
if (strlen(ident)) {
ast_streamfile(channel,ident,0);
if (ast_readstring(channel,buf,strlen(reqinp),10000,5000,"#"))
{
ast_stopstream(channel);
if (debug) printf("@@@@ qcall_do: timeout or hangup in dtmf read\n");
ast_frfree(f);
break;
}
ast_stopstream(channel);
if (strcmp(buf,reqinp)) /* if not match */
{
if (debug) printf("@@@@ qcall_do: response (%s) does not match required (%s)\n",buf,reqinp);
ast_frfree(f);
break;
}
ast_frfree(f);
}
/* okay, now we go for it */
context = strchr(extstr,'@');
if (!context) context = "default";
else *context++ = 0;
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Qcall got accept, now putting through to %s@%s on %s\n",
extstr,context,channel->name);
if (strlen(ident)) {
strncat(ident,"-ok", sizeof(ident) - strlen(ident) - 1);
/* if file existant, play it */
if (!ast_streamfile(channel,ident,0))
{
ast_waitstream(channel,"");
ast_stopstream(channel);
}
}
if (strcasecmp(clid, "asreceived")) {
channel->callerid = strdup(clid);
channel->ani = strdup(clid);
}
channel->language[0] = 0;
channel->dnid = strdup(extstr);
#ifdef AMAFLAGS
channel->amaflags = AMAFLAGS;
#endif
#ifdef ACCTCODE
strncpy(channel->accountcode, ACCTCODE, sizeof(chan->accountcode) - 1);
#else
channel->accountcode[0] = 0;
#endif
if (maxsecs) /* if finite length call */
{
time(&channel->whentohangup);
channel->whentohangup += maxsecs;
}
strncpy(channel->exten, extstr, sizeof(channel->exten) - 1);
strncpy(channel->context, context, sizeof(channel->context) - 1);
channel->priority = 1;
if(debug) printf("Caller ID is %s\n", channel->callerid);
ast_pbx_run(channel);
pthread_exit(NULL);
}
}
else if(f->subclass==AST_CONTROL_RINGING)
if (debug) printf("@@@@ qcall_do:Phone Ringing end\n");
}
ast_frfree(f);
}
ast_hangup(channel);
if (debug) printf("@@@@ qcall_do:Hung up channel\n");
pthread_exit(NULL);
return NULL;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return 0;
}
int load_module(void)
{
snprintf(qdir, sizeof(qdir), "%s/%s", ast_config_AST_SPOOL_DIR, "qcall");
mkdir(qdir,0760);
ast_pthread_create(&qcall_thread,NULL,qcall,NULL);
return 0;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

3105
apps/app_queue.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

99
apps/app_random.c Executable file → Normal file
View File

@@ -1,27 +1,43 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Random application
*
* Copyright (c) 2003-2004 Tilghman Lesher. All rights reserved.
* Copyright (c) 2003 - 2005 Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <asterisk__app_random__20040111@the-tilghman.com>
* Tilghman Lesher <asterisk__app_random__200508@the-tilghman.com>
*
* This code is released by the author with no restrictions on usage or distribution.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
*
* \brief Random application
*
* \author Tilghman Lesher <asterisk__app_random__200508@the-tilghman.com>
* \ingroup applications
*/
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
static char *tdesc = "Random goto";
@@ -37,76 +53,59 @@ STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static char random_state[256];
static int random_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s;
char *exten, *pri, *context;
char *prob;
int probint, priorityint;
if (!data) {
int probint;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Random requires an argument ([probability]:[[context|]extension|]priority)\n");
return -1;
}
LOCAL_USER_ADD(u);
s = ast_strdupa((void *) data);
s = ast_strdupa(data);
if (!s) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
prob = strsep(&s,":");
if ((!prob) || (sscanf(prob, "%d", &probint) != 1))
probint = 0;
if ((random() % 100) + probint > 100) {
context = strsep(&s, "|");
exten = strsep(&s, "|");
if (!exten) {
/* Only a priority */
pri = context;
exten = NULL;
context = NULL;
} else {
pri = strsep(&s, "|");
if (!pri) {
pri = exten;
exten = context;
context = NULL;
}
}
if (!pri) {
ast_log(LOG_WARNING, "No label specified\n");
LOCAL_USER_REMOVE(u);
return -1;
} else if (sscanf(pri, "%d", &priorityint) != 1) {
ast_log(LOG_WARNING, "Priority '%s' must be a number > 0\n", pri);
LOCAL_USER_REMOVE(u);
return -1;
}
/* At this point we have a priority and */
/* maybe an extension and a context */
chan->priority = priorityint - 1;
if (exten && strcasecmp(exten, "BYEXTENSION"))
strncpy(chan->exten, exten, sizeof(chan->exten)-1);
if (context)
strncpy(chan->context, context, sizeof(chan->context)-1);
res = ast_parseable_goto(chan, s);
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Random branches to (%s,%s,%d)\n",
chan->context,chan->exten, chan->priority+1);
LOCAL_USER_REMOVE(u);
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app_random);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_random);
return res;
}
int load_module(void)
{
srandom((unsigned int)getpid() + (unsigned int)time(NULL));
initstate((getppid() * 65535 + getpid()) % RAND_MAX, random_state, 256);
return ast_register_application(app_random, random_exec, random_synopsis, random_descrip);
}

208
apps/app_read.c Executable file → Normal file
View File

@@ -1,28 +1,46 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Trivial application to read a variable
*
* Copyright (C) 2003, Digium
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Trivial application to read a variable
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/app.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/options.h>
#include <asterisk/utils.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/options.h"
#include "asterisk/utils.h"
static char *tdesc = "Read Variable Application";
@@ -31,64 +49,117 @@ static char *app = "Read";
static char *synopsis = "Read a variable";
static char *descrip =
" Read(variable[|filename][|maxdigits][|option])\n\n"
"Reads a #-terminated string of digits from the user in to the given variable,\n"
"optionally playing a given filename first.\n"
" Read(variable[|filename][|maxdigits][|option][|attempts][|timeout])\n\n"
"Reads a #-terminated string of digits a certain number of times from the\n"
"user in to the given variable.\n"
" filename -- file to play before reading digits.\n"
" maxdigits -- maximum acceptable number of digits. Stops reading after\n"
" maxdigits have been entered (without requiring the user to\n"
" press the '#' key).\n"
" Defaults to 0 - no limit - wait for the user press the '#' key.\n"
" Any value below 0 means the same. Max accepted value is 255.\n"
" option -- may be 'skip' to return immediately if the line is not up,\n"
" or 'noanswer' to read digits even if the line is not up.\n\n"
"Returns -1 on hangup or error and 0 otherwise.\n";
" or 'noanswer' to read digits even if the line is not up.\n"
" attempts -- if greater than 1, that many attempts will be made in the \n"
" event no data is entered.\n"
" timeout -- if greater than 0, that value will override the default timeout.\n\n"
"Read should disconnect if the function fails or errors out.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define ast_next_data(instr,ptr,delim) if((ptr=strchr(instr,delim))) { *(ptr) = '\0' ; ptr++;}
static int read_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
char tmp[256];
char argdata[256] = "";
char *varname;
char *filename;
char *stringp;
char *maxdigitstr;
char *options;
char *timeout = NULL;
char *varname = NULL;
char *filename = NULL;
char *loops;
char *maxdigitstr=NULL;
char *options=NULL;
int option_skip = 0;
int option_noanswer = 0;
int maxdigits=255;
if (!data || ast_strlen_zero((char *)data)) {
int tries = 1;
int to = 0;
int x = 0;
char *argcopy = NULL;
char *args[8];
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "Read requires an argument (variable)\n");
return -1;
}
strncpy(argdata, (char *)data, sizeof(argdata)-1);
stringp=argdata;
varname = strsep(&stringp, "|");
filename = strsep(&stringp, "|");
maxdigitstr = strsep(&stringp,"|");
options = strsep(&stringp, "|");
if (options && !strcasecmp(options, "skip"))
option_skip = 1;
if (options && !strcasecmp(options, "noanswer"))
option_noanswer = 1;
if (!(filename) || ast_strlen_zero(filename))
filename = NULL;
if (maxdigitstr) {
maxdigits = atoi(maxdigitstr);
if ((maxdigits<1) || (maxdigits>255)) {
maxdigits = 255;
} else
ast_verbose(VERBOSE_PREFIX_3 "Accepting a maximum of %i digits.\n", maxdigits);
}
if (!(varname) || ast_strlen_zero(varname)) {
ast_log(LOG_WARNING, "Read requires an variable name\n");
LOCAL_USER_ADD(u);
argcopy = ast_strdupa(data);
if (!argcopy) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
LOCAL_USER_ADD(u);
if (ast_app_separate_args(argcopy, '|', args, sizeof(args) / sizeof(args[0])) < 1) {
ast_log(LOG_WARNING, "Cannot Parse Arguments.\n");
LOCAL_USER_REMOVE(u);
return -1;
}
varname = args[x++];
filename = args[x++];
maxdigitstr = args[x++];
options = args[x++];
loops = args[x++];
timeout = args[x++];
if (options) {
if (!strcasecmp(options, "skip"))
option_skip = 1;
else if (!strcasecmp(options, "noanswer"))
option_noanswer = 1;
else {
if (strchr(options, 's'))
option_skip = 1;
if (strchr(options, 'n'))
option_noanswer = 1;
}
}
if(loops) {
tries = atoi(loops);
if(tries <= 0)
tries = 1;
}
if(timeout) {
to = atoi(timeout);
if (to <= 0)
to = 0;
else
to *= 1000;
}
if (ast_strlen_zero(filename))
filename = NULL;
if (maxdigitstr) {
maxdigits = atoi(maxdigitstr);
if ((maxdigits<1) || (maxdigits>255)) {
maxdigits = 255;
} else if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Accepting a maximum of %d digits.\n", maxdigits);
}
if (ast_strlen_zero(varname)) {
ast_log(LOG_WARNING, "Invalid! Usage: Read(variable[|filename][|maxdigits][|option][|attempts][|timeout])\n\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (chan->_state != AST_STATE_UP) {
if (option_skip) {
/* At the user's option, skip if the line is not up */
@@ -101,13 +172,29 @@ static int read_exec(struct ast_channel *chan, void *data)
}
}
if (!res) {
ast_stopstream(chan);
res = ast_app_getdata(chan, filename, tmp, maxdigits, 0);
if (res > -1) {
pbx_builtin_setvar_helper(chan, varname, tmp);
ast_verbose(VERBOSE_PREFIX_3 "User entered '%s'\n", tmp);
} else {
ast_verbose(VERBOSE_PREFIX_3 "User entered nothing\n");
while(tries && !res) {
ast_stopstream(chan);
res = ast_app_getdata(chan, filename, tmp, maxdigits, to);
if (res > -1) {
pbx_builtin_setvar_helper(chan, varname, tmp);
if (!ast_strlen_zero(tmp)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "User entered '%s'\n", tmp);
tries = 0;
} else {
tries--;
if (option_verbose > 2) {
if (tries)
ast_verbose(VERBOSE_PREFIX_3 "User entered nothing, %d chance%s left\n", tries, (tries != 1) ? "s" : "");
else
ast_verbose(VERBOSE_PREFIX_3 "User entered nothing.\n");
}
}
res = 0;
} else {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "User disconnected\n");
}
}
}
LOCAL_USER_REMOVE(u);
@@ -116,8 +203,13 @@ static int read_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

143
apps/app_readfile.c Normal file
View File

@@ -0,0 +1,143 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Matt O'Gorman <mogorman@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief ReadFile application -- Reads in a File for you.
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/module.h"
static char *tdesc = "Stores output of file into a variable";
static char *app_readfile = "ReadFile";
static char *readfile_synopsis = "ReadFile(varname=file,length)";
static char *readfile_descrip =
"ReadFile(varname=file,length)\n"
" Varname - Result stored here.\n"
" File - The name of the file to read.\n"
" Length - Maximum number of characters to capture.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int readfile_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s, *varname=NULL, *file=NULL, *length=NULL, *returnvar=NULL;
int len=0;
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "ReadFile require an argument!\n");
return -1;
}
LOCAL_USER_ADD(u);
s = ast_strdupa(data);
if (!s) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
varname = strsep(&s, "=");
file = strsep(&s, "|");
length = s;
if (!varname || !file) {
ast_log(LOG_ERROR, "No file or variable specified!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (length) {
if ((sscanf(length, "%d", &len) != 1) || (len < 0)) {
ast_log(LOG_WARNING, "%s is not a positive number, defaulting length to max\n", length);
len = 0;
}
}
returnvar = ast_read_textfile(file);
if(len > 0){
if(len < strlen(returnvar))
returnvar[len]='\0';
else
ast_log(LOG_WARNING,"%s is longer than %d, and %d \n", file, len, (int)strlen(returnvar));
}
pbx_builtin_setvar_helper(chan, varname, returnvar);
free(returnvar);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app_readfile);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app_readfile, readfile_exec, readfile_synopsis, readfile_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

262
apps/app_realtime.c Normal file
View File

@@ -0,0 +1,262 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Anthony Minessale <anthmct@yahoo.com>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief RealTime App
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/options.h"
#include "asterisk/pbx.h"
#include "asterisk/config.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/cli.h"
#define next_one(var) var = var->next
#define crop_data(str) { *(str) = '\0' ; (str)++; }
static char *tdesc = "Realtime Data Lookup/Rewrite";
static char *app = "RealTime";
static char *uapp = "RealTimeUpdate";
static char *synopsis = "Realtime Data Lookup";
static char *usynopsis = "Realtime Data Rewrite";
static char *USAGE = "RealTime(<family>|<colmatch>|<value>[|<prefix>])";
static char *UUSAGE = "RealTimeUpdate(<family>|<colmatch>|<value>|<newcol>|<newval>)";
static char *desc = "Use the RealTime config handler system to read data into channel variables.\n"
"RealTime(<family>|<colmatch>|<value>[|<prefix>])\n\n"
"All unique column names will be set as channel variables with optional prefix to the name.\n"
"e.g. prefix of 'var_' would make the column 'name' become the variable ${var_name}\n\n";
static char *udesc = "Use the RealTime config handler system to update a value\n"
"RealTimeUpdate(<family>|<colmatch>|<value>|<newcol>|<newval>)\n\n"
"The column <newcol> in 'family' matching column <colmatch>=<value> will be updated to <newval>\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int cli_load_realtime(int fd, int argc, char **argv)
{
char *header_format = "%30s %-30s\n";
struct ast_variable *var=NULL;
if(argc<5) {
ast_cli(fd, "You must supply a family name, a column to match on, and a value to match to.\n");
return RESULT_FAILURE;
}
var = ast_load_realtime(argv[2], argv[3], argv[4], NULL);
if(var) {
ast_cli(fd, header_format, "Column Name", "Column Value");
ast_cli(fd, header_format, "--------------------", "--------------------");
while(var) {
ast_cli(fd, header_format, var->name, var->value);
var = var->next;
}
} else {
ast_cli(fd, "No rows found matching search criteria.\n");
}
return RESULT_SUCCESS;
}
static int cli_update_realtime(int fd, int argc, char **argv) {
int res = 0;
if(argc<7) {
ast_cli(fd, "You must supply a family name, a column to update on, a new value, column to match, and value to to match.\n");
ast_cli(fd, "Ex: realtime update sipfriends name bobsphone port 4343\n will execute SQL as UPDATE sipfriends SET port = 4343 WHERE name = bobsphone\n");
return RESULT_FAILURE;
}
res = ast_update_realtime(argv[2], argv[3], argv[4], argv[5], argv[6], NULL);
if(res < 0) {
ast_cli(fd, "Failed to update. Check the debug log for possible SQL related entries.\n");
return RESULT_SUCCESS;
}
ast_cli(fd, "Updated %d RealTime record%s.\n", res, (res != 1) ? "s" : "");
return RESULT_SUCCESS;
}
static char cli_load_realtime_usage[] =
"Usage: realtime load <family> <colmatch> <value>\n"
" Prints out a list of variables using the RealTime driver.\n";
static struct ast_cli_entry cli_load_realtime_cmd = {
{ "realtime", "load", NULL, NULL }, cli_load_realtime,
"Used to print out RealTime variables.", cli_load_realtime_usage, NULL };
static char cli_update_realtime_usage[] =
"Usage: realtime update <family> <colmatch> <value>\n"
" Update a single variable using the RealTime driver.\n";
static struct ast_cli_entry cli_update_realtime_cmd = {
{ "realtime", "update", NULL, NULL }, cli_update_realtime,
"Used to update RealTime variables.", cli_update_realtime_usage, NULL };
static int realtime_update_exec(struct ast_channel *chan, void *data)
{
char *family=NULL, *colmatch=NULL, *value=NULL, *newcol=NULL, *newval=NULL;
struct localuser *u;
int res = 0;
if (ast_strlen_zero(data)) {
ast_log(LOG_ERROR,"Invalid input: usage %s\n",UUSAGE);
return -1;
}
LOCAL_USER_ADD(u);
if ((family = ast_strdupa(data))) {
if ((colmatch = strchr(family,'|'))) {
crop_data(colmatch);
if ((value = strchr(colmatch,'|'))) {
crop_data(value);
if ((newcol = strchr(value,'|'))) {
crop_data(newcol);
if ((newval = strchr(newcol,'|')))
crop_data(newval);
}
}
}
}
if (! (family && value && colmatch && newcol && newval) ) {
ast_log(LOG_ERROR,"Invalid input: usage %s\n",UUSAGE);
res = -1;
} else {
ast_update_realtime(family,colmatch,value,newcol,newval,NULL);
}
LOCAL_USER_REMOVE(u);
return res;
}
static int realtime_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
struct ast_variable *var, *itt;
char *family=NULL, *colmatch=NULL, *value=NULL, *prefix=NULL, *vname=NULL;
size_t len;
if (ast_strlen_zero(data)) {
ast_log(LOG_ERROR,"Invalid input: usage %s\n",USAGE);
return -1;
}
LOCAL_USER_ADD(u);
if ((family = ast_strdupa(data))) {
if ((colmatch = strchr(family,'|'))) {
crop_data(colmatch);
if ((value = strchr(colmatch,'|'))) {
crop_data(value);
if ((prefix = strchr(value,'|')))
crop_data(prefix);
}
}
}
if (! (family && value && colmatch) ) {
ast_log(LOG_ERROR,"Invalid input: usage %s\n",USAGE);
res = -1;
} else {
if (option_verbose > 3)
ast_verbose(VERBOSE_PREFIX_4"Realtime Lookup: family:'%s' colmatch:'%s' value:'%s'\n",family,colmatch,value);
if ((var = ast_load_realtime(family, colmatch, value, NULL))) {
for (itt = var; itt; itt = itt->next) {
if(prefix) {
len = strlen(prefix) + strlen(itt->name) + 2;
vname = alloca(len);
snprintf(vname,len,"%s%s",prefix,itt->name);
} else
vname = itt->name;
pbx_builtin_setvar_helper(chan, vname, itt->value);
}
ast_variables_destroy(var);
} else if (option_verbose > 3)
ast_verbose(VERBOSE_PREFIX_4"No Realtime Matches Found.\n");
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_cli_unregister(&cli_load_realtime_cmd);
res |= ast_cli_unregister(&cli_update_realtime_cmd);
res |= ast_unregister_application(uapp);
res |= ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_cli_register(&cli_load_realtime_cmd);
res |= ast_cli_register(&cli_update_realtime_cmd);
res |= ast_register_application(uapp, realtime_update_exec, usynopsis, udesc);
res |= ast_register_application(app, realtime_exec, synopsis, desc);
return res;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

471
apps/app_record.c Executable file → Normal file
View File

@@ -1,26 +1,46 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Trivial application to record a sound file
*
* Copyright (C) 2001, Linux Support Services, Inc.
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Matthew Fredrickson <creslin@linux-support.net>
* Matthew Fredrickson <creslin@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Trivial application to record a sound file
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/dsp.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/dsp.h"
#include "asterisk/utils.h"
#include "asterisk/options.h"
static char *tdesc = "Trivial Record Application";
@@ -29,20 +49,26 @@ static char *app = "Record";
static char *synopsis = "Record to a file";
static char *descrip =
" Record(filename:format|silence[|maxduration][|option])\n\n"
" Record(filename.format|silence[|maxduration][|options])\n\n"
"Records from the channel into a given filename. If the file exists it will\n"
"be overwritten.\n"
"- 'format' is the format of the file type to be recorded (wav, gsm, etc).\n"
"- 'silence' is the number of seconds of silence to allow before returning.\n"
"- 'maxduration' is the maximum recording duration in seconds. If missing\n"
"or 0 there is no maximum.\n"
"- 'option' may be 'skip' to return immediately if the line is not up,\n"
"or 'noanswer' to attempt to record even if the line is not up.\n\n"
"- 'options' may contain any of the following letters:\n"
" 'a' : append to existing recording rather than replacing\n"
" 'n' : do not answer, but record anyway if line not yet answered\n"
" 'q' : quiet (do not play a beep tone)\n"
" 's' : skip recording if the line is not yet answered\n"
" 't' : use alternate '*' terminator key instead of default '#'\n"
"\n"
"If filename contains '%d', these characters will be replaced with a number\n"
"incremented by one each time the file is recorded. \n\n"
"Formats: g723, g729, gsm, h263, ulaw, alaw, vox, wav, WAV\n\n"
"Use 'show file formats' to see the available formats on your system\n\n"
"User can press '#' to terminate the recording and continue to the next priority.\n\n"
"Returns -1 when the user hangs up.\n";
"If the user should hangup during a recording, all data will be lost and the\n"
"application will teminate. \n";
STANDARD_LOCAL_USER;
@@ -53,12 +79,10 @@ static int record_exec(struct ast_channel *chan, void *data)
int res = 0;
int count = 0;
int percentflag = 0;
char fil[256];
char tmp[256];
char ext[10];
char *vdata;
char *filename, *ext = NULL, *silstr, *maxstr, *options;
char *vdata, *p;
int i = 0;
int j = 0;
char tmp[256];
struct ast_filestream *s = '\0';
struct localuser *u;
@@ -69,120 +93,107 @@ static int record_exec(struct ast_channel *chan, void *data)
int dspsilence = 0;
int silence = 0; /* amount of silence to allow */
int gotsilence = 0; /* did we timeout for silence? */
char silencestr[5];
char durationstr[8];
int maxduration = 0; /* max duration of recording */
int maxduration = 0; /* max duration of recording in milliseconds */
int gottimeout = 0; /* did we timeout for maxduration exceeded? */
time_t timeout = 0;
char option[16];
int option_skip = 0;
int option_noanswer = 0;
int option_append = 0;
int terminator = '#';
int option_quiet = 0;
int rfmt = 0;
int flags;
char *end=NULL;
char *p=NULL;
int waitres;
struct ast_silence_generator *silgen = NULL;
/* The next few lines of code parse out the filename and header from the input string */
if (!data) { /* no data implies no filename or anything is present */
if (ast_strlen_zero(data)) { /* no data implies no filename or anything is present */
ast_log(LOG_WARNING, "Record requires an argument (filename)\n");
return -1;
}
LOCAL_USER_ADD(u);
/* Yay for strsep being easy */
vdata = ast_strdupa(data);
p = vdata;
while(p && (p=strchr(p,':'))) {
end=p;
if(!strcasecmp(end,":end")) {
*end='\0';
end++;
break;
}
p++;
end=NULL;
}
for (; vdata[i] && (vdata[i] != ':') && (vdata[i] != '|'); i++ ) {
if ((vdata[i] == '%') && (vdata[i+1] == 'd')) {
percentflag = 1; /* the wildcard is used */
}
if (j < sizeof(fil) - 1)
fil[j++] = vdata[i];
}
fil[j] = '\0';
if (vdata[i] != ':') {
ast_log(LOG_WARNING, "No extension found\n");
if (!vdata) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
i++;
j = 0;
for (; vdata[i] && (vdata[i] != '|'); i++)
if (j < sizeof(ext) - 1)
ext[j++] = vdata[i];
ext[j] = '\0';
if (vdata[i] == '|')
i++;
j = 0;
for (; vdata[i] && (vdata[i] != '|'); i++)
if (j < sizeof(silencestr) - 1)
silencestr[j++] = vdata[i];
silencestr[j] = '\0';
if (j > 0) {
silence = atoi(silencestr);
if (silence > 0)
silence *= 1000;
p = vdata;
filename = strsep(&p, "|");
silstr = strsep(&p, "|");
maxstr = strsep(&p, "|");
options = strsep(&p, "|");
if (filename) {
if (strstr(filename, "%d"))
percentflag = 1;
ext = strrchr(filename, '.'); /* to support filename with a . in the filename, not format */
if (!ext)
ext = strchr(filename, ':');
if (ext) {
*ext = '\0';
ext++;
}
}
if (vdata[i] == '|')
i++;
j = 0;
for (; vdata[i] && (vdata[i] != '|'); i++)
if (j < sizeof(durationstr) - 1)
durationstr[j++] = vdata[i];
durationstr[j] = '\0';
if (j > 0)
maxduration = atoi(durationstr);
if (vdata[i] == '|')
i++;
j = 0;
for (; vdata[i] && (vdata[i] != '|'); i++)
if (j < sizeof(option) - 1)
option[j++] = vdata[i];
option[j] = '\0';
if (!strcasecmp(option, "skip"))
option_skip = 1;
if (!strcasecmp(option, "noanswer"))
option_noanswer = 1;
if (!ext) {
ast_log(LOG_WARNING, "No extension specified to filename!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if (silstr) {
if ((sscanf(silstr, "%d", &i) == 1) && (i > -1)) {
silence = i * 1000;
} else if (!ast_strlen_zero(silstr)) {
ast_log(LOG_WARNING, "'%s' is not a valid silence duration\n", silstr);
}
}
if (maxstr) {
if ((sscanf(maxstr, "%d", &i) == 1) && (i > -1))
/* Convert duration to milliseconds */
maxduration = i * 1000;
else if (!ast_strlen_zero(maxstr))
ast_log(LOG_WARNING, "'%s' is not a valid maximum duration\n", maxstr);
}
if (options) {
/* Retain backwards compatibility with old style options */
if (!strcasecmp(options, "skip"))
option_skip = 1;
else if (!strcasecmp(options, "noanswer"))
option_noanswer = 1;
else {
if (strchr(options, 's'))
option_skip = 1;
if (strchr(options, 'n'))
option_noanswer = 1;
if (strchr(options, 'a'))
option_append = 1;
if (strchr(options, 't'))
terminator = '*';
if (strchr(options, 'q'))
option_quiet = 1;
}
}
/* done parsing */
/* these are to allow the use of the %d in the config file for a wild card of sort to
create a new file with the inputed name scheme */
if (percentflag) {
do {
snprintf(tmp, sizeof(tmp), fil, count);
snprintf(tmp, sizeof(tmp), filename, count);
count++;
} while ( ast_fileexists(tmp, ext, chan->language) != -1 );
pbx_builtin_setvar_helper(chan, "RECORDED_FILE", tmp);
} else
strncpy(tmp, fil, sizeof(tmp)-1);
strncpy(tmp, filename, sizeof(tmp)-1);
/* end of routine mentioned */
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP) {
if (option_skip) {
/* At the user's option, skip if the line is not up */
@@ -194,7 +205,12 @@ static int record_exec(struct ast_channel *chan, void *data)
}
}
if (!res) {
if (res) {
ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
goto out;
}
if (!option_quiet) {
/* Some code to play a nice little beep to signify the start of the record operation */
res = ast_streamfile(chan, "beep", chan->language);
if (!res) {
@@ -203,118 +219,139 @@ static int record_exec(struct ast_channel *chan, void *data)
ast_log(LOG_WARNING, "ast_streamfile failed on %s\n", chan->name);
}
ast_stopstream(chan);
/* The end of beep code. Now the recording starts */
if (silence > 0) {
rfmt = chan->readformat;
res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set to linear mode, giving up\n");
return -1;
}
sildet = ast_dsp_new();
if (!sildet) {
ast_log(LOG_WARNING, "Unable to create silence detector :(\n");
return -1;
}
ast_dsp_set_threshold(sildet, 256);
}
flags = end ? O_CREAT|O_APPEND|O_WRONLY : O_CREAT|O_TRUNC|O_WRONLY;
s = ast_writefile( tmp, ext, NULL, flags , 0, 0644);
if (s) {
if (maxduration > 0)
timeout = time(NULL) + (time_t)maxduration;
while (ast_waitfor(chan, -1) > -1) {
if (maxduration > 0 && time(NULL) > timeout) {
gottimeout = 1;
break;
}
f = ast_read(chan);
if (!f) {
res = -1;
break;
}
if (f->frametype == AST_FRAME_VOICE) {
res = ast_writestream(s, f);
if (res) {
ast_log(LOG_WARNING, "Problem writing frame\n");
break;
}
if (silence > 0) {
dspsilence = 0;
ast_dsp_silence(sildet, f, &dspsilence);
if (dspsilence) {
totalsilence = dspsilence;
} else {
totalsilence = 0;
}
if (totalsilence > silence) {
/* Ended happily with silence */
ast_frfree(f);
gotsilence = 1;
break;
}
}
}
if (f->frametype == AST_FRAME_VIDEO) {
res = ast_writestream(s, f);
if (res) {
ast_log(LOG_WARNING, "Problem writing frame\n");
break;
}
}
if ((f->frametype == AST_FRAME_DTMF) &&
(f->subclass == '#')) {
ast_frfree(f);
break;
}
ast_frfree(f);
}
if (!f) {
ast_log(LOG_DEBUG, "Got hangup\n");
res = -1;
}
if (gotsilence) {
ast_stream_rewind(s, silence-1000);
ast_truncstream(s);
} else if (!gottimeout) {
/* Strip off the last 1/4 second of it */
ast_stream_rewind(s, 250);
ast_truncstream(s);
}
ast_closestream(s);
} else
ast_log(LOG_WARNING, "Could not create file %s\n", fil);
} else
ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
LOCAL_USER_REMOVE(u);
}
/* The end of beep code. Now the recording starts */
if (silence > 0) {
res = ast_set_read_format(chan, rfmt);
if (res)
ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
rfmt = chan->readformat;
res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set to linear mode, giving up\n");
LOCAL_USER_REMOVE(u);
return -1;
}
sildet = ast_dsp_new();
if (!sildet) {
ast_log(LOG_WARNING, "Unable to create silence detector :(\n");
LOCAL_USER_REMOVE(u);
return -1;
}
ast_dsp_set_threshold(sildet, 256);
}
flags = option_append ? O_CREAT|O_APPEND|O_WRONLY : O_CREAT|O_TRUNC|O_WRONLY;
s = ast_writefile( tmp, ext, NULL, flags , 0, 0644);
if (!s) {
ast_log(LOG_WARNING, "Could not create file %s\n", filename);
goto out;
}
if (option_transmit_silence_during_record)
silgen = ast_channel_start_silence_generator(chan);
/* Request a video update */
ast_indicate(chan, AST_CONTROL_VIDUPDATE);
if (maxduration <= 0)
maxduration = -1;
while ((waitres = ast_waitfor(chan, maxduration)) > -1) {
if (maxduration > 0) {
if (waitres == 0) {
gottimeout = 1;
break;
}
maxduration = waitres;
}
f = ast_read(chan);
if (!f) {
res = -1;
break;
}
if (f->frametype == AST_FRAME_VOICE) {
res = ast_writestream(s, f);
if (res) {
ast_log(LOG_WARNING, "Problem writing frame\n");
ast_frfree(f);
break;
}
if (silence > 0) {
dspsilence = 0;
ast_dsp_silence(sildet, f, &dspsilence);
if (dspsilence) {
totalsilence = dspsilence;
} else {
totalsilence = 0;
}
if (totalsilence > silence) {
/* Ended happily with silence */
ast_frfree(f);
gotsilence = 1;
break;
}
}
} else if (f->frametype == AST_FRAME_VIDEO) {
res = ast_writestream(s, f);
if (res) {
ast_log(LOG_WARNING, "Problem writing frame\n");
ast_frfree(f);
break;
}
} else if ((f->frametype == AST_FRAME_DTMF) &&
(f->subclass == terminator)) {
ast_frfree(f);
break;
}
ast_frfree(f);
}
if (!f) {
ast_log(LOG_DEBUG, "Got hangup\n");
res = -1;
}
if (gotsilence) {
ast_stream_rewind(s, silence-1000);
ast_truncstream(s);
} else if (!gottimeout) {
/* Strip off the last 1/4 second of it */
ast_stream_rewind(s, 250);
ast_truncstream(s);
}
ast_closestream(s);
if (silgen)
ast_channel_stop_silence_generator(chan, silgen);
out:
if ((silence > 0) && rfmt) {
res = ast_set_read_format(chan, rfmt);
if (res)
ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
if (sildet)
ast_dsp_free(sildet);
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

3773
apps/app_rpt.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

76
apps/app_sayunixtime.c Executable file → Normal file
View File

@@ -1,27 +1,43 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* SayUnixTime application
*
* Copyright (c) 2003 Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <app_sayunixtime__200309@the-tilghman.com>
*
* This code is released by the author with no restrictions on usage.
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
*/
/*! \file
*
* \brief SayUnixTime application
*
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/say.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/options.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/say.h"
static char *tdesc = "Say time";
@@ -38,8 +54,7 @@ static char *sayunixtime_descrip =
" timezone: timezone, see /usr/share/zoneinfo for a list.\n"
" defaults to machine default.\n"
" format: a format the time is to be said in. See voicemail.conf.\n"
" defaults to \"ABdY 'digits/at' IMp\"\n"
" Returns 0 or -1 on hangup.\n";
" defaults to \"ABdY 'digits/at' IMp\"\n";
static char *datetime_descrip =
"DateTime([unixtime][|[timezone][|format]])\n"
" unixtime: time, in seconds since Jan 1, 1970. May be negative.\n"
@@ -47,8 +62,7 @@ static char *datetime_descrip =
" timezone: timezone, see /usr/share/zoneinfo for a list.\n"
" defaults to machine default.\n"
" format: a format the time is to be said in. See voicemail.conf.\n"
" defaults to \"ABdY 'digits/at' IMp\"\n"
" Returns 0 or -1 on hangup.\n";
" defaults to \"ABdY 'digits/at' IMp\"\n";
STANDARD_LOCAL_USER;
@@ -58,16 +72,23 @@ static int sayunixtime_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s,*zone=NULL,*timec;
char *s,*zone=NULL,*timec,*format;
time_t unixtime;
char *format = "ABdY 'digits/at' IMp";
struct timeval tv;
LOCAL_USER_ADD(u);
gettimeofday(&tv,NULL);
tv = ast_tvnow();
unixtime = (time_t)tv.tv_sec;
if( !strcasecmp(chan->language, "da" ) ) {
format = "A dBY HMS";
} else if ( !strcasecmp(chan->language, "de" ) ) {
format = "A dBY HMS";
} else {
format = "ABdY 'digits/at' IMp";
}
if (data) {
s = data;
s = ast_strdupa(s);
@@ -105,22 +126,23 @@ static int sayunixtime_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app_sayunixtime);
if (! res)
return ast_unregister_application(app_datetime);
else
return res;
res |= ast_unregister_application(app_datetime);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_register_application(app_sayunixtime, sayunixtime_exec, sayunixtime_synopsis, sayunixtime_descrip);
if (! res)
return ast_register_application(app_datetime, sayunixtime_exec, sayunixtime_synopsis, datetime_descrip);
else
return res;
res |= ast_register_application(app_datetime, sayunixtime_exec, sayunixtime_synopsis, datetime_descrip);
return res;
}
char *description(void)

95
apps/app_senddtmf.c Executable file → Normal file
View File

@@ -1,28 +1,46 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to send DTMF digits
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to send DTMF digits
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/options.h>
#include <asterisk/utils.h>
#include <asterisk/app.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/options.h"
#include "asterisk/utils.h"
#include "asterisk/app.h"
static char *tdesc = "Send DTMF digits Application";
@@ -31,9 +49,10 @@ static char *app = "SendDTMF";
static char *synopsis = "Sends arbitrary DTMF digits";
static char *descrip =
" SendDTMF(digits): Sends DTMF digits on a channel. \n"
" Accepted digits: 0-9, *#abcd\n"
" Returns 0 on success or -1 on a hangup.\n";
" SendDTMF(digits[|timeout_ms]): Sends DTMF digits on a channel. \n"
" Accepted digits: 0-9, *#abcd\n"
" The application will either pass the assigned digits or terminate if it\n"
" encounters an error.\n";
STANDARD_LOCAL_USER;
@@ -43,22 +62,48 @@ static int senddtmf_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
char *digits = data;
char *digits = NULL, *to = NULL;
int timeout = 250;
if (!digits || ast_strlen_zero(digits)) {
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "SendDTMF requires an argument (digits or *#aAbBcCdD)\n");
return 0;
}
LOCAL_USER_ADD(u);
digits = ast_strdupa(data);
if (!digits) {
ast_log(LOG_ERROR, "Out of Memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
LOCAL_USER_ADD(u);
res = ast_dtmf_stream(chan,NULL,digits,250);
if ((to = strchr(digits,'|'))) {
*to = '\0';
to++;
timeout = atoi(to);
}
if(timeout <= 0)
timeout = 250;
res = ast_dtmf_stream(chan,NULL,digits,timeout);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

134
apps/app_sendtext.c Executable file → Normal file
View File

@@ -1,41 +1,67 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to transmit a text message
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to transmit a text message
*
* Requires support of sending text messages from channel driver
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/channel_pvt.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
static char *tdesc = "Send Text Applications";
#include "asterisk.h"
static char *app = "SendText";
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static char *synopsis = "Send a Text Message";
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/options.h"
#include "asterisk/app.h"
static char *descrip =
" SendText(text): Sends text to client. If the client\n"
"does not support text transport, and there exists a step with\n"
"priority n + 101, then execution will continue at that step.\n"
"Otherwise, execution will continue at the next priority level.\n"
"SendText only returns 0 if the text was sent correctly or if\n"
"the channel does not support text transport, and -1 otherwise.\n";
static const char *tdesc = "Send Text Applications";
static const char *app = "SendText";
static const char *synopsis = "Send a Text Message";
static const char *descrip =
" SendText(text[|options]): Sends text to current channel (callee).\n"
"Result of transmission will be stored in the SENDTEXTSTATUS\n"
"channel variable:\n"
" SUCCESS Transmission succeeded\n"
" FAILURE Transmission failed\n"
" UNSUPPORTED Text transmission not supported by channel\n"
"\n"
"At this moment, text is supposed to be 7 bit ASCII in most channels.\n"
"The option string many contain the following character:\n"
"'j' -- jump to n+101 priority if the channel doesn't support\n"
" text transport\n";
STANDARD_LOCAL_USER;
@@ -45,30 +71,64 @@ static int sendtext_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
if (!data || !strlen((char *)data)) {
ast_log(LOG_WARNING, "SendText requires an argument (text)\n");
char *status = "UNSUPPORTED";
char *parse = NULL;
int priority_jump = 0;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(text);
AST_APP_ARG(options);
);
LOCAL_USER_ADD(u);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "SendText requires an argument (text[|options])\n");
LOCAL_USER_REMOVE(u);
return -1;
} else {
parse = ast_strdupa(data);
if (!parse) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
}
LOCAL_USER_ADD(u);
AST_STANDARD_APP_ARGS(args, parse);
if (args.options) {
if (strchr(args.options, 'j'))
priority_jump = 1;
}
ast_mutex_lock(&chan->lock);
if (!chan->pvt->send_text) {
if (!chan->tech->send_text) {
ast_mutex_unlock(&chan->lock);
/* Does not support transport */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
if (priority_jump || option_priority_jumping)
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
LOCAL_USER_REMOVE(u);
return 0;
}
status = "FAILURE";
ast_mutex_unlock(&chan->lock);
res = ast_sendtext(chan, (char *)data);
res = ast_sendtext(chan, args.text);
if (!res)
status = "SUCCESS";
pbx_builtin_setvar_helper(chan, "SENDTEXTSTATUS", status);
LOCAL_USER_REMOVE(u);
return res;
return 0;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)
@@ -78,13 +138,15 @@ int load_module(void)
char *description(void)
{
return tdesc;
return (char *) tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}

149
apps/app_setcallerid.c Executable file → Normal file
View File

@@ -1,27 +1,45 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to set callerid
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set callerid
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/callerid.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
static char *app2 = "SetCallerPres";
@@ -31,25 +49,9 @@ STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static struct {
int val;
char *name;
} preses[] = {
{ AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED, "allowed_not_screened" },
{ AST_PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN, "allowed_passed_screen" },
{ AST_PRES_ALLOWED_USER_NUMBER_FAILED_SCREEN, "allowed_failed_screen" },
{ AST_PRES_ALLOWED_NETWORK_NUMBER, "allowed" },
{ AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED , "prohib_not_screened" },
{ AST_PRES_PROHIB_USER_NUMBER_PASSED_SCREEN, "prohib_passed_screen" },
{ AST_PRES_PROHIB_USER_NUMBER_FAILED_SCREEN, "prohib_failed_screen" },
{ AST_PRES_PROHIB_NETWORK_NUMBER, "prohib" },
{ AST_PRES_NUMBER_NOT_AVAILABLE, "unavailable" },
};
static char *descrip2 =
" SetCallerPres(presentation): Set Caller*ID presentation on\n"
"a call to a new value. Sets ANI as well if a flag is used.\n"
"Always returns 0. Valid presentations are:\n"
" SetCallerPres(presentation): Set Caller*ID presentation on a call.\n"
" Valid presentations are:\n"
"\n"
" allowed_not_screened : Presentation Allowed, Not Screened\n"
" allowed_passed_screen : Presentation Allowed, Passed Screen\n"
@@ -65,33 +67,23 @@ static char *descrip2 =
static int setcallerid_pres_exec(struct ast_channel *chan, void *data)
{
int res = 0;
char tmp[256] = "";
struct localuser *u;
int x;
char *opts;
int pres = -1;
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 1);
opts = strchr(tmp, '|');
if (opts) {
*opts = '\0';
opts++;
}
for (x=0;x<sizeof(preses) / sizeof(preses[0]);x++) {
if (!strcasecmp(preses[x].name, tmp)) {
pres = preses[x].val;
break;
}
}
LOCAL_USER_ADD(u);
pres = ast_parse_caller_presentation(data);
if (pres < 0) {
ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n", tmp);
ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n",
(char *) data);
LOCAL_USER_REMOVE(u);
return 0;
}
LOCAL_USER_ADD(u);
chan->callingpres = pres;
chan->cid.cid_pres = pres;
LOCAL_USER_REMOVE(u);
return res;
return 0;
}
@@ -104,17 +96,32 @@ static char *synopsis = "Set CallerID";
static char *descrip =
" SetCallerID(clid[|a]): Set Caller*ID on a call to a new\n"
"value. Sets ANI as well if a flag is used. Always returns 0\n";
"value. Sets ANI as well if a flag is used. \n";
static int setcallerid_exec(struct ast_channel *chan, void *data)
{
int res = 0;
char tmp[256] = "";
char *tmp = NULL;
char name[256];
char num[256];
struct localuser *u;
char *opt;
int anitoo = 0;
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 1);
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "SetCallerID requires an argument!\n");
return 0;
}
LOCAL_USER_ADD(u);
tmp = ast_strdupa(data);
if (!tmp) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
opt = strchr(tmp, '|');
if (opt) {
*opt = '\0';
@@ -122,23 +129,35 @@ static int setcallerid_exec(struct ast_channel *chan, void *data)
if (*opt == 'a')
anitoo = 1;
}
LOCAL_USER_ADD(u);
ast_set_callerid(chan, strlen(tmp) ? tmp : NULL, anitoo);
ast_callerid_split(tmp, name, sizeof(name), num, sizeof(num));
ast_set_callerid(chan, num, name, anitoo ? num : NULL);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app2);
res |= ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
ast_unregister_application(app2);
return ast_unregister_application(app);
return res;
}
int load_module(void)
{
ast_register_application(app2, setcallerid_pres_exec, synopsis2, descrip2);
return ast_register_application(app, setcallerid_exec, synopsis, descrip);
int res;
res = ast_register_application(app2, setcallerid_pres_exec, synopsis2, descrip2);
res |= ast_register_application(app, setcallerid_exec, synopsis, descrip);
return res;
}
char *description(void)

80
apps/app_setcdruserfield.c Executable file → Normal file
View File

@@ -1,28 +1,45 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Applictions connected with CDR engine
*
* Copyright (C) 2003, Digium
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Justin Huff <jjhuff@mspin.net>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief Applictions connected with CDR engine
*
* \ingroup applications
*/
#include <sys/types.h>
#include <asterisk/channel.h>
#include <asterisk/cdr.h>
#include <asterisk/module.h>
#include <asterisk/pbx.h>
#include <asterisk/logger.h>
#include <asterisk/config.h>
#include <asterisk/manager.h>
#include <asterisk/utils.h>
#include <stdlib.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/channel.h"
#include "asterisk/cdr.h"
#include "asterisk/module.h"
#include "asterisk/pbx.h"
#include "asterisk/logger.h"
#include "asterisk/config.h"
#include "asterisk/manager.h"
#include "asterisk/utils.h"
static char *tdesc = "CDR user field apps";
@@ -35,8 +52,7 @@ static char *setcdruserfield_descrip =
" can use for data not stored anywhere else in the record.\n"
" CDR records can be used for billing or storing other arbitrary data\n"
" (I.E. telephone survey responses)\n"
" Also see AppendCDRUserField().\n"
" Always returns 0\n";
" Also see AppendCDRUserField().\n";
static char *setcdruserfield_app = "SetCDRUserField";
@@ -51,8 +67,7 @@ static char *appendcdruserfield_descrip =
" can use for data not stored anywhere else in the record.\n"
" CDR records can be used for billing or storing other arbitrary data\n"
" (I.E. telephone survey responses)\n"
" Also see SetCDRUserField().\n"
" Always returns 0\n";
" Also see SetCDRUserField().\n";
static char *appendcdruserfield_app = "AppendCDRUserField";
static char *appendcdruserfield_synopsis = "Append to the CDR user field";
@@ -76,13 +91,7 @@ static int action_setcdruserfield(struct mansession *s, struct message *m)
astman_send_error(s, m, "No UserField specified");
return 0;
}
c = ast_channel_walk_locked(NULL);
while (c) {
if (!strcasecmp(c->name, channel))
break;
ast_mutex_unlock(&c->lock);
c = ast_channel_walk_locked(c);
}
c = ast_get_channel_by_name_locked(channel);
if (!c) {
astman_send_error(s, m, "No such channel");
return 0;
@@ -101,9 +110,9 @@ static int setcdruserfield_exec(struct ast_channel *chan, void *data)
struct localuser *u;
int res = 0;
LOCAL_USER_ADD(u)
if (chan->cdr && data)
{
LOCAL_USER_ADD(u);
if (chan->cdr && data) {
ast_cdr_setuserfield(chan, (char*)data);
}
@@ -117,9 +126,9 @@ static int appendcdruserfield_exec(struct ast_channel *chan, void *data)
struct localuser *u;
int res = 0;
LOCAL_USER_ADD(u)
if (chan->cdr && data)
{
LOCAL_USER_ADD(u);
if (chan->cdr && data) {
ast_cdr_appenduserfield(chan, (char*)data);
}
@@ -131,19 +140,24 @@ static int appendcdruserfield_exec(struct ast_channel *chan, void *data)
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(setcdruserfield_app);
res |= ast_unregister_application(appendcdruserfield_app);
ast_manager_unregister("SetCDRUserField");
res |= ast_manager_unregister("SetCDRUserField");
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
int res;
res = ast_register_application(setcdruserfield_app, setcdruserfield_exec, setcdruserfield_synopsis, setcdruserfield_descrip);
res |= ast_register_application(appendcdruserfield_app, appendcdruserfield_exec, appendcdruserfield_synopsis, appendcdruserfield_descrip);
ast_manager_register("SetCDRUserField", EVENT_FLAG_CALL, action_setcdruserfield, "Set the CDR UserField");
res |= ast_manager_register("SetCDRUserField", EVENT_FLAG_CALL, action_setcdruserfield, "Set the CDR UserField");
return res;
}

117
apps/app_setcidname.c Executable file → Normal file
View File

@@ -1,28 +1,46 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to set callerid
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set callerid
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/callerid.h>
#include <asterisk/utils.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
#include "asterisk/utils.h"
static char *tdesc = "Set CallerID Name";
@@ -34,7 +52,9 @@ static char *descrip =
" SetCIDName(cname[|a]): Set Caller*ID Name on a call to a new\n"
"value, while preserving the original Caller*ID number. This is\n"
"useful for providing additional information to the called\n"
"party. Sets ANI as well if a flag is used. Always returns 0\n";
"party. \n"
"SetCIDName has been deprecated in favor of the function\n"
"CALLERID(name)\n";
STANDARD_LOCAL_USER;
@@ -42,46 +62,51 @@ LOCAL_USER_DECL;
static int setcallerid_exec(struct ast_channel *chan, void *data)
{
int res = 0;
char tmp[256] = "";
char oldcid[256] = "", *l, *n;
char newcid[256] = "";
char *tmp = NULL;
struct localuser *u;
char *opt;
int anitoo = 0;
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 1);
static int deprecation_warning = 0;
if (!deprecation_warning) {
ast_log(LOG_WARNING, "SetCIDName is deprecated, please use Set(CALLERID(name)=value) instead.\n");
deprecation_warning = 1;
}
if (ast_strlen_zero(data)) {
ast_log(LOG_ERROR, "SetCIDName requires an argument!\n");
return 0;
}
LOCAL_USER_ADD(u);
tmp = ast_strdupa(data);
if (!tmp) {
ast_log(LOG_ERROR, "Out of memory\n");
LOCAL_USER_REMOVE(u);
return -1;
}
opt = strchr(tmp, '|');
if (opt) {
*opt = '\0';
opt++;
if (*opt == 'a')
anitoo = 1;
}
LOCAL_USER_ADD(u);
if (chan->callerid) {
strncpy(oldcid, chan->callerid, sizeof(oldcid) - 1);
ast_callerid_parse(oldcid, &n, &l);
n = tmp;
if (!ast_strlen_zero(n)) {
if (l && !ast_strlen_zero(l))
snprintf(newcid, sizeof(newcid), "\"%s\" <%s>", n, l);
else
strncpy(newcid, tmp, sizeof(newcid) - 1);
} else if (l && !ast_strlen_zero(l)) {
strncpy(newcid, l, sizeof(newcid) - 1);
}
} else
strncpy(newcid, tmp, sizeof(newcid) - 1);
ast_set_callerid(chan, !ast_strlen_zero(newcid) ? newcid : NULL, anitoo);
ast_set_callerid(chan, NULL, tmp, NULL);
LOCAL_USER_REMOVE(u);
return res;
return 0;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

101
apps/app_setcidnum.c Executable file → Normal file
View File

@@ -1,29 +1,47 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* App to set callerid
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@linux-support.net>
* Mark Spencer <markster@digium.com>
* Oliver Daudey <traveler@xs4all.nl>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set callerid number
*
* \ingroup applications
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/translate.h>
#include <asterisk/image.h>
#include <asterisk/callerid.h>
#include <asterisk/utils.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
#include "asterisk/utils.h"
static char *tdesc = "Set CallerID Number";
@@ -35,7 +53,9 @@ static char *descrip =
" SetCIDNum(cnum[|a]): Set Caller*ID Number on a call to a new\n"
"value, while preserving the original Caller*ID name. This is\n"
"useful for providing additional information to the called\n"
"party. Sets ANI as well if a flag is used. Always returns 0\n";
"party. Sets ANI as well if a flag is used.\n"
"SetCIDNum has been deprecated in favor of the function\n"
"CALLERID(number)\n";
STANDARD_LOCAL_USER;
@@ -44,14 +64,24 @@ LOCAL_USER_DECL;
static int setcallerid_exec(struct ast_channel *chan, void *data)
{
int res = 0;
char tmp[256] = "";
char oldcid[256] = "", *l, *n;
char newcid[256] = "";
struct localuser *u;
char *opt;
int anitoo = 0;
char *tmp = NULL;
static int deprecation_warning = 0;
LOCAL_USER_ADD(u);
if (!deprecation_warning) {
ast_log(LOG_WARNING, "SetCIDNum is deprecated, please use Set(CALLERID(number)=value) instead.\n");
deprecation_warning = 1;
}
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 1);
tmp = ast_strdupa(data);
else
tmp = "";
opt = strchr(tmp, '|');
if (opt) {
*opt = '\0';
@@ -59,30 +89,23 @@ static int setcallerid_exec(struct ast_channel *chan, void *data)
if (*opt == 'a')
anitoo = 1;
}
LOCAL_USER_ADD(u);
if (chan->callerid) {
strncpy(oldcid, chan->callerid, sizeof(oldcid) - 1);
ast_callerid_parse(oldcid, &n, &l);
l = tmp;
if (!ast_strlen_zero(l)) {
if (n && !ast_strlen_zero(n))
snprintf(newcid, sizeof(newcid), "\"%s\" <%s>", n, l);
else
strncpy(newcid, tmp, sizeof(newcid) - 1);
} else if (n && !ast_strlen_zero(n)) {
strncpy(newcid, n, sizeof(newcid) - 1);
}
} else
strncpy(newcid, tmp, sizeof(newcid) - 1);
ast_set_callerid(chan, !ast_strlen_zero(newcid) ? newcid : NULL, anitoo);
ast_set_callerid(chan, tmp, NULL, anitoo ? tmp : NULL);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)

132
apps/app_setrdnis.c Normal file
View File

@@ -0,0 +1,132 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
* Oliver Daudey <traveler@xs4all.nl>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set rdnis
*
* \ingroup applications
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
#include "asterisk/utils.h"
static char *tdesc = "Set RDNIS Number";
static char *app = "SetRDNIS";
static char *synopsis = "Set RDNIS Number";
static char *descrip =
" SetRDNIS(cnum): Set RDNIS Number on a call to a new\n"
"value.\n"
"SetRDNIS has been deprecated in favor of the function\n"
"CALLERID(rdnis)\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int setrdnis_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
char *opt, *n, *l;
char *tmp = NULL;
static int deprecation_warning = 0;
LOCAL_USER_ADD(u);
if (!deprecation_warning) {
ast_log(LOG_WARNING, "SetRDNIS is deprecated, please use Set(CALLERID(rdnis)=value) instead.\n");
deprecation_warning = 1;
}
if (data)
tmp = ast_strdupa(data);
else
tmp = "";
opt = strchr(tmp, '|');
if (opt)
*opt = '\0';
n = l = NULL;
ast_callerid_parse(tmp, &n, &l);
if (l) {
ast_shrink_phone_number(l);
ast_mutex_lock(&chan->lock);
if (chan->cid.cid_rdnis)
free(chan->cid.cid_rdnis);
chan->cid.cid_rdnis = (l[0]) ? strdup(l) : NULL;
ast_mutex_unlock(&chan->lock);
}
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, setrdnis_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

View File

@@ -0,0 +1,145 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2005, Frank Sautter, levigo holding gmbh, www.levigo.de
*
* Frank Sautter - asterisk+at+sautter+dot+com
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set the ISDN Transfer Capability
*
* \ingroup applications
*/
#include <string.h>
#include <stdlib.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/options.h"
#include "asterisk/transcap.h"
static char *app = "SetTransferCapability";
static char *synopsis = "Set ISDN Transfer Capability";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static struct { int val; char *name; } transcaps[] = {
{ AST_TRANS_CAP_SPEECH, "SPEECH" },
{ AST_TRANS_CAP_DIGITAL, "DIGITAL" },
{ AST_TRANS_CAP_RESTRICTED_DIGITAL, "RESTRICTED_DIGITAL" },
{ AST_TRANS_CAP_3_1K_AUDIO, "3K1AUDIO" },
{ AST_TRANS_CAP_DIGITAL_W_TONES, "DIGITAL_W_TONES" },
{ AST_TRANS_CAP_VIDEO, "VIDEO" },
};
static char *descrip =
" SetTransferCapability(transfercapability): Set the ISDN Transfer \n"
"Capability of a call to a new value.\n"
"Valid Transfer Capabilities are:\n"
"\n"
" SPEECH : 0x00 - Speech (default, voice calls)\n"
" DIGITAL : 0x08 - Unrestricted digital information (data calls)\n"
" RESTRICTED_DIGITAL : 0x09 - Restricted digital information\n"
" 3K1AUDIO : 0x10 - 3.1kHz Audio (fax calls)\n"
" DIGITAL_W_TONES : 0x11 - Unrestricted digital information with tones/announcements\n"
" VIDEO : 0x18 - Video:\n"
"\n"
;
static int settransfercapability_exec(struct ast_channel *chan, void *data)
{
char *tmp = NULL;
struct localuser *u;
int x;
char *opts;
int transfercapability = -1;
LOCAL_USER_ADD(u);
if (data)
tmp = ast_strdupa(data);
else
tmp = "";
opts = strchr(tmp, '|');
if (opts)
*opts = '\0';
for (x = 0; x < (sizeof(transcaps) / sizeof(transcaps[0])); x++) {
if (!strcasecmp(transcaps[x].name, tmp)) {
transfercapability = transcaps[x].val;
break;
}
}
if (transfercapability < 0) {
ast_log(LOG_WARNING, "'%s' is not a valid transfer capability (see 'show application SetTransferCapability')\n", tmp);
LOCAL_USER_REMOVE(u);
return 0;
}
chan->transfercapability = (unsigned short)transfercapability;
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Setting transfer capability to: 0x%.2x - %s.\n", transfercapability, tmp);
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return res;
}
int load_module(void)
{
return ast_register_application(app, settransfercapability_exec, synopsis, descrip);
}
char *description(void)
{
return synopsis;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

117
apps/app_skel.c Executable file → Normal file
View File

@@ -1,59 +1,134 @@
/*
* Asterisk -- A telephony toolkit for Linux.
* Asterisk -- An open source telephony toolkit.
*
* Skeleton application
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) <Year>, <Your Name Here>
*
* Mark Spencer <markster@linux-support.net>
* <Your Name Here> <<Your Email Here>>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
#include <asterisk/lock.h>
/*! \file
*
* \brief Skeleton application
*
* This is a skeleton for development of an Asterisk application
* \ingroup applications
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/file.h"
#include "asterisk/logger.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
static char *tdesc = "Trivial skeleton Application";
static char *app = "skel";
static char *app = "Skel";
static char *synopsis =
" This is a skeleton application that shows you the basic structure to create your\n"
"own asterisk applications.\n";
"Skeleton application.";
static char *descrip = "This application is a template to build other applications from.\n"
" It shows you the basic structure to create your own Asterisk applications.\n";
#define OPTION_A (1 << 0) /* Option A */
#define OPTION_B (1 << 1) /* Option B(n) */
#define OPTION_C (1 << 2) /* Option C(str) */
#define OPTION_NULL (1 << 3) /* Dummy Termination */
AST_DECLARE_OPTIONS(app_opts,{
['a'] = { OPTION_A },
['b'] = { OPTION_B, 1 },
['c'] = { OPTION_C, 2 }
});
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int skel_exec(struct ast_channel *chan, void *data)
static int app_exec(struct ast_channel *chan, void *data)
{
int res=0;
int res = 0;
struct ast_flags flags;
struct localuser *u;
if (!data) {
ast_log(LOG_WARNING, "skel requires an argument (filename)\n");
char *options=NULL;
char *dummy = NULL;
char *args;
int argc = 0;
char *opts[2];
char *argv[2];
if (ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "%s requires an argument (dummy|[options])\n",app);
return -1;
}
LOCAL_USER_ADD(u);
/* Do our thing here */
/* We need to make a copy of the input string if we are going to modify it! */
args = ast_strdupa(data);
if (!args) {
ast_log(LOG_ERROR, "Out of memory!\n");
LOCAL_USER_REMOVE(u);
return -1;
}
if ((argc = ast_app_separate_args(args, '|', argv, sizeof(argv) / sizeof(argv[0])))) {
dummy = argv[0];
options = argv[1];
ast_parseoptions(app_opts, &flags, opts, options);
}
if (!ast_strlen_zero(dummy))
ast_log(LOG_NOTICE, "Dummy value is : %s\n", dummy);
if (ast_test_flag(&flags, OPTION_A))
ast_log(LOG_NOTICE, "Option A is set\n");
if (ast_test_flag(&flags, OPTION_B))
ast_log(LOG_NOTICE,"Option B is set with : %s\n", opts[0] ? opts[0] : "<unspecified>");
if (ast_test_flag(&flags, OPTION_C))
ast_log(LOG_NOTICE,"Option C is set with : %s\n", opts[1] ? opts[1] : "<unspecified>");
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
res = ast_unregister_application(app);
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
return res;
}
int load_module(void)
{
return ast_register_application(app, skel_exec, synopsis, tdesc);
return ast_register_application(app, app_exec, synopsis, descrip);
}
char *description(void)

2377
apps/app_sms.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More