{"id":30399,"date":"2019-10-31T21:35:20","date_gmt":"2019-10-31T18:35:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/voip-zoopark-provisioning\/"},"modified":"2019-10-31T21:35:20","modified_gmt":"2019-10-31T18:35:20","slug":"voip-zoopark-provisioning","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/voip-zoopark-provisioning","title":{"rendered":"Zoo VoIP \u2014 Aprovisionamiento","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h4>Introducci\u00f3n<\/h4>\n<p>\nUna vez, la direcci\u00f3n aprob\u00f3 un experimento para implementar telefon\u00eda IP en nuestra oficina. Dado que mi experiencia en este campo era m\u00ednima, la tarea despert\u00f3 un gran inter\u00e9s en m\u00ed y me sumerg\u00ed en el estudio de diversos aspectos del tema. Al final de mi inmersi\u00f3n, decid\u00ed compartir los conocimientos adquiridos, con la esperanza de que a alguien le resulten \u00fatiles. As\u00ed que...<\/p>\n<h4>Datos de entrada<\/h4>\n<p>\nSe eligi\u00f3 e implement\u00f3 Asterisk como la central telef\u00f3nica IP. El parque de tel\u00e9fonos consiste en dispositivos Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 y Dlink DPH-150S(E)\/F3, Yealink T19 y T21. Esta variedad se debe a que, en el marco del experimento, se tom\u00f3 la decisi\u00f3n de probar un poco de todo para formar una opini\u00f3n sobre la relaci\u00f3n precio\/calidad\/comodidad.<\/p>\n<h4>Tarea<\/h4>\n<p>\nSimplificar y unificar al m\u00e1ximo el proceso de configuraci\u00f3n de nuevos dispositivos. Todos los tel\u00e9fonos deben estar sincronizados en el tiempo, tener una agenda telef\u00f3nica que se cargue desde <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/server\/dts-los-angeles\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3475\">servidores<\/a> y proporcionar acceso a la configuraci\u00f3n para el administrador.<\/p>\n<p>La soluci\u00f3n a esta tarea es simple: implementar la configuraci\u00f3n autom\u00e1tica de los tel\u00e9fonos, conocida como Provisioning. De hecho, de eso hablar\u00e9 en relaci\u00f3n a mi implementaci\u00f3n de esta maravillosa funci\u00f3n.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Configuraci\u00f3n de tftpd, dhcpd<\/h4>\n<p>\nPara distribuir la configuraci\u00f3n a los tel\u00e9fonos, eleg\u00ed tftp como opci\u00f3n universal, compatible con todas las plataformas, f\u00e1cil de configurar y gestionar.<\/p>\n<p>No se necesit\u00f3 configuraci\u00f3n espec\u00edfica para tftp. Instal\u00e9 el tftpd est\u00e1ndar y coloqu\u00e9 todos los archivos necesarios en su directorio ra\u00edz.<br \/>\nColoqu\u00e9 los archivos de configuraci\u00f3n en carpetas de acuerdo con el fabricante del tel\u00e9fono. Sin embargo, el dispositivo de Cisco nunca accedi\u00f3 a su carpeta, as\u00ed que tuve que almacenarlo en la ra\u00edz.<\/p>\n<p>Para indicar a los tel\u00e9fonos la ubicaci\u00f3n del servidor tftp, utilic\u00e9 option-66. Adem\u00e1s, los divid\u00ed en clases separadas seg\u00fan el fabricante. Cada clase recibi\u00f3 su propio segmento de direcciones y una carpeta individual para los archivos de configuraci\u00f3n. Por cierto, los dispositivos de D-link tuvieron que ser identificados por sus direcciones MAC, ya que no proporcionan informaci\u00f3n sobre el fabricante en la solicitud dhcp.<\/p>\n<p><b class=\"spoiler_title\">Fragmento de dhcpd.conf<\/b><\/p>\n<pre># \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \noption option-66 code 66 = text;\n\nclass &quot;panasonic&quot; {\n\tmatch if substring (option vendor-class-identifier,0,9) = &quot;Panasonic&quot;;\n\toption option-66 &quot;10.1.1.50\/panasonic\/&quot;;\n}\nclass &quot;cisco&quot; {\n\tmatch if substring (option vendor-class-identifier,0,36) = &quot;Cisco Systems, Inc. IP Phone CP-7906&quot;;\n\toption option-66 &quot;10.1.1.50\/cisco\/&quot;;\n}\n\nclass &quot;grandstream&quot; {\n match if substring (option vendor-class-identifier,0,11) = &quot;Grandstream&quot;;\n option option-66 &quot;10.1.1.50\/grandstream\/&quot;;\n}\n\nclass &quot;dlink&quot; {\n\tmatch if (binary-to-ascii (16,8,&quot;:&quot;,substring(hardware,1,4)) = &quot;c8:d3:a3:8d&quot;) or\n\t(binary-to-ascii (16,8,&quot;:&quot;,substring(hardware,1,4)) = &quot;90:94:e4:72&quot;);\n\toption option-66 &quot;10.1.1.50\/dlink\/&quot;;\n}\n\nclass &quot;yealink&quot; {\n                match if substring (option vendor-class-identifier,0,7) = &quot;Yealink&quot;;\n                option option-66 &quot;10.1.1.50\/yealink\/&quot;;\n        }\n\n<\/pre>\n<p>Los tel\u00e9fonos tuvieron que ser excluidos manualmente del grupo general. De lo contrario, no quer\u00edan ir a su 'rancho'.<br \/>\n<b class=\"spoiler_title\">Ejemplo de configuraci\u00f3n de subred<\/b><\/p>\n<pre>\nsubnet 10.1.1.0 netmask 255.255.255.0 {\n        option routers 10.1.1.1;\n        pool {\n                deny members of \"cisco\";\n                deny members of \"panasonic\";\n                deny members of \"dlink\";\n                range 10.1.1.230 10.1.1.240;\n        }\n        pool {\n                allow members of \"cisco\";\n                range 10.1.1.65 10.1.1.69;\n        }\n        pool {\n                allow members of \"panasonic\";\n                range 10.1.1.60 10.1.1.64;\n        }\n        pool {\n                allow members of \"dlink\";\n                range 10.1.1.55 10.1.1.59;\n        }\n}\n<\/pre>\n<p>Despu\u00e9s de reiniciar todos los servicios involucrados, los tel\u00e9fonos se dirigieron con confianza al servidor tftp asignado para obtener su configuraci\u00f3n. Solo quedaba colocarlos all\u00ed.<\/p>\n<h4>Cisco 7906<\/h4>\n<p>\nEstos dispositivos me llegaron en su embalaje de f\u00e1brica. Tuve que reprogramarlos para que funcionaran con Asterisk. Pero esa es otra historia. En este caso, para configurar el dispositivo, cre\u00e9 en la ra\u00edz del servidor TFTP el archivo SEPAABBCCDDEEFF.cnf.xml, donde AABBCCDDEEFF es la direcci\u00f3n MAC del dispositivo.<\/p>\n<p>Ya se ha escrito sobre la configuraci\u00f3n de los tel\u00e9fonos Cisco varias veces, as\u00ed que simplemente dejar\u00e9 el archivo de configuraci\u00f3n funcional.<br \/>\n<b class=\"spoiler_title\">Configuraciones para cisco<\/b><\/p>\n<pre>\ntrue\n SIP\n root\n ADMIN_PWD\n\n \n D-M-Y\n Hora est\u00e1ndar del Pac\u00edfico Central\n     \n         \n             10.1.1.4\n              Unicast\n          \n     \n \n\n   \n 10.1.1.50\n \n 2000\n 5060\n 5061\n \n 10.1.1.50\n   \n \n\n Desactivar\n\n\n120\n \n\n \n true\n x-cisco-serviceuri-cfwdall\n x-cisco-serviceuri-pickup\n x-cisco-serviceuri-opickup\n x-cisco-serviceuri-gpickup\n x-cisco-serviceuri-meetme\n x-cisco-serviceuri-abbrdial\n false\n 2\n true\n true\n 2\n 2\n 0\n true\n false\n \n \n 6\n 10\n 180\n 3600\n 5\n 120\n 120\n 5\n 500\n 4000\n 70\n true\n None\n \n1\n false\n true\n false\n false\n none\n 101\n 3\navt\n 3\n false\n false\n Tel\u00e9fono Cisco\n 2\n false\n 15000\n10\n true\n false\n 16384\n 32766\n\n \n 9\n 10.1.1.50\n 5060\n  2 \n 3\n false\n 3\n \n 4\n 5\n \n true\n true\n false\n true\n \n\n Usuario #103\n 103\n 103\n SIP_PWD\n \n \n$num\n5060\n 184\n 0\n dialplan.xml\n \n\n *0#\n true\n 2\n \n\n\n false\n false\n 1\n 0\n 1\n 0\n 0\n 0\n 1\n 0\n 1,7\n 09:00\n 12:00\n 01:00\n 1\n 2\n 10.1.1.50\n 0\n 100\n 50\n \n 0\n 0\n 5\n 1\n 10.1.1.50\n 0\n 0\n 0\n 0\n 0\n 0\n 1\n 1\n \n1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37\n\n Ruso_Federaci\u00f3n Rusa\n ru_RU\n \n utf-8\n \n\n \n \n \n \n1\n 0\n \n http:\/\/10.1.1.50\/provisioning\/cisco-services.xml\n \n \n \n \n http:\/\/10.1.1.50\/provisioning\/cisco-services.xml\n 96\n 0\n 96\n 2\n 0\n 0\n \n 3804\n &lt;!-- 10.1.1.50 --&gt;\n  \n\n false\n 1\n<\/pre>\n<p><\/p>\n<h4>D-Link DPH-150S\/F3<\/h4>\n<p>\nSi est\u00e1s a punto de comprar un tel\u00e9fono de esta serie, ten cuidado, la auto-configuraci\u00f3n solo es compatible con los dispositivos 150S\/F3. En el dispositivo 150S\/F2 que tengo, no encontr\u00e9 esa funcionalidad.<\/p>\n<p>El archivo de configuraci\u00f3n puede estar en formato xml o texto plano. Para xml, hay un requisito: la etiqueta debe estar al principio de la l\u00ednea, de lo contrario, el parser la ignorar\u00e1 y el valor del par\u00e1metro correspondiente no cambiar\u00e1.<\/p>\n<p>Para configurar el tel\u00e9fono se utilizan dos archivos. f0D00580000.cfg \u2014 para el almacenamiento de la configuraci\u00f3n de todos los tel\u00e9fonos y 00112233aabb.cfg (direcci\u00f3n MAC en min\u00fasculas) para la configuraci\u00f3n individual. Las configuraciones individuales, por supuesto, tienen mayor prioridad.<\/p>\n<p>El conjunto completo de configuraciones cuenta con m\u00e1s de mil l\u00edneas; para no abrumar el art\u00edculo, describir\u00e9 un conjunto m\u00ednimo y necesario de configuraciones. <\/p>\n<p>Obligatorio es el nodo ra\u00edz <b>VOIP_CONFIG_FILE<\/b> y el nodo anidado, <b>version<\/b>. Las configuraciones se aplicar\u00e1n solo si la versi\u00f3n del archivo es superior a la de las configuraciones actuales en el dispositivo. Puedes conocer este valor a trav\u00e9s de la interfaz web del tel\u00e9fono en la secci\u00f3n de mantenimiento (gesti\u00f3n del sistema). Para tel\u00e9fonos con configuraciones de f\u00e1brica, en ambos casos es 2.0002. Adem\u00e1s, la versi\u00f3n del archivo individual debe ser mayor que la del archivo general.<\/p>\n<p>Primero proporcionar\u00e9 el archivo con la configuraci\u00f3n general para todos los tel\u00e9fonos. En esencia, almacena todas las configuraciones, el archivo individual solo se encargar\u00e1 del n\u00famero de tel\u00e9fono y de la inscripci\u00f3n en la pantalla. <\/p>\n<p>En los dos bloques que se presentan a continuaci\u00f3n, se establecen los par\u00e1metros de zona horaria y sincronizaci\u00f3n de tiempo, el puerto inicial para RTP y se activa el puente de red entre los puertos WAN y LAN del dispositivo.<\/p>\n<p><b class=\"spoiler_title\">Fragmento n\u00ba 1<\/b><\/p>\n<pre>\nDHCP\n2\n1\n1\n0\nVOIP\n10000\n200\n10.1.1.4\n1\n<time>71<\/time>\n<time>UCT_011<\/time>\n0\n60\n12\n1500\n\n\n1\n1\n<\/pre>\n<p>Los nombres de los par\u00e1metros de configuraci\u00f3n son lo suficientemente \"elocuentes\" como para no ser descritos en detalle.<br \/>\n<b class=\"spoiler_title\">SIP para una l\u00ednea<\/b><\/p>\n<pre>\n5060\n\n\nSIP1\n10.1.1.50\n5060\n3600\n1\n10.1.1.50\n1\n0\nG711A,G711U,G722\n<\/pre>\n<p><b class=\"spoiler_title\">Configuraciones de control remoto<\/b><\/p>\n<pre>\n23\n80\n0\n443\n1\n0\n\n\n\nItem1\n10.1.1.152\n10.1.1.160\n\n\n\n\nAccount1\nadmin\nADMIN_PWD\n10\n\n\nAccount2\nguest\nGUEST_PWD\n5\n<\/pre>\n<p><b class=\"spoiler_title\">Configuraciones del tel\u00e9fono<\/b><\/p>\n<pre>\n<menu>123<\/menu>\n123\n\n0\n112\nCompany\n5\n1\n30\n0\n<time>0<\/time>\n1\n0,,1\n0\n0\n1\n\n\nXML-PBook1\nPhonebook\nhttp:\/\/10.1.1.50\/provisioning\/dlink-phonebook.xml\n:\n0\n0\n\n\nfriend,home,work,business,classmate,colleague\n<\/pre>\n<p>Todas las dem\u00e1s configuraciones quedar\u00e1n \"por defecto\". Ahora, cualquier tel\u00e9fono Dlink conectado a la red aceptar\u00e1 inmediatamente el conjunto de par\u00e1metros com\u00fan a todos. Para establecer par\u00e1metros individuales para un dispositivo, se necesita un archivo separado. Solo es necesario indicar las configuraciones requeridas para el abonado espec\u00edfico.<br \/>\n<b class=\"spoiler_title\">configuraciones del abonado<\/b><\/p>\n<pre>\n2.0006\n\n\n\nSIP1\nUsuario #117\n117\n5060\n117\nSIP_PWD\n3600\n1\n5060\n117\nSIP_PWD\n<\/pre>\n<h4>Panasonic UT-KX123B<\/h4>\n<p>\nEstos dispositivos reciben configuraciones de una manera ligeramente diferente. La configuraci\u00f3n se almacena en archivos de texto. El tama\u00f1o m\u00e1ximo del archivo de configuraci\u00f3n es de 120 KB. Independientemente de la cantidad de archivos, su tama\u00f1o total no debe exceder los 120 KB.<br \/>\nEl archivo de configuraci\u00f3n consta de un conjunto de l\u00edneas, a las que se aplican las siguientes condiciones:<\/p>\n<ul>\n<li>La primera siempre es una l\u00ednea de comentario, que incluye la siguiente secuencia de caracteres (44 bytes):<br \/>\n# Panasonic SIP Phone Standard Format File #<br \/>\nLa representaci\u00f3n hexadecimal de esta secuencia:<br \/>\n23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6E 65 20 53 74 61 6E 64 61 72 64 20 46 6F 72 6D 61 74 20 46 69 6C 65 20 23<br \/>\nPara evitar la modificaci\u00f3n accidental de la secuencia de caracteres establecida, se recomienda comenzar el archivo de configuraci\u00f3n con la l\u00ednea:<br \/>\n# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!\n<\/li>\n<li>Los archivos de configuraci\u00f3n deben terminar con una l\u00ednea en blanco.<\/li>\n<li>Cada l\u00ednea debe terminar con la secuencia \"\".<\/li>\n<li>La longitud m\u00e1xima de la l\u00ednea es de 537 bytes, incluyendo la secuencia \"\".<\/li>\n<li>Las siguientes l\u00edneas se ignoran:\n<ul>\n<li>l\u00edneas que superan el l\u00edmite de 537 bytes;<\/li>\n<li>l\u00edneas en blanco;<\/li>\n<li>l\u00edneas de comentario que comienzan con el s\u00edmbolo \"#\";<\/li>\n<\/ul>\n<\/li>\n<li>La l\u00ednea de cada par\u00e1metro se escribe en la forma XXX=\"yyy\" (XXX: nombre del par\u00e1metro, yyy: su valor). El valor debe ir entre comillas dobles.<\/li>\n<li>No se permite dividir la l\u00ednea de par\u00e1metros en varias l\u00edneas. Esto resultar\u00e1 en un error al procesar el archivo de configuraci\u00f3n y, en consecuencia, en una falla durante la inicializaci\u00f3n.<\/li>\n<li>Los valores de algunos par\u00e1metros deben especificarse por separado para cada l\u00ednea. El par\u00e1metro con el sufijo \"_1\" en el nombre es para la l\u00ednea 1; \"_2\" para la l\u00ednea 2, etc.<\/li>\n<li>La longitud m\u00e1xima del nombre de un par\u00e1metro es de 32 caracteres.<\/li>\n<li>La longitud m\u00e1xima del valor de un par\u00e1metro es de 500 caracteres, excepto los caracteres de comillas dobles.<\/li>\n<li>No se permiten espacios en la cadena, excepto cuando el valor incluye un car\u00e1cter de espacio. <\/li>\n<li>Se pueden especificar valores para algunos par\u00e1metros como 'vac\u00edos' para establecer un valor vac\u00edo del par\u00e1metro.<\/li>\n<li>Los par\u00e1metros se especifican sin un orden definido.<\/li>\n<li>Si se especifica el mismo par\u00e1metro m\u00e1s de una vez en el archivo de configuraci\u00f3n, se aplicar\u00e1 el valor especificado primero.<\/li>\n<\/ul>\n<p>Este conjunto de requisitos para el archivo de configuraci\u00f3n, francamente, me ha decepcionado. En mi opini\u00f3n, la implementaci\u00f3n de la gesti\u00f3n de los <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/server\/dts-prohoster\/\"   title=\"el servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2960\">el servidor<\/a> tel\u00e9fonos Panasonic es extremadamente inc\u00f3moda. En este aspecto, el tel\u00e9fono pierde significativamente frente a los dem\u00e1s.<br \/>\nAl encender el dispositivo por primera vez (o despu\u00e9s de restablecer a la configuraci\u00f3n de f\u00e1brica), intenta cargar el llamado archivo de producto (en este caso es KX-UT123RU.cfg), que debe contener las rutas a los dem\u00e1s archivos de configuraci\u00f3n.<br \/>\n<b class=\"spoiler_title\">Archivo de producto<\/b># Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!<\/p>\n<p>CFG_STANDARD_FILE_PATH=\u00abtftp:\/\/10.1.1.50\/panasonic\/{mac}.cfg\u00bb<br \/>\nCFG_PRODUCT_FILE_PATH=\u00abtftp:\/\/10.1.1.50\/panasonic\/KX-UT123RU.cfg\u00bb<br \/>\nCFG_MASTER_FILE_PATH=\u00abtftp:\/\/10.1.1.50\/panasonic\/master.cfg\u00bb<\/p>\n<p>Despu\u00e9s de esto, el tel\u00e9fono mostrar\u00e1 un mensaje en la pantalla indicando que la preparaci\u00f3n se ha completado con \u00e9xito y esperar\u00e1 a que lo reinicien. Despu\u00e9s de reiniciar, comenzar\u00e1 a procesar los archivos de configuraci\u00f3n que tiene asignados.<\/p>\n<p>En el archivo master.cfg, se recomienda especificar configuraciones comunes para todos los tel\u00e9fonos. Al igual que en el caso de Dlink, solo indicar\u00e9 algunos par\u00e1metros. Los nombres de los otros par\u00e1metros y sus valores se pueden encontrar en la documentaci\u00f3n en el sitio web del fabricante.<br \/>\n<b class=\"spoiler_title\">master.cfg<\/b>############################################################<br \/>\n# System Settings #<br \/>\n############################################################<br \/>\n## Login Account Settings<br \/>\nADMIN_ID=\u00abadmin\u00bb<br \/>\nADMIN_PASS=\u00abADMIN_PWD\u00bb<br \/>\nUSER_ID=\u00abuser\u00bb<br \/>\nUSER_PASS=\u00abUSER_PWD\u00bb<\/p>\n<p>## System Time Settings<br \/>\nNTP_ADDR=\u00ab10.1.1.4\u00bb<br \/>\nTIME_ZONE=\u00ab660\u00bb<br \/>\nDST_ENABLE=\u00abN\u00bb<br \/>\nDST_OFFSET=\u00ab60\u00bb<br \/>\nDST_START_MONTH=\u00ab3\u00bb<br \/>\nDST_START_ORDINAL_DAY=\u00ab2\u00bb<br \/>\nDST_START_DAY_OF_WEEK=\u00ab0\u00bb<br \/>\nDST_START_TIME=\u00ab120\u00bb<br \/>\nDST_STOP_MONTH=\u00ab10\u00bb<br \/>\nDST_STOP_ORDINAL_DAY=\u00ab2\u00bb<br \/>\nDST_STOP_DAY_OF_WEEK=\u00ab0\u00bb<br \/>\nDST_STOP_TIME=\u00ab120\u00bb<br \/>\nLOCAL_TIME_ZONE_POSIX=\"\"<\/p>\n<p>## Syslog Settings<br \/>\nSYSLOG_ADDR=\u00ab10.1.1.50\u00bb<br \/>\nSYSLOG_PORT=\u00ab514\u00bb<br \/>\nSYSLOG_EVENT_SIP=\u00ab6\u00bb<br \/>\nSYSLOG_EVENT_CFG=\u00ab6\u00bb<br \/>\nSYSLOG_EVENT_VOIP=\u00ab6\u00bb<br \/>\nSYSLOG_EVENT_TEL=\u00ab6\u00bb<\/p>\n<p>## Provisioning Settings<br \/>\nOPTION66_ENABLE=\u00abY\u00bb<br \/>\nOPTION66_REBOOT=\u00abN\u00bb<br \/>\nPROVISION_ENABLE=\u00abY\u00bb<br \/>\nCFG_STANDARD_FILE_PATH=\u00abtftp:\/\/10.1.1.50\/panasonic\/{mac}.cfg\u00bb<br \/>\nCFG_PRODUCT_FILE_PATH=\u00abtftp:\/\/10.1.1.50\/panasonic\/KX-UT123RU.cfg\u00bb<br \/>\nCFG_MASTER_FILE_PATH=\u00abtftp:\/\/10.1.1.50\/panasonic\/master.cfg\u00bb<\/p>\n<p>############################################################<br \/>\n# Network Settings #<br \/>\n############################################################<br \/>\n## IP Settings<br \/>\nCONNECTION_TYPE=\u00ab1\u00bb<br \/>\nHOST_NAME=\u00abUT123\u00bb<br \/>\nDHCP_DNS_ENABLE=\u00abY\u00bb<br \/>\nSTATIC_IP_ADDRESS=\"\"<br \/>\nSTATIC_SUBNET=\"\"<br \/>\nSTATIC_GATEWAY=\"\"<br \/>\nUSER_DNS1_ADDR=\"\"<br \/>\nUSER_DNS2_ADDR=\"\"<\/p>\n<p>## DNS Settings<br \/>\nDNS_QRY_PRLL=\u00abY\u00bb<br \/>\nDNS_PRIORITY=\u00abN\u00bb<br \/>\nDNS1_ADDR=\u00ab10.1.1.1\u00bb<br \/>\nDNS2_ADDR=\"\"<\/p>\n<p>## HTTP Settings<br \/>\nHTTPD_PORTOPEN_AUTO=\u00abY\u00bb<br \/>\nHTTP_VER=\u00ab1\u00bb<br \/>\nHTTP_USER_AGENT=\u00abPanasonic_{MODEL}\/{fwver} ({mac})\u00bb<br \/>\nHTTP_SSL_VERIFY=\u00ab0\u00bb<br \/>\nCFG_ROOT_CERTIFICATE_PATH=\"\"<\/p>\n<p>## XML Application Settings<br \/>\nXML_HTTPD_PORT=\u00ab6666\u00bb<br \/>\nXMLAPP_ENABLE=\u00abY\u00bb<br \/>\nXMLAPP_USERID=\"\"<br \/>\nXMLAPP_USERPASS=\"\"<br \/>\nXMLAPP_START_URL=\"\"<br \/>\nXMLAPP_INITIAL_URL=\" \"<br \/>\nXMLAPP_INCOMING_URL=\"\"<br \/>\nXMLAPP_TALKING_URL=\"\"<br \/>\nXMLAPP_MAKECALL_URL=\"\"<br \/>\nXMLAPP_CALLLOG_URL=\"\"<br \/>\nXMLAPP_IDLING_URL=\"\"<br \/>\nXMLAPP_LDAP_URL=\u00ab<noindex>10.1.1.50\/provisioning\/panasonic-phonebook.xml<\/noindex>\u00bb<br \/>\nXMLAPP_LDAP_USERID=\"\"<br \/>\nXMLAPP_LDAP_USERPASS=\"\"<\/p>\n<p>En el archivo de configuraci\u00f3n individual del dispositivo, por tradici\u00f3n, solo se mantienen los ajustes del abonado.<br \/>\n<b class=\"spoiler_title\">aabbccddeeff.cfg<\/b>DISPLAY_NAME_1=\u00abUsuario #168\u00bb<\/p>\n<p>PHONE_NUMBER_1=\u00ab168\u00bb<br \/>\nSIP_URI_1=\u00ab168\u00bb<br \/>\nLINE_ENABLE_1=\u00abHabilitado\u00bb<br \/>\nPROFILE_ENABLE_1=\u00abHabilitado\u00bb<br \/>\nSIP_AUTHID_1=\u00ab168\u00bb<br \/>\nSIP_PASS_1=\u00abSIP_PWD\u00bb<\/p>\n<p><\/p>\n<h4>Grandstream GXP-1400<\/h4>\n<p>\nLos par\u00e1metros de estos tel\u00e9fonos se almacenan en un \u00fanico archivo xml llamado cfg{mac}.xml. O en un archivo de texto normal llamado cfg{mac}. Este tel\u00e9fono solo solicita el archivo de configuraci\u00f3n individual, por lo que optimizar los ajustes al sacarlos a un archivo com\u00fan no ser\u00e1 posible. Otra caracter\u00edstica de la configuraci\u00f3n de los Grandstream es la nomenclatura de los par\u00e1metros. Todos est\u00e1n numerados y se designan como P###. Por ejemplo:<\/p>\n<p>P1650 \u2013 se encarga de la interfaz web para gestionar el tel\u00e9fono (0 \u2013 HTTPS, 1 \u2013 HTTP)<br \/>\nP47 \u2013 direcci\u00f3n del servidor SIP para la conexi\u00f3n.<\/p>\n<p>Si la configuraci\u00f3n se almacena en un archivo de texto, los par\u00e1metros no requieren ning\u00fan agrupamiento y pueden ir en cualquier orden. Las l\u00edneas que comienzan con # se consideran comentarios.<\/p>\n<p>Si los ajustes se presentan en formato xml, deben estar anidados dentro del nodo , que a su vez debe estar anidado dentro de . Todos los par\u00e1metros se registran en forma de etiquetas correspondientes con el valor del par\u00e1metro dentro.<br \/>\n<b class=\"spoiler_title\">Ejemplo de configuraci\u00f3n<\/b><\/p>\n<pre>\n1\n    <!-- Nombre de la cuenta. No puede estar vac\u00edo. -->\n    109\n    <!-- SIP User ID -->\n    109\n    <!-- Authenticate ID -->\n    109\n    <!-- Authenticate password -->\n    SIP_PWD\n    <!-- Display Name (John Doe) -->\n    Usuario# 109\n<!-- Configuraci\u00f3n com\u00fan -->\n        10.1.1.50\n        2\n   10.1.1.50<!-- servidor sip de la l\u00ednea 1 -->\n   0<!-- L\u00ednea 2 desactivada -->\n   ADMIN_PWD<!-- contrase\u00f1a de administrador -->\n   USER_PWD<!-- contrase\u00f1a de consola web del usuario -->\n   es<!-- idioma de visualizaci\u00f3n -->\n        0<!-- Actualizar desde TFTP -->\n        10.1.1.50\/grandstream\n   1<!-- bloquear configuraci\u00f3n a trav\u00e9s del tel\u00e9fono (solo b\u00e1sico)-->\n   TZc-11<!-- zona horaria -->\n   10.1.1.4<!-- servidor NTP -->\n        1<!-- Descargar PB desde HTTP -->\n        http:\/\/10.1.1.50\/provisioning\/grandstream<!-- URL base del libro de tel\u00e9fonos -->\n        30<!-- Actualizaci\u00f3n autom\u00e1tica del PB en 30 min -->\n<\/pre>\n<h4>Yealink T19 y T21<\/h4>\n<p>\nLos dispositivos de estos modelos admiten archivos de configuraci\u00f3n individuales para dispositivos y archivos comunes para modelos. En mi caso, tuve que ubicar los par\u00e1metros generales en los archivos y000000000031.cfg y y000000000034.cfg respectivamente. Los archivos de configuraci\u00f3n individuales se nombran de acuerdo con la direcci\u00f3n MAC: 00112233aabb.cfg.<\/p>\n<p>La configuraci\u00f3n para los tel\u00e9fonos Yealink se almacena en formato de texto. Los \u00fanicos requisitos obligatorios son la presencia en la primera l\u00ednea de la versi\u00f3n del archivo, en el formato #!version:1.0.0.1.<\/p>\n<p>Todos los par\u00e1metros se registran en el formato par\u00e1metro = valor. Los comentarios deben comenzar con el s\u00edmbolo \"#\". Los nombres de los par\u00e1metros y sus valores se pueden encontrar en la documentaci\u00f3n del sitio del fabricante.<br \/>\n<b class=\"spoiler_title\">configuraci\u00f3n general<\/b>#!version:1.0.0.1<br \/>\n#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address;<br \/>\nnetwork.internet_port.type = 0<br \/>\n#Configure the PC port type; 0-Router, 1-Bridge (default);<br \/>\nnetwork.bridge_mode = 1<br \/>\n#Configure the access type of the web server; 0-Disabled, 1-HTTP &#038; HTTPS(default), 2-HTTP Only, 3-HTTPS Only;<br \/>\nnetwork.web_server_type = 3<br \/>\n#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800.<br \/>\nnetwork.port.max_rtpport = 10100<br \/>\n#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780.<br \/>\nnetwork.port.min_rtpport = 10000<br \/>\nsecurity.user_name.admin = root<br \/>\nsecurity.user_password = root:ADMIN_PWD<br \/>\nsecurity.user_name.user = user<br \/>\nsecurity.user_password = user:USER_PWD<br \/>\n#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech.<br \/>\nlang.wui = Ruso<br \/>\n#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese.<br \/>\nlang.gui = Ruso<br \/>\n#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8.<br \/>\n#The default time zone name is China(Beijing).<br \/>\n#Refer to Yealink IP Phones User Guide for more available time zones and time zone names.<br \/>\nlocal_time.time_zone = +11<br \/>\nlocal_time.time_zone_name = Vladivostok<br \/>\n#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org.<br \/>\nlocal_time.ntp_server1 = 10.1.1.4<br \/>\n#Configure the logo mode of the LCD screen; 0-Disabled (default), 1-System logo, 2-Custom logo;<br \/>\nphone_setting.lcd_logo.mode = 1<br \/>\n#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5.<br \/>\nremote_phonebook.data.1.url = <noindex>10.1.1.50\/provisioning\/yealink-phonebook.xml<\/noindex><br \/>\nremote_phonebook.data.1.name = Agenda telef\u00f3nica<br \/>\nfeatures.remote_phonebook.flash_time = 3600<\/p>\n<p>\n<b class=\"spoiler_title\">configuraciones individuales<\/b>#!version:1.0.0.1<br \/>\n#Enable or disable the account1, 0-Disabled (default), 1-Enabled;<br \/>\naccount.1.enable = 1<br \/>\n#Configure the label displayed on the LCD screen for account1.<br \/>\naccount.1.label = Tel\u00e9fono de prueba<br \/>\n#Configure the display name of account1.<br \/>\naccount.1.display_name = Usuario 998<br \/>\n#Configure the username and password for register authentication.<br \/>\naccount.1.auth_name = 998<br \/>\naccount.1.password = 998<br \/>\n#Configure the register user name.<br \/>\naccount.1.user_name = 998<br \/>\n#Configure the SIP server address.<br \/>\naccount.1.sip_server_host = 10.1.1.50<br \/>\n#Specify the port for the SIP server. The default value is 5060.<br \/>\naccount.1.sip_server_port = 5060<\/p>\n<p>\nComo resultado, gracias a la maravillosa funci\u00f3n de auto-provisionamiento, prevista en los tel\u00e9fonos que mencion\u00e9, no hubo ning\u00fan problema al conectar nuevos dispositivos a la red. Todo se redujo a averiguar la direcci\u00f3n MAC del tel\u00e9fono y generar el archivo de configuraci\u00f3n por plantilla. <\/p>\n<p>Espero que hayas le\u00eddo hasta el final y hayas sacado provecho de lo le\u00eddo.<\/p>\n<p>Gracias por su atenci\u00f3n.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/237951\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u041e\u0434\u043d\u0430\u0436\u0434\u044b \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043e\u0434\u043e\u0431\u0440\u0438\u043b\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e IP \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0442\u043e\u0440\u0435. \u0422\u0430\u043a \u043a\u0430\u043a \u043c\u043e\u0439 \u043e\u043f\u044b\u0442 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0431\u044b\u043b \u043c\u0438\u0437\u0435\u0440\u043d\u044b\u043c, \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u0440\u043e\u0431\u0443\u0434\u0438\u043b\u0430 \u0432\u043e \u043c\u043d\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u0438 \u044f \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f \u0432 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u0432\u043e\u043f\u0440\u043e\u0441\u0430. \u041f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438 \u2014 \u0432 \u043d\u0430\u0434\u0435\u0436\u0434\u0435, \u0447\u0442\u043e \u043a\u043e\u043c\u0443-\u0442\u043e \u043e\u043d\u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f. \u0418\u0442\u0430\u043a\u2026 \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 IP-\u0410\u0422\u0421 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-30399","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u041e\u0434\u043d\u0430\u0436\u0434\u044b \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043e\u0434\u043e\u0431\u0440\u0438\u043b\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e IP \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0442\u043e\u0440\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/voip-zoopark-provisioning\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47VoIP \u0437\u043e\u043e\u043f\u0430\u0440\u043a \u2014 Provisioning | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u041e\u0434\u043d\u0430\u0436\u0434\u044b \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043e\u0434\u043e\u0431\u0440\u0438\u043b\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e IP \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0442\u043e\u0440\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/voip-zoopark-provisioning\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:35:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:35:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Zoo VoIP \u2014 Provisioning | ProHoster","description":"Introducci\u00f3n Una vez, la direcci\u00f3n aprob\u00f3 un experimento para implementar la telefon\u00eda IP en nuestra oficina.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/voip-zoopark-provisioning","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47VoIP \u0437\u043e\u043e\u043f\u0430\u0440\u043a \u2014 Provisioning | ProHoster","og:description":"\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u041e\u0434\u043d\u0430\u0436\u0434\u044b \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043e\u0434\u043e\u0431\u0440\u0438\u043b\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e IP \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0438\u0438 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043d\u0442\u043e\u0440\u0435.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/voip-zoopark-provisioning","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:35:20+00:00","article:modified_time":"2019-10-31T18:35:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30399","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-22 15:31:07","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:35:24","updated":"2026-02-22 15:31:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/30399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=30399"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/30399\/revisions"}],"predecessor-version":[{"id":162001,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/30399\/revisions\/162001"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=30399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=30399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=30399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}