- Update to the latest 1.4.24.1;

- add missed CONFLICTS to prevent from clashing with 1.2 or 1.6;

- when installing package make sure to copy default configs into
actual configs to match what the port does.
This commit is contained in:
Maxim Sobolev 2009-04-06 10:53:45 +00:00
parent dff43f90d7
commit 5cf4df8d3e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=231689
12 changed files with 354 additions and 114 deletions

View File

@ -6,7 +6,7 @@
#
PORTNAME= asterisk
PORTVERSION= 1.4.23.1
PORTVERSION= 1.4.24.1
CATEGORIES= net
MASTER_SITES= http://downloads.digium.com/pub/asterisk/ \
http://downloads.digium.com/pub/asterisk/old-releases/ \
@ -42,6 +42,7 @@ MAKE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
NOISY_BUILD=YES \
ASTCFLAGS="${CFLAGS}"
MAN8= asterisk.8 astgenkey.8 autosupport.8 safe_asterisk.8
CONFLICTS= asterisk*-1.2* asterisk*-1.6*
OPTIONS= OGGVORBIS "Enable Ogg Vorbis support" on \
ODBC "Enable ODBC support" on \
@ -171,7 +172,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
PATCHFILES= asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz
PATCHFILES= asterisk-1.4.24-codec-negotiation-20090326.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else

View File

@ -1,6 +1,6 @@
MD5 (asterisk-1.4.23.1.tar.gz) = 4788954a93f5fbf78e55e2aa6e03329f
SHA256 (asterisk-1.4.23.1.tar.gz) = 03e2cf43ffe9935d56fa0ea3663fc9bd23ce9720682c79d6269e78a9a1629d63
SIZE (asterisk-1.4.23.1.tar.gz) = 11797019
MD5 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 463f945d6879406e98597373b3bc4700
SHA256 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 73ef08829ee7364dc05b8879578acdd73a4e1507fa108daac69661431d5ce7e9
SIZE (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 40152
MD5 (asterisk-1.4.24.1.tar.gz) = 2b74744350f420b3a94d5323c489426f
SHA256 (asterisk-1.4.24.1.tar.gz) = 0dfcdde0fcaad49cbb00d4c200265ac189891855eba73e114272caf6d3ee2816
SIZE (asterisk-1.4.24.1.tar.gz) = 11613305
MD5 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = e1345f680203fa89141f2a6f4c7c6b61
SHA256 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = cc2a62cced95cb0a043e04bfaa1e417b15cd7d4df6dd6bba2089b011599fae1b
SIZE (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = 40219

View File

@ -1,5 +1,5 @@
--- apps/app_dial.c.orig 2008-12-20 00:30:32.000000000 +0200
+++ apps/app_dial.c 2009-01-27 13:44:30.000000000 +0200
--- apps/app_dial.c.orig 2009-01-30 19:47:41.000000000 +0200
+++ apps/app_dial.c 2009-03-25 18:13:22.000000000 +0200
@@ -311,6 +311,8 @@
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
!chan->audiohooks && !peer->audiohooks)
@ -9,7 +9,7 @@
/* We define a custom "local user" structure because we
use it not only for keeping track of what is in use but
also for keeping track of who we're dialing. */
@@ -740,9 +742,9 @@
@@ -743,9 +745,9 @@
}
if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
@ -21,7 +21,7 @@
*to=0;
ast_cdr_noanswer(in->cdr);
strcpy(status, "CANCEL");
@@ -783,6 +785,56 @@
@@ -786,6 +788,56 @@
return peer;
}
@ -79,19 +79,18 @@
{
for (; *s; s++)
--- include/asterisk/features.h.orig 2008-11-02 21:51:17.000000000 +0200
+++ include/asterisk/features.h 2009-01-27 13:44:30.000000000 +0200
@@ -35,6 +35,20 @@
+++ include/asterisk/features.h 2009-03-25 18:14:38.000000000 +0200
@@ -35,6 +35,19 @@
#define PARK_APP_NAME "Park"
+#define FEATURE_RETURN_HANGUP -1
+#define FEATURE_RETURN_SUCCESSBREAK 0
+#define FEATURE_RETURN_PBX_KEEPALIVE AST_PBX_KEEPALIVE
+#define FEATURE_RETURN_NO_HANGUP_PEER AST_PBX_NO_HANGUP_PEER
+#define FEATURE_RETURN_PASSDIGITS 21
+#define FEATURE_RETURN_STOREDIGITS 22
+#define FEATURE_RETURN_SUCCESS 23
+#define FEATURE_RETURN_KEEPTRYING 24
+#define FEATURE_RETURN_PARKFAILED 25
+
+#define FEATURE_SENSE_CHAN (1 << 0)
+#define FEATURE_SENSE_PEER (1 << 1)
@ -101,7 +100,7 @@
/*! \brief main call feature structure */
struct ast_call_feature {
int feature_mask;
@@ -42,7 +56,7 @@
@@ -42,7 +55,7 @@
char sname[FEATURE_SNAME_LEN];
char exten[FEATURE_MAX_LEN];
char default_exten[FEATURE_MAX_LEN];
@ -110,7 +109,7 @@
unsigned int flags;
char app[FEATURE_APP_LEN];
char app_args[FEATURE_APP_ARGS_LEN];
@@ -51,6 +65,12 @@
@@ -51,6 +64,12 @@
};
@ -123,7 +122,7 @@
/*! \brief Park a call and read back parked location
* \param chan the channel to actually be parked
@@ -98,4 +118,10 @@
@@ -98,4 +117,10 @@
\param feature the ast_call_feature object which was registered before*/
void ast_unregister_feature(struct ast_call_feature *feature);
@ -134,38 +133,47 @@
+
+
#endif /* _AST_FEATURES_H */
--- res/res_features.c.orig 2009-01-27 13:45:07.000000000 +0200
+++ res/res_features.c 2009-01-27 13:51:36.000000000 +0200
@@ -536,15 +536,6 @@
{
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name);
}
--- res/res_features.c.orig 2009-03-25 18:13:42.000000000 +0200
+++ res/res_features.c 2009-03-25 19:22:17.000000000 +0200
@@ -72,14 +72,6 @@
#define AST_MAX_WATCHERS 256
#define MAX_DIAL_FEATURE_OPTIONS 30
-#define FEATURE_RETURN_HANGUP -1
-#define FEATURE_RETURN_SUCCESSBREAK 0
-#define FEATURE_RETURN_PASSDIGITS 21
-#define FEATURE_RETURN_STOREDIGITS 22
-#define FEATURE_RETURN_SUCCESS 23
-#define FEATURE_RETURN_KEEPTRYING 24
-#define FEATURE_RETURN_PARKFAILED 25
-
enum {
AST_FEATURE_FLAG_NEEDSDTMF = (1 << 0),
AST_FEATURE_FLAG_ONPEER = (1 << 1),
@@ -614,9 +606,6 @@
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name);
}
-#define FEATURE_SENSE_CHAN (1 << 0)
-#define FEATURE_SENSE_PEER (1 << 1)
-
/*! \brief
* set caller and callee according to the direction
@@ -1143,33 +1134,36 @@
*/
@@ -1223,36 +1212,39 @@
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
+ ast_rwlock_rdlock(&features_lock);
+ AST_LIST_LOCK(&feature_list);
+ ast_rwlock_wrlock(&features_lock);
+ AST_RWLIST_WRLOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
+ AST_LIST_UNLOCK(&feature_list);
+ AST_RWLIST_UNLOCK(&feature_list);
+ ast_rwlock_unlock(&features_lock);
+}
+
@ -199,12 +207,23 @@
!ast_strlen_zero(builtin_features[x].exten)) {
/* Feature is up for consideration */
if (!strcmp(builtin_features[x].exten, code)) {
if (option_debug > 2) {
ast_log(LOG_DEBUG, "Feature detected: fname=%s sname=%s exten=%s\n", builtin_features[x].fname, builtin_features[x].sname, builtin_features[x].exten);
}
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
@@ -1186,9 +1180,7 @@
@@ -1261,7 +1253,6 @@
}
}
}
- ast_rwlock_unlock(&features_lock);
if (ast_strlen_zero(dynamic_features) || feature_detected)
return res;
@@ -1269,9 +1260,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@ -214,7 +233,7 @@
continue;
}
@@ -1196,21 +1188,52 @@
@@ -1279,9 +1268,8 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
@ -226,12 +245,7 @@
break;
}
res = FEATURE_RETURN_PASSDIGITS;
} else if (!strncmp(feature->exten, code, strlen(code)))
res = FEATURE_RETURN_STOREDIGITS;
- AST_RWLIST_UNLOCK(&feature_list);
}
@@ -1294,6 +1282,39 @@
return res;
}

