{"id":7655,"date":"2024-06-04T21:17:50","date_gmt":"2024-06-05T04:17:50","guid":{"rendered":"https:\/\/ioflood.com\/blog\/?p=7655"},"modified":"2024-06-04T21:17:50","modified_gmt":"2024-06-05T04:17:50","slug":"install-freeswitch-linux","status":"publish","type":"post","link":"https:\/\/ioflood.com\/blog\/install-freeswitch-linux\/","title":{"rendered":"FreeSWITCH Installation on Linux | For Debian \/ Centos"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/ioflood.com\/blog\/wp-content\/uploads\/2024\/06\/Depiction-of-engineers-configuring-FreeSWITCH-on-Linux-to-enhance-communication-solutions-300x300.jpg\" alt=\"Depiction of engineers configuring FreeSWITCH on Linux to enhance communication solutions\" width=\"300\" height=\"300\" title=\"\"><\/figure>\n<\/div>\n<p>While working to configure VoIP telephony solutions on Linux servers at <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/ioflood.com\/\">IOFLOOD<\/a>, we spent time installing Freeswitch. From our experience, Freeswitch&#8217;s support for various telephony protocols make it a preferred choice for building scalable communication platforms. Through today&#8217;s article, we aim to equip our customers with the knowledge and tools needed to create reliable communication solutions on their own <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/ioflood.com\/bare-metal-cloud-server.php\">dedicated cloud hosting<\/a> services.<\/p>\n<p><strong>In this guide, we will walk you through the process of installing Freeswitch on Linux.<\/strong> We will cover methods for both APT (Debian and Ubuntu) and YUM-based distributions (CentOS and AlmaLinux), delve into compiling <code>Freeswitch<\/code> from source, installing a specific version, and finally, how to use the <code>Freeswitch<\/code> command and ensure it&#8217;s installed correctly.<\/p>\n<p>So, let&#8217;s dive in and begin installing <code>Freeswitch<\/code> on your Linux system!<\/p>\n<h2>TL;DR: How Do I Install Freeswitch on Linux?<\/h2>\n<blockquote><p>\n  You can install Freeswitch on Linux by first updating your package lists with the command <code>sudo apt-get update<\/code>. After that, you can install Freeswitch using the command <code>sudo apt-get install freeswitch<\/code>.\n<\/p><\/blockquote>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get update\nsudo apt-get install freeswitch\n\n# Output:\n# Reading package lists... Done\n# Building dependency tree\n# Reading state information... Done\n# The following additional packages will be installed:\n#   freeswitch-meta-all\n# Suggested packages:\n#   freeswitch-sounds-en-us-callie-32000 freeswitch-sounds-en-us-callie-48000\n# The following NEW packages will be installed:\n#   freeswitch freeswitch-meta-all\n# 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.\n# Need to get 0 B\/22.5 kB of archives.\n# After this operation, 81.9 kB of additional disk space will be used.\n# Do you want to continue? [Y\/n]\n<\/code><\/pre>\n<p>This is a basic way to install Freeswitch on Linux, but there&#8217;s much more to learn about installing and using Freeswitch. Continue reading for more detailed information and advanced usage scenarios.<\/p>\n<h2>Getting Started with Freeswitch<\/h2>\n<p><code>Freeswitch<\/code> is a scalable open-source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text, or any other form of media. It was created in 2006 to fill the void left by proprietary commercial solutions. <code>Freeswitch<\/code> also provides a stable telephony platform on which many telephony applications can be developed using a wide range of free tools.<\/p>\n<p>Let&#8217;s get started with installing <code>Freeswitch<\/code> on your Linux device. We will cover the installation process using two popular package managers: <code>apt<\/code> and <code>yum<\/code>.<\/p>\n<h3>Installing Freeswitch with APT<\/h3>\n<p><code>apt<\/code> is the package manager used by Debian and Ubuntu. To install <code>Freeswitch<\/code> using <code>apt<\/code>, you&#8217;ll need to open a terminal and type the following commands:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get update\nsudo apt-get install -y freeswitch\n\n# Output:\n# Reading package lists... Done\n# Building dependency tree\n# Reading state information... Done\n# The following additional packages will be installed:\n#   freeswitch-meta-all\n# Suggested packages:\n#   freeswitch-sounds-en-us-callie-32000 freeswitch-sounds-en-us-callie-48000\n# The following NEW packages will be installed:\n#   freeswitch freeswitch-meta-all\n# 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.\n# Need to get 0 B\/22.5 kB of archives.\n# After this operation, 81.9 kB of additional disk space will be used.\n# Do you want to continue? [Y\/n]\n<\/code><\/pre>\n<p>The first command updates your package lists, ensuring you have the latest version of the packages. The second command installs <code>Freeswitch<\/code>.<\/p>\n<h3>Installing Freeswitch with YUM<\/h3>\n<p><code>yum<\/code> is the default package manager for CentOS, Fedora, and RHEL. To install <code>Freeswitch<\/code> using <code>yum<\/code>, open a terminal and type the following commands:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum update -y\nsudo yum install -y freeswitch\n\n# Output:\n# Loaded plugins: fastestmirror, langpacks\n# Loading mirror speeds from cached hostfile\n#  * base: mirror.its.dal.ca\n#  * extras: mirror.its.dal.ca\n#  * updates: mirror.its.dal.ca\n# Resolving Dependencies\n# --&gt; Running transaction check\n# ---&gt; Package freeswitch.x86_64 0:1.10.3-1.el7 will be installed\n# --&gt; Finished Dependency Resolution\n# Installed:\n#   freeswitch.x86_64 0:1.10.3-1.el7\n<\/code><\/pre>\n<p>The first command updates your package lists, and the second command installs <code>Freeswitch<\/code>. Now, you have <code>Freeswitch<\/code> installed on your Linux system and ready for use.<\/p>\n<h2>Installing Freeswitch from Source<\/h2>\n<p>Installing from source code allows you to customize your installation, apply patches, and sometimes get the latest features before they&#8217;re available in package managers.<\/p>\n<p>To install <code>Freeswitch<\/code> from source, you&#8217;ll need to clone the <code>Freeswitch<\/code> GitHub repository and compile it. Here&#8217;s how:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Install dependencies\nsudo apt-get install -y git autoconf automake libtool g++\n\n# Clone the Freeswitch repository\ngit clone https:\/\/github.com\/signalwire\/freeswitch.git\n\ncd freeswitch\n\n# Build and install\n.\/bootstrap.sh -j\n.\/configure\nmake\nsudo make install\n<\/code><\/pre>\n<p>This script first installs the necessary dependencies. It then clones the <code>Freeswitch<\/code> repository, builds the source code, and installs <code>Freeswitch<\/code>.<\/p>\n<h2>Install Specific Freeswitch Versions<\/h2>\n<p>Different versions of <code>Freeswitch<\/code> can have different features, bug fixes, and compatibility with other software. It&#8217;s important to choose a version that suits your needs.<\/p>\n<h3>Installing Specific Versions from Source<\/h3>\n<p>To install a specific version of <code>Freeswitch<\/code> from source, you&#8217;ll need to checkout the specific version after cloning the repository:<\/p>\n<pre><code class=\"language-bash line-numbers\">git clone https:\/\/github.com\/signalwire\/freeswitch.git\ncd freeswitch\n\ngit checkout v1.10.2\n\n# Build and install\n.\/bootstrap.sh -j\n.\/configure\nmake\nsudo make install\n<\/code><\/pre>\n<h3>Installing Specific Versions with APT<\/h3>\n<p>To install a specific version of <code>Freeswitch<\/code> with <code>apt<\/code>, you&#8217;ll need to specify the version number when installing:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get install freeswitch=1.10.2~release~12~bbe59a6a1d~buster\n<\/code><\/pre>\n<h3>Installing Specific Versions with YUM<\/h3>\n<p>To install a specific version of <code>Freeswitch<\/code> with <code>yum<\/code>, you&#8217;ll need to enable the <code>freeswitch-release<\/code> repository and specify the version number when installing:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum install freeswitch-1.10.2\n<\/code><\/pre>\n<h3>Version Comparisons<\/h3>\n<table>\n<thead>\n<tr>\n<th>Version<\/th>\n<th>Key Changes<\/th>\n<th>Compatibility<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1.10.2<\/td>\n<td>Bug fixes, new features<\/td>\n<td>Compatible with most systems<\/td>\n<\/tr>\n<tr>\n<td>1.10.1<\/td>\n<td>Performance improvements<\/td>\n<td>Older systems may not be compatible<\/td>\n<\/tr>\n<tr>\n<td>1.10.0<\/td>\n<td>Initial release<\/td>\n<td>Compatible with all systems<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Using and Verifying Freeswitch<\/h2>\n<p>After installing <code>Freeswitch<\/code>, you can verify its installation and get familiar with some basic usage.<\/p>\n<h3>Verifying the Installation<\/h3>\n<p>You can verify the installation of <code>Freeswitch<\/code> by checking its version:<\/p>\n<pre><code class=\"language-bash line-numbers\">freeswitch -version\n\n# Output:\n# FreeSWITCH Version 1.10.2~64bit ( 64bit)\n<\/code><\/pre>\n<h3>Basic Usage of Freeswitch<\/h3>\n<p><code>Freeswitch<\/code> has many commands and options. Here&#8217;s an example of how to start <code>Freeswitch<\/code> in the foreground with console logs:<\/p>\n<pre><code class=\"language-bash line-numbers\">freeswitch -ncwait\n\n# Output:\n# FreeSWITCH Version 1.10.2~64bit is ready\n# 2019-11-05 17:15:30.639287 [NOTICE] switch_event.c:453 Subclass reservation deleted for presence_state::dialog\n<\/code><\/pre>\n<p>This command starts <code>Freeswitch<\/code> in the foreground and waits for the system to be ready. The <code>-ncwait<\/code> option tells <code>Freeswitch<\/code> not to fork and run in the background, and to output logs to the console.<\/p>\n<h2>Alternate Freeswitch Install Methods<\/h2>\n<p>While we have covered the basic and intermediate methods of installing <code>Freeswitch<\/code> on Linux, there are alternative methods that offer different advantages. These methods are particularly useful for those who want to experiment with different setups or require a specific configuration for their use case.<\/p>\n<h3>Freeswitch Installation Using Docker<\/h3>\n<p>Docker is a platform that allows you to automate the deployment, scaling, and management of applications within containers. Installing <code>Freeswitch<\/code> using Docker can simplify the setup process and make it easier to manage and scale your <code>Freeswitch<\/code> instances.<\/p>\n<p>Here&#8217;s how you can get <code>Freeswitch<\/code> up and running using Docker:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Pull the Freeswitch Docker image\nsudo docker pull bettervoice\/freeswitch-container:latest\n\n# Run the Freeswitch container\nsudo docker run -d --name=freeswitch bettervoice\/freeswitch-container:latest\n<\/code><\/pre>\n<p>The first command pulls the latest <code>Freeswitch<\/code> Docker image from Docker Hub. The second command runs the <code>Freeswitch<\/code> container in detached mode, which means it runs in the background.<\/p>\n<h3>Manual Installation of Freeswitch<\/h3>\n<p>Manual installation gives you the most control over the installation process, allowing you to customize <code>Freeswitch<\/code> to your exact requirements. However, it is also the most complex method and requires a good understanding of Linux system administration.<\/p>\n<p>Here&#8217;s a brief overview of how you might manually install <code>Freeswitch<\/code>:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Download the Freeswitch source code\nwget https:\/\/files.freeswitch.org\/freeswitch-releases\/freeswitch-1.10.2.tar.gz\n\n# Extract the source code\ntar -xvf freeswitch-1.10.2.tar.gz\ncd freeswitch-1.10.2\n\n# Compile and install the source code\n.\/configure &amp;&amp; make &amp;&amp; sudo make install\n<\/code><\/pre>\n<p>This script downloads the <code>Freeswitch<\/code> source code, extracts it, and then compiles and installs <code>Freeswitch<\/code>.<\/p>\n<h3>Comparing the Methods<\/h3>\n<table>\n<thead>\n<tr>\n<th>Method<\/th>\n<th>Advantages<\/th>\n<th>Disadvantages<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>APT\/YUM<\/td>\n<td>Simple, quick<\/td>\n<td>Limited customization<\/td>\n<\/tr>\n<tr>\n<td>Docker<\/td>\n<td>Easy management, scalability<\/td>\n<td>Requires Docker knowledge<\/td>\n<\/tr>\n<tr>\n<td>Manual<\/td>\n<td>Full control, customization<\/td>\n<td>Complex, time-consuming<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>While each method has its advantages and disadvantages, the best method for you depends on your specific requirements and level of expertise. For beginners, using <code>apt<\/code> or <code>yum<\/code> is recommended. For those who need scalability and easy management, Docker is a great choice. And for those who need full control and customization, manual installation is the way to go.<\/p>\n<h2>Installation Issue Tips: Freeswitch<\/h2>\n<p>While installing <code>Freeswitch<\/code> on Linux is generally straightforward, you might encounter some issues. Here are common problems and their solutions.<\/p>\n<h3>Issue: Package Not Found<\/h3>\n<p>This issue occurs when the <code>Freeswitch<\/code> package is not available in your package manager&#8217;s repositories.<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get install freeswitch\n\n# Output:\n# Reading package lists... Done\n# Building dependency tree\n# Reading state information... Done\n# E: Unable to locate package freeswitch\n<\/code><\/pre>\n<p><strong>Solution:<\/strong> Make sure your package lists are up to date. You can update them with <code>sudo apt-get update<\/code> for <code>apt<\/code> or <code>sudo yum update<\/code> for <code>yum<\/code>. If the issue persists, check if <code>Freeswitch<\/code> is available in your distribution&#8217;s repositories.<\/p>\n<h3>Issue: Freeswitch Service Not Starting<\/h3>\n<p>This problem occurs when <code>Freeswitch<\/code> does not start after installation.<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo service freeswitch start\n\n# Output:\n# Failed to start freeswitch.service: Unit freeswitch.service not found.\n<\/code><\/pre>\n<p><strong>Solution:<\/strong> Check if <code>Freeswitch<\/code> is installed correctly by checking its version with <code>freeswitch -version<\/code>. If it&#8217;s not installed, follow the installation steps again. If the issue persists, check the system logs for any errors.<\/p>\n<h3>Issue: Freeswitch Command Not Found<\/h3>\n<p>This issue occurs when the <code>Freeswitch<\/code> command is not found, which means it&#8217;s not installed or not in your <code>PATH<\/code>.<\/p>\n<pre><code class=\"language-bash line-numbers\">freeswitch -version\n\n# Output:\n# Command 'freeswitch' not found, but can be installed with...\n<\/code><\/pre>\n<p><strong>Solution:<\/strong> Make sure <code>Freeswitch<\/code> is installed by following the installation steps. If it&#8217;s installed but the command is not found, add <code>Freeswitch<\/code> to your <code>PATH<\/code>.<\/p>\n<p>Remember, while these solutions cover common issues, they might not solve every problem. If you&#8217;re facing a unique issue, consider seeking help from the <code>Freeswitch<\/code> community or professional support.<\/p>\n<h2>Telephony &amp; Communication Explored<\/h2>\n<p>Before diving deeper into the functionalities of <code>Freeswitch<\/code>, it&#8217;s essential to understand the basics of telephony platforms and communication protocols.<\/p>\n<h3>Telephony Platforms<\/h3>\n<p>In the digital world, a telephony platform is a system that manages the routing and switching of voice, fax, and other forms of data from one point to another. It&#8217;s the backbone of any communication network, allowing multiple devices to communicate seamlessly.<\/p>\n<p><code>Freeswitch<\/code> is one such telephony platform. It&#8217;s a software switchboard that connects and directs calls from one line to another, over a network, based on certain protocols.<\/p>\n<pre><code class=\"language-bash line-numbers\"># Sample Freeswitch command to show active calls\nfreeswitch@localhost&gt; show calls\n\n# Output:\n# uuid  direction  created                   created_epoch  name  state\n# ==================================================================================================\n# 9d61b8f8-067f-1239-12fa-005056b204e2  inbound   2021-05-17 10:32:22  1621264342  sofia\/internal\/1001@localhost.com  CS_EXECUTE\n<\/code><\/pre>\n<p>This command lists all active calls on your <code>Freeswitch<\/code> server. In the output, you can see the unique identifier for each call, the direction of the call, and the current state of the call.<\/p>\n<h3>Communication Protocols<\/h3>\n<p>Communication protocols define the rules for data exchange over a network. They determine the format, timing, sequencing, and error checking of messages. Some common protocols that <code>Freeswitch<\/code> supports include SIP (Session Initiation Protocol), XMPP (Extensible Messaging and Presence Protocol), and WebRTC (Web Real-Time Communication).<\/p>\n<p>For instance, SIP is a signaling protocol used for initiating, maintaining, modifying, and terminating real-time sessions that include voice, video, and messaging applications.<\/p>\n<pre><code class=\"language-bash line-numbers\"># Sample Freeswitch command to show SIP registrations\nfreeswitch@localhost&gt; sofia status profile internal reg\n\n# Output:\n# Call-ID      User    Contact\n# ==================================================================================================\n# MThkYzUxNz  1001    \"1001\" &lt;sip:1001@192.168.1.2:5060&gt;\n<\/code><\/pre>\n<p>This command shows all SIP registrations on your <code>Freeswitch<\/code> server. In the output, you can see the call ID, the user, and the contact information for each registration.<\/p>\n<p>Understanding these fundamentals is crucial as they form the basis of how <code>Freeswitch<\/code> operates. With a solid foundation, you can better appreciate the power and flexibility <code>Freeswitch<\/code> offers in handling telephony tasks.<\/p>\n<h2>The Relevance of Freeswitch<\/h2>\n<p><code>Freeswitch<\/code> isn&#8217;t just a tool for handling telephony tasks; it&#8217;s a versatile solution that plays a crucial role in system administration and communication. Its capabilities extend beyond basic call routing, offering functionalities like IVR, conferencing, and even text-to-speech conversion.<\/p>\n<h3>Exploring Related Concepts: VoIP and SIP<\/h3>\n<p>Understanding <code>Freeswitch<\/code> also opens the door to broader concepts in the world of digital communication. Two such concepts are VoIP (Voice over Internet Protocol) and SIP.<\/p>\n<p>VoIP is a technology that allows voice calls to be made over an internet connection instead of a regular phone line. <code>Freeswitch<\/code> can be used as a VoIP server, managing and routing VoIP calls within a network.<\/p>\n<p>SIP, on the other hand, is a protocol used to control communication sessions. It&#8217;s one of the protocols <code>Freeswitch<\/code> supports and is commonly used for managing multimedia communication sessions such as voice and video calls.<\/p>\n<pre><code class=\"language-bash line-numbers\"># Sample Freeswitch command to show SIP registrations\nfreeswitch@localhost&gt; sofia status profile internal reg\n\n# Output:\n# Call-ID      User    Contact\n# ==================================================================================================\n# MThkYzUxNz  1001    \"1001\" &lt;sip:1001@192.168.1.2:5060&gt;\n<\/code><\/pre>\n<p>This command shows all SIP registrations on your <code>Freeswitch<\/code> server. In the output, you can see the call ID, the user, and the contact information for each registration.<\/p>\n<h3>Further Resources for Mastering Freeswitch<\/h3>\n<p>To delve deeper into the world of <code>Freeswitch<\/code>, here are some resources that provide more detailed information:<\/p>\n<ul>\n<li><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.voip-info.org\/freeswitch\/\" target=\"_blank\" rel=\"noopener\">FreeSWITCH Overview<\/a> &#8211; Detailed information about FreeSWITCH, a scalable open-source telephony platform.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.youtube.com\/results?search_query=freeswitch+brian+west\" target=\"_blank\" rel=\"noopener\">FreeSWITCH Videos by Brian West<\/a> &#8211; A collection of YouTube videos by Brian West, offering insights and tutorials on FreeSWITCH.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/developer.signalwire.com\/freeswitch\/FreeSWITCH-Explained\/\" target=\"_blank\" rel=\"noopener\">FreeSWITCH Explained<\/a> &#8211; Developer documentation and comprehensive guide to understanding and using FreeSWITCH.<\/p>\n<\/li>\n<\/ul>\n<h2>Wrap Up: Linux Freeswitch Tutorial<\/h2>\n<p>In this comprehensive guide, we&#8217;ve delved into the process of installing <code>Freeswitch<\/code> on Linux, a powerful and flexible telephony platform that can manage various communication protocols.<\/p>\n<p>We started with the basics, demonstrating how to install <code>Freeswitch<\/code> using the <code>apt<\/code> and <code>yum<\/code> package managers. We then explored more advanced topics, such as installing <code>Freeswitch<\/code> from source and installing specific versions, providing code examples and explanations along the way.<\/p>\n<p>We also discussed alternative approaches to <code>Freeswitch<\/code> installation, such as using Docker and manual installation, and provided a comparison of these methods. Moreover, we addressed common issues you might encounter during installation and offered solutions to these problems.<\/p>\n<table>\n<thead>\n<tr>\n<th>Method<\/th>\n<th>Advantages<\/th>\n<th>Disadvantages<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>APT\/YUM<\/td>\n<td>Simple, quick<\/td>\n<td>Limited customization<\/td>\n<\/tr>\n<tr>\n<td>Docker<\/td>\n<td>Easy management, scalability<\/td>\n<td>Requires Docker knowledge<\/td>\n<\/tr>\n<tr>\n<td>Manual<\/td>\n<td>Full control, customization<\/td>\n<td>Complex, time-consuming<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In addition to installation, we explored the fundamentals of telephony platforms and communication protocols, giving you a better understanding of how <code>Freeswitch<\/code> operates. And we looked at the broader implications of <code>Freeswitch<\/code> in system administration and communication, directing you to more resources for further learning.<\/p>\n<p>Whether you&#8217;re just starting out with <code>Freeswitch<\/code> or you&#8217;re looking to enhance your skills, we hope this guide has provided you with the knowledge and confidence to install and use <code>Freeswitch<\/code> on Linux effectively. Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While working to configure VoIP telephony solutions on Linux servers at IOFLOOD, we spent time installing Freeswitch. From our experience, Freeswitch&#8217;s support for various telephony protocols make it a preferred choice for building scalable communication platforms. Through today&#8217;s article, we aim to equip our customers with the knowledge and tools needed to create reliable communication [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":21062,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-7655","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","cat-3-id","has_thumb"],"_links":{"self":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/7655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/comments?post=7655"}],"version-history":[{"count":14,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/7655\/revisions"}],"predecessor-version":[{"id":21128,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/7655\/revisions\/21128"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media\/21062"}],"wp:attachment":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media?parent=7655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/categories?post=7655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/tags?post=7655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}