1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-28 01:06:17 +00:00

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

View File

@ -1,6 +1,6 @@
MD5 (asterisk-1.4.23.1.tar.gz) = 4788954a93f5fbf78e55e2aa6e03329f MD5 (asterisk-1.4.24.1.tar.gz) = 2b74744350f420b3a94d5323c489426f
SHA256 (asterisk-1.4.23.1.tar.gz) = 03e2cf43ffe9935d56fa0ea3663fc9bd23ce9720682c79d6269e78a9a1629d63 SHA256 (asterisk-1.4.24.1.tar.gz) = 0dfcdde0fcaad49cbb00d4c200265ac189891855eba73e114272caf6d3ee2816
SIZE (asterisk-1.4.23.1.tar.gz) = 11797019 SIZE (asterisk-1.4.24.1.tar.gz) = 11613305
MD5 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 463f945d6879406e98597373b3bc4700 MD5 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = e1345f680203fa89141f2a6f4c7c6b61
SHA256 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 73ef08829ee7364dc05b8879578acdd73a4e1507fa108daac69661431d5ce7e9 SHA256 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = cc2a62cced95cb0a043e04bfaa1e417b15cd7d4df6dd6bba2089b011599fae1b
SIZE (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 40152 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.orig 2009-01-30 19:47:41.000000000 +0200
+++ apps/app_dial.c 2009-01-27 13:44:30.000000000 +0200 +++ apps/app_dial.c 2009-03-25 18:13:22.000000000 +0200
@@ -311,6 +311,8 @@ @@ -311,6 +311,8 @@
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \ OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
!chan->audiohooks && !peer->audiohooks) !chan->audiohooks && !peer->audiohooks)
@ -9,7 +9,7 @@
/* We define a custom "local user" structure because we /* We define a custom "local user" structure because we
use it not only for keeping track of what is in use but use it not only for keeping track of what is in use but
also for keeping track of who we're dialing. */ 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) && if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
@ -21,7 +21,7 @@
*to=0; *to=0;
ast_cdr_noanswer(in->cdr); ast_cdr_noanswer(in->cdr);
strcpy(status, "CANCEL"); strcpy(status, "CANCEL");
@@ -783,6 +785,56 @@ @@ -786,6 +788,56 @@
return peer; return peer;
} }
@ -79,19 +79,18 @@
{ {
for (; *s; s++) for (; *s; s++)
--- include/asterisk/features.h.orig 2008-11-02 21:51:17.000000000 +0200 --- 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 +++ include/asterisk/features.h 2009-03-25 18:14:38.000000000 +0200
@@ -35,6 +35,20 @@ @@ -35,6 +35,19 @@
#define PARK_APP_NAME "Park" #define PARK_APP_NAME "Park"
+#define FEATURE_RETURN_HANGUP -1 +#define FEATURE_RETURN_HANGUP -1
+#define FEATURE_RETURN_SUCCESSBREAK 0 +#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_PASSDIGITS 21
+#define FEATURE_RETURN_STOREDIGITS 22 +#define FEATURE_RETURN_STOREDIGITS 22
+#define FEATURE_RETURN_SUCCESS 23 +#define FEATURE_RETURN_SUCCESS 23
+#define FEATURE_RETURN_KEEPTRYING 24 +#define FEATURE_RETURN_KEEPTRYING 24
+#define FEATURE_RETURN_PARKFAILED 25
+ +
+#define FEATURE_SENSE_CHAN (1 << 0) +#define FEATURE_SENSE_CHAN (1 << 0)
+#define FEATURE_SENSE_PEER (1 << 1) +#define FEATURE_SENSE_PEER (1 << 1)
@ -101,7 +100,7 @@
/*! \brief main call feature structure */ /*! \brief main call feature structure */
struct ast_call_feature { struct ast_call_feature {
int feature_mask; int feature_mask;
@@ -42,7 +56,7 @@ @@ -42,7 +55,7 @@
char sname[FEATURE_SNAME_LEN]; char sname[FEATURE_SNAME_LEN];
char exten[FEATURE_MAX_LEN]; char exten[FEATURE_MAX_LEN];
char default_exten[FEATURE_MAX_LEN]; char default_exten[FEATURE_MAX_LEN];
@ -110,7 +109,7 @@
unsigned int flags; unsigned int flags;
char app[FEATURE_APP_LEN]; char app[FEATURE_APP_LEN];
char app_args[FEATURE_APP_ARGS_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 /*! \brief Park a call and read back parked location
* \param chan the channel to actually be parked * \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*/ \param feature the ast_call_feature object which was registered before*/
void ast_unregister_feature(struct ast_call_feature *feature); void ast_unregister_feature(struct ast_call_feature *feature);
@ -134,38 +133,47 @@
+ +
+ +
#endif /* _AST_FEATURES_H */ #endif /* _AST_FEATURES_H */
--- res/res_features.c.orig 2009-01-27 13:45:07.000000000 +0200 --- res/res_features.c.orig 2009-03-25 18:13:42.000000000 +0200
+++ res/res_features.c 2009-01-27 13:51:36.000000000 +0200 +++ res/res_features.c 2009-03-25 19:22:17.000000000 +0200
@@ -536,15 +536,6 @@ @@ -72,14 +72,6 @@
{ #define AST_MAX_WATCHERS 256
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name); #define MAX_DIAL_FEATURE_OPTIONS 30
}
-#define FEATURE_RETURN_HANGUP -1 -#define FEATURE_RETURN_HANGUP -1
-#define FEATURE_RETURN_SUCCESSBREAK 0 -#define FEATURE_RETURN_SUCCESSBREAK 0
-#define FEATURE_RETURN_PASSDIGITS 21 -#define FEATURE_RETURN_PASSDIGITS 21
-#define FEATURE_RETURN_STOREDIGITS 22 -#define FEATURE_RETURN_STOREDIGITS 22
-#define FEATURE_RETURN_SUCCESS 23 -#define FEATURE_RETURN_SUCCESS 23
-#define FEATURE_RETURN_KEEPTRYING 24 -#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_CHAN (1 << 0)
-#define FEATURE_SENSE_PEER (1 << 1) -#define FEATURE_SENSE_PEER (1 << 1)
-
/*! \brief /*! \brief
* set caller and callee according to the direction * set caller and callee according to the direction
@@ -1143,33 +1134,36 @@ */
@@ -1223,36 +1212,39 @@
return res; return res;
} }
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense) -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) +void ast_features_lock(void)
+{ +{
+ ast_rwlock_rdlock(&features_lock); + ast_rwlock_wrlock(&features_lock);
+ AST_LIST_LOCK(&feature_list); + AST_RWLIST_WRLOCK(&feature_list);
+} +}
+ +
+void ast_features_unlock(void) +void ast_features_unlock(void)
+{ +{
+ AST_LIST_UNLOCK(&feature_list); + AST_RWLIST_UNLOCK(&feature_list);
+ ast_rwlock_unlock(&features_lock); + ast_rwlock_unlock(&features_lock);
+} +}
+ +
@ -199,12 +207,23 @@
!ast_strlen_zero(builtin_features[x].exten)) { !ast_strlen_zero(builtin_features[x].exten)) {
/* Feature is up for consideration */ /* Feature is up for consideration */
if (!strcmp(builtin_features[x].exten, code)) { 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); - res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x]; + result->builtin_feature = &builtin_features[x];
feature_detected = 1; feature_detected = 1;
break; break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) { } 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); tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) { while ((tok = strsep(&tmp, "#"))) {
@ -214,7 +233,7 @@
continue; continue;
} }
@@ -1196,21 +1188,52 @@ @@ -1279,9 +1268,8 @@
if (!strcmp(feature->exten, code)) { if (!strcmp(feature->exten, code)) {
if (option_verbose > 2) if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok); ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
@ -226,12 +245,7 @@
break; break;
} }
res = FEATURE_RETURN_PASSDIGITS; res = FEATURE_RETURN_PASSDIGITS;
} else if (!strncmp(feature->exten, code, strlen(code))) @@ -1294,6 +1282,39 @@
res = FEATURE_RETURN_STOREDIGITS;
- AST_RWLIST_UNLOCK(&feature_list);
}
return res; return res;
} }