View File

@ -122,6 +122,68 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.conf-dist
@unexec if cmp -s %D/etc/asterisk/amd.conf %D/etc/asterisk/amd.conf-dist; then rm -f %D/etc/asterisk/amd.conf; fi
etc/asterisk/amd.conf-dist
@exec if test ! -e %D/etc/asterisk/adsi.conf; then cp -p %D/etc/asterisk/adsi.conf-dist %D/etc/asterisk/adsi.conf; fi
@exec if test ! -e %D/etc/asterisk/adtranvofr.conf; then cp -p %D/etc/asterisk/adtranvofr.conf-dist %D/etc/asterisk/adtranvofr.conf; fi
@exec if test ! -e %D/etc/asterisk/agents.conf; then cp -p %D/etc/asterisk/agents.conf-dist %D/etc/asterisk/agents.conf; fi
@exec if test ! -e %D/etc/asterisk/alarmreceiver.conf; then cp -p %D/etc/asterisk/alarmreceiver.conf-dist %D/etc/asterisk/alarmreceiver.conf; fi
@exec if test ! -e %D/etc/asterisk/alsa.conf; then cp -p %D/etc/asterisk/alsa.conf-dist %D/etc/asterisk/alsa.conf; fi
@exec if test ! -e %D/etc/asterisk/asterisk.adsi; then cp -p %D/etc/asterisk/asterisk.adsi-dist %D/etc/asterisk/asterisk.adsi; fi
@exec if test ! -e %D/etc/asterisk/asterisk.conf; then cp -p %D/etc/asterisk/asterisk.conf-dist %D/etc/asterisk/asterisk.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr.conf; then cp -p %D/etc/asterisk/cdr.conf-dist %D/etc/asterisk/cdr.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_custom.conf; then cp -p %D/etc/asterisk/cdr_custom.conf-dist %D/etc/asterisk/cdr_custom.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_manager.conf; then cp -p %D/etc/asterisk/cdr_manager.conf-dist %D/etc/asterisk/cdr_manager.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_odbc.conf; then cp -p %D/etc/asterisk/cdr_odbc.conf-dist %D/etc/asterisk/cdr_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_pgsql.conf; then cp -p %D/etc/asterisk/cdr_pgsql.conf-dist %D/etc/asterisk/cdr_pgsql.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_tds.conf; then cp -p %D/etc/asterisk/cdr_tds.conf-dist %D/etc/asterisk/cdr_tds.conf; fi
@exec if test ! -e %D/etc/asterisk/codecs.conf; then cp -p %D/etc/asterisk/codecs.conf-dist %D/etc/asterisk/codecs.conf; fi
@exec if test ! -e %D/etc/asterisk/dnsmgr.conf; then cp -p %D/etc/asterisk/dnsmgr.conf-dist %D/etc/asterisk/dnsmgr.conf; fi
@exec if test ! -e %D/etc/asterisk/dundi.conf; then cp -p %D/etc/asterisk/dundi.conf-dist %D/etc/asterisk/dundi.conf; fi
@exec if test ! -e %D/etc/asterisk/enum.conf; then cp -p %D/etc/asterisk/enum.conf-dist %D/etc/asterisk/enum.conf; fi
@exec if test ! -e %D/etc/asterisk/extconfig.conf; then cp -p %D/etc/asterisk/extconfig.conf-dist %D/etc/asterisk/extconfig.conf; fi
@exec if test ! -e %D/etc/asterisk/extensions.ael; then cp -p %D/etc/asterisk/extensions.ael-dist %D/etc/asterisk/extensions.ael; fi
@exec if test ! -e %D/etc/asterisk/extensions.conf; then cp -p %D/etc/asterisk/extensions.conf-dist %D/etc/asterisk/extensions.conf; fi
@exec if test ! -e %D/etc/asterisk/features.conf; then cp -p %D/etc/asterisk/features.conf-dist %D/etc/asterisk/features.conf; fi
@exec if test ! -e %D/etc/asterisk/festival.conf; then cp -p %D/etc/asterisk/festival.conf-dist %D/etc/asterisk/festival.conf; fi
@exec if test ! -e %D/etc/asterisk/iax.conf; then cp -p %D/etc/asterisk/iax.conf-dist %D/etc/asterisk/iax.conf; fi
@exec if test ! -e %D/etc/asterisk/iaxprov.conf; then cp -p %D/etc/asterisk/iaxprov.conf-dist %D/etc/asterisk/iaxprov.conf; fi
@exec if test ! -e %D/etc/asterisk/indications.conf; then cp -p %D/etc/asterisk/indications.conf-dist %D/etc/asterisk/indications.conf; fi
@exec if test ! -e %D/etc/asterisk/logger.conf; then cp -p %D/etc/asterisk/logger.conf-dist %D/etc/asterisk/logger.conf; fi
@exec if test ! -e %D/etc/asterisk/manager.conf; then cp -p %D/etc/asterisk/manager.conf-dist %D/etc/asterisk/manager.conf; fi
@exec if test ! -e %D/etc/asterisk/meetme.conf; then cp -p %D/etc/asterisk/meetme.conf-dist %D/etc/asterisk/meetme.conf; fi
@exec if test ! -e %D/etc/asterisk/mgcp.conf; then cp -p %D/etc/asterisk/mgcp.conf-dist %D/etc/asterisk/mgcp.conf; fi
@exec if test ! -e %D/etc/asterisk/misdn.conf; then cp -p %D/etc/asterisk/misdn.conf-dist %D/etc/asterisk/misdn.conf; fi
@exec if test ! -e %D/etc/asterisk/modules.conf; then cp -p %D/etc/asterisk/modules.conf-dist %D/etc/asterisk/modules.conf; fi
@exec if test ! -e %D/etc/asterisk/musiconhold.conf; then cp -p %D/etc/asterisk/musiconhold.conf-dist %D/etc/asterisk/musiconhold.conf; fi
@exec if test ! -e %D/etc/asterisk/osp.conf; then cp -p %D/etc/asterisk/osp.conf-dist %D/etc/asterisk/osp.conf; fi
@exec if test ! -e %D/etc/asterisk/oss.conf; then cp -p %D/etc/asterisk/oss.conf-dist %D/etc/asterisk/oss.conf; fi
@exec if test ! -e %D/etc/asterisk/phone.conf; then cp -p %D/etc/asterisk/phone.conf-dist %D/etc/asterisk/phone.conf; fi
@exec if test ! -e %D/etc/asterisk/privacy.conf; then cp -p %D/etc/asterisk/privacy.conf-dist %D/etc/asterisk/privacy.conf; fi
@exec if test ! -e %D/etc/asterisk/queues.conf; then cp -p %D/etc/asterisk/queues.conf-dist %D/etc/asterisk/queues.conf; fi
@exec if test ! -e %D/etc/asterisk/res_pgsql.conf; then cp -p %D/etc/asterisk/res_pgsql.conf-dist %D/etc/asterisk/res_pgsql.conf; fi
@exec if test ! -e %D/etc/asterisk/res_odbc.conf; then cp -p %D/etc/asterisk/res_odbc.conf-dist %D/etc/asterisk/res_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/rpt.conf; then cp -p %D/etc/asterisk/rpt.conf-dist %D/etc/asterisk/rpt.conf; fi
@exec if test ! -e %D/etc/asterisk/rtp.conf; then cp -p %D/etc/asterisk/rtp.conf-dist %D/etc/asterisk/rtp.conf; fi
@exec if test ! -e %D/etc/asterisk/sip.conf; then cp -p %D/etc/asterisk/sip.conf-dist %D/etc/asterisk/sip.conf; fi
@exec if test ! -e %D/etc/asterisk/sip_notify.conf; then cp -p %D/etc/asterisk/sip_notify.conf-dist %D/etc/asterisk/sip_notify.conf; fi
@exec if test ! -e %D/etc/asterisk/skinny.conf; then cp -p %D/etc/asterisk/skinny.conf-dist %D/etc/asterisk/skinny.conf; fi
@exec if test ! -e %D/etc/asterisk/telcordia-1.adsi; then cp -p %D/etc/asterisk/telcordia-1.adsi-dist %D/etc/asterisk/telcordia-1.adsi; fi
@exec if test ! -e %D/etc/asterisk/voicemail.conf; then cp -p %D/etc/asterisk/voicemail.conf-dist %D/etc/asterisk/voicemail.conf; fi
@exec if test ! -e %D/etc/asterisk/vpb.conf; then cp -p %D/etc/asterisk/vpb.conf-dist %D/etc/asterisk/vpb.conf; fi
@exec if test ! -e %D/etc/asterisk/chan_dahdi.conf; then cp -p %D/etc/asterisk/chan_dahdi.conf-dist %D/etc/asterisk/chan_dahdi.conf; fi
@exec if test ! -e %D/etc/asterisk/udptl.conf; then cp -p %D/etc/asterisk/udptl.conf-dist %D/etc/asterisk/udptl.conf; fi
@exec if test ! -e %D/etc/asterisk/users.conf; then cp -p %D/etc/asterisk/users.conf-dist %D/etc/asterisk/users.conf; fi
@exec if test ! -e %D/etc/asterisk/smdi.conf; then cp -p %D/etc/asterisk/smdi.conf-dist %D/etc/asterisk/smdi.conf; fi
@exec if test ! -e %D/etc/asterisk/sla.conf; then cp -p %D/etc/asterisk/sla.conf-dist %D/etc/asterisk/sla.conf; fi
@exec if test ! -e %D/etc/asterisk/say.conf; then cp -p %D/etc/asterisk/say.conf-dist %D/etc/asterisk/say.conf; fi
@exec if test ! -e %D/etc/asterisk/res_snmp.conf; then cp -p %D/etc/asterisk/res_snmp.conf-dist %D/etc/asterisk/res_snmp.conf; fi
@exec if test ! -e %D/etc/asterisk/muted.conf; then cp -p %D/etc/asterisk/muted.conf-dist %D/etc/asterisk/muted.conf; fi
@exec if test ! -e %D/etc/asterisk/jabber.conf; then cp -p %D/etc/asterisk/jabber.conf-dist %D/etc/asterisk/jabber.conf; fi
@exec if test ! -e %D/etc/asterisk/http.conf; then cp -p %D/etc/asterisk/http.conf-dist %D/etc/asterisk/http.conf; fi
@exec if test ! -e %D/etc/asterisk/h323.conf; then cp -p %D/etc/asterisk/h323.conf-dist %D/etc/asterisk/h323.conf; fi
@exec if test ! -e %D/etc/asterisk/gtalk.conf; then cp -p %D/etc/asterisk/gtalk.conf-dist %D/etc/asterisk/gtalk.conf; fi
@exec if test ! -e %D/etc/asterisk/func_odbc.conf; then cp -p %D/etc/asterisk/func_odbc.conf-dist %D/etc/asterisk/func_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/followme.conf; then cp -p %D/etc/asterisk/followme.conf-dist %D/etc/asterisk/followme.conf; fi
@exec if test ! -e %D/etc/asterisk/amd.conf; then cp -p %D/etc/asterisk/amd.conf-dist %D/etc/asterisk/amd.conf; fi
include/asterisk.h
include/asterisk/abstract_jb.h
include/asterisk/acl.h
@ -378,6 +440,7 @@ share/asterisk/images/asterisk-intro.jpg
share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav
share/asterisk/moh/CHANGES-asterisk-moh-freeplay-wav
share/asterisk/moh/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav
@ -855,6 +918,8 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk
@dirrm include/asterisk
@dirrmtry etc/asterisk
@exec mkdir -p %D/share/asterisk/sounds/fr
@exec mkdir -p %D/share/asterisk/sounds/es
@cwd /var
spool/asterisk/voicemail/default/1234/busy.gsm
spool/asterisk/voicemail/default/1234/unavail.gsm

