mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-18 12:06:27 +00:00
Compare commits
78 Commits
21.7.0-rc1
...
1.2.1
Author | SHA1 | Date | |
---|---|---|---|
|
a25f33ff25 | ||
|
8badc8a1d5 | ||
|
f1049bc0d1 | ||
|
96fcc02900 | ||
|
2e8b6e7f20 | ||
|
3ed93398e9 | ||
|
d84e0caea8 | ||
|
5c1da58b90 | ||
|
018c617199 | ||
|
a49f954f6a | ||
|
03a8791440 | ||
|
78ad17381e | ||
|
5b03803e2f | ||
|
ee1e461a57 | ||
|
a543725311 | ||
|
8c701a0861 | ||
|
5fbe566524 | ||
|
e14cf31bc9 | ||
|
0042c03c7e | ||
|
41023ecb9c | ||
|
fb8d0a544d | ||
|
acaf8c9cc9 | ||
|
0d3fc8d103 | ||
|
9bbfbacacc | ||
|
8e301c629f | ||
|
9576d8a081 | ||
|
7db96672bf | ||
|
0d8f099ca2 | ||
|
0a4d7e5068 | ||
|
a32f75b800 | ||
|
78f37c51ef | ||
|
d6e5eb75ee | ||
|
6f433a7e7b | ||
|
ce2ecb5582 | ||
|
45c15e8561 | ||
|
5e3f4186da | ||
|
d03694df19 | ||
|
d52e8fa7d2 | ||
|
77c6cd0bff | ||
|
463ebe8b4b | ||
|
a563eab49a | ||
|
bf9d4b103d | ||
|
7dc2449f3a | ||
|
27cc20db11 | ||
|
4e04f5f731 | ||
|
5ec3844077 | ||
|
f641c7cd0d | ||
|
49aa54cafc | ||
|
e3b81e66a1 | ||
|
7bb6b928b5 | ||
|
ad4dc7c4a9 | ||
|
feb9764721 | ||
|
8c74501001 | ||
|
5861d3fd64 | ||
|
08acdc6a86 | ||
|
3b50570c9b | ||
|
00d7e962a7 | ||
|
192f7413c2 | ||
|
5bdb8074aa | ||
|
6abe5e1b23 | ||
|
4612b4ccca | ||
|
3245bf61a1 | ||
|
9ee13167bb | ||
|
ca9633ca9b | ||
|
e04884545c | ||
|
aa2239a050 | ||
|
40a1b60cbd | ||
|
cccb11916f | ||
|
49641825eb | ||
|
c14c078405 | ||
|
f2af073588 | ||
|
b9a5eddb6d | ||
|
bffc815375 | ||
|
5c3f322364 | ||
|
3a6fae817c | ||
|
d8f74ecb94 | ||
|
f7f2b1b033 | ||
|
601ab7ff82 |
0
.cleancount
Executable file → Normal file
0
.cleancount
Executable file → Normal file
16
.cvsignore
16
.cvsignore
@@ -1,16 +0,0 @@
|
||||
asterisk
|
||||
defaults.h
|
||||
ast_expr2.output
|
||||
.version
|
||||
.depend
|
||||
.applied
|
||||
mpg123-0.59r
|
||||
mpg123-0.59r.tar.gz
|
||||
update.out
|
||||
.lastclean
|
||||
.cleancount
|
||||
.tags-depend
|
||||
.tags-sources
|
||||
tags
|
||||
TAGS
|
||||
testexpr2
|
1
.lastclean
Normal file
1
.lastclean
Normal file
@@ -0,0 +1 @@
|
||||
8
|
2
CREDITS
Executable file → Normal file
2
CREDITS
Executable file → Normal file
@@ -85,7 +85,7 @@ Leif Madsen, Jared Smith and Jim van Meggelen - the Asterisk book
|
||||
available under a Creative Commons License at http://www.asteriskdocs.org
|
||||
|
||||
=== HOLD MUSIC ===
|
||||
Music provided by www.freeplaymusic.com
|
||||
Music provided by www.opsound.org
|
||||
|
||||
=== OTHER SOURCE CODE IN ASTERISK ===
|
||||
|
||||
|
272
ChangeLog
Executable file → Normal file
272
ChangeLog
Executable file → Normal file
@@ -1,3 +1,272 @@
|
||||
2005-12-06 Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* Asterisk 1.2.1 released.
|
||||
|
||||
2005-12-06 00:23 +0000 [r7345-7351] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* sounds/(all files): ensure that sound/music files are
|
||||
handled as binary
|
||||
|
||||
* contrib/firmware/iax/iaxy.bin: replace with unmodified file
|
||||
|
||||
* contrib/firmware/iax/iaxy.bin: _really_ don't mess with line
|
||||
endings
|
||||
|
||||
* contrib/firmware/iax/iaxy.bin: don't try to expand keywords in
|
||||
this file
|
||||
|
||||
* contrib/firmware/iax/iaxy.bin: set this file to binary mode, so
|
||||
it won't be mangled on export/checkout
|
||||
|
||||
2005-12-05 06:47 +0000 [r7335-7340] Russell Bryant <russell@digium.com>
|
||||
|
||||
* Makefile: remove ASTERISKVERSIONNUM from the version string given
|
||||
to doxygen
|
||||
|
||||
* apps/app_queue.c: don't delete dynamic queue members when
|
||||
reloading the static members from a realtime database (issue
|
||||
#5922)
|
||||
|
||||
* channels/chan_sip.c: fix the order of arguments to an error
|
||||
message (issue #5927)
|
||||
|
||||
2005-12-04 18:03 +0000 [r7329] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* build_tools/make_svn_branch_name: use a more efficient way to get
|
||||
the revision number, that will also report if the working copy
|
||||
contains uncommitted modifications
|
||||
|
||||
2005-12-03 19:55 +0000 [r7310] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
|
||||
|
||||
* apps/app_voicemail.c: Bug 5925: check for "Unknown", as that's
|
||||
what app_voicemail puts into the field for Unknown callerid Also,
|
||||
remove useless res checks (initialized to 0; never set)
|
||||
|
||||
2005-12-03 01:24 +0000 [r7299] Olle Johansson <oej@edvina.net>
|
||||
|
||||
* configs/sip.conf.sample: Documenting the default registerattempts
|
||||
setting as 0, continue hammering the server for ever and ever ;-)
|
||||
|
||||
2005-12-02 21:12 +0000 [r7285] Tilghman Lesher <tilghman@mail.jeffandtilghman.com>
|
||||
|
||||
* contrib/init.d/rc.debian.asterisk,
|
||||
contrib/init.d/rc.mandrake.asterisk,
|
||||
contrib/init.d/rc.redhat.asterisk,
|
||||
contrib/init.d/rc.gentoo.asterisk,
|
||||
contrib/init.d/rc.mandrake.zaptel,
|
||||
contrib/init.d/rc.slackware.asterisk: Turn on executable bits for
|
||||
startup scripts, and fix bash var interpolation for Mandrake
|
||||
|
||||
2005-12-02 00:52 +0000 [r7275] Olle Johansson <oej@edvina.net>
|
||||
|
||||
* channels/chan_sip.c: Bug #5907. Improve SIP INFO DTMF debugging
|
||||
output. (1.2 & Trunk)
|
||||
|
||||
2005-12-02 00:51 +0000 [r7266-7274] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* apps/app_page.c, pbx.c: inherit channel variables into channels
|
||||
created by Page() application (issue #5888)
|
||||
|
||||
* apps/app_voicemail.c, configs/voicemail.conf.sample, UPGRADE.txt:
|
||||
allow previous context-searching behavior to be used if desired
|
||||
(issue #5899)
|
||||
|
||||
* apps/app_voicemail.c: properly handle password changes when
|
||||
mailbox is last line of config file and not followed by a newline
|
||||
(issue #5870) reformat password changing code to conform to
|
||||
coding guidelines (issue #5870)
|
||||
|
||||
* channels/chan_agent.c: protect agent_bridgedchannel() from
|
||||
segfaulting when there is no bridged channel (issue #5879)
|
||||
|
||||
* channels/chan_local.c: allow variables to exist on both 'halves'
|
||||
of the Local channel (issue #5810)
|
||||
|
||||
* apps/app_festival.c: don't block waiting for the Festival server
|
||||
forever when it goes away (issue #5882)
|
||||
|
||||
* channel.c: ensure channel's scheduling context is freed (issue
|
||||
#5788)
|
||||
|
||||
* Makefile, patches (removed): Makefile 'update' target now
|
||||
supports updating from Subversion repositories (issue #5875)
|
||||
remove support for 'patches' subdirectory, it's no longer useful
|
||||
|
||||
2005-12-01 23:18 +0000 [r7261-7265] Olle Johansson <oej@edvina.net>
|
||||
|
||||
* doc/README.misdn: Changing bug report address to the Asterisk
|
||||
issue tracker
|
||||
|
||||
* doc/README.jitterbuffer, doc/README.realtime: Removing references
|
||||
to 1.1dev, replacing with 1.2, in documentation files.
|
||||
|
||||
* doc/README.misdn: Fixing some spelling errors, as well as
|
||||
changing "cvs" to "subversion" in misdn documentation.
|
||||
|
||||
2005-12-01 19:25 +0000 [r7257] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* build_tools/make_svn_branch_name: ensure that 'svn info' output
|
||||
is in the expected language for the script to parse (issue #5880)
|
||||
|
||||
2005-12-01 02:33 +0000 [r7228-7251] Russell Bryant <russell@digium.com>
|
||||
|
||||
* apps/app_externalivr.c: use ast_app_separate_args to split
|
||||
arguments (issue #5686)
|
||||
|
||||
* apps/app_queue.c: fix queue weight feature
|
||||
- compare member interfaces instead of pointers to the members,
|
||||
since each queue has its own list of members. (issue #5863)
|
||||
|
||||
* build_tools/make_svn_branch_name: use '=' instead of '==' for
|
||||
string comparisons. /bin/bash is ok with this, but /bin/sh is
|
||||
not. (issue #5885)
|
||||
|
||||
* redhat/asterisk (removed), Makefile: remove outdated redhat init
|
||||
script and provide the updated one in 'make rpm' (issue #5786)
|
||||
|
||||
* contrib/init.d/rc.debian.asterisk,
|
||||
contrib/init.d/rc.redhat.asterisk: Comment out LD_ASSUME_KERNEL
|
||||
by default. Print error messages if the asterisk executable or
|
||||
the asterisk configuration directory are not found. (issue #5785,
|
||||
#5708)
|
||||
|
||||
* apps/app_dial.c: fix DIALEDTIME when call has not been answered
|
||||
(issue #5862)
|
||||
|
||||
* rtp.c: do not allow an rtp message with zero type (issue #5749)
|
||||
|
||||
* pbx.c: fix hint case sensitivity (issue #5856)
|
||||
|
||||
* configs/sip.conf.sample: add description of the "fromdomain"
|
||||
option (issue #5874)
|
||||
|
||||
2005-11-30 03:52 +0000 [r7227] Josh Roberson <josh@asteriasgi.com>
|
||||
|
||||
* apps/app_voicemail.c, UPGRADE.txt, ChangeLog: backport fix from
|
||||
trunk
|
||||
|
||||
2005-11-30 03:37 +0000 [r7219-7226] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* doc/cdr.txt, doc/CODING-GUIDELINES, include/asterisk.h,
|
||||
doc/README.mp3: remove remaining CVS references
|
||||
|
||||
* channel.c: port memory leak fix from rev 7223 in trunk
|
||||
|
||||
* (all files): remove extraneous svn:executable properties
|
||||
|
||||
* include/asterisk/lock.h: do the multiple-lock check for cond_wait
|
||||
properly...
|
||||
|
||||
2005-11-29 Josh Roberson <josh@asteriasgi.com>
|
||||
|
||||
* apps/app_voicemail.c: Only look in 'default' context when no context defined to VoiceMailMain(). (issue #5887)
|
||||
|
||||
2005-11-29 06:12 +0000 [r7216-7218] Russell Bryant <russell@digium.com>
|
||||
|
||||
* apps/app_cut.c: print an error message if invalid arguments are
|
||||
specified
|
||||
|
||||
* apps/app_skel.c: fix a couple of typos and a buglet
|
||||
|
||||
2005-11-29 01:25 +0000 [r7199-7213] Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* include/asterisk/lock.h: if the lock protected a pthread_cond is
|
||||
held recursively, warn before waiting onthe condition
|
||||
|
||||
* formats, agi/.cvsignore (removed), codecs/lpc10, build_tools,
|
||||
patches, editline/np/.cvsignore (removed), formats/.cvsignore
|
||||
(removed), pbx, funcs/.cvsignore (removed), channels,
|
||||
build_tools/.cvsignore (removed), editline, agi, apps,
|
||||
codecs/gsm/.cvsignore (removed), patches/.cvsignore (removed),
|
||||
pbx/.cvsignore (removed), channels/.cvsignore (removed), stdtime,
|
||||
editline/.cvsignore (removed), editline/np, utils/.cvsignore
|
||||
(removed), codecs/.cvsignore (removed), .cvsignore (removed),
|
||||
funcs, apps/.cvsignore (removed), cdr/.cvsignore (removed),
|
||||
include/asterisk/.cvsignore (removed), stdtime/.cvsignore
|
||||
(removed), codecs/gsm, channels/h323/.cvsignore (removed), res,
|
||||
db1-ast, codecs, utils, /, res/.cvsignore (removed), cdr,
|
||||
codecs/ilbc, channels/h323: remove CVS ignore lists, set SVN
|
||||
ignore lists
|
||||
|
||||
* Makefile, build_tools/make_svn_branch_name (added): port version
|
||||
string computation from trunk
|
||||
|
||||
2005-11-25 Russell Bryant <russell@digium.com>
|
||||
|
||||
* apps/app_dial.c: Properly duplicate the string for ANI (issue #5850)
|
||||
|
||||
2005-11-23 Russell Bryant <russell@digium.com>
|
||||
|
||||
* configs/voicemail.conf.sample: Add note to indicate that #include should not be used for this file. (issue #5828)
|
||||
|
||||
* indications.c: Fix spelling of "cadence", allowing the old misspelling for backwards compatability. (issue #5826)
|
||||
* configs/indications.conf.sample: Fix spelling of "cadence", allowing the old misspelling for backwards compatability. (issue #5826)
|
||||
* include/asterisk/indications.h: Fix spelling of "cadence", allowing the old misspelling for backwards compatability. (issue #5826)
|
||||
* res/res_indications.c: Fix spelling of "cadence", allowing the old misspelling for backwards compatability. (issue #5826)
|
||||
|
||||
* apps/app_voicemail.c: Remove left over "yay!" debugging message. (issue #5829)
|
||||
|
||||
2005-11-21 Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* apps/app_cut.c: remove unnecessary include that causes spurious rebuilding
|
||||
|
||||
* channels/chan_sip.c (build_peer): ensure that case changes made to peer names are not ignored during reload operations
|
||||
(build_peer): when a peer is changed from dynamic to static mode, reset the default port number if no other has been specified
|
||||
|
||||
* channels/chan_iax2.c (build_peer and build_user): ensure that case changes made to peer/user names are not ignored during reload operations
|
||||
(build_peer): when a peer is changed from dynamic to static mode, reset the default port number if no other has been specified
|
||||
|
||||
2005-11-21 Russell Bryant <russell@digium.com>
|
||||
|
||||
* Makefile: Revert previous change for Darwin.
|
||||
|
||||
* apps/app_osplookup.c: Properly populate the number of results. (issue #5789)
|
||||
|
||||
* Makefile: Don't hard-code that poll functionality needs to be provided on Darwin.
|
||||
* apps/Makefile: Fix incorrect portion of the patch to fix 'make install' on Solaris.
|
||||
|
||||
* channels/chan_iax2.c (iax2_getpeername): Return non-zero to indicate that a peer was found when using realtime (issue #5815)
|
||||
|
||||
2005-11-20 Russell Bryant <russell@digium.com>
|
||||
|
||||
* Makefile apps/Makefile: Fix 'make install' for Solaris. (issue #5775)
|
||||
|
||||
* apps/app_record.c: Don't leak a frame if writing it to the file fails. (issue #5787)
|
||||
|
||||
* Makefile: Create the monitor spool directory when the other spool directories are created.
|
||||
|
||||
* channels/chan_sip.c channels/chan_iax2.c: Change warning messages about the number of scheduled events happening all at once to debug messages. (issue #5794)
|
||||
|
||||
* pbx/pbx_spool.c: Fix crash when a value is not specified with a variable on a Set: line in a call file. (issue #5806)
|
||||
|
||||
* apps/app_meetme.c: Fix the 'X' option to the MeetMe application. (issue #5773)
|
||||
|
||||
* apps/app_voicemail.c: Correct the use of a mailbox entered by the calling party instead of indicated as an argument to the Voicemail application. (issue #5774)
|
||||
|
||||
* apps/app_controlplayback.c: Fix logic in checking for success when jumping to priority n+101.
|
||||
* apps/app_md5.c: Fix logic in checking for success when jumping to priority n+101.
|
||||
|
||||
* apps/app_hasnewvoicemail.c: Fix a typo in the application description. Also, fix the logic in checking for success when jumping to priority n+101. (issue #5795)
|
||||
|
||||
* UPGRADE.txt: Add a note on a second way that the IAX2 channel naming convention has changed. (issue #5792)
|
||||
* channels/chan_iax2.c: Fix alignment of the output for the "iax2 show peer <peer>" CLI command (issue #5792)
|
||||
|
||||
* channels/Makefile: Re-add chan_oss to the default build. (issue #5799)
|
||||
|
||||
* res/res_musiconhold.c: Fix incorrect argument for the buffer size to an ast_copy_string call (issue #5803)
|
||||
|
||||
* funcs/func_enum.c: Shorten the module description (issue #5791)
|
||||
|
||||
2005-11-17 Russell Bryant <russell@digium.com>
|
||||
|
||||
* Makefile: Fix the output of Makefile generated variables to doxygen
|
||||
|
||||
* channels/chan_sip.c: Add missing carriage return and line feed to the SDP line indicating that we don't support VAD (issue #5780)
|
||||
|
||||
2005-11-16 Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* Asterisk 1.2.0 released.
|
||||
|
||||
2005-11-16 Jeremy McNamara <jj@nufone.net>
|
||||
|
||||
* apps/app_voicemail.c (load_config): do not terminate asterisk if no voicemail config file
|
||||
@@ -10,7 +279,8 @@
|
||||
2005-11-16 Kevin P. Fleming <kpfleming@digium.com>
|
||||
|
||||
* channels/Makefile: don't build chan_modem and sub-modules by default
|
||||
|
||||
* configs/modules.conf.sample: explicitly 'noload' chan_modem.so and submodules, in case old versions exist
|
||||
|
||||
* res/Makefile: issue mpg123 not-installed warning at 'make install' time, not 'make'
|
||||
|
||||
* apps/app_forkcdr.c (forkcdr_exec): issue warning (and don't segfault) if ForkCDR is called on a channel that doesn't have a CDR (issue #5763)
|
||||
|
111
Makefile
Executable file → Normal file
111
Makefile
Executable file → Normal file
@@ -305,22 +305,26 @@ endif # WITHOUT_ZAPTEL
|
||||
LIBEDIT=editline/libedit.a
|
||||
|
||||
ifneq ($(wildcard .version),)
|
||||
ASTERISKVERSION=$(shell cat .version)
|
||||
ASTERISKVERSIONNUM=$(shell awk -F. '{printf "%02d%02d%02d", $$1, $$2, $$3}' .version)
|
||||
RPMVERSION=$(shell sed 's/[-\/:]/_/g' .version)
|
||||
ASTERISKVERSION:=$(shell cat .version)
|
||||
ASTERISKVERSIONNUM:=$(shell awk -F. '{printf "%02d%02d%02d", $$1, $$2, $$3}' .version)
|
||||
RPMVERSION:=$(shell sed 's/[-\/:]/_/g' .version)
|
||||
else
|
||||
RPMVERSION=unknown
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard CVS),)
|
||||
# CVS mirrors of SVN have .svnrevision files showing
|
||||
# which SVN revision they are based on, and .svnbranch
|
||||
# showing the branch they are made from
|
||||
ifneq ($(wildcard .svnrevision),)
|
||||
ASTERISKVERSIONNUM=999999
|
||||
ifneq ($(wildcard CVS/Tag),)
|
||||
ASTERISKVERSION=$(shell echo "CVS-`sed 's/^T//g' CVS/Tag`-`date +"%D-%T"`")
|
||||
else
|
||||
ASTERISKVERSION=CVS HEAD
|
||||
endif
|
||||
ASTERISKVERSION:=SVN-$(shell cat .svnbranch)-r$(shell cat .svnrevision)
|
||||
else
|
||||
ASTERISKVERSIONNUM=000000
|
||||
ifneq ($(wildcard .svn),)
|
||||
ASTERISKVERSIONNUM=999999
|
||||
ASTERISKVERSION=SVN-$(shell build_tools/make_svn_branch_name)
|
||||
else
|
||||
ASTERISKVERSIONNUM=000000
|
||||
endif
|
||||
endif
|
||||
|
||||
ASTCFLAGS+= $(DEBUG_THREADS)
|
||||
@@ -363,7 +367,7 @@ ifeq ($(OSARCH),Darwin)
|
||||
AUDIO_LIBS=-framework CoreAudio
|
||||
ASTLINK=-Wl,-dynamic
|
||||
SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
|
||||
OBJS+=poll.o
|
||||
OBJS+= poll.o
|
||||
ASTCFLAGS+=-DPOLLCOMPAT
|
||||
else
|
||||
#These are used for all but Darwin
|
||||
@@ -534,7 +538,7 @@ clean:
|
||||
$(MAKE) -C stdtime clean
|
||||
|
||||
datafiles: all
|
||||
if test $$(id -u) = 0; then sh mkpkgconfig $(DESTDIR)/usr/lib/pkgconfig; fi
|
||||
if [ x`whoami` = xroot ]; then sh mkpkgconfig $(DESTDIR)/usr/lib/pkgconfig; fi
|
||||
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/digits
|
||||
mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/priv-callerintros
|
||||
for x in sounds/digits/*.gsm; do \
|
||||
@@ -588,17 +592,16 @@ datafiles: all
|
||||
mkdir -p $(DESTDIR)$(AGI_DIR)
|
||||
|
||||
update:
|
||||
@if [ -d CVS ]; then \
|
||||
if [ -f patches/.applied ]; then \
|
||||
patches=`cat patches/.applied`; \
|
||||
fi; \
|
||||
if [ ! -z "$$patches" ]; then \
|
||||
for x in $$patches; do \
|
||||
echo "Unapplying $$x..."; \
|
||||
patch -R -p0 < patches/$$x; \
|
||||
done; \
|
||||
rm -f patches/.applied; \
|
||||
@if [ -d .svn ]; then \
|
||||
echo "Updating from Subversion..." ; \
|
||||
svn update | tee update.out; \
|
||||
rm -f .version; \
|
||||
if [ `grep -c ^C update.out` -gt 0 ]; then \
|
||||
echo ; echo "The following files have conflicts:" ; \
|
||||
grep ^C update.out | cut -b4- ; \
|
||||
fi ; \
|
||||
rm -f update.out; \
|
||||
elif [ -d CVS ]; then \
|
||||
echo "Updating from CVS..." ; \
|
||||
cvs -q -z3 update -Pd | tee update.out; \
|
||||
rm -f .version; \
|
||||
@@ -607,19 +610,8 @@ update:
|
||||
grep ^C update.out | cut -d' ' -f2- ; \
|
||||
fi ; \
|
||||
rm -f update.out; \
|
||||
if [ ! -z "$$patches" ]; then \
|
||||
for x in $$patches; do \
|
||||
if [ -f patches/$$x ]; then \
|
||||
echo "Applying patch $$x..."; \
|
||||
patch -p0 < patches/$$x; \
|
||||
echo $$x >> patches/.applied; \
|
||||
else \
|
||||
echo "Patch $$x no longer relevant"; \
|
||||
fi; \
|
||||
done; \
|
||||
fi; \
|
||||
else \
|
||||
echo "Not CVS"; \
|
||||
echo "Not under version control"; \
|
||||
fi
|
||||
|
||||
NEWHEADERS=$(notdir $(wildcard include/asterisk/*.h))
|
||||
@@ -636,6 +628,7 @@ bininstall: all
|
||||
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/system
|
||||
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/tmp
|
||||
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/meetme
|
||||
mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/monitor
|
||||
if [ -f asterisk ]; then $(INSTALL) -m 755 asterisk $(DESTDIR)$(ASTSBINDIR)/; fi
|
||||
if [ -f cygwin/asterisk.exe ]; then $(INSTALL) -m 755 cygwin/asterisk.exe $(DESTDIR)$(ASTSBINDIR)/; fi
|
||||
if [ -f asterisk.dll ]; then $(INSTALL) -m 755 asterisk.dll $(DESTDIR)$(ASTSBINDIR)/; fi
|
||||
@@ -831,12 +824,12 @@ __rpm: include/asterisk/version.h spec
|
||||
$(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/ ; \
|
||||
cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
|
||||
rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
|
||||
|
||||
progdocs:
|
||||
(cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=$(HAVEDOT) \
|
||||
PROJECT_NUMBER=$(ASTERISKVERSION) - $(ASTERISKVERSIONNUM)") | doxygen -
|
||||
(cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=$(HAVEDOT)"; \
|
||||
echo "PROJECT_NUMBER=$(ASTERISKVERSION)") | doxygen -
|
||||
|
||||
mpg123:
|
||||
@wget -V >/dev/null || (echo "You need wget" ; false )
|
||||
@@ -906,47 +899,3 @@ cleantest:
|
||||
if cmp -s .cleancount .lastclean ; then echo ; else \
|
||||
$(MAKE) clean; cp -f .cleancount .lastclean;\
|
||||
fi
|
||||
|
||||
patchlist:
|
||||
@echo "Experimental Patches:"
|
||||
@for x in patches/*; do \
|
||||
patch=`basename $$x`; \
|
||||
if [ "$$patch" = "CVS" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
if grep -q ^$$patch$$ patches/.applied; then \
|
||||
echo "$$patch (applied)"; \
|
||||
else \
|
||||
echo "$$patch (available)"; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
apply:
|
||||
@if [ -z "$(PATCH)" ]; then \
|
||||
echo "Usage: make PATCH=<patchname> apply"; \
|
||||
elif grep -q ^$(PATCH)$$ patches/.applied 2>/dev/null; then \
|
||||
echo "Patch $(PATCH) is already applied"; \
|
||||
elif [ -f "patches/$(PATCH)" ]; then \
|
||||
echo "Applying patch $(PATCH)"; \
|
||||
patch -p0 < patches/$(PATCH); \
|
||||
echo "$(PATCH)" >> patches/.applied; \
|
||||
else \
|
||||
echo "No such patch $(PATCH) in patches directory"; \
|
||||
fi
|
||||
|
||||
unapply:
|
||||
@if [ -z "$(PATCH)" ]; then \
|
||||
echo "Usage: make PATCH=<patchname> unapply"; \
|
||||
elif grep -v -q ^$(PATCH)$$ patches/.applied 2>/dev/null; then \
|
||||
echo "Patch $(PATCH) is not applied"; \
|
||||
elif [ -f "patches/$(PATCH)" ]; then \
|
||||
echo "Un-applying patch $(PATCH)"; \
|
||||
patch -p0 -R < patches/$(PATCH); \
|
||||
rm -f patches/.tmpapplied || :; \
|
||||
mv patches/.applied patches/.tmpapplied; \
|
||||
cat patches/.tmpapplied | grep -v ^$(PATCH)$$ > patches/.applied; \
|
||||
rm -f patches/.tmpapplied; \
|
||||
else \
|
||||
echo "No such patch $(PATCH) in patches directory"; \
|
||||
fi
|
||||
|
||||
|
@@ -1,8 +0,0 @@
|
||||
About Hold Music
|
||||
================
|
||||
Digium has licensed the music included with
|
||||
the Asterisk distribution From FreePlayMusic
|
||||
for use and distribution with Asterisk. It
|
||||
is licensed ONLY for use as hold music within
|
||||
an Asterisk based PBX.
|
||||
|
22
README.opsound
Normal file
22
README.opsound
Normal 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
|
11
UPGRADE.txt
Executable file → Normal file
11
UPGRADE.txt
Executable file → Normal file
@@ -52,8 +52,10 @@ Dialing:
|
||||
|
||||
IAX:
|
||||
|
||||
* The naming convention for IAX channels has changed in a minor way such
|
||||
that the call number follows a "-" rather than a "/" character.
|
||||
* The naming convention for IAX channels has changed in two ways:
|
||||
1. The call number follows a "-" rather than a "/" character.
|
||||
2. The name of the channel has been simplified to IAX2/peer-callno,
|
||||
rather than IAX2/peer@peer-callno or even IAX2/peer@peer/callno.
|
||||
|
||||
SIP:
|
||||
|
||||
@@ -129,6 +131,11 @@ Applications:
|
||||
'mailbox options' menu, and 'change your password' option has been
|
||||
moved to option 5.
|
||||
|
||||
* The application VoiceMailMain now only matches the 'default' context if
|
||||
none is specified in the arguments. (This was the previously
|
||||
documented behavior, however, we didn't follow that behavior.) The old
|
||||
behavior can be restored by setting searchcontexts=yes in voicemail.conf.
|
||||
|
||||
Queues:
|
||||
|
||||
* A queue is now considered empty not only if there are no members but if
|
||||
|
0
aescrypt.c
Executable file → Normal file
0
aescrypt.c
Executable file → Normal file
@@ -1,3 +0,0 @@
|
||||
eagi-test
|
||||
eagi-sphinx-test
|
||||
.depend
|
0
agi/DialAnMp3.agi
Executable file → Normal file
0
agi/DialAnMp3.agi
Executable file → Normal file
0
agi/Makefile
Executable file → Normal file
0
agi/Makefile
Executable file → Normal file
0
agi/agi-test.agi
Executable file → Normal file
0
agi/agi-test.agi
Executable file → Normal file
0
agi/eagi-sphinx-test.c
Executable file → Normal file
0
agi/eagi-sphinx-test.c
Executable file → Normal file
0
agi/eagi-test.c
Executable file → Normal file
0
agi/eagi-test.c
Executable file → Normal file
0
agi/fastagi-test
Executable file → Normal file
0
agi/fastagi-test
Executable file → Normal file
0
agi/numeralize
Executable file → Normal file
0
agi/numeralize
Executable file → Normal file
@@ -1 +0,0 @@
|
||||
.depend
|
0
apps/Makefile
Executable file → Normal file
0
apps/Makefile
Executable file → Normal file
0
apps/app_adsiprog.c
Executable file → Normal file
0
apps/app_adsiprog.c
Executable file → Normal file
0
apps/app_alarmreceiver.c
Executable file → Normal file
0
apps/app_alarmreceiver.c
Executable file → Normal file
0
apps/app_authenticate.c
Executable file → Normal file
0
apps/app_authenticate.c
Executable file → Normal file
0
apps/app_cdr.c
Executable file → Normal file
0
apps/app_cdr.c
Executable file → Normal file
0
apps/app_chanisavail.c
Executable file → Normal file
0
apps/app_chanisavail.c
Executable file → Normal file
0
apps/app_chanspy.c
Executable file → Normal file
0
apps/app_chanspy.c
Executable file → Normal file
2
apps/app_controlplayback.c
Executable file → Normal file
2
apps/app_controlplayback.c
Executable file → Normal file
@@ -140,7 +140,7 @@ static int controlplayback_exec(struct ast_channel *chan, void *data)
|
||||
} else {
|
||||
if (res < 0) {
|
||||
if (priority_jump || option_priority_jumping) {
|
||||
if (!ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) {
|
||||
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) {
|
||||
ast_log(LOG_WARNING, "ControlPlayback tried to jump to priority n+101 as requested, but priority didn't exist\n");
|
||||
}
|
||||
}
|
||||
|
0
apps/app_curl.c
Executable file → Normal file
0
apps/app_curl.c
Executable file → Normal file
5
apps/app_cut.c
Executable file → Normal file
5
apps/app_cut.c
Executable file → Normal file
@@ -36,7 +36,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
||||
#include "asterisk/channel.h"
|
||||
#include "asterisk/pbx.h"
|
||||
#include "asterisk/module.h"
|
||||
#include "asterisk/version.h"
|
||||
#include "asterisk/app.h"
|
||||
|
||||
/* Maximum length of any variable */
|
||||
@@ -253,6 +252,8 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return ERROR_NOARG;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -386,7 +387,7 @@ static char *acf_cut_exec(struct ast_channel *chan, char *cmd, char *data, char
|
||||
|
||||
switch (cut_internal(chan, data, buf, len)) {
|
||||
case ERROR_NOARG:
|
||||
ast_log(LOG_ERROR, "Cut() requires an argument\n");
|
||||
ast_log(LOG_ERROR, "CUT() requires an argument\n");
|
||||
break;
|
||||
case ERROR_NOMEM:
|
||||
ast_log(LOG_ERROR, "Out of memory\n");
|
||||
|
0
apps/app_datetime.c
Executable file → Normal file
0
apps/app_datetime.c
Executable file → Normal file
0
apps/app_db.c
Executable file → Normal file
0
apps/app_db.c
Executable file → Normal file
19
apps/app_dial.c
Executable file → Normal file
19
apps/app_dial.c
Executable file → Normal file
@@ -75,7 +75,7 @@ static char *descrip =
|
||||
"continue if no requested channels can be called, or if the timeout expires.\n\n"
|
||||
" This application sets the following channel variables upon completion:\n"
|
||||
" DIALEDTIME - This is the time from dialing a channel until when it\n"
|
||||
" answers.\n"
|
||||
" is disconnected.\n"
|
||||
" ANSWEREDTIME - This is the amount of time for actual call.\n"
|
||||
" DIALSTATUS - This is the status of the call:\n"
|
||||
" CHANUNAVAIL | CONGESTION | NOANSWER | BUSY | ANSWER | CANCEL\n"
|
||||
@@ -512,10 +512,8 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
|
||||
if (in->cid.cid_ani) {
|
||||
if (o->chan->cid.cid_ani)
|
||||
free(o->chan->cid.cid_ani);
|
||||
o->chan->cid.cid_ani = malloc(strlen(in->cid.cid_ani) + 1);
|
||||
if (o->chan->cid.cid_ani)
|
||||
ast_copy_string(o->chan->cid.cid_ani, in->cid.cid_ani, sizeof(o->chan->cid.cid_ani));
|
||||
else
|
||||
o->chan->cid.cid_ani = strdup(in->cid.cid_ani);
|
||||
if (!o->chan->cid.cid_ani)
|
||||
ast_log(LOG_WARNING, "Out of memory\n");
|
||||
}
|
||||
if (o->chan->cid.cid_rdnis)
|
||||
@@ -737,6 +735,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
|
||||
char numsubst[AST_MAX_EXTENSION];
|
||||
char restofit[AST_MAX_EXTENSION];
|
||||
char cidname[AST_MAX_EXTENSION];
|
||||
char toast[80];
|
||||
char *newnum;
|
||||
char *l;
|
||||
int privdb_val=0;
|
||||
@@ -1515,8 +1514,6 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
|
||||
}
|
||||
|
||||
if (!res) {
|
||||
char toast[80];
|
||||
|
||||
memset(&config,0,sizeof(struct ast_bridge_config));
|
||||
if (play_to_caller)
|
||||
ast_set_flag(&(config.features_caller), AST_FEATURE_PLAY_WARNING);
|
||||
@@ -1560,13 +1557,15 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
|
||||
}
|
||||
res = ast_bridge_call(chan,peer,&config);
|
||||
time(&end_time);
|
||||
snprintf(toast, sizeof(toast), "%ld", (long)(end_time - start_time));
|
||||
pbx_builtin_setvar_helper(chan, "DIALEDTIME", toast);
|
||||
snprintf(toast, sizeof(toast), "%ld", (long)(end_time - answer_time));
|
||||
pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", toast);
|
||||
|
||||
} else
|
||||
} else {
|
||||
time(&end_time);
|
||||
res = -1;
|
||||
}
|
||||
snprintf(toast, sizeof(toast), "%ld", (long)(end_time - start_time));
|
||||
pbx_builtin_setvar_helper(chan, "DIALEDTIME", toast);
|
||||
|
||||
if (res != AST_PBX_NO_HANGUP_PEER) {
|
||||
if (!chan->_softhangup)
|
||||
|
0
apps/app_dictate.c
Executable file → Normal file
0
apps/app_dictate.c
Executable file → Normal file
0
apps/app_directed_pickup.c
Executable file → Normal file
0
apps/app_directed_pickup.c
Executable file → Normal file
0
apps/app_directory.c
Executable file → Normal file
0
apps/app_directory.c
Executable file → Normal file
0
apps/app_disa.c
Executable file → Normal file
0
apps/app_disa.c
Executable file → Normal file
0
apps/app_dumpchan.c
Executable file → Normal file
0
apps/app_dumpchan.c
Executable file → Normal file
0
apps/app_echo.c
Executable file → Normal file
0
apps/app_echo.c
Executable file → Normal file
0
apps/app_enumlookup.c
Executable file → Normal file
0
apps/app_enumlookup.c
Executable file → Normal file
0
apps/app_eval.c
Executable file → Normal file
0
apps/app_eval.c
Executable file → Normal file
0
apps/app_exec.c
Executable file → Normal file
0
apps/app_exec.c
Executable file → Normal file
20
apps/app_externalivr.c
Executable file → Normal file
20
apps/app_externalivr.c
Executable file → Normal file
@@ -43,6 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
||||
#include "asterisk/pbx.h"
|
||||
#include "asterisk/module.h"
|
||||
#include "asterisk/linkedlists.h"
|
||||
#include "asterisk/app.h"
|
||||
|
||||
static const char *tdesc = "External IVR Interface Application";
|
||||
|
||||
@@ -250,10 +251,9 @@ static int app_exec(struct ast_channel *chan, void *data)
|
||||
int res = -1;
|
||||
int gen_active = 0;
|
||||
int pid;
|
||||
char *command;
|
||||
char *argv[32];
|
||||
int argc = 1;
|
||||
char *buf;
|
||||
char *buf, *command;
|
||||
FILE *child_commands = NULL;
|
||||
FILE *child_errors = NULL;
|
||||
FILE *child_events = NULL;
|
||||
@@ -270,11 +270,13 @@ static int app_exec(struct ast_channel *chan, void *data)
|
||||
}
|
||||
|
||||
buf = ast_strdupa(data);
|
||||
command = strsep(&buf, "|");
|
||||
memset(argv, 0, sizeof(argv) / sizeof(argv[0]));
|
||||
argv[0] = command;
|
||||
while ((argc < 31) && (argv[argc++] = strsep(&buf, "|")));
|
||||
argv[argc] = NULL;
|
||||
if (!buf) {
|
||||
ast_log(LOG_ERROR, "Out of memory!\n");
|
||||
LOCAL_USER_REMOVE(u);
|
||||
return -1;
|
||||
}
|
||||
|
||||
argc = ast_app_separate_args(buf, '|', argv, sizeof(argv) / sizeof(argv[0]));
|
||||
|
||||
if (pipe(child_stdin)) {
|
||||
ast_chan_log(LOG_WARNING, chan, "Could not create pipe for child input: %s\n", strerror(errno));
|
||||
@@ -316,8 +318,8 @@ static int app_exec(struct ast_channel *chan, void *data)
|
||||
dup2(child_stderr[1], STDERR_FILENO);
|
||||
for (i = STDERR_FILENO + 1; i < 1024; i++)
|
||||
close(i);
|
||||
execv(command, argv);
|
||||
fprintf(stderr, "Failed to execute '%s': %s\n", command, strerror(errno));
|
||||
execv(argv[0], argv);
|
||||
fprintf(stderr, "Failed to execute '%s': %s\n", argv[0], strerror(errno));
|
||||
exit(1);
|
||||
} else {
|
||||
/* parent process */
|
||||
|
14
apps/app_festival.c
Executable file → Normal file
14
apps/app_festival.c
Executable file → Normal file
@@ -455,8 +455,20 @@ static int festival_exec(struct ast_channel *chan, void *vdata)
|
||||
/* This assumes only one waveform will come back, also LP is unlikely */
|
||||
wave = 0;
|
||||
do {
|
||||
int read_data;
|
||||
for (n=0; n < 3; )
|
||||
n += read(fd,ack+n,3-n);
|
||||
{
|
||||
read_data = read(fd,ack+n,3-n);
|
||||
/* this avoids falling in infinite loop
|
||||
* in case that festival server goes down
|
||||
* */
|
||||
if ( read_data == -1 )
|
||||
{
|
||||
ast_log(LOG_WARNING,"Unable to read from cache/festival fd");
|
||||
return -1;
|
||||
}
|
||||
n += read_data;
|
||||
}
|
||||
ack[3] = '\0';
|
||||
if (strcmp(ack,"WV\n") == 0) { /* receive a waveform */
|
||||
ast_log(LOG_DEBUG,"Festival WV command\n");
|
||||
|
0
apps/app_flash.c
Executable file → Normal file
0
apps/app_flash.c
Executable file → Normal file
0
apps/app_forkcdr.c
Executable file → Normal file
0
apps/app_forkcdr.c
Executable file → Normal file
0
apps/app_getcpeid.c
Executable file → Normal file
0
apps/app_getcpeid.c
Executable file → Normal file
0
apps/app_groupcount.c
Executable file → Normal file
0
apps/app_groupcount.c
Executable file → Normal file
4
apps/app_hasnewvoicemail.c
Executable file → Normal file
4
apps/app_hasnewvoicemail.c
Executable file → Normal file
@@ -68,7 +68,7 @@ static char *hasnewvoicemail_descrip =
|
||||
"Assumes folder 'INBOX' if folder is not specified. Optionally sets <varname> to the number of messages\n"
|
||||
"in that folder.\n"
|
||||
" The option string may contain zero of the following character:\n"
|
||||
" 'j' -- jump to priority n+101, if there is new voicemail in tolder 'folder' or INBOX\n"
|
||||
" 'j' -- jump to priority n+101, if there is new voicemail in folder 'folder' or INBOX\n"
|
||||
" This application sets the following channel variable upon completion:\n"
|
||||
" HASVMSTATUS The result of the new voicemail check returned as a text string as follows\n"
|
||||
" <# of messages in the folder, 0 for NONE>\n";
|
||||
@@ -163,7 +163,7 @@ static int hasvoicemail_exec(struct ast_channel *chan, void *data)
|
||||
if (vmcount > 0) {
|
||||
/* Branch to the next extension */
|
||||
if (priority_jump || option_priority_jumping) {
|
||||
if (!ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
|
||||
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
|
||||
ast_log(LOG_WARNING, "VM box %s@%s has new voicemail, but extension %s, priority %d doesn't exist\n", vmbox, context, chan->exten, chan->priority + 101);
|
||||
}
|
||||
}
|
||||
|
0
apps/app_ices.c
Executable file → Normal file
0
apps/app_ices.c
Executable file → Normal file
0
apps/app_image.c
Executable file → Normal file
0
apps/app_image.c
Executable file → Normal file
0
apps/app_intercom.c
Executable file → Normal file
0
apps/app_intercom.c
Executable file → Normal file
0
apps/app_ivrdemo.c
Executable file → Normal file
0
apps/app_ivrdemo.c
Executable file → Normal file
0
apps/app_lookupblacklist.c
Executable file → Normal file
0
apps/app_lookupblacklist.c
Executable file → Normal file
0
apps/app_lookupcidname.c
Executable file → Normal file
0
apps/app_lookupcidname.c
Executable file → Normal file
0
apps/app_macro.c
Executable file → Normal file
0
apps/app_macro.c
Executable file → Normal file
0
apps/app_math.c
Executable file → Normal file
0
apps/app_math.c
Executable file → Normal file
4
apps/app_md5.c
Executable file → Normal file
4
apps/app_md5.c
Executable file → Normal file
@@ -157,9 +157,9 @@ static int md5check_exec(struct ast_channel *chan, void *data)
|
||||
ast_log(LOG_DEBUG, "ERROR: MD5 not verified: %s -- %s\n", args.md5hash, args.string);
|
||||
pbx_builtin_setvar_helper(chan, "CHECKMD5STATUS", "NOMATCH");
|
||||
if (priority_jump || option_priority_jumping) {
|
||||
if (!ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
|
||||
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101))
|
||||
if (option_debug > 2)
|
||||
ast_log(LOG_DEBUG, "ERROR: Can't jump to exten+101 (e%s,p%d), sorry\n", chan->exten,chan->priority+101);
|
||||
ast_log(LOG_DEBUG, "Can't jump to exten+101 (e%s,p%d), sorry\n", chan->exten,chan->priority+101);
|
||||
}
|
||||
LOCAL_USER_REMOVE(u);
|
||||
return res;
|
||||
|
2
apps/app_meetme.c
Executable file → Normal file
2
apps/app_meetme.c
Executable file → Normal file
@@ -1314,7 +1314,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
|
||||
|
||||
tmp[0] = f->subclass;
|
||||
tmp[1] = '\0';
|
||||
if (ast_goto_if_exists(chan, exitcontext, tmp, 1)) {
|
||||
if (!ast_goto_if_exists(chan, exitcontext, tmp, 1)) {
|
||||
ret = 0;
|
||||
break;
|
||||
} else if (option_debug > 1)
|
||||
|
0
apps/app_milliwatt.c
Executable file → Normal file
0
apps/app_milliwatt.c
Executable file → Normal file
0
apps/app_mixmonitor.c
Executable file → Normal file
0
apps/app_mixmonitor.c
Executable file → Normal file
0
apps/app_mp3.c
Executable file → Normal file
0
apps/app_mp3.c
Executable file → Normal file
0
apps/app_nbscat.c
Executable file → Normal file
0
apps/app_nbscat.c
Executable file → Normal file
4
apps/app_osplookup.c
Executable file → Normal file
4
apps/app_osplookup.c
Executable file → Normal file
@@ -217,6 +217,10 @@ static int ospnext_exec(struct ast_channel *chan, void *data)
|
||||
temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE");
|
||||
result.handle = -1;
|
||||
if (!ast_strlen_zero(temp) && (sscanf(temp, "%d", &result.handle) == 1) && (result.handle > -1)) {
|
||||
temp = pbx_builtin_getvar_helper(chan, "OSPRESULTS");
|
||||
if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.numresults) != 1)) {
|
||||
result.numresults = 0;
|
||||
}
|
||||
if ((res = ast_osp_next(&result, cause)) > 0) {
|
||||
char tmp[80];
|
||||
snprintf(tmp, sizeof(tmp), "%d", result.handle);
|
||||
|
30
apps/app_page.c
Executable file → Normal file
30
apps/app_page.c
Executable file → Normal file
@@ -40,6 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
||||
#include "asterisk/module.h"
|
||||
#include "asterisk/file.h"
|
||||
#include "asterisk/app.h"
|
||||
#include "asterisk/chanvars.h"
|
||||
|
||||
|
||||
static const char *tdesc = "Page Multiple Phones";
|
||||
@@ -77,13 +78,14 @@ struct calloutdata {
|
||||
char tech[64];
|
||||
char resource[256];
|
||||
char meetmeopts[64];
|
||||
struct ast_variable *variables;
|
||||
};
|
||||
|
||||
static void *page_thread(void *data)
|
||||
{
|
||||
struct calloutdata *cd = data;
|
||||
ast_pbx_outgoing_app(cd->tech, AST_FORMAT_SLINEAR, cd->resource, 30000,
|
||||
"MeetMe", cd->meetmeopts, NULL, 0, cd->cidnum, cd->cidname, NULL, NULL);
|
||||
"MeetMe", cd->meetmeopts, NULL, 0, cd->cidnum, cd->cidname, cd->variables, NULL);
|
||||
free(cd);
|
||||
return NULL;
|
||||
}
|
||||
@@ -91,6 +93,9 @@ static void *page_thread(void *data)
|
||||
static void launch_page(struct ast_channel *chan, const char *meetmeopts, const char *tech, const char *resource)
|
||||
{
|
||||
struct calloutdata *cd;
|
||||
const char *varname;
|
||||
struct ast_variable *lastvar = NULL;
|
||||
struct ast_var_t *varptr;
|
||||
pthread_t t;
|
||||
pthread_attr_t attr;
|
||||
cd = malloc(sizeof(struct calloutdata));
|
||||
@@ -101,6 +106,29 @@ static void launch_page(struct ast_channel *chan, const char *meetmeopts, const
|
||||
ast_copy_string(cd->tech, tech, sizeof(cd->tech));
|
||||
ast_copy_string(cd->resource, resource, sizeof(cd->resource));
|
||||
ast_copy_string(cd->meetmeopts, meetmeopts, sizeof(cd->meetmeopts));
|
||||
|
||||
AST_LIST_TRAVERSE(&chan->varshead, varptr, entries) {
|
||||
if (!(varname = ast_var_full_name(varptr)))
|
||||
continue;
|
||||
if (varname[0] == '_') {
|
||||
struct ast_variable *newvar = NULL;
|
||||
|
||||
if (varname[1] == '_') {
|
||||
newvar = ast_variable_new(varname, ast_var_value(varptr));
|
||||
} else {
|
||||
newvar = ast_variable_new(&varname[1], ast_var_value(varptr));
|
||||
}
|
||||
|
||||
if (newvar) {
|
||||
if (lastvar)
|
||||
lastvar->next = newvar;
|
||||
else
|
||||
cd->variables = newvar;
|
||||
lastvar = newvar;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pthread_attr_init(&attr);
|
||||
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
|
||||
if (ast_pthread_create(&t, &attr, page_thread, cd)) {
|
||||
|
0
apps/app_parkandannounce.c
Executable file → Normal file
0
apps/app_parkandannounce.c
Executable file → Normal file
0
apps/app_playback.c
Executable file → Normal file
0
apps/app_playback.c
Executable file → Normal file
0
apps/app_privacy.c
Executable file → Normal file
0
apps/app_privacy.c
Executable file → Normal file
7
apps/app_queue.c
Executable file → Normal file
7
apps/app_queue.c
Executable file → Normal file
@@ -850,10 +850,11 @@ static struct ast_call_queue *reload_queue_rt(const char *queuename, struct ast_
|
||||
v = v->next;
|
||||
}
|
||||
|
||||
/* Temporarily set members dead so we can detect deleted ones. */
|
||||
/* Temporarily set non-dynamic members dead so we can detect deleted ones. */
|
||||
m = q->members;
|
||||
while (m) {
|
||||
m->dead = 1;
|
||||
if (!m->dynamic)
|
||||
m->dead = 1;
|
||||
m = m->next;
|
||||
}
|
||||
|
||||
@@ -1304,7 +1305,7 @@ static int compare_weight(struct ast_call_queue *rq, struct member *member)
|
||||
ast_mutex_lock(&q->lock);
|
||||
if (q->count && q->members) {
|
||||
for (mem = q->members; mem; mem = mem->next) {
|
||||
if (mem == member) {
|
||||
if (!strcmp(mem->interface, member->interface)) {
|
||||
ast_log(LOG_DEBUG, "Found matching member %s in queue '%s'\n", mem->interface, q->name);
|
||||
if (q->weight > rq->weight) {
|
||||
ast_log(LOG_DEBUG, "Queue '%s' (weight %d, calls %d) is preferred over '%s' (weight %d, calls %d)\n", q->name, q->weight, q->count, rq->name, rq->weight, rq->count);
|
||||
|
0
apps/app_random.c
Executable file → Normal file
0
apps/app_random.c
Executable file → Normal file
0
apps/app_read.c
Executable file → Normal file
0
apps/app_read.c
Executable file → Normal file
0
apps/app_readfile.c
Executable file → Normal file
0
apps/app_readfile.c
Executable file → Normal file
0
apps/app_realtime.c
Executable file → Normal file
0
apps/app_realtime.c
Executable file → Normal file
8
apps/app_record.c
Executable file → Normal file
8
apps/app_record.c
Executable file → Normal file
@@ -277,6 +277,7 @@ static int record_exec(struct ast_channel *chan, void *data)
|
||||
|
||||
if (res) {
|
||||
ast_log(LOG_WARNING, "Problem writing frame\n");
|
||||
ast_frfree(f);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -295,16 +296,15 @@ static int record_exec(struct ast_channel *chan, void *data)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (f->frametype == AST_FRAME_VIDEO) {
|
||||
} else if (f->frametype == AST_FRAME_VIDEO) {
|
||||
res = ast_writestream(s, f);
|
||||
|
||||
if (res) {
|
||||
ast_log(LOG_WARNING, "Problem writing frame\n");
|
||||
ast_frfree(f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((f->frametype == AST_FRAME_DTMF) &&
|
||||
} else if ((f->frametype == AST_FRAME_DTMF) &&
|
||||
(f->subclass == terminator)) {
|
||||
ast_frfree(f);
|
||||
break;
|
||||
|
0
apps/app_rpt.c
Executable file → Normal file
0
apps/app_rpt.c
Executable file → Normal file
0
apps/app_sayunixtime.c
Executable file → Normal file
0
apps/app_sayunixtime.c
Executable file → Normal file
0
apps/app_senddtmf.c
Executable file → Normal file
0
apps/app_senddtmf.c
Executable file → Normal file
0
apps/app_sendtext.c
Executable file → Normal file
0
apps/app_sendtext.c
Executable file → Normal file
0
apps/app_setcallerid.c
Executable file → Normal file
0
apps/app_setcallerid.c
Executable file → Normal file
0
apps/app_setcdruserfield.c
Executable file → Normal file
0
apps/app_setcdruserfield.c
Executable file → Normal file
0
apps/app_setcidname.c
Executable file → Normal file
0
apps/app_setcidname.c
Executable file → Normal file
0
apps/app_setcidnum.c
Executable file → Normal file
0
apps/app_setcidnum.c
Executable file → Normal file
0
apps/app_setrdnis.c
Executable file → Normal file
0
apps/app_setrdnis.c
Executable file → Normal file
0
apps/app_settransfercapability.c
Executable file → Normal file
0
apps/app_settransfercapability.c
Executable file → Normal file
5
apps/app_skel.c
Executable file → Normal file
5
apps/app_skel.c
Executable file → Normal file
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (C) <Year>, <Your Name Here>
|
||||
*
|
||||
* <Your Name Here> <<You Email Here>>
|
||||
* <Your Name Here> <<Your Email Here>>
|
||||
*
|
||||
* See http://www.asterisk.org for more information about
|
||||
* the Asterisk project. Please do not directly contact
|
||||
@@ -20,7 +20,7 @@
|
||||
*
|
||||
* \brief Skeleton application
|
||||
*
|
||||
* This is a skeleton for development of an Asterisk application */
|
||||
* This is a skeleton for development of an Asterisk application
|
||||
* \ingroup applications
|
||||
*/
|
||||
|
||||
@@ -77,7 +77,6 @@ static int app_exec(struct ast_channel *chan, void *data)
|
||||
|
||||
if (ast_strlen_zero(data)) {
|
||||
ast_log(LOG_WARNING, "%s requires an argument (dummy|[options])\n",app);
|
||||
LOCAL_USER_REMOVE(u);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
0
apps/app_sms.c
Executable file → Normal file
0
apps/app_sms.c
Executable file → Normal file
0
apps/app_softhangup.c
Executable file → Normal file
0
apps/app_softhangup.c
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user