summaryrefslogtreecommitdiffstats
path: root/main/asterisk-audio-konf
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2010-10-26 11:43:53 +0300
committerTimo Teräs <timo.teras@iki.fi>2010-10-26 11:57:11 +0300
commit1f91940840d9ef21c64c5645951721520e3e6299 (patch)
tree4162dd15ae6b599cfbb71d14b1ee7a091848866f /main/asterisk-audio-konf
parentbd673b51a11aa7d915ff838469a033c7130b8ea9 (diff)
downloadaports-1f91940840d9ef21c64c5645951721520e3e6299.tar.bz2
aports-1f91940840d9ef21c64c5645951721520e3e6299.tar.xz
main/asterisk-audio-konf: update snapshot and enable speex wideband
Needed for Asterisk 1.8.0 support.
Diffstat (limited to 'main/asterisk-audio-konf')
-rw-r--r--main/asterisk-audio-konf/0001-add-n-flag-to-prevent-dynamic-create-of-conference.patch151
-rw-r--r--main/asterisk-audio-konf/0002-member-do-not-exit-with-error-if-join_conference-fai.patch38
-rw-r--r--main/asterisk-audio-konf/0003-member-ability-to-play-an-announcement-to-joiner.patch105
-rw-r--r--main/asterisk-audio-konf/APKBUILD28
4 files changed, 13 insertions, 309 deletions
diff --git a/main/asterisk-audio-konf/0001-add-n-flag-to-prevent-dynamic-create-of-conference.patch b/main/asterisk-audio-konf/0001-add-n-flag-to-prevent-dynamic-create-of-conference.patch
deleted file mode 100644
index 115c42fa2..000000000
--- a/main/asterisk-audio-konf/0001-add-n-flag-to-prevent-dynamic-create-of-conference.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From 2040c4ebe42ed6a222b87f0148c0c08701afc2fd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Mon, 7 Jun 2010 14:20:42 +0300
-Subject: [PATCH] add 'n' flag to prevent dynamic create of conference
-
----
- konference/Dialplan.txt | 2 ++
- konference/conference.c | 27 ++++++++++++++++++---------
- konference/conference.h | 2 +-
- konference/member.c | 12 +++++++-----
- konference/member.h | 3 +++
- 5 files changed, 31 insertions(+), 15 deletions(-)
-
-diff --git a/konference/Dialplan.txt b/konference/Dialplan.txt
-index 455703d..17287dd 100644
---- a/konference/Dialplan.txt
-+++ b/konference/Dialplan.txt
-@@ -45,6 +45,8 @@ exten => <ext>,<pri>,Konference(<confname>,<flags>,<optional args>,<more optiona
- 'r' : record the conference. it will be recorded to KONFERENCE_RECORDINGFILE with the format KONFERENCE_RECORDINGFORMAT
- default for KONFERENCE_RECORDINGFILE is: konference-{conference-name}-{member-uniqueid}
- default for KONFERENCE_RECORDINGFORMAT is: wav
-+ 'n' : do not create new conference, only join existing ones.
-+ if conference does not exist KONFERENCE is set to NOTFOUND
-
- Future development (these are not implemented yet):
- ?
-diff --git a/konference/conference.c b/konference/conference.c
-index 9790d2e..98fed28 100644
---- a/konference/conference.c
-+++ b/konference/conference.c
-@@ -620,7 +620,7 @@ void init_conference( void )
- argument_delimiter = ( !strcmp(PACKAGE_VERSION,"1.4") ? "|" : "," ) ;
- }
-
--struct ast_conference* join_conference( struct ast_conf_member* member, char* max_users_flag, const char* recfile, const char *recformat )
-+struct ast_conference* join_conference( struct ast_conf_member* member, const char* recfile, const char *recformat )
- {
- struct ast_conference* conf = NULL ;
-
-@@ -634,15 +634,25 @@ struct ast_conference* join_conference( struct ast_conf_member* member, char* ma
- // unable to find an existing conference, try to create one
- if ( conf == NULL )
- {
-- // create a new conference
-- DEBUG("attempting to create requested conference\n") ;
-+ if ( member->no_create_flag )
-+ {
-+ DEBUG("conference not found, and create of new conference not allowed\n") ;
-+ pbx_builtin_setvar_helper(member->chan, "KONFERENCE", "NOTFOUND");
-+ }
-+ else
-+ {
-+ // create a new conference
-+ DEBUG("attempting to create requested conference\n") ;
-
-- // create the new conference with one member
-- conf = create_conf( member->conf_name, member ) ;
-+ // create the new conference with one member
-+ conf = create_conf( member->conf_name, member ) ;
-
-- // return an error if create_conf() failed
-- if ( conf == NULL )
-- ast_log( LOG_ERROR, "unable to find or create requested conference\n" ) ;
-+ // return an error if create_conf() failed
-+ if ( conf == NULL ) {
-+ ast_log( LOG_ERROR, "unable to find or create requested conference\n" ) ;
-+ pbx_builtin_setvar_helper(member->chan, "KONFERENCE", "NORESOURCES");
-+ }
-+ }
- }
- else
- {
-@@ -656,7 +666,6 @@ struct ast_conference* join_conference( struct ast_conf_member* member, char* ma
- add_member( member, conf ) ;
- } else {
- pbx_builtin_setvar_helper(member->chan, "KONFERENCE", "MAXUSERS");
-- *max_users_flag = 1;
- conf = NULL;
- }
- }
-diff --git a/konference/conference.h b/konference/conference.h
-index 3322f3f..e8da836 100644
---- a/konference/conference.h
-+++ b/konference/conference.h
-@@ -157,7 +157,7 @@ int hash( const char *channel_name ) ;
-
- int count_exec( struct ast_channel* chan, void* data ) ;
-
--struct ast_conference* join_conference( struct ast_conf_member* member, char* max_users_flag, const char* recfile, const char* recformat ) ;
-+struct ast_conference* join_conference( struct ast_conf_member* member, const char* recfile, const char* recformat ) ;
-
- int end_conference( const char *name, int hangup ) ;
-
-diff --git a/konference/member.c b/konference/member.c
-index c18fcdc..ff93b36 100644
---- a/konference/member.c
-+++ b/konference/member.c
-@@ -758,14 +758,13 @@ int member_exec( struct ast_channel* chan, void* data )
- // setup a conference for the new member
- //
-
-- char max_users_flag = 0 ;
-- conf = join_conference( member, &max_users_flag, recfile, recformat ) ;
-+ conf = join_conference( member, recfile, recformat ) ;
-
- if ( conf == NULL )
- {
-- ast_log( LOG_NOTICE, "unable to setup member conference %s: max_users_flag is %d\n", member->conf_name, max_users_flag ) ;
-+ ast_log( LOG_NOTICE, "unable to setup member conference %s\n", member->conf_name) ;
- delete_member( member) ;
-- return (max_users_flag ? 0 : -1 ) ;
-+ return -1;
- }
-
- //
-@@ -1349,7 +1348,7 @@ struct ast_conf_member* create_member( struct ast_channel *chan, const char* dat
- else
- #endif
- {
-- // allowed flags are C, c, L, l, V, D, A, C, X, r, R, T, t, M, S, z, o, F, H
-+ // allowed flags are C, c, L, l, V, D, A, C, X, r, R, T, t, M, S, z, o, F, H, n
- // mute/no_recv options
- switch ( flags[i] )
- {
-@@ -1405,6 +1404,9 @@ struct ast_conf_member* create_member( struct ast_channel *chan, const char* dat
- case 'M':
- member->ismoderator = 1;
- break;
-+ case 'n':
-+ member->no_create_flag = 1;
-+ break;
- #ifdef VIDEO
- case 'N':
- member->no_camera = 1;
-diff --git a/konference/member.h b/konference/member.h
-index 0f9005b..28eff6b 100644
---- a/konference/member.h
-+++ b/konference/member.h
-@@ -105,6 +105,9 @@ struct ast_conf_member
- // wait option flag
- char wait_for_moderator_flag;
-
-+ // creation of new conference not allowed
-+ char no_create_flag;
-+
- // temp flag for when star is pressed
- char star_pressed;
-
---
-1.7.0.4
-
diff --git a/main/asterisk-audio-konf/0002-member-do-not-exit-with-error-if-join_conference-fai.patch b/main/asterisk-audio-konf/0002-member-do-not-exit-with-error-if-join_conference-fai.patch
deleted file mode 100644
index aa5e3629e..000000000
--- a/main/asterisk-audio-konf/0002-member-do-not-exit-with-error-if-join_conference-fai.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 287bb3324652e0e3086eefa62a6a1593331c9143 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Fri, 20 Aug 2010 14:14:22 +0300
-Subject: [PATCH] member: do not exit with error if join_conference() fails
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This causes Asterisk to hangup the call, but it was not intended
-as join_conference() sets dialplan variable properly to indicate
-error.
-
-Signed-off-by: Timo Teräs <timo.teras@iki.fi>
----
- konference/member.c | 3 +--
- 1 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/konference/member.c b/konference/member.c
-index 863e34d..5370e73 100644
---- a/konference/member.c
-+++ b/konference/member.c
-@@ -755,12 +755,11 @@ int member_exec( struct ast_channel* chan, void* data )
- //
-
- conf = join_conference( member, recfile, recformat ) ;
--
- if ( conf == NULL )
- {
- ast_log( LOG_NOTICE, "unable to setup member conference %s\n", member->conf_name) ;
- delete_member( member) ;
-- return -1;
-+ return 0;
- }
-
- //
---
-1.7.0.4
-
diff --git a/main/asterisk-audio-konf/0003-member-ability-to-play-an-announcement-to-joiner.patch b/main/asterisk-audio-konf/0003-member-ability-to-play-an-announcement-to-joiner.patch
deleted file mode 100644
index f59b8bff7..000000000
--- a/main/asterisk-audio-konf/0003-member-ability-to-play-an-announcement-to-joiner.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 859a208c7ce995930068159cf512ec50d71b16b0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Tue, 24 Aug 2010 17:40:06 +0300
-Subject: [PATCH 2/2] member: ability to play an announcement to joiner
-
-Parameter to playback a file after succesful conference join
-(resources, conference existance and PIN verified), but before
-actually dispatching the conference data.
----
- konference/Dialplan.txt | 1 +
- konference/member.c | 25 +++++++++++++++++++++++++
- konference/member.h | 1 +
- 3 files changed, 27 insertions(+), 0 deletions(-)
-
-diff --git a/konference/Dialplan.txt b/konference/Dialplan.txt
-index 17287dd..3784f32 100644
---- a/konference/Dialplan.txt
-+++ b/konference/Dialplan.txt
-@@ -64,6 +64,7 @@ exten => <ext>,<pri>,Konference(<confname>,<flags>,<optional args>,<more optiona
- max_users=<int> : Limit conference participants to max_users
- type=<string>: Type identifier
- spy=<string>: Channel name to spy
-+ welcome_prompt=<string>: File to playback after a successful join (PIN verified), but before connecting conference audio
-
- 3. Examples
-
-diff --git a/konference/member.c b/konference/member.c
-index 5370e73..080db81 100644
---- a/konference/member.c
-+++ b/konference/member.c
-@@ -829,6 +829,21 @@ int member_exec( struct ast_channel* chan, void* data )
- ) ;
-
- //
-+ // play welcome prompt
-+ //
-+ if (member->welcome_prompt) {
-+ ast_stopstream(chan);
-+ res = ast_streamfile(chan, member->welcome_prompt, chan->language);
-+ if (!res) {
-+ res = ast_waitstream(chan, "");
-+ ast_stopstream(chan);
-+ } else {
-+ ast_log(LOG_WARNING, "Failed to play welcome prompt '%s' on channel '%s'",
-+ member->welcome_prompt, chan->name);
-+ }
-+ }
-+
-+ //
- // process loop for new member ( this runs in it's own thread )
- //
-
-@@ -1064,6 +1079,7 @@ struct ast_conf_member* create_member( struct ast_channel *chan, const char* dat
- member->max_users = AST_CONF_MAX_USERS;
- member->type = NULL;
- member->spyee_channel_name = NULL;
-+ member->welcome_prompt = NULL;
-
- //
- // initialize member with passed data values
-@@ -1117,6 +1133,7 @@ struct ast_conf_member* create_member( struct ast_channel *chan, const char* dat
- static const char arg_max_users[] = "max_users";
- static const char arg_conf_type[] = "type";
- static const char arg_chanspy[] = "spy";
-+ static const char arg_welcomeprompt[] = "welcome_prompt";
-
- char *value = token;
- const char *key = strsep(&value, "=");
-@@ -1162,6 +1179,11 @@ struct ast_conf_member* create_member( struct ast_channel *chan, const char* dat
- member->spyee_channel_name = malloc( strlen( value ) + 1 ) ;
- strcpy( member->spyee_channel_name, value ) ;
- DEBUG("spyee channel name is %s\n", member->spyee_channel_name) ;
-+ } else if ( strncasecmp(key, arg_welcomeprompt, sizeof(arg_welcomeprompt) - 1) == 0 )
-+ {
-+ member->welcome_prompt = malloc( strlen( value ) + 1 ) ;
-+ strcpy( member->welcome_prompt, value ) ;
-+ DEBUG("welcome prompt is %s\n", member->welcome_prompt) ;
- } else
- {
- ast_log(LOG_WARNING, "unknown parameter %s with value %s\n", key, value) ;
-@@ -1729,6 +1751,9 @@ struct ast_conf_member* delete_member( struct ast_conf_member* member )
- // free the member's copy of the spyee channel name
- free(member->spyee_channel_name);
-
-+ // free the welcome prompt
-+ free(member->welcome_prompt);
-+
- // clear all sounds
- struct ast_conf_soundq *sound = member->soundq;
- struct ast_conf_soundq *next;
-diff --git a/konference/member.h b/konference/member.h
-index 28eff6b..52b5164 100644
---- a/konference/member.h
-+++ b/konference/member.h
-@@ -69,6 +69,7 @@ struct ast_conf_member
- char *type ; // conference type
- char* conf_name ; // name of the conference that own this member
- char *spyee_channel_name ; // spyee channel name
-+ char *welcome_prompt ;
- int max_users ; // zero or max users for this conference
-
- // voice flags
---
-1.7.0.4
-
diff --git a/main/asterisk-audio-konf/APKBUILD b/main/asterisk-audio-konf/APKBUILD
index 085766d1b..4077b23ca 100644
--- a/main/asterisk-audio-konf/APKBUILD
+++ b/main/asterisk-audio-konf/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=asterisk-audio-konf
_basever=0
-_gitver=100607
+_gitver=101026
pkgver=${_basever}_git${_gitver}
-pkgrel=2
+pkgrel=0
pkgdesc="A fork of AppKonference focused entirely on audio conferencing"
url="http://github.com/jthomerson/AsteriskAudioKonf/"
license="GPL"
@@ -13,13 +13,10 @@ makedepends="asterisk-dev"
install=
subpackages=
_snapfile="$pkgname-$pkgver.tar.bz2"
-source="http://build.alpinelinux.org:8010/distfiles/$_snapfile
- 0001-add-n-flag-to-prevent-dynamic-create-of-conference.patch
- 0002-member-do-not-exit-with-error-if-join_conference-fai.patch
- 0003-member-ability-to-play-an-announcement-to-joiner.patch
+source="http://dev.alpinelinux.org/~tteras/$_snapfile
"
-_gitver=100607
+_gitver=101026
_giturl="git://github.com/jthomerson/AsteriskAudioKonf.git"
@@ -49,10 +46,14 @@ snapshot() {
}
prepare() {
- cd "$_builddir"/..
- for i in "$srcdir"/*.patch; do
- patch -p1 -i "$i" || return 1
- done
+ cd "$_builddir"
+
+ # Enable Speex16 support
+ sed -e '/CPPFLAGS += -DAC_USE_SPEEX16/s/^\# *//' -i Makefile
+
+ #for i in "$srcdir"/*.patch; do
+ # patch -p1 -i "$i" || return 1
+ #done
}
build() {
@@ -65,7 +66,4 @@ package() {
make INSTALL_PREFIX="$pkgdir" install
}
-md5sums="8a716a2d1daa622f86a485804e403571 asterisk-audio-konf-0_git100607.tar.bz2
-937afbb9fa2ce57615f09919e15ab2d3 0001-add-n-flag-to-prevent-dynamic-create-of-conference.patch
-2d0d8bf20b2a22bd099f1461cfd1fe27 0002-member-do-not-exit-with-error-if-join_conference-fai.patch
-0d07d5e69e6aa75bd916ce29569a8509 0003-member-ability-to-play-an-announcement-to-joiner.patch"
+md5sums="9f560cae3afc363282db60e0d69c6643 asterisk-audio-konf-0_git101026.tar.bz2"