View File

@ -6,7 +6,7 @@
#
PORTNAME= asterisk
PORTVERSION= 1.4.23.1
PORTVERSION= 1.4.24.1
CATEGORIES= net
MASTER_SITES= http://downloads.digium.com/pub/asterisk/ \
http://downloads.digium.com/pub/asterisk/old-releases/ \
@ -42,6 +42,7 @@ MAKE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
NOISY_BUILD=YES \
ASTCFLAGS="${CFLAGS}"
MAN8= asterisk.8 astgenkey.8 autosupport.8 safe_asterisk.8
CONFLICTS= asterisk*-1.2* asterisk*-1.6*
OPTIONS= OGGVORBIS "Enable Ogg Vorbis support" on \
ODBC "Enable ODBC support" on \
@ -171,7 +172,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
PATCHFILES= asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz
PATCHFILES= asterisk-1.4.24-codec-negotiation-20090326.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else

View File

@ -1,6 +1,6 @@
MD5 (asterisk-1.4.23.1.tar.gz) = 4788954a93f5fbf78e55e2aa6e03329f
SHA256 (asterisk-1.4.23.1.tar.gz) = 03e2cf43ffe9935d56fa0ea3663fc9bd23ce9720682c79d6269e78a9a1629d63
SIZE (asterisk-1.4.23.1.tar.gz) = 11797019
MD5 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 463f945d6879406e98597373b3bc4700
SHA256 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 73ef08829ee7364dc05b8879578acdd73a4e1507fa108daac69661431d5ce7e9
SIZE (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 40152
MD5 (asterisk-1.4.24.1.tar.gz) = 2b74744350f420b3a94d5323c489426f
SHA256 (asterisk-1.4.24.1.tar.gz) = 0dfcdde0fcaad49cbb00d4c200265ac189891855eba73e114272caf6d3ee2816
SIZE (asterisk-1.4.24.1.tar.gz) = 11613305
MD5 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = e1345f680203fa89141f2a6f4c7c6b61
SHA256 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = cc2a62cced95cb0a043e04bfaa1e417b15cd7d4df6dd6bba2089b011599fae1b
SIZE (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = 40219

View File

@ -1,5 +1,5 @@
--- apps/app_dial.c.orig 2008-12-20 00:30:32.000000000 +0200
+++ apps/app_dial.c 2009-01-27 13:44:30.000000000 +0200
--- apps/app_dial.c.orig 2009-01-30 19:47:41.000000000 +0200
+++ apps/app_dial.c 2009-03-25 18:13:22.000000000 +0200
@@ -311,6 +311,8 @@
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
!chan->audiohooks && !peer->audiohooks)
@ -9,7 +9,7 @@
/* We define a custom "local user" structure because we
use it not only for keeping track of what is in use but
also for keeping track of who we're dialing. */
@@ -740,9 +742,9 @@
@@ -743,9 +745,9 @@
}
if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
@ -21,7 +21,7 @@
*to=0;
ast_cdr_noanswer(in->cdr);
strcpy(status, "CANCEL");
@@ -783,6 +785,56 @@
@@ -786,6 +788,56 @@
return peer;
}
@ -79,19 +79,18 @@
{
for (; *s; s++)
--- include/asterisk/features.h.orig 2008-11-02 21:51:17.000000000 +0200
+++ include/asterisk/features.h 2009-01-27 13:44:30.000000000 +0200
@@ -35,6 +35,20 @@
+++ include/asterisk/features.h 2009-03-25 18:14:38.000000000 +0200
@@ -35,6 +35,19 @@
#define PARK_APP_NAME "Park"
+#define FEATURE_RETURN_HANGUP -1
+#define FEATURE_RETURN_SUCCESSBREAK 0
+#define FEATURE_RETURN_PBX_KEEPALIVE AST_PBX_KEEPALIVE
+#define FEATURE_RETURN_NO_HANGUP_PEER AST_PBX_NO_HANGUP_PEER
+#define FEATURE_RETURN_PASSDIGITS 21
+#define FEATURE_RETURN_STOREDIGITS 22
+#define FEATURE_RETURN_SUCCESS 23
+#define FEATURE_RETURN_KEEPTRYING 24
+#define FEATURE_RETURN_PARKFAILED 25
+
+#define FEATURE_SENSE_CHAN (1 << 0)
+#define FEATURE_SENSE_PEER (1 << 1)
@ -101,7 +100,7 @@
/*! \brief main call feature structure */
struct ast_call_feature {
int feature_mask;
@@ -42,7 +56,7 @@
@@ -42,7 +55,7 @@
char sname[FEATURE_SNAME_LEN];
char exten[FEATURE_MAX_LEN];
char default_exten[FEATURE_MAX_LEN];
@ -110,7 +109,7 @@
unsigned int flags;
char app[FEATURE_APP_LEN];
char app_args[FEATURE_APP_ARGS_LEN];
@@ -51,6 +65,12 @@
@@ -51,6 +64,12 @@
};
@ -123,7 +122,7 @@
/*! \brief Park a call and read back parked location
* \param chan the channel to actually be parked
@@ -98,4 +118,10 @@
@@ -98,4 +117,10 @@
\param feature the ast_call_feature object which was registered before*/
void ast_unregister_feature(struct ast_call_feature *feature);
@ -134,38 +133,47 @@
+
+
#endif /* _AST_FEATURES_H */
--- res/res_features.c.orig 2009-01-27 13:45:07.000000000 +0200
+++ res/res_features.c 2009-01-27 13:51:36.000000000 +0200
@@ -536,15 +536,6 @@
{
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name);
}
--- res/res_features.c.orig 2009-03-25 18:13:42.000000000 +0200
+++ res/res_features.c 2009-03-25 19:22:17.000000000 +0200
@@ -72,14 +72,6 @@
#define AST_MAX_WATCHERS 256
#define MAX_DIAL_FEATURE_OPTIONS 30
-#define FEATURE_RETURN_HANGUP -1
-#define FEATURE_RETURN_SUCCESSBREAK 0
-#define FEATURE_RETURN_PASSDIGITS 21
-#define FEATURE_RETURN_STOREDIGITS 22
-#define FEATURE_RETURN_SUCCESS 23
-#define FEATURE_RETURN_KEEPTRYING 24
-#define FEATURE_RETURN_PARKFAILED 25
-
enum {
AST_FEATURE_FLAG_NEEDSDTMF = (1 << 0),
AST_FEATURE_FLAG_ONPEER = (1 << 1),
@@ -614,9 +606,6 @@
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name);
}
-#define FEATURE_SENSE_CHAN (1 << 0)
-#define FEATURE_SENSE_PEER (1 << 1)
-
/*! \brief
* set caller and callee according to the direction
@@ -1143,33 +1134,36 @@
*/
@@ -1223,36 +1212,39 @@
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
+ ast_rwlock_rdlock(&features_lock);
+ AST_LIST_LOCK(&feature_list);
+ ast_rwlock_wrlock(&features_lock);
+ AST_RWLIST_WRLOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
+ AST_LIST_UNLOCK(&feature_list);
+ AST_RWLIST_UNLOCK(&feature_list);
+ ast_rwlock_unlock(&features_lock);
+}
+
@ -199,12 +207,23 @@
!ast_strlen_zero(builtin_features[x].exten)) {
/* Feature is up for consideration */
if (!strcmp(builtin_features[x].exten, code)) {
if (option_debug > 2) {
ast_log(LOG_DEBUG, "Feature detected: fname=%s sname=%s exten=%s\n", builtin_features[x].fname, builtin_features[x].sname, builtin_features[x].exten);
}
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
@@ -1186,9 +1180,7 @@
@@ -1261,7 +1253,6 @@
}
}
}
- ast_rwlock_unlock(&features_lock);
if (ast_strlen_zero(dynamic_features) || feature_detected)
return res;
@@ -1269,9 +1260,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@ -214,7 +233,7 @@
continue;
}
@@ -1196,21 +1188,52 @@
@@ -1279,9 +1268,8 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
@ -226,12 +245,7 @@
break;
}
res = FEATURE_RETURN_PASSDIGITS;
} else if (!strncmp(feature->exten, code, strlen(code)))
res = FEATURE_RETURN_STOREDIGITS;
- AST_RWLIST_UNLOCK(&feature_list);
}
@@ -1294,6 +1282,39 @@
return res;
}

