Skip to content

Commit 954bd7d

Browse files
authored
install: Target Asterisk 22 by default. (#46)
* Target Asterisk 22 by default (released in October) * Update README with more and updated details
1 parent 648b803 commit 954bd7d

File tree

2 files changed

+69
-47
lines changed

2 files changed

+69
-47
lines changed

README.md

Lines changed: 63 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,40 @@
11
# PhreakScript
2-
A utility to automate the installation, maintenance, and debugging of Asterisk/DAHDI, while integrating additional patches to provide the richest telephony experience.
2+
3+
**A utility to automate the installation, maintenance, and debugging of Asterisk/DAHDI, while integrating additional patches to provide the richest telephony experience.**
34

45
PhreakScript installs:
56

6-
- Asterisk 21.4.3 (latest standard release[1] of Asterisk)
7+
- Asterisk 22.0.0 (latest LTS release[1] of Asterisk)
78
- DAHDI Linux 3.4.0 (with optional DAHDI install flag)
89
- DAHDI Tools 3.4.0 (with optional DAHDI install flag)
910
- wanpipe 7.0.38 (with optional wanpipe install flag)
10-
- many additional features and stability improvements
11-
- Restores the "great purge" of DAHDI drivers that were removed in 2018 by Sangoma
12-
- DAHDI/wanpipe/LibPRI compilation fixes
13-
- Native coin detection and blue boxing support
14-
- Class 4 and Class 5 coin trunk support
15-
- Real time dial pulsing support
16-
- "Hearpulsing" patches
17-
- Automatic dialplan context to digit map generation
18-
- Broadworks compatible device feature key synchronization (PJSIP)
19-
- Broadworks compatible Shared Call Appearances (PJSIP)
20-
- Presence publishing (PJSIP)
11+
- Bug fixes and stability improvements
12+
- Restores the "great purge" of DAHDI drivers that were removed in 2018 by Sangoma (either by default, or with `--drivers` flag)
13+
- Numerous DAHDI/wanpipe/LibPRI compilation fixes
14+
- Bug fixes for reading and writing configuration file templates
15+
- Bug fix for ConfBridge shutdown race condition
16+
- Enhances performance by completely removing Newexten AMI event
17+
- Many additional features and improvements
18+
- Adds prefix capabilities to `include => `
19+
- Signaling enhancements
20+
- Native coin detection and blue boxing support
21+
- Class 4 and Class 5 coin trunk support
22+
- Analog enhancements
23+
- Real time dial pulsing support
24+
- "Hearpulsing" patches
25+
- SMDR support for "WHOZZ Calling?" call accounting devices
26+
- SIP enhancements
27+
- Automatic dialplan context to digit map generation (`res_digitmap`)
28+
- Broadworks compatible device feature key synchronization (PJSIP) (with `--experimental` flag)
29+
- Broadworks compatible Shared Call Appearances (PJSIP) (with `--experimental` flag)
30+
- Presence publishing (PJSIP)
31+
- Restored and enhanced [`chan_sip`](https://github.com/InterLinked1/chan_sip) for master / versions 21+ (removed by Sangoma) (with `--sip` flag)
32+
- Adds fax timing and parameter control to `chan_sip`
33+
- Cisco Call Manager support for `chan_sip` (with `--cisco` flag)
34+
- `chan_sccp` (improved community Skinny/SCCP channel driver), with compilation fixes (with `--sccp` flag)
2135
- Message Send Protocol send support
22-
- SMDR support for "WHOZZ Calling?" call accounting devices
2336
- AGI `RECORD FILE` option to require noise before silence detection
24-
- Optional build enhancements
25-
- `chan_sccp` (improved community Skinny/SCCP channel driver), with compilation fixes
26-
- Cisco Call Manager support for `chan_sip`
27-
- Restored and enhanced [`chan_sip`](https://github.com/InterLinked1/chan_sip) for master / versions 21+ (removed by Sangoma)
37+
- Build system support for ALSA-dependent modules
2838
- Adds the following applications:
2939
- ``Assert``
3040
- ``ReturnIf``
@@ -51,8 +61,6 @@ PhreakScript installs:
5161
- ``RevertivePulse``
5262
- ``SendFrame``
5363
- ``WaitForFrame``
54-
- ``Signal``
55-
- ``WaitForSignal``
5664
- ``WaitForDeposit``
5765
- ``CoinDisposition``
5866
- ``LocalCoinDisposition``
@@ -76,6 +84,7 @@ PhreakScript installs:
7684
- ``AlarmEventReceiver`` (not to be confused with ``AlarmReceiver``)
7785
- ``Softmodem`` (third-party, with compiler fixes and enhancements, including TDD modem)
7886
- ``TddRx``, ``TddTx`` (third-party)
87+
- ``SendFSK``, ``ReceiveFSK`` (third-party)
7988
- Adds the following functions:
8089
- ``TECH_EXISTS``
8190
- ``DTMF_FLASH``
@@ -97,11 +106,6 @@ PhreakScript installs:
97106
- ``MESSAGE_INTERCEPT_SUB``
98107
- ``GROUP_VAR`` (third-party)
99108
- ``GROUP_MATCH_LIST_START`` (third-party)
100-
- Miscellaneous improvements
101-
- Enhances performance by completely removing Newexten AMI event
102-
- Adds fax timing and parameter control to `chan_sip`
103-
- Adds prefix capabilities to `include => `
104-
- Fixes ulaw/gsm codec translation bug
105109

106110
PhreakScript is also useful for:
107111
- automating installation and maintenance of Asterisk, Asterisk Test Suite, Asterisk Test Framework, DAHDI Linux, DAHDI Tools, and related resources
@@ -114,14 +118,15 @@ PhreakScript is also useful for:
114118
- generating core dumps
115119
- automating PhreakNet boilerplate dialplan installation
116120

117-
[1] Normally, PhreakScript installs the latest LTS version of Asterisk. However, version 21 will be installed by default until version 22 is released,
118-
due to the significant change in functionality from version 20 which allows for a richer installation by default.
119-
To install the latest LTS version (20), you can specify the version explicitly e.g. `--version=20.5.0`.
120-
However, there should not be a need to do so unless you are using obsolete modules that were removed in Asterisk 21.
121+
> [!NOTE]
122+
> [1] Currently, PhreakScript installs the latest LTS version of Asterisk. However,
123+
when a standard release is the most recent release, it may be installed by default.
124+
To install a specific major version, you can specify it explicitly e.g. `--version=22`.
121125

122-
### Installation
126+
> [!NOTE]
127+
> PhreakScript is primarily an automation tool, but it also adds a significant amount of functionality to Asterisk beyond what is available upstream, making it a superset of "vanilla Asterisk". We aim to upstream our patches whenever practical; in fact, we are among the most active and frequent contributors to the Asterisk and DAHDI projects. This repository includes enhancements that are not available upstream as well as those that may be in the future but are not currently. A list of upstreamed Asterisk patches can be found at https://phreaknet.org/changes
123128
124-
Please refer to the Docs: https://docs.phreaknet.org/#phreakscript
129+
### Installation
125130

126131
In a nutshell, run:
127132

@@ -133,27 +138,38 @@ In a nutshell, run:
133138

134139
```pkg install -y wget && cd /usr/local/src && wget https://docs.phreaknet.org/script/phreaknet.sh && chmod +x phreaknet.sh && ./phreaknet.sh make```
135140

141+
> [!WARNING]
142+
> BSD is not recommended for Asterisk, see below.
143+
136144
Then, you can use PhreakScript. Run ```phreaknet help``` or ```phreaknet examples``` to get started.
137145

138-
For a basic install, you can run `phreaknet install`
146+
For a basic install, you can run `phreaknet install`. This installs all the pre-requisites for Asterisk and then downloads and builds Asterisk, completely non-interactively.
139147

140148
To install with DAHDI, run `phreaknet install --dahdi` (add `--drivers` to also restore drivers that were removed upstream in DAHDI 3).
141149

142-
For a guided, interactive installation, you can also run `phreaknet wizard`. The wizard will determine what installation options are best for you, based on your preferences.
150+
For a guided, interactive installation, you can also run `phreaknet wizard`. The wizard will determine what installation options are best for you, based on your preferences. However, the wizard tool is not comprehensive for all available options.
151+
152+
For further details, please refer to the Docs: https://docs.phreaknet.org/#phreakscript
143153

144-
PhreakScript must be run as root, even if Asterisk will not be installed to run as root.
154+
> [!TIP]
155+
> There are a plethora of flags available that modify the installation process in various ways. It is highly recommended that you run ```phreaknet help``` and spend some time reading through the available options to craft the installation command that is appropriate for your system. Flags are available for most commonly used installation scenarios.
145156
146-
PhreakScript is primarily supported on Debian-based Linux systems, and DAHDI and Asterisk are best supported on these platforms.
147-
Limited support is available for other Linux distros (Fedora, RHEL, Rocky Linux, SUSE, Arch Linux, etc.).
148-
Extremely limited support exists for FreeBSD, and BSDs (and UNIX in general) are not recommended for running Asterisk/DAHDI - use Linux instead if possible.
157+
> [!IMPORTANT]
158+
> PhreakScript must be run as root, even if Asterisk will not be installed to run as root.
159+
160+
> [!CAUTION]
161+
> PhreakScript is primarily supported on Debian-based Linux systems, and DAHDI and Asterisk are best supported on these platforms.
162+
> Limited support is available for other Linux distros (Fedora, RHEL, Rocky Linux, SUSE, Arch Linux, etc.).
163+
> Extremely limited support exists for FreeBSD, and BSDs (and UNIX in general) are not recommended for running Asterisk/DAHDI - use Linux instead if possible.
149164
150165
### License
151166

152167
PhreakScript itself is licensed under the Apache 2.0 License. This includes any scripts in this repository.
153168

154169
However, any Asterisk modules ("C" code) in this repository (such as those that may be installed by PhreakScript) are licensed under the GNU General Public License Version 2 (GPLv2), per the Asterisk licensing terms.
155170

156-
If you have copyright or licensing doubts, please refer to any copyrights and licensing terms in individual source files.
171+
> [!TIP]
172+
> If you have copyright or licensing doubts, please refer to any copyrights and licensing terms in individual source files.
157173
158174
### Documentation
159175

@@ -163,11 +179,18 @@ Please refer to the PhreakNet Asterisk documentation for PhreakScript-specific m
163179

164180
Please run ```phreaknet about```
165181

182+
> [!NOTE]
183+
> Note that the change log is no longer updated for every change. For a complete history, please refer to the commit history.
184+
166185
### Reporting Issues
167186

168-
The preferred issue reporting procedure is by cutting us a ticket at InterLinked Issues: https://issues.interlinked.us/
187+
To report an issue, you may do one of the following:
188+
189+
- (Preferred) Cut us a ticket at InterLinked Issues: https://issues.interlinked.us/
190+
191+
Choose "PhreakScript" as the category, *not* Asterisk, DAHDI, or anything else!
169192

170-
Choose "PhreakScript" as the category.
193+
- Open a new issue in this GitHub repository
171194

172195
### Pull Requests
173196

phreaknet.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# PhreakScript
44
# (C) 2021-2024 Naveen Albert, PhreakNet, and others - https://github.com/InterLinked1/phreakscript ; https://portal.phreaknet.org ; https://docs.phreaknet.org
5-
# v1.1.8 (2024-10-16)
5+
# v1.2.0 (2024-11-03)
66

77
# Setup (as root):
88
# cd /usr/local/src
@@ -13,6 +13,7 @@
1313
# phreaknet install
1414

1515
## Begin Change Log:
16+
# 2024-11-03 1.2.0 Asterisk: Install Asterisk 22 by default
1617
# 2024-10-16 1.1.8 wanpipe: Installation procedure improvements
1718
# 2024-09-19 1.1.7 DAHDI: Slipstream critical build fixes, fix build issues on various distros and kernels
1819
# 2024-09-16 1.1.6 DAHDI: Add patch to enable building of XPP drivers on 32-bit architectures
@@ -191,8 +192,8 @@ AST_SOURCE_PARENT_DIR="/usr/src"
191192
# Script environment variables
192193
AST_ALT_VER=""
193194
AST_MIN_PREFERRED_VER=20
194-
AST_DEFAULT_MAJOR_VER=21
195-
AST_NEXT_MAJOR_VER=22
195+
AST_DEFAULT_MAJOR_VER=22
196+
AST_NEXT_MAJOR_VER=23
196197
AST_MAJOR_VER=$AST_DEFAULT_MAJOR_VER
197198
AST_MM_VER=0
198199
AST_SOURCE_NAME="asterisk-${AST_DEFAULT_MAJOR_VER}-current"
@@ -201,8 +202,6 @@ AST_RC_SOURCE_NAME="asterisk-${AST_DEFAULT_MAJOR_VER}-testing"
201202
# DAHDI_MM_VER="${DAHDI_VERSION:0:1}${DAHDI_VERSION:2:1}" Requires bash
202203
DAHDI_MM_VER=34
203204
DAHDI_VERSION="3.4.0"
204-
#DAHLIN_SRC_NAME="dahdi-linux-${DAHDI_VERSION}.tar.gz"
205-
#DAHTOOL_SRC_NAME="dahdi-tools-${DAHDI_VERSION}.tar.gz"
206205
#DAHLIN_SRC_URL="https://github.com/asterisk/dahdi-linux/releases/download/v${DAHDI_VERSION}/${DAHLIN_SRC_NAME}"
207206
#DAHTOOL_SRC_URL="https://github.com/asterisk/dahdi-tools/releases/download/v${DAHDI_VERSION}/${DAHTOOL_SRC_NAME}"
208207
DAHLIN_SRC_NAME="dahdi-linux-current.tar.gz"
@@ -214,7 +213,7 @@ LIBPRI_SOURCE_NAME="libpri-1.6.1"
214213
LIBSS7_VERSION="2.0.1"
215214
WANPIPE_SOURCE_NAME="wanpipe-current" # wanpipe-latest (7.0.38, 2024-02-05)
216215
ODBC_VER="3.1.14"
217-
CISCO_CM_SIP="cisco-usecallmanager-18.15.0"
216+
CISCO_CM_SIP="cisco-usecallmanager-20.10.0"
218217
MIN_ARGS=1
219218
FILE_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
220219
FILE_NAME=$( basename $0 ) # grr... why is realpath not in the POSIX standard?
@@ -2719,7 +2718,7 @@ get_source() {
27192718
fi
27202719
if [ "$CHAN_SIP" = "1" ]; then # somebody still wants chan_sip, okay...
27212720
if [ "$ENHANCED_CHAN_SIP" != "1" ]; then
2722-
echoerr "chan_sip is deprecated and will be removed in Asterisk 21. Consider migrating to chan_pjsip at your convenience."
2721+
echoerr "chan_sip is deprecated and was removed in Asterisk 21. Consider migrating to chan_pjsip at your convenience."
27232722
else
27242723
echoerr "chan_sip was deprecated and removed in Asterisk 21. It is still present for your usage, but consider migrating to chan_pjsip at your convenience."
27252724
printf "Fetching chan_sip to readd to source tree\n"

0 commit comments

Comments
 (0)