{"id":35,"date":"2026-04-07T16:23:10","date_gmt":"2026-04-07T16:23:10","guid":{"rendered":"http:\/\/localhost:8080\/knowledge-base\/what-is-stun\/"},"modified":"2026-04-12T19:03:51","modified_gmt":"2026-04-12T19:03:51","slug":"what-is-stun","status":"publish","type":"post","link":"https:\/\/www.siperb.com\/kb\/what-is-stun\/","title":{"rendered":"What is STUN?"},"content":{"rendered":"\n<p><strong>STUN (Session Traversal Utilities for NAT)<\/strong> is a protocol that assists in establishing peer-to-peer (P2P) connections over the Internet, particularly in scenarios involving Network Address Translators (NATs). NATs are devices that map private IP addresses within a local network to public IP addresses on the Internet. This process is helpful for security but poses challenges for direct P2P connections, as devices in different private networks may not easily reach each other. STUN facilitates the discovery of public IP addresses and port mappings, enabling devices behind NATs to establish P2P connections effectively.<\/p>\n\n\n\n<p>STUN is a fundamental building block in WebRTC (Web Real-Time Communication), a technology for P2P communications such as audio, video, and data transfer between browsers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How Does STUN Work?<\/h3>\n\n\n\n<p>When two devices want to establish a P2P connection, each device needs to know:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Its own public IP address and port<\/strong> as seen by the Internet.<\/li>\n\n\n\n<li><strong>Any NAT or firewall restrictions<\/strong> that could prevent direct communication.<\/li>\n<\/ol>\n\n\n\n<p>A <strong>STUN server<\/strong> provides this information by reflecting the device\u2019s request, which is then used to identify the public IP and port mappings assigned by the NAT. This process is commonly referred to as <em>NAT traversal<\/em>.<\/p>\n\n\n\n<p>The typical flow with STUN works as follows:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The client contacts a STUN server over the Internet.<\/li>\n\n\n\n<li>The server replies with the public IP address and port as seen by the Internet.<\/li>\n\n\n\n<li>The client uses this information in its connection request to another peer.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">STUN vs. TURN<\/h3>\n\n\n\n<p>STUN works for NAT traversal in most cases. However, when both peers are behind symmetric NATs, STUN alone may not work. <strong>TURN (Traversal Using Relays around NAT)<\/strong> servers are used as intermediaries, relaying traffic between peers. TURN is more resource-intensive than STUN and is typically used as a fallback option.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">STUN in WebRTC<\/h3>\n\n\n\n<p>WebRTC uses STUN to assist in creating <strong>peer-to-peer connections<\/strong> by determining the public-facing IP address of a client. This address is shared with other peers via a <strong>Session Description Protocol (SDP)<\/strong> message. The SDP contains information about how the peers can connect, including IP addresses, ports, and connection metadata.<\/p>\n\n\n\n<p>Below, we\u2019ll walk through how to set up a simple STUN-backed peer connection using WebRTC and examine the SDP exchange.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example of a STUN-backed WebRTC Peer Connection<\/h3>\n\n\n\n<p>In this example, we\u2019ll configure a WebRTC peer connection between two clients. We\u2019ll demonstrate how STUN servers are configured in the peer connection and look at the SDP details that are exchanged.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 1: Setting Up the STUN Server in WebRTC<\/h4>\n\n\n\n<p>WebRTC\u2019s <code>RTCPeerConnection<\/code> object supports configuring STUN and TURN servers directly. Here\u2019s how to add a STUN server in JavaScript:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const configuration = {\n    iceServers: [\n        { urls: 'stun:stun.l.google.com:19302' }  \/\/ Google\u2019s public STUN server\n    ]\n};\n\nconst peerConnection = new RTCPeerConnection(configuration);<\/code><\/pre>\n\n\n\n<p>In this configuration, we use Google\u2019s public STUN server. This will help each client determine its public IP and port.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 2: Generating and Sharing SDP<\/h4>\n\n\n\n<p>The process for establishing a connection involves the exchange of <strong>SDP (Session Description Protocol)<\/strong> messages. The SDP contains information about how media can be shared between the two peers.<\/p>\n\n\n\n<p>Here\u2019s an example of how to create an offer and generate an SDP on the first client:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>peerConnection.createOffer().then((offer) =&gt; {\n    return peerConnection.setLocalDescription(offer);\n}).then(() =&gt; {\n    \/\/ Send the SDP offer to the other peer via your signaling server\n    console.log(\"SDP Offer: \", peerConnection.localDescription);\n});<\/code><\/pre>\n\n\n\n<p>This code:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Creates an offer.<\/li>\n\n\n\n<li>Sets the offer as the local description of the peer connection.<\/li>\n\n\n\n<li>Logs the SDP, which you can send to the other peer through a signaling mechanism (e.g., WebSocket, HTTP).<\/li>\n<\/ol>\n\n\n\n<p>Here\u2019s what the generated SDP might look like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>v=0\no=- 46117349 2 IN IP4 127.0.0.1\ns=-\nt=0 0\na=group:BUNDLE 0\nm=audio 9 UDP\/TLS\/RTP\/SAVPF 111 103 9\nc=IN IP4 203.0.113.1\na=rtcp:9 IN IP4 0.0.0.0\na=candidate:842163049 1 udp 1677729535 192.168.1.2 62604 typ srflx raddr 192.168.1.2 rport 62604 generation 0\na=ice-ufrag:EjYk\na=ice-pwd:asd88fgpdd777uzjYhagZg\na=fingerprint:sha-256 4F:90:41:59:48:1E:E8:A2:37:23:5A:CD:E3:8E:10:F6:A3:6A:C5:99:EB:FD:45:3B:EC:8A:52:1A:C6:97:DF:5E\n...<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Step 3: Receiving and Setting the SDP<\/h4>\n\n\n\n<p>On the receiving peer, set the received SDP as the remote description, then generate an answer to send back.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Assume sdpOffer is the SDP received from the offerer\npeerConnection.setRemoteDescription(new RTCSessionDescription(sdpOffer)).then(() =&gt; {\n    return peerConnection.createAnswer();\n}).then((answer) =&gt; {\n    return peerConnection.setLocalDescription(answer);\n}).then(() =&gt; {\n    \/\/ Send the SDP answer back to the offerer\n    console.log(\"SDP Answer: \", peerConnection.localDescription);\n});<\/code><\/pre>\n\n\n\n<p>This sets up the receiving peer to respond to the initial offer with an SDP answer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Detailed Breakdown of SDP<\/h3>\n\n\n\n<p>An SDP message consists of several sections:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>v=0<\/strong>: SDP version.<\/li>\n\n\n\n<li><strong>o=<\/strong>: Origin of the session.<\/li>\n\n\n\n<li><strong>s=<\/strong>: Session name.<\/li>\n\n\n\n<li><strong>c=<\/strong>: Connection data, like the IP address.<\/li>\n\n\n\n<li><strong>m=<\/strong>: Media information (e.g., audio, video).<\/li>\n\n\n\n<li><strong>a=<\/strong>: Attributes, including ICE candidates.<\/li>\n<\/ul>\n\n\n\n<p>The <strong>ICE candidates<\/strong> (<code>a=candidate<\/code>) specify the IP and port combinations where each peer might be reachable. These candidates are collected with the help of the STUN server.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Example: Adding an ICE Candidate<\/h4>\n\n\n\n<p>When additional ICE candidates are discovered, they are sent to the peer to expand connection possibilities.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>peerConnection.onicecandidate = (event) =&gt; {\n    if (event.candidate) {\n        \/\/ Send candidate to the peer\n        console.log(\"New ICE Candidate:\", event.candidate);\n    }\n};<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>STUN<\/strong> allows devices to discover their public IP address and port mappings, enabling peer-to-peer connections across NATs.<\/li>\n\n\n\n<li><strong>SDP<\/strong> is the format used to describe the media and connection setup required to establish a WebRTC session.<\/li>\n\n\n\n<li>By configuring STUN servers in <code>RTCPeerConnection<\/code>, WebRTC applications can collect the necessary ICE candidates to complete NAT traversal.<\/li>\n<\/ul>\n\n\n\n<p>In combination with TURN and signaling servers, STUN is crucial for establishing reliable WebRTC connections across the Internet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>STUN (Session Traversal Utilities for NAT) is a protocol that assists in establishing peer-to-peer (P2P) connections over the Internet, particularly in scenarios involving Network Address Translators (NATs).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[11],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-sip-over-webrtc"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What is STUN? NAT Traversal for WebRTC<\/title>\n<meta name=\"description\" content=\"What is STUN? Session Traversal Utilities for NAT \u2014 how it helps WebRTC clients discover their public IP address and establish peer connections.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.siperb.com\/kb\/what-is-stun\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is STUN? NAT Traversal for WebRTC\" \/>\n<meta property=\"og:description\" content=\"What is STUN? Session Traversal Utilities for NAT \u2014 how it helps WebRTC clients discover their public IP address and establish peer connections.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.siperb.com\/kb\/what-is-stun\/\" \/>\n<meta property=\"og:site_name\" content=\"Siperb\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-07T16:23:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-12T19:03:51+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#\\\/schema\\\/person\\\/0eea9348847ae5012963b92f7de86111\"},\"headline\":\"What is STUN?\",\"datePublished\":\"2026-04-07T16:23:10+00:00\",\"dateModified\":\"2026-04-12T19:03:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/\"},\"wordCount\":757,\"publisher\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#organization\"},\"articleSection\":[\"SIP Over WebRTC\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/\",\"url\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/\",\"name\":\"What is STUN? NAT Traversal for WebRTC\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#website\"},\"datePublished\":\"2026-04-07T16:23:10+00:00\",\"dateModified\":\"2026-04-12T19:03:51+00:00\",\"description\":\"What is STUN? Session Traversal Utilities for NAT \u2014 how it helps WebRTC clients discover their public IP address and establish peer connections.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/what-is-stun\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is STUN?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#website\",\"url\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/\",\"name\":\"Siperb\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#organization\",\"name\":\"SIPERB LTD\",\"alternateName\":\"SIPERB\",\"url\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/MobilePromo.webp\",\"contentUrl\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/MobilePromo.webp\",\"width\":1200,\"height\":670,\"caption\":\"SIPERB LTD\"},\"image\":{\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.siperb.com\\\/kb\\\/#\\\/schema\\\/person\\\/0eea9348847ae5012963b92f7de86111\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d05be207a83da788dfe01ab5d326164757a5a0d58ab399171c1a0506bda54e1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d05be207a83da788dfe01ab5d326164757a5a0d58ab399171c1a0506bda54e1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7d05be207a83da788dfe01ab5d326164757a5a0d58ab399171c1a0506bda54e1?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"http:\\\/\\\/localhost:8080\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is STUN? NAT Traversal for WebRTC","description":"What is STUN? Session Traversal Utilities for NAT \u2014 how it helps WebRTC clients discover their public IP address and establish peer connections.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.siperb.com\/kb\/what-is-stun\/","og_locale":"en_US","og_type":"article","og_title":"What is STUN? NAT Traversal for WebRTC","og_description":"What is STUN? Session Traversal Utilities for NAT \u2014 how it helps WebRTC clients discover their public IP address and establish peer connections.","og_url":"https:\/\/www.siperb.com\/kb\/what-is-stun\/","og_site_name":"Siperb","article_published_time":"2026-04-07T16:23:10+00:00","article_modified_time":"2026-04-12T19:03:51+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.siperb.com\/kb\/what-is-stun\/#article","isPartOf":{"@id":"https:\/\/www.siperb.com\/kb\/what-is-stun\/"},"author":{"name":"admin","@id":"https:\/\/www.siperb.com\/kb\/#\/schema\/person\/0eea9348847ae5012963b92f7de86111"},"headline":"What is STUN?","datePublished":"2026-04-07T16:23:10+00:00","dateModified":"2026-04-12T19:03:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.siperb.com\/kb\/what-is-stun\/"},"wordCount":757,"publisher":{"@id":"https:\/\/www.siperb.com\/kb\/#organization"},"articleSection":["SIP Over WebRTC"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.siperb.com\/kb\/what-is-stun\/","url":"https:\/\/www.siperb.com\/kb\/what-is-stun\/","name":"What is STUN? NAT Traversal for WebRTC","isPartOf":{"@id":"https:\/\/www.siperb.com\/kb\/#website"},"datePublished":"2026-04-07T16:23:10+00:00","dateModified":"2026-04-12T19:03:51+00:00","description":"What is STUN? Session Traversal Utilities for NAT \u2014 how it helps WebRTC clients discover their public IP address and establish peer connections.","breadcrumb":{"@id":"https:\/\/www.siperb.com\/kb\/what-is-stun\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.siperb.com\/kb\/what-is-stun\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.siperb.com\/kb\/what-is-stun\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.siperb.com\/kb\/"},{"@type":"ListItem","position":2,"name":"What is STUN?"}]},{"@type":"WebSite","@id":"https:\/\/www.siperb.com\/kb\/#website","url":"https:\/\/www.siperb.com\/kb\/","name":"Siperb","description":"","publisher":{"@id":"https:\/\/www.siperb.com\/kb\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.siperb.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.siperb.com\/kb\/#organization","name":"SIPERB LTD","alternateName":"SIPERB","url":"https:\/\/www.siperb.com\/kb\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.siperb.com\/kb\/#\/schema\/logo\/image\/","url":"https:\/\/www.siperb.com\/kb\/wp-content\/uploads\/2024\/11\/MobilePromo.webp","contentUrl":"https:\/\/www.siperb.com\/kb\/wp-content\/uploads\/2024\/11\/MobilePromo.webp","width":1200,"height":670,"caption":"SIPERB LTD"},"image":{"@id":"https:\/\/www.siperb.com\/kb\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.siperb.com\/kb\/#\/schema\/person\/0eea9348847ae5012963b92f7de86111","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7d05be207a83da788dfe01ab5d326164757a5a0d58ab399171c1a0506bda54e1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7d05be207a83da788dfe01ab5d326164757a5a0d58ab399171c1a0506bda54e1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7d05be207a83da788dfe01ab5d326164757a5a0d58ab399171c1a0506bda54e1?s=96&d=mm&r=g","caption":"admin"},"sameAs":["http:\/\/localhost:8080"]}]}},"_links":{"self":[{"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":1,"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/posts\/35\/revisions"}],"predecessor-version":[{"id":13701,"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/posts\/35\/revisions\/13701"}],"wp:attachment":[{"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/media?parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/categories?post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.siperb.com\/kb\/wp-json\/wp\/v2\/tags?post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}