View File

@ -122,6 +122,68 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.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 @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 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.h
include/asterisk/abstract_jb.h include/asterisk/abstract_jb.h
include/asterisk/acl.h include/asterisk/acl.h
@ -378,6 +440,7 @@ share/asterisk/images/asterisk-intro.jpg
share/asterisk/keys/freeworlddialup.pub share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav 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/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav share/asterisk/moh/fpm-sunshine.wav
@ -855,6 +918,8 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk @dirrm lib/asterisk
@dirrm include/asterisk @dirrm include/asterisk
@dirrmtry etc/asterisk @dirrmtry etc/asterisk
@exec mkdir -p %D/share/asterisk/sounds/fr
@exec mkdir -p %D/share/asterisk/sounds/es
@cwd /var @cwd /var
spool/asterisk/voicemail/default/1234/busy.gsm spool/asterisk/voicemail/default/1234/busy.gsm
spool/asterisk/voicemail/default/1234/unavail.gsm spool/asterisk/voicemail/default/1234/unavail.gsm

View File

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

View File

@ -1,6 +1,6 @@
MD5 (asterisk-1.4.23.1.tar.gz) = 4788954a93f5fbf78e55e2aa6e03329f MD5 (asterisk-1.4.24.1.tar.gz) = 2b74744350f420b3a94d5323c489426f
SHA256 (asterisk-1.4.23.1.tar.gz) = 03e2cf43ffe9935d56fa0ea3663fc9bd23ce9720682c79d6269e78a9a1629d63 SHA256 (asterisk-1.4.24.1.tar.gz) = 0dfcdde0fcaad49cbb00d4c200265ac189891855eba73e114272caf6d3ee2816
SIZE (asterisk-1.4.23.1.tar.gz) = 11797019 SIZE (asterisk-1.4.24.1.tar.gz) = 11613305
MD5 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 463f945d6879406e98597373b3bc4700 MD5 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = e1345f680203fa89141f2a6f4c7c6b61
SHA256 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 73ef08829ee7364dc05b8879578acdd73a4e1507fa108daac69661431d5ce7e9 SHA256 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = cc2a62cced95cb0a043e04bfaa1e417b15cd7d4df6dd6bba2089b011599fae1b
SIZE (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 40152 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.orig 2009-01-30 19:47:41.000000000 +0200
+++ apps/app_dial.c 2009-01-27 13:44:30.000000000 +0200 +++ apps/app_dial.c 2009-03-25 18:13:22.000000000 +0200
@@ -311,6 +311,8 @@ @@ -311,6 +311,8 @@
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \ OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
!chan->audiohooks && !peer->audiohooks) !chan->audiohooks && !peer->audiohooks)
@ -9,7 +9,7 @@
/* We define a custom "local user" structure because we /* We define a custom "local user" structure because we
use it not only for keeping track of what is in use but use it not only for keeping track of what is in use but
also for keeping track of who we're dialing. */ 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) && if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
@ -21,7 +21,7 @@
*to=0; *to=0;
ast_cdr_noanswer(in->cdr); ast_cdr_noanswer(in->cdr);
strcpy(status, "CANCEL"); strcpy(status, "CANCEL");
@@ -783,6 +785,56 @@ @@ -786,6 +788,56 @@
return peer; return peer;
} }
@ -79,19 +79,18 @@
{ {
for (; *s; s++) for (; *s; s++)
--- include/asterisk/features.h.orig 2008-11-02 21:51:17.000000000 +0200 --- 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 +++ include/asterisk/features.h 2009-03-25 18:14:38.000000000 +0200
@@ -35,6 +35,20 @@ @@ -35,6 +35,19 @@
#define PARK_APP_NAME "Park" #define PARK_APP_NAME "Park"
+#define FEATURE_RETURN_HANGUP -1 +#define FEATURE_RETURN_HANGUP -1
+#define FEATURE_RETURN_SUCCESSBREAK 0 +#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_PASSDIGITS 21
+#define FEATURE_RETURN_STOREDIGITS 22 +#define FEATURE_RETURN_STOREDIGITS 22
+#define FEATURE_RETURN_SUCCESS 23 +#define FEATURE_RETURN_SUCCESS 23
+#define FEATURE_RETURN_KEEPTRYING 24 +#define FEATURE_RETURN_KEEPTRYING 24
+#define FEATURE_RETURN_PARKFAILED 25
+ +
+#define FEATURE_SENSE_CHAN (1 << 0) +#define FEATURE_SENSE_CHAN (1 << 0)
+#define FEATURE_SENSE_PEER (1 << 1) +#define FEATURE_SENSE_PEER (1 << 1)
@ -101,7 +100,7 @@
/*! \brief main call feature structure */ /*! \brief main call feature structure */
struct ast_call_feature { struct ast_call_feature {
int feature_mask; int feature_mask;
@@ -42,7 +56,7 @@ @@ -42,7 +55,7 @@
char sname[FEATURE_SNAME_LEN]; char sname[FEATURE_SNAME_LEN];
char exten[FEATURE_MAX_LEN]; char exten[FEATURE_MAX_LEN];
char default_exten[FEATURE_MAX_LEN]; char default_exten[FEATURE_MAX_LEN];
@ -110,7 +109,7 @@
unsigned int flags; unsigned int flags;
char app[FEATURE_APP_LEN]; char app[FEATURE_APP_LEN];
char app_args[FEATURE_APP_ARGS_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 /*! \brief Park a call and read back parked location
* \param chan the channel to actually be parked * \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*/ \param feature the ast_call_feature object which was registered before*/
void ast_unregister_feature(struct ast_call_feature *feature); void ast_unregister_feature(struct ast_call_feature *feature);
@ -134,38 +133,47 @@
+ +
+ +
#endif /* _AST_FEATURES_H */ #endif /* _AST_FEATURES_H */
--- res/res_features.c.orig 2009-01-27 13:45:07.000000000 +0200 --- res/res_features.c.orig 2009-03-25 18:13:42.000000000 +0200
+++ res/res_features.c 2009-01-27 13:51:36.000000000 +0200 +++ res/res_features.c 2009-03-25 19:22:17.000000000 +0200
@@ -536,15 +536,6 @@ @@ -72,14 +72,6 @@
{ #define AST_MAX_WATCHERS 256
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name); #define MAX_DIAL_FEATURE_OPTIONS 30
}
-#define FEATURE_RETURN_HANGUP -1 -#define FEATURE_RETURN_HANGUP -1
-#define FEATURE_RETURN_SUCCESSBREAK 0 -#define FEATURE_RETURN_SUCCESSBREAK 0
-#define FEATURE_RETURN_PASSDIGITS 21 -#define FEATURE_RETURN_PASSDIGITS 21
-#define FEATURE_RETURN_STOREDIGITS 22 -#define FEATURE_RETURN_STOREDIGITS 22
-#define FEATURE_RETURN_SUCCESS 23 -#define FEATURE_RETURN_SUCCESS 23
-#define FEATURE_RETURN_KEEPTRYING 24 -#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_CHAN (1 << 0)
-#define FEATURE_SENSE_PEER (1 << 1) -#define FEATURE_SENSE_PEER (1 << 1)
-
/*! \brief /*! \brief
* set caller and callee according to the direction * set caller and callee according to the direction
@@ -1143,33 +1134,36 @@ */
@@ -1223,36 +1212,39 @@
return res; return res;
} }
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense) -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) +void ast_features_lock(void)
+{ +{
+ ast_rwlock_rdlock(&features_lock); + ast_rwlock_wrlock(&features_lock);
+ AST_LIST_LOCK(&feature_list); + AST_RWLIST_WRLOCK(&feature_list);
+} +}
+ +
+void ast_features_unlock(void) +void ast_features_unlock(void)
+{ +{
+ AST_LIST_UNLOCK(&feature_list); + AST_RWLIST_UNLOCK(&feature_list);
+ ast_rwlock_unlock(&features_lock); + ast_rwlock_unlock(&features_lock);
+} +}
+ +
@ -199,12 +207,23 @@
!ast_strlen_zero(builtin_features[x].exten)) { !ast_strlen_zero(builtin_features[x].exten)) {
/* Feature is up for consideration */ /* Feature is up for consideration */
if (!strcmp(builtin_features[x].exten, code)) { 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); - res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x]; + result->builtin_feature = &builtin_features[x];
feature_detected = 1; feature_detected = 1;
break; break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) { } 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); tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) { while ((tok = strsep(&tmp, "#"))) {
@ -214,7 +233,7 @@
continue; continue;
} }
@@ -1196,21 +1188,52 @@ @@ -1279,9 +1268,8 @@
if (!strcmp(feature->exten, code)) { if (!strcmp(feature->exten, code)) {
if (option_verbose > 2) if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok); ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
@ -226,12 +245,7 @@
break; break;
} }
res = FEATURE_RETURN_PASSDIGITS; res = FEATURE_RETURN_PASSDIGITS;
} else if (!strncmp(feature->exten, code, strlen(code))) @@ -1294,6 +1282,39 @@
res = FEATURE_RETURN_STOREDIGITS;
- AST_RWLIST_UNLOCK(&feature_list);
}
return res; return res;
} }

