{"id":15167,"date":"2026-11-06T11:22:25","date_gmt":"2026-11-06T08:22:25","guid":{"rendered":"https:\/\/vasexperts.com\/?p=15167"},"modified":"2026-11-06T12:47:52","modified_gmt":"2026-11-06T09:47:52","slug":"inside-gtpcproxy","status":"publish","type":"post","link":"https:\/\/vasexperts.com\/es\/blog\/mobile-networks\/inside-gtpcproxy\/","title":{"rendered":"GTPCProxy por dentro: 348 mil Modify Bearer por segundo y sesiones que se mantienen ante fallas"},"content":{"rendered":"<a href=\"\/es\/blog\/mobile-networks\/any-vendors-pgw-no-core-network-replacement\/\">En el art\u00edculo anterior contamos<\/a> qu\u00e9 puede hacer GTPCProxy; ahora vamos a mirar por dentro y a explicar c\u00f3mo est\u00e1 construido GTPCProxy y los resultados de las mediciones.\r\n \r\n<h2>N\u00facleo multihilo sin estructuras compartidas<\/h2>\r\n \r\nLa idea principal es que los hilos de trabajo del proxy no se interfieren entre s\u00ed. Todas las sesiones de GTPCProxy est\u00e1n divididas en 1024 particiones. Cada partici\u00f3n est\u00e1 asignada a un solo hilo de trabajo, y un hilo atiende muchas particiones.\r\n \r\nNo hay estructuras modificables compartidas entre varios hilos. Por eso los hilos de trabajo no necesitan coordinar el acceso a los datos, y cada hilo nuevo suma rendimiento casi sin p\u00e9rdidas. Las mediciones lo confirman: con una carga del 50 % de la m\u00e1xima, en un minuto no se registr\u00f3 ni un solo bloqueo de los hilos de trabajo.\r\n \r\nLas respuestas de los gateways <a href=\"\/es\/products\/pgw\/\">PGW<\/a> y los mensajes de verificaci\u00f3n Echo, con los que el proxy sabe que un gateway est\u00e1 activo, pasan por una cola separada y no junto con las solicitudes nuevas. Por eso, incluso en el pico de carga, las respuestas se procesan sin demora y las verificaciones se completan en el tiempo previsto. El proxy no confundir\u00e1 un gateway que funciona bien con uno ca\u00eddo solo porque \u00e9l mismo estaba ocupado.\r\n \r\nSi aun as\u00ed el proxy se sobrecarga, atiende los mensajes por prioridad. Primero van los mensajes de las sesiones ya activas y despu\u00e9s las solicitudes de nuevas conexiones. As\u00ed, los suscriptores que ya est\u00e1n en la red no se ven afectados por una avalancha de nuevos.\r\n \r\n<h2>Escalamiento vertical: resultados de las mediciones<\/h2>\r\n \r\nEl proxy registra el estado de cada sesi\u00f3n en Redis, una base de datos r\u00e1pida que guarda todo en memoria RAM. Puede ser un solo servidor Redis o un cl\u00faster en el que cada nodo tiene una copia de respaldo (r\u00e9plica).\r\n \r\n[important]\r\nRecomendamos este esquema\r\n \r\nCada hilo de trabajo tiene su propio canal de escritura en el almacenamiento y su propio nodo principal de Redis con r\u00e9plica.[\/important]\r\n \r\nCon este esquema medimos cu\u00e1ntas solicitudes Modify Bearer procesa el proxy de forma sostenida y sin errores. (Modify Bearer es una solicitud para modificar los par\u00e1metros de una sesi\u00f3n ya existente del suscriptor):\r\n \r\n<table>\r\n<tbody>\r\n<tr><td><strong>Hilos de trabajo<\/strong><\/td><td><strong>Modify Bearer por segundo<\/strong><\/td><td><strong>Crecimiento respecto a la fila anterior<\/strong><\/td><\/tr>\r\n<tr><td>1<\/td><td>87 812<\/td><td>\u2014<\/td><\/tr>\r\n<tr><td>2<\/td><td>180 625<\/td><td>2,06 veces<\/td><\/tr>\r\n<tr><td>4<\/td><td>348 203<\/td><td>1,93 veces<\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n \r\nAl pasar de uno a dos hilos, la capacidad creci\u00f3 2,06 veces, y de dos a cuatro, 1,93 veces. Cuatro hilos procesan 348 203 solicitudes por segundo. Es un 0,9 % menos que cuatro veces la capacidad de un solo hilo (351 248).\r\n \r\nLa latencia se midi\u00f3 con cuatro hilos y una carga del 90 % de la m\u00e1xima durante 30 minutos. Resultados:\r\n \r\n<ul>\r\n<li>p50: 0,10 ms,<\/li>\r\n<li>p99: 0,33 ms,<\/li>\r\n<li>p99,9: 0,56 ms.<\/li>\r\n<\/ul>\r\n \r\nEn 30 minutos, el proxy proces\u00f3 563 776 014 transacciones sin errores ni p\u00e9rdidas. En ese tiempo, la memoria del proceso creci\u00f3 7,9 MB.\r\n \r\nPara redes peque\u00f1as basta con un Redis individual. Pero un Redis individual limita la capacidad. El proxy procesa unas 105 000 solicitudes Modify Bearer por segundo, y agregar hilos de trabajo no aumenta esa cifra.\r\n \r\nSi a un cl\u00faster Redis se le asignan tantos n\u00facleos de procesador como a un servidor individual, la capacidad del proxy baja aproximadamente un 21\u201322 %. En cambio, si a cada nodo principal del cl\u00faster se le asigna un n\u00facleo propio, el rendimiento crece junto con el n\u00famero de hilos de trabajo del proxy.\r\n \r\n<h2>Escalamiento horizontal y redundancia mediante BGP<\/h2>\r\n \r\nPara que el proxy no se convierta en un punto \u00fanico de falla, sus instancias se agrupan. Cada grupo tiene su propia direcci\u00f3n IP (\/32), que las instancias anuncian por <a href=\"\/es\/resources\/glossary\/bgp\/\">BGP<\/a> como accesible a trav\u00e9s de ellas. La instancia activa anuncia la direcci\u00f3n con la mejor ruta y la de respaldo, con una peor, por lo que el tr\u00e1fico va a la activa.\r\n \r\n<noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/11\/proxy_failover_redis_en.svg\" alt=\"proxy failover redis\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-15179\"><\/noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/11\/proxy_failover_redis_en.svg\" alt=\"proxy failover redis\" width=\"100%\" height=\"auto\" class=\"alignnone size-full wp-image-15179 lazyload\" data-src=\"\/wp-content\/uploads\/2026\/11\/proxy_failover_redis_en.svg\">\r\nFigura: Los nodos vecinos siempre se dirigen a una sola direcci\u00f3n del grupo. BGP decide qu\u00e9 instancia responde en cada momento, y ambas toman las sesiones del mismo Redis.\r\n \r\n<h3>Falla del proxy o del servidor<\/h3>\r\n \r\nUn programa independiente, el watchdog de BGP, supervisa el proceso del proxy. Lo verifica una vez por segundo. Si una instancia falla durante m\u00e1s de 10 segundos, el watchdog deja de anunciar su direcci\u00f3n y el tr\u00e1fico pasa a la instancia de respaldo. La instancia solo podr\u00e1 volver a operar despu\u00e9s de 30 segundos de funcionamiento estable. As\u00ed, una instancia inestable no estar\u00e1 desapareciendo y reapareciendo.\r\n \r\nSi falla todo el servidor o su conexi\u00f3n de red, se activa el mecanismo BFD. Detecta la ca\u00edda en 900 ms, tras tres verificaciones perdidas con un intervalo de 300 ms. Despu\u00e9s, la direcci\u00f3n pasa a la instancia de respaldo.\r\n \r\n<h3>Por qu\u00e9 no se pierden las sesiones<\/h3>\r\n \r\nAl recibir un mensaje de una sesi\u00f3n, la instancia de respaldo lee el estado de esa sesi\u00f3n en Redis por el identificador del t\u00fanel (TEID).\r\n \r\nLos nodos vecinos tampoco notan el cambio. Cada nodo informa a sus vecinos su contador de reinicios (Recovery). Si el contador cambia, el vecino considera que el nodo se reinici\u00f3 y elimina las sesiones asociadas a \u00e9l. Todas las instancias del grupo tienen el mismo valor de Recovery, por lo que el SGW y el PGW no confunden el cambio con un reinicio y las sesiones se mantienen.\r\n \r\n<h3>Falla de Redis<\/h3>\r\n \r\nSi falla el nodo principal de Redis, sus funciones pasan a la r\u00e9plica. En una serie de pruebas con una carga de 6020 solicitudes de creaci\u00f3n de conexi\u00f3n por segundo, el cambio tard\u00f3 como m\u00e1ximo 2,03 s.\r\n \r\n<h3>Reinicio del proxy<\/h3>\r\n \r\nReiniciar el proxy no corta las conexiones. El proceso en s\u00ed arranca en unos 0,135 s (mediana) y luego lee el estado de las sesiones desde Redis. Un hilo de trabajo bloqueado se reinicia mediante el temporizador watchdog del hilo, un mecanismo independiente que no tiene relaci\u00f3n con el watchdog de BGP. En una detenci\u00f3n planificada, el proxy primero responde a las transacciones abiertas.\r\n \r\n<h3>C\u00f3mo aumentar la capacidad<\/h3>\r\n \r\nPara atender a m\u00e1s suscriptores, se agregan nuevos grupos de proxy. Sus direcciones se registran en el <a href=\"\/es\/resources\/glossary\/dns\/\">DNS<\/a> para los puntos de acceso (APN) correspondientes. Todos los grupos trabajan con un mismo cl\u00faster Redis.\r\n \r\n<table>\r\n<tbody>\r\n<tr><td><strong>Evento<\/strong><\/td><td><strong>C\u00f3mo se detecta<\/strong><\/td><td><strong>Tiempo<\/strong><\/td><\/tr>\r\n<tr><td>Falla del proceso del proxy<\/td><td>Watchdog de BGP, verificaci\u00f3n una vez por segundo<\/td><td>La direcci\u00f3n se retira a los 10 s<\/td><\/tr>\r\n<tr><td>Falla del servidor o de la red<\/td><td>BFD, intervalo de 300 ms, 3 p\u00e9rdidas<\/td><td>900 ms<\/td><\/tr>\r\n<tr><td>Regreso de la instancia a operaci\u00f3n<\/td><td>Watchdog de BGP<\/td><td>Tras 30 s de funcionamiento estable<\/td><\/tr>\r\n<tr><td>Falla del nodo principal de Redis<\/td><td>Paso a la r\u00e9plica<\/td><td>Hasta 2,03 s<\/td><\/tr>\r\n<tr><td>Arranque del proceso del proxy<\/td><td>\u2014<\/td><td>0,135 s (mediana)<\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n \r\n<h2>VNF o CNF<\/h2>\r\n \r\nEl proxy se ofrece en dos variantes. La redundancia funciona igual en ambas; la diferencia est\u00e1 solo en d\u00f3nde y c\u00f3mo se ejecuta el proxy. La primera variante es una m\u00e1quina virtual (VNF) y la segunda, contenedores en Kubernetes (CNF).\r\n \r\n<table>\r\n<tbody>\r\n<tr><td><\/td><td><strong>M\u00e1quina virtual (VNF)<\/strong><\/td><td><strong>Kubernetes (CNF)<\/strong><\/td><\/tr>\r\n<tr><td>Plataforma<\/td><td>VEOS 8<\/td><td>Kubernetes<\/td><\/tr>\r\n<tr><td>Desde qu\u00e9 se instala<\/td><td>Dos paquetes RPM<\/td><td>Imagen construida a partir de los mismos paquetes RPM y un Helm chart<\/td><\/tr>\r\n<tr><td>C\u00f3mo se ejecuta<\/td><td>Servicio del sistema (systemd)<\/td><td>StatefulSet, dos pods por grupo<\/td><\/tr>\r\n<tr><td>Qui\u00e9n anuncia la direcci\u00f3n del grupo<\/td><td>FRR y el watchdog de BGP<\/td><td>FRR dentro del pod del proxy<\/td><\/tr>\r\n<tr><td>Recursos y configuraci\u00f3n<\/td><td>\u2014<\/td><td>Asignaci\u00f3n est\u00e1tica de n\u00facleos de procesador, configuraci\u00f3n en ConfigMap y Secret<\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n \r\nLa m\u00e1quina virtual se actualiza con el comando dnf upgrade. Primero se actualiza la instancia de respaldo y despu\u00e9s la activa.\r\n \r\n<h2>Monitoreo y administraci\u00f3n<\/h2>\r\n \r\nLas m\u00e9tricas de Prometheus abarcan mensajes, transacciones, fallas y el estado de los PGW y del almacenamiento. Los paneles de Grafana ya preparados est\u00e1n integrados en la interfaz web del proxy. All\u00ed tambi\u00e9n est\u00e1n disponibles los indicadores generales, las tablas de PGW y pools, la b\u00fasqueda de sesiones y la ficha de cada sesi\u00f3n, incluidos los par\u00e1metros de las redes 2G\/3G (GTPv1).\r\n \r\nLa interfaz funciona r\u00e1pido incluso con una gran cantidad de sesiones. Con 100 000 sesiones, la primera p\u00e1gina de la lista se abre en 6,9 ms, y la b\u00fasqueda por n\u00famero de tarjeta SIM (IMSI) tarda 0,4 ms.\r\n \r\nLa configuraci\u00f3n se divide en dos niveles.\r\n \r\n<ul>\r\n<li><strong>El archivo gtpcp.yaml<\/strong> se encarga del propio proxy. En \u00e9l se definen las direcciones, el n\u00famero de hilos, la asignaci\u00f3n a n\u00facleos de procesador y los par\u00e1metros del almacenamiento.<\/li>\r\n<li><strong>El documento de enrutamiento<\/strong> se encarga del trabajo con los suscriptores. En \u00e9l se definen los pools de gateways, las reglas de selecci\u00f3n, los pesos, las verificaciones del estado de los PGW y la sustituci\u00f3n de par\u00e1metros.<\/li>\r\n<\/ul>\r\n \r\nEl documento de enrutamiento se puede modificar sin reiniciar el proxy, mediante formularios o en formato de texto en la interfaz web. Antes de aplicarla, el proxy valida la nueva versi\u00f3n. Si contiene un error, el proxy sigue funcionando con la actual. Siempre es posible volver a la versi\u00f3n anterior. Los permisos se reparten entre dos roles: administrador y observador.\r\n \r\n<h2>Conclusi\u00f3n<\/h2>\r\n \r\nGTPCProxy aumenta su rendimiento con nuevos n\u00facleos de procesador y nuevos grupos de proxy, y guarda el estado de las sesiones por separado, en Redis. Por eso el cambio a la instancia de respaldo pasa inadvertido para el SGW y el PGW, que no necesitan hacer nada.\r\n \r\nPuede comprobarlo con sus propios SGW, SGSN y PGW en laboratorio. VAS Experts entrega un paquete de pruebas con configuraci\u00f3n, escenarios y un conjunto de herramientas para recopilar trazas. Cont\u00e1ctenos para planificar la validaci\u00f3n.\r\n\r\n[product id=\u00bb11736\u2033 type=\u00bbdark\u00bb]","protected":false},"excerpt":{"rendered":"<p>Adem\u00e1s de la lista de funciones de GTPCProxy, al ingeniero del n\u00facleo y al equipo de operaci\u00f3n les importa entender c\u00f3mo se comporta bajo carga, ante la falla de un nodo y en el turno nocturno, cuando no hay un ingeniero de guardia cerca.<\/p>\n","protected":false},"author":7,"featured_media":15192,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[102],"tags":[],"class_list":["post-15167","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-networks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GTPCProxy por dentro: 348 mil Modify Bearer por segundo y sesiones que se mantienen ante fallas - VAS Experts<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/\",\"url\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/\",\"name\":\"GTPCProxy: arquitectura, mediciones y redundancia mediante BGP \u2014 VAS Experts\",\"isPartOf\":{\"@id\":\"https:\/\/vasexperts.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp\",\"datePublished\":\"2026-11-06T08:22:25+00:00\",\"dateModified\":\"2026-11-06T09:47:52+00:00\",\"author\":{\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59\"},\"description\":\"Explicamos c\u00f3mo GTPCProxy escala por n\u00facleos y grupos, guarda las sesiones en Redis y cambia a la instancia de respaldo en 900 ms sin que el SGW ni el PGW lo noten\",\"breadcrumb\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp\",\"contentUrl\":\"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp\",\"width\":850,\"height\":354,\"caption\":\"Inside GTPCProxy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/vasexperts.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Inside GTPCProxy: 348,000 Modify Bearer Requests per Second and Sessions That Survive Failures\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vasexperts.com\/#website\",\"url\":\"https:\/\/vasexperts.com\/\",\"name\":\"VAS Experts\",\"description\":\"VAS Experts\",\"inLanguage\":\"es\",\"publisher\":{\"@id\":\"https:\/\/vasexperts.com\/#organization\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59\",\"name\":\"Elena Rudich\",\"url\":\"https:\/\/vasexperts.com\/es\/blog\/author\/elena-rudich\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vasexperts.com\/#organization\",\"name\":\"VAS Experts\",\"url\":\"https:\/\/vasexperts.com\/\",\"logo\":\"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/vas-experts\",\"https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GTPCProxy por dentro: 348 mil Modify Bearer por segundo y sesiones que se mantienen ante fallas - VAS Experts","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/","url":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/","name":"GTPCProxy: arquitectura, mediciones y redundancia mediante BGP \u2014 VAS Experts","isPartOf":{"@id":"https:\/\/vasexperts.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage"},"image":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp","datePublished":"2026-11-06T08:22:25+00:00","dateModified":"2026-11-06T09:47:52+00:00","author":{"@id":"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59"},"description":"Explicamos c\u00f3mo GTPCProxy escala por n\u00facleos y grupos, guarda las sesiones en Redis y cambia a la instancia de respaldo en 900 ms sin que el SGW ni el PGW lo noten","breadcrumb":{"@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#primaryimage","url":"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp","contentUrl":"\/wp-content\/uploads\/2026\/11\/banner-dlya-inzhenernogo-yadra.webp","width":850,"height":354,"caption":"Inside GTPCProxy"},{"@type":"BreadcrumbList","@id":"https:\/\/vasexperts.com\/blog\/mobile-networks\/inside-gtpcproxy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/vasexperts.com\/"},{"@type":"ListItem","position":2,"name":"Inside GTPCProxy: 348,000 Modify Bearer Requests per Second and Sessions That Survive Failures"}]},{"@type":"WebSite","@id":"https:\/\/vasexperts.com\/#website","url":"https:\/\/vasexperts.com\/","name":"VAS Experts","description":"VAS Experts","inLanguage":"es","publisher":{"@id":"https:\/\/vasexperts.com\/#organization"}},{"@type":"Person","@id":"https:\/\/vasexperts.com\/#\/schema\/person\/e437e05016391b857d85b493b3173d59","name":"Elena Rudich","url":"https:\/\/vasexperts.com\/es\/blog\/author\/elena-rudich\/"},{"@type":"Organization","@id":"https:\/\/vasexperts.com\/#organization","name":"VAS Experts","url":"https:\/\/vasexperts.com\/","logo":"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg","sameAs":["https:\/\/www.linkedin.com\/company\/vas-experts","https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA"]}]}},"_links":{"self":[{"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/posts\/15167"}],"collection":[{"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/comments?post=15167"}],"version-history":[{"count":7,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/posts\/15167\/revisions"}],"predecessor-version":[{"id":15180,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/posts\/15167\/revisions\/15180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/media\/15192"}],"wp:attachment":[{"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/media?parent=15167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/categories?post=15167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vasexperts.com\/es\/wp-json\/wp\/v2\/tags?post=15167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}