View File

@ -122,6 +122,68 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.conf-dist
@unexec if cmp -s %D/etc/asterisk/amd.conf %D/etc/asterisk/amd.conf-dist; then rm -f %D/etc/asterisk/amd.conf; fi
etc/asterisk/amd.conf-dist
@exec if test ! -e %D/etc/asterisk/adsi.conf; then cp -p %D/etc/asterisk/adsi.conf-dist %D/etc/asterisk/adsi.conf; fi
@exec if test ! -e %D/etc/asterisk/adtranvofr.conf; then cp -p %D/etc/asterisk/adtranvofr.conf-dist %D/etc/asterisk/adtranvofr.conf; fi
@exec if test ! -e %D/etc/asterisk/agents.conf; then cp -p %D/etc/asterisk/agents.conf-dist %D/etc/asterisk/agents.conf; fi
@exec if test ! -e %D/etc/asterisk/alarmreceiver.conf; then cp -p %D/etc/asterisk/alarmreceiver.conf-dist %D/etc/asterisk/alarmreceiver.conf; fi
@exec if test ! -e %D/etc/asterisk/alsa.conf; then cp -p %D/etc/asterisk/alsa.conf-dist %D/etc/asterisk/alsa.conf; fi
@exec if test ! -e %D/etc/asterisk/asterisk.adsi; then cp -p %D/etc/asterisk/asterisk.adsi-dist %D/etc/asterisk/asterisk.adsi; fi
@exec if test ! -e %D/etc/asterisk/asterisk.conf; then cp -p %D/etc/asterisk/asterisk.conf-dist %D/etc/asterisk/asterisk.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr.conf; then cp -p %D/etc/asterisk/cdr.conf-dist %D/etc/asterisk/cdr.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_custom.conf; then cp -p %D/etc/asterisk/cdr_custom.conf-dist %D/etc/asterisk/cdr_custom.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_manager.conf; then cp -p %D/etc/asterisk/cdr_manager.conf-dist %D/etc/asterisk/cdr_manager.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_odbc.conf; then cp -p %D/etc/asterisk/cdr_odbc.conf-dist %D/etc/asterisk/cdr_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_pgsql.conf; then cp -p %D/etc/asterisk/cdr_pgsql.conf-dist %D/etc/asterisk/cdr_pgsql.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_tds.conf; then cp -p %D/etc/asterisk/cdr_tds.conf-dist %D/etc/asterisk/cdr_tds.conf; fi
@exec if test ! -e %D/etc/asterisk/codecs.conf; then cp -p %D/etc/asterisk/codecs.conf-dist %D/etc/asterisk/codecs.conf; fi
@exec if test ! -e %D/etc/asterisk/dnsmgr.conf; then cp -p %D/etc/asterisk/dnsmgr.conf-dist %D/etc/asterisk/dnsmgr.conf; fi
@exec if test ! -e %D/etc/asterisk/dundi.conf; then cp -p %D/etc/asterisk/dundi.conf-dist %D/etc/asterisk/dundi.conf; fi
@exec if test ! -e %D/etc/asterisk/enum.conf; then cp -p %D/etc/asterisk/enum.conf-dist %D/etc/asterisk/enum.conf; fi
@exec if test ! -e %D/etc/asterisk/extconfig.conf; then cp -p %D/etc/asterisk/extconfig.conf-dist %D/etc/asterisk/extconfig.conf; fi
@exec if test ! -e %D/etc/asterisk/extensions.ael; then cp -p %D/etc/asterisk/extensions.ael-dist %D/etc/asterisk/extensions.ael; fi
@exec if test ! -e %D/etc/asterisk/extensions.conf; then cp -p %D/etc/asterisk/extensions.conf-dist %D/etc/asterisk/extensions.conf; fi
@exec if test ! -e %D/etc/asterisk/features.conf; then cp -p %D/etc/asterisk/features.conf-dist %D/etc/asterisk/features.conf; fi
@exec if test ! -e %D/etc/asterisk/festival.conf; then cp -p %D/etc/asterisk/festival.conf-dist %D/etc/asterisk/festival.conf; fi
@exec if test ! -e %D/etc/asterisk/iax.conf; then cp -p %D/etc/asterisk/iax.conf-dist %D/etc/asterisk/iax.conf; fi
@exec if test ! -e %D/etc/asterisk/iaxprov.conf; then cp -p %D/etc/asterisk/iaxprov.conf-dist %D/etc/asterisk/iaxprov.conf; fi
@exec if test ! -e %D/etc/asterisk/indications.conf; then cp -p %D/etc/asterisk/indications.conf-dist %D/etc/asterisk/indications.conf; fi
@exec if test ! -e %D/etc/asterisk/logger.conf; then cp -p %D/etc/asterisk/logger.conf-dist %D/etc/asterisk/logger.conf; fi
@exec if test ! -e %D/etc/asterisk/manager.conf; then cp -p %D/etc/asterisk/manager.conf-dist %D/etc/asterisk/manager.conf; fi
@exec if test ! -e %D/etc/asterisk/meetme.conf; then cp -p %D/etc/asterisk/meetme.conf-dist %D/etc/asterisk/meetme.conf; fi
@exec if test ! -e %D/etc/asterisk/mgcp.conf; then cp -p %D/etc/asterisk/mgcp.conf-dist %D/etc/asterisk/mgcp.conf; fi
@exec if test ! -e %D/etc/asterisk/misdn.conf; then cp -p %D/etc/asterisk/misdn.conf-dist %D/etc/asterisk/misdn.conf; fi
@exec if test ! -e %D/etc/asterisk/modules.conf; then cp -p %D/etc/asterisk/modules.conf-dist %D/etc/asterisk/modules.conf; fi
@exec if test ! -e %D/etc/asterisk/musiconhold.conf; then cp -p %D/etc/asterisk/musiconhold.conf-dist %D/etc/asterisk/musiconhold.conf; fi
@exec if test ! -e %D/etc/asterisk/osp.conf; then cp -p %D/etc/asterisk/osp.conf-dist %D/etc/asterisk/osp.conf; fi
@exec if test ! -e %D/etc/asterisk/oss.conf; then cp -p %D/etc/asterisk/oss.conf-dist %D/etc/asterisk/oss.conf; fi
@exec if test ! -e %D/etc/asterisk/phone.conf; then cp -p %D/etc/asterisk/phone.conf-dist %D/etc/asterisk/phone.conf; fi
@exec if test ! -e %D/etc/asterisk/privacy.conf; then cp -p %D/etc/asterisk/privacy.conf-dist %D/etc/asterisk/privacy.conf; fi
@exec if test ! -e %D/etc/asterisk/queues.conf; then cp -p %D/etc/asterisk/queues.conf-dist %D/etc/asterisk/queues.conf; fi
@exec if test ! -e %D/etc/asterisk/res_pgsql.conf; then cp -p %D/etc/asterisk/res_pgsql.conf-dist %D/etc/asterisk/res_pgsql.conf; fi
@exec if test ! -e %D/etc/asterisk/res_odbc.conf; then cp -p %D/etc/asterisk/res_odbc.conf-dist %D/etc/asterisk/res_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/rpt.conf; then cp -p %D/etc/asterisk/rpt.conf-dist %D/etc/asterisk/rpt.conf; fi
@exec if test ! -e %D/etc/asterisk/rtp.conf; then cp -p %D/etc/asterisk/rtp.conf-dist %D/etc/asterisk/rtp.conf; fi
@exec if test ! -e %D/etc/asterisk/sip.conf; then cp -p %D/etc/asterisk/sip.conf-dist %D/etc/asterisk/sip.conf; fi
@exec if test ! -e %D/etc/asterisk/sip_notify.conf; then cp -p %D/etc/asterisk/sip_notify.conf-dist %D/etc/asterisk/sip_notify.conf; fi
@exec if test ! -e %D/etc/asterisk/skinny.conf; then cp -p %D/etc/asterisk/skinny.conf-dist %D/etc/asterisk/skinny.conf; fi
@exec if test ! -e %D/etc/asterisk/telcordia-1.adsi; then cp -p %D/etc/asterisk/telcordia-1.adsi-dist %D/etc/asterisk/telcordia-1.adsi; fi
@exec if test ! -e %D/etc/asterisk/voicemail.conf; then cp -p %D/etc/asterisk/voicemail.conf-dist %D/etc/asterisk/voicemail.conf; fi
@exec if test ! -e %D/etc/asterisk/vpb.conf; then cp -p %D/etc/asterisk/vpb.conf-dist %D/etc/asterisk/vpb.conf; fi
@exec if test ! -e %D/etc/asterisk/chan_dahdi.conf; then cp -p %D/etc/asterisk/chan_dahdi.conf-dist %D/etc/asterisk/chan_dahdi.conf; fi
@exec if test ! -e %D/etc/asterisk/udptl.conf; then cp -p %D/etc/asterisk/udptl.conf-dist %D/etc/asterisk/udptl.conf; fi
@exec if test ! -e %D/etc/asterisk/users.conf; then cp -p %D/etc/asterisk/users.conf-dist %D/etc/asterisk/users.conf; fi
@exec if test ! -e %D/etc/asterisk/smdi.conf; then cp -p %D/etc/asterisk/smdi.conf-dist %D/etc/asterisk/smdi.conf; fi
@exec if test ! -e %D/etc/asterisk/sla.conf; then cp -p %D/etc/asterisk/sla.conf-dist %D/etc/asterisk/sla.conf; fi
@exec if test ! -e %D/etc/asterisk/say.conf; then cp -p %D/etc/asterisk/say.conf-dist %D/etc/asterisk/say.conf; fi
@exec if test ! -e %D/etc/asterisk/res_snmp.conf; then cp -p %D/etc/asterisk/res_snmp.conf-dist %D/etc/asterisk/res_snmp.conf; fi
@exec if test ! -e %D/etc/asterisk/muted.conf; then cp -p %D/etc/asterisk/muted.conf-dist %D/etc/asterisk/muted.conf; fi
@exec if test ! -e %D/etc/asterisk/jabber.conf; then cp -p %D/etc/asterisk/jabber.conf-dist %D/etc/asterisk/jabber.conf; fi
@exec if test ! -e %D/etc/asterisk/http.conf; then cp -p %D/etc/asterisk/http.conf-dist %D/etc/asterisk/http.conf; fi
@exec if test ! -e %D/etc/asterisk/h323.conf; then cp -p %D/etc/asterisk/h323.conf-dist %D/etc/asterisk/h323.conf; fi
@exec if test ! -e %D/etc/asterisk/gtalk.conf; then cp -p %D/etc/asterisk/gtalk.conf-dist %D/etc/asterisk/gtalk.conf; fi
@exec if test ! -e %D/etc/asterisk/func_odbc.conf; then cp -p %D/etc/asterisk/func_odbc.conf-dist %D/etc/asterisk/func_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/followme.conf; then cp -p %D/etc/asterisk/followme.conf-dist %D/etc/asterisk/followme.conf; fi
@exec if test ! -e %D/etc/asterisk/amd.conf; then cp -p %D/etc/asterisk/amd.conf-dist %D/etc/asterisk/amd.conf; fi
include/asterisk.h
include/asterisk/abstract_jb.h
include/asterisk/acl.h
@ -378,6 +440,7 @@ share/asterisk/images/asterisk-intro.jpg
share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav
share/asterisk/moh/CHANGES-asterisk-moh-freeplay-wav
share/asterisk/moh/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav
@ -855,6 +918,8 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk
@dirrm include/asterisk
@dirrmtry etc/asterisk
@exec mkdir -p %D/share/asterisk/sounds/fr
@exec mkdir -p %D/share/asterisk/sounds/es
@cwd /var
spool/asterisk/voicemail/default/1234/busy.gsm
spool/asterisk/voicemail/default/1234/unavail.gsm