View File

@ -122,6 +122,68 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.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 @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 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.h
include/asterisk/abstract_jb.h include/asterisk/abstract_jb.h
include/asterisk/acl.h include/asterisk/acl.h
@ -378,6 +440,7 @@ share/asterisk/images/asterisk-intro.jpg
share/asterisk/keys/freeworlddialup.pub share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav 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/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav share/asterisk/moh/fpm-sunshine.wav
@ -855,6 +918,8 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk @dirrm lib/asterisk
@dirrm include/asterisk @dirrm include/asterisk
@dirrmtry etc/asterisk @dirrmtry etc/asterisk
@exec mkdir -p %D/share/asterisk/sounds/fr
@exec mkdir -p %D/share/asterisk/sounds/es
@cwd /var @cwd /var
spool/asterisk/voicemail/default/1234/busy.gsm spool/asterisk/voicemail/default/1234/busy.gsm
spool/asterisk/voicemail/default/1234/unavail.gsm spool/asterisk/voicemail/default/1234/unavail.gsm

View File

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

View File

@ -1,6 +1,6 @@
MD5 (asterisk-1.4.23.1.tar.gz) = 4788954a93f5fbf78e55e2aa6e03329f MD5 (asterisk-1.4.24.1.tar.gz) = 2b74744350f420b3a94d5323c489426f
SHA256 (asterisk-1.4.23.1.tar.gz) = 03e2cf43ffe9935d56fa0ea3663fc9bd23ce9720682c79d6269e78a9a1629d63 SHA256 (asterisk-1.4.24.1.tar.gz) = 0dfcdde0fcaad49cbb00d4c200265ac189891855eba73e114272caf6d3ee2816
SIZE (asterisk-1.4.23.1.tar.gz) = 11797019 SIZE (asterisk-1.4.24.1.tar.gz) = 11613305
MD5 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 463f945d6879406e98597373b3bc4700 MD5 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = e1345f680203fa89141f2a6f4c7c6b61
SHA256 (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 73ef08829ee7364dc05b8879578acdd73a4e1507fa108daac69661431d5ce7e9 SHA256 (asterisk-1.4.24-codec-negotiation-20090326.diff.gz) = cc2a62cced95cb0a043e04bfaa1e417b15cd7d4df6dd6bba2089b011599fae1b
SIZE (asterisk-1.4.23.1-codec-negotiation-20090126.diff.gz) = 40152 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.orig 2009-01-30 19:47:41.000000000 +0200
+++ apps/app_dial.c 2009-01-27 13:44:30.000000000 +0200 +++ apps/app_dial.c 2009-03-25 18:13:22.000000000 +0200
@@ -311,6 +311,8 @@ @@ -311,6 +311,8 @@
OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \ OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
!chan->audiohooks && !peer->audiohooks) !chan->audiohooks && !peer->audiohooks)
@ -9,7 +9,7 @@
/* We define a custom "local user" structure because we /* We define a custom "local user" structure because we
use it not only for keeping track of what is in use but use it not only for keeping track of what is in use but
also for keeping track of who we're dialing. */ 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) && if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
@ -21,7 +21,7 @@
*to=0; *to=0;
ast_cdr_noanswer(in->cdr); ast_cdr_noanswer(in->cdr);
strcpy(status, "CANCEL"); strcpy(status, "CANCEL");
@@ -783,6 +785,56 @@ @@ -786,6 +788,56 @@
return peer; return peer;
} }
@ -79,19 +79,18 @@
{ {
for (; *s; s++) for (; *s; s++)
--- include/asterisk/features.h.orig 2008-11-02 21:51:17.000000000 +0200 --- 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 +++ include/asterisk/features.h 2009-03-25 18:14:38.000000000 +0200
@@ -35,6 +35,20 @@ @@ -35,6 +35,19 @@
#define PARK_APP_NAME "Park" #define PARK_APP_NAME "Park"
+#define FEATURE_RETURN_HANGUP -1 +#define FEATURE_RETURN_HANGUP -1
+#define FEATURE_RETURN_SUCCESSBREAK 0 +#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_PASSDIGITS 21
+#define FEATURE_RETURN_STOREDIGITS 22 +#define FEATURE_RETURN_STOREDIGITS 22
+#define FEATURE_RETURN_SUCCESS 23 +#define FEATURE_RETURN_SUCCESS 23
+#define FEATURE_RETURN_KEEPTRYING 24 +#define FEATURE_RETURN_KEEPTRYING 24
+#define FEATURE_RETURN_PARKFAILED 25
+ +
+#define FEATURE_SENSE_CHAN (1 << 0) +#define FEATURE_SENSE_CHAN (1 << 0)
+#define FEATURE_SENSE_PEER (1 << 1) +#define FEATURE_SENSE_PEER (1 << 1)
@ -101,7 +100,7 @@
/*! \brief main call feature structure */ /*! \brief main call feature structure */
struct ast_call_feature { struct ast_call_feature {
int feature_mask; int feature_mask;
@@ -42,7 +56,7 @@ @@ -42,7 +55,7 @@
char sname[FEATURE_SNAME_LEN]; char sname[FEATURE_SNAME_LEN];
char exten[FEATURE_MAX_LEN]; char exten[FEATURE_MAX_LEN];
char default_exten[FEATURE_MAX_LEN]; char default_exten[FEATURE_MAX_LEN];
@ -110,7 +109,7 @@
unsigned int flags; unsigned int flags;
char app[FEATURE_APP_LEN]; char app[FEATURE_APP_LEN];
char app_args[FEATURE_APP_ARGS_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 /*! \brief Park a call and read back parked location
* \param chan the channel to actually be parked * \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*/ \param feature the ast_call_feature object which was registered before*/
void ast_unregister_feature(struct ast_call_feature *feature); void ast_unregister_feature(struct ast_call_feature *feature);
@ -134,38 +133,47 @@
+ +
+ +
#endif /* _AST_FEATURES_H */ #endif /* _AST_FEATURES_H */
--- res/res_features.c.orig 2009-01-27 13:45:07.000000000 +0200 --- res/res_features.c.orig 2009-03-25 18:13:42.000000000 +0200
+++ res/res_features.c 2009-01-27 13:51:36.000000000 +0200 +++ res/res_features.c 2009-03-25 19:22:17.000000000 +0200
@@ -536,15 +536,6 @@ @@ -72,14 +72,6 @@
{ #define AST_MAX_WATCHERS 256
return masq_park_call(rchan, peer, timeout, extout, 1, orig_chan_name); #define MAX_DIAL_FEATURE_OPTIONS 30
}
-#define FEATURE_RETURN_HANGUP -1 -#define FEATURE_RETURN_HANGUP -1
-#define FEATURE_RETURN_SUCCESSBREAK 0 -#define FEATURE_RETURN_SUCCESSBREAK 0
-#define FEATURE_RETURN_PASSDIGITS 21 -#define FEATURE_RETURN_PASSDIGITS 21
-#define FEATURE_RETURN_STOREDIGITS 22 -#define FEATURE_RETURN_STOREDIGITS 22
-#define FEATURE_RETURN_SUCCESS 23 -#define FEATURE_RETURN_SUCCESS 23
-#define FEATURE_RETURN_KEEPTRYING 24 -#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_CHAN (1 << 0)
-#define FEATURE_SENSE_PEER (1 << 1) -#define FEATURE_SENSE_PEER (1 << 1)
-
/*! \brief /*! \brief
* set caller and callee according to the direction * set caller and callee according to the direction
@@ -1143,33 +1134,36 @@ */
@@ -1223,36 +1212,39 @@
return res; return res;
} }
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense) -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) +void ast_features_lock(void)
+{ +{
+ ast_rwlock_rdlock(&features_lock); + ast_rwlock_wrlock(&features_lock);
+ AST_LIST_LOCK(&feature_list); + AST_RWLIST_WRLOCK(&feature_list);
+} +}
+ +
+void ast_features_unlock(void) +void ast_features_unlock(void)
+{ +{
+ AST_LIST_UNLOCK(&feature_list); + AST_RWLIST_UNLOCK(&feature_list);
+ ast_rwlock_unlock(&features_lock); + ast_rwlock_unlock(&features_lock);
+} +}
+ +
@ -199,12 +207,23 @@
!ast_strlen_zero(builtin_features[x].exten)) { !ast_strlen_zero(builtin_features[x].exten)) {
/* Feature is up for consideration */ /* Feature is up for consideration */
if (!strcmp(builtin_features[x].exten, code)) { 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); - res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x]; + result->builtin_feature = &builtin_features[x];
feature_detected = 1; feature_detected = 1;
break; break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) { } 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); tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) { while ((tok = strsep(&tmp, "#"))) {
@ -214,7 +233,7 @@
continue; continue;
} }
@@ -1196,21 +1188,52 @@ @@ -1279,9 +1268,8 @@
if (!strcmp(feature->exten, code)) { if (!strcmp(feature->exten, code)) {
if (option_verbose > 2) if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok); ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
@ -226,12 +245,7 @@
break; break;
} }
res = FEATURE_RETURN_PASSDIGITS; res = FEATURE_RETURN_PASSDIGITS;
} else if (!strncmp(feature->exten, code, strlen(code))) @@ -1294,6 +1282,39 @@
res = FEATURE_RETURN_STOREDIGITS;
- AST_RWLIST_UNLOCK(&feature_list);
}
return res; return res;
} }

View File

@ -122,6 +122,68 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.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 @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 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.h
include/asterisk/abstract_jb.h include/asterisk/abstract_jb.h
include/asterisk/acl.h include/asterisk/acl.h
@ -378,6 +440,7 @@ share/asterisk/images/asterisk-intro.jpg
share/asterisk/keys/freeworlddialup.pub share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav 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/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav share/asterisk/moh/fpm-sunshine.wav
@ -855,6 +918,8 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk @dirrm lib/asterisk
@dirrm include/asterisk @dirrm include/asterisk
@dirrmtry etc/asterisk @dirrmtry etc/asterisk
@exec mkdir -p %D/share/asterisk/sounds/fr
@exec mkdir -p %D/share/asterisk/sounds/es
@cwd /var @cwd /var
spool/asterisk/voicemail/default/1234/busy.gsm spool/asterisk/voicemail/default/1234/busy.gsm
spool/asterisk/voicemail/default/1234/unavail.gsm spool/asterisk/voicemail/default/1234/unavail.gsm