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:
parent
dff43f90d7
commit
5cf4df8d3e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=231689
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user