View File

@ -6,7 +6,7 @@
#
PORTNAME= asterisk
PORTVERSION= 1.4.23.1
PORTVERSION= 1.4.24.1
CATEGORIES= net
MASTER_SITES= http://downloads.digium.com/pub/asterisk/ \
http://downloads.digium.com/pub/asterisk/old-releases/ \
@ -42,6 +42,7 @@ MAKE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
NOISY_BUILD=YES \
ASTCFLAGS="${CFLAGS}"
MAN8= asterisk.8 astgenkey.8 autosupport.8 safe_asterisk.8
CONFLICTS= asterisk*-1.2* asterisk*-1.6*
OPTIONS= OGGVORBIS "Enable Ogg Vorbis support" on \
ODBC "Enable ODBC support" on \
@ -171,7 +172,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
PATCHFILES= asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz
PATCHFILES= asterisk-1.4.24-codec-negotiation-20090326.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else

View File

@ -1,6 +1,6 @@
MD5 (asterisk-1.4.23.1.tar.gz) = 4788954a93f5fbf78e55e2aa6e03329f
SHA256 (asterisk-1.4.23.1.tar.gz) = 03e2cf43ffe9935d56fa0ea3663fc9bd23ce9720682c79d6269e78a9a1629d63
SIZE (asterisk-1.4.23.1.tar.gz) = 11797019
MD5 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 463f945d6879406e98597373b3bc4700
SHA256 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 73ef08829ee7364dc05b8879578acdd73a4e1507fa108daac69661431d5ce7e9
SIZE (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 40152
MD5 (asterisk-1.4.24.1.tar.gz) = 2b74744350f420b3a94d5323c489426f
SHA256 (asterisk-1.4.24.1.tar.gz) = 0dfcdde0fcaad49cbb00d4c200265ac189891855eba73e114272caf6d3ee2816
SIZE (asterisk-1.4.24.1.tar.gz) = 11613305
MD5 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = e1345f680203fa89141f2a6f4c7c6b61
SHA256 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = cc2a62cced95cb0a043e04bfaa1e417b15cd7d4df6dd6bba2089b011599fae1b
SIZE (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = 40219

View File

@ -1,5 +1,5 @@
--- apps/app_dial.c.orig 2008-12-20 00:30:32.000000000 +0200
+++ apps/app_dial.c 2009-01-27 13:44:30.000000000 +0200
--- apps/app_dial.c.orig 2009-01-30 19:47:41.000000000 +0200
+++ apps/app_dial.c 2009-03-25 18:13:22.000000000 +0200
@@ -311,6 +311,8 @@
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
!chan->audiohooks && !peer->audiohooks)
@ -9,7 +9,7 @@
/* We define a custom "local user" structure because we
use it not only for keeping track of what is in use but
also for keeping track of who we're dialing. */
@@ -740,9 +742,9 @@
@@ -743,9 +745,9 @@
}
if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
@ -21,7 +21,7 @@
*to=0;
ast_cdr_noanswer(in->cdr);
strcpy(status, "CANCEL");
@@ -783,6 +785,56 @@
@@ -786,6 +788,56 @@
return peer;
}
@ -79,19 +79,18 @@
{
for (; *s; s++)
--- include/asterisk/features.h.orig 2008-11-02 21:51:17.000000000 +0200
+++ include/asterisk/features.h 2009-01-27 13:44:30.000000000 +0200
@@ -35,6 +35,20 @@
+++ include/asterisk/features.h 2009-03-25 18:14:38.000000000 +0200
@@ -35,6 +35,19 @@
#define PARK_APP_NAME "Park"
+#define FEATURE_RETURN_HANGUP -1
+#define FEATURE_RETURN_SUCCESSBREAK 0
+#define FEATURE_RETURN_PBX_KEEPALIVE AST_PBX_KEEPALIVE
+#define FEATURE_RETURN_NO_HANGUP_PEER AST_PBX_NO_HANGUP_PEER
+#define FEATURE_RETURN_PASSDIGITS 21
+#define FEATURE_RETURN_STOREDIGITS 22
+#define FEATURE_RETURN_SUCCESS 23
+#define FEATURE_RETURN_KEEPTRYING 24
+#define FEATURE_RETURN_PARKFAILED 25
+
+#define FEATURE_SENSE_CHAN (1 << 0)
+#define FEATURE_SENSE_PEER (1 << 1)
@ -101,7 +100,7 @@
/*! \brief main call feature structure */
struct ast_call_feature {
int feature_mask;
@@ -42,7 +56,7 @@
@@ -42,7 +55,7 @@
char sname[FEATURE_SNAME_LEN];
char exten[FEATURE_MAX_LEN];
char default_exten[FEATURE_MAX_LEN];
@ -110,7 +109,7 @@
unsigned int flags;
char app[FEATURE_APP_LEN];
char app_args[FEATURE_APP_ARGS_LEN];
@@ -51,6 +65,12 @@
@@ -51,6 +64,12 @@
};
@ -123,7 +122,7 @@
/*! \brief Park a call and read back parked location
* \param chan the channel to actually be parked
@@ -98,4 +118,10 @@
@@ -98,4 +117,10 @@
\param feature the ast_call_feature object which was registered before*/
void ast_unregister_feature(struct ast_call_feature *feature);
@ -134,38 +133,47 @@
+
+
#endif /* _AST_FEATURES_H */
--- res/res_features.c.orig 2009-01-27 13:45:07.000000000 +0200
+++ res/res_features.c 2009-01-27 13:51:36.000000000 +0200
@@ -536,15 +536,6 @@
{
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name);
}
--- res/res_features.c.orig 2009-03-25 18:13:42.000000000 +0200
+++ res/res_features.c 2009-03-25 19:22:17.000000000 +0200
@@ -72,14 +72,6 @@
#define AST_MAX_WATCHERS 256
#define MAX_DIAL_FEATURE_OPTIONS 30
-#define FEATURE_RETURN_HANGUP -1
-#define FEATURE_RETURN_SUCCESSBREAK 0
-#define FEATURE_RETURN_PASSDIGITS 21
-#define FEATURE_RETURN_STOREDIGITS 22
-#define FEATURE_RETURN_SUCCESS 23
-#define FEATURE_RETURN_KEEPTRYING 24
-#define FEATURE_RETURN_PARKFAILED 25
-
enum {
AST_FEATURE_FLAG_NEEDSDTMF = (1 << 0),
AST_FEATURE_FLAG_ONPEER = (1 << 1),
@@ -614,9 +606,6 @@
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name);
}
-#define FEATURE_SENSE_CHAN (1 << 0)
-#define FEATURE_SENSE_PEER (1 << 1)
-
/*! \brief
* set caller and callee according to the direction
@@ -1143,33 +1134,36 @@
*/
@@ -1223,36 +1212,39 @@
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
+ ast_rwlock_rdlock(&features_lock);
+ AST_LIST_LOCK(&feature_list);
+ ast_rwlock_wrlock(&features_lock);
+ AST_RWLIST_WRLOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
+ AST_LIST_UNLOCK(&feature_list);
+ AST_RWLIST_UNLOCK(&feature_list);
+ ast_rwlock_unlock(&features_lock);
+}
+
@ -199,12 +207,23 @@
!ast_strlen_zero(builtin_features[x].exten)) {
/* Feature is up for consideration */
if (!strcmp(builtin_features[x].exten, code)) {
if (option_debug > 2) {
ast_log(LOG_DEBUG, "Feature detected: fname=%s sname=%s exten=%s\n", builtin_features[x].fname, builtin_features[x].sname, builtin_features[x].exten);
}
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
@@ -1186,9 +1180,7 @@
@@ -1261,7 +1253,6 @@
}
}
}
- ast_rwlock_unlock(&features_lock);
if (ast_strlen_zero(dynamic_features) || feature_detected)
return res;
@@ -1269,9 +1260,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@ -214,7 +233,7 @@
continue;
}
@@ -1196,21 +1188,52 @@
@@ -1279,9 +1268,8 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
@ -226,12 +245,7 @@
break;
}
res = FEATURE_RETURN_PASSDIGITS;
} else if (!strncmp(feature->exten, code, strlen(code)))
res = FEATURE_RETURN_STOREDIGITS;
- AST_RWLIST_UNLOCK(&feature_list);
}
@@ -1294,6 +1282,39 @@
return res;
}

