summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorMaxim Sobolev <sobomax@FreeBSD.org>2009-02-14 21:17:22 +0000
committerMaxim Sobolev <sobomax@FreeBSD.org>2009-02-14 21:17:22 +0000
commit38e1f1309ac8d4eb76a1e98e8d2e5aa5e573755b (patch)
treeb10d7f236d9bf4d625ffaf944f93a31f5c4c27fe /net
parentRemove CONFLICTS to qt4, bump PORTREVISION (diff)
Add asterisk16 after repo-copy from net/asterisk. Some functions (e.g.
DAHDI support) are still missed and will be added on later date.
Notes
Notes: svn path=/head/; revision=228315
Diffstat (limited to 'net')
-rw-r--r--net/Makefile1
-rw-r--r--net/asterisk16/Makefile12
-rw-r--r--net/asterisk16/distinfo9
-rw-r--r--net/asterisk16/files/dtmf_debug.diff225
-rw-r--r--net/asterisk16/files/feature_disconnect.diff276
-rw-r--r--net/asterisk16/files/nocodecnego-patch-Makefile115
-rw-r--r--net/asterisk16/files/patch-Makefile.rules14
-rw-r--r--net/asterisk16/files/patch-agi::Makefile9
-rw-r--r--net/asterisk16/files/patch-channels::Makefile10
-rw-r--r--net/asterisk16/files/patch-channels::chan_sip.c11
-rw-r--r--net/asterisk16/files/patch-channels_h323_Makefile.in14
-rw-r--r--net/asterisk16/files/patch-configure38
-rw-r--r--net/asterisk16/files/patch-include::asterisk::utils.h13
-rw-r--r--net/asterisk16/files/patch-main::Makefile28
-rw-r--r--net/asterisk16/files/patch-main::db.c20
-rw-r--r--net/asterisk16/files/patch-main::frame.c10
-rw-r--r--net/asterisk16/files/patch-main::manager.c14
-rw-r--r--net/asterisk16/files/patch-main::utils.c4
-rw-r--r--net/asterisk16/files/patch-res_res__agi.c14
-rw-r--r--net/asterisk16/files/rtp_force_dtmf-codecnego.diff86
-rw-r--r--net/asterisk16/files/rtp_force_dtmf-nocodecnego.diff70
-rw-r--r--net/asterisk16/files/sip_force_callid.diff12
-rw-r--r--net/asterisk16/files/sip_set_auth.diff45
-rw-r--r--net/asterisk16/pkg-plist1253
24 files changed, 970 insertions, 1333 deletions
diff --git a/net/Makefile b/net/Makefile
index ab1fa459f1a7..4b4d50d15fa3 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -35,6 +35,7 @@
SUBDIR += asterisk12
SUBDIR += asterisk12-addons
SUBDIR += asterisk12-app-ldap
+ SUBDIR += asterisk16
SUBDIR += astfax
SUBDIR += astmanproxy
SUBDIR += atmsupport
diff --git a/net/asterisk16/Makefile b/net/asterisk16/Makefile
index d96ea23339e6..51b29b855b93 100644
--- a/net/asterisk16/Makefile
+++ b/net/asterisk16/Makefile
@@ -6,8 +6,8 @@
#
PORTNAME= asterisk
-PORTVERSION= 1.4.22.1
-PORTREVISION= 1
+PORTVERSION= 1.6.0.5
+PKGNAMESUFFIX= 16
CATEGORIES= net
MASTER_SITES= http://downloads.digium.com/pub/asterisk/ \
http://downloads.digium.com/pub/asterisk/old-releases/ \
@@ -41,8 +41,10 @@ MAKE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
OPENH323DIR=${LOCALBASE}/share/openh323 \
OSVERSION=${OSVERSION} \
NOISY_BUILD=YES \
+ DOCSDIR=${DOCSDIR} \
ASTCFLAGS="${CFLAGS}"
MAN8= asterisk.8 astgenkey.8 autosupport.8 safe_asterisk.8
+CONFLICTS= asterisk*-1.2* asterisk*-1.4*
OPTIONS= OGGVORBIS "Enable Ogg Vorbis support" on \
ODBC "Enable ODBC support" on \
@@ -53,14 +55,14 @@ OPTIONS= OGGVORBIS "Enable Ogg Vorbis support" on \
FREETDS "Enable FreeTDS support" on \
JABBER "Enable Jabber and Gtalk support" on \
SQLITE "Enable SQLITE support" on \
- CODEC_PATCH "Apply codec negotiation patch" off \
ILBC "Enable iLBC codec" off \
- MISC_PATCHES "Apply additional patches" off
+# CODEC_PATCH "Apply codec negotiation patch" off \
+# MISC_PATCHES "Apply additional patches" off
.include <bsd.port.pre.mk>
.if ${ARCH} == "i386" || ${ARCH} == "amd64"
-OPTIONS+= ZAPTEL "Enable Zaptel support" off
+#OPTIONS+= ZAPTEL "Enable Zaptel support" off
# Include this since we have altered OPTIONS.
.include "$(PORTSDIR)/Mk/bsd.port.options.mk"
diff --git a/net/asterisk16/distinfo b/net/asterisk16/distinfo
index 483babf8447e..de60b792bca3 100644
--- a/net/asterisk16/distinfo
+++ b/net/asterisk16/distinfo
@@ -1,6 +1,3 @@
-MD5 (asterisk-1.4.22.1.tar.gz) = 00bfb39b63a614acb032cae0494de888
-SHA256 (asterisk-1.4.22.1.tar.gz) = aef8fd6d9dbf135fcd0259d73382bf8a485f378cc6572214fd92e718806209d6
-SIZE (asterisk-1.4.22.1.tar.gz) = 11602819
-MD5 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 56aeedb24ea3042138b68792b8edbc40
-SHA256 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = fb765bdd6aa028ae519648348e9c7d2a91a2338079f9d32f89022d2dbb4b434b
-SIZE (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 40040
+MD5 (asterisk-1.6.0.5.tar.gz) = 3a5461059738ef745b9c3161c1ffaba8
+SHA256 (asterisk-1.6.0.5.tar.gz) = 24511963dab4740e56b0afeec2b62b87af3e5bb19ef784dda34e36a871f1abeb
+SIZE (asterisk-1.6.0.5.tar.gz) = 13251816
diff --git a/net/asterisk16/files/dtmf_debug.diff b/net/asterisk16/files/dtmf_debug.diff
deleted file mode 100644
index 5179d42225fd..000000000000
--- a/net/asterisk16/files/dtmf_debug.diff
+++ /dev/null
@@ -1,225 +0,0 @@
---- include/asterisk/rtp.h.orig 2008-03-18 13:35:42.000000000 +0200
-+++ include/asterisk/rtp.h 2008-03-18 13:35:58.000000000 +0200
-@@ -251,6 +251,9 @@
-
- int ast_rtp_codec_getformat(int pt);
-
-+void ast_rtp_set_chan_name(struct ast_rtp *, const char *);
-+void ast_rtp_set_chan_id(struct ast_rtp *, const char *);
-+
- /*! \brief Set rtp timeout */
- void ast_rtp_set_rtptimeout(struct ast_rtp *rtp, int timeout);
- /*! \brief Set rtp hold timeout */
---- main/rtp.c.orig 2008-04-08 14:53:18.000000000 +0300
-+++ main/rtp.c 2008-04-08 14:54:14.000000000 +0300
-@@ -81,6 +81,7 @@
- static int rtpstart; /*!< First port for RTP sessions (set in rtp.conf) */
- static int rtpend; /*!< Last port for RTP sessions (set in rtp.conf) */
- static int rtpdebug; /*!< Are we debugging? */
-+static int rtpdebugdtmf; /*!< Are we debugging DTMFs? */
- static int rtcpdebug; /*!< Are we debugging RTCP? */
- static int rtcpstats; /*!< Are we debugging RTCP? */
- static int rtcpinterval = RTCP_DEFAULT_INTERVALMS; /*!< Time between rtcp reports in millisecs */
-@@ -168,6 +169,8 @@
- struct ast_codec_pref pref;
- struct ast_rtp *bridged; /*!< Who we are Packet bridged to */
- int set_marker_bit:1; /*!< Whether to set the marker bit or not */
-+ char chan_name[100];
-+ char chan_id[100];
- };
-
- /* Forward declarations */
-@@ -669,8 +672,8 @@
- struct ast_frame *f = NULL;
- event = ntohl(*((unsigned int *)(data)));
- event &= 0x001F;
-- if (option_debug > 2 || rtpdebug)
-- ast_log(LOG_DEBUG, "Cisco DTMF Digit: %08x (len = %d)\n", event, len);
-+ if (option_debug > 2 || rtpdebug || rtpdebugdtmf)
-+ ast_log(LOG_DEBUG, "Channel: %s %s Cisco DTMF packet: %08x (len = %d)\n", rtp->chan_name, rtp->chan_id, event, len);
- if (event < 10) {
- resp = '0' + event;
- } else if (event < 11) {
-@@ -684,12 +687,24 @@
- }
- if (rtp->resp && (rtp->resp != resp)) {
- f = send_dtmf(rtp, AST_FRAME_DTMF_END);
-+ ast_log(LOG_DEBUG, "Channel: %s %s Cisco DTMF event: %c\n", rtp->chan_name, rtp->chan_id, rtp->resp);
- }
- rtp->resp = resp;
- rtp->dtmfcount = dtmftimeout;
- return f;
- }
-
-+void ast_rtp_set_chan_id(struct ast_rtp *rtp, const char *chan_id) {
-+ if (rtp == NULL || chan_id == NULL)
-+ return;
-+ snprintf(rtp->chan_id, sizeof(rtp->chan_id), "%s", chan_id);
-+}
-+
-+void ast_rtp_set_chan_name(struct ast_rtp *rtp, const char *chan_name) {
-+ if (rtp == NULL || chan_name == NULL)
-+ return;
-+ snprintf(rtp->chan_name, sizeof(rtp->chan_name), "%s", chan_name);
-+}
- /*!
- * \brief Process RTP DTMF and events according to RFC 2833.
- *
-@@ -1051,6 +1066,10 @@
- struct rtpPayloadType rtpPT;
- int reconstruct = ntohl(rtpheader[0]);
-
-+ /* If we are listening for DTMF - then feed all packets into the core to keep the RTP stream consistent when relaying DTMFs */
-+ if (ast_test_flag(rtp, FLAG_P2P_NEED_DTMF))
-+ return -1;
-+
- /* Get fields from packet */
- payload = (reconstruct & 0x7f0000) >> 16;
- mark = (((reconstruct & 0x800000) >> 23) != 0);
-@@ -1062,10 +1081,6 @@
- if (!bridged->current_RTP_PT[payload].code)
- return -1;
-
-- /* If the payload is DTMF, and we are listening for DTMF - then feed it into the core */
-- if (ast_test_flag(rtp, FLAG_P2P_NEED_DTMF) && !rtpPT.isAstFormat && rtpPT.code == AST_RTP_DTMF)
-- return -1;
--
- /* Otherwise adjust bridged payload to match */
- bridged_payload = ast_rtp_lookup_code(bridged, rtpPT.isAstFormat, rtpPT.code);
-
-@@ -1254,11 +1269,12 @@
- /* This is special in-band data that's not one of our codecs */
- if (rtpPT.code == AST_RTP_DTMF) {
- /* It's special -- rfc2833 process it */
-- if (rtp_debug_test_addr(&sin)) {
-+ if (rtp_debug_test_addr(&sin) || rtpdebugdtmf) {
- unsigned char *data;
- unsigned int event;
- unsigned int event_end;
- unsigned int duration;
-+
- data = rtp->rawdata + AST_FRIENDLY_OFFSET + hdrlen;
- event = ntohl(*((unsigned int *)(data)));
- event >>= 24;
-@@ -1267,9 +1283,12 @@
- event_end >>= 24;
- duration = ntohl(*((unsigned int *)(data)));
- duration &= 0xFFFF;
-- ast_verbose("Got RTP RFC2833 from %s:%u (type %-2.2d, seq %-6.6u, ts %-6.6u, len %-6.6u, mark %d, event %08x, end %d, duration %-5.5d) \n", ast_inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), payloadtype, seqno, timestamp, res - hdrlen, (mark?1:0), event, ((event_end & 0x80)?1:0), duration);
-+
-+ ast_verbose("Channel: %s %s Got RTP RFC2833 from %s:%u to %s:%u (type %-2.2d, seq %-6.6u, ts %-6.6u, len %-6.6u, mark %d, event %08x, end %d, duration %-5.5d)\n", rtp->chan_name, rtp->chan_id, ast_inet_ntoa(sin.sin_addr), ntohs(sin.sin_port), ast_inet_ntoa(rtp->us.sin_addr), ntohs(rtp->us.sin_port), payloadtype, seqno, timestamp, res - hdrlen, (mark?1:0), event, ((event_end & 0x80)?1:0), duration);
- }
- f = process_rfc2833(rtp, rtp->rawdata + AST_FRIENDLY_OFFSET + hdrlen, res - hdrlen, seqno, timestamp);
-+ if (rtpdebugdtmf && f)
-+ ast_verbose("Channel: %s %s Got RFC2833 DTMF event %c of type %s\n", rtp->chan_name, rtp->chan_id, f->subclass, (f->frametype == AST_FRAME_DTMF_BEGIN ? "DTMF BEGIN" : (f->frametype == AST_FRAME_DTMF_END ? "DTMF_END" : "UNKNOWN")));
- } else if (rtpPT.code == AST_RTP_CISCO_DTMF) {
- /* It's really special -- process it the Cisco way */
- if (rtp->lastevent <= seqno || (rtp->lastevent >= 65530 && seqno <= 6)) {
-@@ -2198,8 +2217,9 @@
- ast_log(LOG_ERROR, "RTP Transmission error to %s:%u: %s\n",
- ast_inet_ntoa(rtp->them.sin_addr),
- ntohs(rtp->them.sin_port), strerror(errno));
-- if (rtp_debug_test_addr(&rtp->them))
-- ast_verbose("Sent RTP DTMF packet to %s:%u (type %-2.2d, seq %-6.6u, ts %-6.6u, len %-6.6u)\n",
-+ if (rtp_debug_test_addr(&rtp->them) || rtpdebugdtmf)
-+ ast_verbose("Channel: %s %s Sent RTP DTMF packet to %s:%u (type %-2.2d, seq %-6.6u, ts %-6.6u, len %-6.6u)\n",
-+ rtp->chan_name, rtp->chan_id,
- ast_inet_ntoa(rtp->them.sin_addr),
- ntohs(rtp->them.sin_port), payload, rtp->seqno, rtp->lastdigitts, res - hdrlen);
- /* Increment sequence number */
-@@ -2242,8 +2262,9 @@
- ast_log(LOG_ERROR, "RTP Transmission error to %s:%d: %s\n",
- ast_inet_ntoa(rtp->them.sin_addr),
- ntohs(rtp->them.sin_port), strerror(errno));
-- if (rtp_debug_test_addr(&rtp->them))
-- ast_verbose("Sent RTP DTMF packet to %s:%u (type %-2.2d, seq %-6.6u, ts %-6.6u, len %-6.6u)\n",
-+ if (rtp_debug_test_addr(&rtp->them) || rtpdebugdtmf)
-+ ast_verbose("Channel: %s %s Sent RTP DTMF packet to %s:%u (type %-2.2d, seq %-6.6u, ts %-6.6u, len %-6.6u)\n",
-+ rtp->chan_name, rtp->chan_id,
- ast_inet_ntoa(rtp->them.sin_addr),
- ntohs(rtp->them.sin_port), rtp->send_payload, rtp->seqno, rtp->lastdigitts, res - hdrlen);
-
-@@ -3481,6 +3502,16 @@
- return RESULT_SUCCESS;
- }
-
-+static int rtp_do_debug_dtmf(int fd, int argc, char *argv[])
-+{
-+ if (argc != 3)
-+ return RESULT_SHOWUSAGE;
-+
-+ rtpdebugdtmf = 1;
-+ ast_cli(fd, "RTP DTMF debugging enabled\n");
-+ return RESULT_SUCCESS;
-+}
-+
- static int rtp_do_debug(int fd, int argc, char *argv[])
- {
- if (argc != 2) {
-@@ -3541,6 +3572,7 @@
- if (argc != 3)
- return RESULT_SHOWUSAGE;
- rtpdebug = 0;
-+ rtpdebugdtmf = 0;
- ast_cli(fd,"RTP Debugging Disabled\n");
- return RESULT_SUCCESS;
- }
-@@ -3601,7 +3633,7 @@
- }
-
- static char debug_usage[] =
-- "Usage: rtp debug [ip host[:port]]\n"
-+ "Usage: rtp debug [ip host[:port] | dtmf]\n"
- " Enable dumping of all RTP packets to and from host.\n";
-
- static char no_debug_usage[] =
-@@ -3676,6 +3708,10 @@
- rtp_do_debug, "Enable RTP debugging",
- debug_usage },
-
-+ { { "rtp", "debug", "dtmf", NULL },
-+ rtp_do_debug_dtmf, "Enable RTP debugging on DTMFs",
-+ debug_usage },
-+
- { { "rtp", "debug", "off", NULL },
- rtp_no_debug, "Disable RTP debugging",
- no_debug_usage, NULL, &cli_rtp_no_debug_deprecated },
---- channels/chan_sip.c.orig 2008-06-10 00:29:41.000000000 -0700
-+++ channels/chan_sip.c 2008-06-10 00:42:00.000000000 -0700
-@@ -3813,6 +3813,7 @@
- ast_log(LOG_WARNING, "old channel wasn't %p but was %p\n", oldchan, p->owner);
- else {
- p->owner = newchan;
-+ ast_rtp_set_chan_name(p->rtp, newchan->name);
- /* Re-invite RTP back to Asterisk. Needed if channel is masqueraded out of a native
- RTP bridge (i.e., RTP not going through Asterisk): RTP bridge code might not be
- able to do this if the masquerade happens before the bridge breaks (e.g., AMI
-@@ -4085,6 +4086,7 @@
- if (i->rtp) {
- tmp->fds[0] = ast_rtp_fd(i->rtp);
- tmp->fds[1] = ast_rtcp_fd(i->rtp);
-+ ast_rtp_set_chan_id(i->rtp, i->callid);
- }
- if (needvideo && i->vrtp) {
- tmp->fds[2] = ast_rtp_fd(i->vrtp);
-@@ -4112,6 +4114,8 @@
- if (!ast_strlen_zero(i->language))
- ast_string_field_set(tmp, language, i->language);
- i->owner = tmp;
-+ ast_rtp_set_chan_name(i->rtp, tmp->name);
-+
- ast_module_ref(ast_module_info->self);
- ast_copy_string(tmp->context, i->context, sizeof(tmp->context));
- /*Since it is valid to have extensions in the dialplan that have unescaped characters in them
-@@ -4531,8 +4535,10 @@
- build_via(p);
- if (!callid)
- build_callid_pvt(p);
-- else
-+ else {
- ast_string_field_set(p, callid, callid);
-+ ast_rtp_set_chan_id(p->rtp, p->callid);
-+ }
- /* Assign default music on hold class */
- ast_string_field_set(p, mohinterpret, default_mohinterpret);
- ast_string_field_set(p, mohsuggest, default_mohsuggest);
diff --git a/net/asterisk16/files/feature_disconnect.diff b/net/asterisk16/files/feature_disconnect.diff
deleted file mode 100644
index 051ccddf5a31..000000000000
--- a/net/asterisk16/files/feature_disconnect.diff
+++ /dev/null
@@ -1,276 +0,0 @@
---- apps/app_dial.c.orig 2008-08-06 02:13:20.000000000 +0300
-+++ apps/app_dial.c 2009-01-06 16:54:27.000000000 +0200
-@@ -303,6 +303,8 @@
- OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR | OPT_CALLEE_PARK | OPT_CALLER_PARK) && \
- !chan->audiohooks && !peer->audiohooks)
-
-+static int detect_disconnect(struct ast_channel *chan, char code);
-+
- /* We define a custom "local user" structure because we
- use it not only for keeping track of what is in use but
- also for keeping track of who we're dialing. */
-@@ -732,9 +734,9 @@
- }
-
- if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
-- (f->subclass == '*')) { /* hmm it it not guaranteed to be '*' anymore. */
-+ detect_disconnect(in, f->subclass)) { /* hmm it it not guaranteed to be '*' anymore. */
- if (option_verbose > 2)
-- ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n", f->subclass);
-+ ast_verbose(VERBOSE_PREFIX_3 "User requested call disconnect.\n");
- *to=0;
- ast_cdr_noanswer(in->cdr);
- strcpy(status, "CANCEL");
-@@ -775,6 +777,56 @@
- return peer;
- }
-
-+static char featurecode[FEATURE_MAX_LEN + 1] = "";
-+
-+static int detect_disconnect(struct ast_channel *chan, char code)
-+{
-+ struct feature_interpret_result result;
-+ int x;
-+ struct ast_flags features;
-+ int res = FEATURE_RETURN_PASSDIGITS;
-+ struct ast_call_feature *feature;
-+ char *cptr;
-+ int len;
-+
-+ len = strlen(featurecode);
-+ if (len >= FEATURE_MAX_LEN) {
-+ featurecode[0] = '\0';
-+ }
-+ cptr = &featurecode[strlen(featurecode)];
-+ cptr[0] = code;
-+ cptr[1] = '\0';
-+
-+ memset(&features, 0, sizeof(struct ast_flags));
-+ ast_set_flag(&features, AST_FEATURE_DISCONNECT);
-+
-+ ast_features_lock();
-+
-+ res = ast_feature_detect(chan, &features, featurecode, &result);
-+
-+ if (res != FEATURE_RETURN_STOREDIGITS)
-+ featurecode[0] = '\0';
-+
-+ if (result.builtin_feature && result.builtin_feature->feature_mask & AST_FEATURE_DISCONNECT) {
-+ ast_features_unlock();
-+ return 1;
-+ }
-+
-+ for (x = 0; x < result.num_dyn_features; ++x) {
-+ feature = result.dynamic_features[x];
-+ if (feature->feature_mask & AST_FEATURE_DISCONNECT) {
-+ ast_features_unlock();
-+ return 1;
-+ }
-+ }
-+
-+ ast_features_unlock();
-+
-+ return 0;
-+}
-+
-+
-+
- static void replace_macro_delimiter(char *s)
- {
- for (; *s; s++)
---- include/asterisk/features.h.orig 2007-08-23 23:16:41.000000000 +0300
-+++ include/asterisk/features.h 2009-01-06 16:54:27.000000000 +0200
-@@ -31,6 +31,20 @@
- #define FEATURE_EXTEN_LEN 32
- #define FEATURE_MOH_LEN 80 /* same as MAX_MUSICCLASS from channel.h */
-
-+#define FEATURE_RETURN_HANGUP -1
-+#define FEATURE_RETURN_SUCCESSBREAK 0
-+#define FEATURE_RETURN_PBX_KEEPALIVE AST_PBX_KEEPALIVE
-+#define FEATURE_RETURN_NO_HANGUP_PEER AST_PBX_NO_HANGUP_PEER
-+#define FEATURE_RETURN_PASSDIGITS 21
-+#define FEATURE_RETURN_STOREDIGITS 22
-+#define FEATURE_RETURN_SUCCESS 23
-+#define FEATURE_RETURN_KEEPTRYING 24
-+
-+#define FEATURE_SENSE_CHAN (1 << 0)
-+#define FEATURE_SENSE_PEER (1 << 1)
-+
-+typedef int (*feature_operation)(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense, void *data);
-+
- /*! \brief main call feature structure */
- struct ast_call_feature {
- int feature_mask;
-@@ -38,7 +52,7 @@
- char sname[FEATURE_SNAME_LEN];
- char exten[FEATURE_MAX_LEN];
- char default_exten[FEATURE_MAX_LEN];
-- int (*operation)(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense, void *data);
-+ feature_operation operation;
- unsigned int flags;
- char app[FEATURE_APP_LEN];
- char app_args[FEATURE_APP_ARGS_LEN];
-@@ -47,6 +61,12 @@
- };
-
-
-+struct feature_interpret_result {
-+ struct ast_call_feature *builtin_feature;
-+ struct ast_call_feature *dynamic_features[20];
-+ int num_dyn_features;
-+};
-+
-
- /*! \brief Park a call and read back parked location
- * \param chan the channel to actually be parked
-@@ -94,4 +114,10 @@
- \param feature the ast_call_feature object which was registered before*/
- void ast_unregister_feature(struct ast_call_feature *feature);
-
-+int ast_feature_detect(struct ast_channel *chan, const struct ast_flags *features, char *code, struct feature_interpret_result *result);
-+
-+void ast_features_lock(void);
-+void ast_features_unlock(void);
-+
-+
- #endif /* _AST_FEATURES_H */
---- res/res_features.c.orig 2008-09-09 18:40:24.000000000 +0300
-+++ res/res_features.c 2009-01-06 16:58:57.000000000 +0200
-@@ -517,18 +517,6 @@
- }
-
-
--#define FEATURE_RETURN_HANGUP -1
--#define FEATURE_RETURN_SUCCESSBREAK 0
--#define FEATURE_RETURN_PBX_KEEPALIVE AST_PBX_KEEPALIVE
--#define FEATURE_RETURN_NO_HANGUP_PEER AST_PBX_NO_HANGUP_PEER
--#define FEATURE_RETURN_PASSDIGITS 21
--#define FEATURE_RETURN_STOREDIGITS 22
--#define FEATURE_RETURN_SUCCESS 23
--#define FEATURE_RETURN_KEEPTRYING 24
--
--#define FEATURE_SENSE_CHAN (1 << 0)
--#define FEATURE_SENSE_PEER (1 << 1)
--
- /*! \brief
- * set caller and callee according to the direction
- */
-@@ -1126,33 +1114,36 @@
- return res;
- }
-
--static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
-+void ast_features_lock(void)
-+{
-+ ast_rwlock_rdlock(&features_lock);
-+ AST_LIST_LOCK(&feature_list);
-+}
-+
-+void ast_features_unlock(void)
-+{
-+ AST_LIST_UNLOCK(&feature_list);
-+ ast_rwlock_unlock(&features_lock);
-+}
-+
-+int ast_feature_detect(struct ast_channel *chan, const struct ast_flags *features, char *code, struct feature_interpret_result *result)
- {
- int x;
-- struct ast_flags features;
- struct ast_call_feature *feature;
-- const char *dynamic_features;
-+ const char *dynamic_features = pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES");
- char *tmp, *tok;
- int res = FEATURE_RETURN_PASSDIGITS;
- int feature_detected = 0;
-
-- if (sense == FEATURE_SENSE_CHAN) {
-- ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL);
-- dynamic_features = pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES");
-- } else {
-- ast_copy_flags(&features, &(config->features_callee), AST_FLAGS_ALL);
-- dynamic_features = pbx_builtin_getvar_helper(peer, "DYNAMIC_FEATURES");
-- }
-- if (option_debug > 2)
-- ast_log(LOG_DEBUG, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d dynamic=%s\n", chan->name, peer->name, code, sense, features.flags, dynamic_features);
-+ result->builtin_feature = NULL;
-+ result->num_dyn_features = 0;
-
-- ast_rwlock_rdlock(&features_lock);
- for (x = 0; x < FEATURES_COUNT; x++) {
-- if ((ast_test_flag(&features, builtin_features[x].feature_mask)) &&
-+ if ((ast_test_flag(features, builtin_features[x].feature_mask)) &&
- !ast_strlen_zero(builtin_features[x].exten)) {
- /* Feature is up for consideration */
- if (!strcmp(builtin_features[x].exten, code)) {
-- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
-+ result->builtin_feature = &builtin_features[x];
- feature_detected = 1;
- break;
- } else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
-@@ -1169,9 +1160,7 @@
- tmp = ast_strdupa(dynamic_features);
-
- while ((tok = strsep(&tmp, "#"))) {
-- AST_LIST_LOCK(&feature_list);
- if (!(feature = find_dynamic_feature(tok))) {
-- AST_LIST_UNLOCK(&feature_list);
- continue;
- }
-
-@@ -1179,21 +1168,52 @@
- if (!strcmp(feature->exten, code)) {
- if (option_verbose > 2)
- ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
-- res = feature->operation(chan, peer, config, code, sense, feature);
-- if (res != FEATURE_RETURN_KEEPTRYING) {
-- AST_LIST_UNLOCK(&feature_list);
-+ result->dynamic_features[result->num_dyn_features++] = feature;
-+ if (result->num_dyn_features >= (sizeof(result->dynamic_features) / sizeof(result->dynamic_features[0]))) {
- break;
- }
- res = FEATURE_RETURN_PASSDIGITS;
- } else if (!strncmp(feature->exten, code, strlen(code)))
- res = FEATURE_RETURN_STOREDIGITS;
-
-- AST_LIST_UNLOCK(&feature_list);
- }
-
- return res;
- }
-
-+static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
-+{
-+ struct feature_interpret_result result;
-+ int x;
-+ struct ast_flags features;
-+ int res = FEATURE_RETURN_PASSDIGITS;
-+ struct ast_call_feature *feature;
-+
-+ if (sense == FEATURE_SENSE_CHAN)
-+ ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL);
-+ else
-+ ast_copy_flags(&features, &(config->features_callee), AST_FLAGS_ALL);
-+ if (option_debug > 2)
-+ ast_log(LOG_DEBUG, "Feature interpret: chan=%s, peer=%s, sense=%d, features=%d\n", chan->name, peer->name, sense, features.flags);
-+
-+ ast_features_lock();
-+ res = ast_feature_detect(chan, &features, code, &result);
-+
-+ if (result.builtin_feature)
-+ res = result.builtin_feature->operation(chan, peer, config, code, sense, NULL);
-+
-+ for (x = 0; x < result.num_dyn_features; ++x) {
-+ feature = result.dynamic_features[x];
-+ res = feature->operation(chan, peer, config, code, sense, feature);
-+ if (res != FEATURE_RETURN_KEEPTRYING)
-+ break;
-+ res = FEATURE_RETURN_PASSDIGITS;
-+ }
-+
-+ ast_features_unlock();
-+ return res;
-+}
-+
- static void set_config_flags(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config)
- {
- int x;
diff --git a/net/asterisk16/files/nocodecnego-patch-Makefile b/net/asterisk16/files/nocodecnego-patch-Makefile
index cf5e1df564b0..12f4d8a0fe17 100644
--- a/net/asterisk16/files/nocodecnego-patch-Makefile
+++ b/net/asterisk16/files/nocodecnego-patch-Makefile
@@ -1,36 +1,45 @@
---- Makefile.orig 2008-05-05 13:17:55.000000000 -0700
-+++ Makefile 2008-06-10 01:07:09.000000000 -0700
-@@ -129,7 +129,7 @@
+--- Makefile.orig 2008-12-02 16:53:56.000000000 -0800
++++ Makefile 2009-02-14 12:36:45.000000000 -0800
+@@ -117,7 +117,7 @@
+ OVERWRITE=y
+
+ # Include debug and macro symbols in the executables (-g) and profiling info (-pg)
+-DEBUG=-g3
++#DEBUG=-g3
+
+
+ # Define standard directories for various platforms
+@@ -147,7 +147,7 @@
ASTMANDIR=$(mandir)
ifneq ($(findstring BSD,$(OSARCH)),)
ASTVARLIBDIR=$(prefix)/share/asterisk
- ASTVARRUNDIR=$(localstatedir)/run/asterisk
+ ASTVARRUNDIR=$(localstatedir)/run
+ ASTDBDIR=$(localstatedir)/db/asterisk
else
ASTVARLIBDIR=$(localstatedir)/lib/asterisk
- endif
-@@ -214,9 +214,11 @@
+@@ -242,9 +242,11 @@
ASTLDFLAGS+=-L/usr/local/lib
endif
-
+
+ifneq ($(OSARCH),FreeBSD)
ifneq ($(PROC),ultrasparc)
ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
endif
+endif
-
+
ifeq ($(PROC),ppc)
ASTCFLAGS+=-fsigned-char
-@@ -224,7 +224,7 @@
+@@ -252,7 +254,7 @@
ifeq ($(OSARCH),FreeBSD)
# -V is understood by BSD Make, not by GNU make.
- BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
+ BSDVERSION=$(OSVERSION)
ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
- AST_LIBS+=$(shell if test $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
endif
-@@ -404,15 +404,15 @@
+
+@@ -461,21 +463,21 @@
# Should static HTTP be installed during make samples or even with its own target ala
# webvoicemail? There are portions here that *could* be customized but might also be
# improved a lot. I'll put it here for now.
@@ -40,6 +49,14 @@
- $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTDATADIR)/static-http ; \
+ $(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTDATADIR)/static-http ; \
done
+ if [ -d doc/tex/asterisk ] ; then \
+- mkdir -p $(DESTDIR)$(ASTDATADIR)/static-http/docs ; \
++ $(MKDIR) $(DESTDIR)$(DOCSDIR) ; \
+ for n in doc/tex/asterisk/* ; do \
+- $(INSTALL) -m 644 $$n $(DESTDIR)$(ASTDATADIR)/static-http/docs ; \
++ $(BSD_INSTALL_DATA) $$n $(DESTDIR)$(DOCSDIR) ; \
+ done \
+ fi
- mkdir -p $(DESTDIR)$(ASTDATADIR)/images
+ $(MKDIR) $(DESTDIR)$(ASTDATADIR)/images
for x in images/*.jpg; do \
@@ -51,7 +68,7 @@
$(MAKE) -C sounds install
update:
-@@ -433,47 +433,47 @@
+@@ -499,47 +501,47 @@
OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
installdirs:
@@ -90,7 +107,7 @@
- cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ;\
- chmod 755 $(DESTDIR)$(ASTSBINDIR)/safe_asterisk;\
+ cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/scripts/safe_asterisk.out;\
-+ ${BSD_INSTALL_SCRIPT} contrib/scripts/safe_asterisk.out $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ;\
++ ${BSD_INSTALL_SCRIPT} contrib/scripts/safe_asterisk.out $(DESTDIR)$(ASTSBINDIR)/safe_asterisk;\
fi
- $(INSTALL) -d $(DESTDIR)$(ASTHEADERDIR)
- $(INSTALL) -m 644 include/asterisk.h $(DESTDIR)$(includedir)
@@ -131,7 +148,7 @@
fi
$(SUBDIRS_INSTALL):
-@@ -507,7 +507,7 @@
+@@ -573,7 +575,7 @@
@exit 1
endif
@@ -140,31 +157,37 @@
@if [ -x /usr/sbin/asterisk-post-install ]; then \
/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
fi
-@@ -545,31 +545,23 @@
- upgrade: bininstall
-
+@@ -605,38 +607,25 @@
+ # XXX why *.adsi is installed first ?
adsi:
-- mkdir -p $(DESTDIR)$(ASTETCDIR)
-+ $(MKDIR) $(DESTDIR)$(ASTETCDIR)
- for x in configs/*.adsi; do \
- if [ ! -f $(DESTDIR)$(ASTETCDIR)/$$x ]; then \
-- $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x` ; \
+ @echo Installing adsi config files...
+- @mkdir -p $(DESTDIR)$(ASTETCDIR)
++ @$(MKDIR) $(DESTDIR)$(ASTETCDIR)
+ @for x in configs/*.adsi; do \
+ dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \
+ if [ -f $${dst} ] ; then \
+- echo "Overwriting $$x" ; \
+- else \
+- echo "Installing $$x" ; \
+ $(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x` ; \
fi ; \
+- $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x` ; \
+ $(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`-dist ; \
done
samples: adsi
-- mkdir -p $(DESTDIR)$(ASTETCDIR)
-+ $(MKDIR) $(DESTDIR)$(ASTETCDIR)
- for x in configs/*.sample; do \
-- if [ -f $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` ]; then \
+ @echo Installing other config files...
+- @mkdir -p $(DESTDIR)$(ASTETCDIR)
++ @$(MKDIR) $(DESTDIR)$(ASTETCDIR)
+ @for x in configs/*.sample; do \
+- dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`" ; \
+- if [ -f $${dst} ]; then \
- if [ "$(OVERWRITE)" = "y" ]; then \
-- if cmp -s $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` $$x ; then \
+- if cmp -s $${dst} $$x ; then \
- echo "Config file $$x is unchanged"; \
- continue; \
- fi ; \
-- mv -f $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`.old ; \
+- mv -f $${dst} $${dst}.old ; \
- else \
- echo "Skipping config file $$x"; \
- continue; \
@@ -173,21 +196,22 @@
+ if [ ! -f $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` ]; then \
+ $(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`;\
fi ; \
-- $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` ;\
+- echo "Installing file $$x"; \
+- $(INSTALL) -m 644 $$x $${dst} ;\
done
-- if [ "$(OVERWRITE)" = "y" ] || [ ! -f $(DESTDIR)$(ASTCONFPATH) ]; then \
-+ if true; then \
+- @if [ "$(OVERWRITE)" = "y" ] || [ ! -f $(DESTDIR)$(ASTCONFPATH) ]; then \
++ @if true; then \
+ echo "Creating asterisk.conf"; \
( \
- echo "[directories]" ; \
- echo "astetcdir => $(ASTETCDIR)" ; \
-@@ -614,20 +606,23 @@
- echo ";astctlowner = root" ; \
- echo ";astctlgroup = apache" ; \
- echo ";astctl = asterisk.ctl" ; \
+ echo "[directories](!) ; remove the (!) to enable this" ; \
+@@ -692,13 +681,16 @@
+ echo "pbx_realtime=1.6" ; \
+ echo "res_agi=1.6" ; \
+ echo "app_set=1.6" ; \
- ) > $(DESTDIR)$(ASTCONFPATH) ; \
+ ) > $(DESTDIR)$(ASTCONFPATH)-dist ; \
+ if [ ! -f $(DESTDIR)$(ASTCONFPATH) ]; then \
-+ cp $(DESTDIR)$(ASTCONFPATH)-dist $(DESTDIR)$(ASTCONFPATH); \
++ $(BSD_INSTALL_DATA) $(DESTDIR)$(ASTCONFPATH)-dist $(DESTDIR)$(ASTCONFPATH); \
+ fi; \
else \
echo "Skipping asterisk.conf creation"; \
@@ -195,6 +219,18 @@
- mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX
+ $(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX
build_tools/make_sample_voicemail $(DESTDIR)/$(ASTDATADIR) $(DESTDIR)/$(ASTSPOOLDIR)
+- @mkdir -p $(DESTDIR)$(ASTDATADIR)/phoneprov
++ @$(MKDIR) $(DESTDIR)$(ASTDATADIR)/phoneprov
+ @for x in phoneprov/*; do \
+ dst="$(DESTDIR)$(ASTDATADIR)/$$x" ; \
+ if [ -f $${dst} ]; then \
+@@ -714,14 +706,14 @@
+ fi ;\
+ fi ; \
+ echo "Installing file $$x"; \
+- $(INSTALL) -m 644 $$x $${dst} ;\
++ $(BSD_INSTALL_DATA) $$x $${dst} ;\
+ done
webvmail:
@[ -d $(DESTDIR)$(HTTP_DOCSDIR)/ ] || ( printf "http docs directory not found.\nUpdate assignment of variable HTTP_DOCSDIR in Makefile!\n" && exit 1 )
@@ -203,8 +239,5 @@
- mkdir -p $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk
+ $(MKDIR) $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk
for x in images/*.gif; do \
-- $(INSTALL) -m 644 $$x $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/; \
-+ $(BSD_INSTALL_DATA) $$x $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/; \
+ $(INSTALL) -m 644 $$x $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/; \
done
- @echo " +--------- Asterisk Web Voicemail ----------+"
- @echo " + +"
diff --git a/net/asterisk16/files/patch-Makefile.rules b/net/asterisk16/files/patch-Makefile.rules
index d129d9784b3c..eed64af48b97 100644
--- a/net/asterisk16/files/patch-Makefile.rules
+++ b/net/asterisk16/files/patch-Makefile.rules
@@ -3,19 +3,13 @@ $FreeBSD$
--- Makefile.rules
+++ Makefile.rules
-@@ -27,6 +27,7 @@
- CMD_PREFIX=
+@@ -35,7 +35,9 @@
+ CMD_PREFIX=
endif
+ifneq ($(OSARCH),FreeBSD)
- ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
- # More GSM codec optimization
- # Uncomment to enable MMXTM optimizations for x86 architecture CPU's
-@@ -37,6 +38,7 @@
OPTIMIZE?=-O6
- ASTCFLAGS+=$(OPTIMIZE)
- endif
+endif
- %.o: %.c
- $(ECHO_PREFIX) echo " [CC] $< -> $@"
+ ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
+ # More GSM codec optimization
diff --git a/net/asterisk16/files/patch-agi::Makefile b/net/asterisk16/files/patch-agi::Makefile
index f9910fe96dd6..65a5b2f373de 100644
--- a/net/asterisk16/files/patch-agi::Makefile
+++ b/net/asterisk16/files/patch-agi::Makefile
@@ -1,5 +1,8 @@
---- agi/Makefile.orig Sat Dec 16 23:14:34 2006
-+++ agi/Makefile Wed Mar 28 11:13:21 2007
+
+$FreeBSD$
+
+--- agi/Makefile
++++ agi/Makefile
@@ -13,7 +13,9 @@
.PHONY: clean all uninstall
@@ -11,7 +14,7 @@
ifeq ($(OSARCH),SunOS)
LIBS+=-lsocket -lnsl
-@@ -31,8 +33,9 @@ eagi-test: eagi-test.o strcompat.o
+@@ -40,8 +42,9 @@
eagi-sphinx-test: eagi-sphinx-test.o
install: all
diff --git a/net/asterisk16/files/patch-channels::Makefile b/net/asterisk16/files/patch-channels::Makefile
index fa5a90a988fa..6528dae15056 100644
--- a/net/asterisk16/files/patch-channels::Makefile
+++ b/net/asterisk16/files/patch-channels::Makefile
@@ -1,9 +1,9 @@
$FreeBSD$
---- channels/Makefile.orig
+--- channels/Makefile
+++ channels/Makefile
-@@ -32,9 +32,10 @@
+@@ -27,9 +27,10 @@
endif
ifeq ($(OSARCH),FreeBSD)
@@ -16,7 +16,7 @@ $FreeBSD$
endif
ifeq ($(OSARCH),NetBSD)
-@@ -78,12 +79,13 @@
+@@ -69,12 +70,13 @@
h323/libchanh323.a h323/Makefile.ast:
$(CMD_PREFIX) $(MAKE) -C h323
$(CMD_PREFIX) rm -f ../main/asterisk
@@ -26,7 +26,7 @@ $FreeBSD$
- $(CMD_PREFIX) echo
- $(CMD_PREFIX) echo "***************************************************************"
- $(CMD_PREFIX) exit 1
-+ $(CMD_PREFIX) $(MAKE) -C . chan_h323.so
++ $(MAKE) -C . chan_h323.so
+# $(CMD_PREFIX) echo "***************************************************************"
+# $(CMD_PREFIX) echo
+# $(CMD_PREFIX) echo "********** Re-run 'make' to pick up H.323 parameters **********"
@@ -36,7 +36,7 @@ $FreeBSD$
endif
dist-clean::
-@@ -113,8 +115,12 @@
+@@ -89,8 +91,12 @@
else
chan_h323.so: chan_h323.o h323/libchanh323.a
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
diff --git a/net/asterisk16/files/patch-channels::chan_sip.c b/net/asterisk16/files/patch-channels::chan_sip.c
index 9bb8267ffcc5..e57f93aa527f 100644
--- a/net/asterisk16/files/patch-channels::chan_sip.c
+++ b/net/asterisk16/files/patch-channels::chan_sip.c
@@ -1,11 +1,14 @@
---- channels/chan_sip.c.orig 2008-06-10 00:46:46.000000000 -0700
-+++ channels/chan_sip.c 2008-06-10 00:46:46.000000000 -0700
-@@ -496,7 +496,7 @@
+
+$FreeBSD$
+
+--- channels/chan_sip.c
++++ channels/chan_sip.c
+@@ -611,7 +611,7 @@
#define DEFAULT_MOHINTERPRET "default"
#define DEFAULT_MOHSUGGEST ""
#define DEFAULT_VMEXTEN "asterisk"
-#define DEFAULT_CALLERID "asterisk"
+#define DEFAULT_CALLERID "Unknown"
#define DEFAULT_NOTIFYMIME "application/simple-message-summary"
- #define DEFAULT_MWITIME 10
#define DEFAULT_ALLOWGUEST TRUE
+ #define DEFAULT_CALLCOUNTER FALSE
diff --git a/net/asterisk16/files/patch-channels_h323_Makefile.in b/net/asterisk16/files/patch-channels_h323_Makefile.in
new file mode 100644
index 000000000000..105eb3c41547
--- /dev/null
+++ b/net/asterisk16/files/patch-channels_h323_Makefile.in
@@ -0,0 +1,14 @@
+
+$FreeBSD$
+
+--- channels/h323/Makefile.in
++++ channels/h323/Makefile.in
+@@ -13,7 +13,7 @@
+ STDCCFLAGS += -I../../include -include ../../include/asterisk/autoconfig.h
+ STDCCFLAGS += -fPIC
+ #OPTCCFLAGS +=
+-CFLAGS = -pipe
++CFLAGS = -pipe @CXXFLAGS@
+ TARGET = libchanh323.a
+ TARGET += Makefile.ast
+ SOURCES = ast_h323.cxx compat_h323.cxx cisco-h225.cxx caps_h323.cxx
diff --git a/net/asterisk16/files/patch-configure b/net/asterisk16/files/patch-configure
index 4d27e995629c..957f284c74f5 100644
--- a/net/asterisk16/files/patch-configure
+++ b/net/asterisk16/files/patch-configure
@@ -1,27 +1,18 @@
$FreeBSD$
---- configure.orig
+--- configure
+++ configure
-@@ -3951,8 +3951,6 @@
+@@ -4041,8 +4041,6 @@
case "${host_os}" in
freebsd*)
ac_default_prefix=/usr/local
- CPPFLAGS=-I/usr/local/include
- LDFLAGS=-L/usr/local/lib
;;
- *)
- ac_default_prefix=/usr
-@@ -27517,7 +27515,7 @@
-
- if test "${HAS_PWLIB:-unset}" != "unset"; then
-- PWLIB_VERSION=`grep "PWLIB_VERSION" ${PWLIB_INCDIR}/ptbuildopts.h | cut -f2 -d ' ' | sed -e 's/"//g'`
-+ PWLIB_VERSION=`grep "PWLIB_VERSION" ${PWLIB_INCDIR}/ptbuildopts.h | tr '\t' ' ' | cut -f3 -d ' ' | sed -e 's/"//g'`
- PWLIB_MAJOR_VERSION=`echo ${PWLIB_VERSION} | cut -f1 -d.`
- PWLIB_MINOR_VERSION=`echo ${PWLIB_VERSION} | cut -f2 -d.`
- PWLIB_BUILD_NUMBER=`echo ${PWLIB_VERSION} | cut -f3 -d.`
-@@ -28118,6 +28116,7 @@
+ *)
+@@ -41733,6 +41731,7 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
@@ -29,7 +20,7 @@ $FreeBSD$
#include <${HOME}/openh323/include/h323.h>
_ACEOF
rm -f conftest.$ac_objext
-@@ -28158,6 +28157,7 @@
+@@ -41773,6 +41772,7 @@
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
@@ -37,7 +28,7 @@ $FreeBSD$
#include <${HOME}/openh323/include/h323.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
-@@ -28260,6 +28260,7 @@
+@@ -41875,6 +41875,7 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
@@ -45,7 +36,7 @@ $FreeBSD$
#include </usr/local/include/openh323/h323.h>
_ACEOF
rm -f conftest.$ac_objext
-@@ -28300,6 +28301,7 @@
+@@ -41915,6 +41916,7 @@
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
@@ -53,16 +44,7 @@ $FreeBSD$
#include </usr/local/include/openh323/h323.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
-@@ -28477,7 +28479,7 @@
-
-
- if test "${HAS_OPENH323:-unset}" != "unset"; then
-- OPENH323_VERSION=`grep "OPENH323_VERSION" ${OPENH323_INCDIR}/openh323buildopts.h | cut -f2 -d ' ' | sed -e 's/"//g'`
-+ OPENH323_VERSION=`grep "OPENH323_VERSION" ${OPENH323_INCDIR}/openh323buildopts.h | tr '\t' ' ' | cut -f3 -d ' ' | sed -e 's/"//g'`
- OPENH323_MAJOR_VERSION=`echo ${OPENH323_VERSION} | cut -f1 -d.`
- OPENH323_MINOR_VERSION=`echo ${OPENH323_VERSION} | cut -f2 -d.`
- OPENH323_BUILD_NUMBER=`echo ${OPENH323_VERSION} | cut -f3 -d.`
-@@ -28552,7 +28554,7 @@
+@@ -42167,7 +42169,7 @@
fi
@@ -71,7 +53,7 @@ $FreeBSD$
if test "${HAS_OPENH323:-unset}" != "unset"; then
{ echo "$as_me:$LINENO: checking OpenH323 installation validity" >&5
-@@ -34788,6 +34790,7 @@
+@@ -47131,6 +47133,7 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
@@ -79,7 +61,7 @@ $FreeBSD$
#include <h323.h>
_ACEOF
rm -f conftest.$ac_objext
-@@ -34828,6 +34831,7 @@
+@@ -47171,6 +47174,7 @@
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
diff --git a/net/asterisk16/files/patch-include::asterisk::utils.h b/net/asterisk16/files/patch-include::asterisk::utils.h
deleted file mode 100644
index a06f7d065c84..000000000000
--- a/net/asterisk16/files/patch-include::asterisk::utils.h
+++ /dev/null
@@ -1,13 +0,0 @@
-
-$FreeBSD$
-
---- include/asterisk/utils.h 2004/10/10 12:55:50 1.1
-+++ include/asterisk/utils.h 2004/10/10 12:56:43
-@@ -37,7 +37,6 @@
- #ifdef inet_ntoa
- #undef inet_ntoa
- #endif
--#define inet_ntoa __dont__use__inet_ntoa__use__ast_inet_ntoa__instead__
-
- #ifdef LINUX
- #define ast_pthread_create pthread_create
diff --git a/net/asterisk16/files/patch-main::Makefile b/net/asterisk16/files/patch-main::Makefile
index 47f93c3df6e1..f9f86415395a 100644
--- a/net/asterisk16/files/patch-main::Makefile
+++ b/net/asterisk16/files/patch-main::Makefile
@@ -1,34 +1,32 @@
$FreeBSD$
---- main/Makefile.orig
+--- main/Makefile
+++ main/Makefile
-@@ -102,8 +102,8 @@
+@@ -110,8 +110,8 @@
cd editline && test -f config.h || CFLAGS="$(PTHREAD_CFLAGS) $(subst $(ASTTOPDIR),../../,$(ASTCFLAGS:-Werror=))" LDFLAGS="$(ASTLDFLAGS)" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --with-ncurses=$(NCURSES_DIR) --with-curses=$(CURSES_DIR) --with-termcap=$(TERMCAP_DIR) --with-tinfo=$(TINFO_DIR)
$(MAKE) -C editline libedit.a
--db1-ast/libdb1.a:
+-db1-ast/libdb1.a: CHECK_SUBDIR
- CFLAGS="$(subst $(ASTTOPDIR),../../,$(ASTCFLAGS))" LDFLAGS="$(ASTLDFLAGS)" $(MAKE) -C db1-ast libdb1.a
-+#db1-ast/libdb1.a:
++#db1-ast/libdb1.a: CHECK_SUBDIR
+# CFLAGS="$(subst $(ASTTOPDIR),../../,$(ASTCFLAGS))" LDFLAGS="$(ASTLDFLAGS)" $(MAKE) -C db1-ast libdb1.a
ast_expr2.c ast_expr2.h:
bison -o $@ -d --name-prefix=ast_yy ast_expr2.y
-@@ -138,7 +138,7 @@
- H323LDLIBS=
+@@ -168,13 +168,13 @@
+ GMIMELDFLAGS+=$(GMIME_LIB)
endif
--asterisk: $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS)
-+asterisk: $(OBJS) editline/libedit.a $(AST_EMBED_LDSCRIPTS)
- @$(ASTTOPDIR)/build_tools/make_build_h > $(ASTTOPDIR)/include/asterisk/build.h.tmp
- @if cmp -s $(ASTTOPDIR)/include/asterisk/build.h.tmp $(ASTTOPDIR)/include/asterisk/build.h ; then echo ; else \
- mv $(ASTTOPDIR)/include/asterisk/build.h.tmp $(ASTTOPDIR)/include/asterisk/build.h ; \
-@@ -149,7 +149,7 @@
+-$(MAIN_TGT): $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS)
++$(MAIN_TGT): $(OBJS) editline/libedit.a $(AST_EMBED_LDSCRIPTS)
+ @$(CC) -c -o buildinfo.o $(ASTCFLAGS) buildinfo.c
+ $(ECHO_PREFIX) echo " [LD] $^ -> $@"
ifneq ($(findstring chan_h323,$(MENUSELECT_CHANNELS)),)
- $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS)
+ $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS)
else
-- $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
-+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS)
+- $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS) $(GMIMELDFLAGS)
++ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS)
endif
$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/strip_nonapi $@ || rm $@
diff --git a/net/asterisk16/files/patch-main::db.c b/net/asterisk16/files/patch-main::db.c
index 0b26f3b2cca6..935b65120b8d 100644
--- a/net/asterisk16/files/patch-main::db.c
+++ b/net/asterisk16/files/patch-main::db.c
@@ -1,21 +1,21 @@
$FreeBSD$
---- main/db.c.orig Fri Jan 13 11:05:32 2006
-+++ main/db.c Fri Jan 13 11:06:55 2006
-@@ -35,6 +35,7 @@
- #include <errno.h>
- #include <unistd.h>
+--- main/db.c
++++ main/db.c
+@@ -36,6 +36,7 @@
+ #include <sys/time.h>
+ #include <signal.h>
#include <dirent.h>
+#include <db.h>
- #include "asterisk.h"
-
-@@ -51,7 +52,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revisi
+ #include "asterisk/channel.h"
+ #include "asterisk/file.h"
+@@ -46,7 +47,6 @@
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#include "asterisk/manager.h"
-#include "db1-ast/include/db.h"
- #ifdef __CYGWIN__
- #define dbopen __dbopen
+ static DB *astdb;
+ AST_MUTEX_DEFINE_STATIC(dblock);
diff --git a/net/asterisk16/files/patch-main::frame.c b/net/asterisk16/files/patch-main::frame.c
index 232de08a9e21..d520d429220b 100644
--- a/net/asterisk16/files/patch-main::frame.c
+++ b/net/asterisk16/files/patch-main::frame.c
@@ -1,11 +1,11 @@
$FreeBSD$
---- main/frame.c.orig Wed Jan 25 13:22:43 2006
-+++ main/frame.c Wed Jan 25 13:21:25 2006
-@@ -1170,7 +1170,7 @@ static int g723_len(unsigned char buf)
- {
- switch(buf & TYPE_MASK) {
+--- main/frame.c
++++ main/frame.c
+@@ -1260,7 +1260,7 @@
+
+ switch(type) {
case TYPE_DONTSEND:
- return 0;
+ return 2;
diff --git a/net/asterisk16/files/patch-main::manager.c b/net/asterisk16/files/patch-main::manager.c
deleted file mode 100644
index 8f5a95e48d43..000000000000
--- a/net/asterisk16/files/patch-main::manager.c
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- main/manager.c.orig
-+++ main/manager.c
-@@ -73,7 +73,7 @@
-
- struct fast_originate_helper {
- char tech[AST_MAX_EXTENSION];
-- char data[AST_MAX_EXTENSION];
-+ char data[AST_MAX_EXTENSION * 5];
- int timeout;
- char app[AST_MAX_APP];
- char appdata[AST_MAX_EXTENSION];
diff --git a/net/asterisk16/files/patch-main::utils.c b/net/asterisk16/files/patch-main::utils.c
index 7f2f1495d714..6ca00d412ed3 100644
--- a/net/asterisk16/files/patch-main::utils.c
+++ b/net/asterisk16/files/patch-main::utils.c
@@ -1,9 +1,9 @@
$FreeBSD$
---- main/utils.c.orig
+--- main/utils.c
+++ main/utils.c
-@@ -914,8 +914,8 @@
+@@ -936,8 +936,8 @@
pthread_attr_init(attr);
}
diff --git a/net/asterisk16/files/patch-res_res__agi.c b/net/asterisk16/files/patch-res_res__agi.c
deleted file mode 100644
index 2e2f3c68a5ec..000000000000
--- a/net/asterisk16/files/patch-res_res__agi.c
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- res/res_agi.c
-+++ res/res_agi.c
-@@ -969,7 +969,7 @@
-
- start = ast_tvnow();
- while ((ms < 0) || ast_tvdiff_ms(ast_tvnow(), start) < ms) {
-- res = ast_waitfor(chan, -1);
-+ res = ast_waitfor(chan, ms - ast_tvdiff_ms(ast_tvnow(), start));
- if (res < 0) {
- ast_closestream(fs);
- fdprintf(agi->fd, "200 result=%d (waitfor) endpos=%ld\n", res,sample_offset);
diff --git a/net/asterisk16/files/rtp_force_dtmf-codecnego.diff b/net/asterisk16/files/rtp_force_dtmf-codecnego.diff
deleted file mode 100644
index 723bd8703c06..000000000000
--- a/net/asterisk16/files/rtp_force_dtmf-codecnego.diff
+++ /dev/null
@@ -1,86 +0,0 @@
---- channels/chan_sip.c.orig 2008-03-12 17:37:00.000000000 +0200
-+++ channels/chan_sip.c 2008-03-12 18:17:33.000000000 +0200
-@@ -554,6 +554,9 @@
- static unsigned int global_tos_sip; /*!< IP type of service for SIP packets */
- static unsigned int global_tos_audio; /*!< IP type of service for audio RTP packets */
- static unsigned int global_tos_video; /*!< IP type of service for video RTP packets */
-+static int global_force_dtmf_relay = 0;
-+static int global_force_dtmf_relay_pt = 101;
-+
- static int compactheaders; /*!< send compact sip headers */
- static int recordhistory; /*!< Record SIP history. Off by default */
- static int dumphistory; /*!< Dump history to verbose before destroying SIP dialog */
-@@ -4983,6 +4986,8 @@
- int codec_index = 0;
- int codec_pt_order[256];
-
-+ int dtmf_present = 0;
-+
- if (!p->rtp) {
- ast_log(LOG_ERROR, "Got SDP but have no RTP session allocated.\n");
- return -1;
-@@ -5408,12 +5413,20 @@
- for (x = 0; x < codec_index; ++x) {
- struct rtpPayloadType pt;
- pt = ast_rtp_lookup_pt(p->rtp, codec_pt_order[x]);
-+ if (pt.code == AST_RTP_DTMF)
-+ dtmf_present = 1;
- if (!pt.isAstFormat && !pt.code && p->vrtp)
- pt = ast_rtp_lookup_pt(p->vrtp, codec_pt_order[x]);
- if (pt.isAstFormat)
- ast_codec_pref_append(&p->formats, pt.code);
- }
- ast_codec_pref_remove2(&p->formats, ~p->usercapability);
-+ if (!dtmf_present && global_force_dtmf_relay) {
-+ newnoncodeccapability |= AST_RTP_DTMF;
-+ ast_rtp_set_m_type(newaudiortp, global_force_dtmf_relay_pt);
-+ codec_pt_order[codec_index++] = global_force_dtmf_relay_pt;
-+ ast_rtp_set_rtpmap_type(newaudiortp, global_force_dtmf_relay_pt, "audio", "telephone-event", 0);
-+ }
-
- /* Now gather all of the codecs that we are asked for: */
- ast_rtp_get_current_formats(newaudiortp, &peercapability, &peernoncodeccapability);
-@@ -16845,6 +16858,9 @@
-
- global_matchexterniplocally = FALSE;
-
-+ global_force_dtmf_relay = 0;
-+ global_force_dtmf_relay_pt = 101;
-+
- /* Copy the default jb config over global_jbconf */
- memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf));
-
-@@ -16901,6 +16917,18 @@
- }
- } else if (!strcasecmp(v->name, "vmexten")) {
- ast_copy_string(default_vmexten, v->value, sizeof(default_vmexten));
-+ } else if (!strcasecmp(v->name, "rtp_force_dtmf_relay")) {
-+ if ((global_force_dtmf_relay = ast_true(v->value)))
-+ ast_verbose("RTP DTMF relaying will be enforced\n");
-+ else
-+ ast_verbose("RTP DTMF relaying will not be enforced\n");
-+ } else if (!strcasecmp(v->name, "rtp_force_dtmf_relay_pt")) {
-+ sscanf(v->value, "%d", &global_force_dtmf_relay_pt);
-+ if (global_force_dtmf_relay_pt < 96 || global_force_dtmf_relay_pt > 255) {
-+ ast_verbose("RTP forced DTMF relay payload type is not valid: %d. Using default (101)\n", global_force_dtmf_relay_pt);
-+ global_force_dtmf_relay_pt = 101;
-+ } else
-+ ast_log(LOG_WARNING, "RTP forced DTMF relay payload type is %d\n", global_force_dtmf_relay_pt);
- } else if (!strcasecmp(v->name, "rtptimeout")) {
- if ((sscanf(v->value, "%d", &global_rtptimeout) != 1) || (global_rtptimeout < 0)) {
- ast_log(LOG_WARNING, "'%s' is not a valid RTP hold time at line %d. Using default.\n", v->value, v->lineno);
---- configs/sip.conf.sample.orig 2008-04-25 08:53:52.000000000 -0700
-+++ configs/sip.conf.sample 2008-06-10 00:45:37.000000000 -0700
-@@ -53,6 +53,12 @@
- ; and multiline formatted headers for strict
- ; SIP compatibility (defaults to "no")
-
-+;rtp_force_dtmf_relay=no ; Enable RFC2833 DTMFs to be sent even if peer
-+ ; hasn't announced support for it. Default: no
-+
-+;rtp_force_dtmf_relay_pt=101 ; RTP payload type value for enforced RFC2833
-+ ; DTMFs. Default: 101
-+
- ; See doc/ip-tos.txt for a description of these parameters.
- ;tos_sip=cs3 ; Sets TOS for SIP packets.
- ;tos_audio=ef ; Sets TOS for RTP audio packets.
diff --git a/net/asterisk16/files/rtp_force_dtmf-nocodecnego.diff b/net/asterisk16/files/rtp_force_dtmf-nocodecnego.diff
deleted file mode 100644
index 9b1d521fa0e3..000000000000
--- a/net/asterisk16/files/rtp_force_dtmf-nocodecnego.diff
+++ /dev/null
@@ -1,70 +0,0 @@
---- channels/chan_sip.c.orig 2008-09-09 00:10:10.000000000 +0300
-+++ channels/chan_sip.c 2008-12-12 17:02:05.000000000 +0200
-@@ -557,6 +557,9 @@
- static unsigned int global_tos_sip; /*!< IP type of service for SIP packets */
- static unsigned int global_tos_audio; /*!< IP type of service for audio RTP packets */
- static unsigned int global_tos_video; /*!< IP type of service for video RTP packets */
-+static int global_force_dtmf_relay = 0;
-+static int global_force_dtmf_relay_pt = 101;
-+
- static int compactheaders; /*!< send compact sip headers */
- static int recordhistory; /*!< Record SIP history. Off by default */
- static int dumphistory; /*!< Dump history to verbose before destroying SIP dialog */
-@@ -5504,6 +5507,13 @@
-
- /* Now gather all of the codecs that we are asked for: */
- ast_rtp_get_current_formats(newaudiortp, &peercapability, &peernoncodeccapability);
-+ /* Add telephone-event */
-+ if (global_force_dtmf_relay && !(peernoncodeccapability & AST_RTP_DTMF)) {
-+ ast_rtp_set_m_type(newaudiortp, global_force_dtmf_relay_pt);
-+ found_rtpmap_codecs[last_rtpmap_codec++] = global_force_dtmf_relay_pt;
-+ ast_rtp_set_rtpmap_type(newaudiortp, global_force_dtmf_relay_pt, "audio", "telephone-event", 0);
-+ peernoncodeccapability |= AST_RTP_DTMF;
-+ }
- ast_rtp_get_current_formats(newvideortp, &vpeercapability, &vpeernoncodeccapability);
-
- newjointcapability = p->capability & (peercapability | vpeercapability);
-@@ -17440,6 +17450,9 @@
-
- global_matchexterniplocally = FALSE;
-
-+ global_force_dtmf_relay = 0;
-+ global_force_dtmf_relay_pt = 101;
-+
- /* Copy the default jb config over global_jbconf */
- memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf));
-
-@@ -17496,6 +17509,18 @@
- }
- } else if (!strcasecmp(v->name, "vmexten")) {
- ast_copy_string(default_vmexten, v->value, sizeof(default_vmexten));
-+ } else if (!strcasecmp(v->name, "rtp_force_dtmf_relay")) {
-+ if ((global_force_dtmf_relay = ast_true(v->value)))
-+ ast_verbose("RTP DTMF relaying will be enforced\n");
-+ else
-+ ast_verbose("RTP DTMF relaying will not be enforced\n");
-+ } else if (!strcasecmp(v->name, "rtp_force_dtmf_relay_pt")) {
-+ sscanf(v->value, "%d", &global_force_dtmf_relay_pt);
-+ if (global_force_dtmf_relay_pt < 96 || global_force_dtmf_relay_pt > 255) {
-+ ast_verbose("RTP forced DTMF relay payload type is not valid: %d. Using default (101)\n", global_force_dtmf_relay_pt);
-+ global_force_dtmf_relay_pt = 101;
-+ } else
-+ ast_log(LOG_WARNING, "RTP forced DTMF relay payload type is %d\n", global_force_dtmf_relay_pt);
- } else if (!strcasecmp(v->name, "rtptimeout")) {
- if ((sscanf(v->value, "%d", &global_rtptimeout) != 1) || (global_rtptimeout < 0)) {
- ast_log(LOG_WARNING, "'%s' is not a valid RTP hold time at line %d. Using default.\n", v->value, v->lineno);
---- configs/sip.conf.sample.orig 2008-08-16 01:33:42.000000000 +0300
-+++ configs/sip.conf.sample 2008-12-12 17:03:11.000000000 +0200
-@@ -49,6 +49,12 @@
- ; and multiline formatted headers for strict
- ; SIP compatibility (defaults to "no")
-
-+;rtp_force_dtmf_relay=no ; Enable RFC2833 DTMFs to be sent even if peer
-+ ; hasn't announced support for it. Default: no
-+
-+;rtp_force_dtmf_relay_pt=101 ; RTP payload type value for enforced RFC2833
-+ ; DTMFs. Default: 101
-+
- ; See doc/ip-tos.txt for a description of these parameters.
- ;tos_sip=cs3 ; Sets TOS for SIP packets.
- ;tos_audio=ef ; Sets TOS for RTP audio packets.
diff --git a/net/asterisk16/files/sip_force_callid.diff b/net/asterisk16/files/sip_force_callid.diff
deleted file mode 100644
index 67a3e0192633..000000000000
--- a/net/asterisk16/files/sip_force_callid.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- channels/chan_sip.c.orig 2008-04-09 11:39:09.000000000 +0300
-+++ channels/chan_sip.c 2008-04-09 11:40:28.000000000 +0300
-@@ -2998,6 +2998,9 @@
- p->t38.state = T38_LOCAL_DIRECT;
- if (option_debug)
- ast_log(LOG_DEBUG,"T38State change to %d on channel %s\n", p->t38.state, ast->name);
-+ } else if (!strcasecmp(ast_var_name(current), "SIP_FORCE_CALLID")) {
-+
-+ ast_string_field_set(p, callid, ast_var_value(current));
- }
-
- }
diff --git a/net/asterisk16/files/sip_set_auth.diff b/net/asterisk16/files/sip_set_auth.diff
deleted file mode 100644
index 1addc4f48add..000000000000
--- a/net/asterisk16/files/sip_set_auth.diff
+++ /dev/null
@@ -1,45 +0,0 @@
---- channels/chan_sip.c.orig 2008-04-29 08:21:05.000000000 -0400
-+++ channels/chan_sip.c 2008-05-28 18:41:48.000000000 -0400
-@@ -15962,6 +15978,9 @@
- char *ext, *host;
- char tmp[256];
- char *dest = data;
-+ char *secret = NULL;
-+ char *md5secret = NULL;
-+ char *authname = NULL;
-
- if (!(p = sip_alloc(NULL, NULL, 0, SIP_INVITE))) {
- ast_log(LOG_ERROR, "Unable to build sip pvt data for '%s' (Out of memory or socket error)\n", (char *)data);
-@@ -15983,6 +16002,17 @@
- if (host) {
- *host++ = '\0';
- ext = tmp;
-+ secret = strchr(ext, ':');
-+ if (secret) {
-+ *secret++ = '\0';
-+ md5secret = strchr(secret, ':');
-+ if (md5secret) {
-+ *md5secret++ = '\0';
-+ authname = strchr(md5secret, ':');
-+ if (authname)
-+ *authname++ = '\0';
-+ }
-+ }
- } else {
- ext = strchr(tmp, '/');
- if (ext)
-@@ -16015,6 +16045,14 @@
- ast_string_field_set(p, username, ext);
- ast_string_field_free(p, fullcontact);
- }
-+ if (secret && !ast_strlen_zero(secret))
-+ ast_string_field_set(p, peersecret, secret);
-+
-+ if (md5secret && !ast_strlen_zero(md5secret))
-+ ast_string_field_set(p, peermd5secret, md5secret);
-+
-+ if (authname && !ast_strlen_zero(authname))
-+ ast_string_field_set(p, authname, authname);
- #if 0
- printf("Setting up to call extension '%s' at '%s'\n", ext ? ext : "<none>", host);
- #endif
diff --git a/net/asterisk16/pkg-plist b/net/asterisk16/pkg-plist
index 39eb05a85806..1ccf1da3c9e0 100644
--- a/net/asterisk16/pkg-plist
+++ b/net/asterisk16/pkg-plist
@@ -1,3 +1,29 @@
+@unexec if cmp -s %D/etc/asterisk/cdr_adaptive_odbc.conf %D/etc/asterisk/cdr_adaptive_odbc.conf-dist; then rm -f %D/etc/asterisk/cdr_adaptive_odbc.conf; fi
+etc/asterisk/cdr_adaptive_odbc.conf-dist
+@unexec if cmp -s %D/etc/asterisk/cdr_sqlite3_custom.conf %D/etc/asterisk/cdr_sqlite3_custom.conf-dist; then rm -f %D/etc/asterisk/cdr_sqlite3_custom.conf; fi
+etc/asterisk/cdr_sqlite3_custom.conf-dist
+@unexec if cmp -s %D/etc/asterisk/cli.conf %D/etc/asterisk/cli.conf-dist; then rm -f %D/etc/asterisk/cli.conf; fi
+etc/asterisk/cli.conf-dist
+@unexec if cmp -s %D/etc/asterisk/console.conf %D/etc/asterisk/console.conf-dist; then rm -f %D/etc/asterisk/console.conf; fi
+etc/asterisk/console.conf-dist
+@unexec if cmp -s %D/etc/asterisk/extensions.lua %D/etc/asterisk/extensions.lua-dist; then rm -f %D/etc/asterisk/extensions.lua; fi
+etc/asterisk/extensions.lua-dist
+@unexec if cmp -s %D/etc/asterisk/extensions_minivm.conf %D/etc/asterisk/extensions_minivm.conf-dist; then rm -f %D/etc/asterisk/extensions_minivm.conf; fi
+etc/asterisk/extensions_minivm.conf-dist
+@unexec if cmp -s %D/etc/asterisk/jingle.conf %D/etc/asterisk/jingle.conf-dist; then rm -f %D/etc/asterisk/jingle.conf; fi
+etc/asterisk/jingle.conf-dist
+@unexec if cmp -s %D/etc/asterisk/minivm.conf %D/etc/asterisk/minivm.conf-dist; then rm -f %D/etc/asterisk/minivm.conf; fi
+etc/asterisk/minivm.conf-dist
+@unexec if cmp -s %D/etc/asterisk/phoneprov.conf %D/etc/asterisk/phoneprov.conf-dist; then rm -f %D/etc/asterisk/phoneprov.conf; fi
+etc/asterisk/phoneprov.conf-dist
+@unexec if cmp -s %D/etc/asterisk/queuerules.conf %D/etc/asterisk/queuerules.conf-dist; then rm -f %D/etc/asterisk/queuerules.conf; fi
+etc/asterisk/queuerules.conf-dist
+@unexec if cmp -s %D/etc/asterisk/res_ldap.conf %D/etc/asterisk/res_ldap.conf-dist; then rm -f %D/etc/asterisk/res_ldap.conf; fi
+etc/asterisk/res_ldap.conf-dist
+@unexec if cmp -s %D/etc/asterisk/unistim.conf %D/etc/asterisk/unistim.conf-dist; then rm -f %D/etc/asterisk/unistim.conf; fi
+etc/asterisk/unistim.conf-dist
+@unexec if cmp -s %D/etc/asterisk/usbradio.conf %D/etc/asterisk/usbradio.conf-dist; then rm -f %D/etc/asterisk/usbradio.conf; fi
+etc/asterisk/usbradio.conf-dist
@unexec if cmp -s %D/etc/asterisk/adsi.conf %D/etc/asterisk/adsi.conf-dist; then rm -f %D/etc/asterisk/adsi.conf; fi
etc/asterisk/adsi.conf-dist
@unexec if cmp -s %D/etc/asterisk/adtranvofr.conf %D/etc/asterisk/adtranvofr.conf-dist; then rm -f %D/etc/asterisk/adtranvofr.conf; fi
@@ -68,8 +94,6 @@ etc/asterisk/osp.conf-dist
etc/asterisk/oss.conf-dist
@unexec if cmp -s %D/etc/asterisk/phone.conf %D/etc/asterisk/phone.conf-dist; then rm -f %D/etc/asterisk/phone.conf; fi
etc/asterisk/phone.conf-dist
-@unexec if cmp -s %D/etc/asterisk/privacy.conf %D/etc/asterisk/privacy.conf-dist; then rm -f %D/etc/asterisk/privacy.conf; fi
-etc/asterisk/privacy.conf-dist
@unexec if cmp -s %D/etc/asterisk/queues.conf %D/etc/asterisk/queues.conf-dist; then rm -f %D/etc/asterisk/queues.conf; fi
etc/asterisk/queues.conf-dist
@unexec if cmp -s %D/etc/asterisk/res_pgsql.conf %D/etc/asterisk/res_pgsql.conf-dist; then rm -f %D/etc/asterisk/res_pgsql.conf; fi
@@ -122,6 +146,19 @@ etc/asterisk/func_odbc.conf-dist
etc/asterisk/followme.conf-dist
@unexec if cmp -s %D/etc/asterisk/amd.conf %D/etc/asterisk/amd.conf-dist; then rm -f %D/etc/asterisk/amd.conf; fi
etc/asterisk/amd.conf-dist
+include/asterisk/_private.h
+include/asterisk/aes_internal.h
+include/asterisk/ast_version.h
+include/asterisk/event.h
+include/asterisk/event_defs.h
+include/asterisk/extconf.h
+include/asterisk/fskmodem_float.h
+include/asterisk/fskmodem_int.h
+include/asterisk/hashtab.h
+include/asterisk/mod_format.h
+include/asterisk/network.h
+include/asterisk/pval.h
+include/asterisk/tcptls.h
include/asterisk.h
include/asterisk/abstract_jb.h
include/asterisk/acl.h
@@ -151,7 +188,6 @@ include/asterisk/compat.h
include/asterisk/compiler.h
include/asterisk/config.h
include/asterisk/crypto.h
-include/asterisk/dahdi_compat.h
include/asterisk/devicestate.h
include/asterisk/dial.h
include/asterisk/dns.h
@@ -204,7 +240,6 @@ include/asterisk/tdd.h
include/asterisk/term.h
include/asterisk/threadstorage.h
include/asterisk/time.h
-include/asterisk/tonezone_compat.h
include/asterisk/transcap.h
include/asterisk/translate.h
include/asterisk/udptl.h
@@ -212,6 +247,36 @@ include/asterisk/ulaw.h
include/asterisk/unaligned.h
include/asterisk/utils.h
include/asterisk/version.h
+lib/asterisk/modules/app_minivm.so
+lib/asterisk/modules/app_pickupchan.so
+lib/asterisk/modules/app_readexten.so
+lib/asterisk/modules/app_waituntil.so
+%%WITH_ODBC%%lib/asterisk/modules/cdr_adaptive_odbc.so
+lib/asterisk/modules/cdr_sqlite3_custom.so
+%%WITH_JABBER%%lib/asterisk/modules/chan_jingle.so
+lib/asterisk/modules/chan_unistim.so
+lib/asterisk/modules/codec_g722.so
+lib/asterisk/modules/format_sln16.so
+lib/asterisk/modules/func_blacklist.so
+lib/asterisk/modules/func_devstate.so
+lib/asterisk/modules/func_dialgroup.so
+lib/asterisk/modules/func_dialplan.so
+lib/asterisk/modules/func_extstate.so
+lib/asterisk/modules/func_iconv.so
+lib/asterisk/modules/func_lock.so
+lib/asterisk/modules/func_module.so
+lib/asterisk/modules/func_shell.so
+lib/asterisk/modules/func_sysinfo.so
+lib/asterisk/modules/func_version.so
+lib/asterisk/modules/func_vmcount.so
+lib/asterisk/modules/func_volume.so
+lib/asterisk/modules/res_ael_share.so
+lib/asterisk/modules/res_config_curl.so
+lib/asterisk/modules/res_config_ldap.so
+%%WITH_SQLITE%%lib/asterisk/modules/res_config_sqlite.so
+lib/asterisk/modules/res_limit.so
+lib/asterisk/modules/res_phoneprov.so
+lib/asterisk/modules/res_realtime.so
lib/asterisk/modules/app_adsiprog.so
lib/asterisk/modules/app_alarmreceiver.so
lib/asterisk/modules/app_amd.so
@@ -235,11 +300,8 @@ lib/asterisk/modules/app_festival.so
lib/asterisk/modules/app_followme.so
lib/asterisk/modules/app_forkcdr.so
lib/asterisk/modules/app_getcpeid.so
-lib/asterisk/modules/app_hasnewvoicemail.so
lib/asterisk/modules/app_ices.so
lib/asterisk/modules/app_image.so
-lib/asterisk/modules/app_lookupblacklist.so
-lib/asterisk/modules/app_lookupcidname.so
lib/asterisk/modules/app_macro.so
lib/asterisk/modules/app_milliwatt.so
lib/asterisk/modules/app_mixmonitor.so
@@ -250,17 +312,13 @@ lib/asterisk/modules/app_parkandannounce.so
lib/asterisk/modules/app_playback.so
lib/asterisk/modules/app_privacy.so
lib/asterisk/modules/app_queue.so
-lib/asterisk/modules/app_random.so
lib/asterisk/modules/app_read.so
lib/asterisk/modules/app_readfile.so
-lib/asterisk/modules/app_realtime.so
lib/asterisk/modules/app_record.so
lib/asterisk/modules/app_sayunixtime.so
lib/asterisk/modules/app_senddtmf.so
lib/asterisk/modules/app_sendtext.so
lib/asterisk/modules/app_setcallerid.so
-lib/asterisk/modules/app_setcdruserfield.so
-lib/asterisk/modules/app_settransfercapability.so
lib/asterisk/modules/app_sms.so
lib/asterisk/modules/app_softhangup.so
lib/asterisk/modules/app_speech_utils.so
@@ -325,11 +383,9 @@ lib/asterisk/modules/func_enum.so
lib/asterisk/modules/func_env.so
lib/asterisk/modules/func_global.so
lib/asterisk/modules/func_groupcount.so
-lib/asterisk/modules/func_language.so
lib/asterisk/modules/func_logic.so
lib/asterisk/modules/func_math.so
lib/asterisk/modules/func_md5.so
-lib/asterisk/modules/func_moh.so
%%WITH_ODBC%%lib/asterisk/modules/func_odbc.so
lib/asterisk/modules/func_rand.so
lib/asterisk/modules/func_realtime.so
@@ -349,7 +405,6 @@ lib/asterisk/modules/res_clioriginate.so
%%WITH_POSTGRES%%lib/asterisk/modules/res_config_pgsql.so
lib/asterisk/modules/res_convert.so
lib/asterisk/modules/res_crypto.so
-lib/asterisk/modules/res_features.so
lib/asterisk/modules/res_indications.so
%%WITH_JABBER%%lib/asterisk/modules/res_jabber.so
lib/asterisk/modules/res_monitor.so
@@ -357,7 +412,10 @@ lib/asterisk/modules/res_musiconhold.so
lib/asterisk/modules/res_smdi.so
%%WITH_SNMP%%lib/asterisk/modules/res_snmp.so
lib/asterisk/modules/res_speech.so
-sbin/aelparse
+sbin/astcanary
+sbin/check_expr
+sbin/hashtest
+sbin/hashtest2
sbin/asterisk
sbin/astgenkey
sbin/astman
@@ -374,6 +432,7 @@ share/asterisk/agi-bin/eagi-test
share/asterisk/agi-bin/jukebox.agi
share/asterisk/firmware/iax/iaxy.bin
share/asterisk/images/asterisk-intro.jpg
+share/asterisk/images/kpad2.jpg
share/asterisk/keys/freeworlddialup.pub
share/asterisk/keys/iaxtel.pub
share/asterisk/moh/.asterisk-moh-freeplay-wav
@@ -381,426 +440,432 @@ share/asterisk/moh/LICENSE-asterisk-moh-freeplay-wav
share/asterisk/moh/fpm-calm-river.wav
share/asterisk/moh/fpm-sunshine.wav
share/asterisk/moh/fpm-world-mix.wav
-share/asterisk/sounds/.asterisk-core-sounds-en-gsm-1.4.9
-share/asterisk/sounds/CHANGES-asterisk-core-en-1.4.9
-share/asterisk/sounds/CREDITS-asterisk-core-en-1.4.9
-share/asterisk/sounds/agent-alreadyon.gsm
-share/asterisk/sounds/agent-incorrect.gsm
-share/asterisk/sounds/agent-loggedoff.gsm
-share/asterisk/sounds/agent-loginok.gsm
-share/asterisk/sounds/agent-newlocation.gsm
-share/asterisk/sounds/agent-pass.gsm
-share/asterisk/sounds/agent-user.gsm
-share/asterisk/sounds/auth-incorrect.gsm
-share/asterisk/sounds/auth-thankyou.gsm
-share/asterisk/sounds/beep.gsm
-share/asterisk/sounds/beeperr.gsm
-share/asterisk/sounds/conf-adminmenu.gsm
-share/asterisk/sounds/conf-enteringno.gsm
-share/asterisk/sounds/conf-errormenu.gsm
-share/asterisk/sounds/conf-getchannel.gsm
-share/asterisk/sounds/conf-getconfno.gsm
-share/asterisk/sounds/conf-getpin.gsm
-share/asterisk/sounds/conf-hasjoin.gsm
-share/asterisk/sounds/conf-hasleft.gsm
-share/asterisk/sounds/conf-invalid.gsm
-share/asterisk/sounds/conf-invalidpin.gsm
-share/asterisk/sounds/conf-kicked.gsm
-share/asterisk/sounds/conf-leaderhasleft.gsm
-share/asterisk/sounds/conf-locked.gsm
-share/asterisk/sounds/conf-lockednow.gsm
-share/asterisk/sounds/conf-muted.gsm
-share/asterisk/sounds/conf-noempty.gsm
-share/asterisk/sounds/conf-onlyone.gsm
-share/asterisk/sounds/conf-onlyperson.gsm
-share/asterisk/sounds/conf-otherinparty.gsm
-share/asterisk/sounds/conf-placeintoconf.gsm
-share/asterisk/sounds/conf-thereare.gsm
-share/asterisk/sounds/conf-unlockednow.gsm
-share/asterisk/sounds/conf-unmuted.gsm
-share/asterisk/sounds/conf-usermenu.gsm
-share/asterisk/sounds/conf-userswilljoin.gsm
-share/asterisk/sounds/conf-userwilljoin.gsm
-share/asterisk/sounds/conf-waitforleader.gsm
-share/asterisk/sounds/core-sounds-en.txt
-share/asterisk/sounds/demo-abouttotry.gsm
-share/asterisk/sounds/demo-congrats.gsm
-share/asterisk/sounds/demo-echodone.gsm
-share/asterisk/sounds/demo-echotest.gsm
-share/asterisk/sounds/demo-enterkeywords.gsm
-share/asterisk/sounds/demo-instruct.gsm
-share/asterisk/sounds/demo-moreinfo.gsm
-share/asterisk/sounds/demo-nogo.gsm
-share/asterisk/sounds/demo-nomatch.gsm
-share/asterisk/sounds/demo-thanks.gsm
-share/asterisk/sounds/dictate/both_help.gsm
-share/asterisk/sounds/dictate/enter_filename.gsm
-share/asterisk/sounds/dictate/forhelp.gsm
-share/asterisk/sounds/dictate/pause.gsm
-share/asterisk/sounds/dictate/paused.gsm
-share/asterisk/sounds/dictate/play_help.gsm
-share/asterisk/sounds/dictate/playback.gsm
-share/asterisk/sounds/dictate/playback_mode.gsm
-share/asterisk/sounds/dictate/record.gsm
-share/asterisk/sounds/dictate/record_help.gsm
-share/asterisk/sounds/dictate/record_mode.gsm
-share/asterisk/sounds/dictate/truncating_audio.gsm
-share/asterisk/sounds/digits/0.gsm
-share/asterisk/sounds/digits/1.gsm
-share/asterisk/sounds/digits/10.gsm
-share/asterisk/sounds/digits/11.gsm
-share/asterisk/sounds/digits/12.gsm
-share/asterisk/sounds/digits/13.gsm
-share/asterisk/sounds/digits/14.gsm
-share/asterisk/sounds/digits/15.gsm
-share/asterisk/sounds/digits/16.gsm
-share/asterisk/sounds/digits/17.gsm
-share/asterisk/sounds/digits/18.gsm
-share/asterisk/sounds/digits/19.gsm
-share/asterisk/sounds/digits/2.gsm
-share/asterisk/sounds/digits/20.gsm
-share/asterisk/sounds/digits/3.gsm
-share/asterisk/sounds/digits/30.gsm
-share/asterisk/sounds/digits/4.gsm
-share/asterisk/sounds/digits/40.gsm
-share/asterisk/sounds/digits/5.gsm
-share/asterisk/sounds/digits/50.gsm
-share/asterisk/sounds/digits/6.gsm
-share/asterisk/sounds/digits/60.gsm
-share/asterisk/sounds/digits/7.gsm
-share/asterisk/sounds/digits/70.gsm
-share/asterisk/sounds/digits/8.gsm
-share/asterisk/sounds/digits/80.gsm
-share/asterisk/sounds/digits/9.gsm
-share/asterisk/sounds/digits/90.gsm
-share/asterisk/sounds/digits/a-m.gsm
-share/asterisk/sounds/digits/at.gsm
-share/asterisk/sounds/digits/day-0.gsm
-share/asterisk/sounds/digits/day-1.gsm
-share/asterisk/sounds/digits/day-2.gsm
-share/asterisk/sounds/digits/day-3.gsm
-share/asterisk/sounds/digits/day-4.gsm
-share/asterisk/sounds/digits/day-5.gsm
-share/asterisk/sounds/digits/day-6.gsm
-share/asterisk/sounds/digits/dollars.gsm
-share/asterisk/sounds/digits/h-1.gsm
-share/asterisk/sounds/digits/h-10.gsm
-share/asterisk/sounds/digits/h-11.gsm
-share/asterisk/sounds/digits/h-12.gsm
-share/asterisk/sounds/digits/h-13.gsm
-share/asterisk/sounds/digits/h-14.gsm
-share/asterisk/sounds/digits/h-15.gsm
-share/asterisk/sounds/digits/h-16.gsm
-share/asterisk/sounds/digits/h-17.gsm
-share/asterisk/sounds/digits/h-18.gsm
-share/asterisk/sounds/digits/h-19.gsm
-share/asterisk/sounds/digits/h-2.gsm
-share/asterisk/sounds/digits/h-20.gsm
-share/asterisk/sounds/digits/h-3.gsm
-share/asterisk/sounds/digits/h-30.gsm
-share/asterisk/sounds/digits/h-4.gsm
-share/asterisk/sounds/digits/h-5.gsm
-share/asterisk/sounds/digits/h-6.gsm
-share/asterisk/sounds/digits/h-7.gsm
-share/asterisk/sounds/digits/h-8.gsm
-share/asterisk/sounds/digits/h-9.gsm
-share/asterisk/sounds/digits/hundred.gsm
-share/asterisk/sounds/digits/million.gsm
-share/asterisk/sounds/digits/minus.gsm
-share/asterisk/sounds/digits/mon-0.gsm
-share/asterisk/sounds/digits/mon-1.gsm
-share/asterisk/sounds/digits/mon-10.gsm
-share/asterisk/sounds/digits/mon-11.gsm
-share/asterisk/sounds/digits/mon-2.gsm
-share/asterisk/sounds/digits/mon-3.gsm
-share/asterisk/sounds/digits/mon-4.gsm
-share/asterisk/sounds/digits/mon-5.gsm
-share/asterisk/sounds/digits/mon-6.gsm
-share/asterisk/sounds/digits/mon-7.gsm
-share/asterisk/sounds/digits/mon-8.gsm
-share/asterisk/sounds/digits/mon-9.gsm
-share/asterisk/sounds/digits/oclock.gsm
-share/asterisk/sounds/digits/oh.gsm
-share/asterisk/sounds/digits/p-m.gsm
-share/asterisk/sounds/digits/pound.gsm
-share/asterisk/sounds/digits/star.gsm
-share/asterisk/sounds/digits/thousand.gsm
-share/asterisk/sounds/digits/today.gsm
-share/asterisk/sounds/digits/tomorrow.gsm
-share/asterisk/sounds/digits/yesterday.gsm
-share/asterisk/sounds/dir-first.gsm
-share/asterisk/sounds/dir-firstlast.gsm
-share/asterisk/sounds/dir-instr.gsm
-share/asterisk/sounds/dir-intro-fn.gsm
-share/asterisk/sounds/dir-intro.gsm
-share/asterisk/sounds/dir-last.gsm
-share/asterisk/sounds/dir-multi1.gsm
-share/asterisk/sounds/dir-multi2.gsm
-share/asterisk/sounds/dir-multi3.gsm
-share/asterisk/sounds/dir-multi9.gsm
-share/asterisk/sounds/dir-nomatch.gsm
-share/asterisk/sounds/dir-nomore.gsm
-share/asterisk/sounds/dir-pls-enter.gsm
-share/asterisk/sounds/followme/call-from.gsm
-share/asterisk/sounds/followme/no-recording.gsm
-share/asterisk/sounds/followme/options.gsm
-share/asterisk/sounds/followme/pls-hold-while-try.gsm
-share/asterisk/sounds/followme/sorry.gsm
-share/asterisk/sounds/followme/status.gsm
-share/asterisk/sounds/hello-world.gsm
-share/asterisk/sounds/hours.gsm
-share/asterisk/sounds/invalid.gsm
-share/asterisk/sounds/letters/a.gsm
-share/asterisk/sounds/letters/ascii123.gsm
-share/asterisk/sounds/letters/ascii124.gsm
-share/asterisk/sounds/letters/ascii125.gsm
-share/asterisk/sounds/letters/ascii126.gsm
-share/asterisk/sounds/letters/ascii34.gsm
-share/asterisk/sounds/letters/ascii36.gsm
-share/asterisk/sounds/letters/ascii37.gsm
-share/asterisk/sounds/letters/ascii38.gsm
-share/asterisk/sounds/letters/ascii39.gsm
-share/asterisk/sounds/letters/ascii40.gsm
-share/asterisk/sounds/letters/ascii41.gsm
-share/asterisk/sounds/letters/ascii42.gsm
-share/asterisk/sounds/letters/ascii44.gsm
-share/asterisk/sounds/letters/ascii58.gsm
-share/asterisk/sounds/letters/ascii59.gsm
-share/asterisk/sounds/letters/ascii60.gsm
-share/asterisk/sounds/letters/ascii62.gsm
-share/asterisk/sounds/letters/ascii63.gsm
-share/asterisk/sounds/letters/ascii91.gsm
-share/asterisk/sounds/letters/ascii92.gsm
-share/asterisk/sounds/letters/ascii93.gsm
-share/asterisk/sounds/letters/ascii94.gsm
-share/asterisk/sounds/letters/ascii95.gsm
-share/asterisk/sounds/letters/ascii96.gsm
-share/asterisk/sounds/letters/asterisk.gsm
-share/asterisk/sounds/letters/at.gsm
-share/asterisk/sounds/letters/b.gsm
-share/asterisk/sounds/letters/c.gsm
-share/asterisk/sounds/letters/d.gsm
-share/asterisk/sounds/letters/dash.gsm
-share/asterisk/sounds/letters/dollar.gsm
-share/asterisk/sounds/letters/dot.gsm
-share/asterisk/sounds/letters/e.gsm
-share/asterisk/sounds/letters/equals.gsm
-share/asterisk/sounds/letters/exclaimation-point.gsm
-share/asterisk/sounds/letters/f.gsm
-share/asterisk/sounds/letters/g.gsm
-share/asterisk/sounds/letters/h.gsm
-share/asterisk/sounds/letters/i.gsm
-share/asterisk/sounds/letters/j.gsm
-share/asterisk/sounds/letters/k.gsm
-share/asterisk/sounds/letters/l.gsm
-share/asterisk/sounds/letters/m.gsm
-share/asterisk/sounds/letters/n.gsm
-share/asterisk/sounds/letters/o.gsm
-share/asterisk/sounds/letters/p.gsm
-share/asterisk/sounds/letters/plus.gsm
-share/asterisk/sounds/letters/q.gsm
-share/asterisk/sounds/letters/r.gsm
-share/asterisk/sounds/letters/s.gsm
-share/asterisk/sounds/letters/slash.gsm
-share/asterisk/sounds/letters/space.gsm
-share/asterisk/sounds/letters/t.gsm
-share/asterisk/sounds/letters/u.gsm
-share/asterisk/sounds/letters/v.gsm
-share/asterisk/sounds/letters/w.gsm
-share/asterisk/sounds/letters/x.gsm
-share/asterisk/sounds/letters/y.gsm
-share/asterisk/sounds/letters/z.gsm
-share/asterisk/sounds/letters/zed.gsm
-share/asterisk/sounds/minutes.gsm
-share/asterisk/sounds/pbx-invalid.gsm
-share/asterisk/sounds/pbx-invalidpark.gsm
-share/asterisk/sounds/pbx-transfer.gsm
-share/asterisk/sounds/phonetic/9_p.gsm
-share/asterisk/sounds/phonetic/a_p.gsm
-share/asterisk/sounds/phonetic/b_p.gsm
-share/asterisk/sounds/phonetic/c_p.gsm
-share/asterisk/sounds/phonetic/d_p.gsm
-share/asterisk/sounds/phonetic/e_p.gsm
-share/asterisk/sounds/phonetic/f_p.gsm
-share/asterisk/sounds/phonetic/g_p.gsm
-share/asterisk/sounds/phonetic/h_p.gsm
-share/asterisk/sounds/phonetic/i_p.gsm
-share/asterisk/sounds/phonetic/j_p.gsm
-share/asterisk/sounds/phonetic/k_p.gsm
-share/asterisk/sounds/phonetic/l_p.gsm
-share/asterisk/sounds/phonetic/m_p.gsm
-share/asterisk/sounds/phonetic/n_p.gsm
-share/asterisk/sounds/phonetic/o_p.gsm
-share/asterisk/sounds/phonetic/p_p.gsm
-share/asterisk/sounds/phonetic/q_p.gsm
-share/asterisk/sounds/phonetic/r_p.gsm
-share/asterisk/sounds/phonetic/s_p.gsm
-share/asterisk/sounds/phonetic/t_p.gsm
-share/asterisk/sounds/phonetic/u_p.gsm
-share/asterisk/sounds/phonetic/v_p.gsm
-share/asterisk/sounds/phonetic/w_p.gsm
-share/asterisk/sounds/phonetic/x_p.gsm
-share/asterisk/sounds/phonetic/y_p.gsm
-share/asterisk/sounds/phonetic/z_p.gsm
-share/asterisk/sounds/priv-callee-options.gsm
-share/asterisk/sounds/priv-callpending.gsm
-share/asterisk/sounds/priv-introsaved.gsm
-share/asterisk/sounds/priv-recordintro.gsm
-share/asterisk/sounds/privacy-incorrect.gsm
-share/asterisk/sounds/privacy-prompt.gsm
-share/asterisk/sounds/privacy-thankyou.gsm
-share/asterisk/sounds/privacy-unident.gsm
-share/asterisk/sounds/queue-callswaiting.gsm
-share/asterisk/sounds/queue-holdtime.gsm
-share/asterisk/sounds/queue-less-than.gsm
-share/asterisk/sounds/queue-minutes.gsm
-share/asterisk/sounds/queue-periodic-announce.gsm
-share/asterisk/sounds/queue-quantity1.gsm
-share/asterisk/sounds/queue-quantity2.gsm
-share/asterisk/sounds/queue-reporthold.gsm
-share/asterisk/sounds/queue-seconds.gsm
-share/asterisk/sounds/queue-thankyou.gsm
-share/asterisk/sounds/queue-thereare.gsm
-share/asterisk/sounds/queue-youarenext.gsm
-share/asterisk/sounds/screen-callee-options.gsm
-share/asterisk/sounds/seconds.gsm
-share/asterisk/sounds/silence/1.gsm
-share/asterisk/sounds/silence/10.gsm
-share/asterisk/sounds/silence/2.gsm
-share/asterisk/sounds/silence/3.gsm
-share/asterisk/sounds/silence/4.gsm
-share/asterisk/sounds/silence/5.gsm
-share/asterisk/sounds/silence/6.gsm
-share/asterisk/sounds/silence/7.gsm
-share/asterisk/sounds/silence/8.gsm
-share/asterisk/sounds/silence/9.gsm
-share/asterisk/sounds/spy-agent.gsm
-share/asterisk/sounds/spy-console.gsm
-share/asterisk/sounds/spy-h323.gsm
-share/asterisk/sounds/spy-iax.gsm
-share/asterisk/sounds/spy-iax2.gsm
-share/asterisk/sounds/spy-jingle.gsm
-share/asterisk/sounds/spy-local.gsm
-share/asterisk/sounds/spy-mgcp.gsm
-share/asterisk/sounds/spy-misdn.gsm
-share/asterisk/sounds/spy-mobile.gsm
-share/asterisk/sounds/spy-nbs.gsm
-share/asterisk/sounds/spy-sip.gsm
-share/asterisk/sounds/spy-skinny.gsm
-share/asterisk/sounds/spy-unistim.gsm
-share/asterisk/sounds/spy-usbradio.gsm
-share/asterisk/sounds/spy-zap.gsm
-share/asterisk/sounds/ss-noservice.gsm
-share/asterisk/sounds/transfer.gsm
-share/asterisk/sounds/tt-allbusy.gsm
-share/asterisk/sounds/tt-monkeys.gsm
-share/asterisk/sounds/tt-monkeysintro.gsm
-share/asterisk/sounds/tt-somethingwrong.gsm
-share/asterisk/sounds/tt-weasels.gsm
-share/asterisk/sounds/vm-Cust1.gsm
-share/asterisk/sounds/vm-Cust2.gsm
-share/asterisk/sounds/vm-Cust3.gsm
-share/asterisk/sounds/vm-Cust4.gsm
-share/asterisk/sounds/vm-Cust5.gsm
-share/asterisk/sounds/vm-Family.gsm
-share/asterisk/sounds/vm-Friends.gsm
-share/asterisk/sounds/vm-INBOX.gsm
-share/asterisk/sounds/vm-Old.gsm
-share/asterisk/sounds/vm-Work.gsm
-share/asterisk/sounds/vm-advopts.gsm
-share/asterisk/sounds/vm-and.gsm
-share/asterisk/sounds/vm-calldiffnum.gsm
-share/asterisk/sounds/vm-changeto.gsm
-share/asterisk/sounds/vm-delete.gsm
-share/asterisk/sounds/vm-deleted.gsm
-share/asterisk/sounds/vm-dialout.gsm
-share/asterisk/sounds/vm-duration.gsm
-share/asterisk/sounds/vm-enter-num-to-call.gsm
-share/asterisk/sounds/vm-extension.gsm
-share/asterisk/sounds/vm-first.gsm
-share/asterisk/sounds/vm-for.gsm
-share/asterisk/sounds/vm-forward.gsm
-share/asterisk/sounds/vm-forwardoptions.gsm
-share/asterisk/sounds/vm-from-extension.gsm
-share/asterisk/sounds/vm-from-phonenumber.gsm
-share/asterisk/sounds/vm-from.gsm
-share/asterisk/sounds/vm-goodbye.gsm
-share/asterisk/sounds/vm-helpexit.gsm
-share/asterisk/sounds/vm-incorrect-mailbox.gsm
-share/asterisk/sounds/vm-incorrect.gsm
-share/asterisk/sounds/vm-instructions.gsm
-share/asterisk/sounds/vm-intro.gsm
-share/asterisk/sounds/vm-invalidpassword.gsm
-share/asterisk/sounds/vm-isonphone.gsm
-share/asterisk/sounds/vm-isunavail.gsm
-share/asterisk/sounds/vm-last.gsm
-share/asterisk/sounds/vm-leavemsg.gsm
-share/asterisk/sounds/vm-login.gsm
-share/asterisk/sounds/vm-mailboxfull.gsm
-share/asterisk/sounds/vm-message.gsm
-share/asterisk/sounds/vm-messages.gsm
-share/asterisk/sounds/vm-minutes.gsm
-share/asterisk/sounds/vm-mismatch.gsm
-share/asterisk/sounds/vm-msginstruct.gsm
-share/asterisk/sounds/vm-msgsaved.gsm
-share/asterisk/sounds/vm-newpassword.gsm
-share/asterisk/sounds/vm-newuser.gsm
-share/asterisk/sounds/vm-next.gsm
-share/asterisk/sounds/vm-no.gsm
-share/asterisk/sounds/vm-nobodyavail.gsm
-share/asterisk/sounds/vm-nobox.gsm
-share/asterisk/sounds/vm-nomore.gsm
-share/asterisk/sounds/vm-nonumber.gsm
-share/asterisk/sounds/vm-num-i-have.gsm
-share/asterisk/sounds/vm-onefor.gsm
-share/asterisk/sounds/vm-onefor-full.gsm
-share/asterisk/sounds/vm-options.gsm
-share/asterisk/sounds/vm-opts.gsm
-share/asterisk/sounds/vm-opts-full.gsm
-share/asterisk/sounds/vm-passchanged.gsm
-share/asterisk/sounds/vm-password.gsm
-share/asterisk/sounds/vm-press.gsm
-share/asterisk/sounds/vm-prev.gsm
-share/asterisk/sounds/vm-reachoper.gsm
-share/asterisk/sounds/vm-rec-busy.gsm
-share/asterisk/sounds/vm-rec-name.gsm
-share/asterisk/sounds/vm-rec-temp.gsm
-share/asterisk/sounds/vm-rec-unv.gsm
-share/asterisk/sounds/vm-received.gsm
-share/asterisk/sounds/vm-reenterpassword.gsm
-share/asterisk/sounds/vm-repeat.gsm
-share/asterisk/sounds/vm-review.gsm
-share/asterisk/sounds/vm-saved.gsm
-share/asterisk/sounds/vm-savedto.gsm
-share/asterisk/sounds/vm-savefolder.gsm
-share/asterisk/sounds/vm-savemessage.gsm
-share/asterisk/sounds/vm-saveoper.gsm
-share/asterisk/sounds/vm-sorry.gsm
-share/asterisk/sounds/vm-star-cancel.gsm
-share/asterisk/sounds/vm-starmain.gsm
-share/asterisk/sounds/vm-tempgreetactive.gsm
-share/asterisk/sounds/vm-tempgreeting.gsm
-share/asterisk/sounds/vm-tempgreeting2.gsm
-share/asterisk/sounds/vm-tempremoved.gsm
-share/asterisk/sounds/vm-then-pound.gsm
-share/asterisk/sounds/vm-theperson.gsm
-share/asterisk/sounds/vm-tmpexists.gsm
-share/asterisk/sounds/vm-tocallback.gsm
-share/asterisk/sounds/vm-tocallnum.gsm
-share/asterisk/sounds/vm-tocancel.gsm
-share/asterisk/sounds/vm-tocancelmsg.gsm
-share/asterisk/sounds/vm-toenternumber.gsm
-share/asterisk/sounds/vm-toforward.gsm
-share/asterisk/sounds/vm-tohearenv.gsm
-share/asterisk/sounds/vm-tomakecall.gsm
-share/asterisk/sounds/vm-tooshort.gsm
-share/asterisk/sounds/vm-toreply.gsm
-share/asterisk/sounds/vm-torerecord.gsm
-share/asterisk/sounds/vm-undelete.gsm
-share/asterisk/sounds/vm-undeleted.gsm
-share/asterisk/sounds/vm-unknown-caller.gsm
-share/asterisk/sounds/vm-whichbox.gsm
-share/asterisk/sounds/vm-youhave.gsm
+share/asterisk/phoneprov/000000000000-directory.xml
+share/asterisk/phoneprov/000000000000-phone.cfg
+share/asterisk/phoneprov/000000000000.cfg
+share/asterisk/phoneprov/polycom.xml
+share/asterisk/sounds/.asterisk-core-sounds-en-gsm-1.4.11
+share/asterisk/sounds/en/CHANGES-asterisk-core-en-1.4.11
+share/asterisk/sounds/en/CREDITS-asterisk-core-en-1.4.11
+share/asterisk/sounds/en/dir-usingkeypad.gsm
+share/asterisk/sounds/en/dir-welcome.gsm
+share/asterisk/sounds/en/agent-alreadyon.gsm
+share/asterisk/sounds/en/agent-incorrect.gsm
+share/asterisk/sounds/en/agent-loggedoff.gsm
+share/asterisk/sounds/en/agent-loginok.gsm
+share/asterisk/sounds/en/agent-newlocation.gsm
+share/asterisk/sounds/en/agent-pass.gsm
+share/asterisk/sounds/en/agent-user.gsm
+share/asterisk/sounds/en/auth-incorrect.gsm
+share/asterisk/sounds/en/auth-thankyou.gsm
+share/asterisk/sounds/en/beep.gsm
+share/asterisk/sounds/en/beeperr.gsm
+share/asterisk/sounds/en/conf-adminmenu.gsm
+share/asterisk/sounds/en/conf-enteringno.gsm
+share/asterisk/sounds/en/conf-errormenu.gsm
+share/asterisk/sounds/en/conf-getchannel.gsm
+share/asterisk/sounds/en/conf-getconfno.gsm
+share/asterisk/sounds/en/conf-getpin.gsm
+share/asterisk/sounds/en/conf-hasjoin.gsm
+share/asterisk/sounds/en/conf-hasleft.gsm
+share/asterisk/sounds/en/conf-invalid.gsm
+share/asterisk/sounds/en/conf-invalidpin.gsm
+share/asterisk/sounds/en/conf-kicked.gsm
+share/asterisk/sounds/en/conf-leaderhasleft.gsm
+share/asterisk/sounds/en/conf-locked.gsm
+share/asterisk/sounds/en/conf-lockednow.gsm
+share/asterisk/sounds/en/conf-muted.gsm
+share/asterisk/sounds/en/conf-noempty.gsm
+share/asterisk/sounds/en/conf-onlyone.gsm
+share/asterisk/sounds/en/conf-onlyperson.gsm
+share/asterisk/sounds/en/conf-otherinparty.gsm
+share/asterisk/sounds/en/conf-placeintoconf.gsm
+share/asterisk/sounds/en/conf-thereare.gsm
+share/asterisk/sounds/en/conf-unlockednow.gsm
+share/asterisk/sounds/en/conf-unmuted.gsm
+share/asterisk/sounds/en/conf-usermenu.gsm
+share/asterisk/sounds/en/conf-userswilljoin.gsm
+share/asterisk/sounds/en/conf-userwilljoin.gsm
+share/asterisk/sounds/en/conf-waitforleader.gsm
+share/asterisk/sounds/en/core-sounds-en.txt
+share/asterisk/sounds/en/demo-abouttotry.gsm
+share/asterisk/sounds/en/demo-congrats.gsm
+share/asterisk/sounds/en/demo-echodone.gsm
+share/asterisk/sounds/en/demo-echotest.gsm
+share/asterisk/sounds/en/demo-enterkeywords.gsm
+share/asterisk/sounds/en/demo-instruct.gsm
+share/asterisk/sounds/en/demo-moreinfo.gsm
+share/asterisk/sounds/en/demo-nogo.gsm
+share/asterisk/sounds/en/demo-nomatch.gsm
+share/asterisk/sounds/en/demo-thanks.gsm
+share/asterisk/sounds/en/dictate/both_help.gsm
+share/asterisk/sounds/en/dictate/enter_filename.gsm
+share/asterisk/sounds/en/dictate/forhelp.gsm
+share/asterisk/sounds/en/dictate/pause.gsm
+share/asterisk/sounds/en/dictate/paused.gsm
+share/asterisk/sounds/en/dictate/play_help.gsm
+share/asterisk/sounds/en/dictate/playback.gsm
+share/asterisk/sounds/en/dictate/playback_mode.gsm
+share/asterisk/sounds/en/dictate/record.gsm
+share/asterisk/sounds/en/dictate/record_help.gsm
+share/asterisk/sounds/en/dictate/record_mode.gsm
+share/asterisk/sounds/en/dictate/truncating_audio.gsm
+share/asterisk/sounds/en/digits/0.gsm
+share/asterisk/sounds/en/digits/1.gsm
+share/asterisk/sounds/en/digits/10.gsm
+share/asterisk/sounds/en/digits/11.gsm
+share/asterisk/sounds/en/digits/12.gsm
+share/asterisk/sounds/en/digits/13.gsm
+share/asterisk/sounds/en/digits/14.gsm
+share/asterisk/sounds/en/digits/15.gsm
+share/asterisk/sounds/en/digits/16.gsm
+share/asterisk/sounds/en/digits/17.gsm
+share/asterisk/sounds/en/digits/18.gsm
+share/asterisk/sounds/en/digits/19.gsm
+share/asterisk/sounds/en/digits/2.gsm
+share/asterisk/sounds/en/digits/20.gsm
+share/asterisk/sounds/en/digits/3.gsm
+share/asterisk/sounds/en/digits/30.gsm
+share/asterisk/sounds/en/digits/4.gsm
+share/asterisk/sounds/en/digits/40.gsm
+share/asterisk/sounds/en/digits/5.gsm
+share/asterisk/sounds/en/digits/50.gsm
+share/asterisk/sounds/en/digits/6.gsm
+share/asterisk/sounds/en/digits/60.gsm
+share/asterisk/sounds/en/digits/7.gsm
+share/asterisk/sounds/en/digits/70.gsm
+share/asterisk/sounds/en/digits/8.gsm
+share/asterisk/sounds/en/digits/80.gsm
+share/asterisk/sounds/en/digits/9.gsm
+share/asterisk/sounds/en/digits/90.gsm
+share/asterisk/sounds/en/digits/a-m.gsm
+share/asterisk/sounds/en/digits/at.gsm
+share/asterisk/sounds/en/digits/day-0.gsm
+share/asterisk/sounds/en/digits/day-1.gsm
+share/asterisk/sounds/en/digits/day-2.gsm
+share/asterisk/sounds/en/digits/day-3.gsm
+share/asterisk/sounds/en/digits/day-4.gsm
+share/asterisk/sounds/en/digits/day-5.gsm
+share/asterisk/sounds/en/digits/day-6.gsm
+share/asterisk/sounds/en/digits/dollars.gsm
+share/asterisk/sounds/en/digits/h-1.gsm
+share/asterisk/sounds/en/digits/h-10.gsm
+share/asterisk/sounds/en/digits/h-11.gsm
+share/asterisk/sounds/en/digits/h-12.gsm
+share/asterisk/sounds/en/digits/h-13.gsm
+share/asterisk/sounds/en/digits/h-14.gsm
+share/asterisk/sounds/en/digits/h-15.gsm
+share/asterisk/sounds/en/digits/h-16.gsm
+share/asterisk/sounds/en/digits/h-17.gsm
+share/asterisk/sounds/en/digits/h-18.gsm
+share/asterisk/sounds/en/digits/h-19.gsm
+share/asterisk/sounds/en/digits/h-2.gsm
+share/asterisk/sounds/en/digits/h-20.gsm
+share/asterisk/sounds/en/digits/h-3.gsm
+share/asterisk/sounds/en/digits/h-30.gsm
+share/asterisk/sounds/en/digits/h-4.gsm
+share/asterisk/sounds/en/digits/h-5.gsm
+share/asterisk/sounds/en/digits/h-6.gsm
+share/asterisk/sounds/en/digits/h-7.gsm
+share/asterisk/sounds/en/digits/h-8.gsm
+share/asterisk/sounds/en/digits/h-9.gsm
+share/asterisk/sounds/en/digits/hundred.gsm
+share/asterisk/sounds/en/digits/million.gsm
+share/asterisk/sounds/en/digits/minus.gsm
+share/asterisk/sounds/en/digits/mon-0.gsm
+share/asterisk/sounds/en/digits/mon-1.gsm
+share/asterisk/sounds/en/digits/mon-10.gsm
+share/asterisk/sounds/en/digits/mon-11.gsm
+share/asterisk/sounds/en/digits/mon-2.gsm
+share/asterisk/sounds/en/digits/mon-3.gsm
+share/asterisk/sounds/en/digits/mon-4.gsm
+share/asterisk/sounds/en/digits/mon-5.gsm
+share/asterisk/sounds/en/digits/mon-6.gsm
+share/asterisk/sounds/en/digits/mon-7.gsm
+share/asterisk/sounds/en/digits/mon-8.gsm
+share/asterisk/sounds/en/digits/mon-9.gsm
+share/asterisk/sounds/en/digits/oclock.gsm
+share/asterisk/sounds/en/digits/oh.gsm
+share/asterisk/sounds/en/digits/p-m.gsm
+share/asterisk/sounds/en/digits/pound.gsm
+share/asterisk/sounds/en/digits/star.gsm
+share/asterisk/sounds/en/digits/thousand.gsm
+share/asterisk/sounds/en/digits/today.gsm
+share/asterisk/sounds/en/digits/tomorrow.gsm
+share/asterisk/sounds/en/digits/yesterday.gsm
+share/asterisk/sounds/en/dir-first.gsm
+share/asterisk/sounds/en/dir-firstlast.gsm
+share/asterisk/sounds/en/dir-instr.gsm
+share/asterisk/sounds/en/dir-intro-fn.gsm
+share/asterisk/sounds/en/dir-intro.gsm
+share/asterisk/sounds/en/dir-last.gsm
+share/asterisk/sounds/en/dir-multi1.gsm
+share/asterisk/sounds/en/dir-multi2.gsm
+share/asterisk/sounds/en/dir-multi3.gsm
+share/asterisk/sounds/en/dir-multi9.gsm
+share/asterisk/sounds/en/dir-nomatch.gsm
+share/asterisk/sounds/en/dir-nomore.gsm
+share/asterisk/sounds/en/dir-pls-enter.gsm
+share/asterisk/sounds/en/followme/call-from.gsm
+share/asterisk/sounds/en/followme/no-recording.gsm
+share/asterisk/sounds/en/followme/options.gsm
+share/asterisk/sounds/en/followme/pls-hold-while-try.gsm
+share/asterisk/sounds/en/followme/sorry.gsm
+share/asterisk/sounds/en/followme/status.gsm
+share/asterisk/sounds/en/hello-world.gsm
+share/asterisk/sounds/en/hours.gsm
+share/asterisk/sounds/en/invalid.gsm
+share/asterisk/sounds/en/letters/a.gsm
+share/asterisk/sounds/en/letters/ascii123.gsm
+share/asterisk/sounds/en/letters/ascii124.gsm
+share/asterisk/sounds/en/letters/ascii125.gsm
+share/asterisk/sounds/en/letters/ascii126.gsm
+share/asterisk/sounds/en/letters/ascii34.gsm
+share/asterisk/sounds/en/letters/ascii36.gsm
+share/asterisk/sounds/en/letters/ascii37.gsm
+share/asterisk/sounds/en/letters/ascii38.gsm
+share/asterisk/sounds/en/letters/ascii39.gsm
+share/asterisk/sounds/en/letters/ascii40.gsm
+share/asterisk/sounds/en/letters/ascii41.gsm
+share/asterisk/sounds/en/letters/ascii42.gsm
+share/asterisk/sounds/en/letters/ascii44.gsm
+share/asterisk/sounds/en/letters/ascii58.gsm
+share/asterisk/sounds/en/letters/ascii59.gsm
+share/asterisk/sounds/en/letters/ascii60.gsm
+share/asterisk/sounds/en/letters/ascii62.gsm
+share/asterisk/sounds/en/letters/ascii63.gsm
+share/asterisk/sounds/en/letters/ascii91.gsm
+share/asterisk/sounds/en/letters/ascii92.gsm
+share/asterisk/sounds/en/letters/ascii93.gsm
+share/asterisk/sounds/en/letters/ascii94.gsm
+share/asterisk/sounds/en/letters/ascii95.gsm
+share/asterisk/sounds/en/letters/ascii96.gsm
+share/asterisk/sounds/en/letters/asterisk.gsm
+share/asterisk/sounds/en/letters/at.gsm
+share/asterisk/sounds/en/letters/b.gsm
+share/asterisk/sounds/en/letters/c.gsm
+share/asterisk/sounds/en/letters/d.gsm
+share/asterisk/sounds/en/letters/dash.gsm
+share/asterisk/sounds/en/letters/dollar.gsm
+share/asterisk/sounds/en/letters/dot.gsm
+share/asterisk/sounds/en/letters/e.gsm
+share/asterisk/sounds/en/letters/equals.gsm
+share/asterisk/sounds/en/letters/exclaimation-point.gsm
+share/asterisk/sounds/en/letters/f.gsm
+share/asterisk/sounds/en/letters/g.gsm
+share/asterisk/sounds/en/letters/h.gsm
+share/asterisk/sounds/en/letters/i.gsm
+share/asterisk/sounds/en/letters/j.gsm
+share/asterisk/sounds/en/letters/k.gsm
+share/asterisk/sounds/en/letters/l.gsm
+share/asterisk/sounds/en/letters/m.gsm
+share/asterisk/sounds/en/letters/n.gsm
+share/asterisk/sounds/en/letters/o.gsm
+share/asterisk/sounds/en/letters/p.gsm
+share/asterisk/sounds/en/letters/plus.gsm
+share/asterisk/sounds/en/letters/q.gsm
+share/asterisk/sounds/en/letters/r.gsm
+share/asterisk/sounds/en/letters/s.gsm
+share/asterisk/sounds/en/letters/slash.gsm
+share/asterisk/sounds/en/letters/space.gsm
+share/asterisk/sounds/en/letters/t.gsm
+share/asterisk/sounds/en/letters/u.gsm
+share/asterisk/sounds/en/letters/v.gsm
+share/asterisk/sounds/en/letters/w.gsm
+share/asterisk/sounds/en/letters/x.gsm
+share/asterisk/sounds/en/letters/y.gsm
+share/asterisk/sounds/en/letters/z.gsm
+share/asterisk/sounds/en/letters/zed.gsm
+share/asterisk/sounds/en/minutes.gsm
+share/asterisk/sounds/en/pbx-invalid.gsm
+share/asterisk/sounds/en/pbx-invalidpark.gsm
+share/asterisk/sounds/en/pbx-transfer.gsm
+share/asterisk/sounds/en/phonetic/9_p.gsm
+share/asterisk/sounds/en/phonetic/a_p.gsm
+share/asterisk/sounds/en/phonetic/b_p.gsm
+share/asterisk/sounds/en/phonetic/c_p.gsm
+share/asterisk/sounds/en/phonetic/d_p.gsm
+share/asterisk/sounds/en/phonetic/e_p.gsm
+share/asterisk/sounds/en/phonetic/f_p.gsm
+share/asterisk/sounds/en/phonetic/g_p.gsm
+share/asterisk/sounds/en/phonetic/h_p.gsm
+share/asterisk/sounds/en/phonetic/i_p.gsm
+share/asterisk/sounds/en/phonetic/j_p.gsm
+share/asterisk/sounds/en/phonetic/k_p.gsm
+share/asterisk/sounds/en/phonetic/l_p.gsm
+share/asterisk/sounds/en/phonetic/m_p.gsm
+share/asterisk/sounds/en/phonetic/n_p.gsm
+share/asterisk/sounds/en/phonetic/o_p.gsm
+share/asterisk/sounds/en/phonetic/p_p.gsm
+share/asterisk/sounds/en/phonetic/q_p.gsm
+share/asterisk/sounds/en/phonetic/r_p.gsm
+share/asterisk/sounds/en/phonetic/s_p.gsm
+share/asterisk/sounds/en/phonetic/t_p.gsm
+share/asterisk/sounds/en/phonetic/u_p.gsm
+share/asterisk/sounds/en/phonetic/v_p.gsm
+share/asterisk/sounds/en/phonetic/w_p.gsm
+share/asterisk/sounds/en/phonetic/x_p.gsm
+share/asterisk/sounds/en/phonetic/y_p.gsm
+share/asterisk/sounds/en/phonetic/z_p.gsm
+share/asterisk/sounds/en/priv-callee-options.gsm
+share/asterisk/sounds/en/priv-callpending.gsm
+share/asterisk/sounds/en/priv-introsaved.gsm
+share/asterisk/sounds/en/priv-recordintro.gsm
+share/asterisk/sounds/en/privacy-incorrect.gsm
+share/asterisk/sounds/en/privacy-prompt.gsm
+share/asterisk/sounds/en/privacy-thankyou.gsm
+share/asterisk/sounds/en/privacy-unident.gsm
+share/asterisk/sounds/en/queue-callswaiting.gsm
+share/asterisk/sounds/en/queue-holdtime.gsm
+share/asterisk/sounds/en/queue-less-than.gsm
+share/asterisk/sounds/en/queue-minutes.gsm
+share/asterisk/sounds/en/queue-periodic-announce.gsm
+share/asterisk/sounds/en/queue-quantity1.gsm
+share/asterisk/sounds/en/queue-quantity2.gsm
+share/asterisk/sounds/en/queue-reporthold.gsm
+share/asterisk/sounds/en/queue-seconds.gsm
+share/asterisk/sounds/en/queue-thankyou.gsm
+share/asterisk/sounds/en/queue-thereare.gsm
+share/asterisk/sounds/en/queue-youarenext.gsm
+share/asterisk/sounds/en/screen-callee-options.gsm
+share/asterisk/sounds/en/seconds.gsm
+share/asterisk/sounds/en/silence/1.gsm
+share/asterisk/sounds/en/silence/10.gsm
+share/asterisk/sounds/en/silence/2.gsm
+share/asterisk/sounds/en/silence/3.gsm
+share/asterisk/sounds/en/silence/4.gsm
+share/asterisk/sounds/en/silence/5.gsm
+share/asterisk/sounds/en/silence/6.gsm
+share/asterisk/sounds/en/silence/7.gsm
+share/asterisk/sounds/en/silence/8.gsm
+share/asterisk/sounds/en/silence/9.gsm
+share/asterisk/sounds/en/spy-agent.gsm
+share/asterisk/sounds/en/spy-console.gsm
+share/asterisk/sounds/en/spy-h323.gsm
+share/asterisk/sounds/en/spy-iax.gsm
+share/asterisk/sounds/en/spy-iax2.gsm
+share/asterisk/sounds/en/spy-jingle.gsm
+share/asterisk/sounds/en/spy-local.gsm
+share/asterisk/sounds/en/spy-mgcp.gsm
+share/asterisk/sounds/en/spy-misdn.gsm
+share/asterisk/sounds/en/spy-mobile.gsm
+share/asterisk/sounds/en/spy-nbs.gsm
+share/asterisk/sounds/en/spy-sip.gsm
+share/asterisk/sounds/en/spy-skinny.gsm
+share/asterisk/sounds/en/spy-unistim.gsm
+share/asterisk/sounds/en/spy-usbradio.gsm
+share/asterisk/sounds/en/spy-zap.gsm
+share/asterisk/sounds/en/ss-noservice.gsm
+share/asterisk/sounds/en/transfer.gsm
+share/asterisk/sounds/en/tt-allbusy.gsm
+share/asterisk/sounds/en/tt-monkeys.gsm
+share/asterisk/sounds/en/tt-monkeysintro.gsm
+share/asterisk/sounds/en/tt-somethingwrong.gsm
+share/asterisk/sounds/en/tt-weasels.gsm
+share/asterisk/sounds/en/vm-Cust1.gsm
+share/asterisk/sounds/en/vm-Cust2.gsm
+share/asterisk/sounds/en/vm-Cust3.gsm
+share/asterisk/sounds/en/vm-Cust4.gsm
+share/asterisk/sounds/en/vm-Cust5.gsm
+share/asterisk/sounds/en/vm-Family.gsm
+share/asterisk/sounds/en/vm-Friends.gsm
+share/asterisk/sounds/en/vm-INBOX.gsm
+share/asterisk/sounds/en/vm-Old.gsm
+share/asterisk/sounds/en/vm-Work.gsm
+share/asterisk/sounds/en/vm-advopts.gsm
+share/asterisk/sounds/en/vm-and.gsm
+share/asterisk/sounds/en/vm-calldiffnum.gsm
+share/asterisk/sounds/en/vm-changeto.gsm
+share/asterisk/sounds/en/vm-delete.gsm
+share/asterisk/sounds/en/vm-deleted.gsm
+share/asterisk/sounds/en/vm-dialout.gsm
+share/asterisk/sounds/en/vm-duration.gsm
+share/asterisk/sounds/en/vm-enter-num-to-call.gsm
+share/asterisk/sounds/en/vm-extension.gsm
+share/asterisk/sounds/en/vm-first.gsm
+share/asterisk/sounds/en/vm-for.gsm
+share/asterisk/sounds/en/vm-forward.gsm
+share/asterisk/sounds/en/vm-forwardoptions.gsm
+share/asterisk/sounds/en/vm-from-extension.gsm
+share/asterisk/sounds/en/vm-from-phonenumber.gsm
+share/asterisk/sounds/en/vm-from.gsm
+share/asterisk/sounds/en/vm-goodbye.gsm
+share/asterisk/sounds/en/vm-helpexit.gsm
+share/asterisk/sounds/en/vm-incorrect-mailbox.gsm
+share/asterisk/sounds/en/vm-incorrect.gsm
+share/asterisk/sounds/en/vm-instructions.gsm
+share/asterisk/sounds/en/vm-intro.gsm
+share/asterisk/sounds/en/vm-invalidpassword.gsm
+share/asterisk/sounds/en/vm-isonphone.gsm
+share/asterisk/sounds/en/vm-isunavail.gsm
+share/asterisk/sounds/en/vm-last.gsm
+share/asterisk/sounds/en/vm-leavemsg.gsm
+share/asterisk/sounds/en/vm-login.gsm
+share/asterisk/sounds/en/vm-mailboxfull.gsm
+share/asterisk/sounds/en/vm-message.gsm
+share/asterisk/sounds/en/vm-messages.gsm
+share/asterisk/sounds/en/vm-minutes.gsm
+share/asterisk/sounds/en/vm-mismatch.gsm
+share/asterisk/sounds/en/vm-msginstruct.gsm
+share/asterisk/sounds/en/vm-msgsaved.gsm
+share/asterisk/sounds/en/vm-newpassword.gsm
+share/asterisk/sounds/en/vm-newuser.gsm
+share/asterisk/sounds/en/vm-next.gsm
+share/asterisk/sounds/en/vm-no.gsm
+share/asterisk/sounds/en/vm-nobodyavail.gsm
+share/asterisk/sounds/en/vm-nobox.gsm
+share/asterisk/sounds/en/vm-nomore.gsm
+share/asterisk/sounds/en/vm-nonumber.gsm
+share/asterisk/sounds/en/vm-num-i-have.gsm
+share/asterisk/sounds/en/vm-onefor.gsm
+share/asterisk/sounds/en/vm-onefor-full.gsm
+share/asterisk/sounds/en/vm-options.gsm
+share/asterisk/sounds/en/vm-opts.gsm
+share/asterisk/sounds/en/vm-opts-full.gsm
+share/asterisk/sounds/en/vm-passchanged.gsm
+share/asterisk/sounds/en/vm-password.gsm
+share/asterisk/sounds/en/vm-press.gsm
+share/asterisk/sounds/en/vm-prev.gsm
+share/asterisk/sounds/en/vm-reachoper.gsm
+share/asterisk/sounds/en/vm-rec-busy.gsm
+share/asterisk/sounds/en/vm-rec-name.gsm
+share/asterisk/sounds/en/vm-rec-temp.gsm
+share/asterisk/sounds/en/vm-rec-unv.gsm
+share/asterisk/sounds/en/vm-received.gsm
+share/asterisk/sounds/en/vm-reenterpassword.gsm
+share/asterisk/sounds/en/vm-repeat.gsm
+share/asterisk/sounds/en/vm-review.gsm
+share/asterisk/sounds/en/vm-saved.gsm
+share/asterisk/sounds/en/vm-savedto.gsm
+share/asterisk/sounds/en/vm-savefolder.gsm
+share/asterisk/sounds/en/vm-savemessage.gsm
+share/asterisk/sounds/en/vm-saveoper.gsm
+share/asterisk/sounds/en/vm-sorry.gsm
+share/asterisk/sounds/en/vm-star-cancel.gsm
+share/asterisk/sounds/en/vm-starmain.gsm
+share/asterisk/sounds/en/vm-tempgreetactive.gsm
+share/asterisk/sounds/en/vm-tempgreeting.gsm
+share/asterisk/sounds/en/vm-tempgreeting2.gsm
+share/asterisk/sounds/en/vm-tempremoved.gsm
+share/asterisk/sounds/en/vm-then-pound.gsm
+share/asterisk/sounds/en/vm-theperson.gsm
+share/asterisk/sounds/en/vm-tmpexists.gsm
+share/asterisk/sounds/en/vm-tocallback.gsm
+share/asterisk/sounds/en/vm-tocallnum.gsm
+share/asterisk/sounds/en/vm-tocancel.gsm
+share/asterisk/sounds/en/vm-tocancelmsg.gsm
+share/asterisk/sounds/en/vm-toenternumber.gsm
+share/asterisk/sounds/en/vm-toforward.gsm
+share/asterisk/sounds/en/vm-tohearenv.gsm
+share/asterisk/sounds/en/vm-tomakecall.gsm
+share/asterisk/sounds/en/vm-tooshort.gsm
+share/asterisk/sounds/en/vm-toreply.gsm
+share/asterisk/sounds/en/vm-torerecord.gsm
+share/asterisk/sounds/en/vm-undelete.gsm
+share/asterisk/sounds/en/vm-undeleted.gsm
+share/asterisk/sounds/en/vm-unknown-caller.gsm
+share/asterisk/sounds/en/vm-whichbox.gsm
+share/asterisk/sounds/en/vm-youhave.gsm
share/asterisk/static-http/ajamdemo.html
share/asterisk/static-http/astman.css
share/asterisk/static-http/astman.js
@@ -817,16 +882,313 @@ share/asterisk/static-http/prototype.js
%%WITH_ZAPTEL%%lib/asterisk/modules/chan_dahdi.so
%%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so
%%WITH_ODBC%%lib/asterisk/modules/res_odbc.so
+%%DOCSDIR%%/WARNINGS
+%%DOCSDIR%%/asterisk.css
+%%DOCSDIR%%/asterisk.html
+%%DOCSDIR%%/images.aux
+%%DOCSDIR%%/images.log
+%%DOCSDIR%%/images.out
+%%DOCSDIR%%/images.pl
+%%DOCSDIR%%/images.tex
+%%DOCSDIR%%/img1.png
+%%DOCSDIR%%/img2.png
+%%DOCSDIR%%/img3.png
+%%DOCSDIR%%/img4.png
+%%DOCSDIR%%/img5.png
+%%DOCSDIR%%/index.html
+%%DOCSDIR%%/internals.pl
+%%DOCSDIR%%/labels.pl
+%%DOCSDIR%%/node1.html
+%%DOCSDIR%%/node10.html
+%%DOCSDIR%%/node100.html
+%%DOCSDIR%%/node101.html
+%%DOCSDIR%%/node102.html
+%%DOCSDIR%%/node103.html
+%%DOCSDIR%%/node104.html
+%%DOCSDIR%%/node105.html
+%%DOCSDIR%%/node106.html
+%%DOCSDIR%%/node107.html
+%%DOCSDIR%%/node108.html
+%%DOCSDIR%%/node109.html
+%%DOCSDIR%%/node11.html
+%%DOCSDIR%%/node110.html
+%%DOCSDIR%%/node111.html
+%%DOCSDIR%%/node112.html
+%%DOCSDIR%%/node113.html
+%%DOCSDIR%%/node114.html
+%%DOCSDIR%%/node115.html
+%%DOCSDIR%%/node116.html
+%%DOCSDIR%%/node117.html
+%%DOCSDIR%%/node118.html
+%%DOCSDIR%%/node119.html
+%%DOCSDIR%%/node12.html
+%%DOCSDIR%%/node120.html
+%%DOCSDIR%%/node121.html
+%%DOCSDIR%%/node122.html
+%%DOCSDIR%%/node123.html
+%%DOCSDIR%%/node124.html
+%%DOCSDIR%%/node125.html
+%%DOCSDIR%%/node126.html
+%%DOCSDIR%%/node127.html
+%%DOCSDIR%%/node128.html
+%%DOCSDIR%%/node129.html
+%%DOCSDIR%%/node13.html
+%%DOCSDIR%%/node130.html
+%%DOCSDIR%%/node131.html
+%%DOCSDIR%%/node132.html
+%%DOCSDIR%%/node133.html
+%%DOCSDIR%%/node134.html
+%%DOCSDIR%%/node135.html
+%%DOCSDIR%%/node136.html
+%%DOCSDIR%%/node137.html
+%%DOCSDIR%%/node138.html
+%%DOCSDIR%%/node139.html
+%%DOCSDIR%%/node14.html
+%%DOCSDIR%%/node140.html
+%%DOCSDIR%%/node141.html
+%%DOCSDIR%%/node142.html
+%%DOCSDIR%%/node143.html
+%%DOCSDIR%%/node144.html
+%%DOCSDIR%%/node145.html
+%%DOCSDIR%%/node146.html
+%%DOCSDIR%%/node147.html
+%%DOCSDIR%%/node148.html
+%%DOCSDIR%%/node149.html
+%%DOCSDIR%%/node15.html
+%%DOCSDIR%%/node150.html
+%%DOCSDIR%%/node151.html
+%%DOCSDIR%%/node152.html
+%%DOCSDIR%%/node153.html
+%%DOCSDIR%%/node154.html
+%%DOCSDIR%%/node155.html
+%%DOCSDIR%%/node156.html
+%%DOCSDIR%%/node157.html
+%%DOCSDIR%%/node158.html
+%%DOCSDIR%%/node159.html
+%%DOCSDIR%%/node16.html
+%%DOCSDIR%%/node160.html
+%%DOCSDIR%%/node161.html
+%%DOCSDIR%%/node162.html
+%%DOCSDIR%%/node163.html
+%%DOCSDIR%%/node164.html
+%%DOCSDIR%%/node165.html
+%%DOCSDIR%%/node166.html
+%%DOCSDIR%%/node167.html
+%%DOCSDIR%%/node168.html
+%%DOCSDIR%%/node169.html
+%%DOCSDIR%%/node17.html
+%%DOCSDIR%%/node170.html
+%%DOCSDIR%%/node171.html
+%%DOCSDIR%%/node172.html
+%%DOCSDIR%%/node173.html
+%%DOCSDIR%%/node174.html
+%%DOCSDIR%%/node175.html
+%%DOCSDIR%%/node176.html
+%%DOCSDIR%%/node177.html
+%%DOCSDIR%%/node178.html
+%%DOCSDIR%%/node179.html
+%%DOCSDIR%%/node18.html
+%%DOCSDIR%%/node180.html
+%%DOCSDIR%%/node181.html
+%%DOCSDIR%%/node182.html
+%%DOCSDIR%%/node183.html
+%%DOCSDIR%%/node184.html
+%%DOCSDIR%%/node185.html
+%%DOCSDIR%%/node186.html
+%%DOCSDIR%%/node187.html
+%%DOCSDIR%%/node188.html
+%%DOCSDIR%%/node189.html
+%%DOCSDIR%%/node19.html
+%%DOCSDIR%%/node190.html
+%%DOCSDIR%%/node191.html
+%%DOCSDIR%%/node192.html
+%%DOCSDIR%%/node193.html
+%%DOCSDIR%%/node194.html
+%%DOCSDIR%%/node195.html
+%%DOCSDIR%%/node196.html
+%%DOCSDIR%%/node197.html
+%%DOCSDIR%%/node198.html
+%%DOCSDIR%%/node199.html
+%%DOCSDIR%%/node2.html
+%%DOCSDIR%%/node20.html
+%%DOCSDIR%%/node200.html
+%%DOCSDIR%%/node201.html
+%%DOCSDIR%%/node202.html
+%%DOCSDIR%%/node203.html
+%%DOCSDIR%%/node204.html
+%%DOCSDIR%%/node205.html
+%%DOCSDIR%%/node206.html
+%%DOCSDIR%%/node207.html
+%%DOCSDIR%%/node208.html
+%%DOCSDIR%%/node209.html
+%%DOCSDIR%%/node21.html
+%%DOCSDIR%%/node210.html
+%%DOCSDIR%%/node211.html
+%%DOCSDIR%%/node212.html
+%%DOCSDIR%%/node213.html
+%%DOCSDIR%%/node214.html
+%%DOCSDIR%%/node215.html
+%%DOCSDIR%%/node216.html
+%%DOCSDIR%%/node217.html
+%%DOCSDIR%%/node218.html
+%%DOCSDIR%%/node219.html
+%%DOCSDIR%%/node22.html
+%%DOCSDIR%%/node220.html
+%%DOCSDIR%%/node221.html
+%%DOCSDIR%%/node222.html
+%%DOCSDIR%%/node223.html
+%%DOCSDIR%%/node224.html
+%%DOCSDIR%%/node225.html
+%%DOCSDIR%%/node226.html
+%%DOCSDIR%%/node227.html
+%%DOCSDIR%%/node228.html
+%%DOCSDIR%%/node229.html
+%%DOCSDIR%%/node23.html
+%%DOCSDIR%%/node230.html
+%%DOCSDIR%%/node231.html
+%%DOCSDIR%%/node232.html
+%%DOCSDIR%%/node233.html
+%%DOCSDIR%%/node234.html
+%%DOCSDIR%%/node235.html
+%%DOCSDIR%%/node236.html
+%%DOCSDIR%%/node237.html
+%%DOCSDIR%%/node238.html
+%%DOCSDIR%%/node239.html
+%%DOCSDIR%%/node24.html
+%%DOCSDIR%%/node240.html
+%%DOCSDIR%%/node241.html
+%%DOCSDIR%%/node242.html
+%%DOCSDIR%%/node243.html
+%%DOCSDIR%%/node244.html
+%%DOCSDIR%%/node245.html
+%%DOCSDIR%%/node246.html
+%%DOCSDIR%%/node247.html
+%%DOCSDIR%%/node248.html
+%%DOCSDIR%%/node249.html
+%%DOCSDIR%%/node25.html
+%%DOCSDIR%%/node250.html
+%%DOCSDIR%%/node251.html
+%%DOCSDIR%%/node252.html
+%%DOCSDIR%%/node253.html
+%%DOCSDIR%%/node254.html
+%%DOCSDIR%%/node255.html
+%%DOCSDIR%%/node256.html
+%%DOCSDIR%%/node257.html
+%%DOCSDIR%%/node258.html
+%%DOCSDIR%%/node259.html
+%%DOCSDIR%%/node26.html
+%%DOCSDIR%%/node260.html
+%%DOCSDIR%%/node261.html
+%%DOCSDIR%%/node262.html
+%%DOCSDIR%%/node263.html
+%%DOCSDIR%%/node264.html
+%%DOCSDIR%%/node265.html
+%%DOCSDIR%%/node266.html
+%%DOCSDIR%%/node267.html
+%%DOCSDIR%%/node268.html
+%%DOCSDIR%%/node269.html
+%%DOCSDIR%%/node27.html
+%%DOCSDIR%%/node270.html
+%%DOCSDIR%%/node271.html
+%%DOCSDIR%%/node272.html
+%%DOCSDIR%%/node273.html
+%%DOCSDIR%%/node274.html
+%%DOCSDIR%%/node275.html
+%%DOCSDIR%%/node276.html
+%%DOCSDIR%%/node277.html
+%%DOCSDIR%%/node278.html
+%%DOCSDIR%%/node28.html
+%%DOCSDIR%%/node29.html
+%%DOCSDIR%%/node3.html
+%%DOCSDIR%%/node30.html
+%%DOCSDIR%%/node31.html
+%%DOCSDIR%%/node32.html
+%%DOCSDIR%%/node33.html
+%%DOCSDIR%%/node34.html
+%%DOCSDIR%%/node35.html
+%%DOCSDIR%%/node36.html
+%%DOCSDIR%%/node37.html
+%%DOCSDIR%%/node38.html
+%%DOCSDIR%%/node39.html
+%%DOCSDIR%%/node4.html
+%%DOCSDIR%%/node40.html
+%%DOCSDIR%%/node41.html
+%%DOCSDIR%%/node42.html
+%%DOCSDIR%%/node43.html
+%%DOCSDIR%%/node44.html
+%%DOCSDIR%%/node45.html
+%%DOCSDIR%%/node46.html
+%%DOCSDIR%%/node47.html
+%%DOCSDIR%%/node48.html
+%%DOCSDIR%%/node49.html
+%%DOCSDIR%%/node5.html
+%%DOCSDIR%%/node50.html
+%%DOCSDIR%%/node51.html
+%%DOCSDIR%%/node52.html
+%%DOCSDIR%%/node53.html
+%%DOCSDIR%%/node54.html
+%%DOCSDIR%%/node55.html
+%%DOCSDIR%%/node56.html
+%%DOCSDIR%%/node57.html
+%%DOCSDIR%%/node58.html
+%%DOCSDIR%%/node59.html
+%%DOCSDIR%%/node6.html
+%%DOCSDIR%%/node60.html
+%%DOCSDIR%%/node61.html
+%%DOCSDIR%%/node62.html
+%%DOCSDIR%%/node63.html
+%%DOCSDIR%%/node64.html
+%%DOCSDIR%%/node65.html
+%%DOCSDIR%%/node66.html
+%%DOCSDIR%%/node67.html
+%%DOCSDIR%%/node68.html
+%%DOCSDIR%%/node69.html
+%%DOCSDIR%%/node7.html
+%%DOCSDIR%%/node70.html
+%%DOCSDIR%%/node71.html
+%%DOCSDIR%%/node72.html
+%%DOCSDIR%%/node73.html
+%%DOCSDIR%%/node74.html
+%%DOCSDIR%%/node75.html
+%%DOCSDIR%%/node76.html
+%%DOCSDIR%%/node77.html
+%%DOCSDIR%%/node78.html
+%%DOCSDIR%%/node79.html
+%%DOCSDIR%%/node8.html
+%%DOCSDIR%%/node80.html
+%%DOCSDIR%%/node81.html
+%%DOCSDIR%%/node82.html
+%%DOCSDIR%%/node83.html
+%%DOCSDIR%%/node84.html
+%%DOCSDIR%%/node85.html
+%%DOCSDIR%%/node86.html
+%%DOCSDIR%%/node87.html
+%%DOCSDIR%%/node88.html
+%%DOCSDIR%%/node89.html
+%%DOCSDIR%%/node9.html
+%%DOCSDIR%%/node90.html
+%%DOCSDIR%%/node91.html
+%%DOCSDIR%%/node92.html
+%%DOCSDIR%%/node93.html
+%%DOCSDIR%%/node94.html
+%%DOCSDIR%%/node95.html
+%%DOCSDIR%%/node96.html
+%%DOCSDIR%%/node97.html
+%%DOCSDIR%%/node98.html
+%%DOCSDIR%%/node99.html
+@dirrm %%DOCSDIR%%
@dirrm share/asterisk/static-http
-@dirrm share/asterisk/sounds/silence
-@dirrm share/asterisk/sounds/phonetic
-@dirrm share/asterisk/sounds/letters
-@dirrm share/asterisk/sounds/fr
-@dirrm share/asterisk/sounds/followme
+@dirrm share/asterisk/sounds/en/silence
+@dirrm share/asterisk/sounds/en/phonetic
+@dirrm share/asterisk/sounds/en/letters
+@dirrm share/asterisk/sounds/en/followme
+@dirrm share/asterisk/sounds/en/digits
+@dirrm share/asterisk/sounds/en/dictate
+@dirrm share/asterisk/sounds/en
@dirrm share/asterisk/sounds/es
-@dirrm share/asterisk/sounds/digits
-@dirrm share/asterisk/sounds/dictate
+@dirrm share/asterisk/sounds/fr
@dirrm share/asterisk/sounds
+@dirrm share/asterisk/phoneprov
@dirrm share/asterisk/moh
@dirrm share/asterisk/keys
@dirrm share/asterisk/images
@@ -838,9 +1200,11 @@ share/asterisk/static-http/prototype.js
@dirrm lib/asterisk
@dirrm include/asterisk
@dirrmtry etc/asterisk
+@exec mkdir -p %D/share/asterisk/sounds/es
+@exec mkdir -p %D/share/asterisk/sounds/fr
@cwd /var
-spool/asterisk/voicemail/default/1234/busy.gsm
-spool/asterisk/voicemail/default/1234/unavail.gsm
+spool/asterisk/voicemail/default/1234/en/busy.gsm
+spool/asterisk/voicemail/default/1234/en/unavail.gsm
@exec mkdir -p %D/log/asterisk/cdr-csv
@exec mkdir -p %D/log/asterisk/cdr-custom
@exec mkdir -p %D/spool/asterisk/voicemail/default/1234/INBOX
@@ -854,6 +1218,7 @@ spool/asterisk/voicemail/default/1234/unavail.gsm
@dirrm spool/asterisk/monitor
@dirrm spool/asterisk/system
@dirrm spool/asterisk/voicemail/default/1234/INBOX
+@dirrm spool/asterisk/voicemail/default/1234/en
@dirrm spool/asterisk/voicemail/default/1234
@dirrm spool/asterisk/voicemail/default
@dirrm spool/asterisk/voicemail