diff --git a/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-ASR-TTS-Directory-example_1049011.mdx b/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-ASR-TTS-Directory-example_1049011.mdx index d2c376ad..549359a6 100644 --- a/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-ASR-TTS-Directory-example_1049011.mdx +++ b/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-ASR-TTS-Directory-example_1049011.mdx @@ -39,7 +39,7 @@ You must tell FreeSWITCH which modules to build before installation. Open up **m ... #asr_tts/mod_flite asr_tts/mod_pocketsphinx -#asr_tts/mod_cepstral +#asr_tts/mod_name ... #languages/mod_spidermonkey_odbc languages/mod_lua @@ -144,7 +144,7 @@ Next we need to tell FreeSWITCH to load mod\_pocketsphinx and mod\_lua on start - + ... diff --git a/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-Welcome-IVR-example_3965157.mdx b/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-Welcome-IVR-example_3965157.mdx index e53cf0ed..3526d910 100644 --- a/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-Welcome-IVR-example_3965157.mdx +++ b/docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Lua-API-Reference/Lua-examples/Lua-Welcome-IVR-example_3965157.mdx @@ -14,7 +14,7 @@ Lua is a great easy, readable and embedded scripting language. ## Prerequisites * [mod\_lua](../../../Modules/mod_lua_1048944.mdx) -* [mod\_flite](../../../Modules/mod_flite_3965160.mdx#about) and easy upgrade to [mod\_cepstral](../../../Modules/mod_cepstral_3965164.mdx#faq) +* [mod\_flite](../../../Modules/mod_flite_3965160.mdx#about) ## Configure Dialplan @@ -78,7 +78,5 @@ end ## You will need to disable enum by changing 99999XX.xml to 99999XX.xml.noload -## Do not load both mod_flite and mod_cepstral at the same time. - diff --git a/docs/FreeSWITCH-Explained/Configuration/TTS_9634273.mdx b/docs/FreeSWITCH-Explained/Configuration/TTS_9634273.mdx index 3c48f363..2743e211 100644 --- a/docs/FreeSWITCH-Explained/Configuration/TTS_9634273.mdx +++ b/docs/FreeSWITCH-Explained/Configuration/TTS_9634273.mdx @@ -8,7 +8,6 @@ Text-To-Speech general Information.Freeswitch currently supports several TTS options. * [mod\_unimrcp](../Modules/mod_unimrcp_6586728.mdx#tts) \- TTS using MRCP protocol -* [mod\_cepstral](../Modules/mod_cepstral_3965164.mdx#faq) \- Commercial high-quality \[[Cepstral](http://www.cepstral.com)\] voices & Text to Speech engine. * [mod\_flite](../Modules/mod_flite_3965160.mdx#about) \- An FOSS option, [Flite](http://www.speech.cs.cmu.edu/flite/) / [Festival](http://www.cstr.ed.ac.uk/projects/festival/) Lite. \[[old wiki](https://wiki.freeswitch.org/wiki/Mod%5Fflite)\] * [mod\_tts\_commandline](../Modules/mod_tts_commandline_13172802.mdx#about) \- Run a command line and play the output file. diff --git a/docs/FreeSWITCH-Explained/Modules/mod-dptools/6586692.mdx b/docs/FreeSWITCH-Explained/Modules/mod-dptools/6586692.mdx index 78ac121a..0335b45e 100644 --- a/docs/FreeSWITCH-Explained/Modules/mod-dptools/6586692.mdx +++ b/docs/FreeSWITCH-Explained/Modules/mod-dptools/6586692.mdx @@ -19,7 +19,7 @@ Table of Contents (click to expand) Speak a phrase of text using a predefined phrase macro. -For more information on [TTS](../../Configuration/TTS_9634273.mdx#about), see [mod\_cepstral](../mod_cepstral_3965164.mdx#faq), [mod\_unimrcp](../mod_unimrcp_6586728.mdx#tts), and [UniMRCP](../../Signalling/UniMRCP_13173475.mdx#about). +For more information on [TTS](../../Configuration/TTS_9634273.mdx#about), see [mod\_unimrcp](../mod_unimrcp_6586728.mdx#tts), and [UniMRCP](../../Signalling/UniMRCP_13173475.mdx#about). See also the [Speech Phrase Management](../../Configuration/Speech-Phrase-Management_9634492.mdx#0-about) page for more information and examples. The `phrase` command relies on the configuration in the `phrases` section of the `conf/freeswitch.xml` file (see [Configuring FreeSWITCH](../../Configuration/Configuring-FreeSWITCH/index.mdx#set)), and XML files in `conf/lang/en/*.xml`. @@ -69,7 +69,7 @@ Following is a sample of phrases management: ```xml
- + @@ -104,7 +104,7 @@ Following is a sample of phrases management: - + diff --git a/docs/FreeSWITCH-Explained/Modules/mod_cepstral_3965164.mdx b/docs/FreeSWITCH-Explained/Modules/mod_cepstral_3965164.mdx deleted file mode 100644 index fc23b576..00000000 --- a/docs/FreeSWITCH-Explained/Modules/mod_cepstral_3965164.mdx +++ /dev/null @@ -1,180 +0,0 @@ - -# mod_cepstral - - - -## About - -Cepstral is a TTS (Text to Speech) engine, Cepstral provides realistic synthetic voices in the following languages : US English, UK English, Italian, German, Canadian French & Americas Spanish - -For further information about Cepstral, please visit their website: [https://www.cepstral.com/](https://www.cepstral.com/en/telephony) - -Do \*not\* load mod\_cepstral and mod\_flite at the same time! (Symbol collision) - - -Click here to expand ToC - -* [Install & Configure in Linux](#install--configure-in-linux) -* [Examples](#examples) - * [Usage from Dialplan](#usage-from-dialplan) - * [Usage from script](#usage-from-script) -* [Beware](#beware) -* [Windows Build](#windows-build) -* [Cepstral 5.1 under Ubuntu](#cepstral-51-under-ubuntu) -* [FAQ](#faq) - * [When selecting a different voice in session.speak it defaults to original voice.](#when-selecting-a-different-voice-in-sessionspeak-it-defaults-to-original-voice) - * [How do I install a license purchased from cepstral?](#how-do-i-install-a-license-purchased-from-cepstral) - * [Can I use a 16khz "desktop voice"?](#can-i-use-a-16khz-desktop-voice) - * [libswift.so.4: cannot open shared object file: No such file or directory](#libswiftso4-cannot-open-shared-object-file-no-such-file-or-directory) -* [See Also](#see-also) - -## Install & Configure in Linux - -As of 2016.05.17 Cepstral version 6 is reported to work with FreeSWITCH. Previously, the suggested version to use was **4.x** since there were known issues with **5.1** (which is closed source). - -These instructions were developed under the old versions and possibly require updating for use with modern versions of Cepstral. Please help us keep this page current if you know of changes by commenting below or editing this page (ask for edit permission if needed). - -1. [Buy](http://www.cepstral.com/store) or download a [free trial voice](http://www.cepstral.com/downloads/) from [Cepstral](http://www.cepstral.com/). Each voice comes with the library, so the **SDK is not needed**. -2. cd /opt -3. For x64 do -4. wget [http://www.cepstral.com/downloads/installers/linux64/Cepstral%5FAllison-8kHz%5Fx86-64-linux%5F6.0.1.tar.gz](http://www.cepstral.com/downloads/installers/linux64/Cepstral%5FAllison-8kHz%5Fx86-64-linux%5F6.0.1.tar.gz) -5. For i386 etc. do -6. wget [http://www.cepstral.com/downloads/installers/linux32/Cepstral%5FAllison-8kHz%5Fi386-linux%5F6.0.1.tar.gz](http://www.cepstral.com/downloads/installers/linux32/Cepstral%5FAllison-8kHz%5Fi386-linux%5F6.0.1.tar.gz) -7. tar xvfz Cepstral\_Allison-8kHz\_x86-64-linux\_6.0.1.tar.gz -8. cd Cepstral\_Allison-8kHz\_x86-64-linux\_6.0.1 -9. or -10. tar xvzf Cepstral\_Allison-8kHz\_i386-linux\_6.0.1.tar.gz -11. cd Cepstral\_Allison-8kHz\_i386-linux\_6.0.1 -12. ./install.sh -13. Follow prompts (recommended add: export SWIFT\_HOME=/opt/swift to your FS user profile) -14. Add /opt/swift/lib (if you chose the default install) to end of file /etc/[ld.so](http://ld.so).conf -15. run ldconfig -16. Define SWIFT\_HOME to point to install root (e.g. export SWIFT\_HOME=/opt/swift) -17. Edit modules.conf and uncomment the line: asr\_tts/mod\_cepstral -18. Build FreeSWITCH -19. Enable mod\_cepstral in the modules.conf.xml file by uncommenting \ - -You can also use a Cepstral voice with a language other than English without editing any files. _\_ is the voices language, i.e. _de_ or _fr_. Just add two links in $SWIFT\_HOME/lib: - -1. libceplang\_en.so -> libceplang\_ _\_.so.4.2 -2. libceplex\_en.so -> libceplex\_ _\_.so.4.2 - -If you don't use the default install dir (/opt/swift) you will need to modify \`src/mod/asr\_tts/mod\_cepstral/Makefile\` - -You must define an environment variable SWIFT\_HOME in the shell where you run fs, otherwise you won't hear any audio. - -## Examples - -### Usage from Dialplan - -You should now be able to use something similar to the following in your dialplan - -```xml - -``` - -### Usage from script - -Javascript / Python example: - -```js -session.answer() -session.speak("cepstral","William","Hello from FreeSwitch") -``` - -## Beware - -Using a 16khz voice and 0.03 for RTP Packet Size (Sipura Setting), it will sound horrible. Workaround: modify RTP Packet Size to 0.02 in Sipura config, under Advanced/SIP section. - -If audio gets cut off at the beginning, try using: \ tags as a workaround. - -Single quotes ( ' ) get stripped out from strings run through FreeSWITCH code to chop strings of the form a|b|c into bits. Use double quotes ( " ) instead. If, for example, you want to pass something like this to Cepstral: - -```xml -Hello there. -``` - -If you find that the volume of your TTS is much higher (or lower) than that of the sound files, try decreasing the volume using the 'volume' tag with Cepstral's SSML. For example, this will lower the TTS volume significantly: - -```xml -This is pretty softly spoken. -``` - -The '15' in the above example means 15% of default volume. - -For other SSML tricks check out the [examples](http://cepstral.com/cgi-bin/support?page=ssml#examples%7C) on Cepstral's support site. - -## Windows Build - -In order to compile mod\_cepstral.c under Visual Studio C++ you must ensure the Cepstral SDK is installed on your build machine. The SDK is not free. You can, however, obtain an evaluation copy Contact Cepstral Support with subject line "Cepstral Windows SDK". - -Once the SDK is installed you'll need to make sure mod\_cepstral is selected to be compiled (not on by default). Right click the FreeSWITCH solution from the Solution Explorer in VS and select Configuration Manager. Scroll down until you see mod\_cepstral and select the Bulid flag. - -In addition you need to verify the following properties for mod\_cepstral.c (right click mod\_cepstral from the Solution Explorer on the left hand side and select "properties"). - -1. Additional Include Directories (from C/C++, General): This path should be set to "C:\\Program Files\\Cepstral\\sdk\\include" -2. Additional Library Directories (from Linker, General): This path should include "C:\\Program Files\\Cepstral\\sdk\\lib\\windows" and "C:\\Program Files\\Cepstral\\sdk\\lib\\winnt". Between Cepstral 4.2 and 5.0 these paths changed. - -Finally, you'll need to make sure the the Cepstral bin path is part of the Windows PATH environment variable as the Cepstral DLLs are installed in this directory (C:\\Program Files\\Cepstral\\bin ). Without this path mod\_cepstral.DLL will not initialize during Freeswitch startup. - -## Cepstral 5.1 under Ubuntu - -Here is how it worked under Ubuntu 8.04: First, disable mod\_flite as they are incompatible. - -Then set environment var export SWIFT\_HOME=/opt/swift - -Check if /opt/swift /lib/libswift.so.5 link exists. If not provide a symbolic link from the actual libswift.so library. - -Create a file /etc/ld.so.conf.d/swift.conf with the following content: - -```xml -# Swift default configuration -/opt/swift/lib -``` - -Run: - -```xml -ldconfig -``` - -This worked with actual sources Rev. 10438 (End of Nov 2008). Previous sources had a bug in the APR lib. - -## FAQ - -### When selecting a different voice in session.speak it defaults to original voice. - -Please make sure you use the correct name in your session.speak. In the /opt/swift/voices/ you will be able to see the names you should use. (e.g. Allison-8kHz, Callie-8kHz, David-8kHz, Diane-8kHz, Marta-8kHz, Miguel-8kHz, William-8kHz) - -Common error is to just type session.speak("cepstral","Allison") when it should be session.speak("cepstral","Allison-8kHz") - -### How do I install a license purchased from cepstral? - -Run the following command "swift --reg-voice" and answer the questions - -Your Name, Company (if applicable), Voice (e.g. Miguel-8kHz), License - -### Can I use a 16khz "desktop voice"? - -**Q:** Can I use a 16khz "desktop voice" or do I have to use an 8kz telephone voice? - -**A:** You can use a 16kz voice and FreeSWITCHâ„¢ will re-sample automatically to 8khz as needed. Bear in mind this will add to your cpu overhead, so an [8khz voice](http://www.cepstral.com/cgi-bin/downloads?type=1143746987) is better from a performance perspective. - -### libswift.so.4: cannot open shared object file: No such file or directory - -Try manually adding the /opt/swift/lib directory to /etc/ld.so.conf or /etc/ld.so.conf.d/ and run ldconfig. - -## See Also - -* [FreeSwitch Dependencies](https://freeswitch.org/confluence/display/FAH/FreeSWITCH+Dependencies) -* [Session speak](https://wiki.freeswitch.org/wiki/Session%5Fspeak "Session speak") -* [mod\_unimrcp](./mod_unimrcp_6586728.mdx#tts) -* [Voices](../Codecs-and-Media/Voice_9634277.mdx)) - - -### Comments: - -| Version 6.x.x of Cepstral works again ![](/images/icons/contenttypes/comment_16.png) Posted by madovsky at May 17, 2016 09:35 | -| ---------------------------------------------------------------------------------------------------------------------------- | - - diff --git a/docs/FreeSWITCH-Explained/Modules/mod_ladspa_6587118.mdx b/docs/FreeSWITCH-Explained/Modules/mod_ladspa_6587118.mdx deleted file mode 100644 index 2e604cc5..00000000 --- a/docs/FreeSWITCH-Explained/Modules/mod_ladspa_6587118.mdx +++ /dev/null @@ -1,118 +0,0 @@ - -# mod_ladspa - - - -## About - -mod\_ladspa is a module that allow to use Linux Audio Developer's Simple Plugin API inside freeswitch in realtime. - -Click here to expand Table of Contents - -* 1 [Quick Install](#quick-install) - * 1.1 [CentOS 5 64Bit](#centos-5-64bit) - * 1.2 [CentOS 5 32bit](#centos-5-64bit) - * 1.3 [Debian 5 32bit](#debian-5-32bit) - * 1.4 [Other OSs](#other-oss) - * 1.5 [After Installation](#after-installation) - -## Quick Install - -These are basic instruction to get thing running quickly on CentOS 5 64bit: - -### CentOS 5 64Bit - -```xml -sudo yum -y install ladspa-devel -``` - -If ladspa-devel isn't found you need to install the epel repo for CentOS - -```xml -rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm -``` - -```xml -sudo yum -y install ladspa-devel -cd /usr/src -wget http://web.mit.edu/tbaran/www/autotalent-0.2.tar.gz -wget ftp://ftp.pbone.net/mirror/www-ccrma.stanford.edu/planetccrma/mirror/centos/linux/planetccrma/5/x86_64/ladspa-tap-plugins-0.7.0-5.el5.ccrma.x86_64.rpm -wget ftp://ftp.pbone.net/mirror/atrpms.net/sl5-x86_64/atrpms/stable/libgsm1-1.0.13-2.el5.x86_64.rpm -wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/5/x86_64/fftw3-3.2.2-3.el5.x86_64.rpm -wget ftp://ftp.pbone.net/mirror/www-ccrma.stanford.edu/planetccrma/mirror/centos/linux/planetccrma/5/x86_64/ladspa-swh-plugins-0.4.15-11.el5.ccrma.x86_64.rpm -rpm -ivh ladspa-tap-plugins-0.7.0-5.el5.ccrma.x86_64.rpm -rpm -ivh libgsm1-1.0.13-2.el5.x86_64.rpm -rpm -ivh fftw3-3.2.2-3.el5.x86_64.rpm -rpm -ivh ladspa-swh-plugins-0.4.15-11.el5.ccrma.x86_64.rpm -tar xfvz autotalent-0.2.tar.gz -cd autotalent-0.2 -make install -``` - -Next you can set the plug-in directory - -```xml -export LADSPA_PATH=/usr/lib64/ladspa -``` - -Then you can use: listplugins to get a listing of all the plug-ins. - -### CentOS 5 32bit - -CentOS 5 32bit is similar: - -```xml -sudo yum -y install ladspa-devel -cd /usr/src -wget http://web.mit.edu/tbaran/www/autotalent-0.2.tar.gz -wget ftp://ftp.pbone.net/mirror/www-ccrma.stanford.edu/planetccrma/mirror/centos/linux/planetccrma/5/i386/ladspa-tap-plugins-0.7.0-5.el5.ccrma.i386.rpm -wget ftp://ftp.pbone.net/mirror/atrpms.net/sl5-i386/atrpms/stable/libgsm1-1.0.13-2.el5.i386.rpm -wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/5/i386/fftw3-3.2.2-3.el5.i386.rpm -wget ftp://ftp.pbone.net/mirror/www-ccrma.stanford.edu/planetccrma/mirror/centos/linux/planetccrma/5/i386/ladspa-swh-plugins-0.4.15-11.el5.ccrma.i386.rpm -rpm -ivh ladspa-tap-plugins-0.7.0-5.el5.ccrma.i386.rpm -rpm -ivh libgsm1-1.0.13-2.el5.i386.rpm -rpm -ivh fftw3-3.2.2-3.el5.i386.rpm -rpm -ivh ladspa-swh-plugins-0.4.15-11.el5.ccrma.i386.rpm -tar xfvz autotalent-0.2.tar.gz -cd autotalent-0.2 -make install -``` - -Check for the existence of /usr/lib64/ladspa. If it exists then do this: (ON 32bit Platform only) - -```xml -mv /usr/lib64/ladspa/* /usr/lib/ladspa -rm -fr /usr/lib64/ladspa -``` - -### Debian 5 32bit - -Setup for debian-based distros: - -```xml -apt-get install ladspa-sdk tap-plugins swh-plugins libgsm1 libfftw3-3 autotalent -``` - -Verify and get a listing of all the plug-ins with: - -```xml -export LADSPA_PATH=/usr/lib/ladspa -listplugins | grep autotalent -``` - -### Other OSs - -possible replacements for the 4 rpms: - -ladspa-tap-plugins-0.7.0-5.el5.ccrma -> [[1]](http://pkgs.org/package/ladspa-tap-plugins) -libgsm1-1.0.13-2.el5 -> [[2]](http://pkgs.org/package/libgsm1) -fftw3-3.2.2-3.el5 -> [[3]](http://pkgs.org/package/fftw3) -ladspa-swh-plugins-0.4.15-11.el5.ccrma -> [[4]](http://pkgs.org/package/swh-plugins) - -### After Installation - -Then you just compile the mod\_ladspa module, install it and load it. Look in conf/dialplan/default/00\_ladspa.xml for an example of using some if the basic ladspa plugins. To see all the plugins then list the contents of your /usr/lib/ladspa or /usr/lib64/ladspa directory. - -Enjoy singing like Cher! - - diff --git a/docs/FreeSWITCH-Explained/Modules/mod_soundtouch_6587506.mdx b/docs/FreeSWITCH-Explained/Modules/mod_soundtouch_6587506.mdx index f5a3cfe3..4062826d 100644 --- a/docs/FreeSWITCH-Explained/Modules/mod_soundtouch_6587506.mdx +++ b/docs/FreeSWITCH-Explained/Modules/mod_soundtouch_6587506.mdx @@ -106,6 +106,4 @@ session:execute("soundtouch","0.8r") ## See Also -* [mod\_ladspa](./mod_ladspa_6587118.mdx#about) for autotune - diff --git a/provisioning/nginx/redirects.map b/provisioning/nginx/redirects.map index e3fa6503..c064f47b 100644 --- a/provisioning/nginx/redirects.map +++ b/provisioning/nginx/redirects.map @@ -1526,7 +1526,6 @@ /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_cdr_pg_csv /freeswitch/FreeSWITCH-Explained/Modules/mod_cdr_pg_csv_6587338; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_cdr_sqlite /freeswitch/FreeSWITCH-Explained/Modules/mod_cdr_sqlite_6587351; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_celt /freeswitch/FreeSWITCH-Explained/Modules/mod_celt_3964992; -/freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_cepstral /freeswitch/FreeSWITCH-Explained/Modules/mod_cepstral_3965164; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_cidlookup /freeswitch/FreeSWITCH-Explained/Modules/mod_cidlookup_1966667; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_cluechoo /freeswitch/FreeSWITCH-Explained/Modules/mod_cluechoo_3966414; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_codec2 /freeswitch/FreeSWITCH-Explained/Modules/mod_codec2_6587354; @@ -1574,7 +1573,6 @@ /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_java /freeswitch/FreeSWITCH-Explained/Modules/mod_java_3966491; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_json_cdr /freeswitch/FreeSWITCH-Explained/Modules/mod_json_cdr_4653124; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_kazoo /freeswitch/FreeSWITCH-Explained/Modules/mod_kazoo_10683641; -/freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_ladspa /freeswitch/FreeSWITCH-Explained/Modules/mod_ladspa_6587118; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_lcr /freeswitch/FreeSWITCH-Explained/Modules/mod_lcr_6587457; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_ldap /freeswitch/FreeSWITCH-Explained/Modules/mod_ldap_6587459; /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/mod_local_stream /freeswitch/FreeSWITCH-Explained/Modules/mod_local_stream_6587466; @@ -1727,4 +1725,4 @@ /freeswitch/confluence-to-docs-redirector/display/FREESWITCH/Debian+10+Buster /freeswitch/FreeSWITCH-Explained/Installation/Linux/Deprecated-Installation-Instructions/25460805; -/freeswitch/FreeSWITCH-Explained/Installation/HOWTO-Create-a-SignalWire-Personal-Access-Token_67240087 /freeswitch/FreeSWITCH-Explained/Installation/how-to-create-a-personal-access-token/how-to-create-a-personal-access-token; \ No newline at end of file +/freeswitch/FreeSWITCH-Explained/Installation/HOWTO-Create-a-SignalWire-Personal-Access-Token_67240087 /freeswitch/FreeSWITCH-Explained/Installation/how-to-create-a-personal-access-token/how-to-create-a-personal-access-token;