Compare commits

...

3269 Commits
0.1.8 ... 1.0.0

Author SHA1 Message Date
Kevin P. Fleming
cd02d480fb 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.0.0@212958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 20:42:51 +00:00
Kevin P. Fleming
9ef5e79c70 remove extraneous svn:executable properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.0.0@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Kevin P. Fleming
b2aec24af2 remove remaining .cvsignore files
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.0.0@7220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:09:49 +00:00
Kevin P. Fleming
178fe9f0aa automatic tag renames
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.0.0@7201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-27 17:18:34 +00:00
Admin Commit
30d1dbdc95 This commit was manufactured by cvs2svn to create tag 'v1-0-0'.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/v1-0-0@3822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-23 11:30:08 +00:00
Mark Spencer
a23534c4e2 Update Changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-23 11:30:08 +00:00
Mark Spencer
1597114535 Implement Fast AGI (agi://) over TCP socket (Astricon talk idea)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-22 15:21:36 +00:00
Mark Spencer
aea667c7c8 Fix originate success/failure formatting (bug #2485)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-22 14:11:44 +00:00
Mark Spencer
e0f335a4eb Check to be sure # of samples is > 0...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-22 12:15:00 +00:00
Mark Spencer
78531a0f32 Handle arbitrary long dial sequences (like what we need at Astricon)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-22 05:19:06 +00:00
Mark Spencer
a2297d6776 Support colors in eterm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-22 05:10:50 +00:00
Jeremy McNamara
ef889d6672 support early media/intercept Bug #562
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-21 18:42:37 +00:00
Jeremy McNamara
291ce3e839 Add a bit more newbie protection
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-21 15:52:42 +00:00
Anthony Minessale II
42806dc1ac fix placement of f->fmt->close
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-20 23:15:49 +00:00
Mark Spencer
45a157ec0e Fixup vm user struct (bug #2472)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-20 21:16:00 +00:00
James Golovich
49389bd690 Remove duplicate plus.gsm from sounds.txt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-20 15:47:40 +00:00
Mark Spencer
a638a19ea2 Don't register auth against something that isn't a register (bug #2468)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-19 17:21:26 +00:00
Jeremy McNamara
199ec4356a protect against seg on busy systems. Bug #2249
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-19 16:53:01 +00:00
Mark Spencer
5dad6f4319 Merge UK + DTMF Caller*ID stuff and fix app_test description
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-19 16:17:18 +00:00
Mark Spencer
27e4a2ee57 Minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-18 23:39:39 +00:00
Mark Spencer
d7fb7e9ed7 Add "TrySystem" variation to System (bug #768)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-18 14:14:15 +00:00
Mark Spencer
528cf89739 Clarify descriptions of VM functions moved to app (bug #2463)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-18 14:01:35 +00:00
Mark Spencer
b96abb803c LPC fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-18 13:56:28 +00:00
Mark Spencer
574d3785ab Add extra checks for keys and convenience encrypt/decrypt functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-18 03:59:51 +00:00
Mark Spencer
d1be79cce2 If singlepath=yes, don't send multiple RTP streams during transfer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 20:08:40 +00:00
Mark Spencer
9d8c71ee86 Move routines from voicemail to app for general use (part of bug #752)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 15:05:29 +00:00
James Golovich
877f1f64c2 Cleanup code. Spacing issues, nested if issues, lots of strlen used instead of ast_strlen_zero
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 14:15:11 +00:00
James Golovich
a9f5393bfe Make chan_iax2.c compile again on older gcc. Remember definitions must come first
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 13:58:38 +00:00
Mark Spencer
038cd054ae Merge steven davie's IAX2 jitterbuffer fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 12:45:03 +00:00
Mark Spencer
e228c88d2a Merge anthm's monitor patch with minor mods (bug #2383)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 03:49:57 +00:00
Ben Kramer
4824ee8b20 / fixed slight typo/cut-n-paste bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 00:34:51 +00:00
Ben Kramer
0da1f7593d / fixed operation with record_play
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-17 00:14:48 +00:00
Mark Spencer
8fae88d368 Use compression on "make update"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-16 18:46:39 +00:00
Mark Spencer
5c32080a0c Get rid of compile warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-16 18:45:34 +00:00
Mark Spencer
610d52b054 Add IAX2/SIP register events to system (bug #2117)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-16 16:18:53 +00:00
Mark Spencer
0aa4c95a89 Fix tiny typo (bug #2455)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-16 12:53:10 +00:00
Mark Spencer
d2385517ac Fix sample macro
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-16 00:19:01 +00:00
Mark Spencer
3fc2609468 Fix app_disa to not ignore ignorepat :) (bug #2451)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 22:06:30 +00:00
Mark Spencer
0eec8c8318 Make ADSI in voicemail configurable (bug #2209)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 19:54:46 +00:00
Mark Spencer
bdc00dae0e Merge ADSI parking announcement (bug #2211)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 19:49:33 +00:00
Mark Spencer
a1442538b5 Update mp3 copyright header, fix pedantic + register in SIP (bug #2422)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 19:27:23 +00:00
Mark Spencer
ce68497243 First pass at LPC10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 18:40:07 +00:00
Mark Spencer
9a387e5a7a Queue congestion on REJECT (bug #2448)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 17:31:37 +00:00
Mark Spencer
c4aa1dadbd Use file that is in Asterisk rather than asterisk-sounds (bug #2445)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 14:12:45 +00:00
Mark Spencer
556f27ecf1 Fix extraneous message when using mysql friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 13:16:56 +00:00
Mark Spencer
ef2cd744cf Support both MySQL and traditional mailboxes in vmail.cgi (bug #2297)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 05:11:41 +00:00
Mark Spencer
f5b1c6c27e Update astgenkey to make empty ones too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 04:19:58 +00:00
Mark Spencer
5f93d06cf8 Oops, fix small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-15 00:43:13 +00:00
Mark Spencer
952a5e6dd9 Consider both tags as possible matches (bug #2422)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-14 23:04:39 +00:00
Mark Spencer
238b9d24c6 Make sure patterns are always last (bug #2435)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-14 22:35:53 +00:00
Mark Spencer
7457c51bc2 Add status for async manager originate (including ActionID) (bug #2434)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-14 22:15:50 +00:00
Mark Spencer
a4437b1362 Inband notifies always succeed (bug #2420)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-14 12:36:14 +00:00
Mark Spencer
45b91a90e1 Add pulse dial support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 23:07:50 +00:00
Mark Spencer
3cb1d7843b Bring sanity to inband notification on PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 22:14:34 +00:00
Mark Spencer
4d6b943ea4 Fix star 80 to star 60 (bug #2247)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 21:34:47 +00:00
Mark Spencer
d8aff59a9e Add set debug option, make output for set verbose better (bug #2428)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 18:19:15 +00:00
Mark Spencer
e9dbd238c8 Work with globals too (bug #2427)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 12:32:04 +00:00
Mark Spencer
89447a99ec Use fromdomain in creating callid if specified (bug #2427)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 12:24:38 +00:00
Jim Dixon
e499028440 Fixed minor issue in app_rpt(). Allows it to work better with many Linux distributions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-13 12:12:17 +00:00
Mark Spencer
2f82498995 Don't forget to return something other than -1 on the first pass if appropriate!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-12 15:29:56 +00:00
Mark Spencer
71df4d92da Automatically send proper signal on iax switch following dial (bug #2420)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-12 15:05:37 +00:00
Mark Spencer
ac1e884328 Improve initial poking behavior (bug #2419)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-11 13:50:26 +00:00
Mark Spencer
e31d4ee777 Don't set guardtime if channel is only reserved (bug #2421)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-11 13:37:36 +00:00
Mark Spencer
cc30079edd Use longer timeout if using http (bug #2418)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-11 13:31:04 +00:00
Mark Spencer
b76252d68e Add readme for variable (bug #2409)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-11 13:25:15 +00:00
Mark Spencer
ce868ed5f5 Do the same thing for pri_hangup_all in terms of releasing the PRI lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-10 18:58:05 +00:00
Mark Spencer
8283811633 Make sure we don't try to grab the sub and channel locks while still having the PRI lock! (bug #2392)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-10 18:47:13 +00:00
Mark Spencer
00f227a684 Properly lock management stuff (bug #2406)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-10 15:11:38 +00:00
Mark Spencer
a6e748e491 Handle macros in the CDR properly (bug #2414)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-10 13:40:56 +00:00
Matthew Fredrickson
8a12240f73 macro support in the dial command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-10 02:31:30 +00:00
Mark Spencer
815318b12f Handle both pre- and post- whitespace if pedantic checking is on (bug #2411)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-10 02:03:05 +00:00
Mark Spencer
5e0b84633e Make ${CALLINGPRES} available (bug #2409)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 20:05:57 +00:00
Mark Spencer
aa2a8ed77c Only pool CONGESTION if there is an owner in the case of a 501
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 15:40:07 +00:00
Mark Spencer
9e96cb612b Fix GotoIf logging level (bug #2396)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 13:00:21 +00:00
Mark Spencer
f54c287c73 Make GetVar respect ActionID (bug #2404/2405)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 12:50:56 +00:00
Mark Spencer
14e1fe4795 Make sure rtp->f.data is initialized properly for 3389 (asterisk dev mailing list)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 02:33:14 +00:00
Mark Spencer
81df8343d3 Only accept first callerid number (bug #2395)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 02:29:10 +00:00
Mark Spencer
388ca07547 Use noncodec capability when masking (bug #2394)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 02:07:26 +00:00
Mark Spencer
b3fdacf9cc Minor formatting fixup (bug #2397)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 01:36:01 +00:00
Mark Spencer
cb896da998 Don't consider RTP timeout if the channel isn't up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-09 01:33:17 +00:00
Mark Spencer
879c401544 Add option to register extensions on IAX or SIP registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 23:45:34 +00:00
Matthew Fredrickson
c6025e41c6 bug fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 15:18:14 +00:00
Matthew Fredrickson
52647db120 Changes from Dimitri for OSP codes, minor buglets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 15:16:18 +00:00
James Golovich
5adfdcba1e Change recent patch to not use a hard coded path inside of a .c file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 15:02:53 +00:00
James Golovich
550e8e56ba Formatting cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 15:01:48 +00:00
James Golovich
8d457d07c4 Formatting cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 14:51:20 +00:00
Mark Spencer
b3333ebc2e Don't attempt to qualify before we have a socket (bug #2331)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 14:40:34 +00:00
Mark Spencer
3454b5927f Make background support a language override (bug #2378)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 14:37:35 +00:00
James Golovich
54e81f5ca0 Formatting cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 14:36:56 +00:00
Mark Spencer
c1e14143fa Upgrade firmware to version 19 (improved timestamps from bug #2370), extra protetions for buck boost Q7.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 02:09:08 +00:00
Mark Spencer
97904aee06 Turn on usecallerid if distinctiveringdetection is on (bug #2389)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 01:56:18 +00:00
Mark Spencer
24e902d2a4 Merge anthm's "-t" flag (with minor mods) (bug #2380)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 01:49:08 +00:00
Mark Spencer
0da197d593 Compute power of 10 using ints instead of silly floats (bug #2390)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 01:28:52 +00:00
Mark Spencer
6b2e3f29f9 Consider service unavailable as CONGESTION (bug #2391)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 01:25:18 +00:00
Mark Spencer
64b9a563f2 Make menu interruptible (bug #2377), Also fix PBX "add extension" CLI (bug #2289)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-07 01:22:57 +00:00
Mark Spencer
a703e927b1 Add Czech digit/voicemail support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-06 15:43:43 +00:00
Mark Spencer
8d0d386970 Use stdlib.h instead of alloca.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-06 15:29:41 +00:00
Mark Spencer
dc542971df Allow "-" in password to make it unchangable (bug #2386)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-06 06:19:17 +00:00
Mark Spencer
8fb1ddeb5d Don't prompt for password if one is not needed (bug #2385)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-05 19:38:17 +00:00
Mark Spencer
e94fa076cb Fix some small voicemail password bugs (bug #2373)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-05 18:31:50 +00:00
Mark Spencer
f83715ce9c Add Anthony's format_sln (bug #2381)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-05 18:00:55 +00:00
Mark Spencer
b0970b9e33 Merge Brian West's append hostname patch (bug #2372)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-05 03:48:05 +00:00
Mark Spencer
f4b60a5c65 Turn off the hook detection unless explicitly compiled in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-04 15:00:05 +00:00
Mark Spencer
e7908a50e8 Add stream support and permit minimum respawn time (bug #2254)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-04 05:41:01 +00:00
Mark Spencer
789c4f4587 If nativeformats changes, recalculate formats (bug #2224)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-04 01:06:42 +00:00
Mark Spencer
19be63c4c3 Treat 400 response as "CONGESTION" (bug #2369)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-04 00:29:00 +00:00
Mark Spencer
04a9441769 Fix escaping ; (bug #2368)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-03 15:36:13 +00:00
Mark Spencer
a2da1f08bd Make sure shell version happens even if MySQL mailboxes are there (bug #2367)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-03 15:25:11 +00:00
Mark Spencer
eb57ea95d6 reload documentation, don't display res in app_test...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-03 14:02:12 +00:00
Mark Spencer
1e2db0e885 Allow external program to be used to change password (bug #2357)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-03 03:53:48 +00:00
Mark Spencer
d77ae42896 Display elapsed time in hours/mins/seconds (bug #2365 kinda sorta)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-03 03:44:35 +00:00
Mark Spencer
2a2d65541b Use exitcontext when available (bug #2363)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-03 03:26:29 +00:00
Mark Spencer
fd7577eed2 Don't try to look offhook with channel banks & Loopstart (bug #2362), also make individual modules reloadable...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 20:45:24 +00:00
Mark Spencer
93818c761b If '#' is sent for username, use callerid if available (bug #2301)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 19:18:35 +00:00
Mark Spencer
bc72d7584a Don't use FXO's with no battery (bug #2359)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 19:07:24 +00:00
Mark Spencer
b813a5f3fa Fix both app_read and underlying read issue (bug #2352)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 13:52:58 +00:00
Mark Spencer
d952c7ed71 Fix "duplicate answer" issue (bug #2342)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 13:48:11 +00:00
Mark Spencer
07166e63a3 Improve voicemail verbosity (bug #2351)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 04:57:37 +00:00
Mark Spencer
9888487f9c Fix minor typo (bug #2343)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 04:07:28 +00:00
Mark Spencer
3c7ab1ca5e Eliminate unnecessary historic "rm" commands from Makefile (bug #2349)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 03:34:12 +00:00
Mark Spencer
08a8632ac7 Decrease use count in wav_gsm (bug #2350)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 03:33:09 +00:00
Mark Spencer
4b2877834e Fix threeway calling + immediate mode (bug #2344)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02 03:32:07 +00:00
Mark Spencer
344ec00439 Add additional timeout debugging information on parking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-01 19:51:19 +00:00
Mark Spencer
082f628401 Slightly more verbose detail on PBX startup (bug #2339)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-01 18:29:43 +00:00
Mark Spencer
3cf360ae44 Fix teeny typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-01 02:28:38 +00:00
Mark Spencer
0c39d6de8e Grab each lock individually...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 21:55:19 +00:00
Mark Spencer
53262335c8 Add documentation for new courtesy tone (bug #2329)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 19:19:05 +00:00
Jeremy McNamara
380b9a40a3 nit picky fixups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 17:50:41 +00:00
Jeremy McNamara
f6109b7b94 add exten example. Thanks ManxPower
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 17:38:41 +00:00
Mark Spencer
1db964ad95 When queueing frames, it's pointless to queue a frame after a HANGUP frame is queued...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 17:30:46 +00:00
Mark Spencer
416079db61 Some need bigger registery
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 17:17:00 +00:00
Mark Spencer
49ca05642a Use "fullcontact" on outbound calls too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 17:12:09 +00:00
Mark Spencer
7d88098555 Use Contact for URI if supplied...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 16:49:20 +00:00
Mark Spencer
82db278716 More Asterisk sparc patches (courtesy Belgarath)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 16:33:00 +00:00
Mark Spencer
cfb711bf57 Make app_festival change more portable, allow '*' for context in iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 14:59:58 +00:00
Mark Spencer
471df8f512 Be sure to do ntohl before considering extended field
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 14:03:18 +00:00
Mark Spencer
9f1562a599 Minor SIP cleanup for poking on startup (bug #2331)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 13:49:18 +00:00
Mark Spencer
e2fe8ef485 Permit in-band and out-of-band Busy/Congestion (bug #2325)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 13:47:23 +00:00
Mark Spencer
4a19a2644f Don't redefine _THREAD_SAFE (bug #2332)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 13:39:04 +00:00
Mark Spencer
066a53df8a Fix permissions for festival app (bug #2334)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 13:37:30 +00:00
Mark Spencer
2a108b9b06 Merge NetBSD and Courtesty tone with modifications (bug #2329)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 13:32:11 +00:00
Mark Spencer
6749f1b8b5 Be sure we still check for proper buffer length
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 05:09:20 +00:00
Mark Spencer
8ff9c0d1b9 Adjust Makefiles to support Ultrasparc architecture (thanks Belgarath) (bug #2319)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 03:31:59 +00:00
Mark Spencer
b48987922c First pass at handling RTP header extension bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 00:16:28 +00:00
Mark Spencer
5259155e52 Make sure we behave properly for parking (bug #2292)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-31 00:08:52 +00:00
Mark Spencer
2f753040ef Revert back to 16 so keys are displayed properly (bug #2240)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-30 05:27:51 +00:00
Mark Spencer
bd7ca6bb69 Track extra parameters in contact (bug #732)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-30 05:21:34 +00:00
Mark Spencer
0f88c702df Look for feature group D on all E&M Wink Lines (bug #2228)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-30 05:07:27 +00:00
Mark Spencer
28e5320ab4 Minor fix in directory app (bug #2322)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-30 01:44:41 +00:00
Mark Spencer
47f8883942 Add test application (TestClient/TestServer), thanks Russell!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-30 01:43:41 +00:00
Mark Spencer
4c133e47da Set DTMF modes by peer/user properly (bug #2303)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-29 18:58:30 +00:00
Mark Spencer
0cf6b2ba31 Minor Makefile cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-29 17:40:58 +00:00
Mark Spencer
7fffa6e20a Make the polish speech not such an insane coding style
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-29 17:23:54 +00:00
Mark Spencer
ccdd86775f Don't use "class" keyword in music on hold (bug #2316)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-29 06:09:29 +00:00
Mark Spencer
91d2e58d1b Update DISA to be internationalized (bug #2284)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-28 19:41:18 +00:00
Mark Spencer
1327846518 Oops, back out bad makefile change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-28 17:34:40 +00:00
Mark Spencer
11b1e81197 Major DISA improvements (bug #2284)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-28 17:33:43 +00:00
Mark Spencer
616780b64e Warn if unable to open an overridden config file (but #2285)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-28 17:12:01 +00:00
Mark Spencer
90a497c3b8 Fix generator for VAD as well as for automatically syncing to incoming signal if present (bug #2312)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 22:53:56 +00:00
Mark Spencer
de1d9a90dd Fix nat registration (bug #2315)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 20:19:14 +00:00
Mark Spencer
516cd1ba8d Be sure errors on wite are passed back up (bug #2311)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 16:17:16 +00:00
Mark Spencer
c7541bd672 Merge "show applications" from corydon76 (bug #2291)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 04:21:09 +00:00
Mark Spencer
c3c13114fb Merge mochouinard's meetme fixups (bug #2230)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 04:12:55 +00:00
Mark Spencer
2863202bed Run generators from zap timers when available so as to interop with VAD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 03:28:32 +00:00
Mark Spencer
cab4557006 When detecting a hairpin, redirect to the appropriate local extension (bug #1974)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 03:16:16 +00:00
Mark Spencer
f1be7d7ffc Add new "route" mode to work around UNIDEN bugs (bug #2308)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-27 02:45:35 +00:00
Mark Spencer
c22fdb7232 Include UniqueId in rename events... (bug #2306)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-26 22:45:26 +00:00
Mark Spencer
bd1c5ac3cf Fix directory name in SMS (bug #2307)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-26 21:28:42 +00:00
Mark Spencer
fa814abe05 Repair offer/answer model (bug #2293), initial CNG work for new frametype
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-26 04:56:26 +00:00
Anthony Minessale II
03cd30b746 fixed a use count bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 18:30:51 +00:00
Anthony Minessale II
7ede296efd fix a bug in some small changes to astxs utility
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 18:20:49 +00:00
Malcolm Davenport
264fead207 Fixed??
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 14:14:57 +00:00
Malcolm Davenport
e5ad308a2b Still..
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 14:08:51 +00:00
Malcolm Davenport
f31a210cb2 Still working to resolve this...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 14:05:35 +00:00
Mark Spencer
b27c9f26fe Document caveats of promiscredir (bug #2195)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 06:25:18 +00:00
Anthony Minessale II
0ffa958fc4 some small changes to astxs utility
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-25 02:41:38 +00:00
Malcolm Davenport
e8483c021b Still trying...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 22:34:38 +00:00
Malcolm Davenport
5596c6a5da Still more tests
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 22:31:20 +00:00
Malcolm Davenport
0a6f41cdf2 More tests for asterisk-cvs@lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 22:28:59 +00:00
Malcolm Davenport
4219bdc2b4 More updates to test lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 21:26:19 +00:00
Malcolm Davenport
fa9c265ce7 More attempts to fix lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 21:09:05 +00:00
Malcolm Davenport
6d447004ea More attempts to fix lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 21:06:57 +00:00
Malcolm Davenport
091c6c36b9 Still testing asterisk-cvs@lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 21:00:25 +00:00
Malcolm Davenport
1f34a1dab4 Silly update to see if asterisk-cvs@lists is still borked
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 20:41:49 +00:00
Malcolm Davenport
ba55e8ae64 Silly change to see if asterisk-cvs@lists is working...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 20:29:55 +00:00
Malcolm Davenport
461596d9b1 Testing to see if asterisk-cvs@lists is still borked
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 20:15:34 +00:00
Malcolm Davenport
0e3fc6a4fe Still testing asterisk-cvs@lists...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 17:49:30 +00:00
Malcolm Davenport
6a589d5630 Still trying to debug the asterisk-cvs@lists problem :(
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 17:44:48 +00:00
Malcolm Davenport
b8c18d6176 Test "fix" to see what's wrong w/ asterisk-cvs@lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-24 17:34:54 +00:00
Anthony Minessale II
4210fd6ad9 make bug 2272 (which is actually caused by human error) less likely to happen
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-23 19:07:15 +00:00
Mark Spencer
1ddd0afe36 Make the guardtime work even if the date is < the year 1970, and if something weird happens in zap, don't stack overflow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-23 17:37:24 +00:00
Mark Spencer
230d4b38a3 Qualify rtptimeout with a reinvite having taken place (bug #2286)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-23 14:31:20 +00:00
Mark Spencer
1afd98d916 Handle quoted <'s (bug #2223)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-23 14:16:25 +00:00
Mark Spencer
60707a4172 Fix sigchld handling (bug #2245)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-22 18:33:19 +00:00
Jim Dixon
f2dcfca9c4 Fixed timing race with thread creation in app_rpt.c, and added settable
delays and such in config file.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-22 03:58:42 +00:00
Jim Dixon
d8436708c0 Made some what turned out to be several changes to allow for radio channels
to be handled properly in the case of an Alarm state on their span.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-21 21:41:54 +00:00
Mark Spencer
de3528f0be Save CID and switches in "save dialplan" command (bug #2279)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-21 18:55:39 +00:00
Mark Spencer
d0ab0358aa Fix small memory leak... (bug #2277)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-21 18:49:52 +00:00
Mark Spencer
4f9f6df42c Don't split unless it's got echo training
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-20 21:07:10 +00:00
Ben Kramer
ed20af4517 / check so as not to enable loo-drop on FXS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-20 02:55:29 +00:00
Mark Spencer
3ca96a1317 Fix divide by zero (bugs #2268 and 2259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-19 18:52:56 +00:00
Ben Kramer
3bcff2d2f9 / bit of a clean up and change of pthread_create to ast_pthread_create
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 23:58:07 +00:00
Malcolm Davenport
3e85e4b82c Add README.mp3 to docs to clear up confusion about working and
non-working versions of mpg123


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 14:27:25 +00:00
Mark Spencer
299b26ae4a Remove unused tmp2 variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 14:13:35 +00:00
Mark Spencer
bbbbcaf73f Make sure jointcapability really indicates joint capability (bug #2210)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 13:55:03 +00:00
Ben Kramer
37e789fd79 / lots of fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 05:06:26 +00:00
Mark Spencer
27f3c530ed Fix sample config typo (bug #2263)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 02:16:48 +00:00
Mark Spencer
534e44c599 Add another field to track whether video was invited or not (bug #2226)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-18 02:16:04 +00:00
Mark Spencer
1587fd6b84 Fix port numbers in IAX2 and iax2prov (bug #2261)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-17 23:57:36 +00:00
Mark Spencer
ce51451ca6 Fix minor typos (bug #2260)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-17 23:53:15 +00:00
Mark Spencer
3385ecc112 Can't check incoming sip debug until after we receive the packet!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-17 14:26:25 +00:00
Mark Spencer
5d589eb866 Fix broken 100 Trying on REFER and also send NOTIFY as per RFC 3515
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-17 14:20:43 +00:00
Mark Spencer
039aad9ff4 Merge Lenny's sorcery....
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-17 01:57:16 +00:00
Mark Spencer
a0b8879af4 Add little note about hold music
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-16 17:43:48 +00:00
Mark Spencer
e1c9ebc5b9 Merge MOG's first serious patch (new message patch) (bug #2071)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-16 04:05:43 +00:00
Mark Spencer
02ffc0eec8 Fix trivial typo (bug #2253)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-16 01:57:10 +00:00
Jim Dixon
a560227ccb Fixed remote base audio problem (where 2 different interfaces are in use) and
allow for non-rbi remotes and rbi remotes to co-exist on same system


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-16 01:35:02 +00:00
Mark Spencer
87a7a3aaff Fix little oops on sizeof()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-15 01:01:34 +00:00
Mark Spencer
6723ea3afb Oops, forgot message length
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-14 21:28:30 +00:00
Mark Spencer
3ff53cd50b Create binary versions of signature functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-14 20:19:38 +00:00
Mark Spencer
94f18868f1 Build on older versions of TDS (bug #2194)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-13 20:27:58 +00:00
Mark Spencer
e85d440f88 Don't request tones when in-band DTMF mode is enabled (bug #2248)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-13 13:19:29 +00:00
Mark Spencer
6910fd79f2 Fix missing \r\n
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-12 23:12:44 +00:00
Mark Spencer
c14b405974 Make Asterisk cause codes match those of Q.931 (bug #1999)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-12 22:09:18 +00:00
Mark Spencer
0125ed120f Specify D/ package in mgcp send digit routine (first commit from Adtran!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-12 20:26:40 +00:00
Mark Spencer
be2d39a1a5 Fix duplex code for FreeBSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-12 03:19:19 +00:00
Mark Spencer
cbe0264949 Prep for RC-2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-12 03:05:08 +00:00
Mark Spencer
96e2c3a3aa Fix agentcallbacklogin wrapup time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-11 19:02:46 +00:00
Mark Spencer
7216081447 Allow on/off (bug #2233)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-08 22:22:30 +00:00
Mark Spencer
7acee329e1 Merge BSD stack size work (bug #2067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-08 17:15:02 +00:00
Mark Spencer
916566ac11 Make sure we use AF_INET
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-08 04:49:43 +00:00
Mark Spencer
785eaf01b3 Only consider linear frames for talk detection -- ignore anything else (bug #2219)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 22:57:13 +00:00
Mark Spencer
ccbc7a6835 Fix a couple minor command line completion issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 19:27:54 +00:00
Mark Spencer
6193bc31b8 Merge Steven Davie's bridging patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 19:16:53 +00:00
Mark Spencer
698820f4e3 Add application to set callerid presentation (bug #2078)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 15:51:11 +00:00
Mark Spencer
34e40a3a59 Wait for command to complete (bug #1733) and take RTP 19 as CN too...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 14:22:09 +00:00
Mark Spencer
a21e295c96 Add CDR documentation (bug #2205)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 04:15:33 +00:00
Mark Spencer
082d7ee4b8 Don't install mpg123 unless it was built
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 03:01:52 +00:00
Mark Spencer
bdd9753f1e Make clean target too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 02:57:28 +00:00
Mark Spencer
0df4b4eb64 Add mpg123 target
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-07 01:26:09 +00:00
Mark Spencer
2ee29be0e8 Fix pager voicemail notification from string (bug #2142), MOG's first patch!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-06 21:30:39 +00:00
Mark Spencer
172a45d603 Merge the remaining bit of the verbose update (bug #2213)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-06 17:09:54 +00:00
Mark Spencer
27d0ebc686 Only play announce time on first pass
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-06 14:43:25 +00:00
Mark Spencer
be02813c26 Keep track of timelimit across entries to ast_channel_bridge (bug #2222)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-06 13:54:07 +00:00
James Golovich
85a15b4fc9 Add app_verbose.c to cvs (bug 2212)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-06 02:12:54 +00:00
Mark Spencer
c16542c1d0 Allow directory to be searched by first name (bug #2208)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-05 22:02:33 +00:00
Mark Spencer
1de05fb7da Merge (slightly modified) app_verbose from tilghman (bug #2213)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-05 21:45:58 +00:00
Mark Spencer
a2e82071c5 Fix little MGCP buglet with the wildcard endpoint (bug #2216)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-05 21:36:33 +00:00
Mark Spencer
cfba600eab Fix verboser issue over network (#2217)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-05 21:22:56 +00:00
Mark Spencer
99f901f065 Fix "tell" for wav (bug #2212)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-04 00:42:49 +00:00
Mark Spencer
f074b92823 Merge nicolasg's manager/cli patch (bug #2207)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-03 17:48:18 +00:00
Mark Spencer
07f349766c Don't offer codecs not allowed on a reinvite
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-03 17:00:54 +00:00
Malcolm Davenport
892b06e282 Add BKW's fix so that MOH doesn't get killed on Call Parking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-03 14:09:48 +00:00
Mark Spencer
f3522b6c01 Plane commits (a.k.a. the Delta deltas): 1) Make muted reconnect 2) Add "X" option to meetme and add ${MEETME_EXIT_CONTEXT}, 3) Allow SIP call parking with supervised transfer, 4) Only create parking entries when calls actually get parked, 5) Add "sunshine" song, 6) Update hardware documentation, 7) Don't load empty strings from history file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-03 06:31:20 +00:00
Mark Spencer
437f625786 Add user number (bug #2203)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-02 15:28:12 +00:00
Mark Spencer
8b364485a0 dynamic_pin can be NULL (bug #2202)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-02 13:10:15 +00:00
Malcolm Davenport
345dff63e9 Add CREDITS credit for www.freeplaymusic.com - Hold Music
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-02 12:20:46 +00:00
Mark Spencer
76913125d8 Create initial framework for single channel support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-02 04:32:37 +00:00
Mark Spencer
f195e423f4 Correct for user selecting 'D' when they should be selecting 'd' (bug #2200)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-02 02:58:15 +00:00
Mark Spencer
5abc3ecb56 Don't reload subchannels of wild card endpoint on reload.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 21:25:35 +00:00
Mark Spencer
87787b05ae Fix OpenBSD compile (bug #2193)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 18:48:37 +00:00
Mark Spencer
4f2b8f8e9a Add some more hold music
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 18:47:02 +00:00
Mark Spencer
c8170cf360 Fix double comma typo in sql_create_table (bug #2196)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 18:28:10 +00:00
Mark Spencer
358ff9f7d6 Make sure it's really a dotted IP (bug #2198)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 18:26:41 +00:00
Mark Spencer
e094bf07dc Don't record empty lines (bug #2175, but not using proposed patch)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 18:12:52 +00:00
Mark Spencer
05e338ce75 Rename newp to newpvt (bug #2190), change hold music.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 14:19:04 +00:00
Mark Spencer
fbe6024753 Fix reload with wildcard endpoint
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 03:59:13 +00:00
Mark Spencer
4d3f4f719a Get rid of TDS warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 03:53:34 +00:00
Mark Spencer
b240128ed4 Make sure it's a const
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 03:14:11 +00:00
Mark Spencer
70b3ab34a8 Uhm, that should be 0!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 02:39:32 +00:00
Mark Spencer
27e3cd9ca8 Merge gryn's transfer digit timeout patch (bug #2184)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-08-01 01:38:15 +00:00
Mark Spencer
13a45232fa Get other instance of 101 changed to "payload" (bug #2191)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 23:02:55 +00:00
Mark Spencer
c4bfcdeec5 Create manager show channels comamnd (#2186) to monitor zap channel status
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 20:43:24 +00:00
Mark Spencer
cfcc58d96e Don't hard code the RTP payload type to 101 (bug #2192)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 20:31:11 +00:00
Mark Spencer
096feeeddd Allow priority to be set in addition to -U / -G (bug #2173)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 20:25:07 +00:00
Mark Spencer
2de01f7b7e Send proper contact in 200 OK to REGISTER
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 04:04:05 +00:00
Mark Spencer
0369242c4c Fix information elements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 02:51:40 +00:00
Mark Spencer
a70d444333 Improve debugging of RTP ports (bug #2131, heavily modified)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 02:31:24 +00:00
Mark Spencer
79a00a33f9 Respect "AST_EDITOR" rather than "EDITOR" so as not to change the default bindings from emacs to vi (bug #2185)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31 02:23:27 +00:00
Malcolm Davenport
c542576190 Bug # 2171: Add permission to QueueAdd and QueueRemove manager commands
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 20:38:45 +00:00
Malcolm Davenport
725c352e94 Bug # 2170: Add authority_to_str function to let Administrator issue command to find privilege string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 20:27:42 +00:00
Mark Spencer
64e1166e6f Reset conferencing on final hangup (bug #2172)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 20:23:06 +00:00
Mark Spencer
57b6515d82 Fix potential overflow in H.323
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 20:01:58 +00:00
Mark Spencer
e786eae3cd Fix MGCP endpoint (#2182)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 19:58:20 +00:00
Malcolm Davenport
a322c6f411 chan_h323 Makefile change for Bug #2064. Also back out changes for Bug #2115..next time read carefully. :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 18:57:37 +00:00
Mark Spencer
943133953e Fix little unregister buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 18:42:46 +00:00
Malcolm Davenport
f6717c92b2 Bug # 2174: Respect EDITOR environment variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 18:30:48 +00:00
Malcolm Davenport
9b0b4bf041 Bug # 2115: Allow Caller TON to be retrieved in the dialplan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 18:21:54 +00:00
Malcolm Davenport
183fb08ee6 Bug # 2181: Support the PING event in MGCP.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 18:02:18 +00:00
Malcolm Davenport
760bc42049 Bug # 2090: Add mgcp.conf.sample for Wave7Optics FTTH LMG
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 17:57:02 +00:00
Mark Spencer
3329f8154e Add default username patch (bug #2178)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-30 14:59:56 +00:00
Mark Spencer
b4f6d91eda Default port to 5060
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-29 18:58:57 +00:00
Mark Spencer
0f93207cda Clear things out for the bearer too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-29 04:26:42 +00:00
Mark Spencer
43866cf0d9 Don't get stuck looping when looking for CRV's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-29 02:07:03 +00:00
Mark Spencer
deb02a000f Add "username" to sip show peer (bug #2163) as well as a few config cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-28 21:07:38 +00:00
Mark Spencer
baef4818d2 Somehow matt's patch didn't make it all the way in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-28 20:41:49 +00:00
Mark Spencer
bf70a01da6 Merge alternate hangup and meetme patches from Matt N.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-28 19:25:14 +00:00
Mark Spencer
5733f64bdd Only Call PQfinish if conn isn't NULL (bug #2162)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-28 18:42:35 +00:00
Mark Spencer
a57ad69b53 Fix "ZapOffHook" (bug #2161)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-28 18:38:29 +00:00
Mark Spencer
7b52e19b6d Unify queue add/remove from manager and CLI (bug #2125/2123)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-28 02:55:22 +00:00
Mark Spencer
728e55e697 Fix date/time in TDS stuff (bug #2147)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 21:16:41 +00:00
Mark Spencer
71f41a06dc Make ACK sticky too (bug #2134)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 19:00:06 +00:00
Mark Spencer
e90022767d Allow optional event whenever an agent is called from a queue (bug #2066)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 04:13:04 +00:00
Mark Spencer
a395d75a91 Make request URI in CANCEL match that of the original INVITE exactly (bug #2134)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 04:04:45 +00:00
Mark Spencer
42837cde4c Allow you to enter the pin again during th "invalid pin" message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 03:10:26 +00:00
Mark Spencer
1394a78bd6 Merge tilghman's meetme fix for reentering pin (bug #2143)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 03:08:00 +00:00
Mark Spencer
e4d4c93bd8 Merge ALSA fixes (bug #2145)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 02:46:24 +00:00
Mark Spencer
00f3bf560b Make sure index >= 0 before initializing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 02:19:52 +00:00
Mark Spencer
5bd8cf6cde Swap subs before releasing lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-27 00:53:09 +00:00
Mark Spencer
9e789de703 Work properly on a reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-26 19:37:11 +00:00
Mark Spencer
d1ad2a695d Turn off DTMF generally in MGCP and make option to enable RFC2833 or in-band
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-26 19:33:36 +00:00
Mark Spencer
d0c1882cf7 Make sure we release the correct lock!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-26 13:38:47 +00:00
Mark Spencer
0abd9ec096 Fix potential transfer seg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-26 13:16:57 +00:00
Mark Spencer
25afd9876c Fix ADSI prog to only accept 253 (bug #2135)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-26 03:23:38 +00:00
Mark Spencer
eb718e597d Let safe_asterisk take arguments (bug #2085)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-25 23:12:33 +00:00
Mark Spencer
1bfdd45fca Upgrade IAXY firmware to version 18
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-25 22:11:20 +00:00
Mark Spencer
d189993f15 Add Manager CDR (off by default) (bug #2127) courtesy cybershield
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-25 14:56:34 +00:00
Mark Spencer
6f5eb3b8fa Create one generally useful runtime option and one compile time option to work around bugs in the DPH100M phone (bug #2122)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-25 01:20:16 +00:00
Mark Spencer
4eedf0cd2e Sometimes we get subunalloced, gotta free lock first
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 23:53:02 +00:00
Mark Spencer
630ca201d6 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 23:45:37 +00:00
Mark Spencer
bf17aa1eca Hold lock for three-way channel (bug #2107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 23:38:23 +00:00
Mark Spencer
5ed7dc3590 Lower default volume
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 21:06:54 +00:00
Mark Spencer
0fc1ef8c9d Fix astman build on FreeBSD (bug #2119)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 03:52:53 +00:00
Mark Spencer
d89ed4ab5f Create option for joining empty queue (bug #2126)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 03:37:50 +00:00
Mark Spencer
0905b587cf Add debian initialization script (bug #2008)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 03:17:52 +00:00
Mark Spencer
35ffb12ae8 Work on copy of firmware so that it doesn't get corrupted on a "make install" (bug #2106)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 02:50:11 +00:00
Anthony Minessale II
4dba976a7f added support to be able to set the channel var TRANSFER_CONTEXT so when
a #transfer is executed it uses ${TRANSFER_CONTEXT} from transferree else
from transferer else it acts as always
-anthm


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 02:29:40 +00:00
Mark Spencer
d3499da6fd Merge tilghman's app/appdata in newexten patch (bug #2104)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-24 02:26:07 +00:00
Mark Spencer
a1531e0ae3 Ad MSSQL CDR support (bug #1859)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-23 17:34:57 +00:00
James Golovich
7f234dbc4e Clarify in extesions.conf.sample that there must always be a priority 1 for an extension to be valid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-23 17:00:04 +00:00
Mark Spencer
1a3ec0536c Revert to firmware 16, since 17 seems to have issues breaking dialtone
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-23 02:07:20 +00:00
Mark Spencer
832da92bdc Demand more information on callerid to prevent possible overruns
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-23 00:27:26 +00:00
Mark Spencer
e85731555d Fix YDL build (bug #2109)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-22 23:43:26 +00:00
Mark Spencer
7ab67c9fba Remove quotes from MD5 (bug #2116)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-22 23:16:40 +00:00
Jeremy McNamara
0afbb8bcbf clean up warnings, and re-add a return, how did that get removed?
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-22 04:24:50 +00:00
Mark Spencer
bb75fcc4db Copy account code and flags form incoming to outgoing channel for purposes of local stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-22 03:51:54 +00:00
Jeremy McNamara
0bb8d95674 more changes to properly copy the call token and a small code optimization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-21 16:36:10 +00:00
Jeremy McNamara
405d0be9fe const is evil?
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-21 00:49:06 +00:00
Mark Spencer
b5ad8c24be Make '*' count as cancel (bug #2098)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-20 22:24:15 +00:00
Mark Spencer
e252af2152 Fix user agent on reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-20 22:22:36 +00:00
Jeremy McNamara
a59c1d2ac4 first attempt to properly copy and then free call detail strings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-20 21:04:16 +00:00
Mark Spencer
e49aae74d0 Never destroy channel when there is an owner
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-20 15:29:09 +00:00
Mark Spencer
c87d1f6309 Fix logger issue at hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-20 15:10:18 +00:00
Mark Spencer
a23fa08274 Minor scheduling fixups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-20 13:43:33 +00:00
Mark Spencer
24a5704798 Update dial documentation (bug #2096)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 19:47:21 +00:00
Mark Spencer
d3397cd37d Don't copmile in the no-RTP checksum stuff for non-Linux (bug #2089)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 18:09:33 +00:00
Mark Spencer
f8594ac304 Make sure s is initialized, make FAX_DETECT + OLD_DSP_ROUTINES build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 16:00:40 +00:00
Mark Spencer
ed42d3074d Merge mic's minor patchlet (bug #2092)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 15:52:57 +00:00
James Golovich
eb80683222 Fix chan_zap compiling without libpri
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 05:00:05 +00:00
Mark Spencer
5808760bf4 Fix signalling for GR303 FXSKS CPE so we can look like a concentrator
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 02:18:11 +00:00
Mark Spencer
404485711e Merge damin's updated redhat scripts for starting/stopping/reloading asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 01:48:52 +00:00
Mark Spencer
daf76979ca Add options to background (bug #2075) and update documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-19 00:30:39 +00:00
Mark Spencer
73f91fcc44 Grab the Message-ID too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-18 20:50:37 +00:00
Mark Spencer
8a4967294f Make that setgid...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-18 18:52:36 +00:00
Mark Spencer
dc60239686 Add Asterisk manpage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-18 17:58:05 +00:00
Mark Spencer
b600cf2232 Add -U and -G options to set user/group to run as
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-18 16:20:54 +00:00
Mark Spencer
d9be9eb5a8 Need actual offset space (bug #2076)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-18 15:58:57 +00:00
Mark Spencer
449bef5a36 Oops, make that ast_features
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 23:56:12 +00:00
Mark Spencer
b53507021e Fix the name :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 23:54:23 +00:00
Mark Spencer
463444b391 Don't consider port number in name of peer in create_addr (bug #1974)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 23:27:11 +00:00
Mark Spencer
a1cf0fbd43 REduce chattyness
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 22:06:26 +00:00
Mark Spencer
2f2122875a Add option to disable checksums on RTP UDP ports (bug #2068)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 21:08:12 +00:00
Mark Spencer
569b95352a rename "parking" to "features" in preparation for some more (possibly post 1.0) feature additions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 20:58:01 +00:00
Mark Spencer
ab7cd94b60 Update documentaion to be clearer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 20:36:31 +00:00
Mark Spencer
57217916f1 First pass at AGI registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 20:25:39 +00:00
Mark Spencer
de4188df06 Merge musiconhold stuff (bug #2027), restructure AGI to eventually support registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 20:12:28 +00:00
Jeremy McNamara
f10148d3e3 actually implement the setting of noFastStart and noH245Tunneling.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 19:38:30 +00:00
Mark Spencer
b1e841edab Make bound more unique (bug #2072)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 19:24:36 +00:00
Mark Spencer
68070c82d0 Change IAX2 naming convention
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 04:13:12 +00:00
Mark Spencer
823f4559c9 Update Changelog/BUGS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 02:52:52 +00:00
Mark Spencer
f202a8dbb3 Typo / whitespace fixes (bug #2052)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 02:25:53 +00:00
Mark Spencer
09c3679e2d Voicemail fixes (bug #1982)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 01:34:20 +00:00
Mark Spencer
6b8ecfa35f Add separated dialplan support (bug #2043)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-17 01:30:43 +00:00
Mark Spencer
3abd26bfdf Don't look for bearers when there are none.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 22:15:30 +00:00
Mark Spencer
03b1d1ea8c Re-listen after MGCP reload (bug #2061)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 21:22:55 +00:00
Mark Spencer
b1d55878a7 Implement confirmation for PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 20:51:54 +00:00
Mark Spencer
d5c614397a Fix minor memory leak from tab completion (bug #2059)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 20:41:17 +00:00
Mark Spencer
eac29e9814 Only apply acking when method matches, too, when not acking a response
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 15:45:37 +00:00
Mark Spencer
bba1faf910 Last set of strncpy/snprintf updates (bug #2049)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 04:40:54 +00:00
Mark Spencer
78117423fa Allow multiple groups (group categories)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 04:32:17 +00:00
Mark Spencer
5de01235b6 Put header files in -devel package (bug #2058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 03:46:52 +00:00
Mark Spencer
e167cc89f8 Fix native zap bridging with GR-303
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-16 02:24:57 +00:00
Mark Spencer
05d3d9c25f Fix silly typo (and make order slightly easier to read) bug #2054
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-15 22:14:27 +00:00
Mark Spencer
957782627c If breakon is unspecified, make it ""
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-15 14:37:09 +00:00
Mark Spencer
6e9d4faf61 Build contact without @ sign if there is no extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-15 14:31:20 +00:00
Ben Kramer
0a4a5483ae / changed samples from 240 to 160 as per all other drivers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-15 01:24:15 +00:00
Ben Kramer
bab6f6bdf2 / remove extrenous NULL at end of function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 21:55:01 +00:00
James Golovich
fa0ca01ffe Minor formatting fix from code audit in cli.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 14:53:24 +00:00
Mark Spencer
044ad2e2e7 Merge remaining audit patch (save dlfcn.c)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 13:57:15 +00:00
Mark Spencer
9cd917c42a Improve SIP history
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 11:51:44 +00:00
Mark Spencer
1b9251ad14 If we get 200 OK back on INVITE after we send CANCEL, send ACK *and* send BYE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 11:10:05 +00:00
Mark Spencer
2f1c9c690f Add missing include (bug #2040)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 10:34:25 +00:00
Mark Spencer
0c6b76f7c2 Make parked calls events more consistant (bug #2033)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 07:53:57 +00:00
Mark Spencer
2a9d43407b Oops forgot one (bug #2038)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 07:48:47 +00:00
Mark Spencer
8ed49644a6 Remaining rgagnon source audit improvements (bug #2011)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 07:44:19 +00:00
Mark Spencer
872685d088 Merge rgagnon's pedantic string changes (apps n-z) (bug #2038)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 07:34:34 +00:00
Mark Spencer
4d32c46126 Merge rgagnon's pedantic string checks (apps a-m, bug #2035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 07:22:30 +00:00
Mark Spencer
4290558ec0 Don't overwite config files in RPM (bug #2036)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 07:14:20 +00:00
Jim Dixon
9b08305eae Made changes to app_rpt.c and rpt.conf, including fully user-definable DTMF
command definitions, and an improved ID methodology.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 05:54:54 +00:00
Mark Spencer
f78179c374 Publish DIALEDTIME and ANSWEREDTIME in case people want to know them
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-14 01:10:24 +00:00
Anthony Minessale II
e42c11905e fix compiler warning in res_config_odbc.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-13 22:53:17 +00:00
Mark Spencer
3fdbac912a Use tohost, not the name of the peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-13 02:44:11 +00:00
Mark Spencer
3ba284094e Fix silly little seg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-13 02:34:02 +00:00
Mark Spencer
634521b59b Make code agree with documentation so you can use sip peers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-13 02:20:44 +00:00
Jeremy McNamara
423fd40090 attempt to stop lamers from doing inband DTMFon compressed codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-12 20:06:05 +00:00
Mark Spencer
058f20179b Merge cosmetic fixes from steve
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-12 15:33:40 +00:00
Mark Spencer
dd293ed6fe First pass at properly handling account codes in forwarding
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-12 14:46:10 +00:00
Mark Spencer
3c7300d145 Just to be especially nice, only send 100 Trying at the start of parking and don't send the 202 Accepted until the end -- still doesn't help the SNOM. They seem to give dialtone as soon as they send REFER...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 22:43:15 +00:00
Mark Spencer
fb3f2062fa Fix silly pbx spool buglet (bug #2007)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 21:34:24 +00:00
James Golovich
9e0e3799bf Fixes from bkw_. Formatting in app_db.c and handle start right in cdr_pgsql.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 16:19:00 +00:00
Anthony Minessale II
f107562f75 fix res_config_odbc iax dual peer issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 14:47:59 +00:00
Mark Spencer
602d616726 Expire time fix (bug #1996)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 11:03:33 +00:00
Mark Spencer
611da9b699 Swap states early in masquerade process (bug #1987)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 10:57:43 +00:00
Mark Spencer
34ed331f82 Fix Zap buglet, add support for SIP parking -- doesn't seem to work quite right on SNOM.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 10:46:50 +00:00
Mark Spencer
7ca6f85a41 More strcpy / snprintf as part of rgagnon's audit (bug #2004)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 10:08:09 +00:00
Jeremy McNamara
069d045513 fix seg fault condition
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 08:52:35 +00:00
Mark Spencer
7c97de2611 Give Busy() and Congestion() an optional timeout
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 08:32:09 +00:00
Mark Spencer
11ee0b6a41 Add "skipaftercmd" option to voicemail to move to the next message automatically (bug #1984)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 07:39:39 +00:00
Mark Spencer
a40e6c115f Fix provisioning for unload/reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-09 07:37:44 +00:00
James Golovich
4113c814c7 Massive res_config_odbc.c formatting cleanups from bkw_. Thanks!!!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 20:16:28 +00:00
James Golovich
8426e454de Massive code formatting cleanup in res_odbc.c thanks to bkw_
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 19:58:26 +00:00
Malcolm Davenport
c5e44cc3cb Bug # 1973: Change write to ast_carefulwrite
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 19:41:34 +00:00
James Golovich
c793ab62ff Fix *BSD compilation of iax2-provision.c. We should probably move the IPTOS_MINCOST checking stuff over to a header fle that gets included
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 19:35:42 +00:00
James Golovich
decd0771ee Cleanup recent manager changes. We have a doc/CODING-GUIDELINES file for
a reason.  Make sure all future patches follow the guidelines.

Some of the problems with this include:
	Unnecessary whitespace changes
	Use of spaces instead of tabs
	Code formatting that doesn't follow the published guidelines
	Nested statements without braces
	Comment problems


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 17:08:38 +00:00
Mark Spencer
68dd66c46d Don't free until after externnotify (bug #1993)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 16:24:16 +00:00
Anthony Minessale II
568ba9c398 This patch allows an event mask to be sent on a manager login session
either using an integer value or a ',' sep list of flags exactly like
the manager.conf read and write lines.

e.g.
Events: system,call,log
or
Events: off
or
Events: on

Also you can change it mid-session with Action: Events

e.g.
Action: Events
EventMask: system,call,log

-Tony (anthm)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 15:39:35 +00:00
Mark Spencer
e3d12a2ab2 Re-fix bug #1977 (bug #1997)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 15:03:48 +00:00
Malcolm Davenport
c4a633a87b Bug #: 1992. Include priority
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 14:49:03 +00:00
Mark Spencer
b5780eda44 Use real bind address
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 14:06:22 +00:00
Mark Spencer
65fc87b245 Merge bkw_'s ODBC patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 13:18:04 +00:00
Mark Spencer
12b3b6c86e Use proper bind address
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 13:04:42 +00:00
Mark Spencer
8ebfe337a7 Extend bindaddr to RTP connections on SIP (bug #1989 et al)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 11:46:15 +00:00
Mark Spencer
28076a9c68 Cleanup SIP formatting, strncpy's strncats and global variable names (bug #1990)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 11:05:03 +00:00
Mark Spencer
851fce9568 Make ringing clearer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 09:20:14 +00:00
Mark Spencer
91a7960ad5 Add SQLite CDR support (bug #1986)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 08:29:26 +00:00
Mark Spencer
216fd6e249 Merge matt's voicemail patch with some restructuring (bug #1971)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 07:31:09 +00:00
Mark Spencer
18844270c3 When doing rport, remove the ";rport" before adding ";rport=5060"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-08 07:21:52 +00:00
Malcolm Davenport
fd9b6d13e6 Trivial fix for README.messages-expire
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-07 21:02:07 +00:00
Malcolm Davenport
5fa70e63a0 Bug #: 1988 Fix compile problem with iax2-provision.c under
FreeBSD


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-07 17:26:28 +00:00
Mark Spencer
432bb121f3 Cleanups to the ordering of events in dial, don't freak out on the wrong codec
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-07 16:02:13 +00:00
Mark Spencer
52549b25cd Deprecate emailtitle since emailsubject is more powerful.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-07 12:42:44 +00:00
Mark Spencer
fba5172e8a voicemail cleanups from rgagnon (bug #1977)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-07 12:29:20 +00:00
Mark Spencer
155d84a979 Add IAX provisioning support to Asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-07 09:34:01 +00:00
Mark Spencer
a7d2842beb Fix typo in sample config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-03 22:44:17 +00:00
James Golovich
70c530630a Fix compiler warning because file.h isnt included
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-03 16:19:23 +00:00
Jeremy McNamara
a722b0462e add utils.h include. Bug #1965
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-03 05:22:21 +00:00
Mark Spencer
f63d46097d Back out accidental changes by anthm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-02 23:11:14 +00:00
Anthony Minessale II
75d4369dfc autodial update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-02 22:40:09 +00:00
James Golovich
3697f7dbcc Make app_txtcidname.c use ast_strlen_zero and cleanup the code a bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-02 19:24:16 +00:00
James Golovich
9de6aed36b Fix TXT lookups so they dont strip off the last 2 characters
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-02 19:20:09 +00:00
Mark Spencer
2e5873cb5d Fix missing context when calling app_hasvoicemail (bug #1962)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-01 21:58:50 +00:00
Mark Spencer
d2f22c57fe Merge Steven Davies latest jitter buffer patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-01 21:55:06 +00:00
Anthony Minessale II
b1d9a040d4 bring justice to gotoif's always true bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-01 20:42:49 +00:00
James Golovich
fb8ebe6365 Reverse login on voicemail email sending. Last change made it send email only if there was no address specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-01 17:34:42 +00:00
James Golovich
201849fb42 Fix IAX2 registration time. We want to set reg->refresh to the new value only if its lower not if its higher. (bug 1955)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-01 04:04:30 +00:00
Malcolm Davenport
8e2e53c987 Fix stupid typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 18:30:48 +00:00
Malcolm Davenport
bd7418b625 Bug #1957. Take two
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 18:30:10 +00:00
Malcolm Davenport
3cf3edb14f "Unfix" Bug 1957...this isn't the solution
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 18:11:56 +00:00
Malcolm Davenport
3e2806114b Bug # 1957. No more sending e-mails if the address isn't
present.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 17:49:42 +00:00
Mark Spencer
2f911dfba6 Use INET_ADDRLEN (bug #1956) (from airport!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 16:56:51 +00:00
Mark Spencer
64439e0692 Read/Record updates (bug #1947)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 16:04:28 +00:00
Malcolm Davenport
b94f5ca495 Bug #1952: iaxbuf now declared in chan_iax2.c and chan_sip.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 13:57:49 +00:00
Mark Spencer
1f1c915fea Merge Steven Davie's timestamp improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 06:03:57 +00:00
Mark Spencer
7be9c6e469 Add "show file formats" (courtesy bkw_) and Update IAXY firmware to 17 (altserver support)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-30 03:22:29 +00:00
Mark Spencer
60ad539878 Formatting fixes (bug #1951)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 20:10:57 +00:00
Mark Spencer
9b32ff1eeb Minor formatting fixes for pbx_wilcalu
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 20:09:43 +00:00
James Golovich
074f8d9378 Use snprintf in __ast_request_and_dial instead of sprintf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 19:29:03 +00:00
Mark Spencer
4b5f53d6a0 One more FreeBSD fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 19:21:25 +00:00
Mark Spencer
34208f76a5 Update variable descriptions (bug #1948)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 18:02:38 +00:00
Mark Spencer
e7bd1ce7b9 Remove duplicate declaration (bug #1950)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 18:00:14 +00:00
Mark Spencer
a8d8221357 FreeBSD fix for utils (bug #1949)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 17:54:25 +00:00
Mark Spencer
ee4a248e6b Make history configurable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 14:44:29 +00:00
Mark Spencer
4d0dd2775a Report checksum failures as such (bug #1942)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 14:22:27 +00:00
Mark Spencer
eb6b35b75f Display invalid extension when there is one, fix minor OSP typo, Don't send 200 OK after 403 Forbidden on SUBSCRIBE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 13:52:03 +00:00
Mark Spencer
9a478cb855 Prefer extensions within a macro to those outside (bug #1943)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 13:12:18 +00:00
Mark Spencer
457528ae86 Don't build old chan_iax by default (oops)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 13:03:39 +00:00
Mark Spencer
733c167528 Update asterisk spec file (bug #1946)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 12:57:52 +00:00
Mark Spencer
f97df161f4 Create reentrant ast_inet_ntoa and replace all inet_ntoa's with ast_inet_ntoa's (but #1944)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 12:56:46 +00:00
Mark Spencer
5bb0c3786d Oops (fix typo)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 12:40:15 +00:00
Mark Spencer
6195ae7453 Perform deadlock avoidance on initial entry, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 12:38:04 +00:00
Mark Spencer
779140b94c Placeholder for GR303-FXSKS signalling (not yet finished)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 11:45:51 +00:00
Mark Spencer
196112076c Fix small typo (bug #1945)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 11:40:54 +00:00
Mark Spencer
30910d48bc Avoid potential deadlocks in channel_walk_locked, and detect serious failures
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 10:51:00 +00:00
James Golovich
408ead2dda Add manager action descriptions for 'Events', 'Logoff', and 'Hangup'.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 05:04:48 +00:00
Jim Dixon
baa46147a5 More improvements to app_rpt.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 04:43:20 +00:00
James Golovich
3d0e3d3c0f More formatting cleanups.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 04:42:19 +00:00
Mark Spencer
560068617a Make sure pollres is initialized to 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-29 01:43:55 +00:00
Mark Spencer
ef0128ec41 Allow nat=never mode to work around buggy UNIDEN UIP200 firmware (bug #1935)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 23:24:36 +00:00
Mark Spencer
5fec7176e0 Merge Tilghman's meetme updates (bug #1934)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 22:10:50 +00:00
Mark Spencer
a11c4965b7 If we don't accept a SUBSCRIBE, set needdestroy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 21:37:25 +00:00
Mark Spencer
b283a02a7d Merge seconds announcement for queue hold time (bug #1941)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 20:17:20 +00:00
Mark Spencer
09c41b415d Merge OSX compatibility patch (bug #1940)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 20:10:28 +00:00
Mark Spencer
9b6bd35ed3 Allow custom beep to be specified for agents (bug #1938)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 18:40:41 +00:00
Mark Spencer
eb9adf42d6 Directory fixes (bug #1887)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 15:08:39 +00:00
Jeremy McNamara
6f0a7f7a15 Add new built-in app 'SetAMAFlags'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 03:48:53 +00:00
Jeremy McNamara
614d878b04 Add new built-in app 'SetAMAFlags'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-28 03:41:41 +00:00
Jim Dixon
a9da004305 Added 'polite ID' concept in app_rpt.c and fixed a couple of silly telemetry issues.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-27 20:16:58 +00:00
Jeremy McNamara
88eede5218 apply temporary fix to stop people from whining.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-27 20:06:44 +00:00
Mark Spencer
9127ab071b Add option for in-band progress (bug #1879)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 21:17:12 +00:00
Mark Spencer
05110e85d3 Add ability to send detailed mailbox info (bug #1690)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 20:55:35 +00:00
Jim Dixon
ca75adf9cb Fixed autopatch so that it would take digits from link peer.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 19:28:55 +00:00
Mark Spencer
54dcc9bf56 Fix astman build (bug #1930)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 19:25:39 +00:00
Jim Dixon
ca7fc00ad5 Fixed a couple of silly things that I overlooked before :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 19:08:57 +00:00
Mark Spencer
df2394af02 Minor cleanups on zap when hangup on callwait
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 18:38:19 +00:00
Jim Dixon
c3af8944af Added support for Doug Hall RBI-1 Remote base controller, memory channels for
remote bases, and updated the rpt.conf doc a little bit.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 18:06:17 +00:00
Mark Spencer
b140eef0aa Implement queue wide wrapuptime (bug #1707)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 16:26:39 +00:00
Mark Spencer
88bcbb2368 Don't repeat option 3 (bug #1910)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 16:06:19 +00:00
Mark Spencer
d9ed36059c Add peercontext parameter for default outbound context (bug #1929)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 15:48:30 +00:00
Mark Spencer
1af31f2c64 Merge cmaj's ZapDND and specific channel status manager commands (bugs #1917, 1918)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 14:31:09 +00:00
Mark Spencer
b76935b95c Minor alsa fixes, add "delayreject" option to IAX to implement request of bug #1846)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 14:19:38 +00:00
Mark Spencer
03fbf171a7 Zap NSF merge, major ALSA improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 05:20:42 +00:00
Mark Spencer
3db853b428 Merge source cleanups (bug #1911)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-26 03:50:14 +00:00
Mark Spencer
a30ae193db Add crypto to FreeBSD build (bug #1912)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 22:56:28 +00:00
Mark Spencer
a466fdbc40 Merge voicemail internationalization (bug #1485)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 21:25:44 +00:00
Mark Spencer
2fb8ad79c2 Don't munge outgoing call progress when fax enabled (bug #1909)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 21:17:08 +00:00
Mark Spencer
9ab74af94f Fixes to -R feature
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 21:14:03 +00:00
Mark Spencer
c9f168ed0f Add subaddress support (bug #1877)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 19:33:27 +00:00
Jim Dixon
dbea1448bd Fixed problems with multiple links and added timeout message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 19:33:22 +00:00
Mark Spencer
e6de64a5a9 Cleanup handling of complex expressions (bug #1919)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 18:23:26 +00:00
Mark Spencer
fe4b2401bd Handle URL encoded stuff in pedantic checking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 18:23:06 +00:00
Mark Spencer
d37b6dd459 Add Tilghman's -R option to allow reconnecting when disconnected (bug #1916)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 14:39:38 +00:00
Mark Spencer
0a059f8ce1 Update Chanelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 14:37:14 +00:00
Mark Spencer
80c9620612 Add sample config file, implement verification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 05:52:55 +00:00
Mark Spencer
2f421a55da Small outgoing OSP cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 04:27:55 +00:00
Mark Spencer
42ad569376 Commit remaining changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 04:07:52 +00:00
Mark Spencer
bdbed69984 Somehow the Makefile didn't get merged
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 04:06:11 +00:00
Mark Spencer
1d473f25dd Add outgoing OSP support (SIP only at this point)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-25 03:59:07 +00:00
Mark Spencer
b0972b8d1f Make sure other drivers also zero delivery (thanks to steven davies)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-24 13:27:44 +00:00
Mark Spencer
f6f67727c6 Merge Ehud's MySQL users support (bug #1815)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-24 04:07:44 +00:00
Mark Spencer
8ef1f1ea2e oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-24 03:04:25 +00:00
Mark Spencer
df93792f9c Extend delay slightly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 22:01:46 +00:00
Mark Spencer
08ac005489 Make delay for echo training configurable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 22:00:04 +00:00
Mark Spencer
27bb1601d3 Generate "failed" context on busy, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 20:46:58 +00:00
Mark Spencer
da49f53b66 datetime patches from Tilghman (bug #1905)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 20:19:12 +00:00
Mark Spencer
e9f2a805b9 Merge in-access updates for queue priorities (bug #1821)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 20:05:18 +00:00
Mark Spencer
74fdefdf1e Merge Tilghman's voicemail broadcast improvements (thanks!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 18:00:50 +00:00
Mark Spencer
68248b91f0 Be sure to hold lock during answer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 17:41:51 +00:00
Jim Dixon
6729301b4d Fixed bug in remote base part of app_rpt, and updated rpt.conf.sample to
reflect new changes in operation.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 14:37:46 +00:00
Mark Spencer
5e36feac27 Add 'w' option to meetme which causes us to wait for a "marked" user to enter the bridge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 04:55:04 +00:00
Mark Spencer
7a363d3d17 Small simplification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 03:19:32 +00:00
Mark Spencer
2187465cae Set ${DIALSTATUS} from app_dial, make zap return BUSY on a phone that is busy, update macro-stdexten to demo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 03:16:58 +00:00
Mark Spencer
0f6db9f939 Don't segfault if chan_zap can't load
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 01:27:44 +00:00
Mark Spencer
a03db324dd Tilghman's directory fix (bug #1892)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-23 00:06:46 +00:00
James Golovich
3f9c34f415 Misc formatting cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 20:11:15 +00:00
James Golovich
024f486810 Code formatting cleanups in utils.c and include/asterisk/lock.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 19:53:36 +00:00
James Golovich
f5c18f62a1 Remove pthread.h from source. We should be using asterisk/lock.h everywhere instead (except in asterisk/lock.h).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 19:32:52 +00:00
James Golovich
8801247d76 Remove pthread.h from source. We should be using asterisk/lock.h everywhere instead (except in asterisk/lock.h).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 18:49:00 +00:00
Mark Spencer
45ee2978cd Update messages-expire script
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 18:04:46 +00:00
Mark Spencer
f5de717d6e Merge Steven Davie's IAX2 jitter buffer enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 17:50:39 +00:00
Mark Spencer
5546e32355 Merge major BSD mutex and symbol conflict patches (bug #1816) (link patch still pending)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 17:42:14 +00:00
Mark Spencer
2f4a0dc3f5 Fix potential deadlocks in res_monitor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 14:47:21 +00:00
Mark Spencer
652e085d0f Make DTMF mode configurable on ISDN
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 14:17:07 +00:00
Mark Spencer
8b2b0278c9 Make sure outgoing is not NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 13:53:45 +00:00
Mark Spencer
e66aef0c05 Can't check outbound without having lock (bug #1886)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 04:54:52 +00:00
Mark Spencer
9cb185e126 Add "Progress" application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 03:51:34 +00:00
Mark Spencer
2bd13db091 Directory fixes courtesy rgagnon (bug #1887)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-22 03:43:41 +00:00
Mark Spencer
551e3ad719 Add userevent application (bug #1300)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 23:00:00 +00:00
Mark Spencer
df4ea0cec4 Make CAS tone quieter
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 22:36:25 +00:00
Mark Spencer
3ccf8627e0 Add app_alarmreceiver (bug #1783)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 19:28:34 +00:00
Mark Spencer
aa63104784 Fix ast_safe_system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 19:12:20 +00:00
Mark Spencer
2efcb2e331 Don't stop moh until after announcement finishes (bug #789)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 18:28:35 +00:00
Mark Spencer
76fe489c86 Support extended regular expressions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 18:20:17 +00:00
Mark Spencer
ec3f9d5041 More fixes for remote_party_id
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 16:52:04 +00:00
Mark Spencer
7b0160ee51 Sorry, 403 is "Forbidden" not "Permission Denied"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 14:51:38 +00:00
Mark Spencer
b0991ab170 Check if subscribe is for mailbox. If so, return 200 OK or 403 Permission Denied as appropriate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 14:39:19 +00:00
Mark Spencer
8c4cacbd58 Use ' instead of " for quoting in extensions.conf (bug #1872)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 14:20:03 +00:00
Mark Spencer
502e74e5db Fix app_dial buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 13:30:58 +00:00
Anthony Minessale II
b168dcdddf I don't know what this last update was for but app_dial.c was broken
so I added these 2 variable defs to make it compile right to spare
all the end users...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 12:55:53 +00:00
Mark Spencer
585afa7e8e Add promiscuous redirect option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 06:11:56 +00:00
Mark Spencer
737e9b2458 Merge outgoing MSN support + Remote Party ID for SIP (bug #1841) with cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 04:29:50 +00:00
Jim Dixon
2ee28d0ccf Majorly updated app_rpt.c allowing linking of repeaters/remote bases using (IAX2) and supporting remote base nodes as well (also added visual documentation in rpt_flow.pdf)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 04:24:50 +00:00
Mark Spencer
bbe5ff18c2 Fix locking in zapscan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 04:08:54 +00:00
Mark Spencer
ef4d9eb5b7 Avoid iflock/chlock race
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 03:37:13 +00:00
Mark Spencer
491e5d941c Make 'x' option behave as advertised (bug #1878)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-21 02:37:34 +00:00
Mark Spencer
b72227e845 Merge (and cleanup) anthm's CDR changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-20 22:46:42 +00:00
Mark Spencer
70167380a3 Allow CDR's to be linked and work on the linked list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-20 15:19:36 +00:00
Mark Spencer
347f32ab97 Hold private lock while handling digits
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-20 14:07:44 +00:00
Mark Spencer
3b3a042cef Hold pending digits until setup_ack is received, then send (bug#1875)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-20 06:53:53 +00:00
James Golovich
a054fec8ef Typo in comment in app_dial.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-20 06:24:25 +00:00
Mark Spencer
bc9e475d6e Allow penalty argument to AddQueueMember
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-19 16:00:50 +00:00
James Golovich
18fef6deb1 Formatting fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-18 16:23:56 +00:00
Mark Spencer
133120aa38 Be sure we hold channel lock in write before talking to PRI channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-18 15:24:29 +00:00
Mark Spencer
e32c8f1ebe Debugging cleanups (bug #1633)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-18 13:53:48 +00:00
Mark Spencer
19d5ae6e8d Send 403 when authentication fails on a call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-18 03:59:19 +00:00
Mark Spencer
3932d756d4 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 14:53:25 +00:00
Mark Spencer
f75a3079e0 Implement proper locking on INFO_RECEIVED
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 14:51:44 +00:00
Mark Spencer
d11177774a More meetme locking fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 05:21:54 +00:00
James Golovich
e5629ea138 Cleanup formatting in config.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 04:53:55 +00:00
Mark Spencer
4f72a1da77 Fix doubly-linked list delete
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 04:42:03 +00:00
Mark Spencer
095b971fc6 Small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 04:32:10 +00:00
Mark Spencer
2d78f0d53c PRI locking fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 04:23:57 +00:00
Mark Spencer
4a4e1e348d Must be inside lock when finding start
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 02:42:42 +00:00
Mark Spencer
702b8a96b0 Close logging stuff so system doesn't have to (bug #1855)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 01:13:10 +00:00
Mark Spencer
dd4aba8022 Document ability to change user agent (bug #1867)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-17 00:09:41 +00:00
Mark Spencer
e3c58c8ebe Gotta set slot to 0 before you print :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 21:26:53 +00:00
Mark Spencer
fdf586e416 Don't forget to run the schedule queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 21:15:15 +00:00
Mark Spencer
88aec64bce Minor fixup to voicemail (bug #1865)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 18:35:01 +00:00
Mark Spencer
db8da3c376 Use new extensible setup method of libpri
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 15:34:21 +00:00
Mark Spencer
7538cee13b Enable support for RFC3581 (bug #1862)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 14:14:57 +00:00
Mark Spencer
be9d4b4333 Remove ancient requirement that ts > 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 13:52:50 +00:00
Mark Spencer
b3b931fab9 Merge EOF patch (bug #1860)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-16 03:28:42 +00:00
Anthony Minessale II
8fa9d75365 fix a miscalled arg in the #include support in external config handles
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 22:02:56 +00:00
Jeremy McNamara
1f4eadaf6a check to make sure the extension exists b4 actually accepting the call and lets hope this gives Open H.323 enough time to sync up (bug #1714)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 20:56:06 +00:00
Mark Spencer
ada1e768c4 Fix unexpected behavior in voicemail (bug #1856)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 20:33:26 +00:00
James Golovich
7255d8797c Formatting fix. Tabs not spaces :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 19:31:25 +00:00
Anthony Minessale II
46303772e5 Added an extra reload_logger() after *.so is loaded in case a custom config handler binded to logger.conf
to solve a chicken/egg issue where logger.conf is parsed before lodable modules are loaded.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 18:48:07 +00:00
Mark Spencer
d0e532a070 Eliminate duplicate init_logger_chain call (bug #1853)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 18:44:14 +00:00
Mark Spencer
6c9b510d5d When dialing outbound, if we match a peer name, use it (who really cares?) (bug #1850)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 15:16:16 +00:00
Mark Spencer
dc7ceb7fd8 Cleanup leak in editline (bug #1847)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-15 14:37:36 +00:00
James Golovich
d88a461764 Cleanup formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 22:15:21 +00:00
James Golovich
db8da85266 Cleanup formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 22:05:12 +00:00
James Golovich
bc80b3130d Cleanup formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 22:03:59 +00:00
Mark Spencer
001623fa0a Minor formatting cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 21:47:08 +00:00
Mark Spencer
c53e76528d Allow escaping of commas as well as ability to use quotes (bug #1826)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 21:43:16 +00:00
Mark Spencer
ee664e6ccd Fix small typos
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 21:40:57 +00:00
Mark Spencer
427be16475 Handle PROGRESS event
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 21:40:02 +00:00
Mark Spencer
5b9cab6c13 Separate PROCEEDING and PROGRESS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 21:18:52 +00:00
James Golovich
f70b57352b Fix MailboxExists to follow the original behavior of jumping to +101 if the voicemailuser exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 20:40:14 +00:00
Mark Spencer
bec994b037 Merge Matt's work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 19:43:41 +00:00
Mark Spencer
3cf5ea7383 Make meetme operate in linear so as to keep alaw folk happy, minor iax2
authentication cleanup


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-14 03:12:46 +00:00
Mark Spencer
d208532e6e x86-64 compile fixes and cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-13 21:25:10 +00:00
James Golovich
800ad7f727 Use ast_strlen_zero instead of &id in app_queue.c (Thanks folsson)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-13 19:45:59 +00:00
Mark Spencer
fd70e7920e Provide dialtone when doing overlap dial (bug #1832)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-13 07:25:27 +00:00
Mark Spencer
d030752f72 Make sure overlap dial goes into "RING" state instead of just "RESERVED"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-13 07:16:00 +00:00
Mark Spencer
319011b0e3 Fix ODBC build for FreeBSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-13 01:54:53 +00:00
Mark Spencer
9e3a90e249 Display error when having trouble reading from /dev/phone
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-12 16:48:12 +00:00
Mark Spencer
439e5eeeb4 Use 401 Unauthorized instead of 407 Proxy Authentication required for REGISTER,
and use 403 for final request on proxy instead of 401 (bug #1798)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-12 16:38:36 +00:00
Mark Spencer
1b23fce2bd Fix OpenBSD compile (bug #1830)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-12 14:53:53 +00:00
Mark Spencer
a3355d9fe2 Add "LOW_MEMORY" option and increase some buffer sizes (bug #1827)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-12 14:34:15 +00:00
Jeremy McNamara
c359ec8f5c fix list initialization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-12 03:44:51 +00:00
James Golovich
31b39fe85e Fix voicemail description. We send calls into extension 'a' or 'o' not priority
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-11 21:11:22 +00:00
James Golovich
c51934cd70 Update sample extensions.conf macro-stdexten to include an a extension that sends the user into voicemailmain when * is pressed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-11 21:09:27 +00:00
James Golovich
481a59e92e Build ecodes string a little better in app_voicemail so that the 'a' extension will work even if the 'o' extension doesn't exist. Also update the description to include info on the 'a' extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-11 21:01:42 +00:00
Mark Spencer
1bc96b7aab Add talk detectection app (BackgroundDetect)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-11 14:06:30 +00:00
Mark Spencer
bad7cc9c14 Add "show channels concise" for machine readable format
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-11 00:18:30 +00:00
Mark Spencer
c96b39a960 Merge res_odbc and res_config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-11 00:12:35 +00:00
Mark Spencer
758f246390 Display which span/channel we're receiving restarts on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-10 19:00:20 +00:00
Mark Spencer
b1a658f57e Although I can't think of any scenario that it could result in a race, don't hold a private iax or sip lock while allocating a channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 23:07:55 +00:00
Mark Spencer
8800bd6b1f Merge rmarchev's vox fixes (bug #1812)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 20:55:20 +00:00
Mark Spencer
a53d260d5f Minor meetme cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 19:43:23 +00:00
Mark Spencer
3ef099dede In spite of my extreme distaste for SRV, make it the default.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 14:01:04 +00:00
Mark Spencer
1794aac9e1 Return NULL if no CRV found
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 13:55:52 +00:00
Mark Spencer
de57be6bbd Lock fixes for FreeBSD (bug #1810)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3179 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 13:49:42 +00:00
James Golovich
a23c43cefa Make chan_zap initialize the pri threads to AST_PTHREADT_NULL and check when calling unload in case load_module fails complete
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 08:46:32 +00:00
Mark Spencer
727abcdec7 Merge FreeBSD locking fixes (bug #1411)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 01:45:08 +00:00
Mark Spencer
c96046b6c2 Handle binding more nicely
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09 01:33:16 +00:00
Mark Spencer
f105351643 Make fax detect configurable by direction (bug #1803)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-08 22:34:25 +00:00
Mark Spencer
5ae7b48700 Update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-08 03:39:29 +00:00
Mark Spencer
8c2bc79b77 chan_phone portability (bug #1788)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-08 01:50:57 +00:00
Mark Spencer
d3fd49f2cf Update sample configuration to show fax detect has to be enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 23:38:58 +00:00
Mark Spencer
68c45465c8 Make faxdetect configurable and turn OFF by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 23:38:39 +00:00
Mark Spencer
ad49896f6b Simplify trunk transmission path and remove potential race (bug #1802)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 19:48:53 +00:00
Mark Spencer
8995f5d810 Zapras fix for BSD (bug #1801)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 19:12:14 +00:00
Anthony Minessale II
22de310e04 fix res_monitor bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 16:51:21 +00:00
Mark Spencer
9bd9958722 More GR-303 protocol fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 15:57:18 +00:00
Mark Spencer
dff7c80952 Fix tiny typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 14:49:25 +00:00
Mark Spencer
a14ba4f1b5 Initial, incomplete support for D-channel backup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 03:39:18 +00:00
Mark Spencer
994c0a5573 Update IAXY firmware to version 16 (provides better timestamps)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-07 02:55:31 +00:00
Mark Spencer
a9b5a6cbb0 Handle bearer failures cleanly (still need d-channel backup)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 23:26:29 +00:00
Mark Spencer
8699103fa1 Handle multiple span memberships properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 22:51:37 +00:00
Mark Spencer
469c7d6de9 Must call spanstat before checking number of channels (bug #1796)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 22:22:48 +00:00
Mark Spencer
9c42fa75a4 Fix small arrangement issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 20:47:51 +00:00
Mark Spencer
0f2e75a257 Clearly label EAGAIN as being the UDP checksum error that it is
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 17:44:47 +00:00
Mark Spencer
e115566669 Can't use the same buffer to snprintf that we're grabbing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 17:36:57 +00:00
Mark Spencer
65d5921dde Don't require "c" before CRV syntax
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 08:52:24 +00:00
Mark Spencer
e325aa312f Try to parse callerid properly on /dev/phone (bug #1788)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 07:01:37 +00:00
Mark Spencer
7b7dbfb855 Small fixup for non-PRI build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 03:32:55 +00:00
Anthony Minessale II
cc36c3d475 fix D() issue with to short of a duration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 02:30:10 +00:00
Mark Spencer
a550016fd6 Add bi-directional GR-303 support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-06 01:54:22 +00:00
Mark Spencer
df9b7608a9 Fix voicemail.conf typo (bug #1794)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-05 23:00:16 +00:00
Mark Spencer
b9d81ae6ad Add ${AVAILORIGCHAN} with original channel name (bug #1793)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-05 18:42:59 +00:00
Mark Spencer
32ecea7b8c More small fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-05 07:07:12 +00:00
Mark Spencer
746d2e7f67 Minor cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-05 07:01:23 +00:00
Mark Spencer
27578642b8 Add support for trunk groups in anticipation of NFAS and GR-303, Initial GR-303 work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-05 06:54:52 +00:00
James Golovich
63b280e97c Cleanup some formatting in app_agi.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-04 19:01:07 +00:00
Mark Spencer
0062fe9588 IAX2 fixup, fix res_monitor sillyseg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-04 18:30:35 +00:00
Mark Spencer
103bb4a334 Enhancements for zaptel+bsd (bug #1781)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-04 15:44:14 +00:00
Mark Spencer
aa2795cc46 Get rid of small copmile warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-03 23:44:43 +00:00
Mark Spencer
269507ad59 Fix handling when MONITOR_EXEC is unspecified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-03 23:16:55 +00:00
Mark Spencer
ca0c646539 Make sure that auto created "pseudo" isn't a member of any groups (bugs #1776, #1777)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-03 22:40:13 +00:00
Mark Spencer
8cc1ffe2ab Merge agent callback login/logoff events and logging (bug #1775)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-03 17:33:35 +00:00
Mark Spencer
dc7e5f5f03 Initialize frame for playtones just in case
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-03 17:06:33 +00:00
Mark Spencer
799b876aa0 Make monitor merge application settable via variable, allow setting of variables via manager interface, allow mix flag to be set via manager (bug #1268)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-03 15:42:36 +00:00
Mark Spencer
8f5498177e WOrk on the proper pointer (bug #1773)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 23:27:50 +00:00
Mark Spencer
8f9ace9228 Add information for IAX on Free World Dialup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 23:19:36 +00:00
James Golovich
5a9ab574de Add 'ListCommands' manager command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 22:30:42 +00:00
Mark Spencer
ea2b6241fd Lock while installign generator
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 20:18:18 +00:00
James Golovich
ea70485e7b Add description to manager_action structure, and add some comments.
Add ast_manager_register2 which adds description as an additional arg
Rework how events are added so they get ordered alphabetically
Add 'show manager command <commandname>' (with tab completion) to
	view info on each command

Added descriptions to 'Ping' and 'Originate' but they kinda suck, so we
need other people to come up with good descriptions for each of the
manager commands.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 20:08:08 +00:00
Mark Spencer
37ae3cd701 Fix app_read to return string even if not # terminated (bug #1769)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 18:15:24 +00:00
Mark Spencer
b6beb440cd Use pseudo channel instead of just /dev/zap/pseudo, now with proper protections (bug #1766)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 16:57:14 +00:00
Mark Spencer
bc86e5de2a Allocate pseudo channel if it's not explicitly listed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 16:35:06 +00:00
James Golovich
2587e6faa4 Code formatting fixes in chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 16:13:25 +00:00
Mark Spencer
ce82bfa75a Play acknowledgement in all cases (bug #1767)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-02 00:03:49 +00:00
Mark Spencer
31e427d775 Oops slightly premature
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-01 22:54:18 +00:00
Mark Spencer
a435f135b5 Use pseudo channel (but real channel) instead of just directly opening /dev/zap/pseudo to enable future meetme enhancements (bug #1766)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-01 22:53:52 +00:00
Mark Spencer
36b87b3b33 Voicemail fixes (bug #1758)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-01 19:38:06 +00:00
Mark Spencer
8164972e34 allow multiple exit characters on control_streamfile, allow '1' to skip envelope
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-01 18:50:18 +00:00
Mark Spencer
49257bafbc Only call the update once
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 23:44:04 +00:00
Mark Spencer
9286f2c6d3 More BSD compile fixes (bugs #1754 and #1756)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 19:40:23 +00:00
Mark Spencer
fdcf41cef0 Fix compile warning on FreeBSD (bug #1755)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 17:01:32 +00:00
Mark Spencer
66fae27e3a Add missing strings include for BSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 16:51:28 +00:00
Mark Spencer
c66bf9a326 Trivial removal of unused variable when not on linux (bug #1753)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 16:43:35 +00:00
Jim Dixon
8968d50976 Complete re-vamp of Radio Repeater application (app_rpt) and VERY minor changes in chan_zap (to allow pseudo-channels to work properly (finally!)) and in dsp.c to allow for super-relaxed DTMF decoding which radio systems need to function properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 16:04:10 +00:00
Jeremy McNamara
b0f9569b5c make sending indications more robust and proper
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-31 02:49:53 +00:00
Mark Spencer
514acf8dfc Fix lag in diverging clocks (bug #1696)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 22:22:49 +00:00
Mark Spencer
89561c6a29 Update queue member after end of call (bug #1727)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 22:10:09 +00:00
Mark Spencer
c47538a24b Take member as argument, not lpeer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 20:43:55 +00:00
Mark Spencer
5ee4f3048c Fix formatting issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 20:38:05 +00:00
Mark Spencer
0f5ed60d51 Minor RTP video fixes, be more careful about closing fd's in meetme (bug #1743)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 20:24:48 +00:00
Jim Dixon
5ef2ef8a1d Fixed annoying SIP 'NOTIFY' messages printed on console every n seconds from some SIP peers. Also fixed problem where 'INFO' was not being responded to if in 'ignore' state.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 20:03:39 +00:00
Mark Spencer
d34639a601 Allow variable substitution in from string (bug #1741)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-30 03:03:19 +00:00
Mark Spencer
bf2ec2d6d0 Initialize secrets properly (bug #1748)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-29 23:40:22 +00:00
Anthony Minessale II
f30d55fbf6 saw this in valgrind (-tony)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-29 03:40:35 +00:00
James Golovich
8136198e53 Use ast_strlen_zero in res_musiconhold.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 19:44:33 +00:00
James Golovich
fa9a8d158a Hopefully last ast_strlen_zero fix in cli.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 19:23:30 +00:00
James Golovich
cc698e15cf Use ast_strlen_zero in privacy.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 19:20:29 +00:00
James Golovich
4926908616 Use ast_strlen_zero in db.c and some optimizations. Lets store the return value of strlen and use that rather than using strlen every time, and snprintf returns the length of the string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 18:56:23 +00:00
Mark Spencer
a2cc6b01be Really don't authenticate if we're not supposed to authenticate (bug #1738)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 15:47:57 +00:00
Mark Spencer
63074875d6 Ringing and progress are not identical
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 02:02:33 +00:00
Mark Spencer
04887bcc3e Minor reinvite typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-28 00:52:45 +00:00
Mark Spencer
5b53760717 Only print PRI messages when in verbose mode (bug #1732)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 22:38:13 +00:00
Mark Spencer
ff2ba012d2 Merge connor's exit context patch (#1737)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 22:35:47 +00:00
Mark Spencer
e446f4ca81 Merge OSS fixes for FreeBSD, implement rtptimeout and rtpholdtimeout
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 22:12:55 +00:00
Mark Spencer
4d1706d05f Fix gross oversights in original ACL patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 21:31:25 +00:00
Mark Spencer
4f5ddbc374 Add ACL copy routines (bug #1733)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 20:53:02 +00:00
Mark Spencer
96117402b1 Unlock PRI lock, fix variable pasing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 16:50:07 +00:00
Mark Spencer
2cd1eb39b1 Don't count as outgoing until we actually send the new INVITE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 16:14:46 +00:00
Mark Spencer
03cb980dc2 Meetme fixes (bug #1729)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 14:35:26 +00:00
Mark Spencer
b820fd0075 Doc fix for controlplayback, get rid of 500ms wait in rtp.c (bug #1589)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 05:06:32 +00:00
Mark Spencer
cf57ba2310 Make RTP handle codecs (first pass)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 04:18:46 +00:00
James Golovich
fc7593e594 More formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-27 00:07:18 +00:00
Anthony Minessale II
54780434a6 enhance control_playback to have an app (app_controlplayback) and to allow pause (inherited by app_voicemail)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 23:56:41 +00:00
Mark Spencer
ec14976ac3 Perform proper heap bounds checking on skinny messages (bug #1726)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 23:15:23 +00:00
Mark Spencer
fdb8ffe20d Cancel destroy request on new invite, merge bkw's control playback changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 22:18:59 +00:00
Jeremy McNamara
f7a7158f3f oopsie
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 19:41:58 +00:00
James Golovich
b4a2ee6104 Use ast_strlen_zero in manager.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 19:30:12 +00:00
Jeremy McNamara
728cceca7e explain a proper upgrade sequence (lowering the signal-to-noise ratio again)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 19:28:14 +00:00
James Golovich
7baf86bc8b Fix comment in pbx.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 19:24:47 +00:00
Jeremy McNamara
9432a1c19f properly clean capabilites from the endpoint
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 19:14:51 +00:00
Mark Spencer
1b5d2d4667 Cancel self destruct on provisional responses too (bug #1722)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 18:46:36 +00:00
Mark Spencer
682913a1f3 Add controlplayback app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 18:38:10 +00:00
James Golovich
82b3a5f417 Formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 16:51:25 +00:00
Anthony Minessale II
8f9e2b6633 add ast_control_streamfile api call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 15:22:54 +00:00
Ben Kramer
8161efd26a cleaned up locking, more logging on locks, still havent worked out why
locks become screwed if a call isnt Answered before a Dial.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-26 01:29:29 +00:00
Mark Spencer
1799dd3641 It's angler's first patch!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 15:53:28 +00:00
Mark Spencer
1147ed1e8c Fix record option to take from the right channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 15:37:30 +00:00
Mark Spencer
0f966565af Handle debugging of unknown IE's properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 15:16:45 +00:00
Mark Spencer
2cc7d3e8db Make sure transmitted timestamps are solid on trunks (bug #1713)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 13:57:57 +00:00
Mark Spencer
67b3ab9ee5 Merge useragent patch (bug #712)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 05:36:49 +00:00
Mark Spencer
7dee677799 Fix major typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 04:50:54 +00:00
Mark Spencer
9dbb2ef08c Enable understanding of service identifier and provisioning version
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 04:34:43 +00:00
Mark Spencer
0e1e513d5a Fix makefile for apple
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 02:51:38 +00:00
Jeremy McNamara
588801931f optmize call setup process
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 02:27:59 +00:00
Mark Spencer
e3ad88c784 Eliminate useless pass checking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-25 00:23:02 +00:00
Mark Spencer
af69f68359 Fix AES for MacOS build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 20:09:05 +00:00
Mark Spencer
3377298b06 Handle different contexts (bug #1702)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 19:24:20 +00:00
Mark Spencer
15b86b3afb Fix security codes in asterisk.adsi (bug #1709)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 19:22:25 +00:00
Mark Spencer
776497fb6b Fix potential segfault, add support for MacOS X locks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 15:28:36 +00:00
Mark Spencer
9082b027ef Improve sample configuration files (bug #1125)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 15:09:34 +00:00
Mark Spencer
bbce72c316 Fix small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 15:07:08 +00:00
Mark Spencer
d7ba067af6 Always authenticate when insecure is not "very" even on matching IP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 14:44:47 +00:00
Mark Spencer
1798abd909 Minor path tweak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 13:53:52 +00:00
Ben Kramer
4b5f7f0ef6 / work in progress, still tracking down locking bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 05:37:15 +00:00
Ben Kramer
5273e43919 / fixed up timers for ring back and busy tones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 01:43:05 +00:00
Mark Spencer
316bffd061 Fix voicemail ADSI codes (bug #1680)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 00:44:40 +00:00
Mark Spencer
ba264f8158 Minor mailbox cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-24 00:26:46 +00:00
Mark Spencer
cf24f7ff7e Change 'u' back to 's' since it's required for both user and admin menus
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-23 23:46:43 +00:00
James Golovich
5e29d3a518 Make mkdep throw away stderr since people think the error messages printed are serious when they are not
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-23 17:17:27 +00:00
Mark Spencer
25ca4c854c Small fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-23 14:55:50 +00:00
Mark Spencer
50449d5c87 MeetMe documentation improvements (bug #1703)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-23 14:19:45 +00:00
Mark Spencer
740243552f Use find_user for existsmailbox
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-23 05:07:43 +00:00
Mark Spencer
9f14461cb7 Fixes to mailbox exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-23 04:21:42 +00:00
Mark Spencer
194fe2a4a5 Copy hangup cause at end of a good call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-22 23:17:33 +00:00
Mark Spencer
e300367ad8 Obviously don't send alerting, progress, or proceeding on outbound calls (bug #1700)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-22 19:05:53 +00:00
Mark Spencer
15b2f1f635 When dialing out, we're always proceeding :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-22 15:36:59 +00:00
Mark Spencer
47133fda31 Work on a copy with app_agi
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-22 04:52:50 +00:00
Mark Spencer
a0486afb83 Merge fabeman's extensive meetme improvements (bug #1624)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-22 04:11:22 +00:00
Mark Spencer
ad67680ed3 First pass at handling responses properly for retransmissions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-21 06:05:20 +00:00
Mark Spencer
93da37619a Fix some small broken prompts (bug #1684 & 1686)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-21 04:35:19 +00:00
Ben Kramer
0284bc4b99 / updated locking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-21 02:51:05 +00:00
Mark Spencer
7f1117a71f Don't send the same codec twice even if listed twice in allow section (bug #1691)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-21 00:59:38 +00:00
Mark Spencer
0004e8a4be Stop stream when interrupted by '#' or '*' or '0' (bug #1689)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-21 00:55:36 +00:00
Jeremy McNamara
41c995dd18 Fix FreeTDS/MSSQL from bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-21 00:40:02 +00:00
Jeremy McNamara
89dbeddcfc backout code optimization, add more explict error reporting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 21:56:12 +00:00
Mark Spencer
6195dd35e0 Make ast_channel_walk become ast_channel_walk_locked
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 16:30:10 +00:00
Jeremy McNamara
e1b72cf020 cleanup code and debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 09:00:04 +00:00
Mark Spencer
b1462cd593 Make playback of envelope a configurable option (bug #1683)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 07:58:15 +00:00
Mark Spencer
868fec3692 Congestion with Hangup sends expected RELEASE code (but #1681)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 07:57:19 +00:00
Mark Spencer
a105455487 Stage 1 of deadlock fix (bug #1673 -- but not yet solved, just started) and fix configs ending with no newline (bug #1672)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 07:52:07 +00:00
Mark Spencer
0882f61a8e Fix compile order (bug #1682)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 07:08:31 +00:00
Jeremy McNamara
eff9477388 properly send call progress and alerting PDUs, re-fix one-way audio on call manager, and hopefully add call progress (N+101) support (not tested)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 07:07:18 +00:00
Jeremy McNamara
fc6a82fcb8 only complain if ZAPATA_PRI is defined
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 07:02:47 +00:00
Ben Kramer
2bc871a62e / working on pstn->sip half duplex bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 01:59:03 +00:00
Mark Spencer
61ce929656 Merge Mike's announcement enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-20 00:29:09 +00:00
Mark Spencer
67e1c59427 Add missing queue header file (bug #1626)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 21:13:49 +00:00
Mark Spencer
3f6896acd3 Update for newer libpri
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 21:02:11 +00:00
James Golovich
17aeeda774 Re-Disable building chan_iax.so
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 17:16:46 +00:00
Mark Spencer
143b73ee7b Always send proceeding, send progress when appropriate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 15:40:01 +00:00
Mark Spencer
260fcde6e2 Alert for in-band audio
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 15:23:11 +00:00
Mark Spencer
ce55c480e9 Don't qualify with overlap dial anymore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 15:11:27 +00:00
Mark Spencer
5738da5225 Send proceeding if appropriate on audio transmission, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 15:00:14 +00:00
Mark Spencer
457f4caf6f Don't automatically send proceeding/alerting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 14:51:11 +00:00
Mark Spencer
34347418e3 Allow multiple codecs to be printed in debug (bug #989)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 03:39:44 +00:00
Mark Spencer
5d9aa86efa Provide example for using e164.org
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 03:28:36 +00:00
Mark Spencer
ff5851c685 Make muted handle transfers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 03:16:59 +00:00
Mark Spencer
7976579ef6 Merge small bkw_ queue enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-19 02:29:15 +00:00
James Golovich
36f888e06e Clarify app_dial documentation regarding transfers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 18:27:55 +00:00
Jeremy McNamara
a73524874c fix documenation bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 16:06:30 +00:00
Jeremy McNamara
1c445d44c5 Don't advertise Janus, its still broken
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 15:20:37 +00:00
Jeremy McNamara
a54a0e5ecb clean up code and attempt to stablize inbound h.323 calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 10:33:46 +00:00
Jeremy McNamara
e0ab451084 clean up code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 10:32:34 +00:00
Mark Spencer
2310261cbe Flesh out remaining "rrmemory" logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 05:56:46 +00:00
Mark Spencer
99876da380 Update coding guidelines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 05:52:52 +00:00
Mark Spencer
76a22457ce Add date formatting capability for logger (bug #1665)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 05:47:27 +00:00
Mark Spencer
e36ed02083 Add Round-Robin w/ Memory queueing strategy (rrmemory)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 05:41:53 +00:00
Jeremy McNamara
1f506e55d0 add explict version info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-18 04:39:09 +00:00
Mark Spencer
a80bce7e58 Allow translation table to be recalculated, including with higher resolution
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 22:59:27 +00:00
James Golovich
4b56cf02f0 Fix compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 21:15:37 +00:00
James Golovich
668f8161ab Make variables work in manager originate again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 21:10:26 +00:00
Mark Spencer
d117f2258f Propagate language properly across chan_local (bug #1663)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 15:52:33 +00:00
Mark Spencer
1a81758f1c manage multiple subchannels per device
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 07:00:21 +00:00
Mark Spencer
655bce9e1f clean up config file sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 06:39:17 +00:00
Mark Spencer
9242c5c05e Add muted for malcolm!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 06:31:24 +00:00
Jeremy McNamara
adc4fbe921 nitpicky fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-17 02:05:27 +00:00
Mark Spencer
95ef751780 Fix compile for old builds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 20:42:58 +00:00
Mark Spencer
e2dd1cc3da Add ability to look up callerid name by txt (bug #1442)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 18:12:16 +00:00
Mark Spencer
2dfb2d723f Fix callerid on quicknet stuff (bug #1613)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 17:54:53 +00:00
Mark Spencer
1feaac6a54 Allow defining a default context (bug #1658)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 17:52:24 +00:00
Mark Spencer
4fc75f6559 Ignore progress frames in request/dial (bug #1657)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 17:50:14 +00:00
Jeremy McNamara
e37c73ef97 add iLBC optimizations from bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 17:35:51 +00:00
Jeremy McNamara
3c50e18f46 add new file README.h323 to help lower the signal-to-noise ratio
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 16:52:18 +00:00
Mark Spencer
ed443d08cf Timely packet removal and make valgrind happy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 16:31:42 +00:00
Jeremy McNamara
3794c9bfef add ./configure for the thick headed who can't read documentation...wait will they even read the README?
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 16:10:56 +00:00
Mark Spencer
1081dc05c2 Improve handling of multiple CANCEL requests
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 16:01:09 +00:00
Mark Spencer
72ca19339d Add indications for Chile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 15:30:37 +00:00
Jeremy McNamara
83c46fb83e try to enable ringback on H.323->SIP calls (bug #1645) and clean up code a lil bit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 07:04:48 +00:00
Mark Spencer
b8190d0e92 Make sure that we have the sin_family set to AF_INET for FreeBSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-16 05:53:33 +00:00
Mark Spencer
103034acf2 Add Taiwan support (bug #1599)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 23:32:07 +00:00
Mark Spencer
2742f2ca72 Don't worry about tones we can't send (bug #1652)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 22:53:55 +00:00
Mark Spencer
f222665d1d Fix timezone handling for FreeBSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 22:52:12 +00:00
Mark Spencer
70007e6095 Don't call out an FXO until at least 2 seconds after it was hungup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 22:50:51 +00:00
Mark Spencer
694c1c0c9c FreeBSD compile fix (bug #1655)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 22:42:25 +00:00
Mark Spencer
d146b72e53 Fix typo in outgoing rfc2833 handling (bug #1646)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 16:26:52 +00:00
Mark Spencer
4d1137ded4 Fix a couple of small typos (bug #1648)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 15:40:08 +00:00
Mark Spencer
2293ad0b1f Update coding guidelines, fix "say.c" compile on older compilers, update coding guidelines (includes bug #1631)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 15:34:31 +00:00
Mark Spencer
f59f077d27 Fix logic in gethostbyname_r (bug #1634)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-15 05:02:42 +00:00
Ben Kramer
28c55ae8e3 / fixed up coding style to recommened
/ fixed timer start/restart bug
/ added disabling off loop-drop detection option
/ added "w" "f" Dial string translations
/ clean up of logging messages


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-14 04:39:16 +00:00
Mark Spencer
7254cca9f3 Really fix ast_gethostbyname
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 21:54:30 +00:00
Mark Spencer
50b637d1f9 Add polish support to say.c (bug #1629)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 21:39:43 +00:00
Mark Spencer
023939d65f Add taiwanese support for saynumber/datetime (bug #1615)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 20:06:27 +00:00
Mark Spencer
83a8b6745f Update documentation of asterisk -h (bug #1622)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 19:57:45 +00:00
Mark Spencer
baeb134536 Better document SIP (bug #1603)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 19:54:42 +00:00
Mark Spencer
c1b3b1d5b1 Lose all the "auth" stuff since we don't use it (bug #1627)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 19:51:54 +00:00
Mark Spencer
beae1fb946 Add events for join/leave (bug #1625)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 19:02:47 +00:00
Mark Spencer
6b0805633b Add linear file generator, CIRCQ emulation for BSD (bug #1626)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 19:01:10 +00:00
Mark Spencer
c9d3a81c3a Make sure we initialize attributes properly on thread (bug #1563)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-13 18:23:34 +00:00
Mark Spencer
dbb7b83ecc Minor memory cleanups, initialize peer/user invite status from global
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-12 23:35:50 +00:00
Jeremy McNamara
ed01d3b366 Turn off lamp on call completion, code cleanup and a couple other minor bug fixes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-12 21:30:23 +00:00
Mark Spencer
88fa72f892 Fix FreeBSD compile (bug #1620)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-12 19:20:34 +00:00
Mark Spencer
1aba1bbca4 Minor cleanups (bug #1618 included)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-12 17:30:55 +00:00
Mark Spencer
10c25aa6d9 Put sip history stuff in (for real) and provide voicemail context (when not default) in some critical places (bug #1609)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-12 00:17:31 +00:00
Mark Spencer
34e400fe2b Refuse to gethostbyname on a pure integer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-11 18:41:09 +00:00
Mark Spencer
a7818fb1be German language improvements (bug #1606)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-11 18:23:48 +00:00
Mark Spencer
e753e1a460 Don't say "re-recording" on CLI.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-11 15:20:55 +00:00
Mark Spencer
fb80a4a397 Change "boundary" to be less likely to cause e-mail conflicts (bug #1602)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-11 15:03:52 +00:00
Mark Spencer
964565519c Increase max write size (bug #1601)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-11 15:00:28 +00:00
Anthony Minessale II
960c01e4c6 Patch Submitted by BKW on 5/10/2004 to chan_sip.c
Fixing 'show help' inefficency.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-10 18:45:20 +00:00
Mark Spencer
87e3b8b2ad Allow characterset to be specified (bug #1598)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-10 13:27:39 +00:00
Mark Spencer
230eb50e96 Set mimetype to lower case (bug #1597)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-10 13:18:12 +00:00
Mark Spencer
1bc23d416c Fix missing semicolons in sample configurations (bug #1596)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-10 13:16:09 +00:00
Mark Spencer
4b84c43811 More minor bkw fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 23:40:49 +00:00
Mark Spencer
22243ee9ae merge brian's cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 22:03:38 +00:00
Mark Spencer
2d8c703fa0 Include app.h in senddtmf (bug #1594)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 21:07:38 +00:00
Mark Spencer
6ead43beb1 Add SIPUSERAGENT, SIPCALLID, and fix some formatting (bug #1593)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 21:05:43 +00:00
Mark Spencer
62eef7c695 Fix accidental strlen_zero mistransfer (bug #1592)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 20:46:18 +00:00
Mark Spencer
f2e0152108 Fix minor formatting problem
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 19:39:23 +00:00
Mark Spencer
25b07915d6 Remove "jitter"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 19:18:15 +00:00
Mark Spencer
811f5cff35 Merge Connor's ringback feature for queue (bug #1560)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 19:13:43 +00:00
James Golovich
c00550f3ae Add new file utils.c, Move ast_gethostbyname to utils.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 08:22:15 +00:00
James Golovich
8ef3b1544b More ast_strlen_zero changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 07:51:44 +00:00
James Golovich
3e3642433b Code formatting fixes in pbx.c (still more todo)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 07:19:00 +00:00
James Golovich
aff78a98cf Fix null pointer dereference in app_groupcount.c (bug 1588)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-09 06:23:30 +00:00
Mark Spencer
d2a4408930 Show peers formatting fixes, SIP strlen optimizations, and using ACL for local network matching (bugs #1587, 1586, 1585, 1584)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 20:58:24 +00:00
Mark Spencer
9740f51d00 Update default astman types for newer newt (bug #1578)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 20:41:27 +00:00
Mark Spencer
812b527dd8 Add Spanish support to say date with format (bug #1583)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 15:47:01 +00:00
Mark Spencer
297e62b8be Copy musicclass to right field (bug #1582)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 14:45:49 +00:00
Mark Spencer
3189e70baa Allow notransfer to be a global option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 14:38:48 +00:00
Mark Spencer
dca37d634e Add missing unlock (although it shouldn't make a difference)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 14:24:58 +00:00
James Golovich
29718a5001 ast_strlen_zero changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-08 08:07:47 +00:00
Mark Spencer
0ce20fea8a Do proper PRI locking in zt_call (not to mention lock the zt_pvt structure itself)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 21:22:46 +00:00
James Golovich
46b24e8a27 Code cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 21:14:55 +00:00
Anthony Minessale II
66b96f417c Created API call ast_dtmf_stream
int ast_dtmf_stream(struct ast_channel *chan,struct ast_channel *peer,char *digits,int between)

changed app_senddtmf.c to use this new call
added D() parameter to app_dial to allow post connect dtmf stream to be sent using above call

-Tony


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 20:39:14 +00:00
Mark Spencer
b974395573 Check h_addr_list, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 20:18:55 +00:00
Mark Spencer
1057e70da0 Check that hp->h_addr is not NULL before returning success (bug #1576)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 20:15:45 +00:00
Mark Spencer
1d7c058f08 Add sip show peers (trivial zap fix, too) bug #1573
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 18:57:17 +00:00
Mark Spencer
36911830dd Add debugging to failure
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-07 14:08:50 +00:00
Anthony Minessale II
2fbee61fff make channel.c use autoservice_start/stop when playing warning sound files
during bridged calls.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 22:29:00 +00:00
Mark Spencer
76adf66390 Add "sip show subscriptions" command (bug #1569)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 21:30:45 +00:00
James Golovich
c94e23b2f6 Use ast_strlen_zero in file.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 21:17:06 +00:00
James Golovich
28f4e820f7 Use ast_strlen_zero in channel.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 21:04:22 +00:00
James Golovich
6f9829fa5e Use ast_strlen_zero in cli.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 20:49:24 +00:00
Mark Spencer
6d280193d6 Fix silly typo in iax2 where strlen was used instead of sizeof
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 20:39:31 +00:00
James Golovich
bb8d1dbb3a Use ast_strlen_zero in logger.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 20:23:48 +00:00
James Golovich
f1d0d949dc Use ast_strlen_zero in cdr.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 20:21:06 +00:00
Mark Spencer
efc8c74b9a Allow global authentication realm to be set (bug #1567)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 20:00:19 +00:00
Mark Spencer
5f2dc3fe14 Enhance Spanish and Mexican support (bug #1566) thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 19:40:13 +00:00
Mark Spencer
05a87a441c Don't autodestruct on semi-ack. We'll add it as we need it case-by-case.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 14:41:03 +00:00
Jeremy McNamara
9c5c609de2 fix formatting, from bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 03:20:05 +00:00
Mark Spencer
ab3c603b1c If user fails host access, search for peers too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-06 01:33:24 +00:00
James Golovich
be1efdbf89 include utils.h in chan_iax2.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 22:13:27 +00:00
James Golovich
960f681dec Use ast_strlen_zero in chan_iax2.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 21:14:36 +00:00
James Golovich
995468ea0a Include utils.h in chan_skinny.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 05:16:42 +00:00
Jeremy McNamara
ecbd983648 use ast_strlen_zero
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 05:03:48 +00:00
James Golovich
2bda857bf7 Use ast_strlen_zero in chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 04:23:18 +00:00
Mark Spencer
6f3dd86f22 Ignore dupe packets for RFC2833 (bug #1034)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 03:56:27 +00:00
Mark Spencer
cc1da2eb5b Qualify that SIP INFO stuff is real (bug #1558)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-05 01:56:03 +00:00
Mark Spencer
cc9ffa5ac1 Fix SIP autohangup mishap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 20:10:37 +00:00
Mark Spencer
9cc62f6461 Print route when doing sip show channel foo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 19:41:31 +00:00
Mark Spencer
6ac10272bc Make sure we don't accidently send weird delivery times on DISA
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 19:20:20 +00:00
Mark Spencer
19a080ddd7 strlen fixes and don't destroy SIP channels that still have pending things on them (bug #1552 et al)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 19:11:25 +00:00
Mark Spencer
fdec9012eb Documentation fixes (bug #1554).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 16:33:31 +00:00
Mark Spencer
67c11acbbf Add app_groupcount to manage groups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 16:09:35 +00:00
Mark Spencer
a5ad1269ef More strlen_zero checks (bug #1549)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 14:54:42 +00:00
Mark Spencer
958668f001 Fix swedish, german, and french support for say number (bug #1550)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 14:33:27 +00:00
James Golovich
5acaa777b8 Change strlen calls to ast_strlen_zero in callerid.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 06:42:06 +00:00
James Golovich
9bb1b64d48 Change strlen calls to ast_strlen_zero in pbx.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 06:34:34 +00:00
Mark Spencer
cf0659f7af More expression fixes (bug #1548 again)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 03:23:35 +00:00
Mark Spencer
e158ab2fe9 Clean agi-sphinx-test (bug #1547)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 01:46:01 +00:00
Mark Spencer
5098302f2f Update for backwards compatability (bug #1548)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-04 01:45:00 +00:00
Jeremy McNamara
e8ed258aa4 use ast_stren_zero
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 22:19:03 +00:00
Mark Spencer
b4a674e0ac Add swedish support, fix german support (bug #1543)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 21:10:57 +00:00
Mark Spencer
d4c439c61d Use strlen_zero function in chan_sip (bug #1545)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 21:01:14 +00:00
Mark Spencer
9c683b7423 Fix compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 21:00:20 +00:00
Mark Spencer
ca2069a246 Don't update route once it's set (bug #1491)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 20:06:38 +00:00
James Golovich
07a40f5141 Oops, actually use the right variable in channels/Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 19:29:52 +00:00
James Golovich
3b3674807b Fix channels/Makefile so USE_MYSQL_FRIENDS implies USE_SIP_MYSQL_FRIENDS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 19:14:50 +00:00
Mark Spencer
bbaf536f6a Add "insecure=very" where we don't authenticate peers who are registered
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 05:14:52 +00:00
Mark Spencer
b50ecc25b2 Merge slepp's sub-second expiration timer although hopefully it will never have to be used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 05:03:19 +00:00
Mark Spencer
f2ccbc81d9 Internationalize say_date_time, fix small pbx_config seglet (bug #1537)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 04:38:31 +00:00
James Golovich
5537e1ad17 Change strlen calls to ast_strlen_zero in voicemail checking stuff because it is called all the time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 04:37:03 +00:00
Mark Spencer
0e89f839e1 Make directory spell name if available
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 04:36:46 +00:00
James Golovich
131a8c8f53 Add include/asterisk/utils.h file. Which includes the function
ast_strlen_zero, which should be used instead of strlen to check if a
string has length or doesn't have length.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 04:31:11 +00:00
Mark Spencer
603511ea6f Merge BKW's mp3 improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 03:32:04 +00:00
Mark Spencer
ded7dae112 Merge slepp's REGISTER RFC compliance fixes (bug #1538)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 02:22:19 +00:00
James Golovich
8c05e4677e Code formatting cleanup in channel.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 02:02:27 +00:00
Mark Spencer
73b389da6c Add SayPhonetic and SayAlpha applications (bug #793)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-03 00:54:16 +00:00
James Golovich
09eeb42315 Add doc/CODING-GUIDELINES document
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 19:24:05 +00:00
Mark Spencer
e05b6242a5 Merge Tilghman's color patches for the asterisk prompt (bug #1535)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 19:13:16 +00:00
Mark Spencer
c3c38eeeaf Let OSS know how to deal with indication -1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 17:52:45 +00:00
Mark Spencer
6cdbd6903c On a reload, don't stop supporting sip if we can't find our ip.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 17:43:15 +00:00
Mark Spencer
503dbb3d8a Add new "authname" field so we can authenticate BYE properly on incoming calls (bug #1436)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 16:30:05 +00:00
Mark Spencer
35ca4404f0 On incoming call, set peername to username to properly authenticate BYE (it's not used for anything else, as far as I know)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 16:17:40 +00:00
Mark Spencer
ee0532702a Merge Matteo's language setting code for iax2 (bug #1476)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 06:36:31 +00:00
Mark Spencer
44de97d496 Provide more fine grained control of sip and iax show peers (bug #1470)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 05:38:20 +00:00
Mark Spencer
9d1e203b3d Merge murf's generous expression contributions (bug #1292)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 04:09:35 +00:00
Mark Spencer
cb59df7bed Make overlap dial be interpreted in the same way an FXS would be (bugs #1080 and #1452)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 03:39:17 +00:00
Mark Spencer
70d5cd0210 Add new zealand tone definitions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 02:16:46 +00:00
Mark Spencer
3c134b6549 Revert earlier changes. The right answer for bug #1436 should be using username=
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-02 00:51:11 +00:00
Mark Spencer
511816a56d Allow "fast" asynchronous manager initiation of events (bug #772)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 23:52:27 +00:00
Mark Spencer
3ad6ed3e92 Add ability to specify custom e-mail subject line (bug #1291)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 23:28:33 +00:00
Mark Spencer
9144ad4883 Further minor fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 22:29:54 +00:00
Mark Spencer
00c2c1b70e Merge german say number enhancements (bug #1532) thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 22:14:42 +00:00
Mark Spencer
307168cc0f Merge sbinger's voicemailf ixes for duration and short files (bug #1282) thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 22:11:58 +00:00
Mark Spencer
58a42e51e2 Fix wrap error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 21:42:11 +00:00
Mark Spencer
5b34d11ce9 Allow debug to be enabled on a per-peer or per-IP basis (bug #850)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 21:25:31 +00:00
Mark Spencer
1dbc8e3f0e Rid compiler warning, make information meaningful in sip debug for codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 20:59:37 +00:00
Mark Spencer
3d775d9286 Correct loadavg documentation (bug #1305)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 15:23:35 +00:00
Mark Spencer
faaef0fbe3 Add DTX support (mark bit) (bug #1234)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 15:18:28 +00:00
Mark Spencer
ff7f09ecc7 Add documentation for CLI prompt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 14:49:36 +00:00
Mark Spencer
0a457907fe Improve mp3 player quality (bug #1527)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 14:03:37 +00:00
James Golovich
73b62ab0f6 Add HasVoicemail application (bug 1520)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 05:54:50 +00:00
James Golovich
0122a3ea08 Fix 'remove extension' completion
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 05:50:51 +00:00
James Golovich
c432265ab7 format_ilbc.c comment fix from bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 04:19:56 +00:00
Mark Spencer
b773853b03 Put poll in a loop forever when not doing anything else.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 03:14:02 +00:00
Mark Spencer
3d16691c9e Revert routing change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-05-01 03:04:04 +00:00
Jeremy McNamara
770796275d Document usage of PGSQL. Bug#1486
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 05:27:35 +00:00
Jeremy McNamara
a717d81cea Increase DTMF duration in f.sample, just in case. Bug#1414
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 05:21:36 +00:00
Mark Spencer
ec6644c146 Only clear route if we have a new one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 04:05:22 +00:00
Jeremy McNamara
93fd179b4c correctly stay in admin menu until user wants out (bug #977)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 02:29:56 +00:00
Jeremy McNamara
a3803a3c93 rollback bug#77..the right fix immanent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 02:08:12 +00:00
Anthony Minessale II
489656458f update astxs to default /usr/src/asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 02:07:29 +00:00
Mark Spencer
30e9661919 Stay in admin menu until user wants out (bug #977)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 01:18:26 +00:00
Mark Spencer
3e48f862a7 Work properly with USE_SIP_MYSQL_FRIENDS set to 1 for linking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 01:09:52 +00:00
Mark Spencer
722f92e834 Say "message 1" in title (bug #1521)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-30 00:25:07 +00:00
Mark Spencer
d106797a26 Add relaxdtmf option to sip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 22:27:40 +00:00
Malcolm Davenport
6f9df58afe Bug # 1503: Add Peter's fix to include "accountcode" support to MySQL based IAX-Friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 20:09:05 +00:00
Anthony Minessale II
66498eee0b update astxs utility to allow auto load/unload and url compile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 19:55:46 +00:00
Anthony Minessale II
1f21ca187a add seconds.gsm for call timeout warning feature (bug 1353)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 14:14:27 +00:00
Mark Spencer
c7df3b4b22 Even better, let it be specified per-context
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 13:53:38 +00:00
Mark Spencer
da010f1600 Add ability to customize directory introduction (bug #1488)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 13:50:29 +00:00
Jeremy McNamara
709e526ad9 populate global options correctly. Bug#1515
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 13:34:54 +00:00
Mark Spencer
cd788e2ab9 Handle fromdomain properly when there is no @ sign
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 05:01:32 +00:00
Mark Spencer
01f39a3e51 Use -1 not NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 04:41:37 +00:00
Mark Spencer
1622c57f07 Add russian indications (bug #1471)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 04:22:51 +00:00
Mark Spencer
a46999cf0d Loader fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 04:13:06 +00:00
Mark Spencer
b34020d5a6 Don't propsoe sotp now on empty read (bug #1511)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 03:39:36 +00:00
Mark Spencer
4f51ef7ab7 Unbuffered music on hold
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 03:36:46 +00:00
Mark Spencer
ec8a80b070 Send ActionID in response ot action command (bug #1484)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 02:59:29 +00:00
Mark Spencer
5192a1a054 Add support for French, Danish, Portuguese, Spanish, Italian, and Dutch numbers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-29 02:30:14 +00:00
Mark Spencer
7e79c52808 Don't double receive INFO or MESSAGE elements (bug #1512)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 22:12:08 +00:00
Mark Spencer
314877e155 Fix potential seg in iax2 from reload when registrations are going
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 22:07:59 +00:00
Mark Spencer
da8f6a9acf OpenBSD portability to H323
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 21:06:29 +00:00
Mark Spencer
e5059cb891 Add revk's SMS application (bug #1437). Thanks!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 20:43:06 +00:00
Mark Spencer
ebba5fd9af Make paths not absolute
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 20:37:52 +00:00
Mark Spencer
e6b464ed23 More FreeBSD fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 19:55:04 +00:00
James Golovich
33faf463a0 Make sure causes.h can only be included once. Not that any code does this now, but it could in the future.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 18:09:00 +00:00
James Golovich
ceb572a280 ast_frdup optimization: only call strlen once and save the result
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 17:54:01 +00:00
James Golovich
8ace87616e Optimize inaddrcmp (a little) by making it inline
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 17:28:35 +00:00
Mark Spencer
ffe885b21f Trivial portability fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 15:29:26 +00:00
Mark Spencer
b18913b338 When creating a new DSP, initialize the progress zone just in case
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 14:55:38 +00:00
Mark Spencer
fd9d8ca43b Run setstate after setting all appropriate variables including callerid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 14:35:20 +00:00
Mark Spencer
882411586a Add Peter's SQL complaint script (bug #1482)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 13:58:19 +00:00
Mark Spencer
90a331f7a5 Provide gethostbyname_r emulation for FreeBSD and fix zap call to setstate to include callerid (bug #1411, #1498)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 13:53:01 +00:00
Mark Spencer
478474bcb1 Merge bug 1483 -- advanced voicemail options
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 04:33:16 +00:00
Mark Spencer
19064660d2 Build again without PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 04:26:26 +00:00
Mark Spencer
0fe6d16e89 Fix deadlock in IAX2 trunking, small MGCP fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-28 04:23:14 +00:00
Mark Spencer
7ca96ea7e5 Add white space condensing to pedantic mode of chan_sip.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 22:32:57 +00:00
Mark Spencer
5f71712b8b Make sure we are proceeding when we answer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 21:50:24 +00:00
James Golovich
6cbc92b760 Portability fix, use the shells path for sed and env
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 21:30:32 +00:00
James Golovich
286d0656e2 Revert formatting changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 21:21:57 +00:00
Mark Spencer
f34b684e0e Improve responsiveness of MGCP during a reload (bug #1488)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 21:18:02 +00:00
Anthony Minessale II
f9226cd9cd Bug Fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 16:42:43 +00:00
Mark Spencer
7596de9ac8 Extreme IAX2 trunking performance improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-27 15:18:55 +00:00
Anthony Minessale II
5385ca0a0e applied final release of bug 1353 per Mark's permission
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 23:22:34 +00:00
Mark Spencer
f4b55b802c SIP cleanups for database linkage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 14:54:33 +00:00
Mark Spencer
0d048dee56 Use insmod instead of modprobe (bug #939)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 13:53:31 +00:00
Mark Spencer
6726488e48 Allow two contexts to be specified for directory application (reimplementation fo bug #643)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 13:48:56 +00:00
Mark Spencer
3b64c4830f Unify all the res_ninit patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 13:32:57 +00:00
Mark Spencer
add7cf7ded Move skinny to support poll
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 12:51:49 +00:00
Mark Spencer
6b55f06a23 vmail.cgi updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 12:41:42 +00:00
Mark Spencer
2b5a352840 Avoid another voipme by explaining you need CVS update when SIG_EM_E1 is invalid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 12:30:28 +00:00
Mark Spencer
2a3fc7b8ea Remove obsolete chan_zap_old.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 12:27:00 +00:00
Mark Spencer
1511750650 Use proper token for authenticating BYE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 12:26:02 +00:00
Mark Spencer
cce37f8d32 Hold call structure longer iwth find_callno
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 11:38:21 +00:00
James Golovich
69f5623a03 Make redhat init.d script call asterisk to reload instead of forcing a restart (bug 1481)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 07:06:29 +00:00
James Golovich
7567113e71 Make RemoveQueueMember and AddQueueMember jump to priority + 101 (bug 1022)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 06:57:15 +00:00
James Golovich
9c13bd8884 Change iaxtel entry in sample extensions.conf to use XXXXXXX instead of NXXXXXX because iaxtel assigns numbers that have a NPA starting with 1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 05:47:45 +00:00
Mark Spencer
30a7162bd9 Merge JS's Cisco MGCP fixes (Bug #693)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 05:18:55 +00:00
Mark Spencer
f85d0713cf Clean up SQL queries (bug #1479)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 05:08:30 +00:00
Mark Spencer
64c9e859e0 Also handle properly \r\n instead of just \n...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 03:45:10 +00:00
Mark Spencer
ed360fcf57 Committed a little bit too quickly there...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 03:41:07 +00:00
Mark Spencer
c924d1a322 First pass at handling multi-line headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 03:38:32 +00:00
Mark Spencer
ce44c6ec41 More select/poll updates for various applications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-26 03:02:49 +00:00
Mark Spencer
459fda5e44 Migrate chan_zap from select to poll
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-25 22:37:09 +00:00
Mark Spencer
435e55958f Properly migrate from select to poll for core asterisk.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-25 20:42:45 +00:00
James Golovich
0eca3cf384 Start with a reasonable default timeout in parkandannounce
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-25 19:44:03 +00:00
Mark Spencer
b9604cde6c Temporarily revert poll changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-24 23:11:28 +00:00
Mark Spencer
470f226d9d Change select references to poll in core asterisk functions (hope this works)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-24 23:02:21 +00:00
Mark Spencer
8a411edf9f Make sure call is valid when handling mini-frame.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-24 15:16:48 +00:00
Mark Spencer
243a3df832 Improve echo cancellation in iaxy firmware (version 14)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-23 15:54:57 +00:00
Mark Spencer
90778ada6d Fix timestamps on IAX2 trunk mode transmit direction
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-23 05:35:12 +00:00
Mark Spencer
7bf0c1bc45 Fix double close of file descriptor (bug #1473)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-23 04:38:11 +00:00
Mark Spencer
f9aef7098f Oops that wasn't quite right. Partially revert changes until real data is collected.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 19:16:52 +00:00
Mark Spencer
ba078042ba Make trunking and timestamps palce nicely
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 18:51:42 +00:00
Mark Spencer
3534419f14 Add missing break
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 18:41:11 +00:00
Mark Spencer
025ae183eb Fix swap_subs for better locking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 16:02:56 +00:00
James Golovich
6534f4d668 Fix some comments in chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 05:24:50 +00:00
Mark Spencer
0d9adb7294 Oopsies
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 05:11:11 +00:00
Mark Spencer
d851db3cee Small fixes from bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 03:39:54 +00:00
Mark Spencer
a640df56e6 Fix iLBC with valgrind, add iLBC format from bkw_
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 03:34:13 +00:00
Mark Spencer
17563e2929 Handle transitions in delivery time and non-delivery time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 03:02:27 +00:00
James Golovich
12bcd39583 Typo in logger.c (bug 1466)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 02:57:10 +00:00
Mark Spencer
e30e0c5135 Use ast_strdupa instead of strdup in goto (bug #1465)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 00:27:48 +00:00
Mark Spencer
d3f9887589 gethostbyname isn't reentrant, who knew...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-22 00:20:34 +00:00
Mark Spencer
ca493a14e1 Increase buffer size (bug #1459)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 21:55:40 +00:00
James Golovich
250c1d2068 Make manager "Link" and "Unlink" events include the channel uniqueids (bug 1456)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 04:52:18 +00:00
James Golovich
65c3fe8b33 Unload g726 file formats in the order they were loaded (bug 1460)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 04:27:58 +00:00
James Golovich
fe9255a816 Log when we unload a translator (bug 1460)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 04:26:38 +00:00
James Golovich
0f3f7eee9a Log that we are unregistering cdr module (bug 1460)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 04:25:44 +00:00
James Golovich
22411494aa image unregister typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 03:54:25 +00:00
James Golovich
fcf07fce61 Fix format unregister
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 03:53:15 +00:00
Jeremy McNamara
87e84064d2 rollback to pre-janus, for the moment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 02:28:05 +00:00
Mark Spencer
0134d2cc85 Select user by more logical grounds when no user is specified (bug #1458, sorta)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-21 00:33:09 +00:00
Mark Spencer
c984a64f3e Documentation fixes (bug #1439)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 23:31:13 +00:00
James Golovich
f864caba2f Add app_exec (bug 1198
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 20:05:14 +00:00
Mark Spencer
0709926b82 Don't spam 3389 warning message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 19:23:08 +00:00
Mark Spencer
8f86c8409d Don't dereference consumed frame delivery.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 15:28:58 +00:00
Mark Spencer
ef89a2709a Fix pingtime calculation in bridge optimized mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 15:14:06 +00:00
Mark Spencer
c96b093a58 Update australian tonezones.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 14:01:13 +00:00
Mark Spencer
b54d2b2c38 Make sure we safely lock both channels when doing a masquerade.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-20 03:16:01 +00:00
Jeremy McNamara
50edb67fc4 update once again to the right version
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 23:47:34 +00:00
Mark Spencer
776a66f5db Merge Matt's extern notify patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 23:27:37 +00:00
Mark Spencer
8a7f4bcd7a Hold the lock properly on async goto now that we have recursive mutex support.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 23:00:50 +00:00
Mark Spencer
8e0f9147b2 Fix trailing slash problem (Zap) and making sure refers get ignored the second tiem around.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 22:55:35 +00:00
Mark Spencer
a84bb950fa Fix lock initialization in lock debugging mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 21:52:39 +00:00
Jeremy McNamara
e9ea9975de Make comptable with Open H.323's Janus release. See http://www.sf.net/projects/openh323/ for details. These changes will cause any version less than Janus to fail at compile time. This update may also address the recent instability noise...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 19:47:27 +00:00
Mark Spencer
7a8ec5bea4 Always give real timestamps on IAX ping/pong messages
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 15:24:51 +00:00
James Golovich
98533cbccc OpenBSD portability enhancements (bug 1002)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-19 08:11:51 +00:00
James Golovich
36a13f931a Make 'iax2 show users' print key if a key is used (bug 1253)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-18 21:53:13 +00:00
James Golovich
295ce9fc8d Make extension matching non case sensitive. So 'T' and 't' are
different extensions (bug 1327)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-18 05:50:55 +00:00
James Golovich
e7f819bed1 Fix compile warning in chan_zap if libpri not installed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-17 23:48:19 +00:00
Anthony Minessale II
34e415222e * Patch to Makefiles to allow a script to query the make envirnoment.
* contrib/scripts/astxs (The tool itself)
* see bug 1329

-Anthony Minessale (anthm)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-16 18:57:07 +00:00
Mark Spencer
d8a6763be4 Add support for E1 E&M
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-16 18:00:00 +00:00
Jeremy McNamara
2d232c4c57 Remove all capabilities first
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-16 05:57:30 +00:00
Mark Spencer
1487d749fe Answer if it needs it...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-16 02:51:47 +00:00
Mark Spencer
74de37e81e Warn to use DeadAGI in general on hungup channels if AGI or EAGI is called.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 21:01:55 +00:00
Mark Spencer
ec6d3b535a Don't set the address with NAT mode if we haven't programmed an address
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 20:12:46 +00:00
Mark Spencer
698b0b090b Make substring deprecated
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 18:41:17 +00:00
Mark Spencer
a3d9d7b58b Do proper bounds checking in formats (bug #1356)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 16:02:42 +00:00
Mark Spencer
de51a91db3 Fix for uclibc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 00:13:30 +00:00
Mark Spencer
97dd838cda Fix name properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-15 00:02:07 +00:00
Mark Spencer
02287658f7 Store modules in the order they're loaded to make reload work properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-14 21:10:00 +00:00
Mark Spencer
083d9c8039 Clean up timestamps on IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-14 18:15:16 +00:00
Jeremy McNamara
5ebb0b8c15 Lets see if this way works to remove all capabilities from the list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-13 19:07:51 +00:00
Jeremy McNamara
64d509a931 back out lame attempt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-13 18:54:24 +00:00
Jeremy McNamara
9cb2272494 print out capability set, if h323debug is turned on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-13 18:32:23 +00:00
Jeremy McNamara
d3f45d14b3 make sure capability set is clean before setting new value(s)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-13 18:26:27 +00:00
Mark Spencer
7ed519ba84 Use fputs where it makes sense instead of fprintf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-13 04:45:51 +00:00
Mark Spencer
c512310934 Don't allow the format to be doubly handled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-13 04:27:06 +00:00
Mark Spencer
e15b5a83d5 Lock on indication too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-12 22:00:12 +00:00
Mark Spencer
fec02c20a9 Revert locking changes which break static locks (even on linux since it's part of an ENUM not define)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-12 20:54:24 +00:00
James Golovich
63702b9a78 Change mutex defines so it should work on OS that don't have the _NP mutex types. Also move the #defines up so we don't need to duplicate them
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-12 19:56:32 +00:00
Mark Spencer
a8fb88516a Fix implementation of waitfordigit_full
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-12 16:25:34 +00:00
Mark Spencer
694cacc93d Fix cut properly (bug #1138)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-12 16:08:20 +00:00
Mark Spencer
d2019972f7 Revert earlier jcdutton ALSA improvements which are not disclaimed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-11 01:59:11 +00:00
Mark Spencer
f2ee5d3a80 Don't hang up if the file is missing (not a bug, but fix anyway) (#1380)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-10 21:10:22 +00:00
Mark Spencer
43d7359221 Don't check PRI settings unless there is PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-10 03:46:59 +00:00
James Golovich
ae07b8ee83 Allow zapscan to select a specific channel (bug 1371)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-10 02:49:06 +00:00
James Golovich
fcf76b36aa Hopefully last fix to remote cli completion
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-09 17:46:04 +00:00
Mark Spencer
639438836b Don't take digits in-band when in overlap dial mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-09 16:33:37 +00:00
James Golovich
cbd5a0e6bb Fix sounds.txt to have extensions for recently included sound files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-09 00:15:34 +00:00
James Golovich
9cb145c44c Add sound files for dynamic conf stuff (bug 1026)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 19:38:47 +00:00
James Golovich
4d7386fc5f Add ability to do PINs with dynamic conf (bug 1026)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 19:38:26 +00:00
James Golovich
8f591d1b71 Add new sounds text for conf mod (bug 1026)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 19:38:02 +00:00
James Golovich
e9c65d0c08 Hopefully the last round of removing needlock stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 19:28:05 +00:00
James Golovich
1b2dc7ef75 Remove more needlock stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 19:19:24 +00:00
James Golovich
0f2bcccaba Free some cli memory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 05:28:53 +00:00
Mark Spencer
6cde9d87a3 Turn off MOH later rather than sooner.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 05:03:47 +00:00
Ben Kramer
61ff225f1d updated to work with change by markster: Get rid of all that old needlock garbage now that we're using recursive mutexes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-08 00:59:39 +00:00
Mark Spencer
50edc08001 Fix SendDTMF which was clearly not even tested before it was last committed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 20:14:19 +00:00
James Golovich
0b2a9dc297 Remove extra argument from ast_set_*_format calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 20:12:42 +00:00
James Golovich
f7b250f963 Fix command completion and remove compile time warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 18:26:24 +00:00
Mark Spencer
78641613c7 Add sendtext application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 17:19:25 +00:00
Mark Spencer
42034844dc First pass at fixing chan_alsa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 16:46:39 +00:00
Mark Spencer
d45addcc7a Fix compile warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 16:17:31 +00:00
Malcolm Davenport
df9089d3f8 More changes to Matt's application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 16:16:56 +00:00
Mark Spencer
6938bb6109 fix chan_oss for revised queue structure.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 15:59:14 +00:00
Mark Spencer
5a2c606d94 Keep random data around, we'll need it for certain bogus REGISTER and INVITE network hiccups (bug # 1236)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 15:09:58 +00:00
Mark Spencer
a3d396b11b Remove double unlock from ast_read
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 14:43:18 +00:00
Mark Spencer
a1ffc320e4 Don't say we're unable to find the channel if we're able to find it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 14:11:49 +00:00
Mark Spencer
512583709a Fix double parking crash (bug #1302)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-07 04:11:00 +00:00
Mark Spencer
13bca43aa8 Get rid of all that old needlock garbage now that we're using recursive mutexes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 22:17:32 +00:00
Malcolm Davenport
d0037ea2fd Add Matt's option to call an external application when a voicemail is
left


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 21:52:42 +00:00
Mark Spencer
6b09ce4336 Don't redefine ast_mutex_init
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 20:57:15 +00:00
Mark Spencer
584936aa9b Update locking for non-debug mode, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 20:35:55 +00:00
Mark Spencer
672e3e49fb Bite the bullet and require RECURSIVE mutexes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 20:08:44 +00:00
James Golovich
1d8f780f45 Include inttypes.h in md5.h instead of stdint.h (since stdint.h contains the right info on freebsd and on linux inttypes.h includes stdint.h) (bug 1369)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 18:20:30 +00:00
Mark Spencer
d3bcf405c2 Small IAX fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 15:55:40 +00:00
Mark Spencer
426bf55df2 Print actual hook state in chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 15:50:18 +00:00
Mark Spencer
1bbf0d2cf6 Bump branch id on INVITE with auth (bug #1313)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 14:02:47 +00:00
James Golovich
8cfed866d3 Remove size restiction on remote console command completion (bug 1360)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 07:42:01 +00:00
Mark Spencer
852422f4ab Add "WaitExten" application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 04:14:19 +00:00
Jeremy McNamara
528c513602 swap out printf's for ast_verbose
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-06 03:43:43 +00:00
Mark Spencer
1cf4ea2eb3 Don't translate time for packets with no delivery
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 20:47:44 +00:00
Jeremy McNamara
70dfab8be0 on outbound calls make sure we use requested codec
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 20:45:14 +00:00
Mark Spencer
f897350521 Fix timestamps for codec translations with different sized frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 19:45:53 +00:00
James Golovich
b5da1073b0 Allow manager.conf to use port and portno, but log that portno is deprecated.
(bug 1343)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 19:40:30 +00:00
James Golovich
dc383a7ee7 Make outgoing call spool only consider # a comment if at the beginning of a line or following whitespace (bug 1346)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 18:03:40 +00:00
Ben Kramer
09e0fc2074 / implemented basic group'ing, as per chan_zap
/ reformated whole file to consistent format


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 05:37:01 +00:00
Mark Spencer
940a5deb2e Support some more SIP idiocies
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 05:12:00 +00:00
James Golovich
aacc5e108b Only update utime in pbx_spool.c if the file exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 02:47:48 +00:00
James Golovich
1cf0d5ad9d Make pbx_spool update utime with every safe_append
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-05 00:00:23 +00:00
Mark Spencer
9f726fce46 603 is a busy too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 22:54:35 +00:00
Mark Spencer
d051e2da43 Recognize + as a valid part of a phone number
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 22:14:10 +00:00
Mark Spencer
94279f00c1 Various video fixes (bug #688)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 21:54:38 +00:00
Mark Spencer
ef1f39d29e Save appl and data around exec (bug #1301)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 21:30:24 +00:00
Mark Spencer
9c7ffa265e Fix small SIP issue with SER (bug #1181)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 21:09:22 +00:00
Mark Spencer
9cc3adbdd9 Clear out delivery fields just in case
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 20:43:07 +00:00
Mark Spencer
d42f7886ab Merge changes from jcdutton (thanks!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 17:21:03 +00:00
Mark Spencer
e2b0f32c18 Minor samples updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 16:33:56 +00:00
Mark Spencer
52f13283ea Make chan_zap allocate a comfortable amount of space for VMWI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 02:02:15 +00:00
Mark Spencer
7d2624dd3c Wait a half a second before sending VMWI...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 02:00:19 +00:00
Mark Spencer
7ae1d61120 Provide more useful debugging on retries and scheddestroy()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-04 01:55:16 +00:00
Mark Spencer
39c9375eef Fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-03 22:59:12 +00:00
Mark Spencer
cdb1b1dba3 Merge Mike's updates for agent CDR updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-03 00:41:47 +00:00
Mark Spencer
3d61f5f20e Don't double lock the stream
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 23:25:24 +00:00
Mark Spencer
59859d8cc2 Fix generator race (bug #1202)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 21:58:10 +00:00
Mark Spencer
b285cd40b2 Keep REGISTER dialog open a little longer in case they don't get our 200 OK right away...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 21:43:07 +00:00
Mark Spencer
3415434e04 When going to in-band, be sure to allocate DSP (bug #1336)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 14:40:21 +00:00
James Golovich
36a8fb3e4d Make app_dial complain if the timeout passed is non numeric
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 07:47:23 +00:00
Mark Spencer
a925c1b306 Update security document, work on threading with pbx.c and small SIP fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 07:24:33 +00:00
Ben Kramer
7f6b9ccb5b / updated config file with all available options
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 06:57:58 +00:00
Ben Kramer
3cedced29a / added more samples to the config file, now has samples for all boards
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-02 05:25:21 +00:00
Mark Spencer
1d53342b18 Expand SIP opaque buffers, prefer recursive to "error checking" mutexes...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-04-01 06:27:10 +00:00
Ben Kramer
1e87c2aa48 / added a note to top of file to have patches sent to support@voicetronix.com.au
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-31 23:40:20 +00:00
Mark Spencer
fbc5be2426 Fix small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-31 19:06:17 +00:00
Mark Spencer
4b02c78aaa Don't die on a bad voicemail conf timezone entry (bug #1326)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-31 18:59:42 +00:00
Mark Spencer
71e80e5f62 Leave retry time alone, handle "opaque" stuff in message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-31 08:00:26 +00:00
Ben Kramer
8b5bbe4673 / commit of a great deal of changes
/ tested these features using an OpenSwitch12
/   FXO=>FXS
/   FXS=>FXS
/   FXS=>FXO
/   FXO=>SIP
/   Echo cancelation.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-31 04:29:55 +00:00
James Golovich
c89cbd916d Change md5 to use uint32_t instead of uint32
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-30 23:55:41 +00:00
James Golovich
3c70509e9b Fix md5 on 64bit systems (aside from alpha)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-30 23:54:21 +00:00
Malcolm Davenport
e1112c64c9 Fix the 'n' option of app_queue. Thanks Mike
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-30 22:04:07 +00:00
Mark Spencer
8dec8d3632 Fix progzone loader
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-30 21:23:16 +00:00
Mark Spencer
722babe8d1 Indicate the need to reload without actually reloading...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-30 16:16:05 +00:00
Mark Spencer
3e9c337946 Small SIP fix, voicemail fix, and some delivery fixes on new apps
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-29 08:20:35 +00:00
James Golovich
2c0d0d836c Get rid of annoying beeps on remote console
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-29 04:12:13 +00:00
Mark Spencer
dbbf64fdd4 Attempt at incrementing branch (or changing it) at the right places (bug #1313)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-28 04:05:58 +00:00
Mark Spencer
1ccab64d86 Add support for Costa Rica to DSP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-28 02:53:04 +00:00
Mark Spencer
4b234476bb Merge more Sentito contributions (thanks serkan)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-27 17:51:22 +00:00
James Golovich
6ce8fc0b15 More read/write lock fixes in various modules
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-27 07:41:33 +00:00
James Golovich
9fca20acc1 Fixup read/write locking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-27 07:34:37 +00:00
Mark Spencer
eeb2ca5b26 Make read/write mode have a lock parameter and use it properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-27 06:50:12 +00:00
James Golovich
4b4c55e328 Pick the right location to endian.h based on OS in md5.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-26 08:37:51 +00:00
James Golovich
3ee43dd572 Add example of using Account in sample.call file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-26 08:04:13 +00:00
James Golovich
a222dbe8c7 Make chan_vpb.c detect austel busy (bug 545)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-26 07:18:26 +00:00
James Golovich
2ff5d7de53 Add manager action 'SetCDRUserField' (bug #1298)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-26 06:28:56 +00:00
James Golovich
c6aaaf438e Allow CLI Prompt to be customizable via ASTERISK_PROMPT environment
variable (bug #1270)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-26 04:59:41 +00:00
Mark Spencer
fb0af47761 Update sample sip.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-25 20:52:57 +00:00
Jeremy McNamara
211afe3a4b document mwi issues for voicemail contexts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-25 18:28:35 +00:00
Jeremy McNamara
ea1c68b666 Document the maximum length of voicemail email message body. Bug #1299
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-25 18:11:24 +00:00
James Golovich
82bf2663e3 Tiny optimization in chan_iax2.c that the compiler would
probably take care of, but better that we do it


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-25 18:10:52 +00:00
Mark Spencer
638684636c Make sure calculation of time is always > 0...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-25 07:17:33 +00:00
Malcolm Davenport
3ec7218ffb Bug # 1287: Festival cache string bug fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 22:50:43 +00:00
Mark Spencer
96c7fb890e Reduce volume of hold music to 8k / 4k
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 21:54:05 +00:00
Malcolm Davenport
efd7427f33 Bug # 1108: chan_alsa fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 21:34:21 +00:00
Mark Spencer
b43c1f054b Allow expiration of several messages to be non-fatal.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 21:21:59 +00:00
James Golovich
f8b04c4bb6 *** empty log message ***
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 08:36:36 +00:00
James Golovich
bb8b00dad8 Actually support the zaptel timing parameters the sample config file says we support adjusting. prewink, preflash, wink, flash, start, rxwink, rxflash, debounce
Still need to hear back from Jim Dixon if the radio timing params should be adjustable


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 08:36:28 +00:00
James Golovich
8279f0eac5 Make cli_complete buffer as large as the one used in handle_commandmatchesarray (bug 1281)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 08:09:01 +00:00
Mark Spencer
61d1fd9a0e Make FAX enableable/disablabable, fix async goto support properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 05:01:44 +00:00
Jeremy McNamara
4f72330f5c check input for errors. Bug #435
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-24 03:48:18 +00:00
Mark Spencer
3b6c8b3f77 Improve ast_safe_system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 21:55:46 +00:00
Mark Spencer
a05ef35ca8 Improve verbose messages
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 21:45:38 +00:00
James Golovich
359430871f Check to make sure opendir works in chan_iax2.c (bug 1283)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 21:42:35 +00:00
Mark Spencer
747a18f65d It's okay to send RINGING > 1 time, and don't try to send it in-band
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 18:09:25 +00:00
Mark Spencer
598d7963e5 Install to iaxy.bin, not iaxy.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 17:00:13 +00:00
Jeremy McNamara
484484ce89 fix agi to accept multiple arguments. Bug #664
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 12:50:15 +00:00
Mark Spencer
6e15f28d6a Clarify documentation on Directory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 05:32:36 +00:00
Mark Spencer
b5d452b1c7 Minor SIP cleanups for valgrind, finally close the coffin on IAX1 and take it ou
t of the normal build process.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 05:06:50 +00:00
Mark Spencer
b46d67e301 Unlock the owner when we're done (duh!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 03:26:23 +00:00
Mark Spencer
3107d6d03b Hold owner lock when changing codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-23 00:56:36 +00:00
Mark Spencer
67af82457e Fix locks that are held too long
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 22:48:59 +00:00
Mark Spencer
2a16a0a30c Use caller's negotiated values when possible.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 21:52:22 +00:00
Mark Spencer
b19cb95257 Fix superfluous return NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 19:47:25 +00:00
James Golovich
dc41c40eba Make app_system.c use ast_safe_system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 17:34:21 +00:00
Malcolm Davenport
71eafcf3da Typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 15:47:32 +00:00
Malcolm Davenport
7555e69cdc Bug # 1271: Document the 'o' extension in VoiceMail application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 15:42:44 +00:00
Mark Spencer
284a5b3465 Store recorded file in RECORDED_FILE if %d is used... (bug #1062)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 04:04:07 +00:00
James Golovich
25d74e0334 More app_read.c fixes (bug 1261)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-22 03:46:19 +00:00
Mark Spencer
c1c704c042 Fix mysql friends by type
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 21:24:40 +00:00
Mark Spencer
3f5277d57b Don't reconstruct authentication information on retransmissions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 19:25:13 +00:00
Mark Spencer
98b59da9ad Create ast_safe_system which closes off file descriptors before spawning system() and so on.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 18:15:37 +00:00
James Golovich
a8bbe997d2 Fix some small typos in comments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 11:23:10 +00:00
Mark Spencer
893ed27f5b Create temporary file and then sendmail it, then delete it, to avoid a hanging mailcmd from hanging asterisk (bug #1262)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 08:01:53 +00:00
Mark Spencer
97c5b2b7d7 Take out unnecessary setting of delivery times.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 07:35:40 +00:00
Jeremy McNamara
730ca5f9b1 Enhance to accept a maximum of N digits. Bug #1261
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-21 00:33:05 +00:00
Mark Spencer
7c35f68e29 Fix milliwatt and musiconhold to know about delivery times
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 23:31:40 +00:00
Mark Spencer
79668f0624 Correctly handle call flow with outgoing queue, avoiding retries while call acti
ve (bug #1018)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 21:13:12 +00:00
Mark Spencer
4ba3ced42f Fix ACL for bizarre routing cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 19:08:57 +00:00
Mark Spencer
21d31939d1 Merge ADSI fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 17:27:10 +00:00
Jeremy McNamara
68e767078f re-apply possible CCM fix. Someone still needs to test this
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 14:29:36 +00:00
Jeremy McNamara
ff9621e279 rollback e.164 and prefix routing attempted fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 14:25:39 +00:00
Jeremy McNamara
de20d2a179 rollback everything to known good state. E.164 and prefix routing patches are broken
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 14:24:20 +00:00
Jeremy McNamara
6fb5ebfedb try to work around CCM interop, UNTESTED! Someone with a CCM needs to test this
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 14:14:00 +00:00
Jeremy McNamara
7132570353 Change 'show locals' into 'local show channels' to follow other channel methods. Bug #1255
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 13:26:52 +00:00
James Golovich
92f6d077fd Fix ast_translator_free_path (bug 1254)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 10:55:57 +00:00
James Golovich
1498cc552f Make primary key context and voicemailbox and make the file easier on
the eyes (bug 1208)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 07:51:56 +00:00
James Golovich
32bde5b009 If asterisk is started with progname of 'rasterisk' assume its a remote
console (bug 842)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 07:26:54 +00:00
Mark Spencer
af6016cfd0 Add experimental nbscat application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 07:16:27 +00:00
James Golovich
f3d440a16f Improve sample extensions.conf (bug 1190)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 06:52:03 +00:00
Mark Spencer
47b6495e9b Same for transmit core
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 05:22:52 +00:00
Mark Spencer
7192fbfae7 Round offset timestamps to nearest 20ms to clean up numbers.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 05:19:45 +00:00
James Golovich
be59053650 Add some comments to lock.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-20 05:07:21 +00:00
Mark Spencer
c36ec4f9d7 Major MGCP enhancements (*very* big thank you to serkan and Sentito) (bug #1114)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 22:57:08 +00:00
Malcolm Davenport
5191a04055 Bug # 1088: Add MailboxExists, conditionally branches to priority n+101
if specified mailbox exists (in the config).  Thanks Tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 22:39:02 +00:00
Malcolm Davenport
9ef542b3cb Bug # 1179: Remove "show voicemail users" when using MYSQL voicemail interface
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 21:42:48 +00:00
Malcolm Davenport
2414aeb4dd Fix small typo in sip.conf.sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 21:29:13 +00:00
Mark Spencer
cd8bc46a15 It helps to use the local copy yo ucreated
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 20:36:21 +00:00
Malcolm Davenport
b79b6aba5d Bug # 1013: More explanation in the sip.conf.sample thanks to oej
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 20:30:03 +00:00
Jeremy McNamara
fa308aa83b language is not supported in datetime. Bug 686
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 18:23:33 +00:00
Mark Spencer
b90a103e22 First pass at populating delivery times through translation. Not sure how this will affect translations with different packet sizes, but it *ought* to resolve itself in the end.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 15:03:43 +00:00
Jeremy McNamara
0ddcb1f666 Add hangupcause to the hangup manager event
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 09:37:28 +00:00
Mark Spencer
785ac43c84 Just to be on the safe side, don't update timestamps against anything but voice packets.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 08:16:19 +00:00
Mark Spencer
7075b58ee1 Don't use hard timestamps for non-voice frames.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 08:12:04 +00:00
Mark Spencer
a386f01a7c Favor requested codec whenever possible (pass #1)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 08:00:13 +00:00
Mark Spencer
ce9e964c5f Fix LEN segfault (bug #1228)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 06:36:25 +00:00
Mark Spencer
2524d2c413 Add support for new PING/PONG on zaptel which reduces the # of file descriptors on SIP/IAX channels (when zaptel interface is available) by 2 per channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 04:23:20 +00:00
James Golovich
687b0ebe6e Check tempchan->type in app_zapscan.c (bug 1250)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 03:46:01 +00:00
Mark Spencer
8c232e1dbb Populate DNID for SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 02:04:45 +00:00
Mark Spencer
bc2a510fb7 Remember when we started/stopped ringing so that ringing twice works as expected
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-19 00:08:43 +00:00
James Golovich
130c64e5d9 Clarify in voicemail.conf that certain variables are in seconds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 23:03:33 +00:00
Malcolm Davenport
264bfb7121 Bug # 1247: Add patch to specify minimum vmail length and discard that
which does not meet the minimum


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 22:49:06 +00:00
Jeremy McNamara
d3b2cb19e4 Properly deal with E.164 and Prefix routing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 20:39:15 +00:00
Mark Spencer
e7ecf6accb Populated RDNIS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 20:33:55 +00:00
Mark Spencer
4c06525432 Make RDNIS really work right
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 20:02:15 +00:00
Mark Spencer
bf5d593e71 Fix parser
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 06:04:22 +00:00
Mark Spencer
29b7818ebf Fix timestamp to always be unsigned
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 06:01:53 +00:00
Mark Spencer
ce88c6dd08 Populate RDNIS information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-18 05:48:40 +00:00
Mark Spencer
1b05e77127 Fix small but deadly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-17 16:49:00 +00:00
Mark Spencer
726d3cba43 Answer the line when hangup received and callwait is up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-16 23:42:41 +00:00
Mark Spencer
b690dc13aa Fix timestamp delivery calculation in IAX... Still might be some mess left...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-16 22:55:05 +00:00
Malcolm Davenport
b0d28cedf7 Bug # 1116. CallerID number not hidden when RestrictCID is on, Fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-16 17:07:51 +00:00
Mark Spencer
b3f94c4c00 Fix small typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-16 16:02:57 +00:00
Malcolm Davenport
0753ca66ab Bug #1222: Fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 23:32:58 +00:00
Mark Spencer
e02fae664a Alpha portability from Ricudis
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 16:51:58 +00:00
Mark Spencer
2a75bbb711 Mute received DTMF path
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 16:20:01 +00:00
James Golovich
9223055df1 Fixup some pthread_t checking in channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 09:14:16 +00:00
James Golovich
4b0d26c93d Actually commit the new #defines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 08:36:25 +00:00
James Golovich
0e90480d6b Fix bug 1217. Change pthread_t initializers to AST_PTHREADT_NULL and
AST_PTHREADT_STOP


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 07:51:22 +00:00
James Golovich
c30ff0935d Add 'pri show span <spanno>' command to chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 05:57:47 +00:00
James Golovich
200ae67551 Update spool file times after we close the file (bug 1018)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 05:38:41 +00:00
Malcolm Davenport
89c55fe46c Bug #1213. Fix for improperly specified Content-Length header
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-15 02:06:47 +00:00
Mark Spencer
f997f9f139 Increase amount of time we send tones on RTP to 100ms
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 23:12:22 +00:00
Mark Spencer
0852f5a930 Preserve IAX timestamps
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 23:01:12 +00:00
Mark Spencer
9e83daa3bb If an RTP peer hasn't been set, ignore audio from it (Plexus workaround)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 22:49:26 +00:00
Mark Spencer
ea92b714f2 Turn off silence suppression in SDP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 22:13:18 +00:00
Mark Spencer
aa2bdcc078 Handle 4 byte packets too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 21:01:13 +00:00
Mark Spencer
7989800674 Try to make smoother G.729B aware, and able to handle VAD bytes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 18:01:29 +00:00
James Golovich
9d8952f3a8 Make ZapScan wait 100ms for data
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 09:49:58 +00:00
James Golovich
51f004494a Make sure time is valid for uptime (bug 1214)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 09:11:32 +00:00
Mark Spencer
044aa4fa60 Cleanups of RX/TX calculations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-14 05:31:47 +00:00
Mark Spencer
17e2416f68 Merge queue changes from Bug #214
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-13 06:00:41 +00:00
Mark Spencer
8750f1c05f Move timestamp around in RTP.... Gotta do iax2 eventually here...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-13 03:52:14 +00:00
Mark Spencer
afab3c4151 Fix a martin segfault
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-12 21:26:45 +00:00
Mark Spencer
3a2f0750cb Fix safe_asterisk script
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-12 20:20:36 +00:00
James Golovich
4efa995ae1 Fix incorrect endpos when sildet is used during AGI record (bug 1210)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-12 18:49:52 +00:00
Mark Spencer
f1330f7efd Whentohangup is in seconds, not milliseconds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-12 16:47:07 +00:00
Mark Spencer
1e8ea5eece Fix small buglet, version #13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-12 00:50:38 +00:00
Mark Spencer
12a8e15227 Add support for ADPCM to IAXY firwmare (version 12)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 21:27:13 +00:00
Mark Spencer
a082f8d8c7 By default disable non-standard changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 20:56:26 +00:00
Mark Spencer
39c60235f8 Make ADPCM frames standard
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 19:57:10 +00:00
Mark Spencer
f12928f700 Make sure no path leaves channel lock locked
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 18:00:08 +00:00
James Golovich
8812409528 Make voicemail not say goodbye twice on hangup (bug 1201)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 07:00:46 +00:00
James Golovich
6406e07a79 Make ParkAndAnnounce check some things (bug 1194)
This code really needs to get cleaned up


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 06:16:15 +00:00
James Golovich
6741234ec9 Make sure usedistinctivering gets set to the right value
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-11 05:10:23 +00:00
James Golovich
c0ef6a5d1b Free dsp in agi record file if it exits before the end (bug 1199)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-10 21:17:13 +00:00
James Golovich
18b3da6bab Wipe out p->exten in zt_hangup (bug 1115)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-10 09:11:05 +00:00
James Golovich
fac46c078a Make distinctiveringdetection configurable per channel (bug 1168)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-10 08:33:07 +00:00
James Golovich
21832436ec Remove unnecessary ast_check_hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-10 07:05:01 +00:00
James Golovich
6c6bd28308 Make ZapScan exit when '*' is pressed. Has the side effect of making
the app exit when the channel is hungup which wasn't happening before


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-10 03:51:59 +00:00
James Golovich
d298a73aab Fix chan_iax2 compiling with MYSQL_FRIENDS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-09 20:10:23 +00:00
James Golovich
f82797006f Verify the right vars are passed to manager originate (bug 1185)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-09 20:01:46 +00:00
James Golovich
6f0d8022d1 Make mess more informative if non-dynamic sip user registers (bug 1186)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-09 17:42:29 +00:00
Mark Spencer
3edb8bfc21 Upgrade firmware to version 10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-09 17:30:59 +00:00
Malcolm Davenport
f986561b62 Add the app_eval.c file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-09 15:57:56 +00:00
Malcolm Davenport
d971478d75 Bug # 1182: Add app_eval: Permits a string to be evaulated twice in the context
of the dialplan.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-09 15:57:16 +00:00
Mark Spencer
b1718d715e Clarify that jitter buffering is usually a loss
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-08 19:17:46 +00:00
Mark Spencer
674d81ce27 Fix strncpy auditing (bug #1152)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-08 05:04:11 +00:00
James Golovich
0d5dcf7358 Fix typo in chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-08 04:26:36 +00:00
Mark Spencer
653b86fa48 Don't complain about not knowing about -1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-08 02:09:56 +00:00
Mark Spencer
3461b2f5bb Upgrade IAXY firmware to version 10 (support static IP)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-08 00:30:44 +00:00
James Golovich
f2b52d46d0 Make sure chan_iax.c and chan_iax2.c know the size of G726 frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-07 22:57:00 +00:00
Mark Spencer
d9359f8249 Fix for endianness (bug #1174)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-07 04:36:52 +00:00
James Golovich
146469ab19 Allow multiple switches in the same context (bug #1171)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-06 20:15:08 +00:00
James Golovich
fa4ed416c7 Fix comment in cli.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-06 09:01:08 +00:00
Mark Spencer
7f2e23bb50 Add absolute timeout option to dial that applies when call is up (bug #1107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-06 00:02:40 +00:00
James Golovich
d97cc460b0 Fix pbx_builtin_atimeout comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 23:42:58 +00:00
Mark Spencer
2bc6301e39 And of course return us as a winner
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 18:32:59 +00:00
Mark Spencer
c07a37b91d Minor optimizations and actually set SOFTHANGUP_TIMEOUT if appropriate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 18:31:06 +00:00
Mark Spencer
94f3b5751a Consider whentohangup in timeout (bug #1107)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 18:22:31 +00:00
Mark Spencer
e42e998f76 Expand our definition of 3XX responses
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 18:09:35 +00:00
Mark Spencer
5bf9b86aa4 Know how to send ADPCM
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 17:32:00 +00:00
Mark Spencer
1b37f94737 Bail an AGI on PBX_KEEPALIVE being set in an exec.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 14:23:22 +00:00
James Golovich
82a2a8b7eb Fix pri->pvt[chan]->owner dereference (bug #1161)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 04:15:55 +00:00
James Golovich
359160d8a1 Change tormenta.conf to zaptel.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 03:30:38 +00:00
Mark Spencer
a1d8701369 Formatting fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-05 00:31:55 +00:00
Mark Spencer
b4ea3725da Set the context properly for a given peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 23:43:58 +00:00
Mark Spencer
595049117c Add iaxy.bin, IAXy firmware version 01
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 22:09:48 +00:00
James Golovich
a51ca42b18 Make the Wait application accept time with fractions of a second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 21:45:21 +00:00
Mark Spencer
fa7454688b Eliminate spurious select warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 21:32:32 +00:00
Jeremy McNamara
657056b114 clean up warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 06:29:12 +00:00
Jeremy McNamara
16d9e65b32 check to see if sub->rtp is allocated. Bug #1040
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 06:25:27 +00:00
Jeremy McNamara
9e21bc74ac check return value stop seg. Bug #967
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 06:11:23 +00:00
Mark Spencer
0a103544e4 Copy old extension unless it's ASYNCGOTO (bug #1141)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 05:57:47 +00:00
Mark Spencer
80904fddcf Fix DNS variable name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 05:31:43 +00:00
Mark Spencer
550785ba29 Fix GotoIfTime if time is bad
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 05:23:50 +00:00
Jeremy McNamara
1f691912e1 deal with bindaddr properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 02:07:32 +00:00
Jeremy McNamara
bff0a94507 deal with bindaddr properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 01:57:32 +00:00
Mark Spencer
806bb3c63f Add support for parking with IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-04 01:11:25 +00:00
Mark Spencer
534e78b372 Add DeadAGI Application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-03 18:58:57 +00:00
James Golovich
4653b4bb79 Unregister apps in app_queue.c on unload_module
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-03 08:53:04 +00:00
James Golovich
e67f8a50f9 Make PRI span completion only show spans that actually are PRIs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-03 03:54:25 +00:00
James Golovich
d260293f62 Make DNS callbacks return -1 on error, so invalid records are ignored
(bug #1137)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-03 03:12:59 +00:00
James Golovich
22b56f13cc Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-03 00:05:00 +00:00
Mark Spencer
6d799e9ff8 Fix small (yet big) bug in show_display
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 23:56:37 +00:00
James Golovich
e141e7311c Improve restart handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 23:50:03 +00:00
James Golovich
96e3d08787 Fix asterisk exiting on verbose without a console (bug #1126)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 23:36:53 +00:00
Mark Spencer
b82aa22442 Process SDP on 183 session progress (bug #930)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 23:29:00 +00:00
Mark Spencer
9d5fe279b6 More BSD compat crap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 22:55:05 +00:00
Mark Spencer
231dbeea61 BSD portability fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 22:53:08 +00:00
James Golovich
40ec19961c Fix app_chanisavail.c when passed string is big (bug #1139)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 17:49:33 +00:00
Mark Spencer
4cd13f4ebf Ignore interrupted system call error on "accept"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 16:58:17 +00:00
James Golovich
5fafcdd73c Remove extra spacing from manager.c and change Event action/variable to
work the same during login and action


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 08:45:51 +00:00
James Golovich
7409bc052d Add function ast_false, like ast_true
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-02 07:57:06 +00:00
Mark Spencer
8f73da1f79 Allow semi-blocking fd's on manager (bug #1100)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-01 21:12:32 +00:00
James Golovich
4de0a2e30e Fix app_random.c (bug #792)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-01 20:44:48 +00:00
James Golovich
32a11a2b20 Remove extra \r\n from manager event sent by res_parking.c (bug #1134)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-01 20:31:25 +00:00
Mark Spencer
a9d042db2c Handle video codecs properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-01 16:14:41 +00:00
James Golovich
4160dfa6e1 Remove comment about EXPERIMENTAL_TRANSLATION since its not used
anywhere anymore


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-03-01 07:17:01 +00:00
James Golovich
b32c690175 Fix app_chanisavail if there are invalid arguments (bug #1130)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-29 18:30:48 +00:00
Mark Spencer
064d7ffdb2 Don't write duration if file disappears (bug #1102 -- thanks hmodes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-28 00:33:15 +00:00
Mark Spencer
6a73e70663 Make iax2 compile on *BSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 16:35:32 +00:00
James Golovich
5f68a5f70d Change text in ast_get_group to explain that max group is 31 (bug #1014)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 09:04:42 +00:00
James Golovich
ade75fecae Add 'SAY TIME' to AGI. (bug #269)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 08:30:30 +00:00
Mark Spencer
43d758e630 Include errno.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 06:58:39 +00:00
Mark Spencer
0f111e2d3a Ignore ECHILD in app_system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 06:56:08 +00:00
James Golovich
a232d8e060 Move ast_get_group from res_parking.c to channel.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 06:15:49 +00:00
James Golovich
cf854246fa Typo in app_zapras.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 06:00:35 +00:00
Mark Spencer
548d6bb6c0 Add G.726, revise Changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 05:16:26 +00:00
James Golovich
6a0bc27b35 Typo in app_queue.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 04:38:30 +00:00
James Golovich
a303a83b92 Get rid of compiler warnings when calling ast_queue_log
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 04:32:54 +00:00
James Golovich
e8c21dfe67 Check result of malloc in app_dial.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-27 04:24:42 +00:00
Malcolm Davenport
3439c08170 Fix Bug # 981
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-26 17:29:49 +00:00
James Golovich
133748f004 Really fix format_wav_gsm.c. Thanks PCadach! (bug #1087)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-26 06:46:01 +00:00
James Golovich
35f3f86df4 Fix 'show translations'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-26 01:12:38 +00:00
James Golovich
462cfbe8ae Bug #1087. Fix wav49 format so it can be played. Make file functions
looking for extension use f->exts instead of f->name.  Fix bug
where error message didn't print file extension. Fix comments in header file.
Everything is completely backwards compatible


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 22:31:51 +00:00
James Golovich
38198d8cb3 Add extra \n so email sent by voicemail has the right header delimiter
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 21:43:32 +00:00
Mark Spencer
500ebad7aa Fix slow down in rtp.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 20:59:39 +00:00
James Golovich
6de8d14b29 Replace MP3 with G726 in ast_codec2str
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 18:43:55 +00:00
Mark Spencer
853ead07d4 Increase length of DTMF tones in SIP et all, in-band
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 16:01:56 +00:00
Mark Spencer
8bfe5e86b4 Don't be biased against G.726 in translation table
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 04:24:51 +00:00
Mark Spencer
ff976ce055 Add G.726-32kbps Codec Transcoder (Tested with Cisco ATA-186)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 04:10:32 +00:00
James Golovich
96abbad91d Add missing include to chan_iax2.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 03:49:25 +00:00
Malcolm Davenport
6023b736d9 Bug # 1052 Got it this time..I'm sure of it ;)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-25 01:16:45 +00:00
Mark Spencer
066212158e Add IAX2 firmware upgrade support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-24 21:27:16 +00:00
Malcolm Davenport
2a9044d607 Bug # 1079. indications.conf.sample changes for Greece
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-24 20:32:12 +00:00
Malcolm Davenport
23eaf5c442 Fix Bug # 935 and Bug # 1052
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-24 19:48:46 +00:00
Mark Spencer
39a358ef56 Fix corruptin in app_cut (bug #1084)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-24 18:57:46 +00:00
Mark Spencer
f62061aa78 Handle change password properly with multiple VM contexts (bug #1069)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-24 17:11:23 +00:00
Mark Spencer
406e4283fd Really initialize queue log
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 20:18:27 +00:00
Mark Spencer
1f33e8b807 Optimization in pri_fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 14:58:18 +00:00
James Golovich
a23c89dd75 Fix some comments in pbx.c and pbx_config.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 05:37:24 +00:00
Mark Spencer
d1cb6a3aa9 Merge Tilghman's and Cam's user defined cadence patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 05:02:24 +00:00
James Golovich
d53b0d0643 Fixed gramatical error in app_queue.c (bug #1083)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 04:15:04 +00:00
James Golovich
a06b48ccc6 Fix restarting when not called from the main console (bug #830 and #864)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 03:43:21 +00:00
James Golovich
c278f09897 Fix ast_add_extension2 updating ast_exten correctly in certain cases
where extensions.conf is not ordered numerically by priority (bug #1065)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-23 02:47:22 +00:00
Mark Spencer
e08247218e Small but important fix for channel relocation (bug #54)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-22 20:41:15 +00:00
James Golovich
84cbebcf17 Fix another typo in the app_dial description
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-22 05:31:42 +00:00
James Golovich
d03dbf91a6 Add ${LANGUAGE} channel variable (bug #1078)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-22 05:25:58 +00:00
Mark Spencer
90594b5fc8 Properly lock slave and master in zt_unlink (bug #1008)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-20 21:23:22 +00:00
Mark Spencer
de6910a6b6 Fix minor ordering issue (bug #981)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-20 20:00:49 +00:00
Mark Spencer
ce8778c01b Add support for Norwegian numbers (bug #1067)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-20 17:43:46 +00:00
Mark Spencer
6724dd1597 Improve SIP friends support (should address bugs #1063 & #1052)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-20 15:39:43 +00:00
Mark Spencer
79500cdb9f Initialize queue logger
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-19 23:17:52 +00:00
Mark Spencer
0b8234edb4 Don't free clone lock until after *both* fixups have taken place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-19 20:07:01 +00:00
Mark Spencer
b2a648b4da Just in case resources with the same name are loaded
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-19 01:04:21 +00:00
James Golovich
48496a930c Fix another spelling typo in chan_sip.c (bug #1059)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-19 00:42:10 +00:00
James Golovich
43e312bd62 Fix spelling typo in chan_sip.c (bug #1059)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-19 00:14:58 +00:00
Mark Spencer
fb96473eb0 Fix comparision in RTP native bridge (bug #1043)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-18 21:38:46 +00:00
Mark Spencer
89c76a80f2 Minor file.c cleanup for valgrind, log PRI event properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-18 16:32:49 +00:00
Mark Spencer
f285c61830 Cleanups to recent changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-18 04:52:56 +00:00
Mark Spencer
cc894e6100 Use call numbers instead of pointers in IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-17 22:16:14 +00:00
Mark Spencer
e2ecedfa70 Add Icecast streaming support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-17 07:03:14 +00:00
Mark Spencer
a1c6ac945d Make sure smoother only creates frames with offsets (bug #1029)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-16 15:05:21 +00:00
James Golovich
509e9a4d4e Fix 'show channel<tab>' completion, where show channel would be
autocompleted instead of displaying channel and channels.  Also update
comment to reflect that items in the list should have longest matches
first.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 09:07:00 +00:00
James Golovich
c28a51899f Typo in app_waitforring.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 08:41:56 +00:00
James Golovich
9028579d84 Spelling error in app_dial.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 08:33:19 +00:00
James Golovich
2cbef73a27 Various spelling errors fixed in docs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 07:48:46 +00:00
Jim Dixon
dbe3dea363 Added us-old zone in indications.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 07:38:47 +00:00
Jim Dixon
df987c2086 Added support for specifing Zaptel tonezone on a per-channel basis for
Zaptel channels in zaptel.conf (using tonezone= parameter)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 07:35:32 +00:00
James Golovich
2655e5c7b9 Make astman ignore 'StatusComplete' events.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 07:17:37 +00:00
James Golovich
52be37dd37 Fix 2 typos in README
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 06:58:43 +00:00
James Golovich
8a6dc0d0b4 Fix typo in iax.conf.sample (bug #1035)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 06:39:49 +00:00
James Golovich
7907a37002 Fix typo in chan_sip.c (bug #1037)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 06:35:22 +00:00
James Golovich
4b26ec2372 Fix command completion (bug #988)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-15 05:19:44 +00:00
Mark Spencer
2a31c91136 Add logging of agent login/logoff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-14 04:54:39 +00:00
Martin Pycko
f49d75994e Fix recording the agent's calls by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-12 22:28:35 +00:00
Mark Spencer
864fe70e35 Add queue logging and fix indications buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-12 22:11:02 +00:00
Mark Spencer
98391c1324 Free mysql results
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-11 06:29:35 +00:00
Mark Spencer
e83acf8658 Don't free if it's NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-11 05:14:19 +00:00
Mark Spencer
bac2215fb6 Fix several memory leaks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-11 03:54:28 +00:00
Mark Spencer
7cdb6d36f4 Fix a couple of memory leaks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-11 00:17:48 +00:00
Martin Pycko
2671e3d9bb Fix some minor errors: when logging off using AgentCallbackLogin don't put again the global *AGENTID* variable. Remove the '.' from the link that is put in the userfiled of CDR record
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-10 21:14:48 +00:00
Jim Dixon
29571cfcb1 Fixed bug in FXOGS. Was not closing loop after starting.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-10 07:24:15 +00:00
Mark Spencer
260072954e Revert meetme work around now that zaptel is fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-10 06:47:42 +00:00
Mark Spencer
077975cba7 Fix memory leak with SIP friends (bug #1010)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-09 06:09:45 +00:00
Mark Spencer
e1df8c9082 Properly fully URL decode the REPLACES in SIP and also watch for edge condition (bug #1015)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-09 05:38:17 +00:00
Mark Spencer
02f99cb631 Omit PRI layer 1 information for data call (need updated libpri too) (bug #1012)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-08 00:23:20 +00:00
Mark Spencer
ae4adad5c4 Insert blank after REFER (bug #997)
Correct path to VM sample (bug #994)
Make manager interface non-blocking (bug #861)
Don't bork on empty from in SIP (bug #887)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-07 07:13:33 +00:00
Mark Spencer
cf4825233d Don't free private structure until iax2_hangup is actually called
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-06 18:11:13 +00:00
Mark Spencer
82e18770bc Increase buffer size (1005)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-06 05:52:03 +00:00
Mark Spencer
0dd66bd2e9 Implement temporary work around for pseudo channels with SMP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-05 22:28:44 +00:00
Martin Pycko
8baa1ed52e Add 'm' option to Monitor app to use soxmix (if available) to mix the output recording to one file.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-05 22:10:19 +00:00
Martin Pycko
ba3b53d64a Add AgentMonitorOutgoing application to allow recording of outgoing calls made by the interface that is registered as an callback agent. Refer to "show application AgentMonitorOutput" for more info.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-05 21:13:17 +00:00
Mark Spencer
02858c574c Don't call release if we have no generator
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-04 23:18:16 +00:00
Martin Pycko
1e4b334321 Fix the deadlock in show queue <queue_name>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-04 19:42:18 +00:00
Mark Spencer
9a7374faf0 Countless small bugfixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-04 15:22:59 +00:00
Martin Pycko
3f69c1b62d Remove unused tmpq variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-03 17:54:07 +00:00
Martin Pycko
4bef006566 Add "show queue <queue_name>" CLI command
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-03 16:59:04 +00:00
Martin Pycko
860f35a7ab Add recording agent's calls patch. Basically the call starts recording when the agent picks up and the file is stamped with the agent's id and the timestamp. Also optionally a URL link to that file may be inserted in the userfield of the CDR record. By default the recorded file will be mixed if soxmix is available.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-03 16:57:00 +00:00
Martin Pycko
9bd6034f9b Don't buffer the event files, eg: messages
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-03 16:43:07 +00:00
Mark Spencer
694058ccb1 Implement REGREL in IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-03 15:16:04 +00:00
Martin Pycko
78602e0966 Make the go_on be non-global.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-03 00:53:21 +00:00
Mark Spencer
1a225306f8 Don't get stuck in loop
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 23:51:25 +00:00
Mark Spencer
2c9585e9f6 Force SIP reload to happen in network thread only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 23:48:31 +00:00
Mark Spencer
bc06fe3b51 Fix small typos
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 23:22:57 +00:00
Mark Spencer
5bb289262e Centralize all sip registration around a single lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 23:21:36 +00:00
Mark Spencer
8c339b9d63 Perform proper locking on registration on SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 22:35:33 +00:00
Mark Spencer
904027f25f Release the call when freeing a registry
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 20:50:05 +00:00
Mark Spencer
0068b8c823 Move config.cache delete to "distclean"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 07:01:25 +00:00
Mark Spencer
d3ab1d50b5 More BSD enhancements (#970)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 06:39:23 +00:00
Mark Spencer
9c2f131b66 NetBSD portability enhancements (bug #969)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 06:38:08 +00:00
Mark Spencer
1e3c163233 Handle more complex wav files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 06:34:27 +00:00
Mark Spencer
28d980de3d Force update of the CDR before clearing channel (bug #974)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 01:13:00 +00:00
Mark Spencer
e2dddf3532 Use better flags when starting MGCP threads (bug #598)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-02 00:46:59 +00:00
Mark Spencer
12934e17e6 If unregistered, don't consider it valid (bug #956)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-01 23:55:17 +00:00
Mark Spencer
87f28fa6dd Add "iaxcompat" option to allow nested switch statements, still might fail if you have an IAX call going to something with a switch...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-02-01 20:08:36 +00:00
Mark Spencer
83344af1c2 Fix add include (bug #966) and small update to bug 890
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-31 20:22:25 +00:00
Mark Spencer
c7f703c476 Update documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-31 20:05:23 +00:00
Mark Spencer
48748b8f9a Handle cause in DISCONNECT too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-31 19:38:22 +00:00
Mark Spencer
c33c9283f1 Send busy when busy, congestion when congestion on PRI (bug #890)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-31 18:46:59 +00:00
Mark Spencer
0cadef62c1 Stop searching once we find a match
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-31 17:00:24 +00:00
Mark Spencer
fc7311e94c Don't delete original variables after appending clone ones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-31 02:50:27 +00:00
Mark Spencer
068fd1d839 Merge variable lists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-30 06:48:01 +00:00
Mark Spencer
81cf763a97 Fix res_parking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-30 06:31:25 +00:00
Mark Spencer
2ad3e1428d Create manager event on parking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-30 05:49:44 +00:00
Mark Spencer
9286665be5 Minor app agi documentation fix (bug #943)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-30 05:37:39 +00:00
Mark Spencer
c7f175309d Improve documentation of app_record (bug #942)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-30 05:13:25 +00:00
Mark Spencer
917f50e737 Add support for authenticating against astdb and one time authentication
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-29 20:54:37 +00:00
Mark Spencer
15ba1fe530 Minor little fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-29 20:19:44 +00:00
Mark Spencer
ccf510188f Fix linked lists tail (bug #951)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-29 16:14:25 +00:00
Mark Spencer
eb97ef73fa Clarify extensions.conf matching rules (bug #949)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-29 16:11:21 +00:00
Mark Spencer
8dbbc0e72b Emit status complete message when status is finished (bug #122)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-29 00:28:51 +00:00
Mark Spencer
695422d698 Various minor cleanups (bug #931)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-28 21:32:48 +00:00
Mark Spencer
c0eb1e6bfe Update logger.conf sample (bug #941, modified)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-28 21:13:50 +00:00
Mark Spencer
32e131862d Elminate unused code/warnings (bug #934)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-28 21:06:03 +00:00
Mark Spencer
1c838758c3 Save global variables across "save dialplan" (bug #426)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-28 01:29:47 +00:00
Mark Spencer
f5c3a23a75 Don't double verbose things
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-27 18:20:17 +00:00
Mark Spencer
cf036062c4 Character set fixes, and add "mailcmd" option (bug #472)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-27 00:37:47 +00:00
Mark Spencer
c5deb0a325 Ditch nested comment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-27 00:30:03 +00:00
Mark Spencer
aa4f316c14 Clarify iax foo to iax1 foo in chan_iax (bug #924)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-27 00:28:52 +00:00
Mark Spencer
b53e81786a Add verbose messages to be logged (bug #599)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-27 00:23:39 +00:00
Mark Spencer
80f23eb97d Don't send VMWI when we're not registered
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 19:12:23 +00:00
Mark Spencer
e7f46a4251 Seriously fix echo cancellation on inbound calls with FXO interfaces (and enable echo training on them)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 16:39:34 +00:00
Mark Spencer
39f0e4b207 Add tables for iax and sip friends (bug #913)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 05:54:40 +00:00
Mark Spencer
1b3e733e1c Add registry files to fix spex and ilbc on xlite and xpro (bug #918)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 05:50:34 +00:00
Mark Spencer
78e57f29bc Move qview to the right place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 05:45:07 +00:00
Mark Spencer
1d02548e4a Add qview to contrib (bug #236)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 05:43:39 +00:00
Mark Spencer
2078c0d1bf Fix typo (bug #914)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 05:32:30 +00:00
Mark Spencer
662e7238ef Send 481 if call leg does not exist on CANCEL, and send 487 before 200 as per rfc3261 (bug #917)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 05:28:14 +00:00
Jeremy McNamara
8face6c67c Add even more explicit information. Take 2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 04:09:40 +00:00
Jeremy McNamara
f2bb840936 Add even more explicit information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-26 04:08:19 +00:00
Mark Spencer
01d62f822d Fix excessive fax detection (Thanks Steve Underwood!!!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-25 19:51:01 +00:00
Mark Spencer
0efa5c562a UPdate readme (bug #846)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-25 05:57:43 +00:00
Mark Spencer
785da17231 Properly handle transfer of application (bug #911)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-25 05:51:49 +00:00
Mark Spencer
a9b3a77cda Fix default to not use iax friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-23 20:57:48 +00:00
Mark Spencer
e60848a65f Fix overflow in too many arguments (bug #806)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-23 19:12:44 +00:00
Mark Spencer
1455d0211b Fix documentation typo (bug #904)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-23 16:00:24 +00:00
Mark Spencer
1499f1e480 Create individual sip reload command (bug #880)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-23 15:43:31 +00:00
Mark Spencer
dbe6828978 Add local channel documentation (bug #868)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 21:52:01 +00:00
Mark Spencer
4fa609e2be Fix MD5Hex size (bug #883)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 21:47:58 +00:00
Mark Spencer
8d80f9c624 Update formating (bug #898)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 21:44:47 +00:00
Mark Spencer
e26d9ae75e Merge manager documentation (bug #869)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 21:41:19 +00:00
Mark Spencer
92aba71fb5 Fix name in some files (bug #897)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 21:30:04 +00:00
Mark Spencer
4393076c6c ODBC fix for PPC (bug #895)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 21:27:07 +00:00
Mark Spencer
6a6814379f Release pgsql on failure (bug #891)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 17:03:11 +00:00
Mark Spencer
c23ffc045d Fix size bug in wav49 format (bug #254) thanks rtucker!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 16:33:43 +00:00
Mark Spencer
8abe6ccb64 Merge SIP/MySQL friends patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-22 16:29:02 +00:00
Mark Spencer
4718c784af Update zapata.conf sample config to talk about busydetect
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-19 02:32:24 +00:00
Mark Spencer
616e31f795 Update CDR README
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-19 02:30:02 +00:00
Mark Spencer
dd96991005 Update sounds.txt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-19 02:21:24 +00:00
Mark Spencer
fa0c31b864 Add custom folder sounds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-19 02:16:21 +00:00
Jim Dixon
a7154d73fe Added functionality for E911 signalling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-16 23:40:37 +00:00
Jeremy McNamara
de08da1003 Update as we go this time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-16 05:39:43 +00:00
Jeremy McNamara
c6fb650a62 another nickpick on formatting
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-16 01:24:00 +00:00
Mark Spencer
821643f30b Add italian tone zone
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-16 00:14:22 +00:00
Martin Pycko
3d40b1c03f A little adjustment to the previous one (passing the clid&ani on call_forward)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 23:38:23 +00:00
Martin Pycko
e993855421 Pass the callerid & ani to the new b-leg if the current b-leg requests call forwarding
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 23:32:27 +00:00
Jeremy McNamara
8a8b2d0684 Make output more readable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 23:06:51 +00:00
Jeremy McNamara
94fe1c8b26 Nitpic CLI output. Bug #858
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 22:56:53 +00:00
Malcolm Davenport
5f23eba1b0 Bug #857. More fixes for GSM Makefile for PPC
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 21:31:26 +00:00
Mark Spencer
036cb819d6 X out announce stuff (bug #760)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 20:20:21 +00:00
Mark Spencer
94da5ac1e8 Fix unload/load of chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-15 19:48:37 +00:00
Malcolm Davenport
e2db31c94b Nitpicky stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 16:43:07 +00:00
Jeremy McNamara
de6d4f266e Set sync flag back to 0, temp work around to let action: origiate work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 09:31:24 +00:00
Jeremy McNamara
69c84b4c28 Don't set execute bit on sound/config/image files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:48:38 +00:00
Jeremy McNamara
c44e6130cc move cvsid.h into include/asterisk dir. Bug #822
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:44:16 +00:00
Jeremy McNamara
81b1cb9caa Add CVSID Macro for embedding revision info into the compiled binary. Bug #822
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:41:24 +00:00
Jeremy McNamara
3f0a3cc6c0 Documment pin usage in MeetMe. Bug #843
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:38:29 +00:00
Jeremy McNamara
cf41cc2ec2 add a vasprintf replacement. Bug #839
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:35:01 +00:00
Jeremy McNamara
b3ab1cbe73 Check for already registered manager command. Bug #836
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:31:18 +00:00
Jeremy McNamara
1c60de9c6b fix typo. Bug #837
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:28:26 +00:00
Jeremy McNamara
929f24602e Add userfield to schema. Bug #833
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:26:24 +00:00
Jeremy McNamara
508cb3d34a Change IAXPeers to IAX1Peers. Bug #838
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:23:30 +00:00
Jeremy McNamara
a4cc03ffd9 clean up output and print that we are unregistering a channel type
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:10:53 +00:00
Jeremy McNamara
74aea6680a clean up output and print that we are unregistering a channel type
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-14 06:04:46 +00:00
Malcolm Davenport
35a1ef8198 Change so we're using New DSP routines by Default instead of Old
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 20:17:56 +00:00
Malcolm Davenport
3b4935ad97 Modify Changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 20:11:18 +00:00
Malcolm Davenport
7f2fdcc2bf Bug #826. Get rid of dsp routine in dsp.c since it's also defined in the Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 20:05:22 +00:00
Jeremy McNamara
8fb24677a4 last try
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 09:24:26 +00:00
Jeremy McNamara
337d7f6884 bed time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 09:17:14 +00:00
Jeremy McNamara
54478c3a0a h.323 gk cycle is still broken on -r
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 09:11:36 +00:00
Jeremy McNamara
00fff0dbc1 renable h.323 gk cycle, fixed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 08:56:02 +00:00
Jeremy McNamara
e46d9edc98 Not needed here
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 08:46:46 +00:00
Jeremy McNamara
e88fdae17d ok, its waay too late
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 08:38:51 +00:00
Jeremy McNamara
b3d1d22317 WTF
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 08:31:13 +00:00
Jeremy McNamara
3817133d4f stupid, stupid, stupid stupid stupid stupid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 08:17:20 +00:00
Jeremy McNamara
dade45942c temp fix for timed includes and GotoIfTime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 07:48:39 +00:00
Jeremy McNamara
057f297bfd document localnet/proxy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 06:11:56 +00:00
Jeremy McNamara
40bd0e0ec1 add ww
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 06:11:18 +00:00
Jeremy McNamara
51bac49a91 update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 06:08:27 +00:00
Jeremy McNamara
9e980fde5f update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 06:07:00 +00:00
Jeremy McNamara
d181abbab8 update credits
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 06:05:41 +00:00
Jeremy McNamara
b1488a63ef Don't return -1 for successful conf in meetme. Bug #824
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 04:42:39 +00:00
Jeremy McNamara
b9d9f86770 Update with current info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 04:34:09 +00:00
Jeremy McNamara
9c1844a927 Fix it so we can be unloaded/loaded at will
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 03:07:15 +00:00
Mark Spencer
4f9f4c44d1 Add CVS ID header
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 02:57:25 +00:00
Jeremy McNamara
4a558d611b comment out getsipuri to stop compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 02:24:36 +00:00
Jeremy McNamara
226ec5bd25 via z9hG4bK issue. Bug #663
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 02:18:26 +00:00
Jeremy McNamara
3340239733 fix copy/paste error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 01:59:36 +00:00
Jeremy McNamara
c5dcbb9901 Implement NAT trick for outbound SIP connections
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 01:31:42 +00:00
Jeremy McNamara
8c83933000 Properly define and enable old dsp routines by default. Bug #817
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 01:15:17 +00:00
Jeremy McNamara
8298664e1c add the saying of seconds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 00:47:43 +00:00
Jeremy McNamara
0f4379d111 Fix monitor thread issue.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 00:40:33 +00:00
Jeremy McNamara
4231743209 Fix show voicemail users for <context>. Bugs #820
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 00:35:45 +00:00
Mark Spencer
64bd104b64 Fix sounds.txt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 00:09:19 +00:00
Jeremy McNamara
93567dffb6 change warning into notice.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-13 00:03:34 +00:00
Jeremy McNamara
dcbd70fc54 remove incorrect file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 23:31:41 +00:00
Jeremy McNamara
2786bc27be Implement pin usage in MeetMe. Bug #816
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 23:21:29 +00:00
Jeremy McNamara
3db5846f8f remove invalid prompt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 22:08:13 +00:00
Jeremy McNamara
424b4be5c6 add sounds. Bug #816
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 21:57:27 +00:00
Jeremy McNamara
aa03b29d77 fix typo. Bug #813
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 21:42:51 +00:00
Jeremy McNamara
d4af3ee3b6 clean up sip debug output. Bug #674
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 21:37:50 +00:00
Mark Spencer
7a39517c94 Add new sound, fix nit picky detail in channel registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 19:34:40 +00:00
Jeremy McNamara
c060d39cca clean up our mess on unload. Bug #799
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 18:08:34 +00:00
Jeremy McNamara
a39f993cd4 fix monitor thread issue, even though commented out
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 17:32:19 +00:00
Martin Pycko
9e1bae7bad Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 16:59:57 +00:00
Jeremy McNamara
d319206566 make verbose messages not go into syslog, for now. Bug #808
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 08:41:12 +00:00
Jeremy McNamara
5273ddbbdd stomp on seg on logger reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 08:11:41 +00:00
Jeremy McNamara
8a731e502d Fix to work before logchain is initialized. Bug #805
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 07:44:22 +00:00
Jeremy McNamara
b103bfdb8b Give seperate config option for deprecated chan_iax. Bug #801
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 07:05:10 +00:00
Jeremy McNamara
0c6adc08fc remove code that could never be executed (tautological truth test) Bug #800
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 06:32:40 +00:00
Jeremy McNamara
e08cce6b6b fix monitor thread. Bug #726
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 06:10:54 +00:00
Jeremy McNamara
92f261cf3b unregister cli functions and fix monitor thread. Bug #798
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 06:01:46 +00:00
Jeremy McNamara
171865492f revert half fixed bug (426)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 05:48:20 +00:00
Mark Spencer
ee342cc3b8 Add ww's improved syslog support (bug #587)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 05:05:35 +00:00
Mark Spencer
5520872def Add distinctive ring detection
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 04:28:00 +00:00
Jeremy McNamara
00f8683fc0 update with explict versions I like
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 04:09:45 +00:00
Mark Spencer
cf6a85ba65 Move lots of README's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:23:35 +00:00
Mark Spencer
adb41a5685 Rename UNIXodbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:20:21 +00:00
Mark Spencer
8fa4149a37 Small Makefile fix for safe_asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:19:25 +00:00
Mark Spencer
fcfd867c25 Update HARDWARE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:16:56 +00:00
Mark Spencer
b9bd0c6fe1 Move more scripts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:15:34 +00:00
Mark Spencer
50fe0ee0b3 Delete init.asterisk, since it's now in contrib/rc.d
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:13:26 +00:00
Mark Spencer
5d6c0a66b4 Documentation fixes, init.d fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:12:48 +00:00
Mark Spencer
f582495d75 Move scripts to contrib/scripts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:07:46 +00:00
Mark Spencer
071ea96fbd Fix BUGS document to report bug tracker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 03:03:23 +00:00
Mark Spencer
248350a9a5 Move festival diffs to contrib directory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 02:59:32 +00:00
Malcolm Davenport
b0649afc37 Added first go at a Gentoo rc-script
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 02:44:34 +00:00
Jeremy McNamara
b7e53c695f clean up debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 02:19:25 +00:00
Malcolm Davenport
3a5f932648 Bug #792: Add app_random
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-12 01:56:38 +00:00
Jeremy McNamara
673814eac5 fix deadlock issues with astmm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 22:36:37 +00:00
Jeremy McNamara
f102ce6f26 Fix ast-db seeding. Bug #767
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 21:37:50 +00:00
Mark Spencer
c26e3b15ac Documentation fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 20:01:07 +00:00
Jeremy McNamara
6b5c11548e should be != :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 19:34:04 +00:00
Jeremy McNamara
1e3bd03b92 More buffer overflow checks from Corydon76.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 19:24:15 +00:00
Mark Spencer
f6d7d4d020 Remove /usr/include from path??
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 19:17:02 +00:00
Jeremy McNamara
2eaddaca67 check buffer for possible overflow. Thanks Corydon76 Bug #788
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 18:50:46 +00:00
Jeremy McNamara
06d2506544 Say what is not implemented, yet. Feel free to dive in and code away, ppl. Bug #787
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 18:43:43 +00:00
Jeremy McNamara
9e3c926730 add more descriptive usage information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 18:37:59 +00:00
Jeremy McNamara
275f0ed037 Add userfield logging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 18:23:33 +00:00
Jeremy McNamara
da6648f3c9 don't try to print out username before its copied
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 17:51:35 +00:00
Mark Spencer
9b960f3555 Only build app_zapscan when zap is there
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 16:34:09 +00:00
Mark Spencer
ed72e0e169 Show who sends us bad packets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 16:31:04 +00:00
Mark Spencer
389d089ecc Implement missing function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 16:15:30 +00:00
Mark Spencer
459d19823e Locking changes for IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 15:57:42 +00:00
Jeremy McNamara
68d2aa2491 change version identifier
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 10:22:29 +00:00
Jeremy McNamara
91f3a18d33 Add Corydon76's mandrake startup scripts. Bug #312
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 10:17:38 +00:00
Jeremy McNamara
718d215046 Document SetMusicOnHold. Bug #783
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 09:23:26 +00:00
Jeremy McNamara
4042e0f832 Out of memory conditions should be errors, not warnings. Bug #670
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 09:19:16 +00:00
Jeremy McNamara
365bacfea6 include the standard mysql lib dir. Bug #533
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 09:08:14 +00:00
Jeremy McNamara
3ccb9c1c31 fix festival for big endian. Bug #709
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 08:32:50 +00:00
Jeremy McNamara
3135a5e01f Fix dynamic user count, Take 4
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 08:07:23 +00:00
Jeremy McNamara
168242c841 add new application 'zapscan' Bug #250
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 07:37:47 +00:00
Jeremy McNamara
f020200c2c Take 3, count dynamic users also
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 06:54:22 +00:00
Jeremy McNamara
c54405c270 fix dynamic conference. Bug #743 take two
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 06:31:42 +00:00
Jeremy McNamara
9c116b4d4d Allow dynamic conferences to be joined by channels without dynamic flag. Bug #743
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 06:07:36 +00:00
Jeremy McNamara
be056ad723 Log cdr user data, if enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 06:01:02 +00:00
Jeremy McNamara
1a0797e6bd use a default file name for res_monitor, if none was given. Bug #704
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 05:58:10 +00:00
Jeremy McNamara
02196c2c68 Missed cdr_csv commit for CDR user data
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 05:04:16 +00:00
Jeremy McNamara
6ae49b9ccd Don't core on mpg123. Bug #671
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 03:31:30 +00:00
Jeremy McNamara
548860bce0 Fix error when forwarding voicemail. Bug #682
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 03:26:50 +00:00
Jeremy McNamara
e8622a660a Add application to log user data to the CDRs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 03:23:05 +00:00
Jeremy McNamara
564c1c8fa7 Add example of #include. Bug #779
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 03:22:55 +00:00
Jeremy McNamara
6b6ff098eb clean up code and remove install directive in h323/ Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 02:22:32 +00:00
Jeremy McNamara
3f0477868a clean up code and remove unnecessary debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-11 02:20:01 +00:00
Mark Spencer
5bd726380c When rejecting a call, free up the channel (bug #661)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 23:47:46 +00:00
Mark Spencer
2e3400f899 Oooooops, fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 22:19:31 +00:00
Mark Spencer
81fd2f29de Allow /x for subnetmask identification (e.g. 192.168.0.0/16)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 21:43:17 +00:00
Mark Spencer
571c8be2de Fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 21:31:40 +00:00
Mark Spencer
861ed9a339 Cleanup ACL parsing, handle properly reload on sip with ACL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 21:19:56 +00:00
Mark Spencer
0cd9e10d2d Reorder events in IAX, make "IAX1" compatibility
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 20:11:48 +00:00
Mark Spencer
5a0ef67644 When poking a peer after registration, release lock temporarily
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 19:53:14 +00:00
Jeremy McNamara
2d8a1765eb remove broken cli command, for now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-10 17:16:59 +00:00
Jeremy McNamara
d06dcc74b4 add version usage sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 23:04:20 +00:00
Jeremy McNamara
d3c388db9c make firmware version configurable per device
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 21:12:21 +00:00
Jeremy McNamara
5fc7f417da don't try to unreg with gk, on reload, now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 19:35:56 +00:00
Mark Spencer
ce44ad5019 Perl cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 14:33:03 +00:00
Malcolm Davenport
d9de4806b0 Bug #765: Modifying Auto-Congestion to p->maxtime * 4 instead of * 2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 06:51:25 +00:00
Malcolm Davenport
6f21ad6d86 Bug #690: Add "show voicemail users" and "show voicemail zones" CLI command to app_voicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 05:45:56 +00:00
Malcolm Davenport
12186e981c Bug #710: Format fix for "zap show channels"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 05:26:27 +00:00
Malcolm Davenport
d86261dc2b Bug #736: Better checking to avoid chan_zap segfault re: ss_thread and zt_new()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-09 05:13:50 +00:00
Malcolm Davenport
0448f34aff Bug #748 : indications.conf sample entry for South Africa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-08 21:59:12 +00:00
Malcolm Davenport
22b3dd8c17 Fix Bug #625: Voicemail with PostgreSQL backend called with no context puts msgs in
wrong place


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-08 20:24:13 +00:00
Malcolm Davenport
3470e79f83 Add the SuSE AMD64 support and fixes from Bug #706
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-08 16:52:11 +00:00
Malcolm Davenport
772b6b66b1 Correct indications.conf.sample for modulated indications for Australia: Bug #747
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-08 15:56:58 +00:00
Malcolm Davenport
3eef7bf9ab Fix to generate tones having one amplitude modulated by another: Bug #746
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-08 15:47:16 +00:00
Malcolm Davenport
452b07a6c2 Silly cdr_pgsql.so error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-08 00:06:35 +00:00
Malcolm Davenport
efc9862836 Fix sample configuration for Macro usage per Bug #750
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 23:56:01 +00:00
Malcolm Davenport
73f26fd3b9 Fix for cdr_pgsql for Debian per Bug #609
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 23:48:22 +00:00
Malcolm Davenport
ee480fecae PostgreSQL Voicemail NULL password..Bug #546
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 23:41:21 +00:00
Malcolm Davenport
b4141f7e91 Adding INCLUDE statement per Bug #672
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 22:40:48 +00:00
Malcolm Davenport
d1641a7cd0 Repair bad line wrap per bug #691
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 22:25:01 +00:00
Malcolm Davenport
b0fe498112 Syntax fix per Bug #713
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 22:10:15 +00:00
Jeremy McNamara
e7d8b197f3 just throwing this in here cuz its really buggin me
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 21:57:06 +00:00
Mark Spencer
f0774e7a6c Take out DOS returns
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-07 20:45:50 +00:00
Jeremy McNamara
9697652c0a re-do the monitor fix (check for io before killing ourself)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-06 17:31:04 +00:00
Jeremy McNamara
c3b8ab76a5 add a couple cli commands (h.323 hangup <token> and H.323 show tokens) and clean up code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-06 16:51:34 +00:00
Jeremy McNamara
19b7e41fda nuke file descriptor leak..You don't need a whole new thread to hang up a friggen call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-06 16:43:24 +00:00
Jeremy McNamara
d4b69a2f24 prevent deadlock if no config file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-04 05:11:53 +00:00
Jeremy McNamara
d0a7e585d7 clean up file descriptor leak and check for io before thread cancellation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-03 03:02:27 +00:00
Mark Spencer
152eeec7a7 Don't close audio[0] if you're not careful
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-01-01 00:26:11 +00:00
Jeremy McNamara
9be31cd944 fix the check to usecache. Bug #731
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-30 10:07:55 +00:00
Jeremy McNamara
58c1a92bc4 check another possible location for unix-odbc install. Bug #727
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-28 20:13:29 +00:00
Mark Spencer
148edfcf26 Ignore signals in select, fix typo in last patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-27 23:46:19 +00:00
Mark Spencer
b7bd21bc0a Fix EAGI fd leak (bug #698)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-27 23:39:57 +00:00
Mark Spencer
e9186caa33 Add AES support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-25 14:01:55 +00:00
Jeremy McNamara
8abff30849 totally revert that highly broken patch. Please test your code before submitting diffs.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-24 22:38:24 +00:00
Jeremy McNamara
5dc45a0046 fix a small memory leak, from brian
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-24 03:05:03 +00:00
Jeremy McNamara
91ef46755f comment out two lines from PCadach's patch, they blow things up.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-24 03:02:17 +00:00
Mark Spencer
a8d8f70335 Brian's ODBC patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-24 00:04:33 +00:00
Jeremy McNamara
ecc015889c Apply massive patch from PCadach. If things are broken blame him. Bug#469
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-23 23:01:24 +00:00
Martin Pycko
3827fbc302 Play a beep after the user chooses prepending
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-22 18:30:24 +00:00
Martin Pycko
5bc570d449 Don't distroy the original message when prepending and if prepending forward with the prepended message even if the hangup is received
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-22 18:22:21 +00:00
Martin Pycko
f1676593d0 Don't free the user structure before reading the next pointer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-22 16:35:48 +00:00
Jeremy McNamara
ddf7bc57d3 clean up output on debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-19 18:49:17 +00:00
Martin Pycko
d2b596f108 Add voicemail prepending feature plus forwarding to many extensions if you specify exten1*exten2*.....#
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-19 18:06:29 +00:00
Mark Spencer
d3bf33f9aa Send date with invite
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-19 17:42:50 +00:00
Mark Spencer
ef6973087b Fix reload race in SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-19 16:14:51 +00:00
Martin Pycko
0ae915c0f6 Fix the passing of digital PRI-PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-19 16:08:10 +00:00
Martin Pycko
f96c0762ff Allow doing digital PRI to PRI calls automatically
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 23:42:10 +00:00
Jeremy McNamara
9e996ceef8 follow same naming scheme as other simular functions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 19:54:18 +00:00
Jeremy McNamara
83c63206c1 don't create another endpoint on a reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 19:48:42 +00:00
Jeremy McNamara
fd0c9f6c2d remove debug and switch printf's out
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 18:48:47 +00:00
Jeremy McNamara
a2418cd15d don't complain on type=h323 itself :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 18:24:36 +00:00
Martin Pycko
40b77a4661 Move zaptrcallerid out of #define ZAPATA_PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 16:02:33 +00:00
Martin Pycko
60d1f9cf45 Change long variable name to the shorter one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-18 16:01:08 +00:00
Martin Pycko
a41fc6bbf9 Add 'useincomingcalleridonzaptransfer' keyword to chan_zap so that if there is incoming call on fxs port and you flashhook and transfer that call (or do a threeway call) the incoming callerid will be presented.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-17 23:39:16 +00:00
Mark Spencer
fb3d6a049f Use new code by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-15 23:38:31 +00:00
Mark Spencer
8b557dfd30 Minor cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-15 15:14:23 +00:00
Mark Spencer
843ae2cc2c Fix MF detector, merge code from Steve Underwood for optional new detectors
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-15 15:12:28 +00:00
Mark Spencer
6fb9ea4ea5 Fix qualify + register
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-14 21:13:02 +00:00
Mark Spencer
1a603dd365 The SIP motto is "There's More Than One Standard for Doing It"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-13 22:54:37 +00:00
Mark Spencer
25ebd8de49 Properly fix double locking issue, fix wav49 issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-11 20:55:26 +00:00
Martin Pycko
41d9f563a8 We really don't want to lock ourselves in zt_exception
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-11 18:01:03 +00:00
Mark Spencer
1540cd05a9 Properly handle exceptions in zt_read
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-11 16:36:33 +00:00
Jeremy McNamara
c3b80c117f stomp on seg if no config file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-10 23:34:47 +00:00
Mark Spencer
5dd1310ac6 Get rid of old chan_zap_old
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-10 02:19:22 +00:00
Mark Spencer
2f69b332d8 Cleanup unload calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 23:55:17 +00:00
Mark Spencer
23cfe10d94 Don't retransmit INVITE on 407 retransmission
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 22:09:05 +00:00
Mark Spencer
72e21db66a Minor sip fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 22:04:23 +00:00
Mark Spencer
b3af980c46 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 20:37:10 +00:00
Mark Spencer
a5e6cf5003 Patch for improving unload on zap (thanks James)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 19:39:47 +00:00
Jeremy McNamara
64e4031fb7 stop seg when no loguniqueid is set in config file. From bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 19:17:41 +00:00
Jeremy McNamara
a91dc75020 fix minor typos in descrip. Bug#635
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 19:07:45 +00:00
Jeremy McNamara
7a714fa8c3 fix typo. Bug#636
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 18:54:06 +00:00
Jeremy McNamara
2b30f6aa04 implement userbyalias. This will look to IP instead of H.323ID, if enabled Bug #251
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 05:14:23 +00:00
Mark Spencer
1451a407ac Minor mgcp debuggin changes, sip deadlock improvement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-09 00:02:06 +00:00
Mark Spencer
0f2bdc6d0a Remove gratuitous race
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-08 23:42:07 +00:00
Mark Spencer
2fe1bc2e71 Path fix for hasnewvoicmeail app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-08 19:31:56 +00:00
Mark Spencer
368377375d Fix hours 21-23 (bug #592)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-08 05:24:28 +00:00
Jeremy McNamara
64d595c1c0 fix a minor typo from brian
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-07 19:25:30 +00:00
Mark Spencer
cb161e634c More updates from Brian
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-07 17:12:39 +00:00
Mark Spencer
3e6c5132de More renaming updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-07 06:43:30 +00:00
Mark Spencer
e8a355e872 Rename cdr_unixodbc to cdr_odbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-06 23:19:22 +00:00
Martin Pycko
eab0dfc66b Provide a channel if PRI_EVENT_RING comes without a channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-05 23:09:24 +00:00
Mark Spencer
d94279554c Fix minor bogus message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-05 17:33:30 +00:00
Mark Spencer
9270beada5 Don't use dynamic mode when scanning all gateways
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-05 16:50:30 +00:00
Mark Spencer
37f1885152 Quiet more authentication info if not enabled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-05 16:13:43 +00:00
Mark Spencer
7e38be5470 Fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-05 02:00:01 +00:00
Mark Spencer
09573266da Try to unscrew logger
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-05 00:50:42 +00:00
Mark Spencer
fac7eaffa9 Fix PGSQL voicemail issues (bug #625) and fix reload races in iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-04 23:19:26 +00:00
Mark Spencer
26411c1021 Forward language choice
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-04 22:26:38 +00:00
Mark Spencer
da34cf8fd6 Add auth debug option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-04 03:41:22 +00:00
Martin Pycko
bbbf123fcf Fix the ZapHangup, ZapDialOffhook, ZapTransfer manager commands
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-04 00:03:08 +00:00
Jeremy McNamara
3d776a2da2 Update with current information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 21:48:58 +00:00
Jeremy McNamara
6b45687df2 add warning for keywords in type=h323 that make no sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 20:08:58 +00:00
Mark Spencer
af19291e01 I have no idea what the heck that was supposed to be
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 15:21:58 +00:00
Mark Spencer
1740f71793 Don't don't show verbose 3 message when verbose not set
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 15:06:41 +00:00
Mark Spencer
4518e7d1f0 Revert bad patch in 187
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 04:55:55 +00:00
Mark Spencer
1525d7f901 Make asterisk -r not timeout
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 04:01:28 +00:00
Mark Spencer
8f276e00c5 Minor patch for improving console response with asterisk -r (bug #183)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 03:03:15 +00:00
Mark Spencer
3171dea6ef scanf != sscanf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-03 02:45:24 +00:00
Mark Spencer
5b13ea0278 Fix SQL description for longer channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 23:42:39 +00:00
Mark Spencer
08c7c4be31 Don't retrain after each digit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 23:09:04 +00:00
Mark Spencer
b3e9086d5d Really fix chan local races (I hope)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 15:52:37 +00:00
Mark Spencer
dec9f318a8 Make valgrind happy on db read
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 15:12:56 +00:00
Mark Spencer
e6e73e7c94 Minor logger fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 15:08:55 +00:00
Mark Spencer
b497faff84 Add cdr_unixodbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 00:27:28 +00:00
Mark Spencer
3526997670 Merge BK's unix ODBC driver
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-02 00:21:53 +00:00
Mark Spencer
f42b2aaeef Fix chanzap for p0, p1, etc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-01 23:59:28 +00:00
Mark Spencer
8a4d7dd913 Add variable/account code to manager create
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-01 05:32:31 +00:00
Mark Spencer
9b97ea8983 Update README for timestamp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-01 04:49:13 +00:00
Mark Spencer
4468124abd Add ${TIMESTAMP} (bug #607) and don't ever ast_log from within handler
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-12-01 02:47:19 +00:00
Jim Dixon
e1f471f89c Got rid of un-necessary 'c' and 'd' options in app_dial.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-28 04:38:07 +00:00
Mark Spencer
9ccfcb3d24 Properly build Contact on INVITE when asking for authentication
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-28 04:01:25 +00:00
Mark Spencer
efc61fe709 Temporarily revert changes, prepare for proper fix (sorry for the cvs spam)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-27 22:09:42 +00:00
Mark Spencer
7d74bcd7bc Always save the extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-27 21:49:34 +00:00
Mark Spencer
37f33c4346 Build contact, don't copy it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-27 18:27:02 +00:00
Mark Spencer
d4fe6cf255 Have a contact line in responses, merge logging patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-26 22:00:07 +00:00
Mark Spencer
6a7ddeb222 limit fixes in SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-26 19:24:57 +00:00
Mark Spencer
d6d3585c03 Minor enum improvements for iax/iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-26 19:15:56 +00:00
Mark Spencer
e45e601c35 Use global nat settings in auto peers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-26 18:56:00 +00:00
Mark Spencer
f367a8bd33 Minor 407 improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-25 21:19:25 +00:00
Martin Pycko
343b784d6c Change the warning message if we can't do native bridge because of diffrent codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-25 21:15:28 +00:00
Martin Pycko
66d2f2de66 Warn about not being able to do reinvite in the right place and unlock the mutexes before returning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-25 16:26:15 +00:00
Mark Spencer
8b7dd0193e Add sample PGSQl CDR config file (bug #447)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-25 01:17:50 +00:00
Mark Spencer
ca1504db04 Document changes to voicemail application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-24 22:14:54 +00:00
Mark Spencer
3cfe7e6e25 Apply host access rules in SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-24 21:27:51 +00:00
Mark Spencer
55beaa4d47 Increment session version each time we send a new SDP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-24 19:13:32 +00:00
Jeremy McNamara
541568fbb6 deal with accountcode correctly and update CDR on a goto
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-24 03:43:14 +00:00
Mark Spencer
171b29fd4c Allow SIP/peer/exten like IAX
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-24 01:49:43 +00:00
Mark Spencer
2154f62f51 Hangup calling channel when transferring peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-23 23:33:56 +00:00
Mark Spencer
73b98c7500 Enable on hook transfer for vmwi
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-23 23:13:27 +00:00
Mark Spencer
250e28aaf4 Ignore leading spaces before application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-23 22:45:42 +00:00
Mark Spencer
143b3de606 Be less picky about spaces, and recognize invalid priorities
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-23 22:40:37 +00:00
Mark Spencer
e0544c3eb5 Various warning cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-23 22:14:32 +00:00
Jeremy McNamara
d547cbee4e add stop media transmission message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-22 19:15:34 +00:00
Mark Spencer
aa68c67537 Fix martin's typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 22:07:45 +00:00
Mark Spencer
1d08a35f18 Unlock while processing schedule queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 22:05:08 +00:00
Martin Pycko
967871d4b8 Fix the segfault with duration=atol(NULL)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 21:53:54 +00:00
Mark Spencer
d4c9f37994 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 20:41:43 +00:00
Mark Spencer
bfb27d0836 Make CALLTYPE available
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 18:38:42 +00:00
Martin Pycko
dc17a4c1c8 Don't crash if ZapHangup, ZapTransfer, ZapDialOffhook are used on the channel that is onhook (idle)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 18:24:49 +00:00
Mark Spencer
e6e02ac002 More informative mgcp.conf (Bug #488)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 05:57:20 +00:00
Mark Spencer
6d32c64100 Update addmailbox script (bug #404)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 05:52:14 +00:00
Mark Spencer
50a4441a6f Ask for mailbox number if omitted (bug #552)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 05:50:21 +00:00
Mark Spencer
d31be07a25 Answer if channel isn't up (bug #486)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 05:26:39 +00:00
Mark Spencer
669e957291 Delete on unregister (bug #527)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-21 05:20:43 +00:00
Jeremy McNamara
8bcee712e0 Fix copy/paste error. Bug #338
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-20 10:32:53 +00:00
Jeremy McNamara
e09ed4f612 Update with current information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-19 22:53:22 +00:00
Jeremy McNamara
54ae8fcd9e apply G.729 patches (with changes) from bug #421
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-19 22:46:35 +00:00
Martin Pycko
502e18c0d0 Add 'n' option to Queue application to fall through to the next extension after the timeout if no member picks up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-19 21:56:45 +00:00
Martin Pycko
cd0e1c9780 Don't allow to issue a 'reload' command if the previous one didn't finish yet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-19 21:19:18 +00:00
Martin Pycko
a16e5d577c Fix segfault if more than 32 channels are used because of round_robin[x] = p;
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-18 18:09:29 +00:00
Mark Spencer
626d85b1bd More VPB updates from Paul
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-18 15:13:38 +00:00
Martin Pycko
1ceb43f77f Fix AbsoluteTimeout on rtp native bridge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-18 00:45:04 +00:00
Martin Pycko
69bef6678a Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-17 23:53:22 +00:00
Martin Pycko
e30e685ee1 We have to hangup the bridge not continue on AbsoluteTimeout
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-17 23:46:54 +00:00
Martin Pycko
bb2bb1d083 Fix the AbsoluteTimeout issue with IAX/IAX2 when in native mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-17 23:37:56 +00:00
Mark Spencer
3d4c7fd9dd Unregister additional applications (bug #539)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-17 06:20:09 +00:00
Mark Spencer
02121840c1 Match filename between content-disposition and content-type
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-17 06:16:41 +00:00
Mark Spencer
6da153e69c Make format name match (not sure this is always a good idea) (bug #542)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-17 05:58:51 +00:00
Mark Spencer
e406f72564 Add date/time to IAX2 register
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-15 23:27:47 +00:00
Jeremy McNamara
538dec2390 we only need to include stdlib.h once. Thanks bkw
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-15 06:14:15 +00:00
Martin Pycko
dae1a4e6df Don't allow reinvite if both parties talk diffrent codec (part 2)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-15 00:53:33 +00:00
Martin Pycko
e3b0a66805 Don't do reinvite if both parties talk diffrent codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-15 00:52:49 +00:00
Martin Pycko
6f9da41a6c Do the last thing the right way (thanks Mark)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-14 22:33:47 +00:00
Martin Pycko
2850b4962f Don't allow to run SIPDtmfMode on other channels than SIP ones.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-14 21:58:54 +00:00
Martin Pycko
265d0a060c A little oops ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-14 17:57:26 +00:00
Mark Spencer
6f6ff1a673 Don't try to expire if there is no expirey
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-14 04:11:03 +00:00
Mark Spencer
ae77308b3f Fix build on FreeBSD for gsm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-14 00:28:11 +00:00
Mark Spencer
ada8ccbb14 If no vm box, go to 101 if appropriate (bug #489)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-14 00:21:31 +00:00
Martin Pycko
e7626bb3ce Fix deadlock in iax
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 23:49:15 +00:00
Mark Spencer
f6c230ebcb Minor alsa fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 21:57:49 +00:00
Mark Spencer
64c02a2174 Make ${ACCOUNTCODE} available and document (bug #459)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 20:42:17 +00:00
Martin Pycko
5f0e314fe5 Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 18:30:15 +00:00
Mark Spencer
9d244cb4ce Don't reconnect db on reload unless there was a failure
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 16:25:52 +00:00
Mark Spencer
fe98390fe0 Retain beep
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 05:46:01 +00:00
Mark Spencer
d886e2a557 More generally stop streaming when interrupted
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 05:43:07 +00:00
Mark Spencer
acf41ac2df Stop stream
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 05:37:32 +00:00
Mark Spencer
c71d9d53ff Update so that "users" are implemented as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 05:21:15 +00:00
Mark Spencer
08b0a2e4e2 Start on mysql_user, move to misery
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 04:32:32 +00:00
Mark Spencer
dbb09a65fe Move voicemail2 to voicemail, retain compatibility with "Voicemail2"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 01:47:23 +00:00
Mark Spencer
484e1fae4e Tone/indications issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 01:25:34 +00:00
Mark Spencer
4195115d60 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 00:44:31 +00:00
Mark Spencer
d21c6b7c13 Properly decode strings in REPLACES and ignore leading whitespace
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-13 00:43:02 +00:00
Mark Spencer
270c8e3746 Improve documentation of ${SIPDOMAIN}
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 23:54:41 +00:00
Mark Spencer
38ea72559b Backport to iax
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 18:23:09 +00:00
Martin Pycko
9d2c55e62a Fix SIP_CODEC support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 16:36:35 +00:00
Mark Spencer
6955b7cda1 Preliminary support for iax2 friends in mysql database
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 08:58:55 +00:00
Mark Spencer
3a3722eb90 Minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 08:57:23 +00:00
Mark Spencer
078022fa64 Minor forwarding patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 02:05:56 +00:00
Mark Spencer
f7b3b78414 Ditch format_mp3 too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 00:33:05 +00:00
Mark Spencer
a2303e3d0f Don't reinvite if we got a refer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 00:13:55 +00:00
Martin Pycko
5865f43a79 Implement several manager commands for Zap channels: ZapTransfer (flash hook), ZapHangup, ZapDial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-12 00:13:22 +00:00
Mark Spencer
027d5bbf30 Add ${SIPDOMAIN} and "dynamic peer" mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-11 20:46:41 +00:00
Martin Pycko
f6e02bc306 Add br tones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-11 16:37:14 +00:00
Jeremy McNamara
5904fc0ed0 call ast_register_application properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-11 07:56:13 +00:00
Mark Spencer
ec06e092ff Minor vm fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-10 23:47:05 +00:00
Mark Spencer
ccb2b96262 indications fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-10 23:39:27 +00:00
Mark Spencer
9175d0a1ee If somehow we don't have an answer, set need to destroy on CANCEL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-10 17:18:09 +00:00
Mark Spencer
d3850ae0e7 Store read data in a variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-10 04:54:02 +00:00
Mark Spencer
795767ee49 Add "read" application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-10 04:47:43 +00:00
Mark Spencer
b0f482d9b3 Handle 401 for INVITE as well (should we add support for BYE too?)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-10 04:22:33 +00:00
Mark Spencer
d48b05d8ab Back out "leak" fixes, as it causes segfaults
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-09 20:31:54 +00:00
Mark Spencer
9f110a3b81 CLI memory leak patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-09 19:33:39 +00:00
Mark Spencer
f4cafc5041 Typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-09 18:46:52 +00:00
Mark Spencer
f305473af5 Answer the line if it hasn't been already
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-09 06:16:07 +00:00
Mark Spencer
a8e01c95f8 While doing ENUM lookups, search all records
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-08 23:06:59 +00:00
Mark Spencer
81339d3c3c Trustingly add Thorston's deadlock patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-08 04:35:57 +00:00
Martin Pycko
6cd4d3c008 Add round robin to chan_zap with use of Zap/r<number>/<exten> (ascending) or Zap/R<number>/<exten> (descending).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-07 16:55:13 +00:00
Mark Spencer
2705394aeb Fix more typos
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-07 06:31:55 +00:00
Mark Spencer
47b3c0ec82 Fix silly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-07 06:31:54 +00:00
Mark Spencer
fe46a4c9d3 Gotta actually free the frame...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-07 03:48:03 +00:00
Jeremy McNamara
994d37c441 Fix directons below. Thanks xam
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-07 02:41:47 +00:00
Mark Spencer
f391225968 Minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-06 23:55:12 +00:00
Mark Spencer
f518e71f76 Reenter voice mode after certain programming (Thanks Jayson)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-06 23:55:11 +00:00
Jeremy McNamara
f70f05ca35 minor language tweak. Thanks Carp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-06 04:08:40 +00:00
Martin Pycko
952faabb04 Make AGI work when ast_waitfor_nands returns without anything because of EINTR
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 23:43:31 +00:00
Mark Spencer
b5ec8ef1d9 Train echo canceller on FXO before last digit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 22:32:20 +00:00
Mark Spencer
98166ff081 WHen making compatible for bridge, stop generators, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 20:53:49 +00:00
Martin Pycko
019d707dc2 Add PRI_CAUSE feature for PRI ... If you set PRI_CAUSE=17 with SetVar and then call Hangup app the PRI will disconnect with this cause (it overrides the cause sent if we get it from incoming call)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 16:48:38 +00:00
Mark Spencer
d7df92d71b Get .depend for stdtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 06:19:41 +00:00
Mark Spencer
89aadcec48 Harden PGSQL against dead connections (bug #481)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 05:56:27 +00:00
Mark Spencer
2768a55b02 Voicemail/mysql updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-05 05:42:23 +00:00
Mark Spencer
d387ca7779 Handle mpg123 failures without leaking fd's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 23:23:00 +00:00
Mark Spencer
fa45f2e6ba Add meetme option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 21:47:35 +00:00
Mark Spencer
e255fe1685 Turn off music on hold when doing *0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 21:21:49 +00:00
Mark Spencer
1e95c3a4ac Remove really broke MP3 stuff in favor of G.726 in the near future
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 02:40:09 +00:00
Martin Pycko
7ec16a6af7 Fix description of Cut application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 00:44:51 +00:00
Martin Pycko
0c5ee9486b Make SIP_CODEC warn about not supported/not configured codec
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 00:34:17 +00:00
Martin Pycko
4d5b31e943 Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-04 00:16:01 +00:00
Jeremy McNamara
8284ea8b46 fix g.723.1 pass-thru. Bug #477
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-03 07:14:43 +00:00
Jeremy McNamara
ec8d4cfdcc remove the nasty warning, cuz some have gotten newer versions to work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-03 06:55:30 +00:00
Jeremy McNamara
840e27bd41 This is for postgres, not mysql now. (it was buggin me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-11-01 11:26:28 +00:00
Martin Pycko
0827fe8bc1 Don't do externip by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-31 16:33:56 +00:00
Martin Pycko
da93b54687 Add externip keyword so that it's possible to use asterisk behind a NAT through port forwarding
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-31 16:13:49 +00:00
Mark Spencer
0519fde656 Add "dynamic" option to create conference rooms on demand
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-29 22:52:20 +00:00
Mark Spencer
71dd98a22e Don't free sildet unless we have one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-28 14:07:19 +00:00
Mark Spencer
0de223a1ee More cleanups and OSX fixes for 10.3
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-27 20:00:41 +00:00
Mark Spencer
251e70953e Use echo training of FXS (fxo signalled) interfaces... rest to follow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-27 17:16:08 +00:00
Mark Spencer
3d994d0b6c Update "hours" location in voicemail.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-27 14:45:11 +00:00
Mark Spencer
6e445e39a1 Make sure variables exists (bug #409)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-26 23:08:21 +00:00
Thorsten lockert
c420eb06ea Make it build and run on MacOS X
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-26 19:17:28 +00:00
Mark Spencer
4ce283ff18 Make it build and run on MacOS X
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-26 18:50:49 +00:00
Mark Spencer
cd5bbf0f35 Select proper endian file on MacOS X
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-26 03:28:01 +00:00
Mark Spencer
5d32badfee Update Changelog and README
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 21:18:57 +00:00
Mark Spencer
a1d9de0613 Display language (bug #256)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 18:15:04 +00:00
Mark Spencer
bc7b8ef41e Make HANGUPCAUSE accessible
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 18:00:00 +00:00
Mark Spencer
a40f00bee9 stdtime build improvements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 17:56:14 +00:00
Mark Spencer
4d0e046a06 Verify includes, and give warnings if invalid (bug #429)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 17:50:06 +00:00
Mark Spencer
e425ba6c0e Compatibility issues on app_cut (bug #428)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 17:44:48 +00:00
Mark Spencer
77003fea94 Fix *8# magically (bug #116)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 17:41:02 +00:00
Mark Spencer
b5bcecce5d Add DESTDIR support (bug #200)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-25 17:27:53 +00:00
Mark Spencer
c6569f5177 Check that there really is a tag
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-24 18:22:45 +00:00
Mark Spencer
37ff334508 Set joint capability as well when checking users
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-23 03:58:40 +00:00
Mark Spencer
765bc4a66c Create outgoing threads detached (bug #391)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-23 03:55:58 +00:00
Mark Spencer
67d2608db9 Handle capability on inbound too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-23 03:50:34 +00:00
Mark Spencer
9e7084c024 Make STRIPMSD configurable in default extensions.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 19:12:24 +00:00
Mark Spencer
8cd853a1c8 Add Tilghman's app_cut
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 13:34:59 +00:00
Mark Spencer
dd5a2c44a5 Add announce feature to dial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 04:25:13 +00:00
Mark Spencer
a1fe10de33 Add language supporrt for SIP (bug #411)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 04:19:22 +00:00
Thorsten lockert
7d4e0b32e1 Route fixes for OpenBSD (bug #415)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 04:09:28 +00:00
Mark Spencer
85bf34eb5e SUpport gains on outbound calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 04:04:59 +00:00
Mark Spencer
d9d8746b06 Bah, it needs the free apparently
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 04:03:15 +00:00
Mark Spencer
adb1122f72 Add message expiry from cron (bug #388)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:58:58 +00:00
Mark Spencer
ada63fbb4f Switch to vasprintf (big #398) dropping bogus free()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:52:56 +00:00
Mark Spencer
c5efc24b53 Fix help issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:46:36 +00:00
Mark Spencer
ff6e7df51a Set append flag properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:37:47 +00:00
Mark Spencer
a6b382fa40 Small SQL fix (bug #412)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:12:17 +00:00
Mark Spencer
8ea87da749 Make getaddrfor work with openbsd (bug #415)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:10:34 +00:00
Mark Spencer
46c8f9282e Language fix up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:06:47 +00:00
Mark Spencer
df3bb5d4ef Add "crt" to list that knows colorization (#410)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 03:04:45 +00:00
Mark Spencer
524c10a4c5 Fix compile warnings (bug #389)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-22 02:53:39 +00:00
Mark Spencer
82d87fe9cc Fix include order
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-21 18:08:11 +00:00
Mark Spencer
5e25770a83 Okay, '*' and '#' are still okay in INFO messages
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-21 17:07:18 +00:00
Thorsten lockert
de28fa60cf make chan_h323 not load if no config file is found
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-21 13:12:30 +00:00
Jeremy McNamara
1692747009 add -lpthread for linux
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-21 09:18:13 +00:00
Mark Spencer
bc69cfe5a4 Minor typo fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-21 03:10:43 +00:00
Mark Spencer
c0d8f10a42 FreeBSD patch, take 2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-21 02:57:29 +00:00
Mark Spencer
20760f83da Change skel to system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-19 11:06:59 +00:00
Martin Pycko
13b7b73b08 Revert the previous patch since it's braking compilation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-16 21:11:29 +00:00
Mark Spencer
d5b54e4b7f Sane FreeBSD patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-16 10:44:04 +00:00
Mark Spencer
084ce330ff Report proper pid when forking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-16 10:27:41 +00:00
Martin Pycko
f59f259586 In the SIP -> SIP if the called party disconnects with 486 make sure that the calling party gets 486 also
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-15 22:12:05 +00:00
Mark Spencer
a32f02162b Actually add md5secret option to CVS (bug #288)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-15 17:32:19 +00:00
Mark Spencer
aada3ee156 Voicemail2 fixes for attachment and timezone stuff (bug #384/#385)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-14 10:03:42 +00:00
Mark Spencer
2bf8b38383 Properly handle events during reads
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-14 09:56:46 +00:00
Mark Spencer
a10a120c99 Really cleanup editline (bug #378)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-13 18:31:52 +00:00
Mark Spencer
274ce67572 Add contributed postgreSQL schema for CDR (bug #381)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-13 18:18:15 +00:00
Mark Spencer
6615fcee6e Portability fixes to sayunixtime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-13 12:23:31 +00:00
Mark Spencer
c8a93d08eb Properly strip "from" line
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-12 11:43:18 +00:00
Mark Spencer
1682b2ced8 Strip "sip:" from callerid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-10 18:58:52 +00:00
Mark Spencer
4966cfa119 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-10 02:05:17 +00:00
Mark Spencer
f537e2e0ec Consider "from" when getting destination (bug #368)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-09 22:50:42 +00:00
Mark Spencer
7198e00097 Fix helper app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-09 14:12:26 +00:00
Mark Spencer
1b19a2b1de Callerid fix and warning cleanup (bug #367 & #356)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-08 21:57:43 +00:00
Mark Spencer
ea4aeb0c67 Handle without context
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-08 02:21:09 +00:00
Mark Spencer
55637d3de5 Add "n" option to allow disabling of masq optimization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-08 02:11:56 +00:00
Jeremy McNamara
0f007abd86 grrrr..one more try
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-08 00:09:59 +00:00
Jeremy McNamara
4e1fa1bbb9 don't mind me
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-07 23:30:07 +00:00
Jeremy McNamara
d86015f6b7 keyword username is not used in iax/iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-07 20:24:30 +00:00
Mark Spencer
ceb8d1ccb8 Switch back to DTMF at the appropriate time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 05:09:42 +00:00
Mark Spencer
daf8899e5c Revert previous patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 05:04:52 +00:00
Mark Spencer
dd96bea16c Fix typo in CVS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 05:01:08 +00:00
Mark Spencer
9efec3dff4 Detect 100 as valid DTMF too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 04:59:49 +00:00
Mark Spencer
285d3a4497 Update setlanguage documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 00:41:43 +00:00
Mark Spencer
1343c2638c Increase sizes in SIP (bug #352)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 00:39:34 +00:00
Mark Spencer
07e971e7c2 Fix ENUM to live w/out config file, and fix internationalization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-06 00:36:17 +00:00
Mark Spencer
f5a68e9839 Minor fixups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-05 22:17:32 +00:00
Mark Spencer
9cb95aad26 Add PostgreSQL support to voicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-04 22:08:02 +00:00
Mark Spencer
a5e6d130fd SRV and ENUM fixes (bug #'s 350 and 351)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-04 21:58:16 +00:00
Mark Spencer
d79518ec0e Set acknowledged seqno to 0 on transfer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-04 17:45:20 +00:00
Mark Spencer
357e60ffdc Don't assume we acked when handling transfer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-04 05:33:00 +00:00
Mark Spencer
f7f5b56b0a Minor ADPCM quality enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-02 23:17:32 +00:00
Mark Spencer
e4b8d32001 Make sip show channel display a given callid when only partly specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-02 06:46:19 +00:00
Mark Spencer
3892a7162a Increment message id number in e-mail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-02 06:42:39 +00:00
Mark Spencer
03e8e4a18e Add "logger reload" CLI (bug #345)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-02 06:40:10 +00:00
Mark Spencer
3b49a87972 Update IAX2 parser for sending caller info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 22:59:06 +00:00
Mark Spencer
b016beaeb1 Fix extraneous include from MySQL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 21:06:15 +00:00
Martin Pycko
b239d0de27 Pass accountcode to outgoing spool call when originated with Context&Extension&Priority
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 21:01:31 +00:00
Martin Pycko
c0dde4ac5b Add 486 message (SIP) to 17 cause (PRI) translation when you call Dial app and then Hangup:
exten => _X.,1,Dial(SIP/user)
exten => _X.,2,Hangup()


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 16:05:40 +00:00
Martin Pycko
cacfd42960 Add usecallingpres keyword to zapata.conf for PRI to PRI call so that we would take the presentation mode and send it to outbound call.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 15:59:26 +00:00
Mark Spencer
8cd100de39 Add PGSQL support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 15:03:30 +00:00
Mark Spencer
16ae57d222 Fix channel Caller*ID
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 14:59:40 +00:00
Mark Spencer
9e68716e0e Check registry carefully before unlinking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 04:53:53 +00:00
Mark Spencer
d3e0c54f7d Fix leaking sip channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 04:43:43 +00:00
Mark Spencer
80f05b38b0 Fix SIP for outbound too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-10-01 03:03:42 +00:00
Mark Spencer
694d3435e1 Add sayunixtime, chan_sip updates for codec negotiation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 23:03:57 +00:00
Mark Spencer
7db0e60486 Minor IAX enhancments to support MusicOnHold
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 14:11:17 +00:00
Jeremy McNamara
19ef8e56ef lets try just a empty speed dial, for real this time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 10:58:34 +00:00
Jeremy McNamara
740e8469da lets try just a empty speed dial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 10:53:02 +00:00
Jeremy McNamara
3bbf429ac0 remove speedial setting, for now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 09:46:55 +00:00
Mark Spencer
b9643771af Destroy channels on BYE when no owner is present
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 04:57:20 +00:00
Jeremy McNamara
b64094d528 use timeout value insted of 0. Bug #286
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-30 02:46:52 +00:00
Mark Spencer
a97186b2f1 Fix some printfs to debugs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 21:35:19 +00:00
Mark Spencer
50ecdfc27e Add .cvsignore file for stdtime (bug #335)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 21:29:35 +00:00
Mark Spencer
a2126b635f Check with select before accept (bug #325)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 20:20:04 +00:00
Mark Spencer
229f4abf93 Change strdupa's to ast_strupda's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 20:13:54 +00:00
Mark Spencer
4fe5b6f516 Minor extensions fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 20:10:49 +00:00
Jeremy McNamara
0bf4bf3f54 remove old debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 09:18:56 +00:00
Jeremy McNamara
7bf42218fe try to enable indications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-29 09:01:51 +00:00
Mark Spencer
f1c0d4683b Merge Eagle's meetme/agi (Zap only) patch (with changes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-28 21:18:51 +00:00
Mark Spencer
f02ca8f2e9 Default to no jitter buffer on IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-28 20:06:31 +00:00
Mark Spencer
a2c9772f3c Show how to add debug to console easier
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-28 20:05:12 +00:00
Mark Spencer
df0c9bee94 Fix build fix (bug #321)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 15:52:17 +00:00
Jeremy McNamara
f6c0dd8c4d anonyance fix, per tholo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:52:05 +00:00
Mark Spencer
55e664cb00 Fix various compiler warnings (bug #322)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:45:37 +00:00
Mark Spencer
78b6e77a95 Add relative substring (bug #229)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:39:04 +00:00
Mark Spencer
d3369ceb9b make subdirs always build as appropriate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:32:30 +00:00
Mark Spencer
7d1dd00794 Make festival less verbose (bug #320)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:31:07 +00:00
Mark Spencer
eca42807c3 Fix counter in SIP (bug #291)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:30:03 +00:00
Mark Spencer
78be0c2b5c Add description of length (bug #284)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:28:42 +00:00
Mark Spencer
4b08d2b86c Check pointer (bug #253)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:27:15 +00:00
Mark Spencer
cb4fccfd5d Fix printf to match int type (bug #247)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:24:53 +00:00
Mark Spencer
249eef49d6 Move to asprintf (bug #252)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:22:18 +00:00
Mark Spencer
372bb483c5 Fix iLBC quality issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 02:18:53 +00:00
Jeremy McNamara
41cafc5042 anonyance fixes, per tholo :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 01:05:55 +00:00
Mark Spencer
b455108961 Add missing files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 00:37:07 +00:00
Mark Spencer
43ad5e5129 Remove unnecessary files (bug #298)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 00:36:45 +00:00
Mark Spencer
0399d007f3 Use proper compiler flag for global symbols
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 00:32:01 +00:00
Mark Spencer
d48612ee3d Fix search path in app_mp3
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 00:30:07 +00:00
Mark Spencer
b14e6b526b update DNS resolver
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-27 00:22:46 +00:00
Jeremy McNamara
55512a7328 fix spelling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 23:41:41 +00:00
Mark Spencer
8d4b8f164c Show codec enhancements (bug #307)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 23:17:33 +00:00
Mark Spencer
02fa2dab28 Initialize extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 22:31:19 +00:00
Mark Spencer
c6d3583e08 Remove old mysql CDR's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 22:26:11 +00:00
Mark Spencer
9eb75e0e3e Remove MySQL support from default Asterisk in accordance with new MySQL library licensing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 22:03:10 +00:00
Martin Pycko
c514e681e7 Fix last typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 17:39:27 +00:00
Martin Pycko
be64ea63b1 Don't do callprogress on incoming calls -> that used to put that call in a wierd state 6 and the call is not answered.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 17:28:57 +00:00
Mark Spencer
153c3c3f99 Minor config fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 13:49:36 +00:00
Mark Spencer
45f21ff66b Merge app_hasnewvoicemail (bug #290) with some mods
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 03:39:58 +00:00
Mark Spencer
83e9734908 Fix capability lookup failure
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-26 03:31:57 +00:00
Jeremy McNamara
9a49c07cf3 change default codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-25 23:16:36 +00:00
Mark Spencer
273e1b07d6 Keep voicemail from segging on a permissions problem (bug #245)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-25 13:18:03 +00:00
Mark Spencer
403f27e5b9 Bring into full TBR4 compliance
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-25 06:14:38 +00:00
Mark Spencer
cfe24ba7e9 Unlock channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-24 19:43:14 +00:00
Jeremy McNamara
b54c5c7561 don't deal with gatekeeper on reload, known issue..someone fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-24 10:59:24 +00:00
Jeremy McNamara
29d2a6d9d2 oopsie remove it from here too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-22 23:19:27 +00:00
Martin Pycko
c545cd3cf7 Create better 'failed' CDRs for outgoing spool calls with context,extension,priority
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-22 15:27:09 +00:00
Jeremy McNamara
a83662beda rollback transfer support...not properly implemented
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-22 06:21:03 +00:00
Mark Spencer
7c59caf852 Merge tilghman's patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-21 15:23:54 +00:00
Mark Spencer
27787e21ec Fix ADPCM file writing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-21 02:59:26 +00:00
Martin Pycko
27294b83d2 Increase the fromstring maximum length
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-20 04:47:33 +00:00
Martin Pycko
a2ee614628 Fix getting ${UNIQUEID} value
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-20 00:34:03 +00:00
Mark Spencer
dc3d7eb38c Fix inverted if logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-19 17:52:52 +00:00
Mark Spencer
b0500e1945 Code cleanups (bug #66)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-19 01:20:23 +00:00
Mark Spencer
320a52e5f5 Time zone patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-19 00:45:20 +00:00
Martin Pycko
f2e2b29c3c Add closing bracket
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-18 21:52:01 +00:00
Martin Pycko
4ac2cab962 Add NoCDR application; when called there won't be generated CDR record for that call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-18 21:17:14 +00:00
Martin Pycko
6dfc67d078 Don't post 2 CDR's when the outgoing spool call fails
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-18 21:06:29 +00:00
Mark Spencer
7af5d948da Grab timezone from system config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-18 13:34:06 +00:00
Martin Pycko
0644267b41 Allow detection of callerid on FXO with distinctive ring
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-17 22:23:17 +00:00
Mark Spencer
90f6d836ee Fix deadlock pointed to by Martin
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-17 20:51:53 +00:00
Mark Spencer
233591ddc5 DTMF enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-17 04:39:22 +00:00
Martin Pycko
a2894c1114 Don't complain that wait4 is unkown and make sure that we won't segfault if chan->cdr is NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-17 04:21:56 +00:00
Mark Spencer
4e13099add Improve child process reaping (bug #278)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-16 19:35:57 +00:00
Mark Spencer
d77b1791d8 Update config to note only U.S. tones supported at this time (bug #280)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-16 19:33:21 +00:00
Jeremy McNamara
79ecd05a02 don't die if skinny cannot figure out hostname
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 15:42:27 +00:00
Jeremy McNamara
6be8c6b6bf minor code fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 15:39:22 +00:00
Mark Spencer
d6f33f273d Don't die if no skinny config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 04:03:28 +00:00
Jeremy McNamara
26fdbec56f remove debug, it's Miller time\!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 02:22:11 +00:00
Jeremy McNamara
02222bc6c1 stomp on seg fault if a call is attempted and the skinny device is not registered
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 02:17:32 +00:00
Jeremy McNamara
c3174c0319 fix never ending ringing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 01:50:00 +00:00
Jeremy McNamara
c165196f71 pull out reloading, for now, causes segs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 00:54:53 +00:00
Mark Spencer
a4c9fa34d9 Revert bug 176 patch entirely
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 00:32:51 +00:00
Jeremy McNamara
d28bc810a3 make tcp socket resuable. Bug #262
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 00:29:01 +00:00
Jeremy McNamara
d6ba77a74b implement reload
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-14 00:05:37 +00:00
Mark Spencer
b745ba8380 Merge sending complete patch with no number (bug #176)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 23:57:48 +00:00
Mark Spencer
00b83639fd More PBX fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 23:50:18 +00:00
Jeremy McNamara
c1c5fcd426 many bug fixes and inbound calling: SKINNY/line@device
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 23:30:30 +00:00
Mark Spencer
56f915e783 CLeanup PBX patch and add localtime stuff for saytime (bug #168)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 20:51:48 +00:00
Mark Spencer
c511b967ed Outgoing limit updates (bug #98)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 20:26:20 +00:00
Mark Spencer
faeb2e28f2 Add extended Matching functionality (bug #97)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 20:20:14 +00:00
Jeremy McNamara
fd4bc1398d remove stupid CR/LFs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-13 00:37:37 +00:00
Jeremy McNamara
86278dfb1f clean up code and output d->addr properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-12 23:47:02 +00:00
Martin Pycko
3bd044c236 Fix a tiny thing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-12 17:09:44 +00:00
Martin Pycko
5a894711eb Add the missing file for the previous commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-12 16:52:14 +00:00
Martin Pycko
4828759ab8 Add distinguishing between BUSY and FAILURE for outgoing spool calls. Always save CDR record (even if the call fails). If the call fails try to see if there is
"failed" extension in the specified context (only if you use context,extension,priority syntax) and execute it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-12 16:51:35 +00:00
Mark Spencer
3672619e13 Don't die if no config file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-12 03:21:14 +00:00
Martin Pycko
78ef0d0ebe Add SIPDtmfMode application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-11 22:41:30 +00:00
Jeremy McNamara
884381d54d add chan_skinny.so
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-11 19:45:43 +00:00
Jeremy McNamara
08079c6863 initial import of skinny, more coming soon
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-11 19:44:48 +00:00
Mark Spencer
ac19ba51bd Fix small logic errors (bug #242)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-10 05:24:49 +00:00
Jeremy McNamara
c874416036 update for the lamers...only if they would acutally read it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-10 00:24:36 +00:00
Mark Spencer
69d2a4917c Merge james' fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 23:40:33 +00:00
Mark Spencer
76b99bb025 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 22:37:47 +00:00
Mark Spencer
14dd5077a9 Fix amp to star
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 22:01:02 +00:00
Mark Spencer
441be8c4d7 Add ResetCDR application (with mods) (bug #235)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 21:52:45 +00:00
Mark Spencer
979dc97f36 Fix "potential" deadlock and make not-a-deadlock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 19:38:24 +00:00
Mark Spencer
479a67e629 BSD portability enhancements (bug #234)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 16:48:07 +00:00
Mark Spencer
1e19f72077 First of Jayson's manager patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 16:44:36 +00:00
Mark Spencer
541a3eb0b1 Change printf to ast_log (bug #238)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-08 16:08:07 +00:00
Mark Spencer
328897248a Copy context properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-07 00:12:29 +00:00
Jeremy McNamara
059b57438b implement transfer and call forwarding. Bug #221
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-06 20:29:25 +00:00
Mark Spencer
ebae0a11be When taking a masqed call, be sure to mark it as acknowledged
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-06 20:13:09 +00:00
Mark Spencer
7b8a61c9a7 Update iax.conf.sample to show "notransfer" option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-06 19:46:33 +00:00
Mark Spencer
8785c02365 Copy musiconhold
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-06 19:28:52 +00:00
Mark Spencer
d488a8c522 Be sure we have the agent lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-06 19:10:08 +00:00
Mark Spencer
d4c55fbdb5 Fix version
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-05 04:36:58 +00:00
Martin Pycko
6e8a074912 Add restrictcid=[yes|no] for chan_zap and chan_sip. You can specify if the sip/zap users will have the callerid transmitted as ANI or CALLERID.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-05 04:00:57 +00:00
Mark Spencer
fb1c18e6fd Add ${DNIS}
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 22:46:06 +00:00
Mark Spencer
c80158ce30 Add Zap dnid support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 18:55:35 +00:00
Mark Spencer
687a0e76b5 Take URI from responses (bug #215)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 04:40:37 +00:00
Mark Spencer
e42d5a20fd More mysql patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 04:20:43 +00:00
Mark Spencer
ef1632a591 Send message waiting event on forward (bug #213)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 04:13:21 +00:00
Mark Spencer
bb0fba0974 Re-poke all peers on a reload (bug #216)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 04:09:09 +00:00
Mark Spencer
9c12f6b550 Base ackcall on newly available agent, not the pending one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 04:03:47 +00:00
Mark Spencer
9f1fc03a58 Better handling of quit/exit (bug #218)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-04 03:55:41 +00:00
Malcolm Davenport
d104c1d73d Test 3
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-03 17:06:12 +00:00
Malcolm Davenport
28ade8e879 Another test
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-03 16:53:04 +00:00
Malcolm Davenport
4974960882 Test
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-03 16:49:23 +00:00
Malcolm Davenport
c0f4fbf6ad Just a text
----------------------------------------------------------------------


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-03 16:46:53 +00:00
Test User
6d2e62cda0 blah2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-03 16:31:44 +00:00
Test User
204f6c2f0c blah
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-03 16:30:36 +00:00
Mark Spencer
52c2755347 Allow codecs to be specified on a per-peer and per-user basis
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-02 03:09:03 +00:00
Mark Spencer
884c178142 iTholo fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-02 00:33:42 +00:00
Mark Spencer
f12366ffc7 Finish provisioning placeholder
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 19:24:23 +00:00
Mark Spencer
6d3f2dbae3 Add placeholder for provisioning info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 18:36:15 +00:00
Mark Spencer
7893c6b188 Update CDR's when changing extensions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 16:16:53 +00:00
Mark Spencer
d855c2855a Send "PROGRESS" when DIAL is accepted
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 16:12:54 +00:00
Mark Spencer
193f6631be * and # are potentially parts of phone numbers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 15:59:57 +00:00
Mark Spencer
03373895c2 Fix Makefile for modules (bug #199)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 15:52:10 +00:00
Mark Spencer
43fdbc4b63 Fix DISA to actually have header it advertises (bug #197)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 15:44:27 +00:00
Mark Spencer
c22a72fc65 Add H.323, SIP, IAX/IAX2 to ENUM Lookup (bug #202)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 15:36:52 +00:00
Jeremy McNamara
a44c2e4636 fix seg fault due to the use of wrong pointer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 07:21:51 +00:00
Mark Spencer
b12730866a Unlock our lock while we try to find the extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-09-01 00:51:30 +00:00
Mark Spencer
0faa3c1baf Support ANI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-31 02:04:42 +00:00
Mark Spencer
79a5692764 Increase minimum retry time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-30 06:40:56 +00:00
Mark Spencer
2fbf9c9e16 Don't send until we're up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-30 00:48:37 +00:00
Martin Pycko
f14004abfd Fix synchronization of recorded files when using Monitor application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-28 20:02:10 +00:00
Mark Spencer
3ee27a8a89 Allow "g" option in dial to go to next extension (bug #189)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-28 16:42:15 +00:00
Mark Spencer
01882fa17e Format cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-27 23:35:17 +00:00
Mark Spencer
c6d42e9779 Minor makefile fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-27 16:05:14 +00:00
Mark Spencer
77a6aa9327 We have to release app_lock even if there is no channel logged in anymore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-27 15:59:43 +00:00
Mark Spencer
c3882de991 Make ack_sleep do something
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 18:50:46 +00:00
Mark Spencer
e46cb9d09a Clear high res value
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 05:21:22 +00:00
Mark Spencer
e5732d1743 handle app_lock properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 04:53:49 +00:00
Mark Spencer
00f701aa87 How about manipulating the right lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 04:08:12 +00:00
Mark Spencer
771c1e867f Make debugging possible by using #define's instead of inlines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 03:56:58 +00:00
Mark Spencer
a257ce71d1 Make res deterministic, don't release lock until totally done
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 03:50:01 +00:00
Mark Spencer
01f66003a4 Fix agent deadlock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 03:17:00 +00:00
Mark Spencer
578b394236 Make chan_zap compile without libpri again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 02:38:24 +00:00
Mark Spencer
e46cefeb4b Wait for '#' to acknowledge pending agents, too when ackcall=always
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-26 00:36:03 +00:00
Mark Spencer
aaf83cc86f Merge james's patch (bug #7)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 22:40:14 +00:00
Martin Pycko
1434714b58 Make sure that when the d-channel goes down we also clear the libpri structures with pri_destroycall
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 21:17:38 +00:00
Martin Pycko
44e6a8619e Add one more thing to the previous one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 20:47:55 +00:00
Martin Pycko
e89a2bcd5c Don't allow to place calls when a dchannel is down (for PRI). Also when we detect that d-channel is down -> destroy the calls.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 20:39:07 +00:00
Jeremy McNamara
822d556924 sync any left over changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 18:34:10 +00:00
Mark Spencer
194998be61 Make app_voicemail2 work when there is no config file (bug #167)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 15:46:18 +00:00
Mark Spencer
0857d4255d Add SetCIDNum (Thanks Oliver)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 15:42:25 +00:00
Mark Spencer
174af33085 Actually use the "get_also" function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 14:17:14 +00:00
Jeremy McNamara
4f944c0e3d disable native bridging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 09:54:36 +00:00
Mark Spencer
eeceb89d31 First pass at BYE/Also transfer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-25 00:05:48 +00:00
Mark Spencer
5c19df841a Update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 23:48:29 +00:00
Mark Spencer
6c1f176438 Build improvements (bugs #161, 162)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 23:34:50 +00:00
Mark Spencer
1d7e348b8f Make sipdebug default to 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 22:56:54 +00:00
Mark Spencer
dcb9b8f9a2 Make SIP registration persistent (bug #159)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 22:35:06 +00:00
Mark Spencer
2d9561427e Enable Asterisk to register with itself (with authentication)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 22:33:43 +00:00
Mark Spencer
f148fe7e4f Send registration info on 407 too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 21:47:25 +00:00
Mark Spencer
2dd53c0bba Persist IAX2 registrations across restarts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 21:32:21 +00:00
Mark Spencer
384072d44c Don't run hangup extension when KEEPALIVE is returned (bug #120)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 20:08:55 +00:00
Mark Spencer
730d7655c7 Monitor thread isn't a mutex
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 06:27:34 +00:00
Mark Spencer
d6cfcc994d Use URI in sip, update chan_vpb
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-24 06:24:38 +00:00
Mark Spencer
8d4afb9c19 Fix call pickup with SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-23 22:27:10 +00:00
Mark Spencer
4c1686f194 Update old chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-23 17:50:06 +00:00
Mark Spencer
5a25985a00 Add true native data mode bridging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-23 17:49:54 +00:00
Mark Spencer
1f628fe5f9 Handle timing file descriptor properly with agents
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-23 02:11:44 +00:00
Mark Spencer
6b8998b8ec Store password for later authentication needs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-22 18:51:58 +00:00
Mark Spencer
bc46ece67f Use "domain" instead of "uri" if supplied
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-22 16:53:36 +00:00
Mark Spencer
438ed9e5f8 Minor fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-22 16:36:33 +00:00
Mark Spencer
46059b0714 Reliably transmit BYE always
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-22 16:27:53 +00:00
Mark Spencer
ddb5ae08e8 Small changes that could be useful
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-22 16:12:06 +00:00
Mark Spencer
2421bea611 Fix memory leak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-22 05:30:58 +00:00
Mark Spencer
7d8d7837b4 Never create do initreq with BYE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 23:41:23 +00:00
Mark Spencer
aa7997427a unknown callerid (bug #151)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 23:35:56 +00:00
Mark Spencer
f3b5e16672 Actually set variable name before using
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 23:26:13 +00:00
Mark Spencer
783fddaede Little queue fix (bug #150)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 23:21:49 +00:00
Mark Spencer
3f2e9d2e0d Fix mysql build issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 23:19:56 +00:00
Mark Spencer
436f02d38a Don't actually destroy in handle_request
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 23:00:22 +00:00
Mark Spencer
4b1baccb2e In some cases, no need for an initreqprep
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 22:20:27 +00:00
Mark Spencer
51895a907e First pass at making '#' work on non-callback agents
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 16:42:13 +00:00
Mark Spencer
a869aae156 Only suggest destroy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 16:24:55 +00:00
Mark Spencer
2cedb10fa7 Fix location of errmsg.h file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 16:01:25 +00:00
Mark Spencer
202f44e45a First pass at VPB updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 15:19:40 +00:00
Mark Spencer
7c7806d768 don't tell people to exit/quit when it's not a valid command anymore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 02:34:03 +00:00
Mark Spencer
b79a237186 Prefer bind address if specified over our actual route address
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 02:27:25 +00:00
Mark Spencer
e280cb5f96 Fix astmm for new build process
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-21 01:06:52 +00:00
Mark Spencer
63373352e5 Be sure workspace is initialized
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 23:46:07 +00:00
Mark Spencer
eb22964898 Merge meetmecount patch (with cleanups) bug #140
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 23:32:23 +00:00
Mark Spencer
913a5331b7 Only half-ack provisional responses
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 23:03:44 +00:00
Mark Spencer
f50b20df7a Never *ever* call load_module() / unload_module()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 20:17:38 +00:00
Mark Spencer
eefb17607c Add codec examples in sip.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 14:42:06 +00:00
Mark Spencer
b938de4ea7 Check for 407 on both outbound and non-outbound calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 14:28:51 +00:00
Mark Spencer
312760c381 First attempt at fixing bug #131 (authenticate BYE)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-20 05:56:13 +00:00
Mark Spencer
55d8ae6caa Revert earlier changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 21:35:33 +00:00
Mark Spencer
704f806df6 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 21:26:29 +00:00
Mark Spencer
789a8be699 Create/dial channel if availability is on callback channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 21:14:16 +00:00
Mark Spencer
326456653b Put agent login board in the right place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 19:49:45 +00:00
Mark Spencer
52095246a6 Fix race for fast hanguyp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 19:36:52 +00:00
Mark Spencer
e492a6ef88 Revert killer change to config.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 18:54:56 +00:00
Mark Spencer
d3bdd36e46 depend stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 16:42:30 +00:00
Mark Spencer
f148cc891b Add canreinvite option and minor tweak to bridging code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 15:13:54 +00:00
Mark Spencer
2eda7699de Check availability on callback agents when no wrapuptime specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 15:06:13 +00:00
Mark Spencer
04ca3568cb FreeBSD compatability fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 06:06:50 +00:00
Mark Spencer
fa073b7330 Build fix for H.323 (bug #127)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 01:23:39 +00:00
Mark Spencer
1ab3f636cc Quick fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 01:20:29 +00:00
Mark Spencer
caffbd564d Don't create a pending agent if nobody is logged in
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-19 01:01:00 +00:00
Mark Spencer
a66020eda9 Bug #124
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 21:01:52 +00:00
Mark Spencer
91e3e209bf Pick the right point for rebuilding the list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 20:51:54 +00:00
Mark Spencer
8d5c7dd566 Oops, they're system, not agent events
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 14:20:12 +00:00
Mark Spencer
f3a4294a11 Add alarm/alarm clear events (bug #125)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 14:19:15 +00:00
Mark Spencer
9140063401 Uh, don't lock
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 14:05:40 +00:00
Mark Spencer
5f5e75de6e Add same magic to remove from queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 14:03:54 +00:00
Mark Spencer
e71e9b07a8 Add "Logoff" before logging in (bug #119)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 06:03:16 +00:00
Mark Spencer
5ff7c338f2 Add pound/star (bug #113)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 05:50:10 +00:00
Mark Spencer
36795a34a2 Don't complain on G.723 packets RTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 05:31:25 +00:00
Mark Spencer
341c78552d If we can't transfer, be sure we hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-18 05:23:10 +00:00
Mark Spencer
c3d0f7e463 Escape fields going into MySQL CDR's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-17 16:53:10 +00:00
Mark Spencer
7089f24156 Strip out quotes (and leading/trailing spaces) in callerid_parse when dealing with name only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 20:40:42 +00:00
Mark Spencer
fff9b4ecba Shave off a smaller amount of time (bug #79)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 17:40:39 +00:00
Jeremy McNamara
e5f7fd404e Add H323 to normal build process
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 17:00:22 +00:00
Jeremy McNamara
79bbadc3c4 Hopefuly kram fixed my lame build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 16:55:19 +00:00
Mark Spencer
36508bc31a Commit RTP fixes this time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 16:51:58 +00:00
Mark Spencer
e4a8e3fd9e Trim post dash portion of name if unspecified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 16:06:29 +00:00
Mark Spencer
5774f469c0 Fix bug #111
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 15:47:53 +00:00
Mark Spencer
9ced4a373b Verify extension is correct
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 15:31:18 +00:00
Mark Spencer
1fc8a6ca14 New "show codecs" option and mysql feature requests from Tilghman
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 14:48:05 +00:00
Martin Pycko
501c800c5a Show the names of the codecs instead of the numbers (bug #92)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 05:10:35 +00:00
Mark Spencer
6fc89a80d1 Update agent documentation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-16 04:42:13 +00:00
Mark Spencer
4e82233874 Don't lock when soft hanging up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 23:57:13 +00:00
Mark Spencer
6be62cdb7a Fix dtmf buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 22:45:26 +00:00
Mark Spencer
858ad8ca64 Only skip it for immediate mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 22:07:15 +00:00
Mark Spencer
ec3d5a0c43 Wait for first digit with FEATDMF too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 22:00:44 +00:00
Mark Spencer
738fe3d529 Don't ignore return value
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 21:28:04 +00:00
Mark Spencer
3e211c91a2 Make sure strncat is > 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 18:50:49 +00:00
Mark Spencer
6aa3efe185 Make sure we copy the text file too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 18:48:08 +00:00
Mark Spencer
eb72c49bd2 Don't double generate events
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 18:29:33 +00:00
Mark Spencer
37b7bccc61 Asterisk:
#72 - Should eliminate probs on VMWI
#41 - Dynamic add survives reload
#73 - Make festival honor its arguments
#93 - Make events on FXO interfaces more logical
#26 - Prefer "bindaddr" to logical address for registrations
??? - Record crashes AGI


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 04:38:39 +00:00
Mark Spencer
a9414a6e2a Special NULL case for mysql (bug #49)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-15 04:32:53 +00:00
Mark Spencer
ae886f5c2b Merge DTMF fixes (bug #95)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 21:55:31 +00:00
Mark Spencer
28f69488c6 Merge ENUM fixes (bug #99)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 21:33:49 +00:00
Mark Spencer
0e56b81f4c Allow AgentCallbackLogin to specify new location (bug #46)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 21:27:24 +00:00
Mark Spencer
7264ffaabb Lose the 1.4.1 diff, add a 1.4.3 diff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 21:06:39 +00:00
Mark Spencer
4c17496489 ignore musicclass for music on hold (bug #62)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 21:04:54 +00:00
Martin Pycko
c7eef6e141 Save the dstchannel before the call gets answered so that we would know what destination channel was dialed when we get the channel hanged up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 20:48:44 +00:00
Martin Pycko
c9998ac0e2 Fix the potential segfault
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 20:44:30 +00:00
Mark Spencer
5aab786c35 Send callerid on callback agents (bug #103)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 20:42:25 +00:00
Mark Spencer
1b1917f4b3 Preserve queued frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 19:18:18 +00:00
Mark Spencer
46171bc538 Don't hold lock in indication longer than we need it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 18:46:02 +00:00
Martin Pycko
bca487f709 Add flags column so that we can exclude some records from being published in the output file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 16:23:12 +00:00
Mark Spencer
9edf987b94 Make default behavior be to *not* use jitter buffer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 16:07:13 +00:00
Mark Spencer
8e5659a7e8 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 16:01:25 +00:00
Mark Spencer
2edde8f5a4 First pass at restoring festival operation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 15:58:55 +00:00
Martin Pycko
78daafd161 Make the BUSYDETECT_MARTIN the default busydetect algorithm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 15:58:22 +00:00
Mark Spencer
c21550022e Make check_bridge back off if it cant get all the locks it wants
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 13:12:39 +00:00
Jeremy McNamara
981b58ae55 add debug in hopes to figure out native bridging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 08:02:33 +00:00
Jeremy McNamara
5047f6f219 update mutex handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-14 06:56:11 +00:00
Mark Spencer
5b3ad85c96 Merge SRV record fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 23:56:16 +00:00
Mark Spencer
933f70cf5d Add crash option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 22:12:54 +00:00
Mark Spencer
67fb880dfb Make chan_zap compile for people without libpri again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 21:06:00 +00:00
Martin Pycko
006e49982e Initial upgrade of the perl script that enables to download sip user/peer entries from mysql database
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 21:01:13 +00:00
Mark Spencer
465a7518cc Do the right thing with ringall queues with entries that have penalties
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 18:58:01 +00:00
Mark Spencer
66252c0f4b Lock on indication, fix agent buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 18:29:58 +00:00
Mark Spencer
d91f72fd5f Add any missing locking calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 17:32:44 +00:00
Martin Pycko
e35371be2b Add the flags column so that if it's set to '1' then that record is not included in the output extensions file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 15:56:32 +00:00
Mark Spencer
1bb58646de Totally revamp thread debugging to support locating and removing deadlocks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 15:25:16 +00:00
Martin Pycko
4a396046fe Make sure that we don't read too much from the data.data pointer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 04:36:06 +00:00
Martin Pycko
6d59eee9e3 Get the printf of the value returned length out
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 03:34:44 +00:00
Martin Pycko
c032902159 Add Norway tone zones to indications.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 02:55:06 +00:00
Mark Spencer
f230bc9d12 In agent, forward codecs along
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13 01:12:19 +00:00
Mark Spencer
62ed498468 Fix manager typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 23:08:49 +00:00
Mark Spencer
e4c58b025f Fix strdupa references
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 22:45:23 +00:00
Jeremy McNamara
71fd88b931 something is crazy here
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 22:20:12 +00:00
Martin Pycko
4fbe072aa4 Also NULL-ify the p->owner when the calls drop because of alarm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 22:14:03 +00:00
Mark Spencer
e85c9cbc45 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 21:18:24 +00:00
Martin Pycko
e9f725b418 Clear the pri channels when alarm condition drops the calls.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 20:27:53 +00:00
Mark Spencer
655f60e567 Take out some debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 16:51:44 +00:00
Mark Spencer
e4614cf487 Add optional pedantic SIP checking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 16:48:16 +00:00
Jeremy McNamara
1695ca0ce8 make it blatently clear what I am saying
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-12 13:36:05 +00:00
Mark Spencer
50af63e1d2 Never release lock when doing a hangup or bad things can happen when masq is taking place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 22:17:46 +00:00
Mark Spencer
7fa4d658e3 Add debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 21:31:53 +00:00
Mark Spencer
fe73c5fc95 More debugging and fix it properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 21:17:33 +00:00
Mark Spencer
b5fb02dc70 Be fanatic about locking when calling check_hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 21:10:52 +00:00
Mark Spencer
0e2190687f Lock everything that might need to be locked
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 20:47:48 +00:00
Mark Spencer
886cf4f227 Lock masquerading into channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1291 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 20:45:43 +00:00
Martin Pycko
5dc7640d74 Free the translators on the ast_closestream
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 20:24:14 +00:00
Mark Spencer
d2e8557038 Update mysql.conf sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-11 14:06:51 +00:00
Mark Spencer
af6128c44b Add sounds and update config files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-10 23:38:35 +00:00
Mark Spencer
b12891297f Handle 501 right
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-10 19:36:46 +00:00
Jeremy McNamara
680e851452 Update Makefile and Readme with warnings and current info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-10 18:12:48 +00:00
Mark Spencer
45bdf40534 Wait for mpg123 to die
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-10 00:01:48 +00:00
Mark Spencer
785958db53 Support French Caller*ID
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-09 23:57:54 +00:00
Mark Spencer
385647af43 Small fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-09 23:45:36 +00:00
Jeremy McNamara
c82e412d32 update callerid handling on outbound calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-09 20:18:54 +00:00
Mark Spencer
f37a567e8c Use stored secret if available, properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-09 19:33:40 +00:00
Mark Spencer
51b800f40a Fix round robin scheduling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-09 19:04:03 +00:00
Mark Spencer
be647641bb CDR Mysql fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-09 15:22:37 +00:00
Mark Spencer
5a0a0ff8dd Fix local buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-08 18:09:24 +00:00
Mark Spencer
d21648495a Fix for when libpri is not installed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-08 04:20:54 +00:00
Mark Spencer
29802d2ff5 Properly defuse race in chan_local, fix extremely unlikely path for losing lock in chan_agent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-08 03:01:29 +00:00
Mark Spencer
1d12de4da6 Do progress detect on incoming too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 21:20:50 +00:00
Mark Spencer
c5155d54c6 Fix wrong pointer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 19:59:04 +00:00
Martin Pycko
fac1fb13da Revert the change in GotoIfTime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 19:21:56 +00:00
Martin Pycko
e13c4fac01 Fix the GotoIfTime application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 17:35:08 +00:00
Mark Spencer
c10477c152 Initialize lock that wasn't
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 05:37:15 +00:00
Mark Spencer
9f51b3590d Make parking resume properly when in macro
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 05:35:45 +00:00
Mark Spencer
01fcb9779a Allow groups to be checked in reverse order, make musiconhold die on restart
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 03:48:00 +00:00
Martin Pycko
58022ed110 Clean up around new hangup routines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 01:14:21 +00:00
Martin Pycko
5e39502200 Add handling of PRI_EVENT_HANGUP_REQ
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07 00:47:27 +00:00
Mark Spencer
e0369d78c9 Try immediately logged in agents first, then callbacklogin ones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-06 04:00:37 +00:00
Mark Spencer
826fe52a8a Fix race in agent login
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-06 01:39:42 +00:00
Mark Spencer
d7754393bb Fix options, switch default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-05 23:59:56 +00:00
Mark Spencer
6ca53fde12 Merge tim's "ack" option
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-05 23:57:55 +00:00
Martin Pycko
f778fb89a5 Fix and improve the new pri hangup routines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-05 01:25:43 +00:00
Mark Spencer
b7d9b6702e Fix small leak in outgoing stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-04 23:30:49 +00:00
Mark Spencer
2711c7aed9 Fix login to allow logging off with @context
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-04 22:22:54 +00:00
Mark Spencer
75fbecf831 Always free cfg file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-04 21:44:48 +00:00
Mark Spencer
7f886b4c53 Clear acknowledged flag on hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-04 20:53:18 +00:00
Mark Spencer
601df24372 Remember they have to be zero filled
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-03 19:26:09 +00:00
Mark Spencer
cd5a6fd5d8 Allow extension names, include context, and switches to use global variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-03 18:39:51 +00:00
Mark Spencer
e707a89e63 Allow globals in extensions.conf to reference previous variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-03 18:33:50 +00:00
Mark Spencer
1d0858f08e Honor context in agent callback login
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-03 18:22:12 +00:00
Mark Spencer
f4985479d2 Fix sounds descriptions, add more info to chan_agent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-02 21:25:43 +00:00
Mark Spencer
1fb2eaabf3 Implement remaining queue strategies, ADSI fixes, and queue config updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-02 21:10:06 +00:00
Mark Spencer
7ab4290896 Add sounds and descriptions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1251 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-02 20:22:39 +00:00
Mark Spencer
895b4077d1 Merge tilghman's voicemail changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-02 18:11:21 +00:00
Jeremy McNamara
0484eac549 copy just the ip address over to __ourip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-02 05:46:32 +00:00
Jeremy McNamara
fd62e99c23 remote memory profiling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-02 04:45:37 +00:00
Martin Pycko
697993ef35 Allow to enter one digit extensions before the call is answered in the queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-01 23:42:49 +00:00
Martin Pycko
ebe8fb518a Let directory application browse through the multi-company directory entries
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-01 23:14:37 +00:00
Jeremy McNamara
e217072b8b update the other callerid check
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-31 06:28:51 +00:00
Jeremy McNamara
5fc9d43a99 stop seg if callerid is not sent at all
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-31 04:43:03 +00:00
Mark Spencer
56f1a46121 Fix TOS bit in SIP when verbose < 2, add support for mgcp TOS bits
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-30 20:49:23 +00:00
Mark Spencer
d407e8e25e Small SIP simplification
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-30 20:45:17 +00:00
Mark Spencer
184c7ab61f Allow subject to be set
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-30 20:04:22 +00:00
Mark Spencer
663e7feea2 Add missing sounds
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-30 19:05:55 +00:00
Mark Spencer
5ea641b2d3 If local user not found, allow call to pass
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-30 18:39:41 +00:00
Mark Spencer
21b6696e8b Add alternate queueing strategies. Implment ringall, roundrobin, and random
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-30 16:10:51 +00:00
Mark Spencer
c8edb6ab5d Handle speex under most circumstances
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-29 19:51:11 +00:00
Mark Spencer
7a6ec6b25a Fix some substantial locking issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-29 16:09:03 +00:00
Mark Spencer
34b28107e2 Minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-29 15:38:02 +00:00
Martin Pycko
fbada4d85a Fix couple of bugs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-28 16:19:21 +00:00
Martin Pycko
19f4f3c36c Fix the bug when Sending Complete IE is sent or not sent (i don't remember) asterisk would jump to s|1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-28 15:12:37 +00:00
Martin Pycko
57d8ea696c Move the PROC lines so that it works when VIA ppl change that variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-28 14:43:07 +00:00
Mark Spencer
3119961e8c Minor formatting fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-28 14:27:05 +00:00
Mark Spencer
e2ca759d56 Add wrapup time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-28 14:24:10 +00:00
Jeremy McNamara
6b3938f2f2 remove non implemented crap from config sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-28 03:37:19 +00:00
Mark Spencer
43d532519f Properly handle hangups on agent, improve formatting of sample agents.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-27 04:27:18 +00:00
Mark Spencer
27d3190aa2 Merge / correct MM's patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-27 03:53:19 +00:00
Mark Spencer
7a594ca15d Start on queueing strategies
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-27 01:55:22 +00:00
Mark Spencer
70f306e8d8 Revision to SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-26 23:14:27 +00:00
Mark Spencer
b03498907b Minor fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-26 19:24:09 +00:00
Mark Spencer
ecf50fcee8 Add per-user limits to chan_sip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-26 15:12:37 +00:00
Mark Spencer
159de43db3 Make sure o->chan is non-NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-25 15:32:02 +00:00
Jeremy McNamara
4cb0fe78ba rollback today's futile attempts properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 23:29:04 +00:00
Jeremy McNamara
bb187d73e4 pull everything back out, I am really done now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 21:26:24 +00:00
Jeremy McNamara
91f9ec998a remove stupid micr CR/LF's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 19:39:38 +00:00
Jeremy McNamara
a085980b22 One last attempt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 19:11:36 +00:00
Jeremy McNamara
f1ed7d40c1 roll back, i give up
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 18:58:59 +00:00
Jeremy McNamara
6bb88bdcc0 try this crazy idea to make callerid work with no name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 18:28:40 +00:00
Jeremy McNamara
d218619e35 add more debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:58:23 +00:00
Martin Pycko
4a2a281c32 Fix the INSERT for the disposition in the string
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:45:32 +00:00
Martin Pycko
b0b27ae007 Change the CREATE TABLE so that desposition would be a vartext (ANSWER, BUSY, etc)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:45:06 +00:00
Jeremy McNamara
5ca00863fb add some debug to see what callerid is doing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:39:32 +00:00
Jeremy McNamara
0b7e57f8b8 rollback the last changes. wrong direction
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:24:34 +00:00
Jeremy McNamara
4aacf51f4d deal with no callerid name in all cases. really need to rethink this function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:13:13 +00:00
Jeremy McNamara
9f7b1269b7 deal with no callerid name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 17:01:41 +00:00
Mark Spencer
3f1d92ad68 Merge Matteo's INFO patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-24 00:36:03 +00:00
Jeremy McNamara
f561107add tweak to make user->callerid work properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-23 20:00:48 +00:00
Jeremy McNamara
9fd6ce9eba implement callerid passing on type=users. Thanks Ol1ver
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-23 19:55:13 +00:00
Martin Pycko
27b54b8d01 Fix the 'disposition' field so that we have ANSWERED, NO ANSWERED, BUSY strings instead of 0,1,3
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-23 19:26:51 +00:00
Jeremy McNamara
3fabe90067 finish that thought
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-23 02:27:44 +00:00
Jeremy McNamara
a948d041fe attempt to implement the passing of callerid. not tested
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-23 02:00:28 +00:00
Martin Pycko
da17bb3e97 Fix the compile problem
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-22 23:08:45 +00:00
Martin Pycko
f2d573fe85 Fix two little things
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-22 22:07:16 +00:00
Mark Spencer
7fa873f2b2 Don't hold channel resources longer than we need them
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-22 15:16:55 +00:00
Mark Spencer
c05524beb1 First pass at auto logoff support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-22 11:06:56 +00:00
Mark Spencer
e4ef5fc7fc optionally log uniqueid as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-18 05:38:11 +00:00
Mark Spencer
53fab94828 Minor fix for cid name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-17 18:49:05 +00:00
Mark Spencer
2984b40bc9 Fix race in agent/masquerade
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1196 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-16 18:54:16 +00:00
Mark Spencer
cd16a399e5 Add "registered" option to iax2 show peers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-16 18:45:12 +00:00
Mark Spencer
c9d68a3a2b Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-16 16:47:44 +00:00
Mark Spencer
aa45923166 Remove inappropriate sentence from VM2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-16 16:41:35 +00:00
Mark Spencer
4386d3b764 Don't native bridge when we can't
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1192 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-16 15:17:25 +00:00
Mark Spencer
acb58deb48 Fix potential race in check_availability
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-16 02:25:53 +00:00
Martin Pycko
09a80571a5 Fix a segfault with the calls that need to register with the remote gateway (eg: when asterisk has to send REGISTER message in order to place a call)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-15 05:05:19 +00:00
Martin Pycko
546e9d3ecc Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 19:10:11 +00:00
Martin Pycko
1521e09083 pbx.c didn't get updated
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 17:17:05 +00:00
Martin Pycko
f4341a13d0 Add the possibility to delete all the contexts registered by a certain registrar with ast_merge_and_delete routine; make it the default behaviour when reloding extensions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 17:16:47 +00:00
Martin Pycko
c6a3f83e83 Initial upload of the script that retrieves the extensions from the MySQL database
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 17:01:41 +00:00
Mark Spencer
529b08c3a3 Fix minor AGI buglet
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 16:17:16 +00:00
Martin Pycko
fb1aeaa66c pbx.c didn't get updated last time
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 15:35:21 +00:00
Martin Pycko
cbd33586ac Add a safe way to reload extensions config (don't change/delete the current extenions until extensions.conf was parsed and the new set of extensions is created) and add "extensions reload" CLI command so we could reload only extensions.conf config file without touching config files of other modules
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 15:33:21 +00:00
Mark Spencer
37f1d9add6 Minor AGI patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 14:39:52 +00:00
Mark Spencer
94f7087311 Add musiconhold definitions to show agents
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 04:21:00 +00:00
Mark Spencer
4e6c02b6ad instead of hanging up channel after masquerade (risking deadlock), mark it as a zombie, then masquerade
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 03:45:53 +00:00
Mark Spencer
936baa4dfa Don't check availability on a hungup channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1179 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 02:57:45 +00:00
Mark Spencer
d0e69f8c6e Add dynamic agent stuff, still missing audio files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-14 02:31:56 +00:00
Jeremy McNamara
29aeb9d959 update sample config with valid info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-12 17:53:50 +00:00
Mark Spencer
9023f99c52 Add missing space
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-12 15:37:57 +00:00
Jeremy McNamara
c9472cabee fix invalid synopsis on SetAccount
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-12 00:19:07 +00:00
Mark Spencer
5a82b043d0 Minor rtp fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-11 21:51:06 +00:00
Mark Spencer
c11f4d9df6 Fix race in Agents
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-09 22:41:51 +00:00
Mark Spencer
e74c5226f3 Don't delete PID file on exit of asterisk -r
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-09 13:45:59 +00:00
Mark Spencer
26fab30972 Fix small leak on app_dial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-09 06:12:21 +00:00
Mark Spencer
4285e650af Timestamp fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-09 00:24:28 +00:00
Martin Pycko
cf5a44f1e3 Add the second way of signalizing hangup when busydetect detects the busy tone
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-08 21:14:59 +00:00
Mark Spencer
f88d485e38 Lock agents while removing pending ones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-08 19:02:36 +00:00
Mark Spencer
a5a9db828e Don't retry lock if there is no channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-08 18:50:02 +00:00
Mark Spencer
3b84a3f8a4 Clarify another area
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-08 13:41:30 +00:00
Mark Spencer
7de3a7fcb0 Fix potential seg in queue code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-08 13:32:13 +00:00
Mark Spencer
6d3f4243c1 Simplify stack in call attempt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-08 13:14:14 +00:00
Mark Spencer
4ec902aab5 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-07 20:47:53 +00:00
Mark Spencer
fd1ca04d76 Be sure to close timing file descriptor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-04 16:49:11 +00:00
Mark Spencer
c2ad77b27f Fix iax2 video/voice and update queueing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-04 16:23:44 +00:00
Mark Spencer
5a4e282ae8 Fix CIDCW for native bridging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-02 21:56:03 +00:00
Mark Spencer
3201291b32 DSP mods too, weird CVS bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-02 21:50:01 +00:00
Mark Spencer
485db41457 Fix CIDCW for non-native calls only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-02 21:49:42 +00:00
Mark Spencer
748c909e7b Update changelog and update agents configa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-02 20:24:06 +00:00
Mark Spencer
1b473c2ef0 Merge 'T' and other dialing enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-02 14:06:12 +00:00
Mark Spencer
72d36d9c27 Still store timing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1155 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 23:17:10 +00:00
Mark Spencer
6b3f1c2e99 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 23:13:05 +00:00
Mark Spencer
db2ec82162 If no timingfd, use sched timing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 23:09:18 +00:00
Martin Pycko
20af2eb571 Another typo!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 20:29:53 +00:00
Martin Pycko
a0f9b1a2ed Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 20:29:12 +00:00
Mark Spencer
3bd078e428 Merge goto if patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 20:28:02 +00:00
Martin Pycko
b66f9e2579 Don't enter the LEN() routines if the variable name was not found
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 20:27:18 +00:00
Mark Spencer
e9cffc55a7 Update for sendingcomplete
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 20:26:22 +00:00
Mark Spencer
81fc3f26fa Take out unnecessary dependency upon tonezone.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 19:27:58 +00:00
Jeremy McNamara
6a19e66d00 update to deal with new rtp.c changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 19:11:37 +00:00
Mark Spencer
16b14c8945 Create concept of a "pending agent", so you can have agents access pending calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 16:16:28 +00:00
Mark Spencer
65ed20b4f4 Add agent groupings, fix the "incorrect" message on first login attempt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 04:08:25 +00:00
Mark Spencer
cbe865df7a Fix race in local, update queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-07-01 03:32:14 +00:00
Mark Spencer
e78cef0d9f Start on video mode for meetme, change symantics of iax2 marker in full frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-30 02:00:02 +00:00
Mark Spencer
f7f30d8c63 Add video support to IAX2 (theoretically)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-30 00:48:27 +00:00
Mark Spencer
6fb26bad22 Make masquerade compatible with timingfd
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 23:23:54 +00:00
Mark Spencer
746c335bcd Remove superfluous debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 21:57:48 +00:00
Mark Spencer
9b0526bb46 Minor cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 21:54:58 +00:00
Mark Spencer
40e4cfe458 Properly implement using zaptel for timing of file playback
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 20:32:26 +00:00
Mark Spencer
97fc11c244 When writing files, trunkate unless append mode is specified
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 16:59:13 +00:00
Mark Spencer
2a3888bfac Accept MGCP keepalive
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 14:36:21 +00:00
Mark Spencer
813531edd4 Minor fixes to playback logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 04:50:45 +00:00
Mark Spencer
8a20115615 Make voicemail2 save video too, if available
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 04:03:09 +00:00
Mark Spencer
817fc344e7 Default to allowing H.263 but not H.261
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 03:25:00 +00:00
Mark Spencer
9c9ee7c952 Add H.263 video support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-29 03:24:39 +00:00
Mark Spencer
3b78918878 Totally redo file formats
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-28 22:50:47 +00:00
Mark Spencer
9befc69684 Properly handle broken up packets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-28 18:35:58 +00:00
Mark Spencer
f5e13431a5 Add SIP/RTP video support, video enable app_echo, start on RTCP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-28 16:40:02 +00:00
Mark Spencer
71c9cbb2b1 Merge dynamic queue support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-27 23:07:59 +00:00
Mark Spencer
f945ae2122 Minor cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-27 23:02:52 +00:00
Mark Spencer
e7a1bdc90c Extend manager originate functionality
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-26 20:32:52 +00:00
Mark Spencer
3a83b65a88 Fix modules.conf to show how to disable OSS/Alsa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-26 18:57:54 +00:00
Mark Spencer
1e7da835b8 Minor fixup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-26 01:36:29 +00:00
Mark Spencer
97bbd2381b Add AGI uniqueid
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-26 01:20:45 +00:00
Mark Spencer
733f251743 Turn off moh on SIP transfer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-25 16:12:23 +00:00
Jeremy McNamara
0bcf4e2787 Update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-25 08:51:22 +00:00
Jeremy McNamara
01e8718ad5 Update to work around G.729 compile issues, for now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-25 06:48:08 +00:00
Jeremy McNamara
10183deadb See if this stops a seg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-25 06:33:56 +00:00
Mark Spencer
7540c30f54 Make variable with invalid extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-24 22:25:01 +00:00
Mark Spencer
f6d219cb18 Minor cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-24 22:23:40 +00:00
Mark Spencer
250b80eaf7 Add count to management event
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-24 21:33:37 +00:00
Mark Spencer
0e46787829 Make names more rational
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-24 12:51:28 +00:00
Mark Spencer
74a4fde52e Nest event inside if statement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-23 23:40:56 +00:00
Mark Spencer
cd2d5400ce Little fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-23 16:40:12 +00:00
Mark Spencer
ff7e6bda27 Add mailbox count to mangement interface
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-21 20:05:16 +00:00
Mark Spencer
842b885e3c Voicetronix updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-21 19:51:28 +00:00
Martin Pycko
4331bbcc1a Add contributed Finland tones
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-20 15:28:43 +00:00
Jeremy McNamara
f3e493de49 remote lame ^M's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-20 06:03:34 +00:00
Mark Spencer
4c021fb727 Merge (for the time being) the alert code...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-18 22:34:55 +00:00
Jeremy McNamara
a5cee9d917 remove unimplemented options
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-18 14:40:16 +00:00
Martin Pycko
da6bceb5a7 Fix a compile error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-17 23:13:41 +00:00
Martin Pycko
cf43ccdfde Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-17 22:30:25 +00:00
Martin Pycko
3654cba018 Add the new routine for busydetect that you can choose to use in asterisk/Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-17 21:53:18 +00:00
Martin Pycko
d562c7c228 Fix the playtones app so that we can pass the tones as an argument ( we don't need to refer to a defined tone in indications.conf )
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-17 18:59:58 +00:00
Mark Spencer
2685819181 Minor fix for SIP authentication
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-17 16:36:24 +00:00
Mark Spencer
ada0d0504c Fix voicemail2 ditty
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-17 11:37:02 +00:00
Jeremy McNamara
60f13d2625 Change to be correct info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-16 19:23:09 +00:00
Jeremy McNamara
b2796a0d46 Update with current information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-16 17:47:00 +00:00
Martin Pycko
b95777507e Add musiconhold entry to agents.conf.sample
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-16 17:00:52 +00:00
Martin Pycko
fb101603f0 Check if the musiconholdclass was changed with setmusiconhold and if yes then play that class
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-16 16:58:47 +00:00
Mark Spencer
7625719654 Fix build for MySQL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-16 11:15:28 +00:00
Mark Spencer
0c23127aae Minor cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-16 11:14:56 +00:00
Mark Spencer
b04542e11e Handle registration setups better when username contains an @
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-15 22:53:05 +00:00
Mark Spencer
226e31d86d Internationalize DISA and fix Voicemail when receiving messages and you're checking them too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-15 11:42:48 +00:00
Mark Spencer
3664ca0cbb Remove duplicate define
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-14 23:01:12 +00:00
Mark Spencer
9706fc6bac Fix music on hold on park
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-14 16:01:32 +00:00
Mark Spencer
5d6ede1055 Fix teeny typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-14 14:57:35 +00:00
Mark Spencer
8a2e7f50d7 Minor voicetronix update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-13 08:23:19 +00:00
Mark Spencer
cfe1d50b1a Fix transfer to parking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-13 08:09:43 +00:00
Mark Spencer
615a463e23 Add missing srv.c and srv.h files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-12 22:14:03 +00:00
Mark Spencer
fc8d3631b4 Add SRV code to SIP, cleanup ENUM and make IAX2 do the right thing on dials
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-12 12:48:57 +00:00
Mark Spencer
819668f839 Fix minor ACL declaration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-11 12:26:19 +00:00
Mark Spencer
6407936c27 manager unique id
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-11 12:24:13 +00:00
Mark Spencer
fc12d8258b Add setmusiconhold to agi
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-11 12:17:43 +00:00
Mark Spencer
5b7ef7bfa3 Use digit/response timeouts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-11 12:14:38 +00:00
Jeremy McNamara
51973e530b implement action: AbsoluteTimeout
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-09 21:40:20 +00:00
Martin Pycko
c680adba74 Fix the segfault in get_calleridname if the From: string starts with "<sip:..."
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-08 16:26:08 +00:00
Martin Pycko
731dccfccc Add the variable LEN(STRING) to retrieve the length of the STRING
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-06 19:47:59 +00:00
Martin Pycko
79c8c611db Add intercepting the calleridname from incoming SIP calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-06 00:06:52 +00:00
Martin Pycko
f08922f6b7 Add support for handling INFORMATION messages carying more than one digit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-05 21:13:12 +00:00
Martin Pycko
71633c9523 Increase the buffer to 512 so that we could process longer config lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-04 18:27:36 +00:00
Martin Pycko
521e6eece4 Somehow it didnt' get updated with the previous patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-04 16:12:51 +00:00
Martin Pycko
d30a9acc68 Add some configuration keywords for voicemail2: pbxskip, emailbody, fromstring
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1073 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-04 15:02:38 +00:00
Jeremy McNamara
a13bf9ab7a add print showing which H.323ID we are gonna use
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-04 07:14:10 +00:00
Martin Pycko
1cb4cc98ab For MF tones don't return the 0'os from the matrix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-03 16:33:40 +00:00
Martin Pycko
eca9614457 Add a verbose message for those that have immediate=yes on the PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-03 16:24:12 +00:00
Jeremy McNamara
8458723ef2 implement H.323ID specification on the exten line. Ex: H323/user@host.tld/h323id
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-03 07:11:52 +00:00
Mark Spencer
1ba2edcfb2 Fix INFO on SIP with weird hardware
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-02 21:07:34 +00:00
Jeremy McNamara
f24eba5c44 tweak a few things to make PPC happy
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-06-01 22:13:29 +00:00
Jeremy McNamara
d52ac4259b remove references to jitter as we use Asterisk's RTP and fix a silly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-31 18:42:09 +00:00
Mark Spencer
81a770b93f Save dialplan in new format
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-30 14:32:18 +00:00
Mark Spencer
047bc4bd88 Add unique identifier
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-30 04:41:18 +00:00
Martin Pycko
11325940c8 Add FAXEXTEN to save the DID/DNIS when we transfer to "fax" extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-29 20:18:45 +00:00
Mark Spencer
ed04393d27 Fix feature group d MF
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-29 16:03:53 +00:00
Mark Spencer
d6e3f866bc Add National ISDN 1 support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-28 22:40:26 +00:00
Mark Spencer
a03406e91f Make file writing be able to handle a switch in codecs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-28 19:45:07 +00:00
Mark Spencer
37d41292bb Write to read monitor before translation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-28 19:38:02 +00:00
Mark Spencer
b27b9b09c6 Fix attachment behavior in voicemail2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-26 23:29:04 +00:00
Mark Spencer
8082927ba3 Pass RING events in DOWN or RING states
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-26 23:10:08 +00:00
Jeremy McNamara
139db65acf Update README for the lamers who can't make chan_h323 work, (then again will they ever read it?)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-26 11:48:11 +00:00
Mark Spencer
24457fa523 Fix searching for non-default mailboxes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-25 18:02:11 +00:00
Mark Spencer
acc40fafeb Enforce mailboxes checked in increasing order
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-24 20:47:25 +00:00
Mark Spencer
38c28eb6cb Restart faster on checking NOTIFY messages on mailboxes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-24 20:42:44 +00:00
Mark Spencer
921ffb5dd7 Only send 180 ringing once, fix CTRL+D in main code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-22 14:24:06 +00:00
Mark Spencer
bc75095a9a Fix vmail "taint" issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-22 04:50:53 +00:00
Mark Spencer
d82c9db4c8 Fix 'T' extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-22 04:38:46 +00:00
Mark Spencer
3693410426 Fix another deadlock in IAX2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-22 03:08:39 +00:00
Jeremy McNamara
cee8ab8dc0 clarify messages, try to stop another debian seg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-20 23:36:40 +00:00
Mark Spencer
208f167090 Minor voicemail2 tweak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-20 21:05:06 +00:00
Martin Pycko
4c29324050 Finally fix the fix (what a day)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 23:49:15 +00:00
Martin Pycko
bc973fb1d0 Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 23:45:46 +00:00
Martin Pycko
3e6d45aebe Fix the flash/*0 when incoming call comes on FXO -> FXS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 23:43:44 +00:00
Mark Spencer
878db20a92 Fix case where local is allocated but not actually called on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 23:37:38 +00:00
Mark Spencer
2f6b25c4fb Revert bad changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 23:33:41 +00:00
Martin Pycko
e888d3d393 Fix the flash/*0 when incoming call comes on FXO -> FXS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 23:21:16 +00:00
Mark Spencer
e5e82459c6 CLear dial buffer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 21:50:32 +00:00
Mark Spencer
1d22c714ce More locking fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 01:07:06 +00:00
Mark Spencer
a342626920 Suggested IAX and IAX2 bugfixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-19 00:48:48 +00:00
Mark Spencer
bbdb142d2e Always lock call in find_call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-17 14:47:17 +00:00
Mark Spencer
26926ffcfa Revise Vonage's changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-17 00:27:47 +00:00
Mark Spencer
a4f55d7fd7 Merge Vonage changes to VM2, ready to be edited and updated :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 23:52:01 +00:00
Mark Spencer
1dbd21dc61 Fix strdupas to be ast_strdupas
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 23:41:49 +00:00
Mark Spencer
28e58d7df2 Include fixes for portability
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 23:33:41 +00:00
Martin Pycko
e7b5056769 Fix the compiling warning with 'int chan'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 21:33:32 +00:00
Mark Spencer
0ceeeafa41 Makefile fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1031 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 20:57:12 +00:00
Mark Spencer
b531a37942 Merge Vonage's MySQL Voicemail stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 20:37:02 +00:00
Mark Spencer
21e9421c4b Stop playing wav at end of data segment
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 19:23:07 +00:00
Martin Pycko
166f1120c8 Changing the last patch of chan_zap.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 14:57:35 +00:00
Mark Spencer
cd3f2c48c0 Fix seg on non-PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 14:23:23 +00:00
Mark Spencer
b0760f8006 Make RTP ports configurable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-16 02:50:46 +00:00
Mark Spencer
f345e8a77c Handle progress in chan_sip properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-15 22:39:01 +00:00
Martin Pycko
b4429b287a Don't send INFORMATION messages unless we got SETUP_ACKNOWLEDGE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-15 22:16:26 +00:00
Martin Pycko
df27f744df Fix overlapdial (sending)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-15 19:33:53 +00:00
Mark Spencer
7c2d9a9302 Clarify check for when to send message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 21:13:53 +00:00
Mark Spencer
7a506337e6 Make vmail handle things properly in the case of included contexts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 19:21:36 +00:00
Mark Spencer
377303a391 If we receive OPTIONS as the start of a conversation, kill it immediately after giving our response
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 19:17:20 +00:00
Mark Spencer
0ad12d0e0b Fix substantial typo in pbx_config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 13:15:28 +00:00
Mark Spencer
978733388c update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 05:56:04 +00:00
Mark Spencer
4f5c46fb20 Implement transfer (first pass) in SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 05:52:59 +00:00
Mark Spencer
8f27350e65 Add transfer to IAX2, and transfer application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 05:33:06 +00:00
Jeremy McNamara
8e280ab712 try to kill another possible seg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-14 04:39:15 +00:00
Mark Spencer
1d3cdc6b11 Fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-13 20:37:08 +00:00
Mark Spencer
2b67a9e709 Actually give some time after total silence
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-13 18:47:36 +00:00
Mark Spencer
783919611b Resolve lock between peer/call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-13 16:21:22 +00:00
Mark Spencer
10376c0c61 Fix minor voicemail silence detect issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-13 02:25:10 +00:00
Mark Spencer
7ec55a027f Fix VM "goodbye" for real
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-13 01:50:10 +00:00
Mark Spencer
6642fb0688 Fix get_rdnis typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1009 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-13 00:17:14 +00:00
Mark Spencer
af47f4a497 Restore silence detect functionality to VM2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 21:51:55 +00:00
Mark Spencer
847f8207f7 Attempt RDNIS support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 21:12:48 +00:00
Martin Pycko
2a0036e496 Add support for overlap dialing (sending). Now we have "full" overlap dialing support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 19:25:20 +00:00
Mark Spencer
412cf715a7 Fix typo, remove timing by default, and check for release vs. disconnect
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 19:14:21 +00:00
Mark Spencer
5e8102a304 Release, ourselves
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 17:00:08 +00:00
Mark Spencer
48647bfc08 Make canreinvite globally applicable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 16:16:33 +00:00
Mark Spencer
40c4e1f8c4 Use zaptel timers to wake up processes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 04:23:55 +00:00
Jeremy McNamara
21524d6652 tweak the logic in MakeCall
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1001 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 03:57:43 +00:00
Jeremy McNamara
ba9786d714 update changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 02:26:47 +00:00
Jeremy McNamara
85accd0169 various bug fixes from Miroslaw KLABA
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-12 00:55:52 +00:00
Mark Spencer
fff27f4683 Change in-memory password when changing password
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-11 21:14:10 +00:00
Mark Spencer
e0458e4c27 Consider VIA on BYE and CANCEL too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-11 21:07:53 +00:00
Mark Spencer
75113c58ef Minor voicemail fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-11 20:58:53 +00:00
Mark Spencer
f5fe6c81ee Allow number of failed login attemps to be set
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-11 18:58:00 +00:00
Mark Spencer
8ee8f1e057 Always play beep
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-11 18:37:41 +00:00
Mark Spencer
11ee28639d Be sure to play "goodbye" when '#' is pressed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-11 18:10:42 +00:00
Mark Spencer
3f16af5a44 Fix changing folders
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 18:47:57 +00:00
Mark Spencer
425ab889d6 Minor tweaks to make wav49 default format, and put nice extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 18:43:11 +00:00
Mark Spencer
d593a70bbf Show more debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 18:21:28 +00:00
Mark Spencer
7a37c73b8e Record folder to change to
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 18:16:55 +00:00
Mark Spencer
bd8f307677 Fix voicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 18:05:12 +00:00
Mark Spencer
bbe2d4668e Update vmail.cgi for the new segmented voicemail system
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 16:10:07 +00:00
Mark Spencer
687b0543c8 Make voicemail segmentable into multiple contexts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-10 15:33:35 +00:00
Mark Spencer
067eae567c Fix potential seg
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-09 19:02:10 +00:00
Mark Spencer
5aa87dbfa7 Commit changes to app_voicemail2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-09 05:53:17 +00:00
Mark Spencer
814d7db11a Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-09 00:26:34 +00:00
Mark Spencer
5e26db0a5d Add astmm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 18:51:06 +00:00
Martin Pycko
94c3b35271 Allow the use of immediate=yes with PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 16:31:58 +00:00
Mark Spencer
06101a43c8 Take out useless cast
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 14:53:15 +00:00
Mark Spencer
5e019a3df5 Free the right frame in case of an overflow
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 04:40:35 +00:00
Mark Spencer
e34e97ef86 One more
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@978 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 03:47:22 +00:00
Mark Spencer
27ba5b8b62 Oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 03:47:01 +00:00
Mark Spencer
4228090f88 Add and update .cvsignore files for .depend
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 03:46:43 +00:00
Mark Spencer
51cc98e6f2 Fix typos in adsiprog and thus remove compiler warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 03:43:14 +00:00
Mark Spencer
c31ecfba93 Make insecure perform as expected
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-08 03:32:59 +00:00
Mark Spencer
3b0d12d986 Remove useless statement
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-07 22:44:16 +00:00
Mark Spencer
f6f32e60d5 Add debugging to safe_asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-07 22:33:55 +00:00
Martin Pycko
db43c5e732 Add notransfer for IAX2 to disable native bridging on user/peer basis
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-07 19:35:20 +00:00
Martin Pycko
eb2ba42eaa Be avare of hidecallerid with PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-07 16:02:33 +00:00
Mark Spencer
50e9f66257 Remove "contributed" swear words
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-07 15:29:20 +00:00
Mark Spencer
26e0fbbeb5 Beginning of solaris portability
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 22:27:46 +00:00
Mark Spencer
73c22d0d50 Turn off memory debugging by default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 14:49:34 +00:00
Mark Spencer
fa44c77c6f Merge Karl's MGCP call feature list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 04:03:58 +00:00
Mark Spencer
3051f1edd9 Fix dep build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 02:34:45 +00:00
Mark Spencer
7b517e7131 Add mkdep with right perms again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 00:05:11 +00:00
Mark Spencer
5a5b4b41c0 Write to memory management log
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 00:01:32 +00:00
Mark Spencer
1a3cd8e6ad dep fix, pbx fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-06 00:00:20 +00:00
Mark Spencer
fda8b94bdf Add access control to management interface
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-05 06:14:25 +00:00
Mark Spencer
5806a08168 Apply updated patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-04 06:05:45 +00:00
Mark Spencer
f83d5e5be8 VPB updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-04 05:56:50 +00:00
Mark Spencer
01a79e3adc Merge tilghman's updates for getourip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-04 05:52:52 +00:00
Mark Spencer
b7e5181f8e Create voicemail2 app for playing with
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-03 21:09:07 +00:00
Mark Spencer
7fe77f16a7 Silence updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-03 20:46:19 +00:00
Mark Spencer
8b257ef3b6 Add silence detection to voicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-03 16:09:56 +00:00
Mark Spencer
f3b8441cc7 Copy Caller*ID on local channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-03 05:53:42 +00:00
Mark Spencer
8162607c58 Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-03 03:30:55 +00:00
Mark Spencer
fe7038fb2d Build tohost on options
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-03 03:29:58 +00:00
Mark Spencer
fba6a02260 Show uptime
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-02 15:37:34 +00:00
Mark Spencer
163898dae7 Release peer/user determination when insecure = yes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-02 02:37:57 +00:00
Mark Spencer
f0d069772c Parse first line parts when copying initreq's.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-02 02:18:41 +00:00
Mark Spencer
47da76ae48 Shorten message to fit on my Timex IM watch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-01 14:32:15 +00:00
Mark Spencer
d77613aaba Declare DNS header locally too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-01 14:26:17 +00:00
Mark Spencer
475fc3de54 Add ENUM configurable search path
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-01 04:29:25 +00:00
Mark Spencer
b7dcee9370 Apply Nick's extension to record
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-05-01 03:52:45 +00:00
Mark Spencer
6abb9f6415 Fix core on initial one
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 22:17:21 +00:00
Mark Spencer
b32daa0ed7 Queue null frame on receiving INVITE to prod ast_rtp_bridge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 22:14:36 +00:00
Mark Spencer
835c162442 Handle hold properly to ensure musiconhold
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 21:59:32 +00:00
Mark Spencer
4981335c1d Keep track of redirected place for sending reinvites
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 21:53:55 +00:00
Martin Pycko
d7216653df Add a longer stutter tone when there is voicemail on zaptel channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 20:10:03 +00:00
Mark Spencer
0e451c786e Little revert on some CLI stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 19:04:00 +00:00
Mark Spencer
07dfb3d5f2 Fix to "Messages-waiting"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 18:52:40 +00:00
Mark Spencer
f7e921313e Make mimetype for NOTIFY configurable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-30 18:48:30 +00:00
Mark Spencer
9ba4867e64 Minor fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-29 20:30:08 +00:00
Mark Spencer
278d8a7319 Make pbx config work with astmm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-29 17:38:46 +00:00
Mark Spencer
e4c20dbe87 Minor CLI fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-29 05:32:37 +00:00
Mark Spencer
c58934fd46 Add missing enum files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-29 04:26:41 +00:00
Mark Spencer
be6da9b8ea Add ENUM lookup support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-29 04:21:19 +00:00
Mark Spencer
2aba17e440 Fix get confmute
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-29 00:59:50 +00:00
Mark Spencer
711d99a23c Turn off MMX support, somehow the -fPIC thing may have broken it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 23:04:57 +00:00
Mark Spencer
80e0c565cd Retrieve confmute status from zap if it supports it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 22:00:30 +00:00
Jeremy McNamara
36028564f8 back down lib versions since Open H.323's -HEAD code is broken
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 20:50:32 +00:00
Mark Spencer
209a6d00f3 Fix pbx_wilcalu from occupying 100% CPU now that it's nonblocking, and add malloc debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 19:58:43 +00:00
Mark Spencer
5526000ece Add silence detection to app_record
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 05:07:52 +00:00
Mark Spencer
7babc7c8cd Add gotoiftime (thanks Tilghman)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 04:18:47 +00:00
Mark Spencer
67623b0801 Fix substring typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 03:49:04 +00:00
Mark Spencer
d73839b733 Always initialize dtmfbuf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 02:28:27 +00:00
Mark Spencer
c6179991b8 Make wilcalu non-blocking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 01:44:40 +00:00
Mark Spencer
29ac09a2aa Fix CNG issues in G.723.1
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-28 01:13:19 +00:00
Mark Spencer
59488458b0 Use iax/iax2 regfunk names
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-27 21:36:20 +00:00
Mark Spencer
f6764f4722 More contributed BSD enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-27 21:34:27 +00:00
Mark Spencer
493cba1f80 Fix minor typos
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-27 20:43:12 +00:00
Mark Spencer
05b1559275 Store apps in alphabetical order, making "show applications" more readable, and add SetAccount application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-27 19:35:06 +00:00
Mark Spencer
6eeee2496b More BSD enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-27 18:13:11 +00:00
Mark Spencer
b9d6efa20e Convert between MS and non-MS formats
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-26 16:06:23 +00:00
Mark Spencer
20e1b92862 Allocate comments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-25 20:33:27 +00:00
Mark Spencer
a54678d7fa Make immediate mode only work E&M
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-25 18:44:56 +00:00
Mark Spencer
0a9130bb4b SIP conf patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-25 14:40:23 +00:00
Mark Spencer
6e3fdcffa6 Fix potential call feature race
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-25 04:57:11 +00:00
Mark Spencer
3cf4974cfe AMAflags and account code honored in SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-25 03:56:46 +00:00
Mark Spencer
ba1639e1f7 Fix TOS stuff for BSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 23:35:17 +00:00
Mark Spencer
791c0bf970 Only modify digit mode if dsp is in place
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 20:13:23 +00:00
Mark Spencer
5987504e82 Use 503 for CONGESTION and 486 for BUSY
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 18:21:46 +00:00
Martin Pycko
4602d19afd Allow use of immediate=yes with EM / EM_W signalling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 16:41:28 +00:00
Mark Spencer
829e4e749f Fix minor CDR typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 01:19:33 +00:00
Martin Pycko
0f453631c4 Remove dependancy on libpri
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 00:46:04 +00:00
Mark Spencer
cdbc2f2b9e Fix '*' hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-24 00:00:20 +00:00
Martin Pycko
562fc888b5 Fix the previous patch (don't exit from macro when we were invoked from 'h' extension)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 23:54:48 +00:00
Mark Spencer
b0506b3e4b Fix minor typos
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 23:07:34 +00:00
Mark Spencer
c75324a1a4 Switch to audio mode on confmute, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 23:03:08 +00:00
Mark Spencer
b3543499f0 Switch to audio mode when enabling echo cancellation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 23:00:29 +00:00
Mark Spencer
ddf2e8a342 Minor app_dial typo fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 22:32:28 +00:00
Mark Spencer
67aa337ee7 Also take out of proceeding when ALERTING received
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 22:30:40 +00:00
Jeremy McNamara
6eb85b943b decrement useage counter on hangup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 21:52:46 +00:00
Martin Pycko
75e98ab6d1 Don't stop executing macro when we're in 'h' extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 21:52:05 +00:00
Mark Spencer
8feb0d8bb6 Fix build on chan_zap
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 21:46:29 +00:00
Mark Spencer
e6472033b1 Process audio stuff in audio mode and then switch back to clear
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 21:39:34 +00:00
Mark Spencer
82082c0a35 More include fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 20:23:30 +00:00
Mark Spencer
c4225d255e More OpenBSD changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 20:22:14 +00:00
Mark Spencer
a71b49f405 More OpenBSD patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 19:13:35 +00:00
Mark Spencer
89e0dd94a2 Add commonly used include headers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 19:09:13 +00:00
Mark Spencer
f5652e5d4e Copy tohost from the peer when poking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 18:50:53 +00:00
Mark Spencer
1302c48d8e Add stop when convenient
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 16:24:09 +00:00
Mark Spencer
7d1c585587 Fix some symbol and Makefile issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 16:23:12 +00:00
Mark Spencer
d19769f687 Set into clear mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 16:04:35 +00:00
Mark Spencer
c6ff40e6aa Make MP3 app timeout after a couple of seconds of no audio
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-23 04:39:18 +00:00
Martin Pycko
08979fc8ff Add ${ENV(VAR)} to the list of variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-22 19:35:41 +00:00
Mark Spencer
907980f17d Fix tiny typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-22 19:20:06 +00:00
Mark Spencer
0e09ca68a5 Fix race in DISCONNECT vs RELEASE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-22 18:47:49 +00:00
Mark Spencer
df565c2ccb Update variables file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-22 03:17:30 +00:00
Mark Spencer
82b01cca71 Fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-22 03:01:15 +00:00
Martin Pycko
9cb7619730 Clean the error for IAX when using SPEEX codec
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-21 18:00:26 +00:00
Mark Spencer
beaab96cdf Reuse correct sequence numbers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-21 16:49:41 +00:00
Mark Spencer
5d3958b794 Add epoch and date/time variables
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-21 03:02:22 +00:00
Mark Spencer
0dee7f521b Use the same call id for registrations
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-20 22:19:22 +00:00
Mark Spencer
833d11aeb2 Remove old printf
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-19 18:14:54 +00:00
Mark Spencer
a03e42860f IAX2 updates, dial fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-19 18:12:41 +00:00
Mark Spencer
dea29b88c5 Fix sub-string handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-19 02:41:22 +00:00
Martin Pycko
4a90412468 Fix dependancy on a new libpri for my previous patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-19 00:27:31 +00:00
Mark Spencer
53eabdf513 Merge expression handling into variable handling
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-18 16:57:48 +00:00
Martin Pycko
f2245eff85 Don't send INFORMATION's with the number when we shouldn't
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-18 15:55:50 +00:00
Mark Spencer
732c8b2a00 Put actual host name in field where possible
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-18 15:47:33 +00:00
Mark Spencer
2e449cd972 Massively redo variable substitution
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-18 15:34:25 +00:00
Mark Spencer
a1486ff1b1 ast_rtp_pt_lookups must be done against static set
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-18 14:39:26 +00:00
Mark Spencer
f01788bff9 Various contributed VPB fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-18 14:34:46 +00:00
Mark Spencer
dffda7e8c7 Fix transmissions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-17 19:19:12 +00:00
Mark Spencer
d2c9cc6e2b Fix sample frame
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-17 15:42:01 +00:00
Mark Spencer
f37357f371 Use 50 bytes instead of 52 bytes on ilbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-17 14:51:49 +00:00
Mark Spencer
5d4c51eeb9 Finish implementing prod code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-17 02:52:53 +00:00
Mark Spencer
e16a3e6f74 Detect frame length of G.729A
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-16 22:26:03 +00:00
Mark Spencer
edf612581f Contribute SIP changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-16 21:42:08 +00:00
Mark Spencer
d855fee050 Add new app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-16 13:43:11 +00:00
Mark Spencer
154334a414 Make IAX know about iLBC
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-16 02:49:20 +00:00
Mark Spencer
40fe8aa533 Add "prod" function, to get audio moving
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-16 02:47:03 +00:00
Mark Spencer
7ba7ec9c97 Use 97 for ILBC type
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-15 20:44:53 +00:00
Mark Spencer
df085816fc MOve to definition
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-15 17:09:34 +00:00
Mark Spencer
0cfae29887 Add preliminary voicetronix support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-15 14:39:06 +00:00
Mark Spencer
c4da749362 Add iLBC codec
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-15 04:36:52 +00:00
Mark Spencer
dbe00ec2d2 Make paging support apply to forwarded messages too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-15 00:19:27 +00:00
Mark Spencer
41129c57bd Trim down gateway names with []'s in them
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 20:48:30 +00:00
Mark Spencer
3fddf10c3e Accept "defaultexpirey" too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 19:18:49 +00:00
Mark Spencer
4fef1b32cd When recording, strip off last 1/4 second from recordings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 19:03:52 +00:00
Mark Spencer
21dd479a6b Fix sample config, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 18:48:06 +00:00
Mark Spencer
e6c2b58b2b Add new field for USER info to manager interface perms
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 18:47:36 +00:00
Mark Spencer
ca5ebe78cd Don't unlock in handle_response
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 15:56:14 +00:00
Mark Spencer
8d2dcf3a32 Fix locking issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-14 15:45:09 +00:00
Mark Spencer
523d20a573 Add ast_db_freetree and ast_db_gettree
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-13 04:17:45 +00:00
Mark Spencer
aae534130b Fix chan alsa typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-12 22:26:09 +00:00
Mark Spencer
7b6912fd28 Add support for :authuser...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-12 17:06:14 +00:00
Mark Spencer
665e5bfee1 Various requested SIP enhancements
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-12 15:46:22 +00:00
Mark Spencer
1cdcc857d9 Free queue config (thanks James)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-12 14:04:40 +00:00
Mark Spencer
2cf87c7c50 Fix ALSA/OSS leak
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-12 14:03:09 +00:00
Jeremy McNamara
ac16b57304 tweak internal codec order
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 23:52:40 +00:00
Jeremy McNamara
979de9323a make non matching IP addresses go to invalid extension if default context exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 20:28:25 +00:00
Mark Spencer
a02b54bfb8 Add MGCP audit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 19:17:05 +00:00
Mark Spencer
dd2c3a3d48 Update Changelog for 0.4.0
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 19:16:52 +00:00
Mark Spencer
7cabdde1ce Fix zombie *8# channels in SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 18:22:21 +00:00
Mark Spencer
c3098625ea Fix blind transfer with macro
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 18:10:25 +00:00
Mark Spencer
bbcac3aa85 Fix deferred dialing on FXO
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 18:03:59 +00:00
Mark Spencer
f6b058e8ae Add pager stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 17:37:35 +00:00
Mark Spencer
256093b5da Suppress 487 message since people think it is an error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 16:02:23 +00:00
Mark Spencer
13dbf301c6 update CREDTS file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@827 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 14:53:05 +00:00
Mark Spencer
5654b1b886 Use hostname instead of IP for sip registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 14:03:28 +00:00
Mark Spencer
f94a62d64e Don't double ack subscribes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 04:49:00 +00:00
Mark Spencer
aa39431646 Put number in name field if name field is NULL *or* has 0 length
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 04:33:53 +00:00
Mark Spencer
a6cc0b233e When swapping subs, queue a null frame, extend delay for hangup-on-flash
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 04:31:33 +00:00
Jeremy McNamara
2cfa5ed899 d'oh remove cr/lf's from winblows
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 04:12:41 +00:00
Jeremy McNamara
4ffdfcbec7 remove debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 04:07:22 +00:00
Jeremy McNamara
c75fdd13cf more debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 03:57:25 +00:00
Mark Spencer
93cd3c18e7 Only do call progress on outgoing calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@819 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 03:47:19 +00:00
Jeremy McNamara
ae23339452 add some debug for testing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 03:28:31 +00:00
Jeremy McNamara
8b8de46573 add a space
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 03:12:10 +00:00
Jeremy McNamara
091c4e1a85 note EXTEN-n to EXTEN:n change
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 03:11:30 +00:00
Mark Spencer
10a7938b6e Only consider a RINGOFFHOOK as "UP" when a call is outgoing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 03:03:41 +00:00
Mark Spencer
15b1b0b0f1 Fix double transfer bug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-11 01:59:15 +00:00
Mark Spencer
39094852db Merge and edit Nick's dial support
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-10 21:14:54 +00:00
Mark Spencer
926b8041a1 Use a static outbound list for transmitting RTP, and the dynamic only for inbound
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-10 15:36:52 +00:00
Mark Spencer
70daa486aa Update Changelog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-10 03:59:10 +00:00
Mark Spencer
abde9eef28 Fix operator extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-10 03:08:04 +00:00
Mark Spencer
b430999a96 Ignore ;user=phone on register
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-10 00:06:16 +00:00
Mark Spencer
3e10ac9f6e Add new "macrocontext" field (yes, you need to "make clean ; make install"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 23:56:15 +00:00
Mark Spencer
45eb2c1c9d Make macro preserve context
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 23:46:49 +00:00
Mark Spencer
b0bb0ed079 Fix transition to operator extension
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 23:26:26 +00:00
Mark Spencer
f8a6b5e31d Parse initial request
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 21:52:56 +00:00
Mark Spencer
1bfcc8d8d0 Don't ACK on anything but INVITE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 21:46:58 +00:00
Mark Spencer
ec6cca344b Add missing "Contact" line to Register
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 21:45:32 +00:00
Mark Spencer
c7c91a93f2 Allow "fromuser" option and don't append port number if it's specified (you can do it with fromdomain=temp.com:5060
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 21:30:27 +00:00
Mark Spencer
14009dbfa1 Fix SIP registration (I hope)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 21:13:11 +00:00
Mark Spencer
9d5e3ee8b9 Clear out old call
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 19:55:59 +00:00
Mark Spencer
af6aeefada First pass at fixing REGISTER functionality under SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 19:35:24 +00:00
Mark Spencer
3bcda42140 Fix potential hangup issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 16:47:40 +00:00
Mark Spencer
e24848eeaa Fix ACL issue, update CREDITS
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 13:14:50 +00:00
Jeremy McNamara
ea57a86564 fix silly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 06:47:40 +00:00
Mark Spencer
fa4e465fd4 Add contributed sounds from John Todd and Allison Smith
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 05:49:03 +00:00
Mark Spencer
fa9c225dd3 Don't send 180 "Ringing" after 183 Session Progres
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 05:38:39 +00:00
Mark Spencer
6301ef6baf Minor chan_nbs fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 04:22:25 +00:00
Mark Spencer
863104131d Check authentication before destination
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 04:19:59 +00:00
Mark Spencer
43604eb770 Implement call pickup on SIP, override context if appropriate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 04:00:43 +00:00
Mark Spencer
be1d78a3ea Make voicemail timeout configurable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-09 02:10:29 +00:00
Mark Spencer
2758349cae Make all address comparisons explicit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 23:02:36 +00:00
Mark Spencer
7f844be5e0 Don't send empty RTP frames
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 21:53:46 +00:00
Mark Spencer
6978d58552 Send empty voice frame on 183 session progress
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 21:50:32 +00:00
Mark Spencer
4bd768a43e Always ack packets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 21:19:51 +00:00
Mark Spencer
a0afd5f8fb Update sounds.txt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 19:15:10 +00:00
Mark Spencer
259d29a58d Fix documentation on chanisavail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 19:14:03 +00:00
Jeremy McNamara
b49fd4ab95 d'oh! make it so you can acutally use other ports than 1720
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 18:22:39 +00:00
Mark Spencer
501d2cdc17 Update to 3261 branch definition
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 15:00:57 +00:00
Mark Spencer
16c2861fa8 Fix contact stuff once-and-for-all (I hope)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 14:49:12 +00:00
Mark Spencer
b6a6c83b78 Fix peerpoke to also acknowledge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 14:26:49 +00:00
Mark Spencer
451970b3fb Minor extensions.conf update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 13:50:50 +00:00
Mark Spencer
9cc2aa39d0 Unlink local channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@778 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 13:50:04 +00:00
Mark Spencer
4952835d93 Fix some leaks in CLI (thanks James)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 13:45:36 +00:00
Mark Spencer
09e1c34d99 work around buggy redhat 9.o installs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 04:28:09 +00:00
Mark Spencer
2f771c677e After 404 or 484, don't send 503
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 04:26:24 +00:00
Mark Spencer
3e8183de43 Add expiry patch from Jim
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 03:24:12 +00:00
Mark Spencer
d6b38a8b3b Fix retransmission on BYE
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-08 03:03:56 +00:00
Mark Spencer
c88abff66a Changelog update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 22:27:03 +00:00
Martin Pycko
60ed66900b Fix a typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 20:31:16 +00:00
Martin Pycko
cd3a6739a4 Add more debug messages for bridging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 20:29:50 +00:00
Mark Spencer
fd6cc08ac8 Phone updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 19:14:24 +00:00
Mark Spencer
736bb7c6dc Fix phone crash
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 18:45:53 +00:00
Martin Pycko
c0aac70a7b Fix little leak thanks to James G.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 16:22:53 +00:00
Jeremy McNamara
451e3aa6dd fix gatekeeper logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 14:53:49 +00:00
Mark Spencer
5c18d407c5 Fix contact header, don't transmit BYE when INVITE are still outstanding
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 06:12:19 +00:00
Mark Spencer
1680ccf66c Provide authentication for BYE and CANCEL requests
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 03:46:20 +00:00
Mark Spencer
85cb2844aa Various management updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-07 02:04:56 +00:00
Mark Spencer
67eafb9b74 Fix selection of tag in reqprep
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 23:39:57 +00:00
Mark Spencer
c42b5f915d Add steven's SIP update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 23:32:31 +00:00
Mark Spencer
201246ea7f PBX updates from andre
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 19:10:24 +00:00
Mark Spencer
f8755643cd Merge enhanced status changes, add SIP subscribe from Andre
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 18:19:51 +00:00
Mark Spencer
77b48c0aed Make call forwarding work properly by using new Local channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 06:37:08 +00:00
Mark Spencer
864fc0cfce Complete local channel implementation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 06:11:25 +00:00
Mark Spencer
c2e4a6646d Add "From" to register
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 04:54:04 +00:00
Mark Spencer
511730407d Fix tag handling on CANCEL (and maybe others)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 04:41:16 +00:00
Mark Spencer
c35b05dd30 Fix chan_local build, update SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 04:23:18 +00:00
Mark Spencer
9f8cab83a3 Try to ACK on 487 response, handle case of incoming HANGUP before 200 OK
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 03:58:02 +00:00
Mark Spencer
c235acc4ea Make fromdomain applicable at a peer basis as well as global
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 03:01:03 +00:00
Mark Spencer
346d8d1b23 Add content-length and blank header to registration request, add "fromdomain" option for setting domain for "from" field
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 02:51:10 +00:00
Mark Spencer
fbc8fd227c Add preliminary chan_local, fix chan_sip to delete unknown calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-06 02:41:42 +00:00
Mark Spencer
9c6f9b78de Cleanup sip_destination
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-05 23:05:45 +00:00
Mark Spencer
7edc592778 Fix a couple of non-initialization bugs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-05 22:33:42 +00:00
Mark Spencer
f3475fad8c Merge Stephen Davie's record route patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-05 22:29:46 +00:00
Mark Spencer
a4e97626d3 Cleanup SIP locking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-05 21:36:30 +00:00
Mark Spencer
56790e3021 Grab incoming tag on initial events.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-03 16:20:47 +00:00
Jeremy McNamara
0a7548d4ec add more instructions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-03 09:05:53 +00:00
Jeremy McNamara
eeb1a0aad4 update with proper building information
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-03 09:03:58 +00:00
Mark Spencer
b7585a7578 Set call as outgoing *after* sending reinvite
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-03 08:00:57 +00:00
Mark Spencer
2d5b51e3b0 Add fast-forward and rewind to voicemail
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-03 07:37:30 +00:00
Mark Spencer
9b67525144 State change patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-03 07:35:14 +00:00
Martin Pycko
cb87c27bfd Add make samples to the main Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-02 18:58:47 +00:00
Martin Pycko
817eaa46c7 Add some instructions to download and compile cvs openh323 and chan_h323
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-02 18:35:53 +00:00
Mark Spencer
611c0b41f5 Remove extra contact header
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-02 06:19:25 +00:00
Martin Pycko
6b4c9fca59 Fix "typo" with authorization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-01 17:03:18 +00:00
Mark Spencer
6b466cfcf4 Minor hint patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-04-01 04:03:21 +00:00
Mark Spencer
9df7ee5653 Include "Contact" line in responses and requests
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 21:54:00 +00:00
Jeremy McNamara
a54c71d4c3 do user authentication right
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 20:26:08 +00:00
Jeremy McNamara
33d20ff5ea IP based user authentcation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 19:26:15 +00:00
Mark Spencer
3ebbb69e65 Add contact header on reinvite
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 19:15:59 +00:00
Mark Spencer
5349624ae4 Make some useful management functions global
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 17:40:18 +00:00
Jeremy McNamara
861deb56f3 remove debug
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@729 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 17:09:33 +00:00
Martin Pycko
7f1005e793 Fix my previous fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 16:26:37 +00:00
Mark Spencer
7bc99b0135 Fix potential segfault in chan_sip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 15:56:00 +00:00
Martin Pycko
a8420172ba Fix problem with processing too many lines in process_sdp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 15:55:29 +00:00
Mark Spencer
b5073a2e44 provide a default context, so transfer works on non-peer calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 15:04:59 +00:00
Jeremy McNamara
2b32a1bbb7 first commit of chan_h323
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 07:13:36 +00:00
Mark Spencer
9baba73625 Eliminate localtime calls, various cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-31 03:19:34 +00:00
Mark Spencer
e6918cb42e Merge hint patch, add new variables, and misc. PBX cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-30 22:55:42 +00:00
Mark Spencer
a987ef1163 Fix 302 Redirects on SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-30 20:46:30 +00:00
Mark Spencer
0e170f8f81 Fix SIP CallerId
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-30 18:20:23 +00:00
Mark Spencer
503f3be1d2 Make context/extension names case sensitive
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-30 17:46:21 +00:00
Mark Spencer
d93216742c Don't retransmit 183 session progress
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-29 16:53:55 +00:00
Mark Spencer
a7d793678e Fix sip show channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-29 16:34:59 +00:00
Mark Spencer
082813a0fa Fix autokill
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-29 16:09:58 +00:00
Mark Spencer
13d3fd287b Handle call forward on SIP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-29 00:42:16 +00:00
Mark Spencer
7674dff43d It's okay to be answered while you are in DIALING state
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 23:39:24 +00:00
Martin Pycko
6a72f56ee2 Fix for ppc processors
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 21:36:52 +00:00
Mark Spencer
2f35e7462e Enable reinvite via "UPDATE" if selected
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 06:59:34 +00:00
Mark Spencer
488cdb8ef7 A reinvite is a "Request" not a "Response"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 06:36:10 +00:00
Mark Spencer
235fb19b74 Implement SIP retransmissions
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 06:13:04 +00:00
Mark Spencer
33fbc73fc5 Fix minor typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 04:16:58 +00:00
Mark Spencer
0f0bc1fdb2 Use '|' or ':' on app_record
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-28 03:28:03 +00:00
Martin Pycko
65761373bd Fix callerid with sample.call like outgoing calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-27 20:46:26 +00:00
Mark Spencer
e44df9eaa2 STart towards packets
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-27 20:13:47 +00:00
Mark Spencer
d73281e230 Check for call forwarding while waiting for answer, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-27 16:02:10 +00:00
Mark Spencer
f4c5c7a8f1 Improve app_mp3
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-27 15:11:03 +00:00
Mark Spencer
ca8a788993 Fix extension processing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-27 02:57:17 +00:00
Mark Spencer
e6fcca503b Privacy updates, message waiting with new messages only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-27 00:15:05 +00:00
Mark Spencer
bf81946eb0 Contributed off-by-one fix for editline
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 22:37:33 +00:00
Mark Spencer
07baf77b6c Privacy updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 21:52:26 +00:00
Mark Spencer
08db8f131e Fix application of global DTMF when a peer exists
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 21:09:56 +00:00
Mark Spencer
a8225de175 Fix message summary in notify to be application/simple-message-summary instead of text/plain
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 20:12:45 +00:00
Mark Spencer
10772f4512 Additional fix on not sending additional digits
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 17:15:31 +00:00
Mark Spencer
e4153aab01 Fix "thinkdigit" issue in new DSP code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 17:01:27 +00:00
Mark Spencer
9dbe69a7a4 Add additional debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 16:53:26 +00:00
Mark Spencer
7d2025db5f On busy, don't destroy channel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 02:39:14 +00:00
Mark Spencer
56fea820dc Only set clear mode on PRI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 00:35:52 +00:00
Mark Spencer
d2e7f73adc Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 00:31:41 +00:00
Mark Spencer
e1503e9af7 Remove access to free'd memory fro dude's code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 00:30:54 +00:00
Mark Spencer
d391e86036 Add more clear channel debugging
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 00:25:09 +00:00
Mark Spencer
666b208093 Fix silly typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 00:16:00 +00:00
Mark Spencer
0f7e77fb23 Make SIP message notify send detail MWI info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-26 00:15:11 +00:00
Mark Spencer
8e9f4405bf Add missing monitor file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-25 19:51:24 +00:00
Mark Spencer
43b082cf5c Merge Mahmut's recording patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-25 19:30:06 +00:00
Martin Pycko
3df489bff6 Fix the dependancy on libpri in zt_digit
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-25 19:08:46 +00:00
Mark Spencer
a98ed49b0c More specifics in MGCP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-24 22:20:28 +00:00
Martin Pycko
697c33c81d Add limited overlap sending for PRI, eg: exten => 9,1,Dial,Zap/g1/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-24 22:12:11 +00:00
Mark Spencer
54d3735b7b MGCP updates to try to improve CID delivery
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-24 21:46:06 +00:00
Mark Spencer
eb180d0bb5 Default to 128 when echo cancel is "yes"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-24 20:33:33 +00:00
Mark Spencer
429d086d2c Minor moh Makefile patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-24 20:19:37 +00:00
Jim Dixon
eaa0379d5b One mo app_dial fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-23 19:24:59 +00:00
Jim Dixon
e2c23ff3db Fixed more stuff for clearchannel mode in app_dial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-23 18:55:52 +00:00
Jim Dixon
63d49a667e Fixed so that dial from a Zap channel to a Zap channel in 'dataquality' mode actually puts channels into CLEAR mode (so that 56k ISDN calls will work thru it) 64K calls STILL DONT.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-23 17:14:29 +00:00
Mark Spencer
445bf6c4f1 Minor voicemail patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-21 20:59:29 +00:00
Mark Spencer
dd86d6d6d4 If a hangup occurs within 1000ms of a flash, consider it a bounce, and just hangup both channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-21 16:26:50 +00:00
Mark Spencer
68ebc88679 Fix formatting bug (thanks Luke)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-21 07:21:28 +00:00
Mark Spencer
12ab2fcadf Select proper trunk mode on incoming calls based upon peer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-21 04:33:36 +00:00
Mark Spencer
425b690ef2 Add Mahmut's Alaw patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-21 04:25:13 +00:00
Mark Spencer
1d49a6b34f Fix trunking for fixed addresses
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-21 04:06:14 +00:00
Mark Spencer
8a8e98da61 Moving from one digit to another digit is still okay
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 23:33:45 +00:00
Mark Spencer
5cc201a9cf Fix 2nd harmonic on MF
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 23:16:11 +00:00
Mark Spencer
83016e1bce Don't destory rtp until destroy, use rtp_stop instead
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 22:01:53 +00:00
Mark Spencer
f02b64d258 *** empty log message ***
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 21:58:38 +00:00
Mark Spencer
d0d50a4ad7 Merge some of Mahmut's patches
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 17:21:54 +00:00
Mark Spencer
d5251a8505 Zap optimization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 16:58:45 +00:00
Mark Spencer
81cf114576 Fix silly extra message
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 14:28:26 +00:00
Mark Spencer
bd4eb86616 Autodetect if zaptel is recent enough
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 14:21:57 +00:00
Mark Spencer
176799c7f6 Use new timer interface for timing iax2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 14:07:17 +00:00
Mark Spencer
e856df69d0 Add transfer ID for potential use in more complex NAT environments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 05:56:00 +00:00
Mark Spencer
4d3a223232 Fix new channel restart algorithm
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 05:49:27 +00:00
Mark Spencer
371a3d4185 Fix channel restarting (first try)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-20 05:20:19 +00:00
Mark Spencer
18a59c1f0a On RSIP, send RQNT
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-19 19:56:30 +00:00
Mark Spencer
dfd7cff867 Perform additional locking on PRI interfaces
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-19 16:44:19 +00:00
Matteo Brancaleoni
ad80c6308b Wed Mar 19 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-19 06:00:11 +00:00
Matteo Brancaleoni
b11c63b0c2 mar mar 18 20:55:27 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-18 19:55:35 +00:00
Matteo Brancaleoni
4b77904dbe mar mar 18 19:11:37 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-18 18:11:43 +00:00
Matteo Brancaleoni
72ee4c5781 mar mar 18 18:03:23 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-18 17:03:33 +00:00
Matteo Brancaleoni
2c64ccad0f Tue Mar 18 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-18 06:00:18 +00:00
Matteo Brancaleoni
0954f713fc lun mar 17 21:04:43 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-17 20:04:57 +00:00
Matteo Brancaleoni
e8ae988b72 lun mar 17 21:04:15 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-17 20:04:36 +00:00
Matteo Brancaleoni
ca908e767c lun mar 17 19:11:15 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-17 18:11:33 +00:00
Matteo Brancaleoni
060dda2022 Mon Mar 17 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-17 06:00:16 +00:00
Matteo Brancaleoni
61e446f04b dom mar 16 23:37:23 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-16 22:37:31 +00:00
Matteo Brancaleoni
7640e83360 Sun Mar 16 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-16 06:00:11 +00:00
Matteo Brancaleoni
d1b666fc56 Sat Mar 15 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-15 06:00:16 +00:00
Matteo Brancaleoni
2d86a6955c Fri Mar 14 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-14 06:00:20 +00:00
Matteo Brancaleoni
d9848d6c49 gio mar 13 16:44:17 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-13 15:44:31 +00:00
Matteo Brancaleoni
4ebaef0e1c Thu Mar 13 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-13 06:00:20 +00:00
Matteo Brancaleoni
66a57e51e3 Wed Mar 12 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-12 06:00:18 +00:00
Matteo Brancaleoni
67fad0eab1 Tue Mar 11 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-11 06:00:17 +00:00
Matteo Brancaleoni
1ecb57b142 lun mar 10 23:05:19 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-10 22:05:28 +00:00
Matteo Brancaleoni
0ce1ae2a36 lun mar 10 21:39:02 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-10 20:39:12 +00:00
Matteo Brancaleoni
c1e327a713 Mon Mar 10 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-10 06:00:17 +00:00
Matteo Brancaleoni
32b4c314f9 Sun Mar 9 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-09 06:00:18 +00:00
Matteo Brancaleoni
d50ea0e9d4 Sat Mar 8 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-08 06:00:17 +00:00
Matteo Brancaleoni
f2c4538f61 Fri Mar 7 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-07 06:00:13 +00:00
Matteo Brancaleoni
a8723ad68f Thu Mar 6 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-06 06:00:17 +00:00
Matteo Brancaleoni
fa50831650 Wed Mar 5 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-05 06:00:17 +00:00
Matteo Brancaleoni
ce58e5862d Tue Mar 4 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-04 06:00:19 +00:00
Matteo Brancaleoni
3f86070028 Mon Mar 3 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-03 06:00:17 +00:00
Matteo Brancaleoni
b9ae36c893 dom mar 2 20:52:10 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-02 19:52:23 +00:00
Matteo Brancaleoni
708c892f57 dom mar 2 01:10:37 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-02 00:10:45 +00:00
Matteo Brancaleoni
d76da9c8e8 Sat Mar 1 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-03-01 06:00:15 +00:00
Matteo Brancaleoni
3a8580e982 Fri Feb 28 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-28 06:00:18 +00:00
Matteo Brancaleoni
36ce5024df Thu Feb 27 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-27 06:00:12 +00:00
Matteo Brancaleoni
4ac7db7746 mer feb 26 20:41:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-26 19:41:10 +00:00
Matteo Brancaleoni
c7ea3e9425 lun feb 24 22:10:09 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-24 21:10:24 +00:00
Matteo Brancaleoni
7a67a8faa3 Mon Feb 24 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-24 06:00:18 +00:00
Matteo Brancaleoni
17769619c2 Sun Feb 23 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-23 06:00:11 +00:00
Matteo Brancaleoni
877a281b74 Fri Feb 21 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-21 06:00:08 +00:00
Matteo Brancaleoni
48130719cb Thu Feb 20 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-20 06:00:14 +00:00
Matteo Brancaleoni
cf3b725fe9 mar feb 18 19:15:15 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-18 18:15:30 +00:00
Matteo Brancaleoni
9ea88c1825 Mon Feb 17 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-17 06:00:19 +00:00
Matteo Brancaleoni
1c156b82d1 Sun Feb 16 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-16 06:00:12 +00:00
Matteo Brancaleoni
55d89cfea0 Sat Feb 15 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-15 06:00:16 +00:00
Matteo Brancaleoni
06fde4bfaf Fri Feb 14 07:00:01 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-14 06:00:11 +00:00
Matteo Brancaleoni
52a7b81e24 Thu Feb 13 07:00:00 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-13 06:00:14 +00:00
Matteo Brancaleoni
2bd936105e mer feb 12 14:56:57 CET 2003
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-12 13:59:15 +00:00
Mark Spencer
d2f186de49 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-07 19:23:19 +00:00
Mark Spencer
f7714db80b Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-07 04:07:10 +00:00
Mark Spencer
8ce222478d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-06 22:11:43 +00:00
Mark Spencer
1bd973bfce Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-06 06:15:25 +00:00
Mark Spencer
ddcc8fad13 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-06 05:57:43 +00:00
Mark Spencer
93b3bd7ea2 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-06 04:26:29 +00:00
Mark Spencer
b413c00ad1 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-05 21:18:09 +00:00
Mark Spencer
e403f86b4b Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-05 19:26:49 +00:00
Mark Spencer
c78714436e Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-04 17:05:21 +00:00
Mark Spencer
23dce94f2d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-04 16:35:12 +00:00
Mark Spencer
6315850d11 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-04 15:48:42 +00:00
Mark Spencer
8dd7713d21 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-04 02:43:17 +00:00
Mark Spencer
0592345e63 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-02 19:44:47 +00:00
Mark Spencer
c1fd6c1e4c Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-02 19:37:23 +00:00
Mark Spencer
ca85e1d7a6 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-02 19:04:14 +00:00
Mark Spencer
f15b12873f Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-02-01 16:08:59 +00:00
Mark Spencer
bb6e95e35c Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-30 20:31:42 +00:00
Mark Spencer
63ff352808 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-30 15:03:20 +00:00
Mark Spencer
60c5f7a1fb Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-28 22:33:41 +00:00
Mark Spencer
070c998a16 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-28 06:57:51 +00:00
Mark Spencer
21203386be Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-27 22:19:58 +00:00
Mark Spencer
30f0113f45 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-22 20:28:55 +00:00
Mark Spencer
20393ecf10 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-21 03:37:21 +00:00
Mark Spencer
dbf5bc4527 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-20 19:33:22 +00:00
Mark Spencer
32c3738fb8 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-17 19:50:12 +00:00
Mark Spencer
5da3961f68 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-17 05:10:52 +00:00
Mark Spencer
e5ce9c9c14 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-17 03:46:33 +00:00
Mark Spencer
99469b77d2 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-10 22:58:35 +00:00
Mark Spencer
b075be1caa Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-09 23:11:05 +00:00
Mark Spencer
367be1fc7e Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-08 19:45:43 +00:00
Mark Spencer
94ca29c410 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-08 16:57:11 +00:00
Mark Spencer
2039beaffa Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-05 17:10:29 +00:00
Mark Spencer
aeb89d9744 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-04 18:53:14 +00:00
Mark Spencer
ef91635ecc Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-01-03 15:26:42 +00:00
Mark Spencer
9b5c611ead Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-30 16:50:12 +00:00
Mark Spencer
e358921d34 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@575 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-30 13:09:27 +00:00
Mark Spencer
9fb0063933 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-29 19:13:07 +00:00
Mark Spencer
f84214231f Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-27 16:45:52 +00:00
Mark Spencer
32131f4c53 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-26 19:38:27 +00:00
Mark Spencer
60410e4b5d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-21 23:13:19 +00:00
Mark Spencer
db7b74182d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-19 16:08:50 +00:00
Mark Spencer
d73253bdb4 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-19 15:39:04 +00:00
Mark Spencer
51f77ae844 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-19 15:23:22 +00:00
Mark Spencer
d9f5eb8b8c Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-11 00:23:03 +00:00
Mark Spencer
3d1d4221aa Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-11 00:15:13 +00:00
Mark Spencer
12a42fbf3a Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-08 17:30:24 +00:00
Mark Spencer
d5ccd47ad0 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-06 16:22:19 +00:00
Mark Spencer
88d965b9cc Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-05 20:13:04 +00:00
Mark Spencer
a01d8d593f Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-04 16:42:58 +00:00
Mark Spencer
a07436624d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-03 16:43:14 +00:00
Mark Spencer
a4581f56be Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-02 03:01:17 +00:00
Mark Spencer
a36ec02c7b Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-12-02 02:44:16 +00:00
Mark Spencer
7e8b1a0389 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-29 16:43:28 +00:00
Mark Spencer
7f0078a8cc Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-29 05:30:52 +00:00
Mark Spencer
d4cce257b2 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-29 02:14:13 +00:00
Mark Spencer
55dc769bc3 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-27 05:04:07 +00:00
Mark Spencer
9bc09cd23c Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-22 21:27:43 +00:00
Mark Spencer
f25f75d16a Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-22 17:05:14 +00:00
Mark Spencer
8fb1eb8ee7 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-20 18:31:26 +00:00
Mark Spencer
a849677253 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-16 21:56:09 +00:00
Mark Spencer
3deb2d074a Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-15 19:58:31 +00:00
Mark Spencer
0aed2ff99f Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-13 15:14:37 +00:00
Mark Spencer
7bcf9080c5 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-11 18:21:17 +00:00
Mark Spencer
77a1b3573d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-11 17:36:07 +00:00
Mark Spencer
4fc8108a2b Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-11 16:37:01 +00:00
Mark Spencer
c6df9fae0e Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-10 18:47:26 +00:00
Mark Spencer
ea59b1b791 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-10 03:20:35 +00:00
Mark Spencer
b1551be44b Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-11-08 19:38:10 +00:00
Mark Spencer
8104433a4c Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-30 05:22:07 +00:00
Mark Spencer
ab426a3ec7 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-29 05:38:33 +00:00
Mark Spencer
bbfe082812 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-25 13:24:50 +00:00
Mark Spencer
e488544457 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-22 15:31:47 +00:00
Mark Spencer
622848130b Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-21 00:45:13 +00:00
Mark Spencer
c895d9cc41 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-20 20:16:32 +00:00
Mark Spencer
d9d6da8edf Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-20 19:57:17 +00:00
Mark Spencer
b24318dafb Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-20 04:57:31 +00:00
Mark Spencer
69eaf7375d Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-14 05:30:28 +00:00
Mark Spencer
fb5cc266e2 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-11 14:55:03 +00:00
Mark Spencer
775de47268 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-08 17:14:31 +00:00
Mark Spencer
5a486c4015 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-07 17:08:29 +00:00
Mark Spencer
1650f8e882 Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-10-02 16:20:41 +00:00
Mark Spencer
735a7f709a Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-25 02:36:01 +00:00
Mark Spencer
8d811b503f Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-12 21:07:03 +00:00
Mark Spencer
a3eb43a6bf Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-12 18:32:42 +00:00
Mark Spencer
3990f9c86d Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-12 17:13:17 +00:00
Mark Spencer
ddfb2af298 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-12 03:22:07 +00:00
Mark Spencer
e42d61fac6 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-11 17:09:48 +00:00
Mark Spencer
bdecee176e Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-10 20:48:20 +00:00
Mark Spencer
14650e5c4f Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-10 04:45:51 +00:00
Mark Spencer
f05df8140b Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-09 15:05:28 +00:00
Mark Spencer
0b6f6e81e0 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-06 15:22:51 +00:00
Mark Spencer
96fb2cc31a Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-05 21:32:54 +00:00
Mark Spencer
d4a901a5bd Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-04 16:53:39 +00:00
Mark Spencer
8cd708fbeb Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-04 05:09:41 +00:00
Mark Spencer
1681e18ce8 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-03 21:55:10 +00:00
Mark Spencer
b26b0e9529 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-03 15:11:04 +00:00
Mark Spencer
201b40c520 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-02 23:15:40 +00:00
Mark Spencer
105b71e710 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-09-02 15:20:28 +00:00
Mark Spencer
b4050e5159 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-30 00:34:24 +00:00
Mark Spencer
ba82790739 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-29 22:48:16 +00:00
Mark Spencer
5ebc524d35 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-29 04:53:56 +00:00
Mark Spencer
c0acada4b5 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-28 04:30:55 +00:00
Mark Spencer
dd8905bf88 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-28 04:07:50 +00:00
Mark Spencer
8c020ca8fe Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-22 15:29:30 +00:00
Mark Spencer
49728b8c7c Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-20 16:55:17 +00:00
Mark Spencer
71ca1d1630 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-11 02:12:40 +00:00
Mark Spencer
eca3fe39be Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-09 17:17:54 +00:00
Mark Spencer
a68a0d526d Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-08 19:53:54 +00:00
Mark Spencer
0ee3f68ba2 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-07 17:59:33 +00:00
Mark Spencer
8df5fb20b9 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-06 21:39:28 +00:00
Mark Spencer
f8ea53ff6d Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-06 13:43:04 +00:00
Mark Spencer
5e1eef326c Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-08-02 05:26:31 +00:00
Mark Spencer
e2b7ef8902 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-31 20:34:22 +00:00
Mark Spencer
c1e73a2736 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-31 02:18:29 +00:00
Mark Spencer
2f79ff2ad7 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-30 23:39:51 +00:00
Mark Spencer
e86dd9ef2e Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-30 14:17:55 +00:00
Mark Spencer
861a2d021d Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-29 22:40:07 +00:00
Mark Spencer
c756b2d07c Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-29 15:38:22 +00:00
Mark Spencer
99e1f111e6 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-28 12:56:26 +00:00
Mark Spencer
7370ed011e Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-27 14:29:35 +00:00
Mark Spencer
995231efc7 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-26 20:28:40 +00:00
Mark Spencer
5bbb08f041 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-26 15:44:05 +00:00
Mark Spencer
39055ab5d7 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-26 11:06:49 +00:00
Mark Spencer
c89f206a7a Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-15 21:51:22 +00:00
Mark Spencer
5994799c1e Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-12 10:35:19 +00:00
Mark Spencer
d233fd5d12 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-12 09:03:50 +00:00
Mark Spencer
67751c3992 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-11 16:49:29 +00:00
Mark Spencer
54c89ccea9 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-02 20:34:30 +00:00
Mark Spencer
c159dbafae Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-02 16:06:50 +00:00
Mark Spencer
9bcb56b600 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-01 04:04:36 +00:00
Mark Spencer
cdd947a98b Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-01 01:49:48 +00:00
Mark Spencer
fe77fd8bb3 Version 0.2.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@478 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-01 01:26:30 +00:00
Mark Spencer
dcb600ff3b Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-30 17:04:04 +00:00
Mark Spencer
80555f6587 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-29 22:09:03 +00:00
Mark Spencer
bab0cfd263 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-29 21:46:57 +00:00
Mark Spencer
8c63834523 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-29 17:58:48 +00:00
Mark Spencer
13f34c3518 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-28 20:34:46 +00:00
Mark Spencer
3eb85f722f Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-28 18:46:01 +00:00
Mark Spencer
ee40af15ad Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-28 15:21:23 +00:00
Mark Spencer
ceab2dfcf9 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-28 15:15:11 +00:00
Mark Spencer
7336b021e8 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-28 02:08:32 +00:00
Mark Spencer
afd122b895 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-24 17:59:56 +00:00
Mark Spencer
747f8e9238 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-21 14:22:52 +00:00
Mark Spencer
123613853b Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-21 01:40:13 +00:00
Mark Spencer
9086941a86 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-20 16:46:34 +00:00
Mark Spencer
4a8dc28b52 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-19 22:46:52 +00:00
Mark Spencer
ed6b4c821e Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-19 02:35:40 +00:00
Mark Spencer
ede7bca2a7 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-16 16:06:38 +00:00
Mark Spencer
738689ea86 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-14 15:50:42 +00:00
Mark Spencer
faa9890ff2 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-14 15:35:24 +00:00
Mark Spencer
e055bb6e86 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-06 22:47:34 +00:00
Mark Spencer
b824677a2a Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-06-05 05:00:08 +00:00
Mark Spencer
11fefdc37c Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-31 16:25:56 +00:00
Mark Spencer
f18ffcb4b7 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-30 17:38:34 +00:00
Mark Spencer
919b935980 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-30 01:40:29 +00:00
Mark Spencer
5b44727583 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-30 01:34:15 +00:00
Mark Spencer
44ec0d02a2 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-27 23:15:47 +00:00
Mark Spencer
a734901dee Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-18 02:35:06 +00:00
Mark Spencer
c75c3e8bc2 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-17 14:33:10 +00:00
Mark Spencer
2a2f2c2c04 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-15 21:29:26 +00:00
Mark Spencer
b3abeb59d3 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-14 14:43:52 +00:00
Mark Spencer
75a75233da Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-14 03:17:45 +00:00
Mark Spencer
d5930d1fe8 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-13 22:29:39 +00:00
Mark Spencer
04cde57a77 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-12 15:08:37 +00:00
Mark Spencer
218fdfa3e5 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-12 11:48:14 +00:00
Mark Spencer
0f77c05d85 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-12 03:01:27 +00:00
Mark Spencer
ce47c7f2c7 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-11 23:51:59 +00:00
Mark Spencer
fc8c05165a Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-11 17:26:19 +00:00
Mark Spencer
62099ea6b9 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-10 14:41:21 +00:00
Mark Spencer
c918ef0f40 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-10 00:08:26 +00:00
Mark Spencer
b1f7ca718e Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-09 16:55:13 +00:00
Mark Spencer
c0a63a9c86 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-04 21:06:49 +00:00
Mark Spencer
61cf4e2668 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-03 04:02:31 +00:00
Mark Spencer
b78dc9e0f6 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-23 19:05:55 +00:00
Mark Spencer
afdafc85ce Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-22 15:14:18 +00:00
Mark Spencer
34c34980c6 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-19 21:17:35 +00:00
Mark Spencer
a4cb6c34d3 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-09 00:49:07 +00:00
Mark Spencer
7e81dc97e5 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-08 22:15:15 +00:00
Mark Spencer
7417052303 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-08 21:42:26 +00:00
Mark Spencer
7d19251487 Version 0.1.12 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-04-04 04:55:16 +00:00
Mark Spencer
f683340aa5 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-15 14:58:01 +00:00
Mark Spencer
bc1141dfff Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-11 14:30:21 +00:00
Mark Spencer
f62f33ce93 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-11 02:00:09 +00:00
Mark Spencer
4b75f411fc Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-10 20:26:16 +00:00
Mark Spencer
aec202cbdb Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-10 17:14:13 +00:00
Mark Spencer
edcd34976e Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-08 23:48:42 +00:00
Mark Spencer
3214cf6ba9 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-07 16:49:49 +00:00
Mark Spencer
3f06397045 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-06 23:49:00 +00:00
Mark Spencer
51a5499532 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-05 23:57:31 +00:00
Mark Spencer
5f53621223 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-05 15:59:01 +00:00
Mark Spencer
4a792f6c7c Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-03-01 16:54:59 +00:00
Mark Spencer
60811d944f Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-02-19 20:14:14 +00:00
Mark Spencer
493945c224 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-02-19 16:56:30 +00:00
Mark Spencer
bc740c86fd Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-02-18 20:25:25 +00:00
Mark Spencer
21b5e17de5 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-02-16 19:23:59 +00:00
Mark Spencer
6c1cfa8b83 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-02-11 04:25:04 +00:00
Mark Spencer
3957344c83 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-02-08 12:47:18 +00:00
Mark Spencer
2ac5d0b1aa Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-25 21:55:56 +00:00
Mark Spencer
42b068e43e Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-23 20:56:52 +00:00
Mark Spencer
239b43d953 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-17 21:39:57 +00:00
Mark Spencer
31fcc5dbed Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-17 14:37:17 +00:00
Mark Spencer
c36135eebf Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-13 18:51:27 +00:00
Mark Spencer
0cbb5dd731 Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-13 15:11:01 +00:00
Mark Spencer
cf4fe25d62 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-10 12:14:50 +00:00
Mark Spencer
f3140658b4 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-07 22:34:22 +00:00
Mark Spencer
4494a6d2f4 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-01-07 02:01:04 +00:00
Mark Spencer
09634dde46 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-29 21:48:24 +00:00
Mark Spencer
31c31a718c Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-29 18:04:21 +00:00
Mark Spencer
f2784d97fd Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@398 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-27 11:07:33 +00:00
Mark Spencer
c27ef7f85c Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-25 23:27:38 +00:00
Mark Spencer
eb97d576eb Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-25 21:12:07 +00:00
Mark Spencer
54e1f06913 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-20 15:21:47 +00:00
Mark Spencer
0051d20a04 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-10 21:47:23 +00:00
Mark Spencer
473cbda85c Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-09 07:08:11 +00:00
Mark Spencer
a0e2c58919 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-09 00:41:43 +00:00
Mark Spencer
eac24165f7 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-08 16:51:03 +00:00
Mark Spencer
3a8facf06d Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-12-07 22:57:34 +00:00
Mark Spencer
42a1f82af3 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-24 15:15:01 +00:00
Mark Spencer
5da86a5290 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@388 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-10 20:31:39 +00:00
Mark Spencer
364f873573 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-10 18:09:19 +00:00
Mark Spencer
54df359acc Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-10 02:55:10 +00:00
Mark Spencer
1983a179c9 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-06 17:34:13 +00:00
Mark Spencer
aefb1f6b06 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-02 01:22:37 +00:00
Mark Spencer
277e550a07 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-01 20:00:54 +00:00
Mark Spencer
e2a5bf3445 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-01 14:03:04 +00:00
Mark Spencer
2ff8edf07b Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-31 17:05:44 +00:00
Mark Spencer
55b33a9ef9 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-31 15:28:08 +00:00
Mark Spencer
0327bf310f Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-30 14:44:25 +00:00
Mark Spencer
036770fe92 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-24 17:48:37 +00:00
Mark Spencer
0235e1fe05 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-24 17:10:36 +00:00
Mark Spencer
a07f2c930b Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-18 16:47:57 +00:00
Mark Spencer
39b383b353 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-18 15:38:46 +00:00
Mark Spencer
e13bb52a79 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-18 15:27:19 +00:00
Mark Spencer
12135c8167 Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-18 15:18:45 +00:00
Mark Spencer
dbd257811b Version 0.1.10 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-17 15:04:18 +00:00
Mark Spencer
5e2ede7f54 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-15 17:39:25 +00:00
Mark Spencer
c555c6fbcf Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-15 16:19:30 +00:00
Mark Spencer
6b543c1ef5 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-12 17:15:10 +00:00
Mark Spencer
a23604f544 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-11 18:51:39 +00:00
Mark Spencer
31587bd336 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-11 14:27:50 +00:00
Mark Spencer
a891fe8cbb Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-09 14:54:42 +00:00
Mark Spencer
a779a730c4 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-09 02:06:21 +00:00
Mark Spencer
433fac9bce Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-04 20:02:12 +00:00
Mark Spencer
cb5561655e Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-10-03 21:24:16 +00:00
Mark Spencer
f9e75aa6ea Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-09-28 21:20:52 +00:00
Mark Spencer
a25ff9cea5 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-09-28 13:19:43 +00:00
Mark Spencer
2c794ba3d2 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-09-24 21:29:03 +00:00
Mark Spencer
888125eae4 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-09-19 14:40:16 +00:00
Mark Spencer
e2fa665ed5 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-09-14 14:31:58 +00:00
Mark Spencer
71355b3fe0 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-09-12 21:29:54 +00:00
Mark Spencer
a6d5b550cb Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-27 16:37:17 +00:00
Mark Spencer
0fb559c35c Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-25 04:26:20 +00:00
Mark Spencer
44407ad3da Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-23 17:57:10 +00:00
Mark Spencer
7c6bbd795c Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-17 06:56:48 +00:00
Mark Spencer
ebf777ad20 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-15 01:46:30 +00:00
Mark Spencer
b430086163 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-05 21:56:28 +00:00
Mark Spencer
aa7fcf7317 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-08-05 21:46:13 +00:00
Mark Spencer
5cab624871 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-31 23:02:36 +00:00
Mark Spencer
4e37f3fa57 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-31 13:34:45 +00:00
Mark Spencer
e83b9fb7af Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-28 20:19:35 +00:00
Mark Spencer
707be9ed74 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-26 20:24:30 +00:00
Mark Spencer
49cafd3409 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-26 16:36:23 +00:00
Mark Spencer
bbf7c462ce Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-26 14:28:30 +00:00
Mark Spencer
f346211ccb Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-18 18:59:03 +00:00
Mark Spencer
acf94e8ac5 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-18 18:48:58 +00:00
Mark Spencer
1738b4476a Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-07-17 16:57:20 +00:00
Mark Spencer
60cd4168d1 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-29 17:06:06 +00:00
Mark Spencer
7c83e67367 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-26 19:17:27 +00:00
Mark Spencer
37bcb5098b Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-21 14:56:56 +00:00
Mark Spencer
0cb5cada89 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-20 02:50:27 +00:00
Mark Spencer
c62ffabb2f Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-19 16:17:52 +00:00
Mark Spencer
7c23eba5ed Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-19 07:19:07 +00:00
Mark Spencer
78870f9224 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-18 03:35:53 +00:00
Mark Spencer
e2a8ee869e Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-13 20:36:52 +00:00
Mark Spencer
723b819bec Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-13 15:23:54 +00:00
Mark Spencer
b8458e4358 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-06-08 18:10:58 +00:00
Mark Spencer
2d677ce27e Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-29 12:55:04 +00:00
Mark Spencer
7c5f022f3f Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-27 14:51:50 +00:00
Mark Spencer
6c9f2f25bf Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-26 22:48:45 +00:00
Mark Spencer
97a72ecf96 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-26 20:39:49 +00:00
Mark Spencer
66d9d817b5 Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-26 17:39:42 +00:00
Mark Spencer
905845347c Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-23 14:35:37 +00:00
Mark Spencer
d9a7d03d8d Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-15 22:02:25 +00:00
Mark Spencer
dd539444bb Version 0.1.9 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-05-10 15:09:24 +00:00
997 changed files with 192804 additions and 26182 deletions

30
BUGS Executable file → Normal file
View File

@@ -1,11 +1,23 @@
* EVERYTHING MARKED WITH "XXX" IN THE SOURCE REPRESENTS A BUG! Sometimes
these bugs are in asterisk, and sometimes they relate to the products
that asterisk uses.
Asterisk 1.0-RC-1 Known Major Bugs
==================================
* Some people still have issues with H.323
* QuickNet driver still not entirely stable
* In general Asterisk is a very new program, and there are liable to be
many bugs yet to be discovered, so if you think you've found one, please
be sure to report it.
Asterisk Bug Tracking Information
=================================
* When you flip to call waiting on a tormenta channel while you have a
three way call up, the parties in the three way cannot hear one another
in the general case.
To learn about and report Asterisk bugs or make feature
requests, 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
please see:
http://www.digium.com/bugtracker.html
Thank you!
Mark

270
CHANGES Executable file → Normal file
View File

@@ -1,3 +1,273 @@
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

65
CREDITS Executable file → Normal file
View File

@@ -1,10 +1,65 @@
=== DEVELOPMENT SUPPORT ===
I'd like to thank the following companies for helping fund development of
Asterisk:
Pilosoft, Inc. - for supporting ADSI development in Asterisk
GFS - for supporting ALSA development
Telesthetic - for supporting SIP development
Christos Ricudis - for substantial code contributions
Paul Bagyenda, Digital Solutions - for initial Voicetronix driver development
=== WISHLIST CONTRIBUTERS ===
Jeremy McNamara - SpeeX support
Nick Seraphin - RDNIS support
Gary - Phonejack ADSI (in progress)
Wasim - Hangup detect
=== HARDWARE DONORS ===
* Special thanks to Adtran, Inc, for their donation of an Adtran Atlas,
and TSU 120e to the project. (http://www.adtran.com)
* Thanks to QuickNet Technologies for their donation of an Internet
PhoneJack card to the project. (http://www.quicknet.net)
PhoneJack and Linejack card to the project. (http://www.quicknet.net)
=== MISCELLANEOUS PATCHES ===
James Golovich - Innumerable contributions
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/
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
wjordan@vonage.com
Jac Kersing - Various fixes
Steven Critchfield - Seek and Trunc functions for playback and recording
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
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/
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
William Waites - syslog support, SIP NAT traversal for SIP-UA. ww@styx.org
=== OTHER CONTRIBUTIONS ===
John Todd - Monkey sounds and associated teletorture prompt
=== HOLD MUSIC ===
Music provided by www.opsound.org
=== OTHER SOURCE CODE IN ASTERISK ===

70
HARDWARE Normal file
View File

@@ -0,0 +1,70 @@
A PBX is only really useful if you can get calls into it. Of course, you
can use Asterisk with VoIP calls (SIP, H.323, IAX), but you can also talk
to the real PSTN through various cards.
Supported Hardware is divided into two general groups: Zaptel devices and
non-zaptel devices. The Zaptel compatible hardware supports pseudo-TDM
conferencing and all call features through chan_zap, whereas non-zaptel
compatible hardware may have different features.
Zaptel compatible hardware
==========================
-- Digium (Primary author of Asterisk)
http://www.digium.com, http://store.yahoo.com/asteriskpbx
* Wildcard X100P - Single FXO interface connects to Loopstart phone
line
* Wildcard T400P (obsolete) - Quad T1 interface connects to four T1/PRI
interfaces. Supports RBS and PRI voice and PPP, FR, and HDLC data.
* Wildcard E400P (obsolete)- Quad E1 interface connects to four E1/PRI
(or PRA) interfaces. Supports PRA/PRI, EuroISDN voice and data.
* Wildcard T100P - Single T1 interface connects to a single T1/PRI
interface. Supports RBS and PRI voice and PPP, FR, and HDLC data.
* Wildcard E100P - Single E1 interface connects to a single E1/PRI (or PRA)
interface. Supports PRA/PRI, EuroISDN voice and PPP, FR, HDLC data.
* Wildcard S100U - Single FXS interface connects to a standard analog
telephone.
* Wildcard TDM400P - Quad Modular FXS interface connects to standard
analog telephones.
* Wildcard TE410P - Quad T1/E1 switchable interface. Supports PRI and
RBS signalling, as well as PPP, FR, and HDLC data modes.
Non-zaptel compatible hardware
==============================
-- QuickNet, Inc.
http://www.quicknet.net
* Internet PhoneJack - Single FXS interface. Supports Linux telephony
interface. DSP compression built-in.
* Internet LineJack - Single FXS or FXO interface. Supports Linux
telephony interface.
Miscellaneous other interfaces
==============================
-- ISDN4Linux
http://www.isdn4linux.de/
* Any ISDN terminal adapter supported by isdn4linux should provide
connectivity.
-- ALSA
http://www.alsa-project.org
* Any ALSA compatible full-duplex sound card
-- OSS
http://www.opensound.com
* Any OSS compatible full-duplex sound card

0
LICENSE Executable file → Normal file
View File

542
Makefile Executable file → Normal file
View File

@@ -11,29 +11,214 @@
# the GNU General Public License
#
.EXPORT_ALL_VARIABLES:
MODULES_DIR=/usr/lib/asterisk/modules
# Create OPTIONS variable
OPTIONS=
OSARCH=$(shell uname -s)
ifeq (${OSARCH},Linux)
PROC=$(shell uname -m)
ifeq ($(PROC),x86_64)
# You must have GCC 3.4 to use k8, otherwise use athlon
PROC=k8
#PROC=athlon
OPTIONS+=-m64
endif
ifeq ($(PROC),sparc64)
#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
#This works for even old (2.96) versions of gcc and provides a small boost either way.
#A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it.
#So we go lowest common available by gcc and go a step down, still a step up from
#the default as we now have a better instruction set to work with. - Belgarath
PROC=ultrasparc
OPTIONS+=$(shell if $(CC) -mtune=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-mtune=$(PROC)"; fi)
OPTIONS+=$(shell if $(CC) -mcpu=v8 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-mcpu=v8"; fi)
OPTIONS+=-fomit-frame-pointer
endif
endif
ifeq ($(findstring BSD,${OSARCH}),BSD)
PROC=$(shell uname -m)
endif
# Pentium Pro Optimize
#PROC=i686
# Pentium Optimize
PROC=i586
# Pentium & VIA processors optimize
#PROC=i586
#PROC=k6
#PROC=ppc
PWD=$(shell pwd)
######### More GSM codec optimization
######### Uncomment to enable MMXTM optimizations for x86 architecture CPU's
######### which support MMX instructions. This should be newer pentiums,
######### ppro's, etc, as well as the AMD K6 and K7.
#K6OPT = -DK6OPT
#Tell gcc to optimize the asterisk's code
OPTIMIZE+=-O6
#Include debug symbols in the executables (-g) and profiling info (-pg)
DEBUG=-g #-pg
# If you are running a radio application, define RADIO_RELAX so that the DTMF
# will be received more reliably
#OPTIONS += -DRADIO_RELAX
# If you don't have a lot of memory (e.g. embedded Asterisk), uncomment the
# following to reduce the size of certain static buffers
#OPTIONS += -DLOW_MEMORY
# Optional debugging parameters
DEBUG_THREADS = #-DDEBUG_THREADS #-DDO_CRASH
# Uncomment next one to enable ast_frame tracing (for debugging)
TRACE_FRAMES = #-DTRACE_FRAMES
# Uncomment next one to enable malloc debugging
# You can view malloc debugging with:
# *CLI> show memory allocations [filename]
# *CLI> show memory summary [filename]
#
MALLOC_DEBUG = #-include $(PWD)/include/asterisk/astmm.h
# Where to install asterisk after compiling
# Default -> leave empty
INSTALL_PREFIX=
# Staging directory
# Files are copied here temporarily during the install process
# For example, make DESTDIR=/tmp/asterisk woud put things in
# /tmp/asterisk/etc/asterisk
DESTDIR=
# Original busydetect routine
BUSYDETECT = #-DBUSYDETECT
# Improved busydetect routine, comment the previous one if you use this one
BUSYDETECT+= -DBUSYDETECT_MARTIN
# Detect the busy signal looking only at tone lengths
# For example if you have 3 beeps 100ms tone, 100ms silence separated by 500 ms of silence
BUSYDETECT+= #-DBUSYDETECT_TONEONLY
# Inforce the detection of busy singal (get rid of false hangups)
# Don't use together with -DBUSYDETECT_TONEONLY
BUSYDETECT+= #-DBUSYDETECT_COMPARE_TONE_AND_SILENCE
ASTLIBDIR=$(INSTALL_PREFIX)/usr/lib/asterisk
ASTVARLIBDIR=$(INSTALL_PREFIX)/var/lib/asterisk
ASTETCDIR=$(INSTALL_PREFIX)/etc/asterisk
ASTSPOOLDIR=$(INSTALL_PREFIX)/var/spool/asterisk
ASTLOGDIR=$(INSTALL_PREFIX)/var/log/asterisk
ASTHEADERDIR=$(INSTALL_PREFIX)/usr/include/asterisk
ASTCONFPATH=$(ASTETCDIR)/asterisk.conf
ASTBINDIR=$(INSTALL_PREFIX)/usr/bin
ASTSBINDIR=$(INSTALL_PREFIX)/usr/sbin
ASTVARRUNDIR=$(INSTALL_PREFIX)/var/run
ASTMANDIR=$(INSTALL_PREFIX)/usr/share/man
MODULES_DIR=$(ASTLIBDIR)/modules
AGI_DIR=$(ASTVARLIBDIR)/agi-bin
INCLUDE=-Iinclude -I../include
CFLAGS=-pipe -Wall -Werror -Wmissing-prototypes -Wmissing-declarations -O6 $(DEBUG) $(INCLUDE) -D_REENTRANT
CFLAGS=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE #-DMAKE_VALGRIND_HAPPY
CFLAGS+=$(OPTIMIZE)
ifneq ($(PROC),ultrasparc)
CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
ASTERISKVERSION=$(shell cat .version)
endif
CFLAGS+=$(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi)
CFLAGS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "-DOSP_SUPPORT -I/usr/include/osp" ; fi)
ifeq (${OSARCH},FreeBSD)
OSVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
CFLAGS+=$(if ${OSVERSION}<500016,-D_THREAD_SAFE)
LIBS+=$(if ${OSVERSION}<502102,-lc_r,-pthread)
INCLUDE+=-I/usr/local/include
CFLAGS+=$(shell if [ -d /usr/local/include/spandsp ]; then echo "-I/usr/local/include/spandsp"; fi)
endif # FreeBSD
ifeq (${OSARCH},NetBSD)
CFLAGS+=-pthread
INCLUDE+=-I/usr/local/include
endif
ifeq (${OSARCH},OpenBSD)
CFLAGS+=-pthread
endif
#Uncomment this to use the older DSP routines
#CFLAGS+=-DOLD_DSP_ROUTINES
CFLAGS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "-DZAPTEL_OPTIMIZATIONS"; fi)
CFLAGS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "-DZAPTEL_OPTIMIZATIONS"; fi)
LIBEDIT=editline/libedit.a
ASTERISKVERSION=$(shell if [ -f .version ]; then cat .version; else if [ -d CVS ]; then if [ -f CVS/Tag ] ; then echo "CVS-`sed 's/^T//g' CVS/Tag`-`date +"%D-%T"`"; else echo "CVS-HEAD-`date +"%D-%T"`"; fi; fi; fi)
HTTPDIR=$(shell if [ -d /var/www ]; then echo "/var/www"; else echo "/home/httpd"; fi)
RPMVERSION=$(shell if [ -f .version ]; then sed 's/[-\/:]/_/g' .version; else echo "unknown" ; fi)
CFLAGS+=-DASTERISK_VERSION=\"$(ASTERISKVERSION)\"
CFLAGS+= -DDO_CRASH -DDEBUG_THREADS
CFLAGS+=-DINSTALL_PREFIX=\"$(INSTALL_PREFIX)\"
CFLAGS+=-DASTETCDIR=\"$(ASTETCDIR)\"
CFLAGS+=-DASTLIBDIR=\"$(ASTLIBDIR)\"
CFLAGS+=-DASTVARLIBDIR=\"$(ASTVARLIBDIR)\"
CFLAGS+=-DASTVARRUNDIR=\"$(ASTVARRUNDIR)\"
CFLAGS+=-DASTSPOOLDIR=\"$(ASTSPOOLDIR)\"
CFLAGS+=-DASTLOGDIR=\"$(ASTLOGDIR)\"
CFLAGS+=-DASTCONFPATH=\"$(ASTCONFPATH)\"
CFLAGS+=-DASTMODDIR=\"$(MODULES_DIR)\"
CFLAGS+=-DASTAGIDIR=\"$(AGI_DIR)\"
CFLAGS+= $(DEBUG_THREADS)
CFLAGS+= $(TRACE_FRAMES)
CFLAGS+= $(MALLOC_DEBUG)
CFLAGS+= $(BUSYDETECT)
CFLAGS+= $(OPTIONS)
CFLAGS+=# -fomit-frame-pointer
SUBDIRS=channels pbx apps codecs formats
LIBS=-ldl -lpthread -lreadline -lncurses -lm
SUBDIRS=res channels pbx apps codecs formats agi cdr astman stdtime
ifeq (${OSARCH},Linux)
LIBS=-ldl -lpthread
endif
LIBS+=-lncurses -lm
ifeq (${OSARCH},Linux)
LIBS+=-lresolv #-lnjamd
endif
ifeq (${OSARCH},Darwin)
LIBS+=-lresolv
endif
ifeq (${OSARCH},FreeBSD)
LIBS+=-lcrypto
endif
ifeq (${OSARCH},NetBSD)
LIBS+=-lpthread -lcrypto -lm -L/usr/local/lib -lncurses
endif
ifeq (${OSARCH},OpenBSD)
LIBS=-lcrypto -lpthread -lm -lncurses
endif
LIBS+=-lssl
OBJS=io.o sched.o logger.o frame.o loader.o config.o channel.o \
translate.o file.o say.o pbx.o cli.o md5.o \
ulaw.o callerid.o fskmodem.o asterisk.o
translate.o file.o say.o pbx.o cli.o md5.o term.o \
ulaw.o alaw.o callerid.o fskmodem.o image.o app.o \
cdr.o tdd.o acl.o rtp.o manager.o asterisk.o ast_expr.o \
dsp.o chanvars.o indications.o autoservice.o db.o privacy.o \
astmm.o enum.o srv.o dns.o aescrypt.o aestab.o aeskey.o \
utils.o
ifeq (${OSARCH},Darwin)
OBJS+=poll.o dlfcn.o
ASTLINK=-Wl,-dynamic
SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
else
ASTLINK=-Wl,-E
SOLINK=-shared -Xlinker -x
endif
CC=gcc
INSTALL=install
@@ -43,76 +228,321 @@ _all: all
@echo " + cannot be run before being installed by +"
@echo " + running: +"
@echo " + +"
@echo " + make install +"
@echo " + +"
@echo " + $(MAKE) install +"
@echo " +-------------------------------------------+"
all: asterisk subdirs
all: depend asterisk subdirs
editline/config.h:
cd editline && unset CFLAGS LIBS && ./configure ; \
editline/libedit.a: FORCE
cd editline && unset CFLAGS LIBS && test -f config.h || ./configure
$(MAKE) -C editline libedit.a
db1-ast/libdb1.a: FORCE
@if [ -d db1-ast ]; then \
$(MAKE) -C db1-ast libdb1.a ; \
else \
echo "You need to do a cvs update -d not just cvs update"; \
exit 1; \
fi
ifneq ($(wildcard .depend),)
include .depend
endif
.PHONY: _version
_version:
if [ -d CVS ]; then echo "CVS-`date +"%D-%T"`" > .version; fi
if [ -d CVS ] && ! [ -f .version ]; then echo $(ASTERISKVERSION) > .version; fi
.version: _version
.y.c:
bison $< --name-prefix=ast_yy -o $@
ast_expr.o: ast_expr.c
cli.o: cli.c build.h
asterisk.o: asterisk.c build.h
manpage: asterisk.8.gz
asterisk.8.gz: asterisk.sgml
rm -f asterisk.8
docbook2man asterisk.sgml
mv ./*.8 asterisk.8
gzip asterisk.8
ifneq ($(strip $(ASTERISKVERSION)),)
build.h: .version
./make_build_h
else
build.h:
./make_build_h
endif
asterisk: _version build.h $(OBJS)
gcc -o asterisk -rdynamic $(OBJS) $(LIBS)
stdtime/libtime.a: FORCE
@if [ -d stdtime ]; then \
$(MAKE) -C stdtime libtime.a ; \
else \
echo "You need to do a cvs update -d not just cvs update"; \
exit 1; \
fi
asterisk: editline/libedit.a db1-ast/libdb1.a stdtime/libtime.a $(OBJS)
$(CC) $(DEBUG) -o asterisk $(ASTLINK) $(OBJS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LIBS)
muted: muted.o
$(CC) -o muted muted.o
subdirs:
for x in $(SUBDIRS); do $(MAKE) -C $$x || exit 1 ; done
clean:
for x in $(SUBDIRS); do $(MAKE) -C $$x clean || exit 1 ; done
rm -f *.o *.so asterisk
rm -f build.h
rm -f *.o *.so asterisk .depend
rm -f build.h
rm -f ast_expr.c
@if [ -e editline/Makefile ]; then $(MAKE) -C editline distclean ; fi
@if [ -d mpg123-0.59r ]; then make -C mpg123-0.59r clean; fi
$(MAKE) -C db1-ast clean
$(MAKE) -C stdtime clean
datafiles: all
mkdir -p /var/lib/asterisk/sounds/digits
for x in sounds/digits/*; do \
install $$x /var/lib/asterisk/sounds/digits ; \
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/digits
for x in sounds/digits/*.gsm; do \
if grep -q "^%`basename $$x`%" sounds.txt; then \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/sounds/digits ; \
else \
echo "No description for $$x"; \
exit 1; \
fi; \
done
for x in sounds/vm-* sounds/transfer* sounds/pbx-* sounds/ss-* sounds/beep*; do \
install $$x /var/lib/asterisk/sounds ; \
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/letters
for x in sounds/letters/*.gsm; do \
if grep -q "^%`basename $$x`%" sounds.txt; then \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/sounds/letters ; \
else \
echo "No description for $$x"; \
exit 1; \
fi; \
done
install: all datafiles
mkdir -p $(MODULES_DIR)
mkdir -p /usr/sbin
install -m 755 asterisk /usr/sbin/
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/phonetic
for x in sounds/phonetic/*.gsm; do \
if grep -q "^%`basename $$x`%" sounds.txt; then \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/sounds/phonetic ; \
else \
echo "No description for $$x"; \
exit 1; \
fi; \
done
for x in sounds/vm-* sounds/transfer* sounds/pbx-* sounds/ss-* sounds/beep* sounds/dir-* sounds/conf-* sounds/agent-* sounds/invalid* sounds/tt-* sounds/auth-* sounds/privacy-* sounds/queue-*; do \
if grep -q "^%`basename $$x`%" sounds.txt; then \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/sounds ; \
else \
echo "No description for $$x"; \
exit 1; \
fi; \
done
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/mohmp3
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/images
for x in images/*.jpg; do \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/images ; \
done
mkdir -p $(DESTDIR)$(AGI_DIR)
update:
@if [ -d CVS ]; then \
echo "Updating from CVS..." ; \
cvs -q -z3 update -Pd; \
rm -f .version; \
else \
echo "Not CVS"; \
fi
bininstall: all
mkdir -p $(DESTDIR)$(MODULES_DIR)
mkdir -p $(DESTDIR)$(ASTSBINDIR)
mkdir -p $(DESTDIR)$(ASTETCDIR)
mkdir -p $(DESTDIR)$(ASTBINDIR)
mkdir -p $(DESTDIR)$(ASTSBINDIR)
mkdir -p $(DESTDIR)$(ASTVARRUNDIR)
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/tmp
install -m 755 asterisk $(DESTDIR)$(ASTSBINDIR)/
install -m 755 contrib/scripts/astgenkey $(DESTDIR)$(ASTSBINDIR)/
if [ ! -f $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ]; then \
install -m 755 contrib/scripts/safe_asterisk $(DESTDIR)$(ASTSBINDIR)/ ;\
fi
for x in $(SUBDIRS); do $(MAKE) -C $$x install || exit 1 ; done
install -d /usr/include/asterisk
install include/asterisk/*.h /usr/include/asterisk
rm -f /var/lib/asterisk/sounds/vm
mkdir -p /var/spool/asterisk/vm
rm -f /usr/lib/asterisk/modules/chan_ixj.so
mkdir -p /var/lib/asterisk/sounds
( cd /var/lib/asterisk/sounds ; ln -s ../../../spool/asterisk/vm . )
install -d $(DESTDIR)$(ASTHEADERDIR)
install -m 644 include/asterisk/*.h $(DESTDIR)$(ASTHEADERDIR)
rm -f $(DESTDIR)$(ASTVARLIBDIR)/sounds/vm
rm -f $(DESTDIR)$(ASTVARLIBDIR)/sounds/voicemail
if [ ! -h $(DESTDIR)$(ASTSPOOLDIR)/vm ] && [ -d $(DESTDIR)$(ASTSPOOLDIR)/vm ]; then \
mv $(DESTDIR)$(ASTSPOOLDIR)/vm $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default; \
else \
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default; \
rm -f $(DESTDIR)$(ASTSPOOLDIR)/vm; \
fi
ln -s $(ASTSPOOLDIR)/voicemail/default $(DESTDIR)$(ASTSPOOLDIR)/vm
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds
mkdir -p $(DESTDIR)$(ASTLOGDIR)/cdr-csv
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/keys
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/firmware
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/firmware/iax
mkdir -p $(DESTDIR)$(ASTMANDIR)/man8
install -m 644 keys/iaxtel.pub $(DESTDIR)$(ASTVARLIBDIR)/keys
install -m 644 keys/freeworlddialup.pub $(DESTDIR)$(ASTVARLIBDIR)/keys
install -m 644 asterisk.8.gz $(DESTDIR)$(ASTMANDIR)/man8
if [ -d contrib/firmware/iax ]; then \
install -m 644 contrib/firmware/iax/iaxy.bin $(DESTDIR)$(ASTVARLIBDIR)/firmware/iax/iaxy.bin; \
else \
echo "You need to do cvs update -d not just cvs update" ; \
fi
( cd $(DESTDIR)$(ASTVARLIBDIR)/sounds ; ln -s $(ASTSPOOLDIR)/vm . )
( cd $(DESTDIR)$(ASTVARLIBDIR)/sounds ; ln -s $(ASTSPOOLDIR)/voicemail . )
if [ -f mpg123-0.59r/mpg123 ]; then make -C mpg123-0.59r install; fi
@echo " +---- Asterisk Installation Complete -------+"
@echo " + +"
@echo " + YOU MUST READ THE SECURITY DOCUMENT +"
@echo " + +"
@echo " + Asterisk has successfully been installed. +"
@echo " + If you would like to install the sample +"
@echo " + configuration files (overwriting any +"
@echo " + existing config files), run: +"
@echo " + +"
@echo " + make samples +"
@echo " + $(MAKE) samples +"
@echo " + +"
@echo " +----------------- or ---------------------+"
@echo " + +"
@echo " + You can go ahead and install the asterisk +"
@echo " + program documentation now or later run: +"
@echo " + +"
@echo " + $(MAKE) progdocs +"
@echo " + +"
@echo " + **Note** This requires that you have +"
@echo " + doxygen installed on your local system +"
@echo " +-------------------------------------------+"
install: all datafiles bininstall
upgrade: all bininstall
adsi: all
mkdir -p $(DESTDIR)$(ASTETCDIR)
for x in configs/*.adsi; do \
if ! [ -f $(DESTDIR)$(ASTETCDIRX)/$$x ]; then \
install -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`basename $$x` ; \
fi ; \
done
samples: all datafiles adsi
mkdir -p $(DESTDIR)$(ASTETCDIR)
for x in configs/*.sample; do \
if [ -f $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` ]; then \
mv -f $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample`.old ; \
fi ; \
install -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` ;\
done
echo "[directories]" > $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astetcdir => $(ASTETCDIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astmoddir => $(MODULES_DIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astvarlibdir => $(ASTVARLIBDIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astagidir => $(AGI_DIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astspooldir => $(ASTSPOOLDIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astrundir => $(ASTVARRUNDIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
echo "astlogdir => $(ASTLOGDIR)" >> $(DESTDIR)$(ASTETCDIR)/asterisk.conf
for x in sounds/demo-*; do \
if grep -q "^%`basename $$x`%" sounds.txt; then \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/sounds ; \
else \
echo "No description for $$x"; \
exit 1; \
fi; \
done
for x in sounds/*.mp3; do \
install -m 644 $$x $(DESTDIR)$(ASTVARLIBDIR)/mohmp3 ; \
done
rm -f $(DESTDIR)$(ASTVARLIBDIR)/mohmp3/sample-hold.mp3
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX
:> $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/unavail.gsm
for x in vm-theperson digits/1 digits/2 digits/3 digits/4 vm-isunavail; do \
cat $(DESTDIR)$(ASTVARLIBDIR)/sounds/$$x.gsm >> $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/unavail.gsm ; \
done
:> $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/busy.gsm
for x in vm-theperson digits/1 digits/2 digits/3 digits/4 vm-isonphone; do \
cat $(DESTDIR)$(ASTVARLIBDIR)/sounds/$$x.gsm >> $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/busy.gsm ; \
done
webvmail:
@[ -d $(DESTDIR)$(HTTPDIR) ] || ( echo "No HTTP directory" && exit 1 )
@[ -d $(DESTDIR)$(HTTPDIR)/html ] || ( echo "No http directory" && exit 1 )
@[ -d $(DESTDIR)$(HTTPDIR)/cgi-bin ] || ( echo "No cgi-bin directory" && exit 1 )
install -m 4755 -o root -g root contrib/scripts/vmail.cgi $(DESTDIR)$(HTTPDIR)/cgi-bin/vmail.cgi
mkdir -p $(DESTDIR)$(HTTPDIR)/html/_asterisk
for x in images/*.gif; do \
install -m 644 $$x $(DESTDIR)$(HTTPDIR)/html/_asterisk/; \
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
@echo " + Asterisk Web Voicemail is installed in +"
@echo " + your cgi-bin directory. IT USES A SETUID +"
@echo " + ROOT PERL SCRIPT, SO IF YOU DON'T LIKE +"
@echo " + THAT, UNINSTALL IT! +"
@echo " + +"
@echo " +-------------------------------------------+"
samples: all datafiles
mkdir -p /etc/asterisk
for x in configs/*.sample; do \
if [ -f /etc/asterisk/`basename $$x .sample` ]; then \
mv -f /etc/asterisk/`basename $$x .sample` /etc/asterisk/`basename $$x .sample`.old ; \
fi ; \
install $$x /etc/asterisk/`basename $$x .sample` ;\
done
for x in sounds/demo-*; do \
install $$x /var/lib/asterisk/sounds; \
done
mkdir -p /var/spool/asterisk/vm/1234/INBOX
:> /var/lib/asterisk/sounds/vm/1234/unavail.gsm
for x in vm-theperson digits/1 digits/2 digits/3 digits/4 vm-isunavail; do \
cat /var/lib/asterisk/sounds/$$x.gsm >> /var/lib/asterisk/sounds/vm/1234/unavail.gsm ; \
done
:> /var/lib/asterisk/sounds/vm/1234/busy.gsm
for x in vm-theperson digits/1 digits/2 digits/3 digits/4 vm-isonphone; do \
cat /var/lib/asterisk/sounds/$$x.gsm >> /var/lib/asterisk/sounds/vm/1234/busy.gsm ; \
done
mailbox:
./contrib/scripts/addmailbox
rpm: __rpm
__rpm: _version
rm -rf /tmp/asterisk ; \
mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
$(MAKE) DESTDIR=/tmp/asterisk install ; \
$(MAKE) DESTDIR=/tmp/asterisk samples ; \
mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
cp -f redhat/asterisk /tmp/asterisk/etc/rc.d/init.d/ ; \
sed "s/^Version:.*/Version: $(RPMVERSION)/g" redhat/asterisk.spec > asterisk.spec ; \
rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
progdocs:
doxygen contrib/asterisk-ng-doxygen
mpg123:
@wget -V >/dev/null || (echo "You need wget" ; false )
[ -f mpg123-0.59r.tar.gz ] || wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
[ -d mpg123-0.59r ] || tar xfz mpg123-0.59r.tar.gz
make -C mpg123-0.59r linux
config:
if [ -d /etc/rc.d/init.d ]; then \
install -m 755 contrib/init.d/rc.redhat.asterisk /etc/rc.d/init.d/asterisk; \
/sbin/chkconfig --add asterisk; \
elif [ -d /etc/init.d ]; then \
install -m 755 init.asterisk /etc/init.d/asterisk; \
fi
dont-optimize:
$(MAKE) OPTIMIZE= K6OPT= install
valgrind: dont-optimize
depend: .depend
for x in $(SUBDIRS); do $(MAKE) -C $$x depend || exit 1 ; done
.depend:
./mkdep ${CFLAGS} `ls *.c`
FORCE:
%_env:
make -C $(shell echo $@ | sed "s/_env//g") env
env:
env

67
README Executable file → Normal file
View File

@@ -1,37 +1,72 @@
The Asterisk Open Source PBX
by Mark Spencer <markster@linux-support.net>
Copyright (C) 1999, Mark Spencer
by Mark Spencer <markster@digium.com>
Copyright (C) 2001-2004 Digium
================================================================
* SECURITY
It is imperative that you read and fully understand the contents of
the SECURITY file before you attempt to configure an Asterisk server.
* 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
on the project itself, please visit the Asterisk home page at:
http://www.asteriskpbx.com
http://www.asterisk.org
In addition you'll find lot's 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.
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
== 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
as well.
(like FreeBSD) as well.
* GETTING STARTED
First, be sure you've got supported hardware. To use Asterisk right now,
you will need one of the following:
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:
* Adtran Atlas 800 Plus
* QuickNet Internet PhoneJack
* 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)
Assuming you have one of these (most likely the third) you're ready to
proceed:
Hint: CAPI compatible ISDN cards can be run using the add-on channel chan_capi.
So let's proceed:
1) Run "make"
2) Run "make install"
@@ -41,7 +76,7 @@ the sample PBX, with demonstration extensions, etc. If so, run:
"make samples"
Doing so will overwrite any existing config files you have.
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.
Finally, you can launch Asterisk with:
@@ -103,7 +138,15 @@ from the variables specified above.
* MORE INFORMATION
See the doc directory for more documentation.
Finally, you may wish to visit the web site and join the mailing list if
you're interested in getting more information.
Mark
http://www.asterisk.org/index.php?menu=support
Welcome to the growing worldwide community of Asterisk users!
Mark Spencer

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

41
SECURITY Normal file
View File

@@ -0,0 +1,41 @@
==== Security Notes with Asterisk ====
PLEASE READ THE FOLLOWING IMPORTANT SECURITY RELATED INFORMATION.
IMPROPER CONFIGURATION OF ASTERISK COULD ALLOW UNAUTHORIZED USE OF YOUR
FACILITIES, POTENTIALLY INCURRING SUBSTANTIAL CHARGES.
First and foremost remember this:
USE THE EXTENSION CONTEXTS TO ISOLATE OUTGOING OR TOLL SERVICES FROM ANY
INCOMING CONNECTIONS.
You should consider that if any channel, incoming line, etc can enter an
extension context that it has the capability of accessing any extension
within that context.
Therefore, you should NOT allow access to outgoing or toll services in
contexts that are accessible (especially without a password) from incoming
channels, be they IAX channels, FX or other trunks, or even untrusted
stations within you network. In particular, never ever put outgoing toll
services in the "default" context. To make things easier, you can include
the "default" context within other private contexts by using:
include => default
in the appropriate section. A well designed PBX might look like this:
[longdistance]
exten => _91NXXNXXXXXX,1,Dial(Zap/g2/${EXTEN:1})
include => local
[local]
exten => _9NXXNXXX,1,Dial(Zap/g2/${EXTEN:1})
include => default
[default]
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.

381
acl.c Normal file
View File

@@ -0,0 +1,381 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Various sorts of access control
*
* 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
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#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 <arpa/inet.h>
#include <sys/socket.h>
#include <netdb.h>
#include <net/if.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
struct ast_ha {
/* Host access rule */
struct in_addr netaddr;
struct in_addr netmask;
int sense;
struct ast_ha *next;
};
/* Default IP - if not otherwise set, don't breathe garbage */
static struct in_addr __ourip = { 0x00000000 };
struct my_ifreq {
char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "eth0", "ppp0", etc. */
struct sockaddr_in ifru_addr;
};
/* Free HA structure */
void ast_free_ha(struct ast_ha *ha)
{
struct ast_ha *hal;
while(ha) {
hal = ha;
ha = ha->next;
free(hal);
}
}
/* Copy HA structure */
static void ast_copy_ha(struct ast_ha *from, struct ast_ha *to)
{
memcpy(&to->netaddr, &from->netaddr, sizeof(from->netaddr));
memcpy(&to->netmask, &from->netmask, sizeof(from->netmask));
to->sense = from->sense;
}
/* Create duplicate of ha structure */
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);
}
/* Create duplicate HA link list */
/* Used in chan_sip2 templates */
struct ast_ha *ast_duplicate_ha_list(struct ast_ha *original)
{
struct ast_ha *start=original;
struct ast_ha *ret = NULL;
struct ast_ha *link,*prev=NULL;
while(start) {
link = ast_duplicate_ha(start); /* Create copy of this object */
if (prev)
prev->next = link; /* Link previous to this object */
if (!ret)
ret = link; /* Save starting point */
start = start->next; /* Go to next object */
prev = link; /* Save pointer to this object */
}
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] = "";
struct ast_ha *prev = NULL;
struct ast_ha *ret;
int x,z;
unsigned int y;
ret = path;
while(path) {
prev = path;
path = path->next;
}
if (ha) {
strncpy(tmp, stuff, sizeof(tmp) - 1);
nm = strchr(tmp, '/');
if (!nm)
nm = "255.255.255.255";
else {
*nm = '\0';
nm++;
}
if (!strchr(nm, '.')) {
if ((sscanf(nm, "%i", &x) == 1) && (x >= 0) && (x <= 32)) {
y = 0;
for (z=0;z<x;z++) {
y >>= 1;
y |= 0x80000000;
}
ha->netmask.s_addr = htonl(y);
}
} else if (!inet_aton(nm, &ha->netmask)) {
ast_log(LOG_WARNING, "%s 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);
free(ha);
return path;
}
ha->netaddr.s_addr &= ha->netmask.s_addr;
if (!strncasecmp(sense, "p", 1)) {
ha->sense = AST_SENSE_ALLOW;
} else {
ha->sense = AST_SENSE_DENY;
}
ha->next = NULL;
if (prev)
prev->next = ha;
else
ret = ha;
}
ast_log(LOG_DEBUG, "%s/%s appended to acl for peer\n",stuff, nm);
return ret;
}
int ast_apply_ha(struct ast_ha *ha, struct sockaddr_in *sin)
{
/* Start optimistic */
int res = AST_SENSE_ALLOW;
while(ha) {
char iabuf[INET_ADDRSTRLEN];
char iabuf2[INET_ADDRSTRLEN];
/* DEBUG */
ast_log(LOG_DEBUG,
"##### Testing %s with %s\n",
ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr),
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))
res = ha->sense;
ha = ha->next;
}
return res;
}
int ast_get_ip(struct sockaddr_in *sin, char *value)
{
struct hostent *hp;
struct ast_hostent ahp;
hp = ast_gethostbyname(value, &ahp);
if (hp) {
memcpy(&sin->sin_addr, hp->h_addr, sizeof(sin->sin_addr));
} else {
ast_log(LOG_WARNING, "Unable to lookup '%s'\n", value);
return -1;
}
return 0;
}
/* iface is the interface (e.g. eth0); address is the return value */
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);
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));
return -1;
} else {
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 */
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");
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));
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");
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;
}
return 0;
#endif
}

311
aescrypt.c Normal file
View File

@@ -0,0 +1,311 @@
/*
---------------------------------------------------------------------------
Copyright (c) 2003, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
All rights reserved.
LICENSE TERMS
The free distribution and use of this software in both source and binary
form is allowed (with or without changes) provided that:
1. distributions of this source code include the above copyright
notice, this list of conditions and the following disclaimer;
2. distributions in binary form include the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other associated materials;
3. the copyright holder's name is not used to endorse products
built using this software without specific written permission.
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
DISCLAIMER
This software is provided 'as is' with no explicit or implied warranties
in respect of its properties, including, but not limited to, correctness
and/or fitness for purpose.
---------------------------------------------------------------------------
Issue Date: 26/08/2003
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
*/
#include "aesopt.h"
#if defined(__cplusplus)
extern "C"
{
#endif
#define si(y,x,k,c) (s(y,c) = word_in(x, c) ^ (k)[c])
#define so(y,x,c) word_out(y, c, s(x,c))
#if defined(ARRAYS)
#define locals(y,x) x[4],y[4]
#else
#define locals(y,x) x##0,x##1,x##2,x##3,y##0,y##1,y##2,y##3
#endif
#define l_copy(y, x) s(y,0) = s(x,0); s(y,1) = s(x,1); \
s(y,2) = s(x,2); s(y,3) = s(x,3);
#define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3)
#define state_out(y,x) so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3)
#define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3)
#if defined(ENCRYPTION) && !defined(AES_ASM)
/* Visual C++ .Net v7.1 provides the fastest encryption code when using
Pentium optimiation with small code but this is poor for decryption
so we need to control this with the following VC++ pragmas
*/
#if defined(_MSC_VER)
#pragma optimize( "s", on )
#endif
/* Given the column (c) of the output state variable, the following
macros give the input state variables which are needed in its
computation for each row (r) of the state. All the alternative
macros give the same end values but expand into different ways
of calculating these values. In particular the complex macro
used for dynamically variable block sizes is designed to expand
to a compile time constant whenever possible but will expand to
conditional clauses on some branches (I am grateful to Frank
Yellin for this construction)
*/
#define fwd_var(x,r,c)\
( r == 0 ? ( c == 0 ? s(x,0) : c == 1 ? s(x,1) : c == 2 ? s(x,2) : s(x,3))\
: r == 1 ? ( c == 0 ? s(x,1) : c == 1 ? s(x,2) : c == 2 ? s(x,3) : s(x,0))\
: r == 2 ? ( c == 0 ? s(x,2) : c == 1 ? s(x,3) : c == 2 ? s(x,0) : s(x,1))\
: ( c == 0 ? s(x,3) : c == 1 ? s(x,0) : c == 2 ? s(x,1) : s(x,2)))
#if defined(FT4_SET)
#undef dec_fmvars
#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(f,n),fwd_var,rf1,c))
#elif defined(FT1_SET)
#undef dec_fmvars
#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,upr,t_use(f,n),fwd_var,rf1,c))
#else
#define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ fwd_mcol(no_table(x,t_use(s,box),fwd_var,rf1,c)))
#endif
#if defined(FL4_SET)
#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(f,l),fwd_var,rf1,c))
#elif defined(FL1_SET)
#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,ups,t_use(f,l),fwd_var,rf1,c))
#else
#define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ no_table(x,t_use(s,box),fwd_var,rf1,c))
#endif
aes_rval aes_encrypt(const void *in_blk, void *out_blk, const aes_encrypt_ctx cx[1])
{ aes_32t locals(b0, b1);
const aes_32t *kp = cx->ks;
#ifdef dec_fmvars
dec_fmvars; /* declare variables for fwd_mcol() if needed */
#endif
aes_32t nr = (kp[45] ^ kp[52] ^ kp[53] ? kp[52] : 14);
#ifdef AES_ERR_CHK
if( (nr != 10 || !(kp[0] | kp[3] | kp[4]))
&& (nr != 12 || !(kp[0] | kp[5] | kp[6]))
&& (nr != 14 || !(kp[0] | kp[7] | kp[8])) )
return aes_error;
#endif
state_in(b0, in_blk, kp);
#if (ENC_UNROLL == FULL)
switch(nr)
{
case 14:
round(fwd_rnd, b1, b0, kp + 1 * N_COLS);
round(fwd_rnd, b0, b1, kp + 2 * N_COLS);
kp += 2 * N_COLS;
case 12:
round(fwd_rnd, b1, b0, kp + 1 * N_COLS);
round(fwd_rnd, b0, b1, kp + 2 * N_COLS);
kp += 2 * N_COLS;
case 10:
round(fwd_rnd, b1, b0, kp + 1 * N_COLS);
round(fwd_rnd, b0, b1, kp + 2 * N_COLS);
round(fwd_rnd, b1, b0, kp + 3 * N_COLS);
round(fwd_rnd, b0, b1, kp + 4 * N_COLS);
round(fwd_rnd, b1, b0, kp + 5 * N_COLS);
round(fwd_rnd, b0, b1, kp + 6 * N_COLS);
round(fwd_rnd, b1, b0, kp + 7 * N_COLS);
round(fwd_rnd, b0, b1, kp + 8 * N_COLS);
round(fwd_rnd, b1, b0, kp + 9 * N_COLS);
round(fwd_lrnd, b0, b1, kp +10 * N_COLS);
}
#else
#if (ENC_UNROLL == PARTIAL)
{ aes_32t rnd;
for(rnd = 0; rnd < (nr >> 1) - 1; ++rnd)
{
kp += N_COLS;
round(fwd_rnd, b1, b0, kp);
kp += N_COLS;
round(fwd_rnd, b0, b1, kp);
}
kp += N_COLS;
round(fwd_rnd, b1, b0, kp);
#else
{ aes_32t rnd;
for(rnd = 0; rnd < nr - 1; ++rnd)
{
kp += N_COLS;
round(fwd_rnd, b1, b0, kp);
l_copy(b0, b1);
}
#endif
kp += N_COLS;
round(fwd_lrnd, b0, b1, kp);
}
#endif
state_out(out_blk, b0);
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(DECRYPTION) && !defined(AES_ASM)
/* Visual C++ .Net v7.1 provides the fastest encryption code when using
Pentium optimiation with small code but this is poor for decryption
so we need to control this with the following VC++ pragmas
*/
#if defined(_MSC_VER)
#pragma optimize( "t", on )
#endif
/* Given the column (c) of the output state variable, the following
macros give the input state variables which are needed in its
computation for each row (r) of the state. All the alternative
macros give the same end values but expand into different ways
of calculating these values. In particular the complex macro
used for dynamically variable block sizes is designed to expand
to a compile time constant whenever possible but will expand to
conditional clauses on some branches (I am grateful to Frank
Yellin for this construction)
*/
#define inv_var(x,r,c)\
( r == 0 ? ( c == 0 ? s(x,0) : c == 1 ? s(x,1) : c == 2 ? s(x,2) : s(x,3))\
: r == 1 ? ( c == 0 ? s(x,3) : c == 1 ? s(x,0) : c == 2 ? s(x,1) : s(x,2))\
: r == 2 ? ( c == 0 ? s(x,2) : c == 1 ? s(x,3) : c == 2 ? s(x,0) : s(x,1))\
: ( c == 0 ? s(x,1) : c == 1 ? s(x,2) : c == 2 ? s(x,3) : s(x,0)))
#if defined(IT4_SET)
#undef dec_imvars
#define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(i,n),inv_var,rf1,c))
#elif defined(IT1_SET)
#undef dec_imvars
#define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,upr,t_use(i,n),inv_var,rf1,c))
#else
#define inv_rnd(y,x,k,c) (s(y,c) = inv_mcol((k)[c] ^ no_table(x,t_use(i,box),inv_var,rf1,c)))
#endif
#if defined(IL4_SET)
#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(i,l),inv_var,rf1,c))
#elif defined(IL1_SET)
#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,ups,t_use(i,l),inv_var,rf1,c))
#else
#define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ no_table(x,t_use(i,box),inv_var,rf1,c))
#endif
aes_rval aes_decrypt(const void *in_blk, void *out_blk, const aes_decrypt_ctx cx[1])
{ aes_32t locals(b0, b1);
#ifdef dec_imvars
dec_imvars; /* declare variables for inv_mcol() if needed */
#endif
aes_32t nr = (cx->ks[45] ^ cx->ks[52] ^ cx->ks[53] ? cx->ks[52] : 14);
const aes_32t *kp = cx->ks + nr * N_COLS;
#ifdef AES_ERR_CHK
if( (nr != 10 || !(cx->ks[0] | cx->ks[3] | cx->ks[4]))
&& (nr != 12 || !(cx->ks[0] | cx->ks[5] | cx->ks[6]))
&& (nr != 14 || !(cx->ks[0] | cx->ks[7] | cx->ks[8])) )
return aes_error;
#endif
state_in(b0, in_blk, kp);
#if (DEC_UNROLL == FULL)
switch(nr)
{
case 14:
round(inv_rnd, b1, b0, kp - 1 * N_COLS);
round(inv_rnd, b0, b1, kp - 2 * N_COLS);
kp -= 2 * N_COLS;
case 12:
round(inv_rnd, b1, b0, kp - 1 * N_COLS);
round(inv_rnd, b0, b1, kp - 2 * N_COLS);
kp -= 2 * N_COLS;
case 10:
round(inv_rnd, b1, b0, kp - 1 * N_COLS);
round(inv_rnd, b0, b1, kp - 2 * N_COLS);
round(inv_rnd, b1, b0, kp - 3 * N_COLS);
round(inv_rnd, b0, b1, kp - 4 * N_COLS);
round(inv_rnd, b1, b0, kp - 5 * N_COLS);
round(inv_rnd, b0, b1, kp - 6 * N_COLS);
round(inv_rnd, b1, b0, kp - 7 * N_COLS);
round(inv_rnd, b0, b1, kp - 8 * N_COLS);
round(inv_rnd, b1, b0, kp - 9 * N_COLS);
round(inv_lrnd, b0, b1, kp - 10 * N_COLS);
}
#else
#if (DEC_UNROLL == PARTIAL)
{ aes_32t rnd;
for(rnd = 0; rnd < (nr >> 1) - 1; ++rnd)
{
kp -= N_COLS;
round(inv_rnd, b1, b0, kp);
kp -= N_COLS;
round(inv_rnd, b0, b1, kp);
}
kp -= N_COLS;
round(inv_rnd, b1, b0, kp);
#else
{ aes_32t rnd;
for(rnd = 0; rnd < nr - 1; ++rnd)
{
kp -= N_COLS;
round(inv_rnd, b1, b0, kp);
l_copy(b0, b1);
}
#endif
kp -= N_COLS;
round(inv_lrnd, b0, b1, kp);
}
#endif
state_out(out_blk, b0);
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(__cplusplus)
}
#endif

463
aeskey.c Normal file
View File

@@ -0,0 +1,463 @@
/*
---------------------------------------------------------------------------
Copyright (c) 2003, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
All rights reserved.
LICENSE TERMS
The free distribution and use of this software in both source and binary
form is allowed (with or without changes) provided that:
1. distributions of this source code include the above copyright
notice, this list of conditions and the following disclaimer;
2. distributions in binary form include the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other associated materials;
3. the copyright holder's name is not used to endorse products
built using this software without specific written permission.
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
DISCLAIMER
This software is provided 'as is' with no explicit or implied warranties
in respect of its properties, including, but not limited to, correctness
and/or fitness for purpose.
---------------------------------------------------------------------------
Issue Date: 26/08/2003
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.
*/
#include "aesopt.h"
#if defined(__cplusplus)
extern "C"
{
#endif
/* Initialise the key schedule from the user supplied key. The key
length can be specified in bytes, with legal values of 16, 24
and 32, or in bits, with legal values of 128, 192 and 256. These
values correspond with Nk values of 4, 6 and 8 respectively.
The following macros implement a single cycle in the key
schedule generation process. The number of cycles needed
for each cx->n_col and nk value is:
nk = 4 5 6 7 8
------------------------------
cx->n_col = 4 10 9 8 7 7
cx->n_col = 5 14 11 10 9 9
cx->n_col = 6 19 15 12 11 11
cx->n_col = 7 21 19 16 13 14
cx->n_col = 8 29 23 19 17 14
*/
#define ke4(k,i) \
{ k[4*(i)+4] = ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; k[4*(i)+5] = ss[1] ^= ss[0]; \
k[4*(i)+6] = ss[2] ^= ss[1]; k[4*(i)+7] = ss[3] ^= ss[2]; \
}
#define kel4(k,i) \
{ k[4*(i)+4] = ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; k[4*(i)+5] = ss[1] ^= ss[0]; \
k[4*(i)+6] = ss[2] ^= ss[1]; k[4*(i)+7] = ss[3] ^= ss[2]; \
}
#define ke6(k,i) \
{ k[6*(i)+ 6] = ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; k[6*(i)+ 7] = ss[1] ^= ss[0]; \
k[6*(i)+ 8] = ss[2] ^= ss[1]; k[6*(i)+ 9] = ss[3] ^= ss[2]; \
k[6*(i)+10] = ss[4] ^= ss[3]; k[6*(i)+11] = ss[5] ^= ss[4]; \
}
#define kel6(k,i) \
{ k[6*(i)+ 6] = ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; k[6*(i)+ 7] = ss[1] ^= ss[0]; \
k[6*(i)+ 8] = ss[2] ^= ss[1]; k[6*(i)+ 9] = ss[3] ^= ss[2]; \
}
#define ke8(k,i) \
{ k[8*(i)+ 8] = ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; k[8*(i)+ 9] = ss[1] ^= ss[0]; \
k[8*(i)+10] = ss[2] ^= ss[1]; k[8*(i)+11] = ss[3] ^= ss[2]; \
k[8*(i)+12] = ss[4] ^= ls_box(ss[3],0); k[8*(i)+13] = ss[5] ^= ss[4]; \
k[8*(i)+14] = ss[6] ^= ss[5]; k[8*(i)+15] = ss[7] ^= ss[6]; \
}
#define kel8(k,i) \
{ k[8*(i)+ 8] = ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; k[8*(i)+ 9] = ss[1] ^= ss[0]; \
k[8*(i)+10] = ss[2] ^= ss[1]; k[8*(i)+11] = ss[3] ^= ss[2]; \
}
#if defined(ENCRYPTION_KEY_SCHEDULE)
#if defined(AES_128) || defined(AES_VAR)
aes_rval aes_encrypt_key128(const void *in_key, aes_encrypt_ctx cx[1])
{ aes_32t ss[4];
cx->ks[0] = ss[0] = word_in(in_key, 0);
cx->ks[1] = ss[1] = word_in(in_key, 1);
cx->ks[2] = ss[2] = word_in(in_key, 2);
cx->ks[3] = ss[3] = word_in(in_key, 3);
#if ENC_UNROLL == NONE
{ aes_32t i;
for(i = 0; i < ((11 * N_COLS - 1) / 4); ++i)
ke4(cx->ks, i);
}
#else
ke4(cx->ks, 0); ke4(cx->ks, 1);
ke4(cx->ks, 2); ke4(cx->ks, 3);
ke4(cx->ks, 4); ke4(cx->ks, 5);
ke4(cx->ks, 6); ke4(cx->ks, 7);
ke4(cx->ks, 8); kel4(cx->ks, 9);
#endif
/* cx->ks[45] ^ cx->ks[52] ^ cx->ks[53] is zero for a 256 bit */
/* key and must be non-zero for 128 and 192 bits keys */
cx->ks[53] = cx->ks[45] = 0;
cx->ks[52] = 10;
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(AES_192) || defined(AES_VAR)
aes_rval aes_encrypt_key192(const void *in_key, aes_encrypt_ctx cx[1])
{ aes_32t ss[6];
cx->ks[0] = ss[0] = word_in(in_key, 0);
cx->ks[1] = ss[1] = word_in(in_key, 1);
cx->ks[2] = ss[2] = word_in(in_key, 2);
cx->ks[3] = ss[3] = word_in(in_key, 3);
cx->ks[4] = ss[4] = word_in(in_key, 4);
cx->ks[5] = ss[5] = word_in(in_key, 5);
#if ENC_UNROLL == NONE
{ aes_32t i;
for(i = 0; i < (13 * N_COLS - 1) / 6; ++i)
ke6(cx->ks, i);
}
#else
ke6(cx->ks, 0); ke6(cx->ks, 1);
ke6(cx->ks, 2); ke6(cx->ks, 3);
ke6(cx->ks, 4); ke6(cx->ks, 5);
ke6(cx->ks, 6); kel6(cx->ks, 7);
#endif
/* cx->ks[45] ^ cx->ks[52] ^ cx->ks[53] is zero for a 256 bit */
/* key and must be non-zero for 128 and 192 bits keys */
cx->ks[53] = cx->ks[45];
cx->ks[52] = 12;
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(AES_256) || defined(AES_VAR)
aes_rval aes_encrypt_key256(const void *in_key, aes_encrypt_ctx cx[1])
{ aes_32t ss[8];
cx->ks[0] = ss[0] = word_in(in_key, 0);
cx->ks[1] = ss[1] = word_in(in_key, 1);
cx->ks[2] = ss[2] = word_in(in_key, 2);
cx->ks[3] = ss[3] = word_in(in_key, 3);
cx->ks[4] = ss[4] = word_in(in_key, 4);
cx->ks[5] = ss[5] = word_in(in_key, 5);
cx->ks[6] = ss[6] = word_in(in_key, 6);
cx->ks[7] = ss[7] = word_in(in_key, 7);
#if ENC_UNROLL == NONE
{ aes_32t i;
for(i = 0; i < (15 * N_COLS - 1) / 8; ++i)
ke8(cx->ks, i);
}
#else
ke8(cx->ks, 0); ke8(cx->ks, 1);
ke8(cx->ks, 2); ke8(cx->ks, 3);
ke8(cx->ks, 4); ke8(cx->ks, 5);
kel8(cx->ks, 6);
#endif
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(AES_VAR)
aes_rval aes_encrypt_key(const void *in_key, int key_len, aes_encrypt_ctx cx[1])
{
switch(key_len)
{
#ifdef AES_ERR_CHK
case 16: case 128: return aes_encrypt_key128(in_key, cx);
case 24: case 192: return aes_encrypt_key192(in_key, cx);
case 32: case 256: return aes_encrypt_key256(in_key, cx);
default: return aes_error;
#else
case 16: case 128: aes_encrypt_key128(in_key, cx); return;
case 24: case 192: aes_encrypt_key192(in_key, cx); return;
case 32: case 256: aes_encrypt_key256(in_key, cx); return;
#endif
}
}
#endif
#endif
#if defined(DECRYPTION_KEY_SCHEDULE)
#if DEC_ROUND == NO_TABLES
#define ff(x) (x)
#else
#define ff(x) inv_mcol(x)
#ifdef dec_imvars
#define d_vars dec_imvars
#endif
#endif
#if 1
#define kdf4(k,i) \
{ ss[0] = ss[0] ^ ss[2] ^ ss[1] ^ ss[3]; ss[1] = ss[1] ^ ss[3]; ss[2] = ss[2] ^ ss[3]; ss[3] = ss[3]; \
ss[4] = ls_box(ss[(i+3) % 4], 3) ^ t_use(r,c)[i]; ss[i % 4] ^= ss[4]; \
ss[4] ^= k[4*(i)]; k[4*(i)+4] = ff(ss[4]); ss[4] ^= k[4*(i)+1]; k[4*(i)+5] = ff(ss[4]); \
ss[4] ^= k[4*(i)+2]; k[4*(i)+6] = ff(ss[4]); ss[4] ^= k[4*(i)+3]; k[4*(i)+7] = ff(ss[4]); \
}
#define kd4(k,i) \
{ ss[4] = ls_box(ss[(i+3) % 4], 3) ^ t_use(r,c)[i]; ss[i % 4] ^= ss[4]; ss[4] = ff(ss[4]); \
k[4*(i)+4] = ss[4] ^= k[4*(i)]; k[4*(i)+5] = ss[4] ^= k[4*(i)+1]; \
k[4*(i)+6] = ss[4] ^= k[4*(i)+2]; k[4*(i)+7] = ss[4] ^= k[4*(i)+3]; \
}
#define kdl4(k,i) \
{ ss[4] = ls_box(ss[(i+3) % 4], 3) ^ t_use(r,c)[i]; ss[i % 4] ^= ss[4]; \
k[4*(i)+4] = (ss[0] ^= ss[1]) ^ ss[2] ^ ss[3]; k[4*(i)+5] = ss[1] ^ ss[3]; \
k[4*(i)+6] = ss[0]; k[4*(i)+7] = ss[1]; \
}
#else
#define kdf4(k,i) \
{ ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; k[4*(i)+ 4] = ff(ss[0]); ss[1] ^= ss[0]; k[4*(i)+ 5] = ff(ss[1]); \
ss[2] ^= ss[1]; k[4*(i)+ 6] = ff(ss[2]); ss[3] ^= ss[2]; k[4*(i)+ 7] = ff(ss[3]); \
}
#define kd4(k,i) \
{ ss[4] = ls_box(ss[3],3) ^ t_use(r,c)[i]; \
ss[0] ^= ss[4]; ss[4] = ff(ss[4]); k[4*(i)+ 4] = ss[4] ^= k[4*(i)]; \
ss[1] ^= ss[0]; k[4*(i)+ 5] = ss[4] ^= k[4*(i)+ 1]; \
ss[2] ^= ss[1]; k[4*(i)+ 6] = ss[4] ^= k[4*(i)+ 2]; \
ss[3] ^= ss[2]; k[4*(i)+ 7] = ss[4] ^= k[4*(i)+ 3]; \
}
#define kdl4(k,i) \
{ ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; k[4*(i)+ 4] = ss[0]; ss[1] ^= ss[0]; k[4*(i)+ 5] = ss[1]; \
ss[2] ^= ss[1]; k[4*(i)+ 6] = ss[2]; ss[3] ^= ss[2]; k[4*(i)+ 7] = ss[3]; \
}
#endif
#define kdf6(k,i) \
{ ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; k[6*(i)+ 6] = ff(ss[0]); ss[1] ^= ss[0]; k[6*(i)+ 7] = ff(ss[1]); \
ss[2] ^= ss[1]; k[6*(i)+ 8] = ff(ss[2]); ss[3] ^= ss[2]; k[6*(i)+ 9] = ff(ss[3]); \
ss[4] ^= ss[3]; k[6*(i)+10] = ff(ss[4]); ss[5] ^= ss[4]; k[6*(i)+11] = ff(ss[5]); \
}
#define kd6(k,i) \
{ ss[6] = ls_box(ss[5],3) ^ t_use(r,c)[i]; \
ss[0] ^= ss[6]; ss[6] = ff(ss[6]); k[6*(i)+ 6] = ss[6] ^= k[6*(i)]; \
ss[1] ^= ss[0]; k[6*(i)+ 7] = ss[6] ^= k[6*(i)+ 1]; \
ss[2] ^= ss[1]; k[6*(i)+ 8] = ss[6] ^= k[6*(i)+ 2]; \
ss[3] ^= ss[2]; k[6*(i)+ 9] = ss[6] ^= k[6*(i)+ 3]; \
ss[4] ^= ss[3]; k[6*(i)+10] = ss[6] ^= k[6*(i)+ 4]; \
ss[5] ^= ss[4]; k[6*(i)+11] = ss[6] ^= k[6*(i)+ 5]; \
}
#define kdl6(k,i) \
{ ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; k[6*(i)+ 6] = ss[0]; ss[1] ^= ss[0]; k[6*(i)+ 7] = ss[1]; \
ss[2] ^= ss[1]; k[6*(i)+ 8] = ss[2]; ss[3] ^= ss[2]; k[6*(i)+ 9] = ss[3]; \
}
#define kdf8(k,i) \
{ ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; k[8*(i)+ 8] = ff(ss[0]); ss[1] ^= ss[0]; k[8*(i)+ 9] = ff(ss[1]); \
ss[2] ^= ss[1]; k[8*(i)+10] = ff(ss[2]); ss[3] ^= ss[2]; k[8*(i)+11] = ff(ss[3]); \
ss[4] ^= ls_box(ss[3],0); k[8*(i)+12] = ff(ss[4]); ss[5] ^= ss[4]; k[8*(i)+13] = ff(ss[5]); \
ss[6] ^= ss[5]; k[8*(i)+14] = ff(ss[6]); ss[7] ^= ss[6]; k[8*(i)+15] = ff(ss[7]); \
}
#define kd8(k,i) \
{ aes_32t g = ls_box(ss[7],3) ^ t_use(r,c)[i]; \
ss[0] ^= g; g = ff(g); k[8*(i)+ 8] = g ^= k[8*(i)]; \
ss[1] ^= ss[0]; k[8*(i)+ 9] = g ^= k[8*(i)+ 1]; \
ss[2] ^= ss[1]; k[8*(i)+10] = g ^= k[8*(i)+ 2]; \
ss[3] ^= ss[2]; k[8*(i)+11] = g ^= k[8*(i)+ 3]; \
g = ls_box(ss[3],0); \
ss[4] ^= g; g = ff(g); k[8*(i)+12] = g ^= k[8*(i)+ 4]; \
ss[5] ^= ss[4]; k[8*(i)+13] = g ^= k[8*(i)+ 5]; \
ss[6] ^= ss[5]; k[8*(i)+14] = g ^= k[8*(i)+ 6]; \
ss[7] ^= ss[6]; k[8*(i)+15] = g ^= k[8*(i)+ 7]; \
}
#define kdl8(k,i) \
{ ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; k[8*(i)+ 8] = ss[0]; ss[1] ^= ss[0]; k[8*(i)+ 9] = ss[1]; \
ss[2] ^= ss[1]; k[8*(i)+10] = ss[2]; ss[3] ^= ss[2]; k[8*(i)+11] = ss[3]; \
}
#if defined(AES_128) || defined(AES_VAR)
aes_rval aes_decrypt_key128(const void *in_key, aes_decrypt_ctx cx[1])
{ aes_32t ss[5];
#ifdef d_vars
d_vars;
#endif
cx->ks[0] = ss[0] = word_in(in_key, 0);
cx->ks[1] = ss[1] = word_in(in_key, 1);
cx->ks[2] = ss[2] = word_in(in_key, 2);
cx->ks[3] = ss[3] = word_in(in_key, 3);
#if DEC_UNROLL == NONE
{ aes_32t i;
for(i = 0; i < (11 * N_COLS - 1) / 4; ++i)
ke4(cx->ks, i);
#if !(DEC_ROUND == NO_TABLES)
for(i = N_COLS; i < 10 * N_COLS; ++i)
cx->ks[i] = inv_mcol(cx->ks[i]);
#endif
}
#else
kdf4(cx->ks, 0); kd4(cx->ks, 1);
kd4(cx->ks, 2); kd4(cx->ks, 3);
kd4(cx->ks, 4); kd4(cx->ks, 5);
kd4(cx->ks, 6); kd4(cx->ks, 7);
kd4(cx->ks, 8); kdl4(cx->ks, 9);
#endif
/* cx->ks[45] ^ cx->ks[52] ^ cx->ks[53] is zero for a 256 bit */
/* key and must be non-zero for 128 and 192 bits keys */
cx->ks[53] = cx->ks[45] = 0;
cx->ks[52] = 10;
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(AES_192) || defined(AES_VAR)
aes_rval aes_decrypt_key192(const void *in_key, aes_decrypt_ctx cx[1])
{ aes_32t ss[7];
#ifdef d_vars
d_vars;
#endif
cx->ks[0] = ss[0] = word_in(in_key, 0);
cx->ks[1] = ss[1] = word_in(in_key, 1);
cx->ks[2] = ss[2] = word_in(in_key, 2);
cx->ks[3] = ss[3] = word_in(in_key, 3);
#if DEC_UNROLL == NONE
cx->ks[4] = ss[4] = word_in(in_key, 4);
cx->ks[5] = ss[5] = word_in(in_key, 5);
{ aes_32t i;
for(i = 0; i < (13 * N_COLS - 1) / 6; ++i)
ke6(cx->ks, i);
#if !(DEC_ROUND == NO_TABLES)
for(i = N_COLS; i < 12 * N_COLS; ++i)
cx->ks[i] = inv_mcol(cx->ks[i]);
#endif
}
#else
cx->ks[4] = ff(ss[4] = word_in(in_key, 4));
cx->ks[5] = ff(ss[5] = word_in(in_key, 5));
kdf6(cx->ks, 0); kd6(cx->ks, 1);
kd6(cx->ks, 2); kd6(cx->ks, 3);
kd6(cx->ks, 4); kd6(cx->ks, 5);
kd6(cx->ks, 6); kdl6(cx->ks, 7);
#endif
/* cx->ks[45] ^ cx->ks[52] ^ cx->ks[53] is zero for a 256 bit */
/* key and must be non-zero for 128 and 192 bits keys */
cx->ks[53] = cx->ks[45];
cx->ks[52] = 12;
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(AES_256) || defined(AES_VAR)
aes_rval aes_decrypt_key256(const void *in_key, aes_decrypt_ctx cx[1])
{ aes_32t ss[8];
#ifdef d_vars
d_vars;
#endif
cx->ks[0] = ss[0] = word_in(in_key, 0);
cx->ks[1] = ss[1] = word_in(in_key, 1);
cx->ks[2] = ss[2] = word_in(in_key, 2);
cx->ks[3] = ss[3] = word_in(in_key, 3);
#if DEC_UNROLL == NONE
cx->ks[4] = ss[4] = word_in(in_key, 4);
cx->ks[5] = ss[5] = word_in(in_key, 5);
cx->ks[6] = ss[6] = word_in(in_key, 6);
cx->ks[7] = ss[7] = word_in(in_key, 7);
{ aes_32t i;
for(i = 0; i < (15 * N_COLS - 1) / 8; ++i)
ke8(cx->ks, i);
#if !(DEC_ROUND == NO_TABLES)
for(i = N_COLS; i < 14 * N_COLS; ++i)
cx->ks[i] = inv_mcol(cx->ks[i]);
#endif
}
#else
cx->ks[4] = ff(ss[4] = word_in(in_key, 4));
cx->ks[5] = ff(ss[5] = word_in(in_key, 5));
cx->ks[6] = ff(ss[6] = word_in(in_key, 6));
cx->ks[7] = ff(ss[7] = word_in(in_key, 7));
kdf8(cx->ks, 0); kd8(cx->ks, 1);
kd8(cx->ks, 2); kd8(cx->ks, 3);
kd8(cx->ks, 4); kd8(cx->ks, 5);
kdl8(cx->ks, 6);
#endif
#ifdef AES_ERR_CHK
return aes_good;
#endif
}
#endif
#if defined(AES_VAR)
aes_rval aes_decrypt_key(const void *in_key, int key_len, aes_decrypt_ctx cx[1])
{
switch(key_len)
{
#ifdef AES_ERR_CHK
case 16: case 128: return aes_decrypt_key128(in_key, cx);
case 24: case 192: return aes_decrypt_key192(in_key, cx);
case 32: case 256: return aes_decrypt_key256(in_key, cx);
default: return aes_error;
#else
case 16: case 128: aes_decrypt_key128(in_key, cx); return;
case 24: case 192: aes_decrypt_key192(in_key, cx); return;
case 32: case 256: aes_decrypt_key256(in_key, cx); return;
#endif
}
}
#endif
#endif
#if defined(__cplusplus)
}
#endif

1047
aesopt.h Normal file

File diff suppressed because it is too large Load Diff

232
aestab.c Normal file
View File

@@ -0,0 +1,232 @@
/*
---------------------------------------------------------------------------
Copyright (c) 2003, Dr Brian Gladman <brg@gladman.me.uk>, Worcester, UK.
All rights reserved.
LICENSE TERMS
The free distribution and use of this software in both source and binary
form is allowed (with or without changes) provided that:
1. distributions of this source code include the above copyright
notice, this list of conditions and the following disclaimer;
2. distributions in binary form include the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other associated materials;
3. the copyright holder's name is not used to endorse products
built using this software without specific written permission.
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
DISCLAIMER
This software is provided 'as is' with no explicit or implied warranties
in respect of its properties, including, but not limited to, correctness
and/or fitness for purpose.
---------------------------------------------------------------------------
Issue Date: 26/08/2003
*/
#if defined(__cplusplus)
extern "C"
{
#endif
#define DO_TABLES
#include "aesopt.h"
#if defined(FIXED_TABLES)
/* implemented in case of wrong call for fixed tables */
void gen_tabs(void)
{
}
#else /* dynamic table generation */
#if !defined(FF_TABLES)
/* Generate the tables for the dynamic table option
It will generally be sensible to use tables to compute finite
field multiplies and inverses but where memory is scarse this
code might sometimes be better. But it only has effect during
initialisation so its pretty unimportant in overall terms.
*/
/* return 2 ^ (n - 1) where n is the bit number of the highest bit
set in x with x in the range 1 < x < 0x00000200. This form is
used so that locals within fi can be bytes rather than words
*/
static aes_08t hibit(const aes_32t x)
{ aes_08t r = (aes_08t)((x >> 1) | (x >> 2));
r |= (r >> 2);
r |= (r >> 4);
return (r + 1) >> 1;
}
/* return the inverse of the finite field element x */
static aes_08t fi(const aes_08t x)
{ aes_08t p1 = x, p2 = BPOLY, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0;
if(x < 2) return x;
for(;;)
{
if(!n1) return v1;
while(n2 >= n1)
{
n2 /= n1; p2 ^= p1 * n2; v2 ^= v1 * n2; n2 = hibit(p2);
}
if(!n2) return v2;
while(n1 >= n2)
{
n1 /= n2; p1 ^= p2 * n1; v1 ^= v2 * n1; n1 = hibit(p1);
}
}
}
#endif
/* The forward and inverse affine transformations used in the S-box */
#define fwd_affine(x) \
(w = (aes_32t)x, w ^= (w<<1)^(w<<2)^(w<<3)^(w<<4), 0x63^(aes_08t)(w^(w>>8)))
#define inv_affine(x) \
(w = (aes_32t)x, w = (w<<1)^(w<<3)^(w<<6), 0x05^(aes_08t)(w^(w>>8)))
static int init = 0;
void gen_tabs(void)
{ aes_32t i, w;
#if defined(FF_TABLES)
aes_08t pow[512], log[256];
if(init) return;
/* log and power tables for GF(2^8) finite field with
WPOLY as modular polynomial - the simplest primitive
root is 0x03, used here to generate the tables
*/
i = 0; w = 1;
do
{
pow[i] = (aes_08t)w;
pow[i + 255] = (aes_08t)w;
log[w] = (aes_08t)i++;
w ^= (w << 1) ^ (w & 0x80 ? WPOLY : 0);
}
while (w != 1);
#else
if(init) return;
#endif
for(i = 0, w = 1; i < RC_LENGTH; ++i)
{
t_set(r,c)[i] = bytes2word(w, 0, 0, 0);
w = f2(w);
}
for(i = 0; i < 256; ++i)
{ aes_08t b;
b = fwd_affine(fi((aes_08t)i));
w = bytes2word(f2(b), b, b, f3(b));
#ifdef SBX_SET
t_set(s,box)[i] = b;
#endif
#ifdef FT1_SET /* tables for a normal encryption round */
t_set(f,n)[i] = w;
#endif
#ifdef FT4_SET
t_set(f,n)[0][i] = w;
t_set(f,n)[1][i] = upr(w,1);
t_set(f,n)[2][i] = upr(w,2);
t_set(f,n)[3][i] = upr(w,3);
#endif
w = bytes2word(b, 0, 0, 0);
#ifdef FL1_SET /* tables for last encryption round (may also */
t_set(f,l)[i] = w; /* be used in the key schedule) */
#endif
#ifdef FL4_SET
t_set(f,l)[0][i] = w;
t_set(f,l)[1][i] = upr(w,1);
t_set(f,l)[2][i] = upr(w,2);
t_set(f,l)[3][i] = upr(w,3);
#endif
#ifdef LS1_SET /* table for key schedule if t_set(f,l) above is */
t_set(l,s)[i] = w; /* not of the required form */
#endif
#ifdef LS4_SET
t_set(l,s)[0][i] = w;
t_set(l,s)[1][i] = upr(w,1);
t_set(l,s)[2][i] = upr(w,2);
t_set(l,s)[3][i] = upr(w,3);
#endif
b = fi(inv_affine((aes_08t)i));
w = bytes2word(fe(b), f9(b), fd(b), fb(b));
#ifdef IM1_SET /* tables for the inverse mix column operation */
t_set(i,m)[b] = w;
#endif
#ifdef IM4_SET
t_set(i,m)[0][b] = w;
t_set(i,m)[1][b] = upr(w,1);
t_set(i,m)[2][b] = upr(w,2);
t_set(i,m)[3][b] = upr(w,3);
#endif
#ifdef ISB_SET
t_set(i,box)[i] = b;
#endif
#ifdef IT1_SET /* tables for a normal decryption round */
t_set(i,n)[i] = w;
#endif
#ifdef IT4_SET
t_set(i,n)[0][i] = w;
t_set(i,n)[1][i] = upr(w,1);
t_set(i,n)[2][i] = upr(w,2);
t_set(i,n)[3][i] = upr(w,3);
#endif
w = bytes2word(b, 0, 0, 0);
#ifdef IL1_SET /* tables for last decryption round */
t_set(i,l)[i] = w;
#endif
#ifdef IL4_SET
t_set(i,l)[0][i] = w;
t_set(i,l)[1][i] = upr(w,1);
t_set(i,l)[2][i] = upr(w,2);
t_set(i,l)[3][i] = upr(w,3);
#endif
}
init = 1;
}
#endif
#if defined(__cplusplus)
}
#endif

82
agi/DialAnMp3.agi Normal file
View File

@@ -0,0 +1,82 @@
#!/usr/bin/perl
#
# Simple AGI application to play mp3's selected by a user both using
# xmms and over the phone itself.
#
$|=1;
while(<STDIN>) {
chomp;
last unless length($_);
if (/^agi_(\w+)\:\s+(.*)$/) {
$AGI{$1} = $2;
}
}
print STDERR "AGI Environment Dump:\n";
foreach $i (sort keys %AGI) {
print STDERR " -- $i = $AGI{$i}\n";
}
dbmopen(%DIGITS, "/var/lib/asterisk/mp3list", 0644) || die("Unable to open mp3list");;
sub checkresult {
my ($res) = @_;
my $retval;
$tests++;
chomp $res;
if ($res =~ /^200/) {
$res =~ /result=(-?[\w\*\#]+)/;
return $1;
} else {
return -1;
}
}
#print STDERR "1. Playing beep...\n";
#print "STREAM FILE beep \"\"\n";
#$result = <STDIN>;
#checkresult($result);
print STDERR "2. Getting song name...\n";
print "GET DATA demo-enterkeywords\n";
$result = <STDIN>;
$digitstr = checkresult($result);
if ($digitstr < 0) {
exit(1);
}
$digitstr =~ s/\*/ /g;
print STDERR "Resulting songname is $digitstr\n";
@searchwords = split (/\s+/, $digitstr);
print STDERR "Searchwords: " . join(':', @searchwords) . "\n";
foreach $key (sort keys %DIGITS) {
@words = split(/\s+/, $DIGITS{$key});
$match = 1;
foreach $search (@searchwords) {
$match = 0 unless grep(/$search/, @words);
}
if ($match > 0) {
print STDERR "File $key matches\n";
# Play a beep
print "STREAM FILE beep \"\"\n";
system("xmms", $key);
$result = <STDIN>;
if (&checkresult($result) < 0) {
exit 0;
}
print "EXEC MP3Player \"$key\"\n";
# print "WAIT FOR DIGIT 60000\n";
$result = <STDIN>;
if (&checkresult($result) < 0) {
exit 0;
}
print STDERR "Got here...\n";
}
}
print STDERR "4. Testing 'saynumber' of $digitstr...\n";
print "STREAM FILE demo-nomatch\"\"\n";
$result = <STDIN>;
checkresult($result);

43
agi/Makefile Normal file
View File

@@ -0,0 +1,43 @@
#
# Asterisk -- A telephony toolkit for Linux.
#
# Makefile for PBX frontends (dynamically loaded)
#
# 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
#
AGIS=agi-test.agi eagi-test eagi-sphinx-test
CFLAGS+=
all: depend $(AGIS)
install: all
mkdir -p $(DESTDIR)$(AGI_DIR)
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
eagi-sphinx-test: eagi-sphinx-test.o
$(CC) $(CFLAGS) -o eagi-sphinx-test eagi-sphinx-test.o
clean:
rm -f *.so *.o look .depend eagi-test eagi-sphinx-test
%.so : %.o
$(CC) -shared -Xlinker -x -o $@ $<
ifneq ($(wildcard .depend),)
include .depend
endif
depend: .depend
.depend:
../mkdep $(CFLAGS) `ls *.c`

79
agi/agi-test.agi Normal file
View File

@@ -0,0 +1,79 @@
#!/usr/bin/perl
use strict;
$|=1;
# Setup some variables
my %AGI; my $tests = 0; my $fail = 0; my $pass = 0;
while(<STDIN>) {
chomp;
last unless length($_);
if (/^agi_(\w+)\:\s+(.*)$/) {
$AGI{$1} = $2;
}
}
print STDERR "AGI Environment Dump:\n";
foreach my $i (sort keys %AGI) {
print STDERR " -- $i = $AGI{$i}\n";
}
sub checkresult {
my ($res) = @_;
my $retval;
$tests++;
chomp $res;
if ($res =~ /^200/) {
$res =~ /result=(-?\d+)/;
if (!length($1)) {
print STDERR "FAIL ($res)\n";
$fail++;
} else {
print STDERR "PASS ($1)\n";
$pass++;
}
} else {
print STDERR "FAIL (unexpected result '$res')\n";
$fail++;
}
}
print STDERR "1. Testing 'sendfile'...";
print "STREAM FILE beep \"\"\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "2. Testing 'sendtext'...";
print "SEND TEXT \"hello world\"\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "3. Testing 'sendimage'...";
print "SEND IMAGE asterisk-image\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "4. Testing 'saynumber'...";
print "SAY NUMBER 192837465 \"\"\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "5. Testing 'waitdtmf'...";
print "WAIT FOR DIGIT 1000\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "6. Testing 'record'...";
print "RECORD FILE testagi gsm 1234 3000\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "6a. Testing 'record' playback...";
print "STREAM FILE testagi \"\"\n";
my $result = <STDIN>;
&checkresult($result);
print STDERR "================== Complete ======================\n";
print STDERR "$tests tests completed, $pass passed, $fail failed\n";
print STDERR "==================================================\n";

218
agi/eagi-sphinx-test.c Normal file
View File

@@ -0,0 +1,218 @@
/*
* Extended AGI test application
*
* This code is released into public domain
* without any warranty of any kind.
*
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/select.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#define AUDIO_FILENO (STDERR_FILENO + 1)
#define SPHINX_HOST "192.168.1.108"
#define SPHINX_PORT 3460
static int sphinx_sock = -1;
static int connect_sphinx(void)
{
struct hostent *hp;
struct sockaddr_in sin;
int res;
hp = gethostbyname(SPHINX_HOST);
if (!hp) {
fprintf(stderr, "Unable to resolve '%s'\n", SPHINX_HOST);
return -1;
}
sphinx_sock = socket(PF_INET, SOCK_STREAM, 0);
if (sphinx_sock < 0) {
fprintf(stderr, "Unable to allocate socket: %s\n", strerror(errno));
return -1;
}
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_port = htons(SPHINX_PORT);
memcpy(&sin.sin_addr, hp->h_addr, sizeof(sin.sin_addr));
if (connect(sphinx_sock, (struct sockaddr *)&sin, sizeof(sin))) {
fprintf(stderr, "Unable to connect on socket: %s\n", strerror(errno));
close(sphinx_sock);
sphinx_sock = -1;
return -1;
}
res = fcntl(sphinx_sock, F_GETFL);
if ((res < 0) || (fcntl(sphinx_sock, F_SETFL, res | O_NONBLOCK) < 0)) {
fprintf(stderr, "Unable to set flags on socket: %s\n", strerror(errno));
close(sphinx_sock);
sphinx_sock = -1;
return -1;
}
return 0;
}
static int read_environment(void)
{
char buf[256];
char *val;
/* Read environment */
for(;;) {
fgets(buf, sizeof(buf), stdin);
if (feof(stdin))
return -1;
buf[strlen(buf) - 1] = '\0';
/* Check for end of environment */
if (!strlen(buf))
return 0;
val = strchr(buf, ':');
if (!val) {
fprintf(stderr, "Invalid environment: '%s'\n", buf);
return -1;
}
*val = '\0';
val++;
val++;
/* Skip space */
fprintf(stderr, "Environment: '%s' is '%s'\n", buf, val);
/* Load into normal environment */
setenv(buf, val, 1);
}
/* Never reached */
return 0;
}
static char *wait_result(void)
{
fd_set fds;
int res;
int max;
static char astresp[256];
static char sphinxresp[256];
char audiobuf[4096];
for (;;) {
FD_ZERO(&fds);
FD_SET(STDIN_FILENO, &fds);
FD_SET(AUDIO_FILENO, &fds);
max = AUDIO_FILENO;
if (sphinx_sock > -1) {
FD_SET(sphinx_sock, &fds);
if (sphinx_sock > max)
max = sphinx_sock;
}
/* Wait for *some* sort of I/O */
res = select(max + 1, &fds, NULL, NULL, NULL);
if (res < 0) {
fprintf(stderr, "Error in select: %s\n", strerror(errno));
return NULL;
}
if (FD_ISSET(STDIN_FILENO, &fds)) {
fgets(astresp, sizeof(astresp), stdin);
if (feof(stdin)) {
fprintf(stderr, "Got hungup on apparently\n");
return NULL;
}
astresp[strlen(astresp) - 1] = '\0';
fprintf(stderr, "Ooh, got a response from Asterisk: '%s'\n", astresp);
return astresp;
}
if (FD_ISSET(AUDIO_FILENO, &fds)) {
res = read(AUDIO_FILENO, audiobuf, sizeof(audiobuf));
if (res > 0) {
if (sphinx_sock > -1)
write(sphinx_sock, audiobuf, res);
}
}
if ((sphinx_sock > -1) && FD_ISSET(sphinx_sock, &fds)) {
res = read(sphinx_sock, sphinxresp, sizeof(sphinxresp));
if (res > 0) {
fprintf(stderr, "Oooh, Sphinx found a token: '%s'\n", sphinxresp);
return sphinxresp;
} else if (res == 0) {
fprintf(stderr, "Hrm, lost sphinx, guess we're on our own\n");
close(sphinx_sock);
sphinx_sock = -1;
}
}
}
}
static char *run_command(char *command)
{
fprintf(stdout, "%s\n", command);
return wait_result();
}
static int run_script(void)
{
char *res;
res = run_command("STREAM FILE demo-enterkeywords 0123456789*#");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "1. Result is '%s'\n", res);
res = run_command("STREAM FILE demo-nomatch 0123456789*#");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "2. Result is '%s'\n", res);
res = run_command("SAY NUMBER 23452345 0123456789*#");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "3. Result is '%s'\n", res);
res = run_command("GET DATA demo-enterkeywords");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "4. Result is '%s'\n", res);
res = run_command("STREAM FILE auth-thankyou \"\"");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "5. Result is '%s'\n", res);
return 0;
}
int main(int argc, char *argv[])
{
char *tmp;
int ver = 0;
int subver = 0;
/* Setup stdin/stdout for line buffering */
setlinebuf(stdin);
setlinebuf(stdout);
if (read_environment()) {
fprintf(stderr, "Failed to read environment: %s\n", strerror(errno));
exit(1);
}
connect_sphinx();
tmp = getenv("agi_enhanced");
if (tmp) {
if (sscanf(tmp, "%d.%d", &ver, &subver) != 2)
ver = 0;
}
if (ver < 1) {
fprintf(stderr, "No enhanced AGI services available. Use EAGI, not AGI\n");
exit(1);
}
if (run_script())
return -1;
exit(0);
}

161
agi/eagi-test.c Normal file
View File

@@ -0,0 +1,161 @@
/*
* Extended AGI test application
*
* This code is released into the public domain
* with no warranty of any kind
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/select.h>
#define AUDIO_FILENO (STDERR_FILENO + 1)
static int read_environment(void)
{
char buf[256];
char *val;
/* Read environment */
for(;;) {
fgets(buf, sizeof(buf), stdin);
if (feof(stdin))
return -1;
buf[strlen(buf) - 1] = '\0';
/* Check for end of environment */
if (!strlen(buf))
return 0;
val = strchr(buf, ':');
if (!val) {
fprintf(stderr, "Invalid environment: '%s'\n", buf);
return -1;
}
*val = '\0';
val++;
val++;
/* Skip space */
fprintf(stderr, "Environment: '%s' is '%s'\n", buf, val);
/* Load into normal environment */
setenv(buf, val, 1);
}
/* Never reached */
return 0;
}
static char *wait_result(void)
{
fd_set fds;
int res;
int bytes = 0;
static char astresp[256];
char audiobuf[4096];
for (;;) {
FD_ZERO(&fds);
FD_SET(STDIN_FILENO, &fds);
FD_SET(AUDIO_FILENO, &fds);
/* Wait for *some* sort of I/O */
res = select(AUDIO_FILENO + 1, &fds, NULL, NULL, NULL);
if (res < 0) {
fprintf(stderr, "Error in select: %s\n", strerror(errno));
return NULL;
}
if (FD_ISSET(STDIN_FILENO, &fds)) {
fgets(astresp, sizeof(astresp), stdin);
if (feof(stdin)) {
fprintf(stderr, "Got hungup on apparently\n");
return NULL;
}
astresp[strlen(astresp) - 1] = '\0';
fprintf(stderr, "Ooh, got a response from Asterisk: '%s'\n", astresp);
return astresp;
}
if (FD_ISSET(AUDIO_FILENO, &fds)) {
res = read(AUDIO_FILENO, audiobuf, sizeof(audiobuf));
if (res > 0) {
/* XXX Process the audio with sphinx here XXX */
#if 0
fprintf(stderr, "Got %d/%d bytes of audio\n", res, bytes);
#endif
bytes += res;
/* Prentend we detected some audio after 3 seconds */
if (bytes > 16000 * 3) {
return "Sample Message";
bytes = 0;
}
}
}
}
}
static char *run_command(char *command)
{
fprintf(stdout, "%s\n", command);
return wait_result();
}
static int run_script(void)
{
char *res;
res = run_command("STREAM FILE demo-enterkeywords 0123456789*#");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "1. Result is '%s'\n", res);
res = run_command("STREAM FILE demo-nomatch 0123456789*#");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "2. Result is '%s'\n", res);
res = run_command("SAY NUMBER 23452345 0123456789*#");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "3. Result is '%s'\n", res);
res = run_command("GET DATA demo-enterkeywords");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "4. Result is '%s'\n", res);
res = run_command("STREAM FILE auth-thankyou \"\"");
if (!res) {
fprintf(stderr, "Failed to execute command\n");
return -1;
}
fprintf(stderr, "5. Result is '%s'\n", res);
return 0;
}
int main(int argc, char *argv[])
{
char *tmp;
int ver = 0;
int subver = 0;
/* Setup stdin/stdout for line buffering */
setlinebuf(stdin);
setlinebuf(stdout);
if (read_environment()) {
fprintf(stderr, "Failed to read environment: %s\n", strerror(errno));
exit(1);
}
tmp = getenv("agi_enhanced");
if (tmp) {
if (sscanf(tmp, "%d.%d", &ver, &subver) != 2)
ver = 0;
}
if (ver < 1) {
fprintf(stderr, "No enhanced AGI services available. Use EAGI, not AGI\n");
exit(1);
}
if (run_script())
return -1;
exit(0);
}

94
agi/fastagi-test Normal file
View File

@@ -0,0 +1,94 @@
#!/usr/bin/perl
use strict;
use Socket;
use Carp;
use IO::Handle;
my $port = 4573;
$|=1;
# Setup some variables
my %AGI; my $tests = 0; my $fail = 0; my $pass = 0;
sub checkresult {
my ($res) = @_;
my $retval;
$tests++;
chomp $res;
if ($res =~ /^200/) {
$res =~ /result=(-?\d+)/;
if (!length($1)) {
print STDERR "FAIL ($res)\n";
$fail++;
} else {
print STDERR "PASS ($1)\n";
$pass++;
}
} else {
print STDERR "FAIL (unexpected result '$res')\n";
$fail++;
}
}
socket(SERVER, PF_INET, SOCK_STREAM, 0);
setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
bind(SERVER, sockaddr_in($port, INADDR_ANY)) || die("can't bind\n");
listen(SERVER, SOMAXCONN);
for(;;) {
my $raddr = accept(CLIENT, SERVER);
my ($s, $p) = sockaddr_in($raddr);
CLIENT->autoflush(1);
while(<CLIENT>) {
chomp;
last unless length($_);
if (/^agi_(\w+)\:\s+(.*)$/) {
$AGI{$1} = $2;
}
}
print STDERR "AGI Environment Dump from $s:$p --\n";
foreach my $i (sort keys %AGI) {
print STDERR " -- $i = $AGI{$i}\n";
}
print STDERR "1. Testing 'sendfile'...";
print CLIENT "STREAM FILE beep \"\"\n";
my $result = <CLIENT>;
&checkresult($result);
print STDERR "2. Testing 'sendtext'...";
print CLIENT "SEND TEXT \"hello world\"\n";
my $result = <CLIENT>;
&checkresult($result);
print STDERR "3. Testing 'sendimage'...";
print CLIENT "SEND IMAGE asterisk-image\n";
my $result = <CLIENT>;
&checkresult($result);
print STDERR "4. Testing 'saynumber'...";
print CLIENT "SAY NUMBER 192837465 \"\"\n";
my $result = <CLIENT>;
&checkresult($result);
print STDERR "5. Testing 'waitdtmf'...";
print CLIENT "WAIT FOR DIGIT 1000\n";
my $result = <CLIENT>;
&checkresult($result);
print STDERR "6. Testing 'record'...";
print CLIENT "RECORD FILE testagi gsm 1234 3000\n";
my $result = <CLIENT>;
&checkresult($result);
print STDERR "6a. Testing 'record' playback...";
print CLIENT "STREAM FILE testagi \"\"\n";
my $result = <CLIENT>;
&checkresult($result);
close(CLIENT);
print STDERR "================== Complete ======================\n";
print STDERR "$tests tests completed, $pass passed, $fail failed\n";
print STDERR "==================================================\n";
}

44
agi/numeralize Normal file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/perl
#
# Build a database linking filenames to their numerical representations
# using a keypad for the DialAnMp3 application
#
$mp3dir="/usr/media/mpeg3";
dbmopen(%DIGITS, "/var/lib/asterisk/mp3list", 0644) || die("Unable to open mp3list");;
sub process_dir {
my ($dir) = @_;
my $file;
my $digits;
my @entries;
opendir(DIR, $dir);
@entries = readdir(DIR);
closedir(DIR);
foreach $_ (@entries) {
if (!/^\./) {
$file = "$dir/$_";
if (-d "$file") {
process_dir("$file");
} else {
$digits = $_;
$digits =~ s/[^ \w]+//g;
$digits =~ s/\_/ /g;
$digits =~ tr/[a-z]/[A-Z]/;
$digits =~ tr/[A-C]/2/;
$digits =~ tr/[D-F]/3/;
$digits =~ tr/[G-I]/4/;
$digits =~ tr/[J-L]/5/;
$digits =~ tr/[M-O]/6/;
$digits =~ tr/[P-S]/7/;
$digits =~ tr/[T-V]/8/;
$digits =~ tr/[W-Z]/9/;
$digits =~ s/\s+/ /;
print "File: $file, digits: $digits\n";
$DIGITS{$file} = $digits;
}
}
}
}
process_dir($mp3dir);

85
alaw.c Normal file
View File

@@ -0,0 +1,85 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* u-Law to Signed linear conversion
*
* 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
*/
#include <asterisk/alaw.h>
#define AMI_MASK 0x55
static inline unsigned char linear2alaw (short int linear)
{
int mask;
int seg;
int pcm_val;
static int seg_end[8] =
{
0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF
};
pcm_val = linear;
if (pcm_val >= 0)
{
/* Sign (7th) bit = 1 */
mask = AMI_MASK | 0x80;
}
else
{
/* Sign bit = 0 */
mask = AMI_MASK;
pcm_val = -pcm_val;
}
/* Convert the scaled magnitude to segment number. */
for (seg = 0; seg < 8; seg++)
{
if (pcm_val <= seg_end[seg])
break;
}
/* Combine the sign, segment, and quantization bits. */
return ((seg << 4) | ((pcm_val >> ((seg) ? (seg + 3) : 4)) & 0x0F)) ^ mask;
}
/*- End of function --------------------------------------------------------*/
static inline short int alaw2linear (unsigned char alaw)
{
int i;
int seg;
alaw ^= AMI_MASK;
i = ((alaw & 0x0F) << 4);
seg = (((int) alaw & 0x70) >> 4);
if (seg)
i = (i + 0x100) << (seg - 1);
return (short int) ((alaw & 0x80) ? i : -i);
}
unsigned char __ast_lin2a[8192];
short __ast_alaw[256];
void ast_alaw_init(void)
{
int i;
/*
* Set up mu-law conversion table
*/
for(i = 0;i < 256;i++)
{
__ast_alaw[i] = alaw2linear(i);
}
/* set up the reverse (mu-law) conversion table */
for(i = -32768; i < 32768; i++)
{
__ast_lin2a[((unsigned short)i) >> 3] = linear2alaw(i);
}
}

947
app.c Normal file
View File

@@ -0,0 +1,947 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Convenient Application Routines
*
* Copyright (C) 1999-2004, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#include <signal.h>
#include <errno.h>
#include <unistd.h>
#include <dirent.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/file.h>
#include <asterisk/app.h>
#include <asterisk/dsp.h>
#include <asterisk/logger.h>
#include <asterisk/options.h>
#include <asterisk/utils.h>
#include <asterisk/lock.h>
#include "asterisk.h"
#include "astconf.h"
#define MAX_OTHER_FORMATS 10
/* set timeout to 0 for "standard" timeouts. Set timeout to -1 for
"ludicrous time" (essentially never times out) */
int ast_app_getdata(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout)
{
int res,to,fto;
/* XXX Merge with full version? XXX */
if (maxlen)
s[0] = '\0';
if (prompt) {
res = ast_streamfile(c, prompt, c->language);
if (res < 0)
return res;
}
fto = c->pbx ? c->pbx->rtimeout * 1000 : 6000;
to = c->pbx ? c->pbx->dtimeout * 1000 : 2000;
if (timeout > 0) fto = to = timeout;
if (timeout < 0) fto = to = 1000000000;
res = ast_readstring(c, s, maxlen, to, fto, "#");
return res;
}
int ast_app_getdata_full(struct ast_channel *c, char *prompt, char *s, int maxlen, int timeout, int audiofd, int ctrlfd)
{
int res,to,fto;
if (prompt) {
res = ast_streamfile(c, prompt, c->language);
if (res < 0)
return res;
}
fto = 6000;
to = 2000;
if (timeout > 0) fto = to = timeout;
if (timeout < 0) fto = to = 1000000000;
res = ast_readstring_full(c, s, maxlen, to, fto, "#", audiofd, ctrlfd);
return res;
}
int ast_app_getvoice(struct ast_channel *c, char *dest, char *dstfmt, char *prompt, int silence, int maxsec)
{
int res;
struct ast_filestream *writer;
int rfmt;
int totalms=0, total;
struct ast_frame *f;
struct ast_dsp *sildet;
/* Play prompt if requested */
if (prompt) {
res = ast_streamfile(c, prompt, c->language);
if (res < 0)
return res;
res = ast_waitstream(c,"");
if (res < 0)
return res;
}
rfmt = c->readformat;
res = ast_set_read_format(c, 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;
}
writer = ast_writefile(dest, dstfmt, "Voice file", 0, 0, 0666);
if (!writer) {
ast_log(LOG_WARNING, "Unable to open file '%s' in format '%s' for writing\n", dest, dstfmt);
ast_dsp_free(sildet);
return -1;
}
for(;;) {
if ((res = ast_waitfor(c, 2000)) < 0) {
ast_log(LOG_NOTICE, "Waitfor failed while recording file '%s' format '%s'\n", dest, dstfmt);
break;
}
if (res) {
f = ast_read(c);
if (!f) {
ast_log(LOG_NOTICE, "Hungup while recording file '%s' format '%s'\n", dest, dstfmt);
break;
}
if ((f->frametype == AST_FRAME_DTMF) && (f->subclass == '#')) {
/* Ended happily with DTMF */
ast_frfree(f);
break;
} else if (f->frametype == AST_FRAME_VOICE) {
ast_dsp_silence(sildet, f, &total);
if (total > silence) {
/* Ended happily with silence */
ast_frfree(f);
break;
}
totalms += f->samples / 8;
if (totalms > maxsec * 1000) {
/* Ended happily with too much stuff */
ast_log(LOG_NOTICE, "Constraining voice on '%s' to %d seconds\n", c->name, maxsec);
ast_frfree(f);
break;
}
}
ast_frfree(f);
}
}
res = ast_set_read_format(c, rfmt);
if (res)
ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", c->name);
ast_dsp_free(sildet);
ast_closestream(writer);
return 0;
}
int ast_app_has_voicemail(const char *mailbox)
{
DIR *dir;
struct dirent *de;
char fn[256];
char tmp[256]="";
char *mb, *cur;
char *context;
int ret;
/* If no mailbox, return immediately */
if (ast_strlen_zero(mailbox))
return 0;
if (strchr(mailbox, ',')) {
strncpy(tmp, mailbox, sizeof(tmp) - 1);
mb = tmp;
ret = 0;
while((cur = strsep(&mb, ","))) {
if (!ast_strlen_zero(cur)) {
if (ast_app_has_voicemail(cur))
return 1;
}
}
return 0;
}
strncpy(tmp, mailbox, sizeof(tmp) - 1);
context = strchr(tmp, '@');
if (context) {
*context = '\0';
context++;
} else
context = "default";
snprintf(fn, sizeof(fn), "%s/voicemail/%s/%s/INBOX", (char *)ast_config_AST_SPOOL_DIR, context, tmp);
dir = opendir(fn);
if (!dir)
return 0;
while ((de = readdir(dir))) {
if (!strncasecmp(de->d_name, "msg", 3))
break;
}
closedir(dir);
if (de)
return 1;
return 0;
}
int ast_app_messagecount(const char *mailbox, int *newmsgs, int *oldmsgs)
{
DIR *dir;
struct dirent *de;
char fn[256];
char tmp[256]="";
char *mb, *cur;
char *context;
int ret;
if (newmsgs)
*newmsgs = 0;
if (oldmsgs)
*oldmsgs = 0;
/* If no mailbox, return immediately */
if (ast_strlen_zero(mailbox))
return 0;
if (strchr(mailbox, ',')) {
int tmpnew, tmpold;
strncpy(tmp, mailbox, sizeof(tmp) - 1);
mb = tmp;
ret = 0;
while((cur = strsep(&mb, ", "))) {
if (!ast_strlen_zero(cur)) {
if (ast_app_messagecount(cur, newmsgs ? &tmpnew : NULL, oldmsgs ? &tmpold : NULL))
return -1;
else {
if (newmsgs)
*newmsgs += tmpnew;
if (oldmsgs)
*oldmsgs += tmpold;
}
}
}
return 0;
}
strncpy(tmp, mailbox, sizeof(tmp) - 1);
context = strchr(tmp, '@');
if (context) {
*context = '\0';
context++;
} else
context = "default";
if (newmsgs) {
snprintf(fn, sizeof(fn), "%s/voicemail/%s/%s/INBOX", (char *)ast_config_AST_SPOOL_DIR, context, tmp);
dir = opendir(fn);
if (dir) {
while ((de = readdir(dir))) {
if ((strlen(de->d_name) > 3) && !strncasecmp(de->d_name, "msg", 3) &&
!strcasecmp(de->d_name + strlen(de->d_name) - 3, "txt"))
(*newmsgs)++;
}
closedir(dir);
}
}
if (oldmsgs) {
snprintf(fn, sizeof(fn), "%s/voicemail/%s/%s/Old", (char *)ast_config_AST_SPOOL_DIR, context, tmp);
dir = opendir(fn);
if (dir) {
while ((de = readdir(dir))) {
if ((strlen(de->d_name) > 3) && !strncasecmp(de->d_name, "msg", 3) &&
!strcasecmp(de->d_name + strlen(de->d_name) - 3, "txt"))
(*oldmsgs)++;
}
closedir(dir);
}
}
return 0;
}
int ast_dtmf_stream(struct ast_channel *chan,struct ast_channel *peer,char *digits,int between)
{
char *ptr=NULL;
int res=0;
struct ast_frame f;
if (!between)
between = 100;
if (peer)
res = ast_autoservice_start(peer);
if (!res) {
res = ast_waitfor(chan,100);
if (res > -1) {
for (ptr=digits;*ptr;*ptr++) {
if (*ptr == 'w') {
res = ast_safe_sleep(chan, 500);
if (res)
break;
continue;
}
memset(&f, 0, sizeof(f));
f.frametype = AST_FRAME_DTMF;
f.subclass = *ptr;
f.src = "ast_dtmf_stream";
if (strchr("0123456789*#abcdABCD",*ptr)==NULL) {
ast_log(LOG_WARNING, "Illegal DTMF character '%c' in string. (0-9*#aAbBcCdD allowed)\n",*ptr);
} else {
res = ast_write(chan, &f);
if (res)
break;
/* pause between digits */
res = ast_safe_sleep(chan,between);
if (res)
break;
}
}
}
if (peer)
res = ast_autoservice_stop(peer);
}
return res;
}
struct linear_state {
int fd;
int autoclose;
int allowoverride;
int origwfmt;
};
static void linear_release(struct ast_channel *chan, void *params)
{
struct linear_state *ls = params;
if (ls->origwfmt && ast_set_write_format(chan, ls->origwfmt)) {
ast_log(LOG_WARNING, "Unable to restore channel '%s' to format '%d'\n", chan->name, ls->origwfmt);
}
if (ls->autoclose)
close(ls->fd);
free(params);
}
static int linear_generator(struct ast_channel *chan, void *data, int len, int samples)
{
struct ast_frame f;
short buf[2048 + AST_FRIENDLY_OFFSET / 2];
struct linear_state *ls = data;
int res;
len = samples * 2;
if (len > sizeof(buf) - AST_FRIENDLY_OFFSET) {
ast_log(LOG_WARNING, "Can't generate %d bytes of data!\n" ,len);
len = sizeof(buf) - AST_FRIENDLY_OFFSET;
}
memset(&f, 0, sizeof(f));
res = read(ls->fd, buf + AST_FRIENDLY_OFFSET/2, len);
if (res > 0) {
f.frametype = AST_FRAME_VOICE;
f.subclass = AST_FORMAT_SLINEAR;
f.data = buf + AST_FRIENDLY_OFFSET/2;
f.datalen = res;
f.samples = res / 2;
f.offset = AST_FRIENDLY_OFFSET;
ast_write(chan, &f);
if (res == len)
return 0;
}
return -1;
}
static void *linear_alloc(struct ast_channel *chan, void *params)
{
struct linear_state *ls;
/* In this case, params is already malloc'd */
if (params) {
ls = params;
if (ls->allowoverride)
chan->writeinterrupt = 1;
else
chan->writeinterrupt = 0;
ls->origwfmt = chan->writeformat;
if (ast_set_write_format(chan, AST_FORMAT_SLINEAR)) {
ast_log(LOG_WARNING, "Unable to set '%s' to linear format (write)\n", chan->name);
free(ls);
ls = params = NULL;
}
}
return params;
}
static struct ast_generator linearstream =
{
alloc: linear_alloc,
release: linear_release,
generate: linear_generator,
};
int ast_linear_stream(struct ast_channel *chan, const char *filename, int fd, int allowoverride)
{
struct linear_state *lin;
char tmpf[256] = "";
int res = -1;
int autoclose = 0;
if (fd < 0) {
if (!filename || ast_strlen_zero(filename))
return -1;
autoclose = 1;
if (filename[0] == '/')
strncpy(tmpf, filename, sizeof(tmpf) - 1);
else
snprintf(tmpf, sizeof(tmpf), "%s/%s/%s", (char *)ast_config_AST_VAR_DIR, "sounds", filename);
fd = open(tmpf, O_RDONLY);
if (fd < 0){
ast_log(LOG_WARNING, "Unable to open file '%s': %s\n", tmpf, strerror(errno));
return -1;
}
}
lin = malloc(sizeof(struct linear_state));
if (lin) {
memset(lin, 0, sizeof(lin));
lin->fd = fd;
lin->allowoverride = allowoverride;
lin->autoclose = autoclose;
res = ast_activate_generator(chan, &linearstream, lin);
}
return res;
}
int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char *rev, char *stop, char *pause, int skipms)
{
struct timeval started, ended;
long elapsed = 0,last_elapsed =0;
char *breaks;
int blen=2;
int res=0;
if (stop)
blen += strlen(stop);
if (pause)
blen += strlen(pause);
breaks = alloca(blen + 1);
breaks[0] = '\0';
strcat(breaks, stop);
strcat(breaks, pause);
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
if (chan)
ast_stopstream(chan);
for (;;) {
gettimeofday(&started,NULL);
if (chan)
ast_stopstream(chan);
res = ast_streamfile(chan, file, chan->language);
if (!res) {
res = 1;
if (elapsed) {
ast_stream_fastforward(chan->stream, elapsed);
last_elapsed = elapsed - 200;
}
if (res)
res = ast_waitstream_fr(chan, breaks, fwd, rev, skipms);
else
break;
}
if (res < 1)
break;
if (pause != NULL && strchr(pause, res)) {
gettimeofday(&ended, NULL);
elapsed = (((ended.tv_sec * 1000) + ended.tv_usec / 1000) - ((started.tv_sec * 1000) + started.tv_usec / 1000) + last_elapsed);
for(;;) {
if (chan)
ast_stopstream(chan);
res = ast_waitfordigit(chan, 1000);
if(res == 0)
continue;
else if(res == -1 || strchr(pause, res) || (stop && strchr(stop, res)))
break;
}
if (res == *pause) {
res = 0;
continue;
}
}
if (res == -1)
break;
/* if we get one of our stop chars, return it to the calling function */
if (stop && strchr(stop, res)) {
/* res = 0; */
break;
}
}
if (chan)
ast_stopstream(chan);
return res;
}
int ast_play_and_wait(struct ast_channel *chan, char *fn)
{
int d;
d = ast_streamfile(chan, fn, chan->language);
if (d)
return d;
d = ast_waitstream(chan, AST_DIGIT_ANY);
ast_stopstream(chan);
return d;
}
static int global_silence_threshold = 128;
static int global_maxsilence = 0;
int ast_play_and_record(struct ast_channel *chan, char *playfile, char *recordfile, int maxtime, char *fmt, int *duration, int silencethreshold, int maxsilence)
{
char d, *fmts;
char comment[256];
int x, fmtcnt=1, res=-1,outmsg=0;
struct ast_frame *f;
struct ast_filestream *others[MAX_OTHER_FORMATS];
char *sfmt[MAX_OTHER_FORMATS];
char *stringp=NULL;
time_t start, end;
struct ast_dsp *sildet; /* silence detector dsp */
int totalsilence = 0;
int dspsilence = 0;
int gotsilence = 0; /* did we timeout for silence? */
int rfmt=0;
if (silencethreshold < 0)
silencethreshold = global_silence_threshold;
if (maxsilence < 0)
maxsilence = global_maxsilence;
/* barf if no pointer passed to store duration in */
if (duration == NULL) {
ast_log(LOG_WARNING, "Error play_and_record called without duration pointer\n");
return -1;
}
ast_log(LOG_DEBUG,"play_and_record: %s, %s, '%s'\n", playfile ? playfile : "<None>", recordfile, fmt);
snprintf(comment,sizeof(comment),"Playing %s, Recording to: %s on %s\n", playfile ? playfile : "<None>", recordfile, chan->name);
if (playfile) {
d = ast_play_and_wait(chan, playfile);
if (d > -1)
d = ast_streamfile(chan, "beep",chan->language);
if (!d)
d = ast_waitstream(chan,"");
if (d < 0)
return -1;
}
fmts = ast_strdupa(fmt);
stringp=fmts;
strsep(&stringp, "|");
ast_log(LOG_DEBUG,"Recording Formats: sfmts=%s\n", fmts);
sfmt[0] = ast_strdupa(fmts);
while((fmt = strsep(&stringp, "|"))) {
if (fmtcnt > MAX_OTHER_FORMATS - 1) {
ast_log(LOG_WARNING, "Please increase MAX_OTHER_FORMATS in app_voicemail.c\n");
break;
}
sfmt[fmtcnt++] = ast_strdupa(fmt);
}
time(&start);
end=start; /* pre-initialize end to be same as start in case we never get into loop */
for (x=0;x<fmtcnt;x++) {
others[x] = ast_writefile(recordfile, sfmt[x], comment, O_TRUNC, 0, 0700);
ast_verbose( VERBOSE_PREFIX_3 "x=%i, open writing: %s format: %s, %p\n", x, recordfile, sfmt[x], others[x]);
if (!others[x]) {
break;
}
}
sildet = ast_dsp_new(); /* Create the silence detector */
if (!sildet) {
ast_log(LOG_WARNING, "Unable to create silence detector :(\n");
return -1;
}
ast_dsp_set_threshold(sildet, silencethreshold);
if (maxsilence > 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;
}
}
if (x == fmtcnt) {
/* Loop forever, writing the packets we read to the writer(s), until
we read a # or get a hangup */
f = NULL;
for(;;) {
res = ast_waitfor(chan, 2000);
if (!res) {
ast_log(LOG_DEBUG, "One waitfor failed, trying another\n");
/* Try one more time in case of masq */
res = ast_waitfor(chan, 2000);
if (!res) {
ast_log(LOG_WARNING, "No audio available on %s??\n", chan->name);
res = -1;
}
}
if (res < 0) {
f = NULL;
break;
}
f = ast_read(chan);
if (!f)
break;
if (f->frametype == AST_FRAME_VOICE) {
/* write each format */
for (x=0;x<fmtcnt;x++) {
res = ast_writestream(others[x], f);
}
/* Silence Detection */
if (maxsilence > 0) {
dspsilence = 0;
ast_dsp_silence(sildet, f, &dspsilence);
if (dspsilence)
totalsilence = dspsilence;
else
totalsilence = 0;
if (totalsilence > maxsilence) {
/* Ended happily with silence */
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Recording automatically stopped after a silence of %d seconds\n", totalsilence/1000);
ast_frfree(f);
gotsilence = 1;
outmsg=2;
break;
}
}
/* Exit on any error */
if (res) {
ast_log(LOG_WARNING, "Error writing frame\n");
ast_frfree(f);
break;
}
} else if (f->frametype == AST_FRAME_VIDEO) {
/* Write only once */
ast_writestream(others[0], f);
} else if (f->frametype == AST_FRAME_DTMF) {
if (f->subclass == '#') {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "User ended message by pressing %c\n", f->subclass);
res = '#';
outmsg = 2;
ast_frfree(f);
break;
}
}
if (f->subclass == '0') {
/* Check for a '0' during message recording also, in case caller wants operator */
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "User cancelled by pressing %c\n", f->subclass);
res = '0';
outmsg = 0;
ast_frfree(f);
break;
}
if (maxtime) {
time(&end);
if (maxtime < (end - start)) {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Took too long, cutting it short...\n");
outmsg = 2;
res = 't';
ast_frfree(f);
break;
}
}
ast_frfree(f);
}
if (end == start) time(&end);
if (!f) {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "User hung up\n");
res = -1;
outmsg=1;
}
} else {
ast_log(LOG_WARNING, "Error creating writestream '%s', format '%s'\n", recordfile, sfmt[x]);
}
*duration = end - start;
for (x=0;x<fmtcnt;x++) {
if (!others[x])
break;
if (totalsilence)
ast_stream_rewind(others[x], totalsilence-200);
else
ast_stream_rewind(others[x], 200);
ast_truncstream(others[x]);
ast_closestream(others[x]);
}
if (rfmt) {
if (ast_set_read_format(chan, rfmt)) {
ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
}
}
if (outmsg) {
if (outmsg > 1) {
/* Let them know recording is stopped */
ast_streamfile(chan, "auth-thankyou", chan->language);
ast_waitstream(chan, "");
}
}
return res;
}
int ast_play_and_prepend(struct ast_channel *chan, char *playfile, char *recordfile, int maxtime, char *fmt, int *duration, int beep, int silencethreshold, int maxsilence)
{
char d = 0, *fmts;
char comment[256];
int x, fmtcnt=1, res=-1,outmsg=0;
struct ast_frame *f;
struct ast_filestream *others[MAX_OTHER_FORMATS];
struct ast_filestream *realfiles[MAX_OTHER_FORMATS];
char *sfmt[MAX_OTHER_FORMATS];
char *stringp=NULL;
time_t start, end;
struct ast_dsp *sildet; /* silence detector dsp */
int totalsilence = 0;
int dspsilence = 0;
int gotsilence = 0; /* did we timeout for silence? */
int rfmt=0;
char prependfile[80];
if (silencethreshold < 0)
silencethreshold = global_silence_threshold;
if (maxsilence < 0)
maxsilence = global_maxsilence;
/* barf if no pointer passed to store duration in */
if (duration == NULL) {
ast_log(LOG_WARNING, "Error play_and_prepend called without duration pointer\n");
return -1;
}
ast_log(LOG_DEBUG,"play_and_prepend: %s, %s, '%s'\n", playfile ? playfile : "<None>", recordfile, fmt);
snprintf(comment,sizeof(comment),"Playing %s, Recording to: %s on %s\n", playfile ? playfile : "<None>", recordfile, chan->name);
if (playfile || beep) {
if (!beep)
d = ast_play_and_wait(chan, playfile);
if (d > -1)
d = ast_streamfile(chan, "beep",chan->language);
if (!d)
d = ast_waitstream(chan,"");
if (d < 0)
return -1;
}
strncpy(prependfile, recordfile, sizeof(prependfile) -1);
strncat(prependfile, "-prepend", sizeof(prependfile) - strlen(prependfile) - 1);
fmts = ast_strdupa(fmt);
stringp=fmts;
strsep(&stringp, "|");
ast_log(LOG_DEBUG,"Recording Formats: sfmts=%s\n", fmts);
sfmt[0] = ast_strdupa(fmts);
while((fmt = strsep(&stringp, "|"))) {
if (fmtcnt > MAX_OTHER_FORMATS - 1) {
ast_log(LOG_WARNING, "Please increase MAX_OTHER_FORMATS in app_voicemail.c\n");
break;
}
sfmt[fmtcnt++] = ast_strdupa(fmt);
}
time(&start);
end=start; /* pre-initialize end to be same as start in case we never get into loop */
for (x=0;x<fmtcnt;x++) {
others[x] = ast_writefile(prependfile, sfmt[x], comment, O_TRUNC, 0, 0700);
ast_verbose( VERBOSE_PREFIX_3 "x=%i, open writing: %s format: %s, %p\n", x, prependfile, sfmt[x], others[x]);
if (!others[x]) {
break;
}
}
sildet = ast_dsp_new(); /* Create the silence detector */
if (!sildet) {
ast_log(LOG_WARNING, "Unable to create silence detector :(\n");
return -1;
}
ast_dsp_set_threshold(sildet, silencethreshold);
if (maxsilence > 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;
}
}
if (x == fmtcnt) {
/* Loop forever, writing the packets we read to the writer(s), until
we read a # or get a hangup */
f = NULL;
for(;;) {
res = ast_waitfor(chan, 2000);
if (!res) {
ast_log(LOG_DEBUG, "One waitfor failed, trying another\n");
/* Try one more time in case of masq */
res = ast_waitfor(chan, 2000);
if (!res) {
ast_log(LOG_WARNING, "No audio available on %s??\n", chan->name);
res = -1;
}
}
if (res < 0) {
f = NULL;
break;
}
f = ast_read(chan);
if (!f)
break;
if (f->frametype == AST_FRAME_VOICE) {
/* write each format */
for (x=0;x<fmtcnt;x++) {
if (!others[x])
break;
res = ast_writestream(others[x], f);
}
/* Silence Detection */
if (maxsilence > 0) {
dspsilence = 0;
ast_dsp_silence(sildet, f, &dspsilence);
if (dspsilence)
totalsilence = dspsilence;
else
totalsilence = 0;
if (totalsilence > maxsilence) {
/* Ended happily with silence */
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Recording automatically stopped after a silence of %d seconds\n", totalsilence/1000);
ast_frfree(f);
gotsilence = 1;
outmsg=2;
break;
}
}
/* Exit on any error */
if (res) {
ast_log(LOG_WARNING, "Error writing frame\n");
ast_frfree(f);
break;
}
} else if (f->frametype == AST_FRAME_VIDEO) {
/* Write only once */
ast_writestream(others[0], f);
} else if (f->frametype == AST_FRAME_DTMF) {
/* stop recording with any digit */
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "User ended message by pressing %c\n", f->subclass);
res = 't';
outmsg = 2;
ast_frfree(f);
break;
}
if (maxtime) {
time(&end);
if (maxtime < (end - start)) {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Took too long, cutting it short...\n");
res = 't';
outmsg=2;
ast_frfree(f);
break;
}
}
ast_frfree(f);
}
if (end == start) time(&end);
if (!f) {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "User hung up\n");
res = -1;
outmsg=1;
#if 0
/* delete all the prepend files */
for (x=0;x<fmtcnt;x++) {
if (!others[x])
break;
ast_closestream(others[x]);
ast_filedelete(prependfile, sfmt[x]);
}
#endif
}
} else {
ast_log(LOG_WARNING, "Error creating writestream '%s', format '%s'\n", prependfile, sfmt[x]);
}
*duration = end - start;
#if 0
if (outmsg > 1) {
#else
if (outmsg) {
#endif
struct ast_frame *fr;
for (x=0;x<fmtcnt;x++) {
snprintf(comment, sizeof(comment), "Opening the real file %s.%s\n", recordfile, sfmt[x]);
realfiles[x] = ast_readfile(recordfile, sfmt[x], comment, O_RDONLY, 0, 0);
if (!others[x] || !realfiles[x])
break;
if (totalsilence)
ast_stream_rewind(others[x], totalsilence-200);
else
ast_stream_rewind(others[x], 200);
ast_truncstream(others[x]);
/* add the original file too */
while ((fr = ast_readframe(realfiles[x]))) {
ast_writestream(others[x],fr);
}
ast_closestream(others[x]);
ast_closestream(realfiles[x]);
ast_filerename(prependfile, recordfile, sfmt[x]);
#if 0
ast_verbose("Recording Format: sfmts=%s, prependfile %s, recordfile %s\n", sfmt[x],prependfile,recordfile);
#endif
ast_filedelete(prependfile, sfmt[x]);
}
}
if (rfmt) {
if (ast_set_read_format(chan, rfmt)) {
ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
}
}
if (outmsg) {
if (outmsg > 1) {
/* Let them know it worked */
ast_streamfile(chan, "auth-thankyou", chan->language);
ast_waitstream(chan, "");
}
}
return res;
}

88
apps/Makefile Executable file → Normal file
View File

@@ -11,28 +11,94 @@
# the GNU General Public License
#
APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_intercom.so app_mp3.so \
app_system.so app_echo.so app_record.so
USE_MYSQL_VM_INTERFACE=0
USE_POSTGRES_VM_INTERFACE=0
CFLAGS+=
#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_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_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_groupcount.so app_txtcidname.so app_controlplayback.so \
app_talkdetect.so app_alarmreceiver.so app_userevent.so app_verbose.so \
app_test.so
ifneq (${OSARCH},Darwin)
APPS+=app_intercom.so
endif
#APPS+=app_sql_postgres.so
#APPS+=app_sql_odbc.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)
CFLAGS+=-fPIC
ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
CFLAGS+=-DUSEPOSTGRESVM
endif
ifeq ($(USE_MYSQL_VM_INTERFACE),1)
CFLAGS+=-DUSEMYSQLVM
endif
all: $(APPS)
clean:
rm -f *.so *.o look
rm -f *.so *.o look .depend
%.so : %.o
$(CC) -shared -Xlinker -x -o $@ $<
$(CC) $(SOLINK) -o $@ $<
app_rpt.so : app_rpt.o
$(CC) $(SOLINK) -o $@ $< -ltonezone
install: all
for x in $(APPS); do $(INSTALL) -m 755 $$x $(MODULES_DIR) ; done
for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
app_todd.o: app_todd.c
gcc -pipe -O6 -g -Iinclude -I../include -D_REENTRANT -march=i586 -DDO_CRASH -DDEBUG_THREADS -c -o app_todd.o app_todd.c
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_todd.so: app_todd.o
$(CC) -shared -Xlinker -x -o $@ $< -L/usr/local/ssl/lib -lssl -lcrypto
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
app_sql_odbc.so: app_sql_odbc.o
$(CC) $(SOLINK) -o $@ $< -lodbc
look: look.c
gcc -pipe -O6 -g look.c -o look -lncurses
$(CC) -pipe -O6 -g look.c -o look -lncurses
ifneq ($(wildcard .depend),)
include .depend
endif
depend: .depend
.depend:
../mkdep $(CFLAGS) `ls *.c`
env:
env

1584
apps/app_adsiprog.c Normal file

File diff suppressed because it is too large Load Diff

858
apps/app_alarmreceiver.c Normal file
View File

@@ -0,0 +1,858 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Central Station Alarm receiver for Ademco Contact ID
*
* Copyright (C) 2004 Steve Rodgers
*
* Steve Rodgers <hwstar@rodgers.sdcoxmail.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*
* *** 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 ***
*
*/
#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>
#include <math.h>
#include <sys/wait.h>
#include <unistd.h>
#include <sys/time.h>
#define ALMRCV_CONFIG "alarmreceiver.conf"
#define ADEMCO_CONTACT_ID "ADEMCO_CONTACT_ID"
struct event_node{
char data[17];
struct event_node *next;
};
typedef struct event_node event_node_t;
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 *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";
/* Config Variables */
static int fdtimeout = 2000;
static int sdtimeout = 200;
static int toneloudness = 4096;
static int log_individual_events = 0;
static char event_spool_dir[128] = {'\0'};
static char event_app[128] = {'\0'};
static char db_family[128] = {'\0'};
static char time_stamp_format[128] = {"%a %b %d, %Y @ %H:%M:%S %Z"};
/* Misc variables */
static char event_file[14] = "/event-XXXXXX";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
/*
* Attempt to access a database variable and increment it,
* provided that the user defined db-family in alarmreceiver.conf
* The alarmreceiver app will write statistics to a few variables
* in this family if it is defined. If the new key doesn't exist in the
* family, then create it and set its value to 1.
*/
static void database_increment( char *key )
{
int res = 0;
unsigned v;
char value[16];
if(!strlen(db_family))
return; /* If not defined, don't do anything */
res = ast_db_get(db_family, key, value, sizeof(value) - 1);
if(res){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Creating database entry %s and setting to 1\n", key);
/* Guess we have to create it */
res = ast_db_put(db_family, key, "1");
return;
}
sscanf(value, "%u", &v);
v++;
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: New value for %s: %u\n", key, v);
snprintf(value, sizeof(value), "%u", v);
res = ast_db_put(db_family, key, value);
if((res)&&(option_verbose >= 4))
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: database_increment write error");
return;
}
/*
* Build a MuLaw data block for a single frequency tone
*/
static void make_tone_burst(unsigned char *data, float freq, float loudness, int len, int *x)
{
int i;
float val;
for(i = 0; i < len; i++){
val = loudness * sin((freq * 2.0 * M_PI * (*x)++)/8000.0);
data[i] = AST_LIN2MU((int)val);
}
/* wrap back around from 8000 */
if (*x >= 8000) *x = 0;
return;
}
/*
* Send a single tone burst for a specifed duration and frequency.
* Returns 0 if successful
*/
static int send_tone_burst(struct ast_channel *chan, float freq, int duration, int tldn)
{
int res = 0;
int i = 0;
int x = 0;
struct ast_frame *f, wf;
struct {
unsigned char offset[AST_FRIENDLY_OFFSET];
unsigned char buf[640];
} tone_block;
for(;;)
{
if (ast_waitfor(chan, -1) < 0){
res = -1;
break;
}
f = ast_read(chan);
if (!f){
res = -1;
break;
}
if (f->frametype == AST_FRAME_VOICE) {
wf.frametype = AST_FRAME_VOICE;
wf.subclass = AST_FORMAT_ULAW;
wf.offset = AST_FRIENDLY_OFFSET;
wf.mallocd = 0;
wf.data = tone_block.buf;
wf.datalen = f->datalen;
wf.samples = wf.datalen;
make_tone_burst(tone_block.buf, freq, (float) tldn, wf.datalen, &x);
i += wf.datalen / 8;
if (i > duration) {
break;
}
if (ast_write(chan, &wf)){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Failed to write frame on %s\n", chan->name);
ast_log(LOG_WARNING, "AlarmReceiver Failed to write frame on %s\n",chan->name);
res = -1;
break;
}
}
ast_frfree(f);
}
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
* digits.
*
* Returns 0 if all digits successfully received.
* Returns 1 if a digit time out occurred
* Returns -1 if the caller hung up or there was a channel error.
*
*/
static int receive_dtmf_digits(struct ast_channel *chan, char *digit_string, int length, int fdto, int sdto)
{
int res = 0;
int i = 0;
int r;
struct ast_frame *f;
struct timeval now, lastdigittime;
gettimeofday(&lastdigittime,NULL);
for(;;){
gettimeofday(&now,NULL);
/* if outa time, leave */
if (ms_diff(&now,&lastdigittime) >
((i > 0) ? sdto : fdto)){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: DTMF Digit Timeout on %s\n", chan->name);
ast_log(LOG_DEBUG,"AlarmReceiver: DTMF timeout on chan %s\n",chan->name);
res = 1;
break;
}
if ((r = ast_waitfor(chan, -1) < 0)) {
ast_log(LOG_DEBUG, "Waitfor returned %d\n", r);
continue;
}
f = ast_read(chan);
if (f == NULL){
res = -1;
break;
}
/* If they hung up, leave */
if ((f->frametype == AST_FRAME_CONTROL) &&
(f->subclass == AST_CONTROL_HANGUP)){
ast_frfree(f);
res = -1;
break;
}
/* if not DTMF, just do it again */
if (f->frametype != AST_FRAME_DTMF){
ast_frfree(f);
continue;
}
digit_string[i++] = f->subclass; /* save digit */
ast_frfree(f);
/* If we have all the digits we expect, leave */
if(i >= length)
break;
gettimeofday(&lastdigittime,NULL);
}
digit_string[i] = '\0'; /* Nul terminate the end of the digit string */
return res;
}
/*
* Write the metadata to the log file
*/
static int write_metadata( FILE *logfile, char *signalling_type, struct ast_channel *chan)
{
int res = 0;
time_t t;
struct tm now;
char *cl,*cn;
char workstring[80];
char timestamp[80];
/* Extract the caller ID location */
strncpy(workstring, chan->callerid, sizeof(workstring) - 1);
workstring[sizeof(workstring) - 1] = '\0';
ast_callerid_parse(workstring, &cn, &cl);
if (cl)
ast_shrink_phone_number(cl);
/* Get the current time */
time(&t);
ast_localtime(&t, &now, NULL);
/* Format the time */
strftime(timestamp, sizeof(timestamp), time_stamp_format, &now);
res = fprintf(logfile, "\n\n[metadata]\n\n");
if(res >= 0)
res = fprintf(logfile, "PROTOCOL=%s\n", signalling_type);
if(res >= 0)
res = fprintf(logfile, "CALLINGFROM=%s\n", (!cl) ? "<unknown>" : cl);
if(res >- 0)
res = fprintf(logfile, "CALLERNAME=%s\n", (!cn) ? "<unknown>" : cn);
if(res >= 0)
res = fprintf(logfile, "TIMESTAMP=%s\n\n", timestamp);
if(res >= 0)
res = fprintf(logfile, "[events]\n\n");
if(res < 0){
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: can't write metadata\n");
ast_log(LOG_DEBUG,"AlarmReceiver: can't write metadata\n");
}
else
res = 0;
return res;
}
/*
* Write a single event to the log file
*/
static int write_event( FILE *logfile, event_node_t *event)
{
int res = 0;
if( fprintf(logfile, "%s\n", event->data) < 0)
res = -1;
return res;
}
/*
* If we are configured to log events, do so here.
*
*/
static int log_events(struct ast_channel *chan, char *signalling_type, event_node_t *event)
{
int res = 0;
char workstring[sizeof(event_spool_dir)+sizeof(event_file)] = "";
int fd;
FILE *logfile;
event_node_t *elp = event;
if(strlen(event_spool_dir)){
/* Make a template */
strncpy(workstring, event_spool_dir, sizeof(workstring) - 1);
strncat(workstring, event_file, sizeof(workstring) - strlen(workstring) - 1);
/* Make the temporary file */
fd = mkstemp(workstring);
if(fd == -1){
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: can't make temporary file\n");
ast_log(LOG_DEBUG,"AlarmReceiver: can't make temporary file\n");
res = -1;
}
if(!res){
logfile = fdopen(fd, "w");
if(logfile){
/* Write the file */
res = write_metadata(logfile, signalling_type, chan);
if(!res)
while((!res) && (elp != NULL)){
res = write_event(logfile, elp);
elp = elp->next;
}
if(!res){
if(fflush(logfile) == EOF)
res = -1;
if(!res){
if(fclose(logfile) == EOF)
res = -1;
}
}
}
else
res = -1;
}
}
return res;
}
/*
* This function implements the logic to receive the Ademco contact ID format.
*
* The function will return 0 when the caller hangs up, else a -1 if there was a problem.
*/
static int receive_ademco_contact_id( struct ast_channel *chan, void *data, int fdto, int sdto, int tldn, event_node_t **ehead)
{
int i,j;
int res = 0;
int checksum;
char event[17];
event_node_t *enew, *elp;
int got_some_digits = 0;
int events_received = 0;
int ack_retries = 0;
static char digit_map[15] = "0123456789*#ABC";
static unsigned char digit_weights[15] = {10,1,2,3,4,5,6,7,8,9,11,12,13,14,15};
database_increment("calls-received");
/* Wait for first event */
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Waiting for first event from panel\n");
while(res >= 0){
if(got_some_digits == 0){
/* Send ACK tone sequence */
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Sending 1400Hz 100ms burst (ACK)\n");
res = send_tone_burst(chan, 1400.0, 100, tldn);
if(!res)
res = ast_safe_sleep(chan, 100);
if(!res){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Sending 2300Hz 100ms burst (ACK)\n");
res = send_tone_burst(chan, 2300.0, 100, tldn);
}
}
if( res >= 0)
res = receive_dtmf_digits(chan, event, sizeof(event) - 1, fdto, sdto);
if (res < 0){
if(events_received == 0)
/* Hangup with no events received should be logged in the DB */
database_increment("no-events-received");
else{
if(ack_retries){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: ACK retries during this call: %d\n", ack_retries);
database_increment("ack-retries");
}
}
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: App exiting...\n");
res = -1;
break;
}
if(res != 0){
/* Didn't get all of the digits */
if(option_verbose >= 2)
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Incomplete string: %s, trying again...\n", event);
if(!got_some_digits){
got_some_digits = (strlen(event)) ? 1 : 0;
ack_retries++;
}
continue;
}
got_some_digits = 1;
if(option_verbose >= 2)
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Received Event %s\n", event);
ast_log(LOG_DEBUG, "AlarmReceiver: Received event: %s\n", event);
/* Calculate checksum */
for(j = 0, checksum = 0; j < 16; j++){
for(i = 0 ; i < sizeof(digit_map) ; i++){
if(digit_map[i] == event[j])
break;
}
if(i == 16)
break;
checksum += digit_weights[i];
}
if(i == 16){
if(option_verbose >= 2)
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Bad DTMF character %c, trying again\n", event[j]);
continue; /* Bad character */
}
/* Checksum is mod(15) of the total */
checksum = checksum % 15;
if(checksum){
database_increment("checksum-errors");
if(option_verbose >= 2){
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Nonzero checksum\n");
ast_log(LOG_DEBUG, "AlarmReceiver: Nonzero checksum\n");
continue;
}
}
/* Check the message type for correctness */
if(strncmp(event + 4, "18", 2)){
if(strncmp(event + 4, "98", 2)){
database_increment("format-errors");
if(option_verbose >= 2)
ast_verbose(VERBOSE_PREFIX_2 "AlarmReceiver: Wrong message type\n");
ast_log(LOG_DEBUG, "AlarmReceiver: Wrong message type\n");
continue;
}
}
events_received++;
/* Queue the Event */
if((enew = malloc(sizeof(event_node_t))) == NULL){
if(option_verbose >= 1)
ast_verbose(VERBOSE_PREFIX_1 "AlarmReceiver: Failed to allocate memory\n");
ast_log(LOG_WARNING, "AlarmReceiver Failed to allocate memory\n");
res = -1;
break;
}
memset(enew, 0, sizeof(event_node_t));
enew->next = NULL;
strncpy(enew->data, event, sizeof(enew->data) - 1);
/*
* Insert event onto end of list
*/
if(*ehead == NULL){
*ehead = enew;
}
else{
for(elp = *ehead; elp->next != NULL; elp = elp->next)
;
elp->next = enew;
}
if(res > 0)
res = 0;
/* Let the user have the option of logging the single event before sending the kissoff tone */
if((res == 0) && (log_individual_events))
res = log_events(chan, ADEMCO_CONTACT_ID, enew);
/* Wait 200 msec before sending kissoff */
if(res == 0)
res = ast_safe_sleep(chan, 200);
/* Send the kissoff tone */
if(res == 0)
res = send_tone_burst(chan, 1400.0, 900, tldn);
}
return res;
}
/*
* This is the main function called by Asterisk Core whenever the App is invoked in the extension logic.
* This function will always return 0.
*/
static int alarmreceiver_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
event_node_t *elp, *efree;
char signalling_type[64] = "";
event_node_t *event_head = NULL;
LOCAL_USER_ADD(u);
/* Set write and read formats to ULAW */
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Setting read and write formats to ULAW\n");
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);
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);
return -1;
}
/* Set default values for this invokation of the application */
strncpy(signalling_type, ADEMCO_CONTACT_ID, sizeof(signalling_type) - 1);
/* Answer the channel if it is not already */
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Answering channel\n");
if (chan->_state != AST_STATE_UP) {
res = ast_answer(chan);
if (res) {
LOCAL_USER_REMOVE(u);
return -1;
}
}
/* Wait for the connection to settle post-answer */
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: Waiting for connection to stabilize\n");
res = ast_safe_sleep(chan, 1250);
/* Attempt to receive the events */
if(!res){
/* Determine the protocol to receive in advance */
/* Note: Ademco contact is the only one supported at this time */
/* Others may be added later */
if(!strcmp(signalling_type, ADEMCO_CONTACT_ID))
receive_ademco_contact_id(chan, data, fdtimeout, sdtimeout, toneloudness, &event_head);
else
res = -1;
}
/* Events queued by receiver, write them all out here if so configured */
if((!res) && (log_individual_events == 0)){
res = log_events(chan, signalling_type, event_head);
}
/*
* Do we exec a command line at the end?
*/
if((!res) && (strlen(event_app)) && (event_head)){
ast_log(LOG_DEBUG,"Alarmreceiver: executing: %s\n", event_app);
ast_safe_system(event_app);
}
/*
* Free up the data allocated in our linked list
*/
for(elp = event_head; (elp != NULL);){
efree = elp;
elp = elp->next;
free(efree);
}
LOCAL_USER_REMOVE(u);
return 0;
}
/*
* Load the configuration from the configuration file
*/
static int load_config(void)
{
struct ast_config *cfg;
char *p;
/* Read in the config file */
cfg = ast_load(ALMRCV_CONFIG);
if(!cfg){
if(option_verbose >= 4)
ast_verbose(VERBOSE_PREFIX_4 "AlarmReceiver: No config file\n");
}
else{
p = ast_variable_retrieve(cfg, "general", "eventcmd");
if(p){
strncpy(event_app, p, sizeof(event_app) - 1);
event_app[sizeof(event_app) - 1] = '\0';
}
p = ast_variable_retrieve(cfg, "general", "loudness");
if(p){
toneloudness = atoi(p);
if(toneloudness < 100)
toneloudness = 100;
if(toneloudness > 8192)
toneloudness = 8192;
}
p = ast_variable_retrieve(cfg, "general", "fdtimeout");
if(p){
fdtimeout = atoi(p);
if(fdtimeout < 1000)
fdtimeout = 1000;
if(fdtimeout > 10000)
fdtimeout = 10000;
}
p = ast_variable_retrieve(cfg, "general", "sdtimeout");
if(p){
sdtimeout = atoi(p);
if(sdtimeout < 110)
sdtimeout = 110;
if(sdtimeout > 4000)
sdtimeout = 4000;
}
p = ast_variable_retrieve(cfg, "general", "logindividualevents");
if(p){
log_individual_events = ast_true(p);
}
p = ast_variable_retrieve(cfg, "general", "eventspooldir");
if(p){
strncpy(event_spool_dir, p, sizeof(event_spool_dir) - 1);
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);
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);
db_family[sizeof(db_family) - 1] = '\0';
}
}
return 0;
}
/*
* These functions are required to implement an Asterisk App.
*/
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
load_config();
return ast_register_application(app, alarmreceiver_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

172
apps/app_authenticate.c Normal file
View File

@@ -0,0 +1,172 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Execute arbitrary authenticate commands
*
* 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
*/
#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>
static char *tdesc = "Authentication Application";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int auth_exec(struct ast_channel *chan, void *data)
{
int res=0;
int retries;
struct localuser *u;
char password[256]="";
char passwd[256];
char *opts;
char *prompt;
if (!data || 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) {
LOCAL_USER_REMOVE(u);
return -1;
}
}
strncpy(password, data, sizeof(password) - 1);
opts=strchr(password, '|');
if (opts) {
*opts = 0;
opts++;
} else
opts = "";
/* Start asking for password */
prompt = "agent-pass";
for (retries = 0; retries < 3; retries++) {
res = ast_app_getdata(chan, prompt, passwd, sizeof(passwd) - 2, 0);
if (res < 0)
break;
res = 0;
if (password[0] == '/') {
if (strchr(opts, 'd')) {
char tmp[256];
/* Compare against a database key */
if (!ast_db_get(password + 1, passwd, tmp, sizeof(tmp))) {
/* It's a good password */
if (strchr(opts, 'r')) {
ast_db_del(password + 1, passwd);
}
break;
}
} else {
/* Compare against a file */
FILE *f;
f = fopen(password, "r");
if (f) {
char buf[256] = "";
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;
}
}
fclose(f);
if (!ast_strlen_zero(buf) && !strcmp(passwd, buf))
break;
} else
ast_log(LOG_WARNING, "Unable to open file '%s' for authentication: %s\n", password, strerror(errno));
}
} else {
/* Compare against a fixed password */
if (!strcmp(passwd, password))
break;
}
prompt="auth-incorrect";
}
if ((retries < 3) && !res) {
if (strchr(opts, 'a'))
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;
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, auth_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

66
apps/app_cdr.c Normal file
View File

@@ -0,0 +1,66 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Applictions connected with CDR engine
*
* Copyright (C) 2003, Digium
*
* Martin Pycko <martinp@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#include <sys/types.h>
#include <asterisk/channel.h>
#include <asterisk/module.h>
#include <asterisk/pbx.h>
#include <stdlib.h>
static char *tdesc = "Make sure asterisk doesn't save CDR for a certain call";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int nocdr_exec(struct ast_channel *chan, void *data)
{
if (chan->cdr) {
ast_cdr_free(chan->cdr);
chan->cdr = NULL;
}
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(nocdr_app);
}
int load_module(void)
{
return ast_register_application(nocdr_app, nocdr_exec, nocdr_synopsis, nocdr_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

136
apps/app_chanisavail.c Normal file
View File

@@ -0,0 +1,136 @@
/*
* 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
*
*/
#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 <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/ioctl.h>
static char *tdesc = "Check if channel is available";
static char *app = "ChanIsAvail";
static char *synopsis = "Check if channel is available";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int chanavail_exec(struct ast_channel *chan, void *data)
{
int res=-1;
struct localuser *u;
char info[512], tmp[512], *peers, *tech, *number, *rest, *cur;
struct ast_channel *tempchan;
if (!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);
peers = info;
if (peers) {
cur = peers;
do {
/* remember where to start next time */
rest = strchr(cur, '&');
if (rest) {
*rest = 0;
rest++;
}
tech = cur;
number = strchr(tech, '/');
if (!number) {
ast_log(LOG_WARNING, "ChanIsAvail argument takes format ([technology]/[device])\n");
return -1;
}
*number = '\0';
number++;
if ((tempchan = ast_request(tech, chan->nativeformats, number))) {
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);
ast_hangup(tempchan);
tempchan = NULL;
res = 1;
break;
}
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;
}
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, chanavail_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

143
apps/app_controlplayback.c Normal file
View File

@@ -0,0 +1,143 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Trivial application to control playback a sound file
*
* 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
*/
#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>
static char *tdesc = "Control Playback Application";
static char *app = "ControlPlayback";
static char *synopsis = "Play a file with fast forward and rewind";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int is_on_phonepad(char key)
{
return (key == 35 || key == 42 || (key >= 48 && key <= 57)) ? 1 : 0;
}
static int controlplayback_exec(struct ast_channel *chan, void *data)
{
int res = 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)) {
ast_log(LOG_WARNING, "ControlPlayback requires an argument (filename)\n");
return -1;
}
strncpy(tmp, (char *)data, sizeof(tmp)-1);
file = tmp;
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++;
}
}
}
}
}
skipms = skip ? atoi(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;
LOCAL_USER_ADD(u);
res = ast_control_streamfile(chan, file, fwd, rev, stop, pause, skipms);
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)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, controlplayback_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

198
apps/app_cut.c Normal file
View File

@@ -0,0 +1,198 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Cut application
*
* 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.
*
*/
#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>
/* Maximum length of any variable */
#define MAXRESULT 1024
static char *tdesc = "Cuts up variables";
static char *app_cut = "Cut";
static char *cut_synopsis = "Cut(newvar=varname|delimiter|fieldspec)";
static char *cut_descrip =
"Cut(newvar=varname,delimiter,field)\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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int cut_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s, *newvar=NULL, *varname=NULL, *delimiter=NULL, *field=NULL;
int args_okay = 0;
LOCAL_USER_ADD(u);
/* 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;
}
}
}
}
} else {
ast_log(LOG_ERROR, "Out of memory\n");
res = -1;
}
}
if (args_okay) {
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;
}
if (delimiter[0])
d = delimiter[0];
else
d = '-';
/* String form of the delimiter, for use with strsep(3) */
snprintf(ds, sizeof(ds), "%c", d);
pbx_substitute_variables_helper(chan, tmp, tmp2, MAXRESULT - 1);
if (tmp2) {
int curfieldnum = 1;
while ((tmp2 != NULL) && (field != NULL)) {
char *nextgroup = strsep(&field, "&");
int num1 = 0, num2 = MAXRESULT;
char trashchar;
if (sscanf(nextgroup, "%d-%d", &num1, &num2) == 2) {
/* range with both start and end */
} else if (sscanf(nextgroup, "-%d", &num2) == 1) {
/* range with end */
num1 = 0;
} else if ((sscanf(nextgroup, "%d%c", &num1, &trashchar) == 2) && (trashchar == '-')) {
/* range with start */
num2 = MAXRESULT;
} else if (sscanf(nextgroup, "%d", &num1) == 1) {
/* 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;
}
/* Get to start, if any */
if (num1 > 0) {
while ((tmp2 != (char *)NULL + 1) && (curfieldnum < num1)) {
tmp2 = index(tmp2, d) + 1;
curfieldnum++;
}
}
/* 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");
}
/* Re-null tmp2 if we added 1 to NULL */
if (tmp2 == (char *)NULL + 1)
tmp2 = NULL;
/* 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);
if (strlen(retstring)) {
snprintf(retstring + curlen, MAXRESULT - curlen, "%c%s", d, tmp3);
} else {
snprintf(retstring, MAXRESULT, "%s", tmp3);
}
curfieldnum++;
}
}
}
pbx_builtin_setvar_helper(chan, newvar, retstring);
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_cut);
}
int load_module(void)
{
return ast_register_application(app_cut, cut_exec, cut_synopsis, cut_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

81
apps/app_datetime.c Normal file
View File

@@ -0,0 +1,81 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Time of day - Report the time of day
*
* 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
*/
#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>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
static char *tdesc = "Date and Time";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int datetime_exec(struct ast_channel *chan, void *data)
{
int res=0;
time_t t;
struct localuser *u;
LOCAL_USER_ADD(u);
time(&t);
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
if (!res)
res = ast_say_datetime(chan, t, "", chan->language);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, datetime_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

255
apps/app_db.c Normal file
View File

@@ -0,0 +1,255 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Database access functions
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 2003, Jefferson Noxon
*
* Mark Spencer <markster@linux-support.net>
* Jefferson Noxon <jeff@debian.org>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
static char *tdesc = "Database access functions for Asterisk extension logic";
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";
static char *p_descrip =
" DBput(family/key=value): Stores the given value in the Asterisk\n"
"database. Always returns 0.\n";
static char *d_descrip =
" DBdel(family/key): Deletes a key from the Asterisk database. Always\n"
"returns 0.\n";
static char *dt_descrip =
" DBdeltree(family[/keytree]): Deletes a family or keytree from the Asterisk\n"
"database. Always returns 0.\n";
static char *g_app = "DBget";
static char *p_app = "DBput";
static char *d_app = "DBdel";
static char *dt_app = "DBdeltree";
static char *g_synopsis = "Retrieve a value from the database";
static char *p_synopsis = "Store a value in the database";
static char *d_synopsis = "Delete a key from the database";
static char *dt_synopsis = "Delete a family or keytree from the database";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int deltree_exec (struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *family, *keytree;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '/')) {
family = strsep (&argv, "/");
keytree = strsep (&argv, "\0");
if (!family || !keytree) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
return 0;
}
if (!strlen (keytree))
keytree = 0;
} else {
family = argv;
keytree = 0;
}
if (option_verbose > 2) {
if (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);
}
if (ast_db_deltree (family, keytree)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBdeltree: Error deleting key from database.\n");
}
return 0;
}
static int del_exec (struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *family, *key;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '/')) {
family = strsep (&argv, "/");
key = strsep (&argv, "\0");
if (!family || !key) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
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)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBdel: Error deleting key from database.\n");
}
} else {
ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
}
return 0;
}
static int put_exec (struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *value, *family, *key;
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
return 0;
}
memcpy (argv, data, arglen + 1);
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");
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)) {
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBput: Error writing value to database.\n");
}
} else {
ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
}
return 0;
}
static int get_exec (struct ast_channel *chan, void *data)
{
int arglen;
char *argv, *varname, *family, *key;
char dbresult[256];
arglen = strlen (data);
argv = alloca (arglen + 1);
if (!argv) { /* Why would this fail? */
ast_log (LOG_DEBUG, "Memory allocation failed\n");
return 0;
}
memcpy (argv, data, arglen + 1);
if (strchr (argv, '=') && strchr (argv, '/')) {
varname = strsep (&argv, "=");
family = strsep (&argv, "/");
key = strsep (&argv, "\0");
if (!varname || !family || !key) {
ast_log (LOG_DEBUG, "Ignoring; Syntax error in argument\n");
return 0;
}
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);
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "DBget: set variable %s to %s\n", varname, dbresult);
} 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;
}
} else {
ast_log (LOG_DEBUG, "Ignoring, no parameters\n");
}
return 0;
}
int unload_module (void)
{
int retval;
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 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);
return retval;
}
char *description (void)
{
return tdesc;
}
int usecount (void)
{
int res;
STANDARD_USECOUNT (res);
return res;
}
char *key ()
{
return ASTERISK_GPL_KEY;
}

1183
apps/app_dial.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

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

@@ -11,6 +11,7 @@
* the GNU General Public License
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
@@ -18,23 +19,28 @@
#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 <pthread.h>
#include <stdio.h>
#include "../asterisk.h"
#include "../astconf.h"
static char *tdesc = "Extension Directory";
static char *app = "Directory";
static char *synopsis = "Provide directory of voicemail extensions";
static char *descrip =
" Directory(context): Presents the user with a directory of extensions from which\n"
" they may select by name. The list of names and extensions is discovered from\n"
" voicemail.conf. The context argument is required, and specifies the context\n"
" in which to interpret the extensions\n. Returns 0 unless the user hangs up. It\n"
" also sets up the channel on exit to enter the extension the user selected.\n";
" 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";
/* For simplicity, I'm keeping the format compatible with the voicemail config,
but i'm open to suggestions for isolating it */
@@ -109,7 +115,6 @@ static char *convert(char *lastname)
case 'Z':
tmp[lcount++] = '9';
break;
default:
}
lastname++;
}
@@ -118,18 +123,114 @@ static char *convert(char *lastname)
return tmp;
}
static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *context, char digit)
/* play name of mailbox owner.
* returns: -1 for bad or missing extension
* '1' for selected entry from directory
* '*' for skipped entry from directory
*/
static int play_mailbox_owner(struct ast_channel *chan, char *context, char *dialcontext, char *ext, char *name) {
int res = 0;
int loop = 3;
char fn[256];
char fn2[256];
/* Check for the VoiceMail2 greeting first */
snprintf(fn, sizeof(fn), "%s/voicemail/%s/%s/greet",
(char *)ast_config_AST_SPOOL_DIR, context, ext);
/* Otherwise, check for an old-style Voicemail greeting */
snprintf(fn2, sizeof(fn2), "%s/vm/%s/greet",
(char *)ast_config_AST_SPOOL_DIR, ext);
if (ast_fileexists(fn, NULL, chan->language) > 0) {
res = ast_streamfile(chan, fn, chan->language);
if (!res) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
}
ast_stopstream(chan);
} else if (ast_fileexists(fn2, NULL, chan->language) > 0) {
res = ast_streamfile(chan, fn2, chan->language);
if (!res) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
}
ast_stopstream(chan);
} else {
res = ast_say_character_str(chan, !ast_strlen_zero(name) ? name : ext,
AST_DIGIT_ANY, chan->language);
}
while (loop) {
if (!res) {
res = ast_streamfile(chan, "dir-instr", chan->language);
}
if (!res) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
}
if (!res) {
res = ast_waitfordigit(chan, 3000);
}
ast_stopstream(chan);
if (res > -1) {
switch (res) {
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 {
ast_log(LOG_WARNING,
"Can't find extension '%s' in context '%s'. "
"Did you pass the wrong context to Directory?\n",
ext, dialcontext);
res = -1;
}
break;
case '*':
/* Skip to next match in list */
loop = 0;
break;
default:
/* Not '1', or '*', so decrement number of tries */
res = 0;
loop--;
break;
} /* end switch */
} /* end if */
else {
/* User hungup, so jump out now */
loop = 0;
}
} /* end while */
return(res);
}
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 */
char ext[NUMDIGITS + 1];
char name[80] = "";
struct ast_variable *v;
int res;
int found=0;
char *start, *pos, *conv;
char fn[256];
int lastuserchoice = 0;
char *start, *pos, *conv,*stringp=NULL;
if (!context || ast_strlen_zero(context)) {
ast_log(LOG_WARNING,
"Directory must be called with an argument "
"(context in which to interpret extensions)\n");
return -1;
}
memset(ext, 0, sizeof(ext));
ext[0] = digit;
res = ast_readstring(chan, ext + 1, NUMDIGITS, 3000, 3000, "#");
res = 0;
if (ast_readstring(chan, ext + 1, NUMDIGITS - 1, 3000, 3000, "#") < 0) res = -1;
if (!res) {
/* Search for all names which start with those digits */
v = ast_variable_browse(cfg, context);
@@ -139,11 +240,13 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
/* Find a candidate extension */
start = strdup(v->value);
if (start) {
strtok(start, ",");
pos = strtok(NULL, ",");
stringp=start;
strsep(&stringp, ",");
pos = strsep(&stringp, ",");
if (pos) {
strncpy(name, pos, sizeof(name) - 1);
/* Grab the last name */
if (strrchr(pos, ' '))
if (last && strrchr(pos,' '))
pos = strrchr(pos, ' ') + 1;
conv = convert(pos);
if (conv) {
@@ -161,51 +264,46 @@ static int do_directory(struct ast_channel *chan, struct ast_config *cfg, char *
}
v = v->next;
}
if (v) {
/* We have a match -- play a greeting if they have it */
snprintf(fn, sizeof(fn), "%s/vm/%s/greet", AST_SPOOL_DIR, v->name);
if (ast_fileexists(fn, NULL, chan->language)) {
res = ast_streamfile(chan, fn, chan->language);
if (!res)
res = ast_waitstream(chan, AST_DIGIT_ANY);
ast_stopstream(chan);
} else {
res = ast_say_digit_str(chan, v->name, chan->language);
}
ahem:
if (!res)
res = ast_streamfile(chan, "dir-instr", chan->language);
if (!res)
res = ast_waitstream(chan, AST_DIGIT_ANY);
if (!res)
res = ast_waitfordigit(chan, 3000);
ast_stopstream(chan);
if (res > -1) {
if (res == '1') {
strncpy(chan->exten, v->name, sizeof(chan->exten));
res = play_mailbox_owner(chan, context, dialcontext, v->name, name);
switch (res) {
case -1:
/* user pressed '1' but extension does not exist, or
* user hungup
*/
lastuserchoice = 0;
break;
case '1':
/* user pressed '1' and extensions exists */
lastuserchoice = res;
strncpy(chan->context, dialcontext, sizeof(chan->context) - 1);
strncpy(chan->exten, v->name, sizeof(chan->exten) - 1);
chan->priority = 0;
strncpy(chan->context, context, sizeof(chan->context));
break;
case '*':
/* user pressed '*' to skip something found */
lastuserchoice = res;
res = 0;
break;
} else if (res == '*') {
res = 0;
v = v->next;
} else {
res = 0;
goto ahem;
}
default:
break;
}
} else {
if (found)
res = ast_streamfile(chan, "dir-nomore", chan->language);
else
res = ast_streamfile(chan, "dir-nomatch", chan->language);
if (!res)
res = 1;
return res;
v = v->next;
}
}
if (lastuserchoice != '1') {
if (found)
res = ast_streamfile(chan, "dir-nomore", chan->language);
else
res = ast_streamfile(chan, "dir-nomatch", chan->language);
if (!res)
res = 1;
return res;
}
return 0;
}
return res;
}
@@ -215,8 +313,11 @@ static int directory_exec(struct ast_channel *chan, void *data)
int res = 0;
struct localuser *u;
struct ast_config *cfg;
int last = 1;
char *context, *dialcontext, *dirintro, *options;
if (!data) {
ast_log(LOG_WARNING, "directory requires an argument (context)\n");
ast_log(LOG_WARNING, "directory requires an argument (context[,dialcontext])\n");
return -1;
}
cfg = ast_load(DIRECTORY_CONFIG);
@@ -226,15 +327,40 @@ static int directory_exec(struct ast_channel *chan, void *data)
}
LOCAL_USER_ADD(u);
top:
context = ast_strdupa(data);
dialcontext = strchr(context, '|');
if (dialcontext) {
*dialcontext = '\0';
dialcontext++;
options = strchr(dialcontext, '|');
if (options) {
*options = '\0';
options++;
if (strchr(options, 'f'))
last = 0;
}
} else
dialcontext = context;
dirintro = ast_variable_retrieve(cfg, context, "directoryintro");
if (!dirintro || ast_strlen_zero(dirintro))
dirintro = ast_variable_retrieve(cfg, "general", "directoryintro");
if (!dirintro || 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, "dir-intro", chan->language);
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, (char *)data, res);
res = do_directory(chan, cfg, context, dialcontext, res, last);
if (res > 0) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
ast_stopstream(chan);

365
apps/app_disa.c Normal file
View File

@@ -0,0 +1,365 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* DISA -- Direct Inward System Access Application 6/20/2001
*
* Copyright (C) 2001, Linux Support Services, Inc.
*
* Jim Dixon <jim@lambdatel.com>
*
* Made only slightly more sane by Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
static char *tdesc = "DISA (Direct Inward System Access) Application";
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"
"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"
"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"
"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"
"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"
"lines, or comments starting with \"#\" or \";\". In addition, the\n"
"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"
"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.";
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)
{
const struct tone_zone_sound *ts = NULL;
ts = ast_get_indication_tone(chan->zone, "dial");
if (ts)
ast_playtones_start(chan, 0, ts->data, 0);
else
ast_tonepair_start(chan, 350, 440, 0, 0);
}
static int disa_exec(struct ast_channel *chan, void *data)
{
int i,j,k,x,did_ignore;
struct localuser *u;
char tmp[256],arg2[256]="",exten[AST_MAX_EXTENSION],acctcode[20]="";
char *ourcontext,*ourcallerid;
struct ast_frame *f;
struct timeval lastout, now, lastdigittime;
int res;
time_t rstart;
FILE *fp;
char *stringp=NULL;
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)) {
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)
{
/* answer */
ast_answer(chan);
}
i = k = x = 0; /* k is 0 for pswd entry, 1 for ext entry */
did_ignore = 0;
exten[0] = 0;
acctcode[0] = 0;
/* can we access DISA without password? */
ast_log(LOG_DEBUG, "Context: %s\n",ourcontext);
if (!strcasecmp(tmp, "no-password"))
{;
k = 1;
ast_log(LOG_DEBUG, "DISA no-password login success\n");
}
gettimeofday(&lastdigittime,NULL);
play_dialtone(chan);
for(;;)
{
gettimeofday(&now,NULL);
/* if outa time, give em reorder */
if (ms_diff(&now,&lastdigittime) >
((k) ? digittimeout : firstdigittimeout))
{
ast_log(LOG_DEBUG,"DISA %s entry timeout on chan %s\n",
((k) ? "extension" : "password"),chan->name);
break;
}
if ((res = ast_waitfor(chan, -1) < 0)) {
ast_log(LOG_DEBUG, "Waitfor returned %d\n", res);
continue;
}
f = ast_read(chan);
if (f == NULL)
{
LOCAL_USER_REMOVE(u);
return -1;
}
if ((f->frametype == AST_FRAME_CONTROL) &&
(f->subclass == AST_CONTROL_HANGUP))
{
ast_frfree(f);
LOCAL_USER_REMOVE(u);
return -1;
}
if (f->frametype == AST_FRAME_VOICE) {
ast_frfree(f);
continue;
}
/* if not DTMF, just do it again */
if (f->frametype != AST_FRAME_DTMF)
{
ast_frfree(f);
continue;
}
j = f->subclass; /* save digit */
ast_frfree(f);
if (i == 0)
ast_playtones_stop(chan);
gettimeofday(&lastdigittime,NULL);
/* got a DTMF tone */
if (i < AST_MAX_EXTENSION) /* if still valid number of digits */
{
if (!k) /* if in password state */
{
if (j == '#') /* end of password */
{
/* see if this is an integer */
if (sscanf(tmp,"%d",&j) < 1)
{ /* nope, it must be a filename */
fp = fopen(tmp,"r");
if (!fp)
{
ast_log(LOG_WARNING,"DISA password file %s not found on chan %s\n",tmp,chan->name);
LOCAL_USER_REMOVE(u);
return -1;
}
tmp[0] = 0;
while(fgets(tmp,sizeof(tmp) - 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;
/* 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;
}
/* password must be in valid format (numeric) */
if (sscanf(tmp,"%d",&j) < 1) continue;
/* if we got it */
if (!strcmp(exten,tmp)) break;
}
fclose(fp);
}
/* compare the two */
if (strcmp(exten,tmp))
{
ast_log(LOG_WARNING,"DISA on chan %s got bad password %s\n",chan->name,exten);
goto reorder;
}
/* password good, set to dial state */
ast_log(LOG_DEBUG,"DISA on chan %s password is good\n",chan->name);
play_dialtone(chan);
k = 1;
i = 0; /* re-set buffer pointer */
exten[sizeof(acctcode)] = 0;
strncpy(acctcode,exten, sizeof(acctcode) - 1);
exten[0] = 0;
ast_log(LOG_DEBUG,"Successful DISA log-in on chan %s\n",chan->name);
continue;
}
}
exten[i++] = j; /* save digit */
exten[i] = 0;
if (!k) continue; /* if getting password, continue doing it */
/* if this exists */
if (ast_ignore_pattern(ourcontext, exten)) {
play_dialtone(chan);
did_ignore = 1;
} else
if (did_ignore) {
ast_playtones_stop(chan);
did_ignore = 0;
}
/* if can do some more, do it */
if (!ast_matchmore_extension(chan,ourcontext,exten,1, chan->callerid)) {
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);
}
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;
}
reorder:
ast_indicate(chan,AST_CONTROL_CONGESTION);
/* something is invalid, give em reorder for several seconds */
time(&rstart);
while(time(NULL) < rstart + 10)
{
if (ast_waitfor(chan, -1) < 0)
break;
f = ast_read(chan);
if (!f)
break;
ast_frfree(f);
}
ast_playtones_stop(chan);
LOCAL_USER_REMOVE(u);
return -1;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, disa_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key(void)
{
return ASTERISK_GPL_KEY;
}

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

@@ -11,6 +11,7 @@
* the GNU General Public License
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
@@ -21,9 +22,6 @@
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
static char *tdesc = "Simple Echo Application";
static char *app = "Echo";
@@ -31,8 +29,8 @@ 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. Returns 0\n"
"if the user exits with the '#' key, or -1 if the user hangs up.\n";
STANDARD_LOCAL_USER;
@@ -44,11 +42,21 @@ static int echo_exec(struct ast_channel *chan, void *data)
struct localuser *u;
struct ast_frame *f;
LOCAL_USER_ADD(u);
ast_set_write_format(chan, ast_best_codec(chan->nativeformats));
ast_set_read_format(chan, ast_best_codec(chan->nativeformats));
/* Do our thing here */
while((f = ast_read(chan))) {
while(ast_waitfor(chan, -1) > -1) {
f = ast_read(chan);
if (!f)
break;
f->delivery.tv_sec = 0;
f->delivery.tv_usec = 0;
if (f->frametype == AST_FRAME_VOICE) {
if (ast_write(chan, f))
break;
} else if (f->frametype == AST_FRAME_VIDEO) {
if (ast_write(chan, f))
break;
} else if (f->frametype == AST_FRAME_DTMF) {
if (f->subclass == '#') {
res = 0;
@@ -57,6 +65,7 @@ static int echo_exec(struct ast_channel *chan, void *data)
if (ast_write(chan, f))
break;
}
ast_frfree(f);
}
LOCAL_USER_REMOVE(u);
return res;

203
apps/app_enumlookup.c Normal file
View File

@@ -0,0 +1,203 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Time of day - Report the time of day
*
* 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
*/
#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 <string.h>
#include <stdlib.h>
#include <ctype.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"
"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" ;
#define ENUM_CONFIG "enum.conf"
static char h323driver[80] = "";
#define H323DRIVERDEFAULT "H323"
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int enumlookup_exec(struct ast_channel *chan, void *data)
{
int res=0;
char tech[80];
char dest[80];
char tmp[256];
char *c,*t;
struct localuser *u;
if (!data || ast_strlen_zero(data)) {
ast_log(LOG_WARNING, "EnumLookup requires an argument (extension)\n");
res = 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);
}
LOCAL_USER_REMOVE(u);
/* Parse it out */
if (res > 0) {
if (!strcasecmp(tech, "SIP")) {
c = dest;
if (!strncmp(c, "sip:", 4))
c += 4;
snprintf(tmp, sizeof(tmp), "SIP/%s", c);
pbx_builtin_setvar_helper(chan, "ENUM", tmp);
} else if (!strcasecmp(tech, "h323")) {
c = dest;
if (!strncmp(c, "h323:", 5))
c += 5;
snprintf(tmp, sizeof(tmp), "%s/%s", h323driver, c);
/* do a s!;.*!! on the H323 URI */
t = strchr(c,';');
if (t)
*t = 0;
pbx_builtin_setvar_helper(chan, "ENUM", tmp);
} else if (!strcasecmp(tech, "iax")) {
c = dest;
if (!strncmp(c, "iax:", 4))
c += 4;
snprintf(tmp, sizeof(tmp), "IAX/%s", c);
pbx_builtin_setvar_helper(chan, "ENUM", tmp);
} else if (!strcasecmp(tech, "iax2")) {
c = dest;
if (!strncmp(c, "iax2:", 5))
c += 5;
snprintf(tmp, sizeof(tmp), "IAX2/%s", c);
pbx_builtin_setvar_helper(chan, "ENUM", tmp);
} else if (!strcasecmp(tech, "tel")) {
c = dest;
if (!strncmp(c, "tel:", 4))
c += 4;
if (c[0] != '+') {
ast_log(LOG_NOTICE, "tel: uri must start with a \"+\" (got '%s')\n", c);
res = 0;
} else {
/* now copy over the number, skipping all non-digits and stop at ; or NULL */
t = tmp;
while( *c && (*c != ';') && (t - tmp < (sizeof(tmp) - 1))) {
if (isdigit(*c))
*t++ = *c;
c++;
}
*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;
}
} else if (!ast_strlen_zero(tech)) {
ast_log(LOG_NOTICE, "Don't know how to handle technology '%s'\n", tech);
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;
}
static int load_config(void)
{
struct ast_config *cfg;
char *s;
cfg = ast_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);
return 0;
}
ast_log(LOG_NOTICE, "No ENUM Config file, using defaults\n");
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
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);
}
int reload(void)
{
return(load_config());
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

101
apps/app_eval.c Normal file
View File

@@ -0,0 +1,101 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Eval application
*
* Copyright (c) 2004 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.
*
*/
#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>
/* Maximum length of any variable */
#define MAXRESULT 1024
static char *tdesc = "Reevaluates strings";
static char *app_eval = "Eval";
static char *eval_synopsis = "Eval(newvar=somestring)";
static char *eval_descrip =
"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"
"the first time as part of the normal dialplan, and the second using Eval.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int eval_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s, *newvar=NULL, tmp[MAXRESULT];
LOCAL_USER_ADD(u);
/* Check and parse arguments */
if (data) {
s = ast_strdupa((char *)data);
if (s) {
newvar = strsep(&s, "=");
if (newvar && (newvar[0] != '\0')) {
memset(tmp, 0, MAXRESULT);
pbx_substitute_variables_helper(chan, s, tmp, MAXRESULT - 1);
pbx_builtin_setvar_helper(chan, newvar, tmp);
}
} else {
ast_log(LOG_ERROR, "Out of memory\n");
res = -1;
}
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_eval);
}
int load_module(void)
{
return ast_register_application(app_eval, eval_exec, eval_synopsis, eval_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

113
apps/app_exec.c Normal file
View File

@@ -0,0 +1,113 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Exec application
*
* Copyright (c) 2004 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.
*
*/
#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>
/* Maximum length of any variable */
#define MAXRESULT 1024
static char *tdesc = "Executes applications";
static char *app_exec = "Exec";
static char *exec_synopsis = "Exec(Appname(arguments))";
static char *exec_descrip =
"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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int exec_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s, *appname, *endargs, args[MAXRESULT];
struct ast_app *app;
LOCAL_USER_ADD(u);
memset(args, 0, MAXRESULT);
/* Check and parse arguments */
if (data) {
s = ast_strdupa((char *)data);
if (s) {
appname = strsep(&s, "(");
if (s) {
endargs = strrchr(s, ')');
if (endargs)
*endargs = '\0';
pbx_substitute_variables_helper(chan, s, args, MAXRESULT - 1);
}
if (appname) {
app = pbx_findapp(appname);
if (app) {
res = pbx_exec(chan, app, args, 1);
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", appname);
res = -2;
}
}
} else {
ast_log(LOG_ERROR, "Out of memory\n");
res = -1;
}
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_exec);
}
int load_module(void)
{
return ast_register_application(app_exec, exec_exec, exec_synopsis, exec_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

478
apps/app_festival.c Normal file
View File

@@ -0,0 +1,478 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Connect to festival
*
* Copyright (C) 2002, Christos Ricudis
*
* Christos Ricudis <ricudis@itc.auth.gr>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <ctype.h>
#define FESTIVAL_CONFIG "festival.conf"
static char *tdesc = "Simple Festival Interface";
static char *app = "Festival";
static char *synopsis = "Say text to the user";
static char *descrip =
" Festival(text[|intkeys]): Connect to Festival, send the argument, get back the waveform,"
"play it to the user, allowing any given interrupt keys to immediately terminate and return\n"
"the value, or 'any' to allow any number back (useful in dialplan)\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static char *socket_receive_file_to_buff(int fd,int *size)
{
/* Receive file (probably a waveform file) from socket using */
/* Festival key stuff technique, but long winded I know, sorry */
/* but will receive any file without closeing the stream or */
/* using OOB data */
static char *file_stuff_key = "ft_StUfF_key"; /* must == Festival's key */
char *buff;
int bufflen;
int n,k,i;
char c;
bufflen = 1024;
buff = (char *)malloc(bufflen);
*size=0;
for (k=0; file_stuff_key[k] != '\0';)
{
n = read(fd,&c,1);
if (n==0) break; /* hit stream eof before end of file */
if ((*size)+k+1 >= bufflen)
{ /* +1 so you can add a NULL if you want */
bufflen += bufflen/4;
buff = (char *)realloc(buff,bufflen);
}
if (file_stuff_key[k] == c)
k++;
else if ((c == 'X') && (file_stuff_key[k+1] == '\0'))
{ /* It looked like the key but wasn't */
for (i=0; i < k; i++,(*size)++)
buff[*size] = file_stuff_key[i];
k=0;
/* omit the stuffed 'X' */
}
else
{
for (i=0; i < k; i++,(*size)++)
buff[*size] = file_stuff_key[i];
k=0;
buff[*size] = c;
(*size)++;
}
}
return buff;
}
static int send_waveform_to_fd(char *waveform, int length, int fd) {
int res;
int x;
#ifdef __PPC__
char c;
#endif
res = fork();
if (res < 0)
ast_log(LOG_WARNING, "Fork failed\n");
if (res)
return res;
for (x=0;x<256;x++) {
if (x != fd)
close(x);
}
//IAS
#ifdef __PPC__
for( x=0; x<length; x+=2)
{
c = *(waveform+x+1);
*(waveform+x+1)=*(waveform+x);
*(waveform+x)=c;
}
#endif
write(fd,waveform,length);
write(fd,"a",1);
close(fd);
exit(0);
}
static int send_waveform_to_channel(struct ast_channel *chan, char *waveform, int length, char *intkeys) {
int res=0;
int fds[2];
int ms = -1;
int pid = -1;
int needed = 0;
int owriteformat;
struct ast_frame *f;
struct myframe {
struct ast_frame f;
char offset[AST_FRIENDLY_OFFSET];
char frdata[2048];
} myf;
if (pipe(fds)) {
ast_log(LOG_WARNING, "Unable to create pipe\n");
return -1;
}
/* Answer if it's not already going */
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
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");
return -1;
}
res=send_waveform_to_fd(waveform,length,fds[1]);
if (res >= 0) {
pid = res;
/* Order is important -- there's almost always going to be mp3... we want to prioritize the
user */
for (;;) {
ms = 1000;
res = ast_waitfor(chan, ms);
if (res < 1) {
res = -1;
break;
}
f = ast_read(chan);
if (!f) {
ast_log(LOG_WARNING, "Null frame == hangup() detected\n");
res = -1;
break;
}
if (f->frametype == AST_FRAME_DTMF) {
ast_log(LOG_DEBUG, "User pressed a key\n");
if (intkeys && strchr(intkeys, f->subclass)) {
res = f->subclass;
ast_frfree(f);
break;
}
}
if (f->frametype == AST_FRAME_VOICE) {
/* Treat as a generator */
needed = f->samples * 2;
if (needed > sizeof(myf.frdata)) {
ast_log(LOG_WARNING, "Only able to deliver %d of %d requested samples\n",
(int)sizeof(myf.frdata) / 2, needed/2);
needed = sizeof(myf.frdata);
}
res = read(fds[0], myf.frdata, needed);
if (res > 0) {
myf.f.frametype = AST_FRAME_VOICE;
myf.f.subclass = AST_FORMAT_SLINEAR;
myf.f.datalen = res;
myf.f.samples = res / 2;
myf.f.mallocd = 0;
myf.f.offset = AST_FRIENDLY_OFFSET;
myf.f.src = __PRETTY_FUNCTION__;
myf.f.data = myf.frdata;
if (ast_write(chan, &myf.f) < 0) {
res = -1;
break;
}
if (res < needed) { // last frame
ast_log(LOG_DEBUG, "Last frame\n");
res=0;
break;
}
} else {
ast_log(LOG_DEBUG, "No more waveform\n");
res = 0;
}
}
ast_frfree(f);
}
}
close(fds[0]);
close(fds[1]);
// if (pid > -1)
// kill(pid, SIGKILL);
if (!res && owriteformat)
ast_set_write_format(chan, owriteformat);
return res;
}
#define MAXLEN 180
#define MAXFESTLEN 2048
static int festival_exec(struct ast_channel *chan, void *vdata)
{
int usecache;
int res=0;
struct localuser *u;
struct sockaddr_in serv_addr;
struct hostent *serverhost;
struct ast_hostent ahp;
int fd;
FILE *fs;
char *host;
char *cachedir;
char *temp;
char *festivalcommand;
int port=1314;
int n;
char ack[4];
char *waveform;
int filesize;
int wave;
char bigstring[MAXFESTLEN];
int i;
struct MD5Context md5ctx;
unsigned char MD5Res[16];
char MD5Hex[33] = "";
char koko[4] = "";
char cachefile[MAXFESTLEN]="";
int readcache=0;
int writecache=0;
int strln;
int fdesc = -1;
char buffer[16384];
int seekpos = 0;
char data[256] = "";
char *intstr;
struct ast_config *cfg;
cfg = ast_load(FESTIVAL_CONFIG);
if (!cfg) {
ast_log(LOG_WARNING, "No such configuration file %s\n", FESTIVAL_CONFIG);
return -1;
}
if (!(host = ast_variable_retrieve(cfg, "general", "host"))) {
host = "localhost";
}
if (!(temp = ast_variable_retrieve(cfg, "general", "port"))) {
port = 1314;
} else {
port = atoi(temp);
}
if (!(temp = ast_variable_retrieve(cfg, "general", "usecache"))) {
usecache=0;
} else {
usecache = ast_true(temp);
}
if (!(cachedir = ast_variable_retrieve(cfg, "general", "cachedir"))) {
cachedir = "/tmp/";
}
if (!(festivalcommand = ast_variable_retrieve(cfg, "general", "festivalcommand"))) {
festivalcommand = "(tts_textasterisk \"%s\" 'file)(quit)\n";
}
if (!vdata || ast_strlen_zero(vdata)) {
ast_log(LOG_WARNING, "festival requires an argument (text)\n");
return -1;
}
strncpy(data, vdata, sizeof(data) - 1);
if ((intstr = strchr(data, '|'))) {
*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 */
fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (fd < 0) {
ast_log(LOG_WARNING,"festival_client: can't get socket\n");
return -1;
}
memset(&serv_addr, 0, sizeof(serv_addr));
if ((serv_addr.sin_addr.s_addr = inet_addr(host)) == -1) {
/* its a name rather than an ipnum */
serverhost = ast_gethostbyname(host, &ahp);
if (serverhost == (struct hostent *)0) {
ast_log(LOG_WARNING,"festival_client: gethostbyname failed\n");
return -1;
}
memmove(&serv_addr.sin_addr,serverhost->h_addr, serverhost->h_length);
}
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(port);
if (connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) != 0) {
ast_log(LOG_WARNING,"festival_client: connect to server failed\n");
return -1;
}
/* Compute MD5 sum of string */
MD5Init(&md5ctx);
MD5Update(&md5ctx,(unsigned char const *)data,strlen(data));
MD5Final(MD5Res,&md5ctx);
MD5Hex[0] = '\0';
/* Convert to HEX and look if there is any matching file in the cache
directory */
for (i=0;i<16;i++) {
snprintf(koko, sizeof(koko), "%X",MD5Res[i]);
strncat(MD5Hex, koko, sizeof(MD5Hex) - strlen(MD5Hex) - 1);
}
readcache=0;
writecache=0;
if (strlen(cachedir)+strlen(MD5Hex)+1<=MAXFESTLEN && (usecache==-1)) {
snprintf(cachefile, sizeof(cachefile), "%s/%s", cachedir, MD5Hex);
fdesc=open(cachefile,O_RDWR);
if (fdesc==-1) {
fdesc=open(cachefile,O_CREAT|O_RDWR,0777);
if (fdesc!=-1) {
writecache=1;
strln=strlen((char *)data);
ast_log(LOG_DEBUG,"line length : %d\n",strln);
write(fdesc,&strln,sizeof(int));
write(fdesc,data,strln);
seekpos=lseek(fdesc,0,SEEK_CUR);
ast_log(LOG_DEBUG,"Seek position : %d\n",seekpos);
}
} else {
read(fdesc,&strln,sizeof(int));
ast_log(LOG_DEBUG,"Cache file exists, strln=%d, strlen=%d\n",strln,(int)strlen((char *)data));
if (strlen((char *)data)==strln) {
ast_log(LOG_DEBUG,"Size OK\n");
read(fdesc,&bigstring,strln);
bigstring[strln] = 0;
if (strcmp(bigstring,data)==0) {
readcache=1;
} else {
ast_log(LOG_WARNING,"Strings do not match\n");
}
} else {
ast_log(LOG_WARNING,"Size mismatch\n");
}
}
}
if (readcache==1) {
close(fd);
fd=fdesc;
ast_log(LOG_DEBUG,"Reading from cache...\n");
} else {
ast_log(LOG_DEBUG,"Passing text to festival...\n");
fs=fdopen(dup(fd),"wb");
fprintf(fs,festivalcommand,(char *)data);
fflush(fs);
fclose(fs);
}
/* Write to cache and then pass it down */
if (writecache==1) {
ast_log(LOG_DEBUG,"Writing result to cache...\n");
while ((strln=read(fd,buffer,16384))!=0) {
write(fdesc,buffer,strln);
}
close(fd);
close(fdesc);
fd=open(cachefile,O_RDWR);
lseek(fd,seekpos,SEEK_SET);
}
ast_log(LOG_DEBUG,"Passing data to channel...\n");
/* Read back info from server */
/* This assumes only one waveform will come back, also LP is unlikely */
wave = 0;
do {
for (n=0; n < 3; )
n += read(fd,ack+n,3-n);
ack[3] = '\0';
if (strcmp(ack,"WV\n") == 0) { /* receive a waveform */
ast_log(LOG_DEBUG,"Festival WV command\n");
waveform = socket_receive_file_to_buff(fd,&filesize);
res = send_waveform_to_channel(chan,waveform,filesize, intstr);
free(waveform);
break;
}
else if (strcmp(ack,"LP\n") == 0) { /* receive an s-expr */
ast_log(LOG_DEBUG,"Festival LP command\n");
waveform = socket_receive_file_to_buff(fd,&filesize);
waveform[filesize]='\0';
ast_log(LOG_WARNING,"Festival returned LP : %s\n",waveform);
free(waveform);
} else if (strcmp(ack,"ER\n") == 0) { /* server got an error */
ast_log(LOG_WARNING,"Festival returned ER\n");
res=-1;
break;
}
} while (strcmp(ack,"OK\n") != 0);
close(fd);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, festival_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

119
apps/app_flash.c Normal file
View File

@@ -0,0 +1,119 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to flash a zap trunk
*
* 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
*/
#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 <sys/ioctl.h>
#ifdef __linux__
#include <linux/zaptel.h>
#else
#include <zaptel.h>
#endif /* __linux__ */
#include <string.h>
#include <errno.h>
#include <stdlib.h>
static char *tdesc = "Flash zap trunk application";
static char *app = "Flash";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static inline int zt_wait_event(int fd)
{
/* Avoid the silly zt_waitevent which ignores a bunch of events */
int i,j=0;
i = ZT_IOMUX_SIGEVENT;
if (ioctl(fd, ZT_IOMUX, &i) == -1) return -1;
if (ioctl(fd, ZT_GETEVENT, &j) == -1) return -1;
return j;
}
static int flash_exec(struct ast_channel *chan, void *data)
{
int res = -1;
int x;
struct localuser *u;
struct zt_params ztp;
LOCAL_USER_ADD(u);
if (!strcasecmp(chan->type, "Zap")) {
memset(&ztp, 0, sizeof(ztp));
res = ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp);
if (!res) {
if (ztp.sigtype & __ZT_SIG_FXS) {
x = ZT_FLASH;
res = ioctl(chan->fds[0], ZT_HOOK, &x);
if (!res || (errno == EINPROGRESS)) {
if (res) {
/* Wait for the event to finish */
zt_wait_event(chan->fds[0]);
}
res = ast_safe_sleep(chan, 1000);
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Flashed channel %s\n", chan->name);
} else
ast_log(LOG_WARNING, "Unable to flash channel %s: %s\n", chan->name, strerror(errno));
} else
ast_log(LOG_WARNING, "%s is not an FXO Channel\n", chan->name);
} else
ast_log(LOG_WARNING, "Unable to get parameters of %s: %s\n", chan->name, strerror(errno));
} else
ast_log(LOG_WARNING, "%s is not a Zap channel\n", chan->name);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, flash_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

146
apps/app_getcpeid.c Normal file
View File

@@ -0,0 +1,146 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Execute arbitrary system commands
*
* 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
*/
#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 <unistd.h>
#include <string.h>
#include <stdlib.h>
static char *tdesc = "Get ADSI CPE ID";
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.";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int cpeid_setstatus(struct ast_channel *chan, char *stuff[], int voice)
{
int justify[5] = { ADSI_JUST_CENT, ADSI_JUST_LEFT, ADSI_JUST_LEFT, ADSI_JUST_LEFT };
char *tmp[5];
int x;
for (x=0;x<4;x++)
tmp[x] = stuff[x];
tmp[4] = NULL;
return adsi_print(chan, tmp, justify, voice);
}
static int cpeid_exec(struct ast_channel *chan, void *idata)
{
int res=0;
struct localuser *u;
unsigned char cpeid[4];
int gotgeometry = 0;
int gotcpeid = 0;
int width, height, buttons;
char data[4][80];
char *stuff[4];
LOCAL_USER_ADD(u);
stuff[0] = data[0];
stuff[1] = data[1];
stuff[2] = data[2];
stuff[3] = data[3];
memset(data, 0, sizeof(data));
strncpy(stuff[0], "** CPE Info **", sizeof(data[0]) - 1);
strncpy(stuff[1], "Identifying CPE...", sizeof(data[1]) - 1);
strncpy(stuff[2], "Please wait...", sizeof(data[2]) - 1);
res = adsi_load_session(chan, NULL, 0, 1);
if (res > 0) {
cpeid_setstatus(chan, stuff, 0);
res = adsi_get_cpeid(chan, cpeid, 0);
if (res > 0) {
gotcpeid = 1;
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Got CPEID of '%02x:%02x:%02x:%02x' on '%s'\n", cpeid[0], cpeid[1], cpeid[2], cpeid[3], chan->name);
}
if (res > -1) {
strncpy(stuff[1], "Measuring CPE...", sizeof(data[1]) - 1);
strncpy(stuff[2], "Please wait...", sizeof(data[2]) - 1);
cpeid_setstatus(chan, stuff, 0);
res = adsi_get_cpeinfo(chan, &width, &height, &buttons, 0);
if (res > -1) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "CPE has %d lines, %d columns, and %d buttons on '%s'\n", height, width, buttons, chan->name);
gotgeometry = 1;
}
}
if (res > -1) {
if (gotcpeid)
snprintf(stuff[1], sizeof(data[1]), "CPEID: %02x:%02x:%02x:%02x", cpeid[0], cpeid[1], cpeid[2], cpeid[3]);
else
strncpy(stuff[1], "CPEID Unknown", sizeof(data[1]) - 1);
if (gotgeometry)
snprintf(stuff[2], sizeof(data[2]), "Geom: %dx%d, %d buttons", width, height, buttons);
else
strncpy(stuff[2], "Geometry unknown", sizeof(data[2]) - 1);
strncpy(stuff[3], "Press # to exit", sizeof(data[3]) - 1);
cpeid_setstatus(chan, stuff, 1);
for(;;) {
res = ast_waitfordigit(chan, 1000);
if (res < 0)
break;
if (res == '#') {
res = 0;
break;
}
}
adsi_unload_session(chan);
}
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, cpeid_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

224
apps/app_groupcount.c Normal file
View File

@@ -0,0 +1,224 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Group Manipulation Applications
*
* Copyright (c) 2004 Digium
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
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 *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";
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 count;
struct localuser *u;
char *group=NULL;
char *cat = NULL;
char ret[80]="";
char tmp[256]="";
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 (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);
}
count = group_get_count(group, ret);
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;
struct localuser *u;
char ret[80] = "";
char tmp[256] = "";
char *cat=NULL, *group=NULL;
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 (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
ast_log(LOG_WARNING, "SetGroup requires an argument (group name)\n");
LOCAL_USER_REMOVE(u);
return res;
}
static int group_check_exec(struct ast_channel *chan, void *data)
{
int res=0;
int max, count;
struct localuser *u;
char ret[80] = "";
char tmp[256] = "";
char *cat, *group;
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
res = -1;
}
} else
ast_log(LOG_WARNING, "CheckGroup requires a positive integer argument (max)\n");
} else
ast_log(LOG_WARNING, "CheckGroup requires an argument(max)\n");
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app_group_count);
res |= ast_unregister_application(app_group_set);
res |= ast_unregister_application(app_group_check);
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);
return res;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

167
apps/app_hasnewvoicemail.c Normal file
View File

@@ -0,0 +1,167 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* HasVoicemail application
* Changes Copyright (c) 2004 Todd Freeman <freeman@andrews.edu>
*
* 95% based on HasNewVoicemail by:
*
* Copyright (c) 2003 Tilghman Lesher. All rights reserved.
*
* 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.
*
* 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.
*/
#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>
#include "../astconf.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_descrip =
"HasVoicemail(vmbox[@context][:folder][|varname])\n"
" Branches to priority + 101, if there is voicemail in folder indicated."
" Optionally sets <varname> to the number of messages in that folder."
" Assumes folder of INBOX if not specified.\n";
static char *app_hasnewvoicemail = "HasNewVoicemail";
static char *hasnewvoicemail_synopsis = "Conditionally branches to priority + 101";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int hasvoicemail_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char vmpath[256], *input, *varname = NULL, *vmbox, *vmfolder = "INBOX", *context = "default";
DIR *vmdir;
struct dirent *vment;
int vmcount = 0;
if (!data) {
ast_log(LOG_WARNING, "HasVoicemail requires an argument (vm-box[@context][:folder]|varname)\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 {
ast_log(LOG_ERROR, "Out of memory error\n");
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app_hasvoicemail);
res |= ast_unregister_application(app_hasnewvoicemail);
return res;
}
int load_module(void)
{
int res;
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;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

196
apps/app_ices.c Normal file
View File

@@ -0,0 +1,196 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Stream to an icecast server via ICES (see contrib/asterisk-ices.xml)
*
* 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
*/
#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>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/time.h>
#include <errno.h>
#include "../astconf.h"
#define ICES "/usr/bin/ices"
#define LOCAL_ICES "/usr/local/bin/ices"
static char *tdesc = "Encode and Stream via icecast and ices";
static char *app = "ICES";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int icesencode(char *filename, int fd)
{
int res;
int x;
res = fork();
if (res < 0)
ast_log(LOG_WARNING, "Fork failed\n");
if (res)
return res;
dup2(fd, STDIN_FILENO);
for (x=STDERR_FILENO + 1;x<256;x++) {
if ((x != STDIN_FILENO) && (x != STDOUT_FILENO))
close(x);
}
/* Most commonly installed in /usr/local/bin */
execl(ICES, "ices", filename, (char *)NULL);
/* But many places has it in /usr/bin */
execl(LOCAL_ICES, "ices", filename, (char *)NULL);
/* As a last-ditch effort, try to use PATH */
execlp("ices", "ices", filename, (char *)NULL);
ast_log(LOG_WARNING, "Execute of ices failed\n");
return -1;
}
static int ices_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
int fds[2];
int ms = -1;
int pid = -1;
int flags;
int oreadformat;
struct timeval last;
struct ast_frame *f;
char filename[256]="";
char *c;
last.tv_usec = 0;
last.tv_sec = 0;
if (!data || !strlen(data)) {
ast_log(LOG_WARNING, "ICES requires an argument (configfile.xml)\n");
return -1;
}
if (pipe(fds)) {
ast_log(LOG_WARNING, "Unable to create pipe\n");
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)
res = ast_answer(chan);
if (res) {
close(fds[0]);
close(fds[1]);
ast_log(LOG_WARNING, "Answer failed!\n");
return -1;
}
oreadformat = chan->readformat;
res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
if (res < 0) {
close(fds[0]);
close(fds[1]);
ast_log(LOG_WARNING, "Unable to set write format to signed linear\n");
return -1;
}
if (((char *)data)[0] == '/')
strncpy(filename, (char *)data, sizeof(filename) - 1);
else
snprintf(filename, sizeof(filename), "%s/%s", (char *)ast_config_AST_CONFIG_DIR, (char *)data);
/* Placeholder for options */
c = strchr(filename, '|');
if (c)
*c = '\0';
res = icesencode(filename, fds[0]);
close(fds[0]);
if (res >= 0) {
pid = res;
for (;;) {
/* Wait for audio, and stream */
ms = ast_waitfor(chan, -1);
if (ms < 0) {
ast_log(LOG_DEBUG, "Hangup detected\n");
res = -1;
break;
}
f = ast_read(chan);
if (!f) {
ast_log(LOG_DEBUG, "Null frame == hangup() detected\n");
res = -1;
break;
}
if (f->frametype == AST_FRAME_VOICE) {
res = write(fds[1], f->data, f->datalen);
if (res < 0) {
if (errno != EAGAIN) {
ast_log(LOG_WARNING, "Write failed to pipe: %s\n", strerror(errno));
res = -1;
break;
}
}
}
ast_frfree(f);
}
}
close(fds[1]);
LOCAL_USER_REMOVE(u);
if (pid > -1)
kill(pid, SIGKILL);
if (!res && oreadformat)
ast_set_read_format(chan, oreadformat);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, ices_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

89
apps/app_image.c Normal file
View File

@@ -0,0 +1,89 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to transmit an image
*
* 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
*/
#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>
static char *tdesc = "Image Transmission Application";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
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");
return -1;
}
LOCAL_USER_ADD(u);
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;
return 0;
}
res = ast_send_image(chan, data);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, sendimage_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

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

@@ -11,6 +11,7 @@
* the GNU General Public License
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/frame.h>
#include <asterisk/logger.h>
@@ -23,12 +24,22 @@
#include <sys/ioctl.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <sys/time.h>
#include <linux/soundcard.h>
#include <netinet/in.h>
#if defined(__linux__)
#include <linux/soundcard.h>
#elif defined(__FreeBSD__)
#include <sys/soundcard.h>
#else
#include <soundcard.h>
#endif
#ifdef __OpenBSD__
#define DEV_DSP "/dev/audio"
#else
#define DEV_DSP "/dev/dsp"
#endif
/* Number of 32 byte buffers -- each buffer is 2 ms */
#define BUFFER_SIZE 32
@@ -40,37 +51,37 @@ 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. Returns 0 if the\n"
"user exits with a DTMF tone, or -1 if they hangup.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static pthread_mutex_t sound_lock = PTHREAD_MUTEX_INITIALIZER;
AST_MUTEX_DEFINE_STATIC(sound_lock);
static int sound = -1;
static int write_audio(short *data, int len)
{
int res;
struct audio_buf_info info;
ast_pthread_mutex_lock(&sound_lock);
ast_mutex_lock(&sound_lock);
if (sound < 0) {
ast_log(LOG_WARNING, "Sound device closed?\n");
ast_pthread_mutex_unlock(&sound_lock);
ast_mutex_unlock(&sound_lock);
return -1;
}
if (ioctl(sound, SNDCTL_DSP_GETOSPACE, &info)) {
ast_log(LOG_WARNING, "Unable to read output space\n");
ast_pthread_mutex_unlock(&sound_lock);
ast_mutex_unlock(&sound_lock);
return -1;
}
res = write(sound, data, len);
ast_pthread_mutex_unlock(&sound_lock);
ast_mutex_unlock(&sound_lock);
return res;
}
static int create_audio()
static int create_audio(void)
{
int fmt, desired, res, fd;
fd = open(DEV_DSP, O_WRONLY);

114
apps/app_lookupblacklist.c Normal file
View File

@@ -0,0 +1,114 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to lookup the callerid number, and see if it is blacklisted
*
* 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
*/
#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>
static char *tdesc = "Look up Caller*ID name/number from blacklist database";
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";
STANDARD_LOCAL_USER;
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;
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)))
{
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);
bl = 1;
}
}
if (bl && ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority+=100;
LOCAL_USER_REMOVE (u);
return 0;
}
int unload_module (void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application (app);
}
int load_module (void)
{
return ast_register_application (app, lookupblacklist_exec, synopsis,descrip);
}
char *description (void)
{
return tdesc;
}
int usecount (void)
{
int res;
STANDARD_USECOUNT (res);
return res;
}
char *key ()
{
return ASTERISK_GPL_KEY;
}

111
apps/app_lookupcidname.c Normal file
View File

@@ -0,0 +1,111 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to set callerid name from database, based on directory number
*
* 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
*/
#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>
static char *tdesc = "Look up CallerID Name from local database";
static char *app = "LookupCIDName";
static char *synopsis = "Look up CallerID Name from local database";
static char *descrip =
" LookupCIDName: Looks up the Caller*ID number on the active\n"
"channel in the Asterisk database (family 'cidname') and sets the\n"
"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";
STANDARD_LOCAL_USER;
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);
}
}
LOCAL_USER_REMOVE (u);
return 0;
}
int
unload_module (void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application (app);
}
int
load_module (void)
{
return ast_register_application (app, lookupcidname_exec, synopsis,
descrip);
}
char *
description (void)
{
return tdesc;
}
int
usecount (void)
{
int res;
STANDARD_USECOUNT (res);
return res;
}
char *
key ()
{
return ASTERISK_GPL_KEY;
}

252
apps/app_macro.c Normal file
View File

@@ -0,0 +1,252 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Macro Implementation
*
* Copyright (C) 2003, Digium
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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 <string.h>
#include <stdlib.h>
#define MAX_ARGS 80
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"
"${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";
static char *app = "Macro";
static char *synopsis = "Macro Implementation";
STANDARD_LOCAL_USER;
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 *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;
}
}
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]);
} 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;
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;
}
}
}
}
}
pbx_builtin_setvar_helper(chan, "MACRO_OFFSET", save_macro_offset);
if (save_macro_offset) free(save_macro_offset);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, macro_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

1552
apps/app_meetme.c Normal file

File diff suppressed because it is too large Load Diff

148
apps/app_milliwatt.c Normal file
View File

@@ -0,0 +1,148 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Digital Milliwatt Test
*
* Copyright (C) 2002, Mark Spencer
*
* Mark Spencer <markster@linux-support.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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 <string.h>
#include <stdlib.h>
#include <errno.h>
static char *tdesc = "Digital Milliwatt (mu-law) Test Application";
static char *app = "Milliwatt";
static char *synopsis = "Generate a Constant 1000Hz tone at 0dbm (mu-law)";
static char *descrip =
"Milliwatt(): Generate a Constant 1000Hz tone at 0dbm (mu-law)\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static char digital_milliwatt[] = {0x1e,0x0b,0x0b,0x1e,0x9e,0x8b,0x8b,0x9e} ;
static void *milliwatt_alloc(struct ast_channel *chan, void *params)
{
int *indexp;
indexp = malloc(sizeof(int));
if (indexp == NULL) return(NULL);
*indexp = 0;
return(indexp);
}
static void milliwatt_release(struct ast_channel *chan, void *data)
{
free(data);
return;
}
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];
int i,*indexp = (int *) data;
if (len > sizeof(buf))
{
ast_log(LOG_WARNING,"Only doing %d bytes (%d bytes requested)\n",(int)sizeof(buf),len);
len = sizeof(buf);
}
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.datalen = len;
wf.samples = wf.datalen;
wf.src = "app_milliwatt";
wf.delivery.tv_sec = 0;
wf.delivery.tv_usec = 0;
/* create a buffer containing the digital milliwatt pattern */
for(i = 0; i < len; i++)
{
buf[i] = digital_milliwatt[(*indexp)++];
*indexp &= 7;
}
if (ast_write(chan,&wf) < 0)
{
ast_log(LOG_WARNING,"Failed to write frame to '%s': %s\n",chan->name,strerror(errno));
return -1;
}
return 0;
}
static struct ast_generator milliwattgen =
{
alloc: milliwatt_alloc,
release: milliwatt_release,
generate: milliwatt_generate,
} ;
static int milliwatt_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
LOCAL_USER_ADD(u);
ast_set_write_format(chan, AST_FORMAT_ULAW);
ast_set_read_format(chan, AST_FORMAT_ULAW);
if (chan->_state != AST_STATE_UP)
{
ast_answer(chan);
}
if (ast_activate_generator(chan,&milliwattgen,"milliwatt") < 0)
{
ast_log(LOG_WARNING,"Failed to activate generator on '%s'\n",chan->name);
return -1;
}
while(!ast_safe_sleep(chan, 10000));
ast_deactivate_generator(chan);
LOCAL_USER_REMOVE(u);
return -1;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, milliwatt_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

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

@@ -3,14 +3,15 @@
*
* Silly application to play an MP3 file -- uses mpg123
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999-2004, Digium, Inc.
*
* 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
*/
#include <asterisk/lock.h>
#include <asterisk/file.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
@@ -24,9 +25,9 @@
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <pthread.h>
#include <sys/time.h>
#define LOCAL_MPG_123 "/usr/local/bin/mpg123"
#define MPG_123 "/usr/bin/mpg123"
static char *tdesc = "Silly MP3 Application";
@@ -37,8 +38,8 @@ 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.";
"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.";
STANDARD_LOCAL_USER;
@@ -47,43 +48,69 @@ LOCAL_USER_DECL;
static int mp3play(char *filename, int fd)
{
int res;
int x;
res = fork();
if (res < 0)
ast_log(LOG_WARNING, "Fork failed\n");
if (res)
return res;
dup2(fd, STDOUT_FILENO);
for (x=0;x<256;x++) {
if (x != STDOUT_FILENO)
close(x);
}
/* Execute mpg123, but buffer if it's a net connection */
if (strncmp(filename, "http://", 7))
execl(MPG_123, MPG_123, "-q", "-s", "-b", "1024", "--mono", "-r", "8000", filename, NULL);
else
execl(MPG_123, MPG_123, "-q", "-s", "--mono", "-r", "8000", filename, NULL);
if (!strncasecmp(filename, "http://", 7)) {
/* Most commonly installed in /usr/local/bin */
execl(LOCAL_MPG_123, "mpg123", "-q", "-s", "-b", "1024", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
/* But many places has it in /usr/bin */
execl(MPG_123, "mpg123", "-q", "-s", "-b", "1024","-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
/* As a last-ditch effort, try to use PATH */
execlp("mpg123", "mpg123", "-q", "-s", "-b", "1024", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
}
else {
/* Most commonly installed in /usr/local/bin */
execl(MPG_123, "mpg123", "-q", "-s", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
/* But many places has it in /usr/bin */
execl(LOCAL_MPG_123, "mpg123", "-q", "-s", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
/* As a last-ditch effort, try to use PATH */
execlp("mpg123", "mpg123", "-q", "-s", "-f", "8192", "--mono", "-r", "8000", filename, (char *)NULL);
}
ast_log(LOG_WARNING, "Execute of mpg123 failed\n");
return -1;
}
static int timed_read(int fd, void *data, int datalen, int timeout)
{
int res;
struct pollfd fds[1];
fds[0].fd = fd;
fds[0].events = POLLIN;
res = poll(fds, 1, timeout);
if (res < 1) {
ast_log(LOG_NOTICE, "Poll timed out/errored out with %d\n", res);
return -1;
}
return read(fd, data, datalen);
}
static int mp3_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
int fds[2];
int rfds[1 + AST_MAX_FDS];
int ms = -1;
int pid;
int us;
int exception;
int pid = -1;
int owriteformat;
struct timeval tv;
struct timeval last;
int timeout = 2000;
struct timeval now, next;
struct ast_frame *f;
int x;
struct myframe {
struct ast_frame f;
char offset[AST_FRIENDLY_OFFSET];
char frdata[160];
short frdata[160];
} myf;
last.tv_usec = 0;
last.tv_sec = 0;
if (!data) {
ast_log(LOG_WARNING, "MP3 Playback requires an argument (filename)\n");
return -1;
@@ -102,66 +129,46 @@ static int mp3_exec(struct ast_channel *chan, void *data)
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.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 (x=0;x<AST_MAX_FDS;x++)
rfds[x] = chan->fds[x];
rfds[x] = fds[0];
for (;;) {
CHECK_BLOCKING(chan);
res = ast_waitfor_n_fd(rfds, AST_MAX_FDS+1, &ms, &exception);
chan->blocking = 0;
if (res < 1) {
ast_log(LOG_DEBUG, "Hangup detected\n");
res = -1;
break;
}
for(x=0;x<AST_MAX_FDS;x++)
if (res == chan->fds[x])
break;
if (x < AST_MAX_FDS) {
if (exception)
chan->exception = 1;
f = ast_read(chan);
if (!f) {
ast_log(LOG_DEBUG, "Null frame == hangup() detected\n");
res = -1;
break;
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
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;
}
if (f->frametype == AST_FRAME_DTMF) {
ast_log(LOG_DEBUG, "User pressed a key\n");
ast_frfree(f);
res = 0;
break;
}
ast_frfree(f);
} else if (res == fds[0]) {
gettimeofday(&tv, NULL);
if (last.tv_sec || last.tv_usec) {
/* We should wait at least a frame length */
us = sizeof(myf.frdata) / 16 * 1000;
/* Subtract 1,000,000 us for each second late we've passed */
us -= (tv.tv_sec - last.tv_sec) * 1000000;
/* And one for each us late we've passed */
us -= (tv.tv_usec - last.tv_usec);
/* Sleep that long if needed */
if (us > 0)
usleep(us);
}
last = tv;
res = read(fds[0], myf.frdata, sizeof(myf.frdata));
#endif
res = timed_read(fds[0], myf.frdata, sizeof(myf.frdata), timeout);
if (res > 0) {
myf.f.frametype = AST_FRAME_VOICE;
myf.f.subclass = AST_FORMAT_SLINEAR;
myf.f.datalen = res;
myf.f.timelen = res / 16;
myf.f.samples = res / 2;
myf.f.mallocd = 0;
myf.f.offset = AST_FRIENDLY_OFFSET;
myf.f.src = __PRETTY_FUNCTION__;
myf.f.delivery.tv_sec = 0;
myf.f.delivery.tv_usec = 0;
myf.f.data = myf.frdata;
if (ast_write(chan, &myf.f) < 0) {
res = -1;
@@ -170,19 +177,47 @@ static int mp3_exec(struct ast_channel *chan, void *data)
} else {
ast_log(LOG_DEBUG, "No more mp3\n");
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
} else {
ast_log(LOG_DEBUG, "HuhHHH?\n");
res = -1;
break;
ms = ast_waitfor(chan, ms);
if (ms < 0) {
ast_log(LOG_DEBUG, "Hangup detected\n");
res = -1;
break;
}
if (ms) {
f = ast_read(chan);
if (!f) {
ast_log(LOG_DEBUG, "Null frame == hangup() detected\n");
res = -1;
break;
}
if (f->frametype == AST_FRAME_DTMF) {
ast_log(LOG_DEBUG, "User pressed a key\n");
ast_frfree(f);
res = 0;
break;
}
ast_frfree(f);
}
}
}
kill(pid, SIGTERM);
}
close(fds[0]);
close(fds[1]);
LOCAL_USER_REMOVE(u);
if (!res)
if (pid > -1)
kill(pid, SIGKILL);
if (!res && owriteformat)
ast_set_write_format(chan, owriteformat);
return res;
}

229
apps/app_nbscat.c Normal file
View File

@@ -0,0 +1,229 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Silly application to play an NBScat file -- uses nbscat8k
*
* 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
*/
#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>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/time.h>
#include <sys/socket.h>
#define LOCAL_NBSCAT "/usr/local/bin/nbscat8k"
#define NBSCAT "/usr/bin/nbscat8k"
static char *tdesc = "Silly NBS Stream Application";
static char *app = "NBScat";
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.";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int NBScatplay(int fd)
{
int res;
int x;
res = fork();
if (res < 0)
ast_log(LOG_WARNING, "Fork failed\n");
if (res)
return res;
dup2(fd, STDOUT_FILENO);
for (x=0;x<256;x++) {
if (x != STDOUT_FILENO)
close(x);
}
/* Most commonly installed in /usr/local/bin */
execl(NBSCAT, "nbscat8k", "-d", (char *)NULL);
execl(LOCAL_NBSCAT, "nbscat8k", "-d", (char *)NULL);
ast_log(LOG_WARNING, "Execute of nbscat8k failed\n");
return -1;
}
static int timed_read(int fd, void *data, int datalen)
{
int res;
struct pollfd fds[1];
fds[0].fd = fd;
fds[0].events = POLLIN;
res = poll(fds, 1, 2000);
if (res < 1) {
ast_log(LOG_NOTICE, "Selected timed out/errored out with %d\n", res);
return -1;
}
return read(fd, data, datalen);
}
static int NBScat_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
int fds[2];
int ms = -1;
int pid = -1;
int owriteformat;
struct timeval now, next;
struct ast_frame *f;
struct myframe {
struct ast_frame f;
char offset[AST_FRIENDLY_OFFSET];
short frdata[160];
} myf;
if (socketpair(AF_LOCAL, SOCK_STREAM, 0, fds)) {
ast_log(LOG_WARNING, "Unable to create socketpair\n");
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");
return -1;
}
res = NBScatplay(fds[1]);
/* Wait 1000 ms first */
next = now;
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
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;
myf.f.subclass = AST_FORMAT_SLINEAR;
myf.f.datalen = res;
myf.f.samples = res / 2;
myf.f.mallocd = 0;
myf.f.offset = AST_FRIENDLY_OFFSET;
myf.f.src = __PRETTY_FUNCTION__;
myf.f.delivery.tv_sec = 0;
myf.f.delivery.tv_usec = 0;
myf.f.data = myf.frdata;
if (ast_write(chan, &myf.f) < 0) {
res = -1;
break;
}
} else {
ast_log(LOG_DEBUG, "No more mp3\n");
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
} else {
ms = ast_waitfor(chan, ms);
if (ms < 0) {
ast_log(LOG_DEBUG, "Hangup detected\n");
res = -1;
break;
}
if (ms) {
f = ast_read(chan);
if (!f) {
ast_log(LOG_DEBUG, "Null frame == hangup() detected\n");
res = -1;
break;
}
if (f->frametype == AST_FRAME_DTMF) {
ast_log(LOG_DEBUG, "User pressed a key\n");
ast_frfree(f);
res = 0;
break;
}
ast_frfree(f);
}
}
}
}
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);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, NBScat_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

277
apps/app_osplookup.c Normal file
View File

@@ -0,0 +1,277 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Time of day - Report the time of day
*
* 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
*/
#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 <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
static char *tdesc = "OSP Lookup";
static char *app = "OSPLookup";
static char *app2 = "OSPNext";
static char *app3 = "OSPFinish";
static char *synopsis = "Lookup number in OSP";
static char *synopsis2 = "Lookup next OSP entry";
static char *synopsis3 = "Record OSP entry";
static char *descrip =
" OSPLookup(exten[|provider[|options]]): Looks up an extension via OSP and sets\n"
"the variables, where 'n' is the number of the result beginning with 1:\n"
" ${OSPTECH}: The technology to use for the call\n"
" ${OSPDEST}: The destination to use for the call\n"
" ${OSPTOKEN}: The actual OSP token as a string\n"
" ${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" ;
static char *descrip2 =
" OSPNext: 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" ;
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"
"\n"
"If the finishing was *not* successful and there exists a priority n + 101,\n"
"then that priority will be taken next.\n" ;
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int str2cause(char *cause)
{
if (!strcasecmp(cause, "BUSY"))
return AST_CAUSE_BUSY;
if (!strcasecmp(cause, "CONGESTION"))
return AST_CAUSE_CONGESTION;
if (!strcasecmp(cause, "ANSWER"))
return AST_CAUSE_NORMAL;
if (!strcasecmp(cause, "CANCEL"))
return AST_CAUSE_NORMAL;
if (!strcasecmp(cause, "NOANSWER"))
return AST_CAUSE_NOANSWER;
if (!strcasecmp(cause, "NOCHANAVAIL"))
return AST_CAUSE_CONGESTION;
ast_log(LOG_WARNING, "Unknown cause '%s', using NORMAL\n", cause);
return AST_CAUSE_NORMAL;
}
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");
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) {
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);
snprintf(tmp, sizeof(tmp), "%d", result.numresults);
pbx_builtin_setvar_helper(chan, "OSPRESULTS", tmp);
} 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) {
/* 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;
LOCAL_USER_REMOVE(u);
return res;
}
static int ospnext_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
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");
}
LOCAL_USER_ADD(u);
cause = str2cause((char *)data);
temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE");
result.handle = -1;
if (temp && strlen(temp) && (sscanf(temp, "%i", &result.handle) == 1) && (result.handle > -1)) {
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);
snprintf(tmp, sizeof(tmp), "%d", result.numresults);
pbx_builtin_setvar_helper(chan, "OSPRESULTS", tmp);
}
} else {
if (!res) {
if (result.handle < 0)
ast_log(LOG_NOTICE, "OSP Lookup Next failed for handle '%d'\n", result.handle);
else
ast_log(LOG_DEBUG, "No OSP handle specified\n");
} 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;
} else if (res > 0)
res = 0;
LOCAL_USER_REMOVE(u);
return res;
}
static int ospfinished_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *temp;
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");
}
if (chan->cdr) {
start = chan->cdr->answer.tv_sec;
if (start)
duration = time(NULL) - start;
else
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);
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_osp_terminate(result.handle, cause, start, duration)) {
pbx_builtin_setvar_helper(chan, "OSPHANDLE", "");
res = 1;
}
} else {
if (!res) {
if (result.handle > -1)
ast_log(LOG_NOTICE, "OSP Finish failed for handle '%d'\n", result.handle);
else
ast_log(LOG_DEBUG, "No OSP handle specified\n");
} 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;
} else if (res > 0)
res = 0;
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
int res;
STANDARD_HANGUP_LOCALUSERS;
res = ast_unregister_application(app3);
res |= ast_unregister_application(app2);
res |= ast_unregister_application(app);
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);
}
int reload(void)
{
return 0;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

253
apps/app_parkandannounce.c Normal file
View File

@@ -0,0 +1,253 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* 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>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
static char *tdesc = "Call Parking and Announce Application";
static char *app = "ParkAndAnnounce";
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"
" 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"
"return_context: the goto style label to jump the call back into after timeout. default=prio+1\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int parkandannounce_exec(struct ast_channel *chan, void *data)
{
int res=0;
char *return_context;
int l, lot, timeout = 0, dres;
char *working, *context, *exten, *priority, *dial, *dialtech, *dialstr;
char *template, *tpl_working, *tpl_current;
char *tmp[100];
int looptemp=0,i=0;
char *s,*orig_s;
struct ast_channel *dchan;
int outstate;
struct localuser *u;
if(!data || (data && !strlen(data))) {
ast_log(LOG_WARNING, "ParkAndAnnounce requires arguments: (announce:template|timeout|dial|[return_context])\n");
return -1;
}
l=strlen(data)+2;
orig_s=malloc(l);
if(!orig_s) {
ast_log(LOG_WARNING, "Out of memory\n");
return -1;
}
s=orig_s;
strncpy(s,data,l);
template=strsep(&s,"|");
if(! template) {
ast_log(LOG_WARNING, "PARK: An announce template must be defined\n");
free(orig_s);
return -1;
}
if(s) {
timeout = atoi(strsep(&s, "|"));
timeout *= 1000;
}
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");
free(orig_s);
return -1;
} else {
dialtech=strsep(&dial, "/");
dialstr=dial;
ast_verbose( VERBOSE_PREFIX_3 "Dial Tech,String: (%s,%s)\n", dialtech,dialstr);
}
return_context = s;
if(return_context != NULL) {
/* set the return context. Code borrowed from the Goto builtin */
working = return_context;
context = strsep(&working, "|");
exten = strsep(&working, "|");
if(!exten) {
/* Only a priority in this one */
priority = context;
exten = NULL;
context = NULL;
} else {
priority = strsep(&working, "|");
if(!priority) {
/* Only an extension and priority in this one */
priority = exten;
exten = context;
context = NULL;
}
}
if(atoi(priority) < 0) {
ast_log(LOG_WARNING, "Priority '%s' must be a number > 0\n", priority);
free(orig_s);
return -1;
}
/* At this point we have a priority and maybe an extension and a context */
chan->priority = atoi(priority);
if(exten && strcasecmp(exten, "BYEXTENSION"))
strncpy(chan->exten, exten, sizeof(chan->exten)-1);
if(context)
strncpy(chan->context, context, sizeof(chan->context)-1);
} else { /* increment the priority by default*/
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 "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. */
ast_masq_park_call(chan, NULL, timeout, &lot);
res=-1;
ast_verbose( VERBOSE_PREFIX_3 "Call Parking Called, lot: %d, timeout: %d, context: %s\n", lot, timeout, return_context);
/* Now place the call to the extention */
dchan = ast_request_and_dial(dialtech, AST_FORMAT_SLINEAR, dialstr,30000, &outstate, chan->callerid);
if(dchan) {
if(dchan->_state == AST_STATE_UP) {
if(option_verbose > 3)
ast_verbose(VERBOSE_PREFIX_4 "Channel %s was answered.\n", dchan->name);
} else {
if(option_verbose > 3)
ast_verbose(VERBOSE_PREFIX_4 "Channel %s was never answered.\n", dchan->name);
ast_log(LOG_WARNING, "PARK: Channel %s was never answered for the announce.\n", dchan->name);
ast_hangup(dchan);
free(orig_s);
LOCAL_USER_REMOVE(u);
return -1;
}
} else {
ast_log(LOG_WARNING, "PARK: Unable to allocate announce channel.\n");
free(orig_s);
LOCAL_USER_REMOVE(u);
return -1;
}
ast_stopstream(dchan);
/* now we have the call placed and are ready to play stuff to it */
ast_verbose(VERBOSE_PREFIX_4 "Announce Template:%s\n", template);
tpl_working = template;
tpl_current=strsep(&tpl_working, ":");
while(tpl_current && looptemp < sizeof(tmp)) {
tmp[looptemp]=tpl_current;
looptemp++;
tpl_current=strsep(&tpl_working,":");
}
for(i=0; i<looptemp; i++) {
ast_verbose(VERBOSE_PREFIX_4 "Announce:%s\n", tmp[i]);
if(!strcmp(tmp[i], "PARKED")) {
ast_say_digits(dchan, lot, "", dchan->language);
} else {
dres = ast_streamfile(dchan, tmp[i], dchan->language);
if(!dres) {
dres = ast_waitstream(dchan, "");
} else {
ast_log(LOG_WARNING, "ast_streamfile of %s failed on %s\n", tmp[i], dchan->name);
dres = 0;
}
}
}
ast_stopstream(dchan);
ast_hangup(dchan);
LOCAL_USER_REMOVE(u);
free(orig_s);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
/* return ast_register_application(app, park_exec); */
return ast_register_application(app, parkandannounce_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

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

@@ -11,15 +11,16 @@
* the GNU General Public License
*/
#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 <pthread.h>
static char *tdesc = "Trivial Playback Application";
@@ -28,9 +29,15 @@ static char *app = "Playback";
static char *synopsis = "Play a file";
static char *descrip =
"Playback(filename): Plays back a given filename (do not put extension).\n"
"Returns -1 if the channel was hung up, or if the file does not exist.\n"
"Returns 0 otherwise.\n";
" 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"
"specified, the application will return immediately should the channel not be\n"
"off hook. Otherwise, unless 'noanswer' is specified, the channel 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";
STANDARD_LOCAL_USER;
@@ -40,20 +47,42 @@ static int playback_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
if (!data) {
char tmp[256];
char *options;
int option_skip=0;
int option_noanswer = 0;
char *stringp;
if (!data || ast_strlen_zero((char *)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);
if (chan->state != AST_STATE_UP)
res = ast_answer(chan);
if (chan->_state != AST_STATE_UP) {
if (option_skip) {
/* At the user's option, skip if the line is not up */
LOCAL_USER_REMOVE(u);
return 0;
} else if (!option_noanswer)
/* Otherwise answer unless we're supposed to send this while on-hook */
res = ast_answer(chan);
}
if (!res) {
ast_stopstream(chan);
res = ast_streamfile(chan, (char *)data, chan->language);
res = ast_streamfile(chan, tmp, chan->language);
if (!res)
res = ast_waitstream(chan, "");
else
else {
ast_log(LOG_WARNING, "ast_streamfile failed on %s for %s\n", chan->name, (char *)data);
res = 0;
}
ast_stopstream(chan);
}
LOCAL_USER_REMOVE(u);

170
apps/app_privacy.c Normal file
View File

@@ -0,0 +1,170 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Block all calls without Caller*ID, require phone # to be entered
*
* 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
*/
#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>
#define PRIV_CONFIG "privacy.conf"
static char *tdesc = "Require phone number to be entered, if no CallerID sent";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int
privacy_exec (struct ast_channel *chan, void *data)
{
int res=0;
int retries;
int maxretries = 3;
int x;
char *s;
char phone[10];
char new_cid[144];
struct localuser *u;
struct ast_config *cfg;
LOCAL_USER_ADD (u);
if (chan->callerid)
{
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "CallerID Present: Skipping\n");
}
else
{
/*Answer the channel if it is not already*/
if (chan->_state != AST_STATE_UP) {
res = ast_answer(chan);
if (res) {
LOCAL_USER_REMOVE(u);
return -1;
}
}
/*Read in the config file*/
cfg = ast_load(PRIV_CONFIG);
/*Play unidentified call*/
res = ast_safe_sleep(chan, 1000);
if (!res)
res = ast_streamfile(chan, "privacy-unident", chan->language);
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);
if (res < 0)
break;
/*Make sure we get 10 digits*/
if (strlen(phone) == 10)
break;
else {
res = ast_streamfile(chan, "privacy-incorrect", chan->language);
if (!res)
res = ast_waitstream(chan, "");
}
}
/*Got a number, play sounds and send them on their way*/
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);
if (option_verbose > 2)
ast_verbose (VERBOSE_PREFIX_3 "Changed Caller*ID to %s\n",new_cid);
} 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 (cfg)
ast_destroy(cfg);
}
LOCAL_USER_REMOVE (u);
return 0;
}
int
unload_module (void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application (app);
}
int
load_module (void)
{
return ast_register_application (app, privacy_exec, synopsis,
descrip);
}
char *
description (void)
{
return tdesc;
}
int
usecount (void)
{
int res;
STANDARD_USECOUNT (res);
return res;
}
char *
key ()
{
return ASTERISK_GPL_KEY;
}

394
apps/app_qcall.c Normal file
View File

@@ -0,0 +1,394 @@
/** @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;
}

2417
apps/app_queue.c Normal file

File diff suppressed because it is too large Load Diff

128
apps/app_random.c Normal file
View File

@@ -0,0 +1,128 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Random application
*
* Copyright (c) 2003-2004 Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <asterisk__app_random__20040111@the-tilghman.com>
*
* This code is released by the author with no restrictions on usage or distribution.
*
*/
#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>
static char *tdesc = "Random goto";
static char *app_random = "Random";
static char *random_synopsis = "Conditionally branches, based upon a probability";
static char *random_descrip =
"Random([probability]:[[context|]extension|]priority)\n"
" probability := INTEGER in the range 1 to 100\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
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) {
ast_log(LOG_WARNING, "Random requires an argument ([probability]:[[context|]extension|]priority)\n");
return -1;
}
LOCAL_USER_ADD(u);
s = ast_strdupa((void *) data);
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);
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);
}
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_random);
}
int load_module(void)
{
srandom((unsigned int)getpid() + (unsigned int)time(NULL));
return ast_register_application(app_random, random_exec, random_synopsis, random_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

143
apps/app_read.c Normal file
View File

@@ -0,0 +1,143 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Trivial application to read a variable
*
* Copyright (C) 2003, Digium
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
static char *tdesc = "Read Variable Application";
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"
" 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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
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;
int option_skip = 0;
int option_noanswer = 0;
int maxdigits=255;
if (!data || ast_strlen_zero((char *)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");
return -1;
}
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 */
pbx_builtin_setvar_helper(chan, varname, "\0");
LOCAL_USER_REMOVE(u);
return 0;
} else if (!option_noanswer) {
/* Otherwise answer unless we're supposed to read while on-hook */
res = ast_answer(chan);
}
}
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");
}
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, read_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

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

@@ -11,15 +11,16 @@
* the GNU General Public License
*/
#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 <pthread.h>
static char *tdesc = "Trivial Record Application";
@@ -28,10 +29,20 @@ static char *app = "Record";
static char *synopsis = "Record to a file";
static char *descrip =
" Record(filename:extension): Records from the channel into a given filename.\n"
" If the file exists it will be overwritten. The 'extension' is the extension\n"
" of the file type to be recorded (wav, gsm, etc). Returns -1 when the user\n"
" hangs up.\n";
" Record(filename:format|silence[|maxduration][|option])\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"
"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"
"User can press '#' to terminate the recording and continue to the next priority.\n\n"
"Returns -1 when the user hangs up.\n";
STANDARD_LOCAL_USER;
@@ -48,13 +59,27 @@ static int record_exec(struct ast_channel *chan, void *data)
char * vdata; /* Used so I don't have to typecast every use of *data */
int i = 0;
int j = 0;
struct ast_filestream *s = '\0';
struct localuser *u;
struct ast_frame *f;
struct ast_frame *f = NULL;
struct ast_dsp *sildet = NULL; /* silence detector dsp */
int totalsilence = 0;
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 gottimeout = 0; /* did we timeout for maxduration exceeded? */
time_t timeout = 0;
char option[16];
int option_skip = 0;
int option_noanswer = 0;
int rfmt = 0;
vdata = data; /* explained above */
/* The next few lines of code parse out the filename and header from the input string */
if (!vdata) { /* no data implies no filename or anything is present */
@@ -62,60 +87,141 @@ static int record_exec(struct ast_channel *chan, void *data)
return -1;
}
for (; vdata[i] && (vdata[i] != ':') ; i++ ) {
for (; vdata[i] && (vdata[i] != ':') && (vdata[i] != '|'); i++ ) {
if ((vdata[i] == '%') && (vdata[i+1] == 'd')) {
percentflag = 1; /* the wildcard is used */
}
if (i == strlen(vdata) ) {
ast_log(LOG_WARNING, "No extension found\n");
return -1;
}
fil[i] = vdata[i];
if (j < sizeof(fil) - 1)
fil[j++] = vdata[i];
}
fil[i++] = '\0';
fil[j] = '\0';
for (; j < 10 && i < strlen(data); i++, j++)
ext[j] = vdata[i];
if (vdata[i] != ':') {
ast_log(LOG_WARNING, "No extension found\n");
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;
}
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;
/* 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, 256, fil, count);
snprintf(tmp, sizeof(tmp), fil, count);
count++;
} while ( ast_fileexists(tmp, ext, chan->language) != -1 );
pbx_builtin_setvar_helper(chan, "RECORDED_FILE", tmp);
} else
strncpy(tmp, fil, 256);
strncpy(tmp, fil, sizeof(tmp)-1);
/* end of routine mentioned */
LOCAL_USER_ADD(u);
if (chan->state != AST_STATE_UP) {
res = ast_answer(chan); /* Shouldn't need this, but checking to see if channel is already answered
* Theoretically asterisk should already have answered before running the app */
if (chan->_state != AST_STATE_UP) {
if (option_skip) {
/* At the user's option, skip if the line is not up */
LOCAL_USER_REMOVE(u);
return 0;
} else if (!option_noanswer) {
/* Otherwise answer unless we're supposed to record while on-hook */
res = ast_answer(chan);
}
}
if (!res) {
/* 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) {
printf("Waiting on stream\n");
res = ast_waitstream(chan, "");
} else {
printf("streamfile failed\n");
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);
}
s = ast_writefile( tmp, ext, NULL, O_CREAT|O_TRUNC|O_WRONLY , 0, 0644);
if (s) {
while ((f = ast_read(chan))) {
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);
@@ -123,12 +229,51 @@ static int record_exec(struct ast_channel *chan, void *data)
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);
@@ -136,6 +281,13 @@ static int record_exec(struct ast_channel *chan, void *data)
ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
LOCAL_USER_REMOVE(u);
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);
if (sildet)
ast_dsp_free(sildet);
}
return res;
}

4137
apps/app_rpt.c Normal file

File diff suppressed because it is too large Load Diff

141
apps/app_sayunixtime.c Normal file
View File

@@ -0,0 +1,141 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* 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.
*
*/
#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>
static char *tdesc = "Say time";
static char *app_sayunixtime = "SayUnixTime";
static char *app_datetime = "DateTime";
static char *sayunixtime_synopsis = "Says a specified time in a custom format";
static char *sayunixtime_descrip =
"SayUnixTime([unixtime][|[timezone][|format]])\n"
" unixtime: time, in seconds since Jan 1, 1970. May be negative.\n"
" defaults to now.\n"
" 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";
static char *datetime_descrip =
"DateTime([unixtime][|[timezone][|format]])\n"
" unixtime: time, in seconds since Jan 1, 1970. May be negative.\n"
" defaults to now.\n"
" 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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int sayunixtime_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
char *s,*zone=NULL,*timec;
time_t unixtime;
char *format = "ABdY 'digits/at' IMp";
struct timeval tv;
LOCAL_USER_ADD(u);
gettimeofday(&tv,NULL);
unixtime = (time_t)tv.tv_sec;
if (data) {
s = data;
s = ast_strdupa(s);
if (s) {
timec = strsep(&s,"|");
if ((timec) && (*timec != '\0')) {
long timein;
if (sscanf(timec,"%ld",&timein) == 1) {
unixtime = (time_t)timein;
}
}
if (s) {
zone = strsep(&s,"|");
if (zone && (*zone == '\0'))
zone = NULL;
if (s) {
format = s;
}
}
} else {
ast_log(LOG_ERROR, "Out of memory error\n");
}
}
if (chan->_state != AST_STATE_UP) {
res = ast_answer(chan);
}
if (!res)
res = ast_say_date_with_format(chan, unixtime, AST_DIGIT_ANY, chan->language, format, zone);
LOCAL_USER_REMOVE(u);
return res;
}
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;
}
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;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

84
apps/app_senddtmf.c Normal file
View File

@@ -0,0 +1,84 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to send DTMF digits
*
* 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
*/
#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>
static char *tdesc = "Send DTMF digits Application";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int senddtmf_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
char *digits = data;
if (!digits || ast_strlen_zero(digits)) {
ast_log(LOG_WARNING, "SendDTMF requires an argument (digits or *#aAbBcCdD)\n");
return -1;
}
LOCAL_USER_ADD(u);
res = ast_dtmf_stream(chan,NULL,digits,250);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, senddtmf_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

94
apps/app_sendtext.c Normal file
View File

@@ -0,0 +1,94 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to transmit a text message
*
* 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
*/
#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>
static char *tdesc = "Send Text Applications";
static char *app = "SendText";
static char *synopsis = "Send a Text Message";
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";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
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");
return -1;
}
LOCAL_USER_ADD(u);
ast_mutex_lock(&chan->lock);
if (!chan->pvt->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;
LOCAL_USER_REMOVE(u);
return 0;
}
ast_mutex_unlock(&chan->lock);
res = ast_sendtext(chan, (char *)data);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, sendtext_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

159
apps/app_setcallerid.c Normal file
View File

@@ -0,0 +1,159 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to set callerid
*
* 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
*/
#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>
static char *app2 = "SetCallerPres";
static char *synopsis2 = "Set CallerID Presentation";
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"
"\n"
" allowed_not_screened : Presentation Allowed, Not Screened\n"
" allowed_passed_screen : Presentation Allowed, Passed Screen\n"
" allowed_failed_screen : Presentation Allowed, Failed Screen\n"
" allowed : Presentation Allowed, Network Number\n"
" prohib_not_screened : Presentation Prohibited, Not Screened\n"
" prohib_passed_screen : Presentation Prohibited, Passed Screen\n"
" prohib_failed_screen : Presentation Prohibited, Failed Screen\n"
" prohib : Presentation Prohibited, Network Number\n"
" unavailable : Number Unavailable\n"
"\n"
;
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;
}
}
if (pres < 0) {
ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n", tmp);
return 0;
}
LOCAL_USER_ADD(u);
chan->callingpres = pres;
LOCAL_USER_REMOVE(u);
return res;
}
static char *tdesc = "Set CallerID Application";
static char *app = "SetCallerID";
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";
static int setcallerid_exec(struct ast_channel *chan, void *data)
{
int res = 0;
char tmp[256] = "";
struct localuser *u;
char *opt;
int anitoo = 0;
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 1);
opt = strchr(tmp, '|');
if (opt) {
*opt = '\0';
opt++;
if (*opt == 'a')
anitoo = 1;
}
LOCAL_USER_ADD(u);
ast_set_callerid(chan, strlen(tmp) ? tmp : NULL, anitoo);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
ast_unregister_application(app2);
return ast_unregister_application(app);
}
int load_module(void)
{
ast_register_application(app2, setcallerid_pres_exec, synopsis2, descrip2);
return ast_register_application(app, setcallerid_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

165
apps/app_setcdruserfield.c Normal file
View File

@@ -0,0 +1,165 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Applictions connected with CDR engine
*
* Copyright (C) 2003, Digium
*
* Justin Huff <jjhuff@mspin.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
static char *tdesc = "CDR user field apps";
static char *setcdruserfield_descrip =
"[Synopsis]\n"
"SetCDRUserField(value)\n\n"
"[Description]\n"
"SetCDRUserField(value): Set the CDR 'user field' to value\n"
" The Call Data Record (CDR) user field is an extra field you\n"
" 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";
static char *setcdruserfield_app = "SetCDRUserField";
static char *setcdruserfield_synopsis = "Set the CDR user field";
static char *appendcdruserfield_descrip =
"[Synopsis]\n"
"AppendCDRUserField(value)\n\n"
"[Description]\n"
"AppendCDRUserField(value): Append value to the CDR user field\n"
" The Call Data Record (CDR) user field is an extra field you\n"
" 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";
static char *appendcdruserfield_app = "AppendCDRUserField";
static char *appendcdruserfield_synopsis = "Append to the CDR user field";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int action_setcdruserfield(struct mansession *s, struct message *m)
{
struct ast_channel *c = NULL;
char *userfield = astman_get_header(m, "UserField");
char *channel = astman_get_header(m, "Channel");
char *append = astman_get_header(m, "Append");
if (ast_strlen_zero(channel)) {
astman_send_error(s, m, "No Channel specified");
return 0;
}
if (ast_strlen_zero(userfield)) {
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);
}
if (!c) {
astman_send_error(s, m, "No such channel");
return 0;
}
if (ast_true(append))
ast_cdr_appenduserfield(c, userfield);
else
ast_cdr_setuserfield(c, userfield);
ast_mutex_unlock(&c->lock);
astman_send_ack(s, m, "CDR Userfield Set");
return 0;
}
static int setcdruserfield_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
int res = 0;
LOCAL_USER_ADD(u)
if (chan->cdr && data)
{
ast_cdr_setuserfield(chan, (char*)data);
}
LOCAL_USER_REMOVE(u);
return res;
}
static int appendcdruserfield_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
int res = 0;
LOCAL_USER_ADD(u)
if (chan->cdr && data)
{
ast_cdr_appenduserfield(chan, (char*)data);
}
LOCAL_USER_REMOVE(u);
return res;
}
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");
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");
return res;
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

107
apps/app_setcidname.c Normal file
View File

@@ -0,0 +1,107 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to set callerid
*
* 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
*/
#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>
static char *tdesc = "Set CallerID Name";
static char *app = "SetCIDName";
static char *synopsis = "Set CallerID Name";
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";
STANDARD_LOCAL_USER;
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;
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 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);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, setcallerid_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

108
apps/app_setcidnum.c Normal file
View File

@@ -0,0 +1,108 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to set callerid
*
* Copyright (C) 1999, Mark Spencer
*
* Mark Spencer <markster@linux-support.net>
* Oliver Daudey <traveler@xs4all.nl>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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>
static char *tdesc = "Set CallerID Number";
static char *app = "SetCIDNum";
static char *synopsis = "Set CallerID Number";
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";
STANDARD_LOCAL_USER;
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;
if (data)
strncpy(tmp, (char *)data, sizeof(tmp) - 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);
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);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, setcallerid_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

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

@@ -16,17 +16,16 @@
#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 <pthread.h>
static char *tdesc = "Trivial skeleton Application";
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";
STANDARD_LOCAL_USER;
@@ -54,7 +53,7 @@ int unload_module(void)
int load_module(void)
{
return ast_register_application(app, skel_exec);
return ast_register_application(app, skel_exec, synopsis, tdesc);
}
char *description(void)

1228
apps/app_sms.c Normal file

File diff suppressed because it is too large Load Diff

89
apps/app_softhangup.c Normal file
View File

@@ -0,0 +1,89 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* SoftHangup application
*
* 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
*/
#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>
static char *synopsis = "Soft Hangup Application";
static char *tdesc = "Hangs up the requested channel";
static char *desc = " SoftHangup(Technology/resource)\n"
"Hangs up the requested channel. Always returns 0\n";
static char *app = "SoftHangup";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int softhangup_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
struct ast_channel *c=NULL;
if (!data) {
ast_log(LOG_WARNING, "SoftHangup requires an argument (Technology/resource)\n");
return 0;
}
LOCAL_USER_ADD(u);
c = ast_channel_walk_locked(NULL);
while (c) {
if (!strcasecmp(c->name, data)) {
ast_softhangup(c, AST_SOFTHANGUP_EXPLICIT);
ast_mutex_unlock(&c->lock);
break;
}
ast_mutex_unlock(&c->lock);
c = ast_channel_walk_locked(c);
}
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, softhangup_exec, synopsis, desc);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

564
apps/app_sql_postgres.c Normal file
View File

@@ -0,0 +1,564 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Connect to PostgreSQL
*
* Copyright (C) 2002, Christos Ricudis
*
* Christos Ricudis <ricudis@itc.auth.gr>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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/chanvars.h>
#include <asterisk/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include "libpq-fe.h"
#define EXTRA_LOG 0
static char *tdesc = "Simple PostgreSQL Interface";
static char *app = "PGSQL";
static char *synopsis = "Do several SQLy things";
static char *descrip =
"PGSQL(): Do several SQLy things\n"
"Syntax:\n"
" PGSQL(Connect var option-string)\n"
" Connects to a database. Option string contains standard PostgreSQL\n"
" parameters like host=, dbname=, user=. Connection identifer returned\n"
" in ${var}\n"
" PGSQL(Query var ${connection_identifier} query-string)\n"
" Executes standard SQL query contained in query-string using established\n"
" connection identified by ${connection_identifier}. Reseult of query is\n"
" is stored in ${var}.\n"
" PGSQL(Fetch statusvar ${result_identifier} var1 var2 ... varn)\n"
" Fetches a single row from a result set contained in ${result_identifier}.\n"
" Assigns returned fields to ${var1} ... ${varn}. ${statusvar} is set TRUE\n"
" if additional rows exist in reseult set.\n"
" PGSQL(Clear ${result_identifier})\n"
" Frees memory and datastructures associated with result set.\n"
" PGSQL(Disconnect ${connection_identifier})\n"
" Disconnects from named connection to PostgreSQL.\n" ;
/*
Syntax of SQL commands :
Connect var option-string
Connects to a database using the option-string and stores the
connection identifier in ${var}
Query var ${connection_identifier} query-string
Submits query-string to database backend and stores the result
identifier in ${var}
Fetch statusvar ${result_identifier} var1 var2 var3 ... varn
Fetches a row from the query and stores end-of-table status in
${statusvar} and columns in ${var1}..${varn}
Clear ${result_identifier}
Clears data structures associated with ${result_identifier}
Disconnect ${connection_identifier}
Disconnects from named connection
EXAMPLES OF USE :
exten => s,2,PGSQL(Connect connid host=localhost user=asterisk dbname=credit)
exten => s,3,PGSQL(Query resultid ${connid} SELECT username,credit FROM credit WHERE callerid=${CALLERIDNUM})
exten => s,4,PGSQL(Fetch fetchid ${resultid} datavar1 datavar2)
exten => s,5,GotoIf(${fetchid}?6:8)
exten => s,6,Festival("User ${datavar1} currently has credit balance of ${datavar2} dollars.")
exten => s,7,Goto(s,4)
exten => s,8,PGSQL(Clear ${resultid})
exten => s,9,PGSQL(Disconnect ${connid})
*/
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
extern void pbx_builtin_setvar_helper(struct ast_channel *chan, char *name, char *value);
#define AST_PGSQL_ID_DUMMY 0
#define AST_PGSQL_ID_CONNID 1
#define AST_PGSQL_ID_RESID 2
#define AST_PGSQL_ID_FETCHID 3
struct ast_PGSQL_id {
int identifier_type; /* 0=dummy, 1=connid, 2=resultid */
int identifier;
void *data;
AST_LIST_ENTRY(ast_PGSQL_id) entries;
} *ast_PGSQL_id;
AST_LIST_HEAD(PGSQLidshead,ast_PGSQL_id) PGSQLidshead;
static void *find_identifier(int identifier,int identifier_type) {
struct PGSQLidshead *headp;
struct ast_PGSQL_id *i;
void *res=NULL;
int found=0;
headp=&PGSQLidshead;
if (AST_LIST_LOCK(headp)) {
ast_log(LOG_WARNING,"Unable to lock identifiers list\n");
} else {
AST_LIST_TRAVERSE(headp,i,entries) {
if ((i->identifier==identifier) && (i->identifier_type==identifier_type)) {
found=1;
res=i->data;
break;
}
}
if (!found) {
ast_log(LOG_WARNING,"Identifier %d, identifier_type %d not found in identifier list\n",identifier,identifier_type);
}
AST_LIST_UNLOCK(headp);
}
return(res);
}
static int add_identifier(int identifier_type,void *data) {
struct ast_PGSQL_id *i,*j;
struct PGSQLidshead *headp;
int maxidentifier=0;
headp=&PGSQLidshead;
i=NULL;
j=NULL;
if (AST_LIST_LOCK(headp)) {
ast_log(LOG_WARNING,"Unable to lock identifiers list\n");
return(-1);
} else {
i=malloc(sizeof(struct ast_PGSQL_id));
AST_LIST_TRAVERSE(headp,j,entries) {
if (j->identifier>maxidentifier) {
maxidentifier=j->identifier;
}
}
i->identifier=maxidentifier+1;
i->identifier_type=identifier_type;
i->data=data;
AST_LIST_INSERT_HEAD(headp,i,entries);
AST_LIST_UNLOCK(headp);
}
return(i->identifier);
}
static int del_identifier(int identifier,int identifier_type) {
struct ast_PGSQL_id *i;
struct PGSQLidshead *headp;
int found=0;
headp=&PGSQLidshead;
if (AST_LIST_LOCK(headp)) {
ast_log(LOG_WARNING,"Unable to lock identifiers list\n");
} else {
AST_LIST_TRAVERSE(headp,i,entries) {
if ((i->identifier==identifier) &&
(i->identifier_type==identifier_type)) {
AST_LIST_REMOVE(headp,i,ast_PGSQL_id,entries);
free(i);
found=1;
break;
}
}
AST_LIST_UNLOCK(headp);
}
if (found==0) {
ast_log(LOG_WARNING,"Could not find identifier %d, identifier_type %d in list to delete\n",identifier,identifier_type);
return(-1);
} else {
return(0);
}
}
static int aPGSQL_connect(struct ast_channel *chan, void *data) {
char *s1;
char s[100] = "";
char *optionstring;
char *var;
int l;
int res;
PGconn *karoto;
int id;
char *stringp=NULL;
res=0;
l=strlen(data)+2;
s1=malloc(l);
strncpy(s1, data, l -1);
stringp=s1;
strsep(&stringp," "); // eat the first token, we already know it :P
var=strsep(&stringp," ");
optionstring=strsep(&stringp,"\n");
karoto = PQconnectdb(optionstring);
if (PQstatus(karoto) == CONNECTION_BAD) {
ast_log(LOG_WARNING,"Connection to database using '%s' failed. postgress reports : %s\n", optionstring,
PQerrorMessage(karoto));
res=-1;
} else {
ast_log(LOG_WARNING,"adding identifier\n");
id=add_identifier(AST_PGSQL_ID_CONNID,karoto);
snprintf(s, sizeof(s), "%d", id);
pbx_builtin_setvar_helper(chan,var,s);
}
free(s1);
return res;
}
static int aPGSQL_query(struct ast_channel *chan, void *data) {
char *s1,*s2,*s3,*s4;
char s[100] = "";
char *querystring;
char *var;
int l;
int res,nres;
PGconn *karoto;
PGresult *PGSQLres;
int id,id1;
char *stringp=NULL;
res=0;
l=strlen(data)+2;
s1=malloc(l);
s2=malloc(l);
strncpy(s1, data, l - 1);
stringp=s1;
strsep(&stringp," "); // eat the first token, we already know it :P
s3=strsep(&stringp," ");
while (1) { // ugly trick to make branches with break;
var=s3;
s4=strsep(&stringp," ");
id=atoi(s4);
querystring=strsep(&stringp,"\n");
if ((karoto=find_identifier(id,AST_PGSQL_ID_CONNID))==NULL) {
ast_log(LOG_WARNING,"Invalid connection identifier %d passed in aPGSQL_query\n",id);
res=-1;
break;
}
PGSQLres=PQexec(karoto,querystring);
if (PGSQLres==NULL) {
ast_log(LOG_WARNING,"aPGSQL_query: Connection Error (connection identifier = %d, error message : %s)\n",id,PQerrorMessage(karoto));
res=-1;
break;
}
if (PQresultStatus(PGSQLres) == PGRES_BAD_RESPONSE ||
PQresultStatus(PGSQLres) == PGRES_NONFATAL_ERROR ||
PQresultStatus(PGSQLres) == PGRES_FATAL_ERROR) {
ast_log(LOG_WARNING,"aPGSQL_query: Query Error (connection identifier : %d, error message : %s)\n",id,PQcmdStatus(PGSQLres));
res=-1;
break;
}
nres=PQnfields(PGSQLres);
id1=add_identifier(AST_PGSQL_ID_RESID,PGSQLres);
snprintf(s, sizeof(s), "%d", id1);
pbx_builtin_setvar_helper(chan,var,s);
break;
}
free(s1);
free(s2);
return(res);
}
static int aPGSQL_fetch(struct ast_channel *chan, void *data) {
char *s1,*s2,*fetchid_var,*s4,*s5,*s6,*s7;
char s[100];
char *var;
int l;
int res;
PGresult *PGSQLres;
int id,id1,i,j,fnd;
int *lalares=NULL;
int nres;
struct ast_var_t *variables;
struct varshead *headp;
char *stringp=NULL;
headp=&chan->varshead;
res=0;
l=strlen(data)+2;
s7=NULL;
s1=malloc(l);
s2=malloc(l);
strncpy(s1, data, l - 1);
stringp=s1;
strsep(&stringp," "); // eat the first token, we already know it :P
fetchid_var=strsep(&stringp," ");
while (1) { // ugly trick to make branches with break;
var=fetchid_var; // fetchid
fnd=0;
AST_LIST_TRAVERSE(headp,variables,entries) {
if (strncasecmp(ast_var_name(variables),fetchid_var,strlen(fetchid_var))==0) {
s7=ast_var_value(variables);
fnd=1;
break;
}
}
if (fnd==0) {
s7="0";
pbx_builtin_setvar_helper(chan,fetchid_var,s7);
}
s4=strsep(&stringp," ");
id=atoi(s4); // resultid
if ((PGSQLres=find_identifier(id,AST_PGSQL_ID_RESID))==NULL) {
ast_log(LOG_WARNING,"Invalid result identifier %d passed in aPGSQL_fetch\n",id);
res=-1;
break;
}
id=atoi(s7); //fetchid
if ((lalares=find_identifier(id,AST_PGSQL_ID_FETCHID))==NULL) {
i=0; // fetching the very first row
} else {
i=*lalares;
free(lalares);
del_identifier(id,AST_PGSQL_ID_FETCHID); // will re-add it a bit later
}
if (i<PQntuples(PGSQLres)) {
nres=PQnfields(PGSQLres);
ast_log(LOG_WARNING,"ast_PGSQL_fetch : nres = %d i = %d ;\n",nres,i);
for (j=0;j<nres;j++) {
s5=strsep(&stringp," ");
if (s5==NULL) {
ast_log(LOG_WARNING,"ast_PGSQL_fetch : More tuples (%d) than variables (%d)\n",nres,j);
break;
}
s6=PQgetvalue(PGSQLres,i,j);
if (s6==NULL) {
ast_log(LOG_WARNING,"PWgetvalue(res,%d,%d) returned NULL in ast_PGSQL_fetch\n",i,j);
break;
}
ast_log(LOG_WARNING,"===setting variable '%s' to '%s'\n",s5,s6);
pbx_builtin_setvar_helper(chan,s5,s6);
}
lalares=malloc(sizeof(int));
*lalares = ++i; // advance to the next row
id1 = add_identifier(AST_PGSQL_ID_FETCHID,lalares);
} else {
ast_log(LOG_WARNING,"ast_PGSQL_fetch : EOF\n");
id1 = 0; // no more rows
}
snprintf(s, sizeof(s), "%d", id1);
ast_log(LOG_WARNING,"Setting var '%s' to value '%s'\n",fetchid_var,s);
pbx_builtin_setvar_helper(chan,fetchid_var,s);
break;
}
free(s1);
free(s2);
return(res);
}
static int aPGSQL_reset(struct ast_channel *chan, void *data) {
char *s1,*s3;
int l;
PGconn *karoto;
int id;
char *stringp=NULL;
l=strlen(data)+2;
s1=malloc(l);
strncpy(s1, data, l - 1);
stringp=s1;
strsep(&stringp," "); // eat the first token, we already know it :P
s3=strsep(&stringp," ");
id=atoi(s3);
if ((karoto=find_identifier(id,AST_PGSQL_ID_CONNID))==NULL) {
ast_log(LOG_WARNING,"Invalid connection identifier %d passed in aPGSQL_reset\n",id);
} else {
PQreset(karoto);
}
free(s1);
return(0);
}
static int aPGSQL_clear(struct ast_channel *chan, void *data) {
char *s1,*s3;
int l;
PGresult *karoto;
int id;
char *stringp=NULL;
l=strlen(data)+2;
s1=malloc(l);
strncpy(s1, data, l - 1);
stringp=s1;
strsep(&stringp," "); // eat the first token, we already know it :P
s3=strsep(&stringp," ");
id=atoi(s3);
if ((karoto=find_identifier(id,AST_PGSQL_ID_RESID))==NULL) {
ast_log(LOG_WARNING,"Invalid result identifier %d passed in aPGSQL_clear\n",id);
} else {
PQclear(karoto);
del_identifier(id,AST_PGSQL_ID_RESID);
}
free(s1);
return(0);
}
static int aPGSQL_disconnect(struct ast_channel *chan, void *data) {
char *s1,*s3;
int l;
PGconn *karoto;
int id;
char *stringp=NULL;
l=strlen(data)+2;
s1=malloc(l);
strncpy(s1, data, l - 1);
stringp=s1;
strsep(&stringp," "); // eat the first token, we already know it :P
s3=strsep(&stringp," ");
id=atoi(s3);
if ((karoto=find_identifier(id,AST_PGSQL_ID_CONNID))==NULL) {
ast_log(LOG_WARNING,"Invalid connection identifier %d passed in aPGSQL_disconnect\n",id);
} else {
PQfinish(karoto);
del_identifier(id,AST_PGSQL_ID_CONNID);
}
free(s1);
return(0);
}
static int aPGSQL_debug(struct ast_channel *chan, void *data) {
ast_log(LOG_WARNING,"Debug : %s\n",(char *)data);
return(0);
}
static int PGSQL_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
int result;
#if EXTRA_LOG
printf("PRSQL_exec: data=%s\n",(char*)data);
#endif
if (!data) {
ast_log(LOG_WARNING, "APP_PGSQL requires an argument (see manual)\n");
return -1;
}
LOCAL_USER_ADD(u);
result=0;
if (strncasecmp("connect",data,strlen("connect"))==0) {
result=(aPGSQL_connect(chan,data));
} else if (strncasecmp("query",data,strlen("query"))==0) {
result=(aPGSQL_query(chan,data));
} else if (strncasecmp("fetch",data,strlen("fetch"))==0) {
result=(aPGSQL_fetch(chan,data));
} else if (strncasecmp("reset",data,strlen("reset"))==0) {
result=(aPGSQL_reset(chan,data));
} else if (strncasecmp("clear",data,strlen("clear"))==0) {
result=(aPGSQL_clear(chan,data));
} else if (strncasecmp("debug",data,strlen("debug"))==0) {
result=(aPGSQL_debug(chan,data));
} else if (strncasecmp("disconnect",data,strlen("disconnect"))==0) {
result=(aPGSQL_disconnect(chan,data));
} else {
ast_log(LOG_WARNING, "Unknown APP_PGSQL argument : %s\n",(char *)data);
result=-1;
}
LOCAL_USER_REMOVE(u);
return result;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
struct PGSQLidshead *headp;
headp=&PGSQLidshead;
AST_LIST_HEAD_INIT(headp);
return ast_register_application(app, PGSQL_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

97
apps/app_striplsd.c Normal file
View File

@@ -0,0 +1,97 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Skeleton application
*
* 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
*/
#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>
static char *tdesc = "Strip trailing digits";
static char *descrip =
" StripLSD(count): Strips the trailing 'count' digits from the channel's\n"
"associated extension. For example, the number 5551212 when stripped with a\n"
"count of 4 would be changed to 555. This app always returns 0, and the PBX\n"
"will continue processing at the next priority for the *new* extension.\n"
" So, for example, if priority 3 of 5551212 is StripLSD 4, the next step\n"
"executed will be priority 4 of 555. If you switch into an extension which\n"
"has no first step, the PBX will treat it as though the user dialed an\n"
"invalid extension.\n";
static char *app = "StripLSD";
static char *synopsis = "Strip Least Significant Digits";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int striplsd_exec(struct ast_channel *chan, void *data)
{
char newexten[AST_MAX_EXTENSION] = "";
int maxbytes = 0;
int stripcount = 0;
int extlen = strlen(chan->exten);
maxbytes = sizeof(newexten) - 1;
if (data) {
stripcount = atoi(data);
}
if (!stripcount) {
ast_log(LOG_DEBUG, "Ignoring, since number of digits to strip is 0\n");
return 0;
}
if (extlen > stripcount) {
if (extlen - stripcount <= maxbytes) {
maxbytes = extlen - stripcount;
}
strncpy(newexten, chan->exten, maxbytes);
}
strncpy(chan->exten, newexten, sizeof(chan->exten)-1);
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, striplsd_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

134
apps/app_substring.c Normal file
View File

@@ -0,0 +1,134 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Skeleton application
*
* 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
*/
#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/pbx.h>
#include <asterisk/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
static char *tdesc = "(Deprecated) Save substring digits in a given variable";
static char *descrip =
" (Deprecated, use ${variable:a:b} instead)\n"
"\n"
" SubString(variable=string_of_digits|count1|count2): Assigns the substring\n"
"of string_of_digits to a given variable. Parameter count1 may be positive\n"
"or negative. If it's positive then we skip the first count1 digits from the\n"
"left. If it's negative, we move count1 digits counting from the end of\n"
"the string to the left. Parameter count2 implies how many digits we are\n"
"taking from the point that count1 placed us. If count2 is negative, then\n"
"that many digits are omitted from the end.\n"
"For example:\n"
"exten => _NXXXXXX,1,SubString,test=2564286161|0|3\n"
"assigns the area code (3 first digits) to variable test.\n"
"exten => _NXXXXXX,1,SubString,test=2564286161|-7|7\n"
"assigns the last 7 digits to variable test.\n"
"exten => _NXXXXXX,1,SubString,test=2564286161|0|-4\n"
"assigns all but the last 4 digits to variable test.\n"
"If there are no parameters it'll return with -1.\n"
"If there wrong parameters it go on and return with 0\n";
static char *app = "SubString";
static char *synopsis = "(Deprecated) Save substring digits in a given variable";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int substring_exec(struct ast_channel *chan, void *data)
{
char newexten[AST_MAX_EXTENSION] = "";
char *count1, *count2;
char *first, *second, *stringp;
stringp=alloca(strlen(data)+1);
ast_log(LOG_WARNING, "The use of Substring application is deprecated. Please use ${variable:a:b} instead\n");
strncpy(stringp,data,strlen(data));
if (strchr(stringp,'|')&&strchr(stringp,'=')) {
int icount1,icount2;
first=strsep(&stringp,"=");
second=strsep(&stringp,"|");
count1=strsep(&stringp,"|");
count2=strsep(&stringp,"\0");
if (!first || !second || !count1 || !count2) {
ast_log(LOG_DEBUG, "Ignoring, since there is no argument: variable or string or count1 or count2\n");
return 0;
}
icount1=atoi(count1);
icount2=atoi(count2);
if (icount2<0) {
icount2 = icount2 + strlen(second);
}
if (abs(icount1)>strlen(second)) {
ast_log(LOG_WARNING, "Limiting count1 parameter because it exceeds the length of the string\n");
if (icount1>=0)
icount1=strlen(second);
else
icount1=0;
}
if ((icount1<0 && icount2>-icount1) || (icount1>=0 && icount1+icount2>strlen(second))) {
ast_log(LOG_WARNING, "Limiting count2 parameter because it exceeds the length of the string\n");
if (icount1>=0)
icount2=strlen(second)-icount1;
else
icount2=strlen(second)+icount1;
}
if (first&&second) {
if (icount1>=0)
strncpy(newexten,second+icount1,icount2);
else
strncpy(newexten,second+strlen(second)+icount1,icount2);
pbx_builtin_setvar_helper(chan,first,newexten);
}
} else {
ast_log(LOG_DEBUG, "Ignoring, no parameters\n");
}
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, substring_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

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

@@ -3,62 +3,76 @@
*
* Execute arbitrary system commands
*
* Copyright (C) 1999, Mark Spencer
* Copyright (C) 1999-2004, Digium, Inc.
*
* 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
*/
#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 <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>
static char *tdesc = "Generic System() application";
static char *app = "System";
static char *app2 = "TrySystem";
static char *synopsis = "Execute a system command";
static char *synopsis2 = "Try executing a system command";
static char *descrip =
" System(command): Executes a command by using system(). Returns -1 on failure to execute\n"
" the specified command. If the command itself executes but is in error, and if there exists\n"
" a priority n + 101, where 'n' is the priority of the current instance, then the channel will\n"
" will be setup to continue at that priority level. Otherwise, System returns 0.\n";
" System(command): Executes a command by using system(). Returns -1 on\n"
"failure to execute the specified command. If the command itself executes\n"
"but is in error, and if there exists a priority n + 101, where 'n' is the\n"
"priority of the current instance, then the channel will be setup to\n"
"continue at that priority level. Otherwise, System returns 0.\n";
static char *descrip2 =
" TrySystem(command): Executes a command by using system(). Returns 0\n"
"on any situation. If the command itself executes but is in error, and if\n"
"there exists a priority n + 101, where 'n' is the priority of the current\n"
"instance, then the channel will be setup to continue at that\n"
"priority level. Otherwise, System returns 0.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int skel_exec(struct ast_channel *chan, void *data)
static int system_exec_helper(struct ast_channel *chan, void *data, int failmode)
{
int res=0;
struct localuser *u;
if (!data) {
ast_log(LOG_WARNING, "System requires an argument(command)\n");
return -1;
return failmode;
}
LOCAL_USER_ADD(u);
/* Do our thing here */
res = system((char *)data);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to execute '%s'\n", data);
res = -1;
res = ast_safe_system((char *)data);
if ((res < 0) && (errno != ECHILD)) {
ast_log(LOG_WARNING, "Unable to execute '%s'\n", (char *)data);
res = failmode;
} else if (res == 127) {
ast_log(LOG_WARNING, "Unable to execute '%s'\n", data);
res = -1;
ast_log(LOG_WARNING, "Unable to execute '%s'\n", (char *)data);
res = failmode;
} else {
if (res && ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101))
if (res < 0)
res = 0;
if (res && ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority+=100;
res = 0;
}
@@ -66,15 +80,27 @@ static int skel_exec(struct ast_channel *chan, void *data)
return res;
}
static int system_exec(struct ast_channel *chan, void *data)
{
return system_exec_helper(chan, data, -1);
}
static int trysystem_exec(struct ast_channel *chan, void *data)
{
return system_exec_helper(chan, data, 0);
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
ast_unregister_application(app2);
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, skel_exec, synopsis, descrip);
ast_register_application(app2, trysystem_exec, synopsis2, descrip2);
return ast_register_application(app, system_exec, synopsis, descrip);
}
char *description(void)

218
apps/app_talkdetect.c Normal file
View File

@@ -0,0 +1,218 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Playback a file with audio detect
*
* Copyright (C) 2004, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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/dsp.h>
#include <string.h>
#include <stdlib.h>
static char *tdesc = "Playback with Talk Detection";
static char *app = "BackgroundDetect";
static char *synopsis = "Background a file with talk detect";
static char *descrip =
" BackgroundDetect(filename[|sil[|min|[max]]]): Plays back a given\n"
"filename, waiting for interruption from a given digit (the digit must\n"
"start the beginning of a valid extension, or it will be ignored).\n"
"During the playback of the file, audio is monitored in the receive\n"
"direction, and if a period of non-silence which is greater than 'min' ms\n"
"yet less than 'max' ms is followed by silence for at least 'sil' ms then\n"
"the audio playback is aborted and processing jumps to the 'talk' extension\n"
"if available. If unspecified, sil, min, and max default to 1000, 100, and\n"
"infinity respectively. Returns -1 on hangup, and 0 on successful playback\n"
"completion with no exit conditions.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int background_detect_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
char tmp[256];
char *options;
char *stringp;
struct ast_frame *fr;
int notsilent=0;
struct timeval start = { 0, 0}, end = {0, 0};
int sil = 1000;
int min = 100;
int max = -1;
int x;
int origrformat=0;
struct ast_dsp *dsp;
if (!data || ast_strlen_zero((char *)data)) {
ast_log(LOG_WARNING, "BackgroundDetect requires an argument (filename)\n");
return -1;
}
strncpy(tmp, (char *)data, sizeof(tmp)-1);
stringp=tmp;
strsep(&stringp, "|");
options = strsep(&stringp, "|");
if (options) {
if ((sscanf(options, "%d", &x) == 1) && (x > 0))
sil = x;
options = strsep(&stringp, "|");
if (options) {
if ((sscanf(options, "%d", &x) == 1) && (x > 0))
min = x;
options = strsep(&stringp, "|");
if (options) {
if ((sscanf(options, "%d", &x) == 1) && (x > 0))
max = x;
}
}
}
ast_log(LOG_DEBUG, "Preparing detect of '%s', sil=%d,min=%d,max=%d\n",
tmp, sil, min, max);
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP) {
/* Otherwise answer unless we're supposed to send this while on-hook */
res = ast_answer(chan);
}
if (!res) {
origrformat = chan->readformat;
if ((res = ast_set_read_format(chan, AST_FORMAT_SLINEAR)))
ast_log(LOG_WARNING, "Unable to set read format to linear!\n");
}
if (!(dsp = ast_dsp_new())) {
ast_log(LOG_WARNING, "Unable to allocate DSP!\n");
res = -1;
}
if (!res) {
ast_stopstream(chan);
res = ast_streamfile(chan, tmp, chan->language);
if (!res) {
while(chan->stream) {
res = ast_sched_wait(chan->sched);
if ((res < 0) && !chan->timingfunc) {
res = 0;
break;
}
if (res < 0)
res = 1000;
res = ast_waitfor(chan, res);
if (res < 0) {
ast_log(LOG_WARNING, "Waitfor failed on %s\n", chan->name);
break;
} else if (res > 0) {
fr = ast_read(chan);
if (!fr) {
res = -1;
break;
} else if (fr->frametype == AST_FRAME_DTMF) {
char t[2];
t[0] = fr->subclass;
t[1] = '\0';
if (ast_canmatch_extension(chan, chan->context, t, 1, chan->callerid)) {
/* They entered a valid extension, or might be anyhow */
res = fr->subclass;
ast_frfree(fr);
break;
}
} else if ((fr->frametype == AST_FRAME_VOICE) && (fr->subclass == AST_FORMAT_SLINEAR)) {
int totalsilence;
int ms;
res = ast_dsp_silence(dsp, fr, &totalsilence);
if (res && (totalsilence > sil)) {
/* We've been quiet a little while */
if (notsilent) {
/* We had heard some talking */
gettimeofday(&end, NULL);
ms = (end.tv_sec - start.tv_sec) * 1000;
ms += (end.tv_usec - start.tv_usec) / 1000;
ms -= sil;
if (ms < 0)
ms = 0;
if ((ms > min) && ((max < 0) || (ms < max))) {
ast_log(LOG_DEBUG, "Found qualified token of %d ms\n", ms);
if (ast_exists_extension(chan, chan->context, "talk", 1, chan->callerid)) {
strncpy(chan->exten, "talk", sizeof(chan->exten) -1 );
chan->priority = 0;
}
res = 0;
ast_frfree(fr);
break;
} else
ast_log(LOG_DEBUG, "Found unqualified token of %d ms\n", ms);
notsilent = 0;
}
} else {
if (!notsilent) {
/* Heard some audio, mark the begining of the token */
gettimeofday(&start, NULL);
ast_log(LOG_DEBUG, "Start of voice token!\n");
notsilent = 1;
}
}
}
ast_frfree(fr);
}
ast_sched_runq(chan->sched);
}
ast_stopstream(chan);
} else {
ast_log(LOG_WARNING, "ast_streamfile failed on %s for %s\n", chan->name, (char *)data);
res = 0;
}
}
if (res > -1) {
if (origrformat && ast_set_read_format(chan, origrformat)) {
ast_log(LOG_WARNING, "Failed to restore read format for %s to %s\n",
chan->name, ast_getformatname(origrformat));
}
}
if (dsp)
ast_dsp_free(dsp);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, background_detect_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

470
apps/app_test.c Normal file
View File

@@ -0,0 +1,470 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Applictions connected with CDR engine
*
* Copyright (C) 2004, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
* Russell Bryant <russelb@clemson.edu>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#include <sys/types.h>
#include <asterisk/channel.h>
#include <asterisk/module.h>
#include <asterisk/logger.h>
#include <asterisk/lock.h>
#include <asterisk/app.h>
#include <asterisk/pbx.h>
#include <asterisk/utils.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include "../astconf.h"
static char *tdesc = "Interface Test Application";
static char *tests_descrip = "TestServer(): Perform test server function and write call report"
"Results stored in /var/log/asterisk/testreports/<testid>.txt";
static char *tests_app = "TestServer";
static char *tests_synopsis = "Execute Interface Test Server";
static char *testc_descrip = "TestClient(testid): Executes test client with given testid.\n"
"Results stored in /var/log/asterisk/testreports/<testid>.txt";
static char *testc_app = "TestClient";
static char *testc_synopsis = "Execute Interface Test Client";
static int measurenoise(struct ast_channel *chan, int ms, char *who)
{
int res=0;
int mssofar;
int noise=0;
int samples=0;
int x;
short *foo;
struct timeval start, tv;
struct ast_frame *f;
int rformat;
rformat = chan->readformat;
if (ast_set_read_format(chan, AST_FORMAT_SLINEAR)) {
ast_log(LOG_NOTICE, "Unable to set to linear mode!\n");
return -1;
}
gettimeofday(&start, NULL);
for(;;) {
gettimeofday(&tv, NULL);
mssofar = (tv.tv_sec - start.tv_sec) * 1000;
mssofar += (tv.tv_usec - start.tv_usec) / 1000;
if (mssofar > ms)
break;
res = ast_waitfor(chan, ms - mssofar);
if (res < 1)
break;
f = ast_read(chan);
if (!f) {
res = -1;
break;
}
if ((f->frametype == AST_FRAME_VOICE) && (f->subclass == AST_FORMAT_SLINEAR)) {
foo = (short *)f->data;
for (x=0;x<f->samples;x++) {
noise += abs(foo[x]);
samples++;
}
}
}
if (rformat) {
if (ast_set_read_format(chan, rformat)) {
ast_log(LOG_NOTICE, "Unable to restore original format!\n");
return -1;
}
}
if (res < 0)
return res;
if (!samples) {
ast_log(LOG_NOTICE, "No samples were received from the other side!\n");
return -1;
}
ast_log(LOG_DEBUG, "%s: Noise: %d, samples: %d, avg: %d\n", who, noise, samples, noise / samples);
return (noise / samples);
}
static int sendnoise(struct ast_channel *chan, int ms)
{
int res;
res = ast_tonepair_start(chan, 1537, 2195, ms, 8192);
if (!res) {
res = ast_waitfordigit(chan, ms);
ast_tonepair_stop(chan);
}
return res;
}
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int testclient_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
int res = 0;
char *testid=data;
char fn[80];
char serverver[80];
FILE *f;
LOCAL_USER_ADD(u);
/* Check for test id */
if (!testid || ast_strlen_zero(testid)) {
ast_log(LOG_WARNING, "TestClient requires an argument - the test id\n");
return -1;
}
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
/* Wait a few just to be sure things get started */
res = ast_safe_sleep(chan, 3000);
/* Transmit client version */
if (!res)
res = ast_dtmf_stream(chan, NULL, "8378*1#", 0);
ast_log(LOG_DEBUG, "Transmit client version\n");
/* Read server version */
ast_log(LOG_DEBUG, "Read server version\n");
if (!res)
res = ast_app_getdata(chan, NULL, serverver, sizeof(serverver) - 1, 0);
if (res > 0)
res = 0;
ast_log(LOG_DEBUG, "server version: %s\n", serverver);
if (res > 0)
res = 0;
if (!res)
res = ast_safe_sleep(chan, 1000);
/* Send test id */
if (!res)
res = ast_dtmf_stream(chan, NULL, testid, 0);
if (!res)
res = ast_dtmf_stream(chan, NULL, "#", 0);
ast_log(LOG_DEBUG, "send test identifier: %s\n", testid);
if ((res >=0) && (!ast_strlen_zero(testid))) {
/* Make the directory to hold the test results in case it's not there */
snprintf(fn, sizeof(fn), "%s/testresults", ast_config_AST_LOG_DIR);
mkdir(fn, 0777);
snprintf(fn, sizeof(fn), "%s/testresults/%s-client.txt", ast_config_AST_LOG_DIR, testid);
if ((f = fopen(fn, "w+"))) {
setlinebuf(f);
fprintf(f, "CLIENTCHAN: %s\n", chan->name);
fprintf(f, "CLIENTTEST ID: %s\n", testid);
fprintf(f, "ANSWER: PASS\n");
res = 0;
if (!res) {
/* Step 1: Wait for "1" */
ast_log(LOG_DEBUG, "TestClient: 2. Wait DTMF 1\n");
res = ast_waitfordigit(chan, 3000);
fprintf(f, "WAIT DTMF 1: %s\n", (res != '1') ? "FAIL" : "PASS");
if (res == '1')
res = 0;
else
res = -1;
}
if (!res)
res = ast_safe_sleep(chan, 1000);
if (!res) {
/* Step 2: Send "2" */
ast_log(LOG_DEBUG, "TestClient: 2. Send DTMF 2\n");
res = ast_dtmf_stream(chan, NULL, "2", 0);
fprintf(f, "SEND DTMF 2: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 3: Wait one second */
ast_log(LOG_DEBUG, "TestClient: 3. Wait one second\n");
res = ast_safe_sleep(chan, 1000);
fprintf(f, "WAIT 1 SEC: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 4: Measure noise */
ast_log(LOG_DEBUG, "TestClient: 4. Measure noise\n");
res = measurenoise(chan, 5000, "TestClient");
fprintf(f, "MEASURENOISE: %s (%d)\n", (res < 0) ? "FAIL" : "PASS", res);
if (res > 0)
res = 0;
}
if (!res) {
/* Step 5: Wait for "4" */
ast_log(LOG_DEBUG, "TestClient: 5. Wait DTMF 4\n");
res = ast_waitfordigit(chan, 3000);
fprintf(f, "WAIT DTMF 4: %s\n", (res != '4') ? "FAIL" : "PASS");
if (res == '4')
res = 0;
else
res = -1;
}
if (!res) {
/* Step 6: Transmit tone noise */
ast_log(LOG_DEBUG, "TestClient: 6. Transmit tone\n");
res = sendnoise(chan, 6000);
fprintf(f, "SENDTONE: %s\n", (res < 0) ? "FAIL" : "PASS");
}
if (!res || (res == '5')) {
/* Step 7: Wait for "5" */
ast_log(LOG_DEBUG, "TestClient: 7. Wait DTMF 5\n");
if (!res)
res = ast_waitfordigit(chan, 3000);
fprintf(f, "WAIT DTMF 5: %s\n", (res != '5') ? "FAIL" : "PASS");
if (res == '5')
res = 0;
else
res = -1;
}
if (!res) {
/* Step 8: Wait one second */
ast_log(LOG_DEBUG, "TestClient: 8. Wait one second\n");
res = ast_safe_sleep(chan, 1000);
fprintf(f, "WAIT 1 SEC: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 9: Measure noise */
ast_log(LOG_DEBUG, "TestClient: 6. Measure tone\n");
res = measurenoise(chan, 4000, "TestClient");
fprintf(f, "MEASURETONE: %s (%d)\n", (res < 0) ? "FAIL" : "PASS", res);
if (res > 0)
res = 0;
}
if (!res) {
/* Step 10: Send "7" */
ast_log(LOG_DEBUG, "TestClient: 7. Send DTMF 7\n");
res = ast_dtmf_stream(chan, NULL, "7", 0);
fprintf(f, "SEND DTMF 7: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res =0;
}
if (!res) {
/* Step 11: Wait for "8" */
ast_log(LOG_DEBUG, "TestClient: 11. Wait DTMF 8\n");
res = ast_waitfordigit(chan, 3000);
fprintf(f, "WAIT DTMF 8: %s\n", (res != '8') ? "FAIL" : "PASS");
if (res == '8')
res = 0;
else
res = -1;
}
if (!res) {
/* Step 12: Hangup! */
ast_log(LOG_DEBUG, "TestClient: 12. Hangup\n");
}
ast_log(LOG_DEBUG, "-- TEST COMPLETE--\n");
fprintf(f, "-- END TEST--\n");
fclose(f);
res = -1;
} else
res = -1;
} else {
ast_log(LOG_NOTICE, "Did not read a test ID on '%s'\n", chan->name);
res = -1;
}
LOCAL_USER_REMOVE(u);
return res;
}
static int testserver_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
int res = 0;
char testid[80]="";
char fn[80];
FILE *f;
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
/* Read version */
ast_log(LOG_DEBUG, "Read client version\n");
if (!res)
res = ast_app_getdata(chan, NULL, testid, sizeof(testid) - 1, 0);
if (res > 0)
res = 0;
ast_log(LOG_DEBUG, "client version: %s\n", testid);
ast_log(LOG_DEBUG, "Transmit server version\n");
res = ast_safe_sleep(chan, 1000);
if (!res)
res = ast_dtmf_stream(chan, NULL, "8378*1#", 0);
if (res > 0)
res = 0;
if (!res)
res = ast_app_getdata(chan, NULL, testid, sizeof(testid) - 1, 0);
ast_log(LOG_DEBUG, "read test identifier: %s\n", testid);
/* Check for sneakyness */
if (strchr(testid, '/'))
res = -1;
if ((res >=0) && (!ast_strlen_zero(testid))) {
/* Got a Test ID! Whoo hoo! */
/* Make the directory to hold the test results in case it's not there */
snprintf(fn, sizeof(fn), "%s/testresults", ast_config_AST_LOG_DIR);
mkdir(fn, 0777);
snprintf(fn, sizeof(fn), "%s/testresults/%s-server.txt", ast_config_AST_LOG_DIR, testid);
if ((f = fopen(fn, "w+"))) {
setlinebuf(f);
fprintf(f, "SERVERCHAN: %s\n", chan->name);
fprintf(f, "SERVERTEST ID: %s\n", testid);
fprintf(f, "ANSWER: PASS\n");
ast_log(LOG_DEBUG, "Processing Test ID '%s'\n", testid);
res = ast_safe_sleep(chan, 1000);
if (!res) {
/* Step 1: Send "1" */
ast_log(LOG_DEBUG, "TestServer: 1. Send DTMF 1\n");
res = ast_dtmf_stream(chan, NULL, "1", 0);
fprintf(f, "SEND DTMF 1: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 2: Wait for "2" */
ast_log(LOG_DEBUG, "TestServer: 2. Wait DTMF 2\n");
res = ast_waitfordigit(chan, 3000);
fprintf(f, "WAIT DTMF 2: %s\n", (res != '2') ? "FAIL" : "PASS");
if (res == '2')
res = 0;
else
res = -1;
}
if (!res) {
/* Step 3: Measure noise */
ast_log(LOG_DEBUG, "TestServer: 3. Measure noise\n");
res = measurenoise(chan, 6000, "TestServer");
fprintf(f, "MEASURENOISE: %s (%d)\n", (res < 0) ? "FAIL" : "PASS", res);
if (res > 0)
res = 0;
}
if (!res) {
/* Step 4: Send "4" */
ast_log(LOG_DEBUG, "TestServer: 4. Send DTMF 4\n");
res = ast_dtmf_stream(chan, NULL, "4", 0);
fprintf(f, "SEND DTMF 4: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 5: Wait one second */
ast_log(LOG_DEBUG, "TestServer: 5. Wait one second\n");
res = ast_safe_sleep(chan, 1000);
fprintf(f, "WAIT 1 SEC: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 6: Measure noise */
ast_log(LOG_DEBUG, "TestServer: 6. Measure tone\n");
res = measurenoise(chan, 4000, "TestServer");
fprintf(f, "MEASURETONE: %s (%d)\n", (res < 0) ? "FAIL" : "PASS", res);
if (res > 0)
res = 0;
}
if (!res) {
/* Step 7: Send "5" */
ast_log(LOG_DEBUG, "TestServer: 7. Send DTMF 5\n");
res = ast_dtmf_stream(chan, NULL, "5", 0);
fprintf(f, "SEND DTMF 5: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 8: Transmit tone noise */
ast_log(LOG_DEBUG, "TestServer: 8. Transmit tone\n");
res = sendnoise(chan, 6000);
fprintf(f, "SENDTONE: %s\n", (res < 0) ? "FAIL" : "PASS");
}
if (!res || (res == '7')) {
/* Step 9: Wait for "7" */
ast_log(LOG_DEBUG, "TestServer: 9. Wait DTMF 7\n");
if (!res)
res = ast_waitfordigit(chan, 3000);
fprintf(f, "WAIT DTMF 7: %s\n", (res != '7') ? "FAIL" : "PASS");
if (res == '7')
res = 0;
else
res = -1;
}
if (!res)
res = ast_safe_sleep(chan, 1000);
if (!res) {
/* Step 10: Send "8" */
ast_log(LOG_DEBUG, "TestServer: 10. Send DTMF 8\n");
res = ast_dtmf_stream(chan, NULL, "8", 0);
fprintf(f, "SEND DTMF 8: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
}
if (!res) {
/* Step 11: Wait for hangup to arrive! */
ast_log(LOG_DEBUG, "TestServer: 11. Waiting for hangup\n");
res = ast_safe_sleep(chan, 10000);
fprintf(f, "WAIT HANGUP: %s\n", (res < 0) ? "PASS" : "FAIL");
}
ast_log(LOG_DEBUG, "-- TEST COMPLETE--\n");
fprintf(f, "-- END TEST--\n");
fclose(f);
res = -1;
} else
res = -1;
} else {
ast_log(LOG_NOTICE, "Did not read a test ID on '%s'\n", chan->name);
res = -1;
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
ast_unregister_application(testc_app);
return ast_unregister_application(tests_app);
}
int load_module(void)
{
ast_register_application(testc_app, testclient_exec, testc_synopsis, testc_descrip);
return ast_register_application(tests_app, testserver_exec, tests_synopsis, tests_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key(void)
{
return ASTERISK_GPL_KEY;
}

91
apps/app_transfer.c Normal file
View File

@@ -0,0 +1,91 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Transfer a caller
*
* 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
*/
#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 <string.h>
#include <stdlib.h>
static char *tdesc = "Transfer";
static char *app = "Transfer";
static char *synopsis = "Transfer caller to remote extension";
static char *descrip =
" Transfer(exten): Requests the remote caller be transferred to\n"
"a given extension. Returns -1 on hangup, or 0 on completion\n"
"regardless of whether the transfer was successful. If the transfer\n"
"was *not* supported or successful and there exists a priority n + 101,\n"
"then that priority will be taken next.\n" ;
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int transfer_exec(struct ast_channel *chan, void *data)
{
int res=0;
struct localuser *u;
if (!data || !strlen(data)) {
ast_log(LOG_WARNING, "Transfer requires an argument (destination)\n");
res = 1;
}
LOCAL_USER_ADD(u);
if (!res) {
res = ast_transfer(chan, data);
}
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 (res > 0)
res = 0;
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, transfer_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

145
apps/app_txtcidname.c Normal file
View File

@@ -0,0 +1,145 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Caller*id name lookup - Look up the caller's name via DNS
*
* Copyright (C) 1999-2004, Digium
*
* Mark Spencer <markster@linux-support.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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 <string.h>
#include <stdlib.h>
#include <ctype.h>
static char *tdesc = "TXTCIDName";
static char *app = "TXTCIDName";
static char *synopsis = "Lookup caller name from TXT record";
static char *descrip =
" TXTLookup(CallerID): Looks up a Caller Name via DNS and sets\n"
"the variable 'TXTCIDNAME'. TXTCIDName will either be blank\n"
"or return the value found in the TXT record in DNS.\n" ;
#define ENUM_CONFIG "enum.conf"
static char h323driver[80] = "";
#define H323DRIVERDEFAULT "H323"
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int txtcidname_exec(struct ast_channel *chan, void *data)
{
int res=0;
char tech[80];
char txt[256] = "";
char dest[80];
struct localuser *u;
if (!data || !strlen(data)) {
ast_log(LOG_WARNING, "TXTCIDName requires an argument (extension)\n");
res = 1;
}
LOCAL_USER_ADD(u);
if (!res) {
res = ast_get_txt(chan, data, dest, sizeof(dest), tech, sizeof(tech), txt, sizeof(txt));
}
LOCAL_USER_REMOVE(u);
/* Parse it out */
if (res > 0) {
if (!ast_strlen_zero(txt)) {
pbx_builtin_setvar_helper(chan, "TXTCIDNAME", txt);
#if 0
ast_log(LOG_DEBUG, "TXTCIDNAME got '%s'\n", txt);
#endif
}
}
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;
}
static int load_config(void)
{
struct ast_config *cfg;
char *s;
cfg = ast_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);
return 0;
}
ast_log(LOG_NOTICE, "No ENUM Config file, using defaults\n");
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
int res;
res = ast_register_application(app, txtcidname_exec, synopsis, descrip);
if (res)
return(res);
if ((res=load_config())) {
return(res);
}
return(0);
}
int reload(void)
{
return(load_config());
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

139
apps/app_url.c Normal file
View File

@@ -0,0 +1,139 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* App to transmit a URL
*
* 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
*/
#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>
static char *tdesc = "Send URL Applications";
static char *app = "SendURL";
static char *synopsis = "Send a URL";
static char *descrip =
" SendURL(URL[|option]): Requests client go to URL. If the client\n"
"does not support html 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"
"SendURL only returns 0 if the URL was sent correctly or if\n"
"the channel does not support HTML transport, and -1 otherwise.\n"
"If the option 'wait' is specified, execution will wait for an\n"
"acknowledgement that the URL has been loaded before continuing\n"
"and will return -1 if the peer is unable to load the URL\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int sendurl_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
char tmp[256];
char *options;
int option_wait=0;
struct ast_frame *f;
char *stringp=NULL;
if (!data || !strlen((char *)data)) {
ast_log(LOG_WARNING, "SendURL requires an argument (URL)\n");
return -1;
}
strncpy(tmp, (char *)data, sizeof(tmp)-1);
stringp=tmp;
strsep(&stringp, "|");
options = strsep(&stringp, "|");
if (options && !strcasecmp(options, "wait"))
option_wait = 1;
LOCAL_USER_ADD(u);
if (!ast_channel_supports_html(chan)) {
/* Does not support transport */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
LOCAL_USER_REMOVE(u);
return 0;
}
res = ast_channel_sendurl(chan, tmp);
if (res > -1) {
if (option_wait) {
for(;;) {
/* Wait for an event */
res = ast_waitfor(chan, -1);
if (res < 0)
break;
f = ast_read(chan);
if (!f) {
res = -1;
break;
}
if (f->frametype == AST_FRAME_HTML) {
switch(f->subclass) {
case AST_HTML_LDCOMPLETE:
res = 0;
ast_frfree(f);
goto out;
break;
case AST_HTML_NOSUPPORT:
/* Does not support transport */
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid))
chan->priority += 100;
res = 0;
goto out;
break;
default:
ast_log(LOG_WARNING, "Don't know what to do with HTML subclass %d\n", f->subclass);
};
}
ast_frfree(f);
}
}
}
out:
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, sendurl_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

106
apps/app_userevent.c Normal file
View File

@@ -0,0 +1,106 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* UserEvent application -- send manager event
*
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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/manager.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
static char *tdesc = "Custom User Event Application";
static char *app = "UserEvent";
static char *synopsis = "Send an arbitrary event to the manager interface";
static char *descrip =
" UserEvent(eventname[|body]): Sends an arbitrary event to the\n"
"manager interface, with an optional body representing additional\n"
"arguments. The format of the event will be:\n"
" Event: UserEvent<specified event name>\n"
" Channel: <channel name>\n"
" Uniqueid: <call uniqueid>\n"
" [body]\n"
"If the body is not specified, only Event, Channel, and Uniqueid fields\n"
"will be present. Returns 0.";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int userevent_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
char info[512];
char eventname[512];
char *eventbody;
if (!data || !strlen(data)) {
ast_log(LOG_WARNING, "UserEvent requires an argument (eventname|optional event body)\n");
return -1;
}
strncpy(info, (char *)data, strlen((char *)data) + AST_MAX_EXTENSION-1);
eventbody = strchr(eventname, '|');
if (eventbody) {
*eventbody = '\0';
eventbody++;
}
snprintf(eventname, sizeof(eventname), "UserEvent%s", info);
LOCAL_USER_ADD(u);
if(eventbody) {
ast_log(LOG_DEBUG, "Sending user event: %s, %s\n", eventname, eventbody);
manager_event(EVENT_FLAG_CALL, eventname,
"Channel: %s\r\nUniqueid: %s\r\n%s\r\n",
chan->name, chan->uniqueid, eventbody);
} else {
ast_log(LOG_DEBUG, "Sending user event: %s\n", eventname);
manager_event(EVENT_FLAG_CALL, eventname,
"Channel: %s\r\nUniqueid: %s\r\n", chan->name, chan->uniqueid);
}
LOCAL_USER_REMOVE(u);
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, userevent_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

110
apps/app_verbose.c Normal file
View File

@@ -0,0 +1,110 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Verbose application
*
* Copyright (c) 2004 Tilghman Lesher. All rights reserved.
*
* Tilghman Lesher <app_verbose_v001@the-tilghman.com>
*
* This code is released by the author with no restrictions on usage.
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <asterisk/options.h>
#include <asterisk/logger.h>
#include <asterisk/channel.h>
#include <asterisk/pbx.h>
#include <asterisk/module.h>
static char *tdesc = "Send verbose output";
static char *app_verbose = "Verbose";
static char *verbose_synopsis = "Send arbitrary text to verbose output";
static char *verbose_descrip =
"Verbose([<level>|]<message>)\n"
" level must be an integer value. If not specified, defaults to 0."
" Always returns 0.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int verbose_exec(struct ast_channel *chan, void *data)
{
char *vtext;
int vsize;
if (data) {
vtext = ast_strdupa((char *)data);
if (vtext) {
char *tmp = strsep(&vtext, "|,");
if (vtext) {
if (sscanf(tmp, "%d", &vsize) != 1) {
vsize = 0;
ast_log(LOG_WARNING, "'%s' is not a verboser number\n", vtext);
}
} else {
vtext = tmp;
vsize = 0;
}
if (option_verbose >= vsize) {
switch (vsize) {
case 0:
ast_verbose("%s\n", vtext);
break;
case 1:
ast_verbose(VERBOSE_PREFIX_1 "%s\n", vtext);
break;
case 2:
ast_verbose(VERBOSE_PREFIX_2 "%s\n", vtext);
break;
case 3:
ast_verbose(VERBOSE_PREFIX_3 "%s\n", vtext);
break;
default:
ast_verbose(VERBOSE_PREFIX_4 "%s\n", vtext);
}
}
} else {
ast_log(LOG_ERROR, "Out of memory\n");
}
}
return 0;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app_verbose);
}
int load_module(void)
{
return ast_register_application(app_verbose, verbose_exec, verbose_synopsis, verbose_descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

4998
apps/app_voicemail.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

129
apps/app_waitforring.c Normal file
View File

@@ -0,0 +1,129 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Wait for Ring Application
*
* Copyright (C) 2003, Digium
*
* Mark Spencer <markster@linux-support.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#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/lock.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
static char *synopsis = "Wait for Ring Application";
static char *tdesc = "Waits until first ring after time";
static char *desc = " WaitForRing(timeout)\n"
"Returns 0 after waiting at least timeout seconds. and\n"
"only after the next ring has completed. Returns 0 on\n"
"success or -1 on hangup\n";
static char *app = "WaitForRing";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int waitforring_exec(struct ast_channel *chan, void *data)
{
struct localuser *u;
struct ast_frame *f;
int res = 0;
int ms;
if (!data || (sscanf(data, "%d", &ms) != 1)) {
ast_log(LOG_WARNING, "WaitForRing requires an argument (minimum seconds)\n");
return 0;
}
ms *= 1000;
LOCAL_USER_ADD(u);
while(ms > 0) {
ms = ast_waitfor(chan, ms);
if (ms < 0) {
res = ms;
break;
}
if (ms > 0) {
f = ast_read(chan);
if (!f) {
res = -1;
break;
}
if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_RING)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Got a ring but still waiting for timeout\n");
}
ast_frfree(f);
}
}
/* Now we're really ready for the ring */
if (!res) {
ms = 99999999;
while(ms > 0) {
ms = ast_waitfor(chan, ms);
if (ms < 0) {
res = ms;
break;
}
if (ms > 0) {
f = ast_read(chan);
if (!f) {
res = -1;
break;
}
if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_RING)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Got a ring after the timeout\n");
ast_frfree(f);
break;
}
ast_frfree(f);
}
}
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, waitforring_exec, synopsis, desc);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

115
apps/app_zapateller.c Normal file
View File

@@ -0,0 +1,115 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Playback the special information tone to get rid of telemarketers
*
* 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
*/
#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 <string.h>
#include <stdlib.h>
static char *tdesc = "Block Telemarketers with Special Information Tone";
static char *app = "Zapateller";
static char *synopsis = "Block telemarketers with SIT";
static char *descrip =
" Zapateller(options): Generates special information tone to block\n"
"telemarketers from calling you. Returns 0 normally or -1 on hangup.\n"
"Options is a pipe-delimited list of options. The following options\n"
"are available: 'answer' causes the line to be answered before playing\n"
"the tone, 'nocallerid' causes Zapateller to only play the tone if there\n"
"is no callerid information available. Options should be separated by |\n"
"characters\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
static int zapateller_exec(struct ast_channel *chan, void *data)
{
int res = 0;
struct localuser *u;
int answer = 0, nocallerid = 0;
char *c;
char *stringp=NULL;
LOCAL_USER_ADD(u);
stringp=data;
c = strsep(&stringp, "|");
while(c && strlen(c)) {
if (!strcasecmp(c, "answer"))
answer = 1;
else if (!strcasecmp(c, "nocallerid"))
nocallerid = 1;
c = strsep(&stringp, "|");
}
ast_stopstream(chan);
if (chan->_state != AST_STATE_UP) {
if (answer)
res = ast_answer(chan);
if (!res) {
res = ast_safe_sleep(chan, 500);
}
}
if (chan->callerid && nocallerid) {
LOCAL_USER_REMOVE(u);
return res;
}
if (!res)
res = ast_tonepair(chan, 950, 0, 330, 0);
if (!res)
res = ast_tonepair(chan, 1400, 0, 330, 0);
if (!res)
res = ast_tonepair(chan, 1800, 0, 330, 0);
if (!res)
res = ast_tonepair(chan, 0, 0, 1000, 0);
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, zapateller_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

310
apps/app_zapbarge.c Normal file
View File

@@ -0,0 +1,310 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Zap Barge support
*
* Copyright (C) 2003, Digium
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*
* Special thanks to comphealth.com for sponsoring this
* GPL application.
*/
#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/app.h>
#include <asterisk/options.h>
#include <asterisk/cli.h>
#include <asterisk/say.h>
#include <asterisk/utils.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#ifdef __linux__
#include <linux/zaptel.h>
#else
#include <zaptel.h>
#endif /* __linux__ */
static char *tdesc = "Barge in on Zap channel application";
static char *app = "ZapBarge";
static char *synopsis = "Barge in (monitor) Zap channel";
static char *descrip =
" ZapBarge([channel]): Barges in on a specified zap\n"
"channel or prompts if one is not specified. Returns\n"
"-1 when caller user hangs up and is independent of the\n"
"state of the channel being monitored.";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define CONF_SIZE 160
static int careful_write(int fd, unsigned char *data, int len)
{
int res;
while(len) {
res = write(fd, data, len);
if (res < 1) {
if (errno != EAGAIN) {
ast_log(LOG_WARNING, "Failed to write audio data to conference: %s\n", strerror(errno));
return -1;
} else
return 0;
}
len -= res;
data += res;
}
return 0;
}
static int conf_run(struct ast_channel *chan, int confno, int confflags)
{
int fd;
struct zt_confinfo ztc;
struct ast_frame *f;
struct ast_channel *c;
struct ast_frame fr;
int outfd;
int ms;
int nfds;
int res;
int flags;
int retryzap;
int origfd;
int ret = -1;
ZT_BUFFERINFO bi;
char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
char *buf = __buf + AST_FRIENDLY_OFFSET;
/* Set it into U-law mode (write) */
if (ast_set_write_format(chan, AST_FORMAT_ULAW) < 0) {
ast_log(LOG_WARNING, "Unable to set '%s' to write ulaw mode\n", chan->name);
goto outrun;
}
/* Set it into U-law mode (read) */
if (ast_set_read_format(chan, AST_FORMAT_ULAW) < 0) {
ast_log(LOG_WARNING, "Unable to set '%s' to read ulaw mode\n", chan->name);
goto outrun;
}
ast_indicate(chan, -1);
retryzap = strcasecmp(chan->type, "Zap");
zapretry:
origfd = chan->fds[0];
if (retryzap) {
fd = open("/dev/zap/pseudo", O_RDWR);
if (fd < 0) {
ast_log(LOG_WARNING, "Unable to open pseudo channel: %s\n", strerror(errno));
goto outrun;
}
/* Make non-blocking */
flags = fcntl(fd, F_GETFL);
if (flags < 0) {
ast_log(LOG_WARNING, "Unable to get flags: %s\n", strerror(errno));
close(fd);
goto outrun;
}
if (fcntl(fd, F_SETFL, flags | O_NONBLOCK)) {
ast_log(LOG_WARNING, "Unable to set flags: %s\n", strerror(errno));
close(fd);
goto outrun;
}
/* Setup buffering information */
memset(&bi, 0, sizeof(bi));
bi.bufsize = CONF_SIZE;
bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
bi.numbufs = 4;
if (ioctl(fd, ZT_SET_BUFINFO, &bi)) {
ast_log(LOG_WARNING, "Unable to set buffering information: %s\n", strerror(errno));
close(fd);
goto outrun;
}
nfds = 1;
} else {
/* XXX Make sure we're not running on a pseudo channel XXX */
fd = chan->fds[0];
nfds = 0;
}
memset(&ztc, 0, sizeof(ztc));
/* Check to see if we're in a conference... */
ztc.chan = 0;
if (ioctl(fd, ZT_GETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error getting conference\n");
close(fd);
goto outrun;
}
if (ztc.confmode) {
/* Whoa, already in a conference... Retry... */
if (!retryzap) {
ast_log(LOG_DEBUG, "Zap channel is in a conference already, retrying with pseudo\n");
retryzap = 1;
goto zapretry;
}
}
memset(&ztc, 0, sizeof(ztc));
/* Add us to the conference */
ztc.chan = 0;
ztc.confno = confno;
ztc.confmode = ZT_CONF_MONITORBOTH;
if (ioctl(fd, ZT_SETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
goto outrun;
}
ast_log(LOG_DEBUG, "Placed channel %s in ZAP channel %d monitor\n", chan->name, confno);
for(;;) {
outfd = -1;
ms = -1;
c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
if (c) {
if (c->fds[0] != origfd) {
if (retryzap) {
/* Kill old pseudo */
close(fd);
}
ast_log(LOG_DEBUG, "Ooh, something swapped out under us, starting over\n");
retryzap = 0;
goto zapretry;
}
f = ast_read(c);
if (!f)
break;
if ((f->frametype == AST_FRAME_DTMF) && (f->subclass == '#')) {
ret = 0;
break;
} else if (fd != chan->fds[0]) {
if (f->frametype == AST_FRAME_VOICE) {
if (f->subclass == AST_FORMAT_ULAW) {
/* Carefully write */
careful_write(fd, f->data, f->datalen);
} else
ast_log(LOG_WARNING, "Huh? Got a non-ulaw (%d) frame in the conference\n", f->subclass);
}
}
ast_frfree(f);
} else if (outfd > -1) {
res = read(outfd, buf, CONF_SIZE);
if (res > 0) {
memset(&fr, 0, sizeof(fr));
fr.frametype = AST_FRAME_VOICE;
fr.subclass = AST_FORMAT_ULAW;
fr.datalen = res;
fr.samples = res;
fr.data = buf;
fr.offset = AST_FRIENDLY_OFFSET;
if (ast_write(chan, &fr) < 0) {
ast_log(LOG_WARNING, "Unable to write frame to channel: %s\n", strerror(errno));
/* break; */
}
} else
ast_log(LOG_WARNING, "Failed to read frame: %s\n", strerror(errno));
}
}
if (fd != chan->fds[0])
close(fd);
else {
/* Take out of conference */
/* Add us to the conference */
ztc.chan = 0;
ztc.confno = 0;
ztc.confmode = 0;
if (ioctl(fd, ZT_SETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error setting conference\n");
}
}
outrun:
return ret;
}
static int conf_exec(struct ast_channel *chan, void *data)
{
int res=-1;
struct localuser *u;
int retrycnt = 0;
int confflags = 0;
int confno = 0;
char confstr[80] = "";
if (data && !ast_strlen_zero(data)) {
if ((sscanf(data, "Zap/%d", &confno) != 1) &&
(sscanf(data, "%d", &confno) != 1)) {
ast_log(LOG_WARNING, "ZapBarge Argument (if specified) must be a channel number, not '%s'\n", (char *)data);
return 0;
}
}
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
while(!confno && (++retrycnt < 4)) {
/* Prompt user for conference number */
confstr[0] = '\0';
res = ast_app_getdata(chan, "conf-getchannel",confstr, sizeof(confstr) - 1, 0);
if (res <0) goto out;
if (sscanf(confstr, "%d", &confno) != 1)
confno = 0;
}
if (confno) {
/* XXX Should prompt user for pin if pin is required XXX */
/* Run the conference */
res = conf_run(chan, confno, confflags);
}
out:
/* Do the conference */
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, conf_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

249
apps/app_zapras.c Normal file
View File

@@ -0,0 +1,249 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Execute an ISDN RAS
*
* 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
*/
#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/options.h>
#include <sys/ioctl.h>
#include <sys/wait.h>
#ifdef __linux__
#include <sys/signal.h>
#else
#include <signal.h>
#endif /* __linux__ */
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
/* Need some zaptel help here */
#ifdef __linux__
#include <linux/zaptel.h>
#else
#include <zaptel.h>
#endif /* __linux__ */
static char *tdesc = "Zap RAS Application";
static char *app = "ZapRAS";
static char *synopsis = "Executes Zaptel ISDN RAS application";
static char *descrip =
" ZapRAS(args): Executes a RAS server using pppd on the given channel.\n"
"The channel must be a clear channel (i.e. PRI source) and a Zaptel\n"
"channel to be able to use this function (No modem emulation is included).\n"
"Your pppd must be patched to be zaptel aware. Arguments should be\n"
"separated by | characters. Always returns -1.\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define PPP_MAX_ARGS 32
#define PPP_EXEC "/usr/sbin/pppd"
static pid_t spawn_ras(struct ast_channel *chan, char *args)
{
pid_t pid;
int x;
char *c;
char *argv[PPP_MAX_ARGS];
int argc = 0;
char *stringp=NULL;
/* Start by forking */
pid = fork();
if (pid)
return pid;
/* Execute RAS on File handles */
dup2(chan->fds[0], STDIN_FILENO);
/* Close other file descriptors */
for (x=STDERR_FILENO + 1;x<1024;x++)
close(x);
/* Restore original signal handlers */
for (x=0;x<NSIG;x++)
signal(x, SIG_DFL);
/* Reset all arguments */
memset(argv, 0, sizeof(argv));
/* First argument is executable, followed by standard
arguments for zaptel PPP */
argv[argc++] = PPP_EXEC;
argv[argc++] = "nodetach";
/* And all the other arguments */
stringp=args;
c = strsep(&stringp, "|");
while(c && strlen(c) && (argc < (PPP_MAX_ARGS - 4))) {
argv[argc++] = c;
c = strsep(&stringp, "|");
}
argv[argc++] = "plugin";
argv[argc++] = "zaptel.so";
argv[argc++] = "stdin";
#if 0
for (x=0;x<argc;x++) {
fprintf(stderr, "Arg %d: %s\n", x, argv[x]);
}
#endif
/* Finally launch PPP */
execv(PPP_EXEC, argv);
fprintf(stderr, "Failed to exec PPPD!\n");
exit(1);
}
static void run_ras(struct ast_channel *chan, char *args)
{
pid_t pid;
int status;
int res;
int signalled = 0;
struct zt_bufferinfo bi;
int x;
pid = spawn_ras(chan, args);
if (pid < 0) {
ast_log(LOG_WARNING, "Failed to spawn RAS\n");
} else {
for (;;) {
res = wait4(pid, &status, WNOHANG, NULL);
if (!res) {
/* Check for hangup */
if (chan->_softhangup && !signalled) {
ast_log(LOG_DEBUG, "Channel '%s' hungup. Signalling RAS at %d to die...\n", chan->name, pid);
kill(pid, SIGTERM);
signalled=1;
}
/* Try again */
sleep(1);
continue;
}
if (res < 0) {
ast_log(LOG_WARNING, "wait4 returned %d: %s\n", res, strerror(errno));
}
if (option_verbose > 2) {
if (WIFEXITED(status)) {
ast_verbose(VERBOSE_PREFIX_3 "RAS on %s terminated with status %d\n", chan->name, WEXITSTATUS(status));
} else if (WIFSIGNALED(status)) {
ast_verbose(VERBOSE_PREFIX_3 "RAS on %s terminated with signal %d\n",
chan->name, WTERMSIG(status));
} else {
ast_verbose(VERBOSE_PREFIX_3 "RAS on %s terminated weirdly.\n", chan->name);
}
}
/* Throw back into audio mode */
x = 1;
ioctl(chan->fds[0], ZT_AUDIOMODE, &x);
/* Double check buffering too */
res = ioctl(chan->fds[0], ZT_GET_BUFINFO, &bi);
if (!res) {
/* XXX This is ZAP_BLOCKSIZE XXX */
bi.bufsize = 204;
bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
bi.numbufs = 4;
res = ioctl(chan->fds[0], ZT_SET_BUFINFO, &bi);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set buffer policy on channel %s\n", chan->name);
}
} else
ast_log(LOG_WARNING, "Unable to check buffer policy on channel %s\n", chan->name);
break;
}
}
}
static int zapras_exec(struct ast_channel *chan, void *data)
{
int res=-1;
char args[256];
struct localuser *u;
ZT_PARAMS ztp;
if (!data)
data = "";
LOCAL_USER_ADD(u);
strncpy(args, data, sizeof(args) - 1);
/* Answer the channel if it's not up */
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
if (strcasecmp(chan->type, "Zap")) {
/* If it's not a zap channel, we're done. Wait a couple of
seconds and then hangup... */
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Channel %s is not a Zap channel\n", chan->name);
sleep(2);
} else {
memset(&ztp, 0, sizeof(ztp));
if (ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp)) {
ast_log(LOG_WARNING, "Unable to get zaptel parameters\n");
} else if (ztp.sigtype != ZT_SIG_CLEAR) {
if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Channel %s is not a clear channel\n", chan->name);
} else {
/* Everything should be okay. Run PPP. */
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Starting RAS on %s\n", chan->name);
/* Execute RAS */
run_ras(chan, args);
}
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, zapras_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

368
apps/app_zapscan.c Normal file
View File

@@ -0,0 +1,368 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Zap Scanner
*
* Copyright (C) 2003, Digium
*
* Modified from app_zapbarge by David Troy <dave@toad.net>
*
* Mark Spencer <markster@digium.com>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*
* Special thanks to comphealth.com for sponsoring this
* GPL application.
*/
#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/app.h>
#include <asterisk/options.h>
#include <asterisk/cli.h>
#include <asterisk/say.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#ifdef __linux__
#include <linux/zaptel.h>
#else
#include <zaptel.h>
#endif /* __linux__ */
static char *tdesc = "Scan Zap channels application";
static char *app = "ZapScan";
static char *synopsis = "Scan Zap channels to monitor calls";
static char *descrip =
" ZapScan allows a call center manager to monitor Zap channels in\n"
"a convenient way. Use '#' to select the next channel and use '*' to exit\n";
STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define CONF_SIZE 160
static struct ast_channel *get_zap_channel_locked(int num) {
struct ast_channel *c=NULL;
char name[80];
snprintf(name,sizeof(name),"Zap/%d-1",num);
c = ast_channel_walk_locked(NULL);
while(c) {
if (!strcasecmp(c->name, name)) {
break;
}
ast_mutex_unlock(&c->lock);
c = ast_channel_walk_locked(c);
}
return c;
}
static int careful_write(int fd, unsigned char *data, int len)
{
int res;
while(len) {
res = write(fd, data, len);
if (res < 1) {
if (errno != EAGAIN) {
ast_log(LOG_WARNING, "Failed to write audio data to conference: %s\n", strerror(errno));
return -1;
} else
return 0;
}
len -= res;
data += res;
}
return 0;
}
static int conf_run(struct ast_channel *chan, int confno, int confflags)
{
int fd;
struct zt_confinfo ztc;
struct ast_frame *f;
struct ast_channel *c;
struct ast_frame fr;
int outfd;
int ms;
int nfds;
int res;
int flags;
int retryzap;
int origfd;
int ret = -1;
char input[4];
int ic=0;
ZT_BUFFERINFO bi;
char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET];
char *buf = __buf + AST_FRIENDLY_OFFSET;
/* Set it into U-law mode (write) */
if (ast_set_write_format(chan, AST_FORMAT_ULAW) < 0) {
ast_log(LOG_WARNING, "Unable to set '%s' to write ulaw mode\n", chan->name);
goto outrun;
}
/* Set it into U-law mode (read) */
if (ast_set_read_format(chan, AST_FORMAT_ULAW) < 0) {
ast_log(LOG_WARNING, "Unable to set '%s' to read ulaw mode\n", chan->name);
goto outrun;
}
ast_indicate(chan, -1);
retryzap = strcasecmp(chan->type, "Zap");
zapretry:
origfd = chan->fds[0];
if (retryzap) {
fd = open("/dev/zap/pseudo", O_RDWR);
if (fd < 0) {
ast_log(LOG_WARNING, "Unable to open pseudo channel: %s\n", strerror(errno));
goto outrun;
}
/* Make non-blocking */
flags = fcntl(fd, F_GETFL);
if (flags < 0) {
ast_log(LOG_WARNING, "Unable to get flags: %s\n", strerror(errno));
close(fd);
goto outrun;
}
if (fcntl(fd, F_SETFL, flags | O_NONBLOCK)) {
ast_log(LOG_WARNING, "Unable to set flags: %s\n", strerror(errno));
close(fd);
goto outrun;
}
/* Setup buffering information */
memset(&bi, 0, sizeof(bi));
bi.bufsize = CONF_SIZE;
bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
bi.numbufs = 4;
if (ioctl(fd, ZT_SET_BUFINFO, &bi)) {
ast_log(LOG_WARNING, "Unable to set buffering information: %s\n", strerror(errno));
close(fd);
goto outrun;
}
nfds = 1;
} else {
/* XXX Make sure we're not running on a pseudo channel XXX */
fd = chan->fds[0];
nfds = 0;
}
memset(&ztc, 0, sizeof(ztc));
/* Check to see if we're in a conference... */
ztc.chan = 0;
if (ioctl(fd, ZT_GETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error getting conference\n");
close(fd);
goto outrun;
}
if (ztc.confmode) {
/* Whoa, already in a conference... Retry... */
if (!retryzap) {
ast_log(LOG_DEBUG, "Zap channel is in a conference already, retrying with pseudo\n");
retryzap = 1;
goto zapretry;
}
}
memset(&ztc, 0, sizeof(ztc));
/* Add us to the conference */
ztc.chan = 0;
ztc.confno = confno;
ztc.confmode = ZT_CONF_MONITORBOTH;
if (ioctl(fd, ZT_SETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error setting conference\n");
close(fd);
goto outrun;
}
ast_log(LOG_DEBUG, "Placed channel %s in ZAP channel %d monitor\n", chan->name, confno);
for(;;) {
outfd = -1;
ms = -1;
c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
if (c) {
if (c->fds[0] != origfd) {
if (retryzap) {
/* Kill old pseudo */
close(fd);
}
ast_log(LOG_DEBUG, "Ooh, something swapped out under us, starting over\n");
retryzap = 0;
goto zapretry;
}
f = ast_read(c);
if (!f)
break;
if(f->frametype == AST_FRAME_DTMF) {
if(f->subclass == '#') {
ret = 0;
break;
}
else if (f->subclass == '*') {
ret = -1;
break;
}
else {
input[ic++] = f->subclass;
}
if(ic == 3) {
input[ic++] = '\0';
ic=0;
ret = atoi(input);
ast_verbose(VERBOSE_PREFIX_3 "Zapscan: change channel to %d\n",ret);
break;
}
}
if (fd != chan->fds[0]) {
if (f->frametype == AST_FRAME_VOICE) {
if (f->subclass == AST_FORMAT_ULAW) {
/* Carefully write */
careful_write(fd, f->data, f->datalen);
} else
ast_log(LOG_WARNING, "Huh? Got a non-ulaw (%d) frame in the conference\n", f->subclass);
}
}
ast_frfree(f);
} else if (outfd > -1) {
res = read(outfd, buf, CONF_SIZE);
if (res > 0) {
memset(&fr, 0, sizeof(fr));
fr.frametype = AST_FRAME_VOICE;
fr.subclass = AST_FORMAT_ULAW;
fr.datalen = res;
fr.samples = res;
fr.data = buf;
fr.offset = AST_FRIENDLY_OFFSET;
if (ast_write(chan, &fr) < 0) {
ast_log(LOG_WARNING, "Unable to write frame to channel: %s\n", strerror(errno));
/* break; */
}
} else
ast_log(LOG_WARNING, "Failed to read frame: %s\n", strerror(errno));
}
}
if (fd != chan->fds[0])
close(fd);
else {
/* Take out of conference */
/* Add us to the conference */
ztc.chan = 0;
ztc.confno = 0;
ztc.confmode = 0;
if (ioctl(fd, ZT_SETCONF, &ztc)) {
ast_log(LOG_WARNING, "Error setting conference\n");
}
}
outrun:
return ret;
}
static int conf_exec(struct ast_channel *chan, void *data)
{
int res=-1;
struct localuser *u;
int confflags = 0;
int confno = 0;
char confstr[80] = "", *tmp;
struct ast_channel *tempchan = NULL, *lastchan = NULL,*ichan = NULL;
struct ast_frame *f;
int input=0;
LOCAL_USER_ADD(u);
if (chan->_state != AST_STATE_UP)
ast_answer(chan);
for (;;) {
if (ast_waitfor(chan, 100) < 0)
break;
f = ast_read(chan);
if (!f)
break;
if ((f->frametype == AST_FRAME_DTMF) && (f->subclass == '*')) {
ast_frfree(f);
break;
}
ast_frfree(f);
ichan = NULL;
if(input) {
ichan = get_zap_channel_locked(input);
input = 0;
}
tempchan = ichan ? ichan : ast_channel_walk_locked(tempchan);
if ( !tempchan && !lastchan )
break;
if ( tempchan && tempchan->type && (!strcmp(tempchan->type, "Zap")) && (tempchan != chan) ) {
ast_verbose(VERBOSE_PREFIX_3 "Zap channel %s is in-use, monitoring...\n", tempchan->name);
strncpy(confstr, tempchan->name, sizeof(confstr) - 1);
ast_mutex_unlock(&tempchan->lock);
if ((tmp = strchr(confstr,'-'))) {
*tmp = '\0';
}
confno = atoi(strchr(confstr,'/') + 1);
ast_stopstream(chan);
ast_say_number(chan, confno, AST_DIGIT_ANY, chan->language, (char *) NULL);
res = conf_run(chan, confno, confflags);
if (res<0) break;
input = res;
} else if (tempchan)
ast_mutex_unlock(&tempchan->lock);
lastchan = tempchan;
}
LOCAL_USER_REMOVE(u);
return res;
}
int unload_module(void)
{
STANDARD_HANGUP_LOCALUSERS;
return ast_unregister_application(app);
}
int load_module(void)
{
return ast_register_application(app, conf_exec, synopsis, descrip);
}
char *description(void)
{
return tdesc;
}
int usecount(void)
{
int res;
STANDARD_USECOUNT(res);
return res;
}
char *key()
{
return ASTERISK_GPL_KEY;
}

287
apps/enter.h Normal file
View File

@@ -0,0 +1,287 @@
/*
* U-law 8-bit audio data
*
* Source: enter.raw
*
* Copyright (C) 1999, Mark Spencer and Linux Support Services
*
* Distributed under the terms of the GNU General Public License
*
*/
static unsigned char enter[] = {
0xba, 0xba, 0xb0, 0xa6, 0xa9, 0xb8, 0xfe, 0x46, 0x42, 0x46,
0x4a, 0xfe, 0xac, 0xa2, 0x9f, 0x9f, 0xa8, 0xb8, 0x3b, 0x29,
0x35, 0x4a, 0xfe, 0xc1, 0xad, 0xa2, 0xad, 0xc5, 0x4e, 0x68,
0x68, 0xe7, 0xb8, 0xb0, 0xb2, 0xc1, 0xc1, 0xb0, 0xae, 0xcd,
0xfe, 0xfe, 0xcd, 0xcd, 0xfe, 0x68, 0xd3, 0xb2, 0xae, 0xab,
0xb2, 0xfe, 0x35, 0x31, 0xdb, 0xac, 0xab, 0xaf, 0xab, 0xaa,
0xb4, 0x68, 0x3b, 0x39, 0x3f, 0x68, 0xb4, 0xa8, 0xa8, 0xb0,
0xbc, 0xbc, 0xc5, 0x3f, 0x31, 0x37, 0xfe, 0xc1, 0xbc, 0xb0,
0xa5, 0xa2, 0xa8, 0xaf, 0xbe, 0x3b, 0x28, 0x26, 0x3d, 0xbc,
0xb0, 0xae, 0xa2, 0x9f, 0xa2, 0xfe, 0x29, 0x24, 0x29, 0x4a,
0xc5, 0xaa, 0xa8, 0xa9, 0xa8, 0xa5, 0xa7, 0xdb, 0x2c, 0x27,
0x2d, 0x4a, 0xfe, 0xdb, 0xb2, 0xa2, 0x9f, 0x9f, 0xae, 0xe7,
0x2c, 0x22, 0x2b, 0xfe, 0xba, 0xb0, 0xaa, 0x9f, 0xa3, 0xb0,
0x5c, 0x33, 0x33, 0x39, 0x5c, 0xdb, 0xc1, 0xb4, 0xb0, 0xaa,
0xad, 0xba, 0x54, 0x46, 0xfe, 0xe7, 0xfe, 0x54, 0xe7, 0xaf,
0xa6, 0xa7, 0xb0, 0xfe, 0x46, 0x39, 0x5c, 0xe7, 0xdb, 0xfe,
0xba, 0xac, 0xa8, 0xc5, 0x46, 0x33, 0x54, 0xc5, 0xae, 0xad,
0xb2, 0xc1, 0xcd, 0xc1, 0xbc, 0xfe, 0x3f, 0x37, 0xfe, 0xb4,
0xb6, 0xcd, 0xdb, 0xc1, 0xb0, 0xb6, 0xcd, 0x4e, 0x39, 0x37,
0xfe, 0xb0, 0xab, 0xa9, 0xa9, 0xa9, 0xb0, 0x5c, 0x29, 0x25,
0x31, 0xfe, 0xc1, 0xb4, 0xae, 0xab, 0xab, 0xb2, 0xcd, 0x3b,
0x2a, 0x2c, 0x54, 0xb4, 0xb4, 0xba, 0xb2, 0xa3, 0x9f, 0xa8,
0xfe, 0x33, 0x27, 0x2a, 0x39, 0xfe, 0xc1, 0xbe, 0xb0, 0xa2,
0x9f, 0xb0, 0x33, 0x22, 0x25, 0x46, 0xc1, 0xb8, 0xb0, 0xab,
0xa8, 0xa8, 0xb0, 0xbe, 0x42, 0x2c, 0x2e, 0x4a, 0xfe, 0x5c,
0xfe, 0xb4, 0xa8, 0xa8, 0xba, 0xfe, 0x4a, 0x39, 0x39, 0x46,
0xfe, 0xbc, 0xaf, 0xa5, 0xa5, 0xae, 0x68, 0x37, 0x4a, 0xfe,
0xfe, 0x4a, 0x4a, 0xd3, 0xb0, 0xb0, 0xc1, 0x5c, 0x46, 0x46,
0xd3, 0xb6, 0xbe, 0x54, 0x54, 0xc9, 0xab, 0xae, 0xc5, 0x46,
0x4a, 0xfe, 0xcd, 0xc9, 0xcd, 0xe7, 0xe7, 0xc9, 0xb4, 0xc5,
0x4a, 0x2c, 0x37, 0xc1, 0xb0, 0xb2, 0xb4, 0xb2, 0xb6, 0xdb,
0xfe, 0x4a, 0x46, 0x3f, 0x68, 0xba, 0xb2, 0xba, 0xc5, 0xb6,
0xb2, 0xcd, 0x33, 0x2e, 0x39, 0x68, 0xfe, 0xe7, 0xba, 0xaf,
0xa7, 0xa7, 0xad, 0xe7, 0x2d, 0x25, 0x2f, 0xd3, 0xbe, 0xcd,
0xc5, 0xac, 0xa6, 0xac, 0xfe, 0x3b, 0x2c, 0x2d, 0x3d, 0xc1,
0xb4, 0xbe, 0xcd, 0xaf, 0xa5, 0xa8, 0xe7, 0x31, 0x2f, 0x39,
0x46, 0x5c, 0xdb, 0xbc, 0xba, 0xaf, 0xa9, 0xad, 0xfe, 0x2f,
0x2d, 0xba, 0xad, 0xba, 0xfe, 0x3d, 0x42, 0x5c, 0xc9, 0xc1,
0xcd, 0xfe, 0xc1, 0xae, 0xa6, 0xcd, 0x33, 0x25, 0x3b, 0xdb,
0xb0, 0xb6, 0xb8, 0xb6, 0xb4, 0xb8, 0xba, 0xfe, 0x3d, 0x37,
0xfe, 0xba, 0xc1, 0x54, 0x54, 0xd3, 0xb0, 0xb4, 0xe7, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xd3, 0xb6, 0xa9, 0xa7, 0xba,
0x3d, 0x35, 0xfe, 0xc1, 0xcd, 0x4a, 0x54, 0xbe, 0xb2, 0xb8,
0xfe, 0x46, 0x3b, 0xfe, 0xba, 0xab, 0xc5, 0x46, 0x3b, 0xbc,
0xaa, 0xab, 0xd3, 0x68, 0xfe, 0xd3, 0xcd, 0xdb, 0x54, 0x3d,
0x4a, 0xbc, 0xac, 0xb4, 0x3f, 0x2e, 0x3d, 0xba, 0xb0, 0xb8,
0xba, 0xb6, 0xba, 0xcd, 0xfe, 0xfe, 0x5c, 0x54, 0xc9, 0xb4,
0xbe, 0x54, 0x54, 0xcd, 0xb6, 0xc9, 0x46, 0x54, 0xcd, 0xc5,
0xdb, 0xfe, 0xfe, 0xc1, 0xae, 0xa9, 0xac, 0xfe, 0x35, 0x2e,
0xfe, 0xba, 0xc1, 0x5c, 0xfe, 0xb6, 0xaa, 0xb0, 0xe7, 0x35,
0x2e, 0x39, 0xc1, 0xac, 0xb0, 0xfe, 0xfe, 0xbc, 0xa6, 0xac,
0xc1, 0x42, 0x46, 0x54, 0xfe, 0xfe, 0xfe, 0xfe, 0xc9, 0xae,
0xa9, 0xb0, 0x54, 0x35, 0x37, 0xfe, 0xd3, 0xd3, 0xb8, 0xae,
0xab, 0xb6, 0xe7, 0xfe, 0xfe, 0x68, 0xfe, 0xfe, 0xfe, 0x4e,
0xfe, 0xb0, 0xac, 0xb8, 0xfe, 0xfe, 0xc1, 0xb6, 0xc5, 0x46,
0x3d, 0xe7, 0xb4, 0xa7, 0xab, 0xbc, 0x3f, 0x37, 0x54, 0xba,
0xcd, 0x54, 0x42, 0xc5, 0xae, 0xac, 0xc9, 0x46, 0x3d, 0x54,
0xba, 0xb0, 0xb0, 0xfe, 0x5c, 0xcd, 0xb0, 0xb0, 0xc9, 0x54,
0x54, 0xfe, 0xfe, 0xfe, 0xfe, 0xe7, 0xcd, 0xc1, 0xba, 0xc5,
0xfe, 0x42, 0x46, 0xfe, 0xc5, 0xba, 0xb2, 0xa7, 0xa7, 0xb0,
0xfe, 0x3d, 0x4a, 0x5c, 0xfe, 0xfe, 0xfe, 0xe7, 0xbc, 0xb0,
0xae, 0xc5, 0x4e, 0x39, 0xfe, 0xc5, 0xbe, 0xfe, 0x54, 0xc9,
0xa9, 0xa2, 0xa5, 0xbc, 0x3b, 0x2f, 0x35, 0xfe, 0xc9, 0xfe,
0xfe, 0xc5, 0xa9, 0xa6, 0xb0, 0x54, 0x31, 0x31, 0x3f, 0xd3,
0xbc, 0xc1, 0xcd, 0xb8, 0xae, 0xa8, 0xb4, 0xd3, 0x54, 0x4e,
0x5c, 0x54, 0xfe, 0xdb, 0xba, 0xb4, 0xb4, 0xba, 0xcd, 0x5c,
0x3d, 0x3f, 0x54, 0xfe, 0xcd, 0xaf, 0xa8, 0xac, 0xc5, 0xfe,
0xfe, 0xe7, 0xdb, 0xfe, 0xfe, 0xfe, 0xe7, 0xb8, 0xaf, 0xb0,
0xe7, 0x42, 0x4a, 0xcd, 0xbc, 0xdb, 0x46, 0x68, 0xcd, 0xb0,
0xab, 0xbc, 0xfe, 0x3d, 0x46, 0xfe, 0xb8, 0xbc, 0xd3, 0xd3,
0xb6, 0xb0, 0xb6, 0x5c, 0x3b, 0x35, 0x54, 0xdb, 0xba, 0xb4,
0xc1, 0xc9, 0xc1, 0xba, 0xc9, 0x5c, 0x3d, 0x46, 0xfe, 0xcd,
0xc5, 0xb8, 0xae, 0xaf, 0xb4, 0xd3, 0x54, 0x3d, 0x35, 0x46,
0xfe, 0xdb, 0xbc, 0xb2, 0xa9, 0xab, 0xba, 0x3f, 0x31, 0x39,
0xfe, 0xe7, 0xdb, 0xcd, 0xb8, 0xae, 0xab, 0xac, 0xe7, 0x3d,
0x2d, 0x3f, 0xfe, 0xdb, 0xfe, 0xfe, 0xbc, 0xaa, 0xa8, 0xb0,
0xfe, 0x31, 0x2d, 0x3d, 0xdb, 0xc5, 0xcd, 0xc9, 0xb4, 0xa8,
0xad, 0xc5, 0x46, 0x39, 0x3f, 0x5c, 0xfe, 0xd3, 0xc5, 0xc1,
0xb6, 0xb0, 0xbc, 0x68, 0x46, 0x4e, 0xe7, 0xfe, 0x5c, 0xfe,
0xc1, 0xaf, 0xb0, 0xb8, 0xe7, 0x5c, 0x5c, 0xfe, 0xe7, 0xfe,
0xfe, 0xe7, 0xb0, 0xab, 0xb2, 0x4a, 0x37, 0x3f, 0xcd, 0xbe,
0xc1, 0xe7, 0xe7, 0xd3, 0xb6, 0xb4, 0xc9, 0x3b, 0x33, 0x4a,
0xba, 0xb4, 0xc5, 0xfe, 0xc9, 0xb6, 0xb4, 0xcd, 0xfe, 0x3b,
0x3b, 0xfe, 0xc1, 0xb6, 0xc5, 0xc5, 0xb8, 0xb0, 0xba, 0x4a,
0x31, 0x35, 0x68, 0xcd, 0xc5, 0xba, 0xb4, 0xb0, 0xb0, 0xba,
0x5c, 0x35, 0x2f, 0x4e, 0xd3, 0xc1, 0xdb, 0xd3, 0xb4, 0xa9,
0xab, 0xcd, 0x3b, 0x2f, 0x35, 0xfe, 0xd3, 0xd3, 0xdb, 0xbc,
0xad, 0xa4, 0xb0, 0xfe, 0x2d, 0x2f, 0x3f, 0xe7, 0xe7, 0xe7,
0xcd, 0xb4, 0xaf, 0xad, 0xc5, 0x3d, 0x31, 0x3d, 0xe7, 0xd3,
0xe7, 0xe7, 0xc1, 0xaf, 0xad, 0xb6, 0xfe, 0x4a, 0x42, 0x54,
0xfe, 0x68, 0xfe, 0xd3, 0xb2, 0xae, 0xb4, 0xfe, 0x42, 0x4e,
0xcd, 0xc5, 0xcd, 0xdb, 0xc9, 0xb4, 0xb0, 0xb6, 0xfe, 0x3b,
0x42, 0xe7, 0xb0, 0xb8, 0xcd, 0xfe, 0xc9, 0xb6, 0xb8, 0xfe,
0x42, 0x3d, 0xfe, 0xc1, 0xb0, 0xba, 0xd3, 0xfe, 0xc1, 0xb0,
0xb6, 0xfe, 0x3b, 0x3f, 0xe7, 0xba, 0xb8, 0xbc, 0xc5, 0xc1,
0xc1, 0xcd, 0xfe, 0x3b, 0x37, 0xfe, 0xc1, 0xb4, 0xb6, 0xb8,
0xb6, 0xb8, 0xc5, 0x5c, 0x3f, 0x46, 0xfe, 0xcd, 0xc5, 0xcd,
0xcd, 0xc1, 0xb2, 0xb2, 0xfe, 0x3f, 0x35, 0x54, 0xdb, 0xc1,
0xcd, 0xcd, 0xbc, 0xaf, 0xac, 0xb6, 0x54, 0x35, 0x31, 0x68,
0xba, 0xb8, 0xcd, 0xdb, 0xc9, 0xb2, 0xb4, 0xc9, 0x46, 0x39,
0x42, 0xdb, 0xbc, 0xbc, 0xcd, 0xcd, 0xbe, 0xb2, 0xb8, 0xe7,
0x54, 0x46, 0xfe, 0xfe, 0xdb, 0xc9, 0xc5, 0xbe, 0xbe, 0xc9,
0xfe, 0x5c, 0x5c, 0xfe, 0xd3, 0xcd, 0xcd, 0xc5, 0xb6, 0xb2,
0xc5, 0x68, 0x4e, 0xfe, 0xc5, 0xc1, 0xcd, 0x68, 0x5c, 0xe7,
0xb8, 0xb6, 0xd3, 0x4a, 0x46, 0xfe, 0xbc, 0xb8, 0xc1, 0xe7,
0xe7, 0xc1, 0xb4, 0xbe, 0xfe, 0x3f, 0x3f, 0xfe, 0xba, 0xb2,
0xba, 0xe7, 0xfe, 0xcd, 0xcd, 0xfe, 0x4e, 0x46, 0xfe, 0xc5,
0xb8, 0xb2, 0xba, 0xc1, 0xcd, 0xd3, 0xe7, 0xfe, 0x5c, 0x5c,
0xfe, 0xe7, 0xc5, 0xbe, 0xb6, 0xba, 0xc5, 0xfe, 0x3f, 0x3f,
0x54, 0xfe, 0xd3, 0xc1, 0xbc, 0xb6, 0xb0, 0xb0, 0xd3, 0x54,
0x39, 0x46, 0xfe, 0xc1, 0xcd, 0xe7, 0xe7, 0xc5, 0xb8, 0xb4,
0xd3, 0x54, 0x37, 0x42, 0xdb, 0xbe, 0xc1, 0xd3, 0xcd, 0xb8,
0xb0, 0xb0, 0xcd, 0x4a, 0x3b, 0x42, 0xe7, 0xc5, 0xbe, 0xcd,
0xe7, 0xd3, 0xc5, 0xcd, 0xfe, 0x54, 0x54, 0x68, 0xe7, 0xc5,
0xc1, 0xc1, 0xcd, 0xcd, 0xc9, 0xc9, 0xcd, 0xe7, 0xfe, 0xfe,
0xfe, 0xe7, 0xc5, 0xbe, 0xc1, 0xfe, 0x5c, 0x5c, 0xfe, 0xcd,
0xcd, 0xcd, 0xdb, 0xd3, 0xc1, 0xbc, 0xbe, 0xfe, 0x4e, 0x54,
0xcd, 0xb6, 0xb8, 0xd3, 0x5c, 0x5c, 0xfe, 0xc5, 0xc9, 0xfe,
0x46, 0x4a, 0xe7, 0xb4, 0xb6, 0xc5, 0xfe, 0xe7, 0xcd, 0xc9,
0xdb, 0xfe, 0x4e, 0x68, 0xd3, 0xb6, 0xb2, 0xbc, 0xfe, 0x68,
0xfe, 0xfe, 0x68, 0x54, 0x68, 0xe7, 0xc5, 0xbc, 0xb8, 0xbe,
0xcd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xd3, 0xd3, 0xcd,
0xc1, 0xb8, 0xbc, 0xdb, 0x4e, 0x42, 0x4a, 0xfe, 0xc9, 0xc1,
0xcd, 0xd3, 0xcd, 0xba, 0xb8, 0xcd, 0x46, 0x3b, 0xfe, 0xc9,
0xba, 0xcd, 0xe7, 0xfe, 0xd3, 0xc1, 0xba, 0xdb, 0x54, 0x3d,
0x68, 0xd3, 0xbc, 0xcd, 0xfe, 0xfe, 0xc5, 0xbe, 0xc1, 0xe7,
0x54, 0x4a, 0xfe, 0xc9, 0xc1, 0xcd, 0xfe, 0xfe, 0xd3, 0xd3,
0xd3, 0xfe, 0xe7, 0xe7, 0xe7, 0xdb, 0xd3, 0xe7, 0xe7, 0xe7,
0xfe, 0xfe, 0xfe, 0xfe, 0xcd, 0xc9, 0xdb, 0xfe, 0xfe, 0xdb,
0xbe, 0xc9, 0xfe, 0x5c, 0xfe, 0xc9, 0xbc, 0xbe, 0xdb, 0x68,
0x5c, 0xdb, 0xc5, 0xd3, 0x54, 0x46, 0xfe, 0xbc, 0xb2, 0xb8,
0xdb, 0x68, 0x68, 0xe7, 0xcd, 0xdb, 0x5c, 0x54, 0xfe, 0xc1,
0xb8, 0xc1, 0xe7, 0xfe, 0xfe, 0xe7, 0xe7, 0xfe, 0xfe, 0xfe,
0xd3, 0xc5, 0xc1, 0xc5, 0xcd, 0xd3, 0xe7, 0xfe, 0x54, 0x4e,
0xfe, 0xd3, 0xcd, 0xd3, 0xd3, 0xc5, 0xc1, 0xc1, 0xe7, 0x5c,
0x4e, 0x5c, 0xd3, 0xc1, 0xcd, 0xfe, 0xfe, 0xcd, 0xba, 0xba,
0xe7, 0x4a, 0x4a, 0x68, 0xcd, 0xc5, 0xcd, 0xfe, 0xfe, 0xcd,
0xb8, 0xc1, 0xe7, 0x4e, 0x5c, 0xe7, 0xc1, 0xc9, 0xdb, 0xfe,
0xe7, 0xc9, 0xc5, 0xd3, 0xfe, 0x68, 0xfe, 0xdb, 0xd3, 0xe7,
0xfe, 0xfe, 0xcd, 0xc9, 0xcd, 0xd3, 0xd3, 0xd3, 0xcd, 0xe7,
0xfe, 0xfe, 0xe7, 0xc5, 0xc5, 0xe7, 0x68, 0x68, 0xe7, 0xc1,
0xc5, 0xfe, 0x5c, 0xfe, 0xd3, 0xc1, 0xd3, 0xfe, 0x68, 0xe7,
0xc5, 0xb6, 0xc5, 0xe7, 0x68, 0xfe, 0xcd, 0xc5, 0xe7, 0xfe,
0x54, 0xfe, 0xc9, 0xc5, 0xdb, 0xfe, 0xfe, 0xfe, 0xd3, 0xd3,
0xfe, 0xfe, 0xfe, 0xcd, 0xc1, 0xc1, 0xc9, 0xd3, 0xd3, 0xe7,
0xfe, 0xfe, 0xfe, 0xfe, 0xe7, 0xd3, 0xdb, 0xe7, 0xe7, 0xd3,
0xcd, 0xd3, 0xfe, 0xfe, 0xfe, 0xcd, 0xc5, 0xd3, 0xe7, 0xe7,
0xc9, 0xbc, 0xbe, 0xe7, 0x68, 0x4a, 0xfe, 0xdb, 0xcd, 0xfe,
0xfe, 0xfe, 0xcd, 0xc1, 0xc9, 0xfe, 0x54, 0x5c, 0xe7, 0xc9,
0xc5, 0xe7, 0xfe, 0xfe, 0xcd, 0xc5, 0xc5, 0xe7, 0xfe, 0xfe,
0xfe, 0xe7, 0xe7, 0xfe, 0xfe, 0xdb, 0xd3, 0xd3, 0xdb, 0xe7,
0xfe, 0xfe, 0xe7, 0xe7, 0xdb, 0xd3, 0xc9, 0xd3, 0xe7, 0xfe,
0xfe, 0xd3, 0xd3, 0xdb, 0xfe, 0xfe, 0xfe, 0xd3, 0xcd, 0xcd,
0xfe, 0xfe, 0xe7, 0xc9, 0xc5, 0xd3, 0xfe, 0xfe, 0xfe, 0xcd,
0xc9, 0xd3, 0xfe, 0xfe, 0xfe, 0xdb, 0xc9, 0xcd, 0xe7, 0xfe,
0xe7, 0xcd, 0xcd, 0xe7, 0xfe, 0xfe, 0xe7, 0xd3, 0xc5, 0xcd,
0xe7, 0xfe, 0xfe, 0xfe, 0xdb, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe,
0xe7, 0xcd, 0xcd, 0xd3, 0xe7, 0xe7, 0xe7, 0xe7, 0xfe, 0xfe,
0xe7, 0xe7, 0xdb, 0xc9, 0xc1, 0xc5, 0xfe, 0x5c, 0x68, 0xfe,
0xd3, 0xdb, 0xe7, 0xe7, 0xe7, 0xd3, 0xc5, 0xcd, 0xe7, 0x68,
0xfe, 0xe7, 0xcd, 0xd3, 0xe7, 0xfe, 0xe7, 0xcd, 0xc1, 0xc1,
0xdb, 0xfe, 0x54, 0xfe, 0xe7, 0xcd, 0xe7, 0xfe, 0xe7, 0xd3,
0xcd, 0xd3, 0xe7, 0xfe, 0xfe, 0xfe, 0xcd, 0xc5, 0xcd, 0xfe,
0xfe, 0xe7, 0xcd, 0xd3, 0xdb, 0xe7, 0xfe, 0xfe, 0xfe, 0xe7,
0xd3, 0xd3, 0xe7, 0xfe, 0xe7, 0xe7, 0xe7, 0xfe, 0xfe, 0xfe,
0xfe, 0xdb, 0xc5, 0xc1, 0xd3, 0xfe, 0xfe, 0xfe, 0xd3, 0xc9,
0xcd, 0xe7, 0xfe, 0xfe, 0xd3, 0xcd, 0xdb, 0xfe, 0x5c, 0xfe,
0xcd, 0xc9, 0xd3, 0xfe, 0xfe, 0xfe, 0xd3, 0xc9, 0xcd, 0xfe,
0x68, 0xfe, 0xd3, 0xc1, 0xc1, 0xdb, 0xfe, 0xfe, 0xe7, 0xe7,
0xfe, 0xfe, 0x68, 0xfe, 0xe7, 0xc5, 0xc9, 0xdb, 0xfe, 0xfe,
0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xdb, 0xc5, 0xc5,
0xd3, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xe7, 0xe7, 0xfe, 0xfe,
0xc9, 0xc1, 0xc5, 0xfe, 0x54, 0x5c, 0xfe, 0xcd, 0xc5, 0xcd,
0xfe, 0xfe, 0xdb, 0xc5, 0xc9, 0xfe, 0x5c, 0x68, 0xfe, 0xcd,
0xcd, 0xfe, 0xfe, 0xfe, 0xe7, 0xc5, 0xc1, 0xd3, 0xfe, 0xfe,
0xdb, 0xc9, 0xc5, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xfe,
0xfe, 0xfe, 0xe7, 0xcd, 0xcd, 0xdb, 0xfe, 0xfe, 0xfe, 0xfe,
0xe7, 0xd3, 0xcd, 0xd3, 0xfe, 0xfe, 0xdb, 0xcd, 0xd3, 0xe7,
0xfe, 0xfe, 0xfe, 0xdb, 0xcd, 0xd3, 0xe7, 0xfe, 0xd3, 0xc5,
0xc9, 0xfe, 0x5c, 0x54, 0xfe, 0xcd, 0xc1, 0xcd, 0xe7, 0xfe,
0xfe, 0xd3, 0xcd, 0xfe, 0x54, 0x5c, 0xe7, 0xc1, 0xc1, 0xd3,
0xfe, 0xfe, 0xe7, 0xd3, 0xd3, 0xe7, 0xfe, 0xfe, 0xfe, 0xcd,
0xc5, 0xcd, 0xd3, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xe7, 0xd3, 0xcd, 0xc9, 0xcd, 0xe7, 0xfe, 0xfe, 0xfe, 0xdb,
0xc9, 0xcd, 0xe7, 0xfe, 0xe7, 0xc9, 0xc5, 0xdb, 0xfe, 0x5c,
0xfe, 0xe7, 0xcd, 0xcd, 0xe7, 0xfe, 0xe7, 0xc5, 0xc1, 0xd3,
0xfe, 0x5c, 0xfe, 0xcd, 0xc5, 0xcd, 0xe7, 0xfe, 0xfe, 0xe7,
0xd3, 0xe7, 0xfe, 0xfe, 0xe7, 0xcd, 0xcd, 0xdb, 0xfe, 0xfe,
0xfe, 0xe7, 0xe7, 0xe7, 0xe7, 0xfe, 0xe7, 0xdb, 0xcd, 0xd3,
0xd3, 0xdb, 0xfe, 0xfe, 0xfe, 0xfe, 0xdb, 0xd3, 0xdb, 0xe7,
0xe7, 0xdb, 0xd3, 0xe7, 0xfe, 0xfe, 0xfe, 0xe7, 0xc9, 0xc5,
0xcd, 0xe7, 0xfe, 0xdb, 0xd3, 0xe7, 0xfe, 0x68, 0xfe, 0xe7,
0xcd, 0xcd, 0xd3, 0xfe, 0xfe, 0xe7, 0xdb, 0xe7, 0xfe, 0x68,
0xfe, 0xdb, 0xfe, 0x68, 0xbe, 0xb2, 0xae, 0xab, 0xb2, 0xfe,
0x2f, 0x31, 0xdb, 0xac, 0xad, 0xaf, 0xab, 0xab, 0xb4, 0x68,
0x37, 0x39, 0x3f, 0xe7, 0xb4, 0xa8, 0xaa, 0xb0, 0xbc, 0xbc,
0xc5, 0x3f, 0x31, 0x3d, 0xfe, 0xc1, 0xb8, 0xb0, 0xa5, 0xa2,
0xa8, 0xaf, 0xdb, 0x3b, 0x28, 0x2a, 0x3d, 0xbc, 0xb0, 0xaa,
0xa2, 0x9f, 0xab, 0xfe, 0x29, 0x24, 0x29, 0x4a, 0xb4, 0xaa,
0xa8, 0xa9, 0xa8, 0xa5, 0xac, 0xdb, 0x2c, 0x27, 0x35, 0x4a,
0xfe, 0xcd, 0xb2, 0xa2, 0x9f, 0x9f, 0xae, 0x4e, 0x2c, 0x22,
0x33, 0xfe, 0xba, 0xb0, 0xa6, 0x9f, 0xa3, 0xbc, 0x5c, 0x33,
0x31, 0x39, 0x5c, 0xcd, 0xc1, 0xb4, 0xad, 0xaa, 0xad, 0xcd,
0x54, 0x46, 0xfe, 0xe7, 0xfe, 0x54, 0xc5, 0xaf, 0xa6, 0xa9,
0xb0, 0xfe, 0x3d, 0x39, 0x5c, 0xdb, 0xdb, 0xfe, 0xba, 0xac,
0xa8, 0xc5, 0x39, 0x33, 0x54, 0xb8, 0xae, 0xad, 0xb8, 0xc1,
0xcd, 0xbe, 0xbc, 0xfe, 0x39, 0x37, 0xfe, 0xb4, 0xba, 0xcd,
0xdb, 0xb8, 0xb0, 0xb6, 0xfe, 0x4e, 0x39, 0x3d, 0xfe, 0xb0,
0xaa, 0xa9, 0xa9, 0xaa, 0xb0, 0x5c, 0x29, 0x28, 0x31, 0xfe,
0xba, 0xb4, 0xae, 0xab, 0xab, 0xb2, 0xfe, 0x3b, 0x2a, 0x2f,
0x54, 0xb4, 0xb4, 0xba, 0xb2, 0xa3, 0x9f, 0xa8, 0xfe, 0x2c,
0x27, 0x2a, 0x46, 0xfe, 0xc1, 0xbc, 0xb0, 0xa2, 0xa2, 0xb0,
0x33, 0x22, 0x2b, 0x46, 0xc1, 0xb4, 0xb0, 0xab, 0xa8, 0xa8,
0xb0, 0xdb, 0x42, 0x2c, 0x33, 0x4a, 0xfe, 0x5c, 0xdb, 0xb4,
0xa8, 0xad, 0xba, 0xfe, 0x46, 0x39, 0x39, 0x4a, 0xfe, 0xbc,
0xab, 0xa5, 0xa5, 0xb8, 0x68, 0x37, 0x4a, 0xe7, 0xfe, 0x4a,
0x5c, 0xd3, 0xb0, 0xb2, 0xc1, 0x5c, 0x42, 0x46, 0xd3, 0xb4,
0xbe, 0x54, 0x54, 0xb6, 0xab, 0xae, 0xe7, 0x46, 0x4a, 0xfe,
0xcd, 0xc9, 0xd3, 0xe7, 0xe7, 0xbe, 0xb4, 0xc5, 0x37, 0x2c,
0x37, 0xc1, 0xb0, 0xb2, 0xb4, 0xb2, 0xb6, 0xdb, 0x54, 0x4a,
0x46, 0x42, 0x68, 0xba, 0xb2, 0xba, 0xc5, 0xb6, 0xb6, 0xcd,
0x33, 0x2f, 0x39, 0x68, 0xfe, 0xe7, 0xba, 0xac, 0xa7, 0xa7,
0xb2, 0xe7, 0x2d, 0x25, 0x2f, 0xd3, 0xbe, 0xd3, 0xc5, 0xac,
0xa6, 0xac, 0xfe, 0x33, 0x2c, 0x2d, 0x54, 0xc1, 0xb4, 0xcd,
0xcd, 0xaf, 0xa4, 0xa8, 0xe7, 0x31, 0x31, 0x39, 0x46, 0xfe,
0xdb, 0xbc, 0xb6, 0xaf, 0xa9, 0xb2, 0xfe, 0x2f, 0xfe, 0xba,
0xad, 0xba, 0x4e, 0x3d, 0x42, 0xfe, 0xc9, 0xc1, 0xe7, 0xfe,
0xc1, 0xa9, 0xa6, 0xcd, 0x2a, 0x25, 0x3b, 0xbc, 0xb0, 0xb6,
0xb8, 0xb4, 0xb4, 0xb8, 0xc1, 0xfe, 0x3d, 0x3d, 0xfe, 0xba,
0xd3, 0x54, 0x54, 0xbe, 0xb0, 0xb4, 0xe7, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xc5, 0xb6, 0xa9, 0xaa, 0xba, 0x3d, 0x39,
0xfe, 0xc1, 0xfe, 0x4a, 0x54, 0xbe, 0xb2, 0xb8, 0xfe, 0x3d,
0x3b, 0xfe, 0xb0, 0xab, 0xc5, 0x39, 0x3b, 0xbc, 0xa7, 0xab,
0xd3, 0x68, 0xfe, 0xd3, 0xcd, 0xfe, 0x54, 0x3d, 0xfe, 0xbc,
0xac, 0xc9, 0x3f, 0x2e, 0xfe, 0xba, 0xb0, 0xba, 0xba, 0xb6,
0xba, 0xd3, 0xfe, 0xfe, 0x5c, 0x54, 0xc9, 0xb4, 0xbe, 0x54,
0x68, 0xcd, 0xb6, 0xfe, 0x46, 0x54, 0xcd, 0xc5, 0xdb, 0xfe,
0xe7, 0xc1, 0xae, 0xa8, 0xac, 0xfe, 0x2e, 0x2e, 0xfe, 0xb6,
0xc1, 0x5c, 0xe7, 0xb6, 0xaa, 0xb0, 0x54, 0x35, 0x2e, 0x4a,
0xc1, 0xac, 0xbc, 0xfe, 0xfe, 0xaf, 0xa6, 0xac, 0xfe, 0x42,
0x46, 0x5c, 0xfe, 0xfe, 0xfe, 0xe7, 0xc9, 0xae, 0xa9, 0xb0,
0x54, 0x31, 0x37, 0xfe, 0xd3, 0xd3, 0xb8, 0xac, 0xab, 0xb6,
0xe7, 0xfe, 0xfe, 0x68, 0xfe, 0xfe, 0xfe, 0x54, 0xfe, 0xb0,
0xae, 0xb8, 0xfe, 0xe7, 0xc1, 0xb6, 0xe7, 0x46, 0x3d, 0xe7,
0xae, 0xa7, 0xab, 0xdb, 0x3f, 0x37, 0xfe, 0xba, 0xcd, 0x3f,
0x42, 0xc5, 0xab, 0xac, 0xc9, 0x46, 0x3d, 0x54, 0xba, 0xad,
0xb0, 0xfe, 0x68, 0xcd, 0xb0, 0xb0, 0xc9, 0x54, 0x54, 0xfe,
0xfe, 0xfe, 0xfe, 0xe7, 0xcd, 0xbe, 0xba, 0xc5, 0x68, 0x42,
0x46, 0xe7, 0xc5, 0xba, 0xaf, 0xa7, 0xa7, 0xbc, 0xfe, 0x3d,
0x4a, 0x68, 0xfe, 0xfe, 0xfe, 0xe7, 0xbc, 0xaf, 0xae, 0xc5,
0x3d, 0x39, 0xfe, 0xbc, 0xbe, 0xfe, 0x68, 0xc9, 0xa9, 0xa2,
0xaa, 0xbc, 0x3b, 0x2d, 0x35, 0xfe, 0xcd, 0xfe, 0xfe, 0xb4,
0xa9, 0xa6, 0xbc, 0x54, 0x31, 0x31, 0x54, 0xd3, 0xbc, 0xc5,
0xcd, 0xb8, 0xab, 0xa8, 0xb4, 0xfe, 0x54, 0x4e, 0x68, 0x54,
0xfe, 0xc9, 0xba, 0xb4, 0xb4, 0xba, 0xcd, 0x5c, 0x3b, 0x3f,
0x54, 0xfe, 0xcd, 0xaf, 0xa8, 0xac, 0xc5, 0x68, 0xfe, 0xe7,
0xdb, 0xfe, 0xfe, 0xfe, 0xcd, 0xb8, 0xaf, 0xb6, 0xe7, 0x42,
0x5c, 0xcd, 0xbc, 0xfe, 0x46, 0x68, 0xba, 0xb0, 0xab, 0xbc,
0x54, 0x3d, 0x46, 0xc9, 0xb8, 0xbc, 0xdb, 0xd3, 0xb6, 0xb0,
0xb6, 0x5c, 0x37, 0x35, 0x54, 0xc9, 0xba, 0xb4, 0xc1, 0xc9,
0xc1, 0xba, 0xe7, 0x5c, 0x3d, 0x54, 0xfe, 0xcd, 0xc5, 0xb8,
0xae, 0xaf, 0xb4, 0xd3, 0x54, 0x3b, 0x35, 0x46, 0xfe, 0xdb,
0xbc, 0xaf, 0xa9, 0xab, 0xd3, 0x3f, 0x31, 0x3f, 0xfe, 0xe7,
0xdb, 0xcd, 0xb8, 0xae, 0xaa, 0xac, 0xe7, 0x33, 0x2d, 0x3f,
0xd3, 0xdb, 0xfe, 0xfe, 0xbc, 0xaa, 0xa9, 0xb0, 0xfe, 0x31,
0x2f, 0x3d, 0xdb, 0xc5, 0xcd, 0xc9, 0xae, 0xa8, 0xad, 0xfe,
0x46, 0x39, 0x46, 0x5c, 0xfe, 0xcd, 0xc5, 0xc1, 0xb6, 0xb0,
0xbc, 0x68, 0x42, 0x4e, 0xe7, 0xfe, 0x5c, 0xfe, 0xb6, 0xaf,
0xb0, 0xc5, 0xe7, 0x5c, 0x5c, 0xfe, 0xe7, 0xfe, 0x68, 0xe7,
0xb0, 0xac, 0xb2, 0x4a, 0x35, 0x3f, 0xcd, 0xbc, 0xc1, 0xe7,
0xe7, 0xd3, 0xb6, 0xb4, 0xfe, 0x3b, 0x33, 0xfe, 0xba, 0xb4,
0xd3, 0xfe, 0xc9, 0xb4, 0xb4, 0xcd, 0x4a, 0x3b, 0x3b, 0xfe,
0xb8, 0xb6, 0xc5, 0xc5, 0xb8, 0xb0, 0xcd, 0x4a, 0x31, 0x3b,
0x68, 0xcd, 0xc1, 0xba, 0xb4, 0xb0, 0xb0, 0xba, 0x5c, 0x2f,
0x2f, 0x4e, 0xc9, 0xc1, 0xdb, 0xc9, 0xb4 };

207
apps/leave.h Normal file
View File

@@ -0,0 +1,207 @@
/*
* U-law 8-bit audio data
*
* Source: leave.raw
*
* Copyright (C) 1999, Mark Spencer and Linux Support Services
*
* Distributed under the terms of the GNU General Public License
*
*/
static unsigned char leave[] = {
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xc1, 0x3d,
0x42, 0x46, 0x3f, 0x3f, 0x46, 0x3f, 0x4e, 0xba, 0xbe, 0xbe,
0xbc, 0xba, 0xbe, 0xc5, 0xb6, 0x2e, 0x2c, 0x33, 0x2f, 0x2e,
0x2f, 0x33, 0x2b, 0x54, 0xac, 0xb0, 0xb0, 0xad, 0xaf, 0xb0,
0xae, 0xcd, 0x3b, 0x2f, 0x31, 0x2e, 0x2f, 0x31, 0x2e, 0x46,
0xc5, 0xaf, 0xb0, 0xaf, 0xae, 0xaf, 0xaf, 0xb0, 0xfe, 0x2d,
0x31, 0x31, 0x2e, 0x31, 0x2f, 0x31, 0xfe, 0xae, 0xaf, 0xaf,
0xae, 0xb0, 0xae, 0xaf, 0xfe, 0xdb, 0x2e, 0x2e, 0x31, 0x31,
0x2d, 0x2e, 0xdb, 0x68, 0xaf, 0xad, 0xb0, 0xb0, 0xae, 0xaf,
0x5c, 0xe7, 0x39, 0x2d, 0x31, 0x31, 0x31, 0x2d, 0xfe, 0xfe,
0x68, 0xad, 0xaf, 0xb0, 0xaf, 0xac, 0xbc, 0xfe, 0xd3, 0x2f,
0x2e, 0x33, 0x31, 0x2d, 0x4e, 0xdb, 0xfe, 0xfe, 0xac, 0xaf,
0xb0, 0xac, 0xb6, 0x68, 0xe7, 0xdb, 0x2e, 0x2f, 0x35, 0x2f,
0x31, 0xe7, 0xe7, 0x68, 0xad, 0xac, 0xb0, 0xae, 0xac, 0xfe,
0xfe, 0xdb, 0xfe, 0x2d, 0x33, 0x31, 0x2e, 0xfe, 0xfe, 0xfe,
0xfe, 0xbc, 0xaf, 0xb0, 0xad, 0xfe, 0xfe, 0xfe, 0xe7, 0x5c,
0x2e, 0x33, 0x2e, 0x35, 0xe7, 0xfe, 0xfe, 0xfe, 0xad, 0xb0,
0xaf, 0xc1, 0xfe, 0xe7, 0xfe, 0xe7, 0x3d, 0x31, 0x2f, 0x37,
0xe7, 0xfe, 0xfe, 0xe7, 0xfe, 0xaf, 0xad, 0xbe, 0xfe, 0xdb,
0xfe, 0xfe, 0xdb, 0x35, 0x2d, 0x39, 0xdb, 0xfe, 0xfe, 0xdb,
0xfe, 0xfe, 0xad, 0xaf, 0xfe, 0xfe, 0xe7, 0x68, 0xfe, 0xd3,
0x2e, 0x2c, 0xdb, 0xdb, 0x2c, 0x35, 0xd3, 0x68, 0xaf, 0xad,
0xb0, 0xb0, 0xad, 0xba, 0x68, 0xe7, 0xe7, 0x2e, 0x2f, 0x33,
0x31, 0x2d, 0xdb, 0xd3, 0x5c, 0xae, 0xaa, 0xe7, 0x68, 0xaa,
0xe7, 0xfe, 0xdb, 0xe7, 0xfe, 0xe7, 0xd3, 0x2d, 0xfe, 0xdb,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xc5, 0xfe, 0xe7, 0xe7,
0xfe, 0xfe, 0xe7, 0xe7, 0x3b, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xc5, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xe7, 0xfe, 0x3b,
0xdb, 0xfe, 0xfe, 0xfe, 0xe7, 0xfe, 0xfe, 0xb0, 0xfe, 0xfe,
0xe7, 0xfe, 0xfe, 0xfe, 0xdb, 0x2e, 0x5c, 0xdb, 0xfe, 0xfe,
0xe7, 0xe7, 0x68, 0xb0, 0xbe, 0x68, 0xe7, 0xe7, 0xfe, 0xfe,
0xdb, 0x39, 0x2f, 0xdb, 0xfe, 0xfe, 0xe7, 0xe7, 0xfe, 0xbe,
0xaf, 0xe7, 0x68, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe, 0x33, 0x33,
0xdb, 0xfe, 0xfe, 0xdb, 0xe7, 0xfe, 0xb0, 0xb0, 0xfe, 0xfe,
0xe7, 0xfe, 0xfe, 0xfe, 0x35, 0x33, 0xe7, 0xe7, 0xfe, 0xe7,
0xe7, 0xfe, 0xb0, 0xb2, 0xb0, 0xfe, 0xfe, 0xe7, 0xfe, 0xe7,
0x46, 0x35, 0x35, 0x3f, 0xe7, 0xfe, 0xe7, 0xfe, 0xb2, 0xb0,
0xb2, 0xb0, 0xfe, 0xfe, 0xfe, 0xfe, 0x42, 0x35, 0x37, 0x33,
0xe7, 0xfe, 0xfe, 0xfe, 0xb8, 0xb0, 0xb6, 0xb0, 0xba, 0xfe,
0xfe, 0xe7, 0xe7, 0x33, 0x39, 0x39, 0x33, 0xe7, 0xdb, 0xfe,
0xe7, 0xb0, 0xb4, 0xb6, 0xb0, 0xcd, 0xfe, 0xe7, 0xe7, 0x33,
0x39, 0x3b, 0x33, 0x46, 0xd3, 0xfe, 0xfe, 0xb0, 0xb2, 0xb6,
0xb4, 0xb0, 0xfe, 0xfe, 0xdb, 0x35, 0x37, 0x39, 0x39, 0x35,
0x37, 0xdb, 0x68, 0xcd, 0xb2, 0xb6, 0xb6, 0xb4, 0xb4, 0x68,
0xe7, 0x42, 0x37, 0x3b, 0x3b, 0x39, 0x37, 0xdb, 0xfe, 0xcd,
0xb2, 0xb6, 0xb6, 0xb6, 0xb2, 0xb4, 0xfe, 0x54, 0x37, 0x3b,
0x39, 0x3b, 0x3b, 0x39, 0xe7, 0xfe, 0xb6, 0xb6, 0xb6, 0xb4,
0xb6, 0xb6, 0xbc, 0xfe, 0x3f, 0x3b, 0x3b, 0x39, 0x3b, 0x3b,
0x39, 0xe7, 0xb6, 0xb8, 0xb8, 0xb6, 0xb8, 0xb8, 0xb4, 0xfe,
0x3b, 0x3d, 0x3d, 0x3b, 0x39, 0x3d, 0x3b, 0x39, 0xbe, 0xb8,
0xba, 0xb8, 0xb6, 0xb8, 0xba, 0xb4, 0xfe, 0x39, 0x3f, 0x3d,
0x3b, 0x3d, 0x3f, 0x39, 0xdb, 0xb4, 0xba, 0xb8, 0xb6, 0xb8,
0xbc, 0xb4, 0xba, 0x39, 0x42, 0x3f, 0x3d, 0x3d, 0x3f, 0x3f,
0x3b, 0xb8, 0xb6, 0xbc, 0xb8, 0xb8, 0xba, 0xbc, 0xb8, 0xe7,
0x3d, 0x42, 0x3f, 0x3d, 0x3f, 0x42, 0x3d, 0xfe, 0xb8, 0xbc,
0xbc, 0xba, 0xba, 0xbc, 0xba, 0xe7, 0x3d, 0x3f, 0x42, 0x3f,
0x3f, 0x42, 0x42, 0xfe, 0xfe, 0xbc, 0xbc, 0xbe, 0xbc, 0xbe,
0xbc, 0xc5, 0xe7, 0x68, 0x42, 0x46, 0x42, 0x46, 0x42, 0x46,
0xfe, 0xfe, 0xbc, 0xbe, 0xbe, 0xbe, 0xbc, 0xc5, 0xfe, 0xdb,
0x46, 0x46, 0x4a, 0x4a, 0x46, 0x46, 0xe7, 0xfe, 0xd3, 0xbe,
0xc9, 0xc9, 0xc5, 0xc5, 0xe7, 0xdb, 0xd3, 0x4a, 0x4e, 0x54,
0x4e, 0x4e, 0xfe, 0x5c, 0x54, 0xd3, 0xcd, 0xd3, 0xd3, 0xcd,
0xd3, 0xd3, 0xcd, 0xfe, 0x5c, 0x68, 0x5c, 0x5c, 0x5c, 0x68,
0x5c, 0x5c, 0xcd, 0xcd, 0xd3, 0xcd, 0xdb, 0xe7, 0xe7, 0xdb,
0xe7, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xe7,
0xfe, 0x5c, 0x5c, 0xfe, 0xfe, 0xfe, 0xfe, 0x46, 0x35, 0x35,
0x37, 0x39, 0x3b, 0x39, 0x35, 0x33, 0x35, 0x5c, 0xd3, 0xcd,
0xdb, 0xfe, 0xfe, 0xd3, 0xb0, 0xb0, 0xb0, 0xb4, 0xb4, 0xb6,
0xb2, 0xb0, 0xb0, 0xb6, 0xcd, 0x5c, 0x68, 0xfe, 0xfe, 0xfe,
0x3b, 0x33, 0x35, 0x37, 0x39, 0x3b, 0x39, 0x37, 0x35, 0x35,
0x3f, 0xdb, 0xcd, 0xcd, 0xdb, 0xfe, 0xe7, 0xc5, 0xb0, 0xb0,
0xb2, 0xb6, 0xb6, 0xb6, 0xb2, 0xb0, 0xb0, 0xcd, 0x5c, 0x5c,
0xfe, 0xe7, 0xe7, 0xfe, 0x35, 0x35, 0x35, 0x39, 0x3b, 0x3b,
0x39, 0x35, 0x33, 0x39, 0xdb, 0xcd, 0xd3, 0xe7, 0xfe, 0xfe,
0xba, 0xb0, 0xb0, 0xb2, 0xb4, 0xb6, 0xb6, 0xb4, 0xb2, 0xb0,
0xb4, 0xc9, 0x5c, 0x68, 0xfe, 0xfe, 0x5c, 0x3b, 0x35, 0x37,
0x39, 0x3b, 0x3b, 0x3b, 0x39, 0x37, 0x37, 0x3d, 0xe7, 0xcd,
0xdb, 0xfe, 0xe7, 0xbe, 0xb2, 0xb2, 0xb4, 0xb4, 0xb6, 0xb6,
0xb6, 0xb4, 0xb0, 0xb0, 0xc5, 0x5c, 0x5c, 0xfe, 0xe7, 0xe7,
0x4e, 0x35, 0x35, 0x37, 0x3b, 0x3b, 0x3b, 0x39, 0x37, 0x37,
0x3b, 0xe7, 0xc9, 0xcd, 0xe7, 0xfe, 0xd3, 0xb4, 0xb2, 0xb2,
0xb4, 0xb6, 0xb6, 0xb6, 0xb6, 0xb4, 0xb2, 0xb4, 0xc1, 0x68,
0x68, 0xfe, 0xfe, 0x42, 0x39, 0x37, 0x39, 0x3b, 0x3b, 0x3b,
0x3b, 0x3b, 0x39, 0x37, 0x3b, 0xfe, 0xd3, 0xdb, 0xfe, 0xcd,
0xb4, 0xb2, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb6, 0xb4, 0xb2,
0xb2, 0xc1, 0x5c, 0x5c, 0xfe, 0xfe, 0xfe, 0x3d, 0x37, 0x37,
0x39, 0x3b, 0x3b, 0x3b, 0x3b, 0x37, 0x37, 0x39, 0xfe, 0xcd,
0xd3, 0xfe, 0xfe, 0xc1, 0xb2, 0xb2, 0xb4, 0xb6, 0xb6, 0xb6,
0xb6, 0xb6, 0xb6, 0xb4, 0xb4, 0xbc, 0x68, 0xfe, 0xfe, 0xfe,
0x3b, 0x39, 0x39, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x39,
0x39, 0x3b, 0xfe, 0xdb, 0xe7, 0xfe, 0xbc, 0xb6, 0xb6, 0xb6,
0xb8, 0xb6, 0xb6, 0xb6, 0xb8, 0xb6, 0xb4, 0xb4, 0xbc, 0xfe,
0x68, 0xfe, 0xe7, 0x5c, 0x3b, 0x39, 0x39, 0x3b, 0x3b, 0x3b,
0x3d, 0x3d, 0x3b, 0x39, 0x3b, 0x68, 0xdb, 0xdb, 0xfe, 0xe7,
0xb8, 0xb6, 0xb6, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb6,
0xb4, 0xb6, 0xdb, 0x68, 0xfe, 0xfe, 0x46, 0x3b, 0x3b, 0x3b,
0x3d, 0x3d, 0x3b, 0x3d, 0x3d, 0x3d, 0x3d, 0x3b, 0x3b, 0x5c,
0xdb, 0xdb, 0xc9, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xbc, 0xcd, 0xfe, 0xfe, 0x3d,
0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3b, 0x3d, 0x3d, 0x3d, 0x3d,
0x3b, 0x3d, 0x46, 0xfe, 0xe7, 0xe7, 0xc5, 0xb8, 0xb8, 0xb8,
0xba, 0xba, 0xb8, 0xb8, 0xba, 0xba, 0xb8, 0xb8, 0xb8, 0xcd,
0xfe, 0xfe, 0x68, 0x3f, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
0x3d, 0x3d, 0x3f, 0x3f, 0x3d, 0x3b, 0x4a, 0xfe, 0xdb, 0xbc,
0xb8, 0xba, 0xba, 0xba, 0xba, 0xb8, 0xb8, 0xb8, 0xba, 0xba,
0xba, 0xba, 0xba, 0xc5, 0xfe, 0x54, 0x3f, 0x3f, 0x3f, 0x3f,
0x3f, 0x3f, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x42,
0xfe, 0xe7, 0xdb, 0xbc, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba,
0xba, 0xba, 0xbc, 0xba, 0xba, 0xba, 0xc5, 0xfe, 0xfe, 0x4e,
0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x42,
0x42, 0x42, 0x3f, 0x46, 0xfe, 0xcd, 0xb8, 0xba, 0xbc, 0xbc,
0xbc, 0xba, 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xba, 0xb8,
0xbe, 0xfe, 0x42, 0x3d, 0x3f, 0x42, 0x42, 0x42, 0x3f, 0x3f,
0x3f, 0x42, 0x42, 0x42, 0x42, 0x3f, 0x3f, 0x68, 0xdb, 0xc5,
0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xba, 0xba, 0xba, 0xbc, 0xbc,
0xbc, 0xbc, 0xba, 0xc1, 0xfe, 0xfe, 0x3f, 0x42, 0x46, 0x46,
0x46, 0x42, 0x42, 0x42, 0x42, 0x42, 0x46, 0x46, 0x42, 0x3f,
0x42, 0x68, 0xbe, 0xba, 0xbc, 0xbe, 0xbe, 0xbe, 0xbc, 0xbc,
0xbc, 0xbc, 0xbe, 0xc1, 0xbe, 0xbc, 0xba, 0xbe, 0x68, 0x3f,
0x42, 0x46, 0x4a, 0x4a, 0x46, 0x42, 0x42, 0x42, 0x46, 0x46,
0x46, 0x46, 0x42, 0x42, 0x68, 0xd3, 0xbc, 0xbc, 0xbe, 0xc1,
0xc1, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xc1, 0xc1, 0xbe, 0xbe,
0xc1, 0xfe, 0x4e, 0x42, 0x46, 0x4a, 0x4a, 0x4a, 0x46, 0x46,
0x46, 0x46, 0x4a, 0x4a, 0x4a, 0x46, 0x46, 0x68, 0xdb, 0xbe,
0xbe, 0xc1, 0xc5, 0xc1, 0xc1, 0xbe, 0xbe, 0xbe, 0xbe, 0xc1,
0xc5, 0xc5, 0xbe, 0xbc, 0xc1, 0x4e, 0x46, 0x46, 0x4a, 0x4e,
0x4e, 0x4a, 0x46, 0x46, 0x46, 0x4a, 0x4a, 0x4e, 0x4a, 0x46,
0x46, 0xfe, 0xbe, 0xbe, 0xc1, 0xc9, 0xc5, 0xc5, 0xc1, 0xc1,
0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5, 0xbe, 0xc1, 0xfe, 0x4a,
0x4a, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4a, 0x4a, 0x4a, 0x4e,
0x54, 0x4e, 0x4a, 0x4a, 0x4e, 0xcd, 0xc1, 0xc5, 0xc5, 0xc9,
0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xcd, 0xcd, 0xcd, 0xcd, 0xc9,
0xc9, 0xd3, 0x68, 0x54, 0x5c, 0x68, 0x68, 0x68, 0x5c, 0x5c,
0x5c, 0x5c, 0x5c, 0x68, 0x68, 0x5c, 0x54, 0x5c, 0xdb, 0xcd,
0xcd, 0xdb, 0xdb, 0xdb, 0xdb, 0xd3, 0xd3, 0xe7, 0xe7, 0xe7,
0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xe7, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe };

BIN
apps/rpt_flow.pdf Normal file

Binary file not shown.

868
ast_expr.y Normal file
View File

@@ -0,0 +1,868 @@
%{
/* Written by Pace Willisson (pace@blitz.com)
* and placed in the public domain.
*
* Largely rewritten by J.T. Conklin (jtc@wimsey.com)
*
* $FreeBSD: src/bin/expr/expr.y,v 1.16 2000/07/22 10:59:36 se Exp $
*/
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <ctype.h>
#include <err.h>
#include <errno.h>
#include <regex.h>
#include <limits.h>
#include <asterisk/ast_expr.h>
#include <asterisk/logger.h>
#ifdef LONG_LONG_MIN
#define QUAD_MIN LONG_LONG_MIN
#endif
#ifdef LONG_LONG_MAX
#define QUAD_MAX LONG_LONG_MAX
#endif
# if ! defined(QUAD_MIN)
# define QUAD_MIN (-0x7fffffffffffffffL-1)
# endif
# if ! defined(QUAD_MAX)
# define QUAD_MAX (0x7fffffffffffffffL)
# endif
#define YYPARSE_PARAM kota
#define YYLEX_PARAM kota
/* #define ast_log fprintf
#define LOG_WARNING stderr */
enum valtype {
integer, numeric_string, string
} ;
struct val {
enum valtype type;
union {
char *s;
quad_t i;
} u;
} ;
struct parser_control {
struct val *result;
int pipa;
char *arg_orig;
char *argv;
char *ptrptr;
int firsttoken;
} ;
static int chk_div __P((quad_t, quad_t));
static int chk_minus __P((quad_t, quad_t, quad_t));
static int chk_plus __P((quad_t, quad_t, quad_t));
static int chk_times __P((quad_t, quad_t, quad_t));
static void free_value __P((struct val *));
static int is_zero_or_null __P((struct val *));
static int isstring __P((struct val *));
static struct val *make_integer __P((quad_t));
static struct val *make_str __P((const char *));
static struct val *op_and __P((struct val *, struct val *));
static struct val *op_colon __P((struct val *, struct val *));
static struct val *op_div __P((struct val *, struct val *));
static struct val *op_eq __P((struct val *, struct val *));
static struct val *op_ge __P((struct val *, struct val *));
static struct val *op_gt __P((struct val *, struct val *));
static struct val *op_le __P((struct val *, struct val *));
static struct val *op_lt __P((struct val *, struct val *));
static struct val *op_minus __P((struct val *, struct val *));
static struct val *op_ne __P((struct val *, struct val *));
static struct val *op_or __P((struct val *, struct val *));
static struct val *op_plus __P((struct val *, struct val *));
static struct val *op_rem __P((struct val *, struct val *));
static struct val *op_times __P((struct val *, struct val *));
static quad_t to_integer __P((struct val *));
static void to_string __P((struct val *));
/* uh, if I want to predeclare yylex with a YYLTYPE, I have to predeclare the yyltype... sigh */
typedef struct yyltype
{
int first_line;
int first_column;
int last_line;
int last_column;
} yyltype;
# define YYLTYPE yyltype
# define YYLTYPE_IS_TRIVIAL 1
static int ast_yyerror __P((const char *,YYLTYPE *, struct parser_control *));
#define ast_yyerror(x) ast_yyerror(x,&yyloc,kota)
%}
%pure-parser
%locations
/* %debug for when you are having big problems */
/* %name-prefix="ast_yy" */
%union
{
struct val *val;
}
%{
static int ast_yylex __P((YYSTYPE *, YYLTYPE *, struct parser_control *));
%}
%left <val> '|'
%left <val> '&'
%left <val> '=' '>' '<' GE LE NE
%left <val> '+' '-'
%left <val> '*' '/' '%'
%left <val> ':'
%token <val> TOKEN
%type <val> start expr
%%
start: expr { ((struct parser_control *)kota)->result = $$; }
;
expr: TOKEN
| '(' expr ')' { $$ = $2; @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '|' expr { $$ = op_or ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '&' expr { $$ = op_and ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '=' expr { $$ = op_eq ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '>' expr { $$ = op_gt ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '<' expr { $$ = op_lt ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr GE expr { $$ = op_ge ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr LE expr { $$ = op_le ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr NE expr { $$ = op_ne ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '+' expr { $$ = op_plus ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '-' expr { $$ = op_minus ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '*' expr { $$ = op_times ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '/' expr { $$ = op_div ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr '%' expr { $$ = op_rem ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
| expr ':' expr { $$ = op_colon ($1, $3); @$.first_column = @1.first_column; @$.last_column = @3.last_column; @$.first_line=0; @$.last_line=0;}
;
%%
static struct val *
make_integer (i)
quad_t i;
{
struct val *vp;
vp = (struct val *) malloc (sizeof (*vp));
if (vp == NULL) {
ast_log(LOG_WARNING, "malloc() failed\n");
return(NULL);
}
vp->type = integer;
vp->u.i = i;
return vp;
}
static struct val *
make_str (s)
const char *s;
{
struct val *vp;
size_t i;
int isint;
vp = (struct val *) malloc (sizeof (*vp));
if (vp == NULL || ((vp->u.s = strdup (s)) == NULL)) {
ast_log(LOG_WARNING,"malloc() failed\n");
return(NULL);
}
for(i = 1, isint = isdigit(s[0]) || s[0] == '-';
isint && i < strlen(s);
i++)
{
if(!isdigit(s[i]))
isint = 0;
}
if (isint)
vp->type = numeric_string;
else
vp->type = string;
return vp;
}
static void
free_value (vp)
struct val *vp;
{
if (vp==NULL) {
return;
}
if (vp->type == string || vp->type == numeric_string)
free (vp->u.s);
}
static quad_t
to_integer (vp)
struct val *vp;
{
quad_t i;
if (vp == NULL) {
ast_log(LOG_WARNING,"vp==NULL in to_integer()\n");
return(0);
}
if (vp->type == integer)
return 1;
if (vp->type == string)
return 0;
/* vp->type == numeric_string, make it numeric */
errno = 0;
i = strtoq(vp->u.s, (char**)NULL, 10);
if (errno != 0) {
free(vp->u.s);
ast_log(LOG_WARNING,"overflow\n");
return(0);
}
free (vp->u.s);
vp->u.i = i;
vp->type = integer;
return 1;
}
static void
to_string (vp)
struct val *vp;
{
char *tmp;
if (vp->type == string || vp->type == numeric_string)
return;
tmp = malloc ((size_t)25);
if (tmp == NULL) {
ast_log(LOG_WARNING,"malloc() failed\n");
return;
}
sprintf (tmp, "%lld", (long long)vp->u.i);
vp->type = string;
vp->u.s = tmp;
}
static int
isstring (vp)
struct val *vp;
{
/* only TRUE if this string is not a valid integer */
return (vp->type == string);
}
static int
ast_yylex (YYSTYPE *lvalp, YYLTYPE *yylloc, struct parser_control *karoto)
{
char *p=0;
char *t1=0;
char savep = 0;
char *savepp = 0;
if (karoto->firsttoken==1) {
t1 = karoto->argv;
karoto->firsttoken = 0;
} else {
t1 = karoto->ptrptr;
}
while(*t1 && *t1 == ' ' ) /* we can remove worries about leading/multiple spaces being present */
t1++;
karoto->ptrptr = t1;
yylloc->first_column = t1 - karoto->argv;
while( *t1 && *t1 != ' ' && *t1 != '"') /* find the next space or quote */
t1++;
if( *t1 == ' ' )
{
*t1 = 0;
p = karoto->ptrptr;
karoto->ptrptr = t1+1;
yylloc->last_column = t1 - karoto->argv;
}
else if (*t1 == '"' )
{
/* opening quote. find the closing quote */
char *t2=t1+1;
while( *t2 && *t2 != '"')
t2++;
if( *t2 == '"' )
{
if( *(t2+1) == ' ' || *(t2+1) == 0 )
{
if( *(t2+1) )
{
*(t2+1) = 0;
karoto->ptrptr = t2+2;
}
else
{
karoto->ptrptr = t2+1;
}
}
else
{
/* hmmm. what if another token is here? */
/* maybe we can insert a space? */
savep = *(t2+1);
savepp = t2+1;
*(t2+1) = 0;
karoto->ptrptr = t2+1;
}
p = t1;
}
else
{
/* NOT GOOD -- no closing quote! */
p = t1;
karoto->ptrptr = t2;
}
yylloc->last_column = t2 - karoto->argv;
}
else if( *t1 == 0 )
{
if( t1 != karoto->ptrptr )
{
/* this is the last token */
p = karoto->ptrptr;
karoto->ptrptr = t1;
}
else
{
/* we are done. That was quick */
p = karoto->ptrptr;
yylloc->last_column = t1 - karoto->argv;
}
}
if( *p == 0 )
p = 0;
if (p==NULL) {
return (0);
}
if (strlen (p) == 1) {
if (strchr ("|&=<>+-*/%:()", *p))
return (*p);
} else if (strlen (p) == 2 && p[1] == '=') {
switch (*p) {
case '>': return (GE);
case '<': return (LE);
case '!': return (NE);
}
}
lvalp->val = make_str (p);
if( savep )
{
*savepp = savep; /* restore the null terminated string */
savepp = 0;
savep = 0;
}
return (TOKEN);
}
static int
is_zero_or_null (vp)
struct val *vp;
{
if (vp->type == integer) {
return (vp->u.i == 0);
} else {
return (*vp->u.s == 0 || (to_integer (vp) && vp->u.i == 0));
}
/* NOTREACHED */
}
char *ast_expr (char *arg)
{
struct parser_control karoto;
char *kota;
char *pirouni;
kota=strdup(arg);
karoto.result = NULL;
karoto.firsttoken=1;
karoto.argv=kota;
karoto.arg_orig = arg;
/* ast_yydebug = 1; */
ast_yyparse ((void *)&karoto);
free(kota);
if (karoto.result==NULL) {
pirouni=strdup("0");
return(pirouni);
} else {
if (karoto.result->type == integer) {
pirouni=malloc(256);
sprintf (pirouni,"%lld", (long long)karoto.result->u.i);
}
else {
pirouni=strdup(karoto.result->u.s);
}
free(karoto.result);
}
return(pirouni);
}
#ifdef STANDALONE
int main(int argc,char **argv) {
char *s;
s=ast_expr(argv[1]);
printf("=====%s======\n",s);
}
#endif
#undef ast_yyerror
#define ast_yyerror(x) ast_yyerror(x, YYLTYPE *yylloc, struct parser_control *karoto)
static int
ast_yyerror (const char *s)
{
char spacebuf[8000]; /* best safe than sorry */
char spacebuf2[8000]; /* best safe than sorry */
int i=0;
spacebuf[0] = 0;
if( yylloc->first_column > 7990 ) /* if things get out of whack, why crash? */
yylloc->first_column = 7990;
if( yylloc->last_column > 7990 )
yylloc->last_column = 7990;
for(i=0;i<yylloc->first_column;i++) spacebuf[i] = ' ';
for( ;i<yylloc->last_column;i++) spacebuf[i] = '^';
spacebuf[i] = 0;
for(i=0;i<karoto->ptrptr-karoto->argv;i++) spacebuf2[i] = ' ';
spacebuf2[i++]='^';
spacebuf2[i]= 0;
ast_log(LOG_WARNING,"ast_yyerror(): syntax error: %s; Input:\n%s\n%s\n%s\n",s,
karoto->arg_orig,spacebuf,spacebuf2);
return(0);
}
static struct val *
op_or (a, b)
struct val *a, *b;
{
if (is_zero_or_null (a)) {
free_value (a);
return (b);
} else {
free_value (b);
return (a);
}
}
static struct val *
op_and (a, b)
struct val *a, *b;
{
if (is_zero_or_null (a) || is_zero_or_null (b)) {
free_value (a);
free_value (b);
return (make_integer ((quad_t)0));
} else {
free_value (b);
return (a);
}
}
static struct val *
op_eq (a, b)
struct val *a, *b;
{
struct val *r;
if (isstring (a) || isstring (b)) {
to_string (a);
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) == 0));
} else {
(void)to_integer(a);
(void)to_integer(b);
r = make_integer ((quad_t)(a->u.i == b->u.i));
}
free_value (a);
free_value (b);
return r;
}
static struct val *
op_gt (a, b)
struct val *a, *b;
{
struct val *r;
if (isstring (a) || isstring (b)) {
to_string (a);
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) > 0));
} else {
(void)to_integer(a);
(void)to_integer(b);
r = make_integer ((quad_t)(a->u.i > b->u.i));
}
free_value (a);
free_value (b);
return r;
}
static struct val *
op_lt (a, b)
struct val *a, *b;
{
struct val *r;
if (isstring (a) || isstring (b)) {
to_string (a);
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) < 0));
} else {
(void)to_integer(a);
(void)to_integer(b);
r = make_integer ((quad_t)(a->u.i < b->u.i));
}
free_value (a);
free_value (b);
return r;
}
static struct val *
op_ge (a, b)
struct val *a, *b;
{
struct val *r;
if (isstring (a) || isstring (b)) {
to_string (a);
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) >= 0));
} else {
(void)to_integer(a);
(void)to_integer(b);
r = make_integer ((quad_t)(a->u.i >= b->u.i));
}
free_value (a);
free_value (b);
return r;
}
static struct val *
op_le (a, b)
struct val *a, *b;
{
struct val *r;
if (isstring (a) || isstring (b)) {
to_string (a);
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) <= 0));
} else {
(void)to_integer(a);
(void)to_integer(b);
r = make_integer ((quad_t)(a->u.i <= b->u.i));
}
free_value (a);
free_value (b);
return r;
}
static struct val *
op_ne (a, b)
struct val *a, *b;
{
struct val *r;
if (isstring (a) || isstring (b)) {
to_string (a);
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) != 0));
} else {
(void)to_integer(a);
(void)to_integer(b);
r = make_integer ((quad_t)(a->u.i != b->u.i));
}
free_value (a);
free_value (b);
return r;
}
static int
chk_plus (a, b, r)
quad_t a, b, r;
{
/* sum of two positive numbers must be positive */
if (a > 0 && b > 0 && r <= 0)
return 1;
/* sum of two negative numbers must be negative */
if (a < 0 && b < 0 && r >= 0)
return 1;
/* all other cases are OK */
return 0;
}
static struct val *
op_plus (a, b)
struct val *a, *b;
{
struct val *r;
if (!to_integer (a) || !to_integer (b)) {
ast_log(LOG_WARNING,"non-numeric argument\n");
free_value(a);
free_value(b);
return(NULL);
}
r = make_integer (/*(quad_t)*/(a->u.i + b->u.i));
if (chk_plus (a->u.i, b->u.i, r->u.i)) {
ast_log(LOG_WARNING,"overflow\n");
free_value(a);
free_value(b);
return(NULL);
}
free_value (a);
free_value (b);
return r;
}
static int
chk_minus (a, b, r)
quad_t a, b, r;
{
/* special case subtraction of QUAD_MIN */
if (b == QUAD_MIN) {
if (a >= 0)
return 1;
else
return 0;
}
/* this is allowed for b != QUAD_MIN */
return chk_plus (a, -b, r);
}
static struct val *
op_minus (a, b)
struct val *a, *b;
{
struct val *r;
if (!to_integer (a) || !to_integer (b)) {
free_value(a);
free_value(b);
ast_log(LOG_WARNING, "non-numeric argument\n");
return(NULL);
}
r = make_integer (/*(quad_t)*/(a->u.i - b->u.i));
if (chk_minus (a->u.i, b->u.i, r->u.i)) {
free_value(a);
free_value(b);
ast_log(LOG_WARNING, "overload\n");
return(NULL);
}
free_value (a);
free_value (b);
return r;
}
static int
chk_times (a, b, r)
quad_t a, b, r;
{
/* special case: first operand is 0, no overflow possible */
if (a == 0)
return 0;
/* cerify that result of division matches second operand */
if (r / a != b)
return 1;
return 0;
}
static struct val *
op_times (a, b)
struct val *a, *b;
{
struct val *r;
if (!to_integer (a) || !to_integer (b)) {
free_value(a);
free_value(b);
ast_log(LOG_WARNING, "non-numeric argument\n");
return(NULL);
}
r = make_integer (/*(quad_t)*/(a->u.i * b->u.i));
if (chk_times (a->u.i, b->u.i, r->u.i)) {
ast_log(LOG_WARNING, "overflow\n");
free_value(a);
free_value(b);
return(NULL);
}
free_value (a);
free_value (b);
return (r);
}
static int
chk_div (a, b)
quad_t a, b;
{
/* div by zero has been taken care of before */
/* only QUAD_MIN / -1 causes overflow */
if (a == QUAD_MIN && b == -1)
return 1;
/* everything else is OK */
return 0;
}
static struct val *
op_div (a, b)
struct val *a, *b;
{
struct val *r;
if (!to_integer (a) || !to_integer (b)) {
free_value(a);
free_value(b);
ast_log(LOG_WARNING, "non-numeric argument\n");
return(NULL);
}
if (b->u.i == 0) {
ast_log(LOG_WARNING, "division by zero\n");
free_value(a);
free_value(b);
return(NULL);
}
r = make_integer (/*(quad_t)*/(a->u.i / b->u.i));
if (chk_div (a->u.i, b->u.i)) {
ast_log(LOG_WARNING, "overflow\n");
free_value(a);
free_value(b);
return(NULL);
}
free_value (a);
free_value (b);
return r;
}
static struct val *
op_rem (a, b)
struct val *a, *b;
{
struct val *r;
if (!to_integer (a) || !to_integer (b)) {
ast_log(LOG_WARNING, "non-numeric argument\n");
free_value(a);
free_value(b);
return(NULL);
}
if (b->u.i == 0) {
ast_log(LOG_WARNING, "div by zero\n");
free_value(a);
free_value(b);
return(NULL);
}
r = make_integer (/*(quad_t)*/(a->u.i % b->u.i));
/* chk_rem necessary ??? */
free_value (a);
free_value (b);
return r;
}
static struct val *
op_colon (a, b)
struct val *a, *b;
{
regex_t rp;
regmatch_t rm[2];
char errbuf[256];
int eval;
struct val *v;
/* coerce to both arguments to strings */
to_string(a);
to_string(b);
/* compile regular expression */
if ((eval = regcomp (&rp, b->u.s, REG_EXTENDED)) != 0) {
regerror (eval, &rp, errbuf, sizeof(errbuf));
ast_log(LOG_WARNING,"regcomp() error : %s",errbuf);
free_value(a);
free_value(b);
return(NULL);
}
/* compare string against pattern */
/* remember that patterns are anchored to the beginning of the line */
if (regexec(&rp, a->u.s, (size_t)2, rm, 0) == 0 && rm[0].rm_so == 0) {
if (rm[1].rm_so >= 0) {
*(a->u.s + rm[1].rm_eo) = '\0';
v = make_str (a->u.s + rm[1].rm_so);
} else {
v = make_integer ((quad_t)(rm[0].rm_eo - rm[0].rm_so));
}
} else {
if (rp.re_nsub == 0) {
v = make_integer ((quad_t)0);
} else {
v = make_str ("");
}
}
/* free arguments and pattern buffer */
free_value (a);
free_value (b);
regfree (&rp);
return v;
}

32
astconf.h Normal file
View File

@@ -0,0 +1,32 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* General Definitions for Asterisk top level program
*
* 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
*/
#ifndef _ASTCONF_H
#define _ASTCONF_H
#define AST_CONFIG_MAX_PATH 255
extern char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_CONFIG_FILE[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_MODULE_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_SPOOL_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_VAR_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_LOG_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_AGI_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_DB[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_KEY_DIR[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_PID[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_SOCKET[AST_CONFIG_MAX_PATH];
extern char ast_config_AST_RUN_DIR[AST_CONFIG_MAX_PATH];
#endif

BIN
asterisk.8.gz Normal file

Binary file not shown.

1650
asterisk.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

31
asterisk.h Executable file → Normal file
View File

@@ -16,16 +16,24 @@
#define DEFAULT_LANGUAGE "en"
#define AST_CONFIG_DIR "/etc/asterisk"
#define AST_SOCKET "/var/run/asterisk.ctl"
#define AST_MODULE_DIR "/usr/lib/asterisk/modules"
#define AST_SPOOL_DIR "/var/spool/asterisk"
#define AST_VAR_DIR "/var/lib/asterisk"
#define AST_LOG_DIR "/var/log/asterisk"
#define AST_CONFIG_MAX_PATH 255
#define AST_CONFIG_DIR ASTETCDIR
#define AST_RUN_DIR ASTVARRUNDIR
#define AST_SOCKET ASTVARRUNDIR "/asterisk.ctl"
#define AST_PID ASTVARRUNDIR "/asterisk.pid"
#define AST_MODULE_DIR ASTMODDIR
#define AST_SPOOL_DIR ASTSPOOLDIR
#define AST_VAR_DIR ASTVARLIBDIR
#define AST_LOG_DIR ASTLOGDIR
#define AST_AGI_DIR ASTAGIDIR
#define AST_KEY_DIR ASTVARLIBDIR "/keys"
#define AST_DB ASTVARLIBDIR "/astdb"
#define AST_TMP_DIR ASTSPOOLDIR "/tmp"
#define AST_CONFIG_FILE "asterisk.conf"
#define AST_CONFIG_FILE ASTCONFPATH
#define AST_SOUNDS AST_VAR_DIR "/sounds"
#define AST_IMAGES AST_VAR_DIR "/images"
/* Provided by module.c */
extern int load_modules(void);
@@ -33,5 +41,14 @@ extern int load_modules(void);
extern int load_pbx(void);
/* Provided by logger.c */
extern int init_logger(void);
extern void close_logger(void);
/* Provided by frame.c */
extern int init_framer(void);
/* Provided by logger.c */
extern int reload_logger(int);
/* Provided by term.c */
extern int term_init(void);
/* Provided by db.c */
extern int astdb_init(void);
#endif

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