View File

@ -122,6 +122,68 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.conf-dist
@unexec if cmp -s %D/etc/asterisk/amd.conf %D/etc/asterisk/amd.conf-dist; then rm -f %D/etc/asterisk/amd.conf; fi
etc/asterisk/amd.conf-dist
@exec if test ! -e %D/etc/asterisk/adsi.conf; then cp -p %D/etc/asterisk/adsi.conf-dist %D/etc/asterisk/adsi.conf; fi
@exec if test ! -e %D/etc/asterisk/adtranvofr.conf; then cp -p %D/etc/asterisk/adtranvofr.conf-dist %D/etc/asterisk/adtranvofr.conf; fi
@exec if test ! -e %D/etc/asterisk/agents.conf; then cp -p %D/etc/asterisk/agents.conf-dist %D/etc/asterisk/agents.conf; fi
@exec if test ! -e %D/etc/asterisk/alarmreceiver.conf; then cp -p %D/etc/asterisk/alarmreceiver.conf-dist %D/etc/asterisk/alarmreceiver.conf; fi
@exec if test ! -e %D/etc/asterisk/alsa.conf; then cp -p %D/etc/asterisk/alsa.conf-dist %D/etc/asterisk/alsa.conf; fi
@exec if test ! -e %D/etc/asterisk/asterisk.adsi; then cp -p %D/etc/asterisk/asterisk.adsi-dist %D/etc/asterisk/asterisk.adsi; fi
@exec if test ! -e %D/etc/asterisk/asterisk.conf; then cp -p %D/etc/asterisk/asterisk.conf-dist %D/etc/asterisk/asterisk.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr.conf; then cp -p %D/etc/asterisk/cdr.conf-dist %D/etc/asterisk/cdr.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_custom.conf; then cp -p %D/etc/asterisk/cdr_custom.conf-dist %D/etc/asterisk/cdr_custom.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_manager.conf; then cp -p %D/etc/asterisk/cdr_manager.conf-dist %D/etc/asterisk/cdr_manager.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_odbc.conf; then cp -p %D/etc/asterisk/cdr_odbc.conf-dist %D/etc/asterisk/cdr_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_pgsql.conf; then cp -p %D/etc/asterisk/cdr_pgsql.conf-dist %D/etc/asterisk/cdr_pgsql.conf; fi
@exec if test ! -e %D/etc/asterisk/cdr_tds.conf; then cp -p %D/etc/asterisk/cdr_tds.conf-dist %D/etc/asterisk/cdr_tds.conf; fi
@exec if test ! -e %D/etc/asterisk/codecs.conf; then cp -p %D/etc/asterisk/codecs.conf-dist %D/etc/asterisk/codecs.conf; fi
@exec if test ! -e %D/etc/asterisk/dnsmgr.conf; then cp -p %D/etc/asterisk/dnsmgr.conf-dist %D/etc/asterisk/dnsmgr.conf; fi
@exec if test ! -e %D/etc/asterisk/dundi.conf; then cp -p %D/etc/asterisk/dundi.conf-dist %D/etc/asterisk/dundi.conf; fi
@exec if test ! -e %D/etc/asterisk/enum.conf; then cp -p %D/etc/asterisk/enum.conf-dist %D/etc/asterisk/enum.conf; fi
@exec if test ! -e %D/etc/asterisk/extconfig.conf; then cp -p %D/etc/asterisk/extconfig.conf-dist %D/etc/asterisk/extconfig.conf; fi
@exec if test ! -e %D/etc/asterisk/extensions.ael; then cp -p %D/etc/asterisk/extensions.ael-dist %D/etc/asterisk/extensions.ael; fi
@exec if test ! -e %D/etc/asterisk/extensions.conf; then cp -p %D/etc/asterisk/extensions.conf-dist %D/etc/asterisk/extensions.conf; fi
@exec if test ! -e %D/etc/asterisk/features.conf; then cp -p %D/etc/asterisk/features.conf-dist %D/etc/asterisk/features.conf; fi
@exec if test ! -e %D/etc/asterisk/festival.conf; then cp -p %D/etc/asterisk/festival.conf-dist %D/etc/asterisk/festival.conf; fi
@exec if test ! -e %D/etc/asterisk/iax.conf; then cp -p %D/etc/asterisk/iax.conf-dist %D/etc/asterisk/iax.conf; fi
@exec if test ! -e %D/etc/asterisk/iaxprov.conf; then cp -p %D/etc/asterisk/iaxprov.conf-dist %D/etc/asterisk/iaxprov.conf; fi
@exec if test ! -e %D/etc/asterisk/indications.conf; then cp -p %D/etc/asterisk/indications.conf-dist %D/etc/asterisk/indications.conf; fi
@exec if test ! -e %D/etc/asterisk/logger.conf; then cp -p %D/etc/asterisk/logger.conf-dist %D/etc/asterisk/logger.conf; fi
@exec if test ! -e %D/etc/asterisk/manager.conf; then cp -p %D/etc/asterisk/manager.conf-dist %D/etc/asterisk/manager.conf; fi
@exec if test ! -e %D/etc/asterisk/meetme.conf; then cp -p %D/etc/asterisk/meetme.conf-dist %D/etc/asterisk/meetme.conf; fi
@exec if test ! -e %D/etc/asterisk/mgcp.conf; then cp -p %D/etc/asterisk/mgcp.conf-dist %D/etc/asterisk/mgcp.conf; fi
@exec if test ! -e %D/etc/asterisk/misdn.conf; then cp -p %D/etc/asterisk/misdn.conf-dist %D/etc/asterisk/misdn.conf; fi
@exec if test ! -e %D/etc/asterisk/modules.conf; then cp -p %D/etc/asterisk/modules.conf-dist %D/etc/asterisk/modules.conf; fi
@exec if test ! -e %D/etc/asterisk/musiconhold.conf; then cp -p %D/etc/asterisk/musiconhold.conf-dist %D/etc/asterisk/musiconhold.conf; fi
@exec if test ! -e %D/etc/asterisk/osp.conf; then cp -p %D/etc/asterisk/osp.conf-dist %D/etc/asterisk/osp.conf; fi
@exec if test ! -e %D/etc/asterisk/oss.conf; then cp -p %D/etc/asterisk/oss.conf-dist %D/etc/asterisk/oss.conf; fi
@exec if test ! -e %D/etc/asterisk/phone.conf; then cp -p %D/etc/asterisk/phone.conf-dist %D/etc/asterisk/phone.conf; fi
@exec if test ! -e %D/etc/asterisk/privacy.conf; then cp -p %D/etc/asterisk/privacy.conf-dist %D/etc/asterisk/privacy.conf; fi
@exec if test ! -e %D/etc/asterisk/queues.conf; then cp -p %D/etc/asterisk/queues.conf-dist %D/etc/asterisk/queues.conf; fi
@exec if test ! -e %D/etc/asterisk/res_pgsql.conf; then cp -p %D/etc/asterisk/res_pgsql.conf-dist %D/etc/asterisk/res_pgsql.conf; fi
@exec if test ! -e %D/etc/asterisk/res_odbc.conf; then cp -p %D/etc/asterisk/res_odbc.conf-dist %D/etc/asterisk/res_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/rpt.conf; then cp -p %D/etc/asterisk/rpt.conf-dist %D/etc/asterisk/rpt.conf; fi
@exec if test ! -e %D/etc/asterisk/rtp.conf; then cp -p %D/etc/asterisk/rtp.conf-dist %D/etc/asterisk/rtp.conf; fi
@exec if test ! -e %D/etc/asterisk/sip.conf; then cp -p %D/etc/asterisk/sip.conf-dist %D/etc/asterisk/sip.conf; fi
@exec if test ! -e %D/etc/asterisk/sip_notify.conf; then cp -p %D/etc/asterisk/sip_notify.conf-dist %D/etc/asterisk/sip_notify.conf; fi
@exec if test ! -e %D/etc/asterisk/skinny.conf; then cp -p %D/etc/asterisk/skinny.conf-dist %D/etc/asterisk/skinny.conf; fi
@exec if test ! -e %D/etc/asterisk/telcordia-1.adsi; then cp -p %D/etc/asterisk/telcordia-1.adsi-dist %D/etc/asterisk/telcordia-1.adsi; fi
@exec if test ! -e %D/etc/asterisk/voicemail.conf; then cp -p %D/etc/asterisk/voicemail.conf-dist %D/etc/asterisk/voicemail.conf; fi
@exec if test ! -e %D/etc/asterisk/vpb.conf; then cp -p %D/etc/asterisk/vpb.conf-dist %D/etc/asterisk/vpb.conf; fi
@exec if test ! -e %D/etc/asterisk/chan_dahdi.conf; then cp -p %D/etc/asterisk/chan_dahdi.conf-dist %D/etc/asterisk/chan_dahdi.conf; fi
@exec if test ! -e %D/etc/asterisk/udptl.conf; then cp -p %D/etc/asterisk/udptl.conf-dist %D/etc/asterisk/udptl.conf; fi
@exec if test ! -e %D/etc/asterisk/users.conf; then cp -p %D/etc/asterisk/users.conf-dist %D/etc/asterisk/users.conf; fi
@exec if test ! -e %D/etc/asterisk/smdi.conf; then cp -p %D/etc/asterisk/smdi.conf-dist %D/etc/asterisk/smdi.conf; fi
@exec if test ! -e %D/etc/asterisk/sla.conf; then cp -p %D/etc/asterisk/sla.conf-dist %D/etc/asterisk/sla.conf; fi
@exec if test ! -e %D/etc/asterisk/say.conf; then cp -p %D/etc/asterisk/say.conf-dist %D/etc/asterisk/say.conf; fi
@exec if test ! -e %D/etc/asterisk/res_snmp.conf; then cp -p %D/etc/asterisk/res_snmp.conf-dist %D/etc/asterisk/res_snmp.conf; fi
@exec if test ! -e %D/etc/asterisk/muted.conf; then cp -p %D/etc/asterisk/muted.conf-dist %D/etc/asterisk/muted.conf; fi
@exec if test ! -e %D/etc/asterisk/jabber.conf; then cp -p %D/etc/asterisk/jabber.conf-dist %D/etc/asterisk/jabber.conf; fi
@exec if test ! -e %D/etc/asterisk/http.conf; then cp -p %D/etc/asterisk/http.conf-dist %D/etc/asterisk/http.conf; fi
@exec if test ! -e %D/etc/asterisk/h323.conf; then cp -p %D/etc/asterisk/h323.conf-dist %D/etc/asterisk/h323.conf; fi
@exec if test ! -e %D/etc/asterisk/gtalk.conf; then cp -p %D/etc/asterisk/gtalk.conf-dist %D/etc/asterisk/gtalk.conf; fi
@exec if test ! -e %D/etc/asterisk/func_odbc.conf; then cp -p %D/etc/asterisk/func_odbc.conf-dist %D/etc/asterisk/func_odbc.conf; fi
@exec if test ! -e %D/etc/asterisk/followme.conf; then cp -p %D/etc/asterisk/followme.conf-dist %D/etc/asterisk/followme.conf; fi
@exec if test ! -e %D/etc/asterisk/amd.conf; then cp -p %D/etc/asterisk/amd.conf-dist %D/etc/asterisk/amd.conf; fi
include/asterisk.h
include/asterisk/abstract_jb.h
include/asterisk/acl.h
@ -378,6 +440,7 @@ share/asterisk/images/asterisk-intro.jpg
share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav
share/asterisk/moh/CHANGES-asterisk-moh-freeplay-wav
share/asterisk/moh/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav
@ -855,6 +918,8 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk
@dirrm include/asterisk
@dirrmtry etc/asterisk
@exec mkdir -p %D/share/asterisk/sounds/fr
@exec mkdir -p %D/share/asterisk/sounds/es
@cwd /var
spool/asterisk/voicemail/default/1234/busy.gsm
spool/asterisk/voicemail/default/1234/unavail.gsm