{"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\/pt\/blog\/news\/voip-zoopark-provisioning","title":{"rendered":"Sonata \u2014 servidor de provisionamento SIP","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h4>Introdu\u00e7\u00e3o<\/h4>\n<p>\nCerta vez, a administra\u00e7\u00e3o aprovou um experimento para implementar telefonia IP na nossa empresa. Como minha experi\u00eancia nessa \u00e1rea era m\u00ednima, a tarefa despertou em mim um enorme interesse, e me dediquei a estudar diversos aspectos do assunto. Ao final desse aprendizado, decidi compartilhar os conhecimentos adquiridos, na esperan\u00e7a de que possam ser \u00fateis para algu\u00e9m. Ent\u00e3o...<\/p>\n<h4>Dados de origem<\/h4>\n<p>\nPara a IP-PBX, foi escolhido e implementado o Asterisk. O parque de telefones consiste em dispositivos Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 e Dlink DPH-150S(E)\/F3, Yealink T19 e T21. Essa variedade se deve ao fato de que, dentro do experimento, tomamos a decis\u00e3o de experimentar um pouco de tudo, para formar nossa pr\u00f3pria opini\u00e3o sobre a rela\u00e7\u00e3o pre\u00e7o\/qualidade\/conveni\u00eancia.<\/p>\n<h4>Tarefa<\/h4>\n<p>\nMaximizar a simplicidade e a padroniza\u00e7\u00e3o do processo de configura\u00e7\u00e3o de novos aparelhos. Todos os telefones devem estar sincronizados em hor\u00e1rio, ter uma lista de contatos carregada a partir de <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-los-angeles\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3475\">servidor<\/a> e fornecer acesso \u00e0s configura\u00e7\u00f5es para o administrador.<\/p>\n<p>A solu\u00e7\u00e3o para essa tarefa \u00e9 simples \u2014 implementar a configura\u00e7\u00e3o autom\u00e1tica dos telefones, o chamado Provisioning. De fato, \u00e9 sobre a minha implementa\u00e7\u00e3o dessa excelente fun\u00e7\u00e3o que vamos falar.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Configura\u00e7\u00e3o tftpd, dhcpd<\/h4>\n<p>\nPara distribuir as configura\u00e7\u00f5es aos telefones, escolhi o tftp como uma op\u00e7\u00e3o universal, suportada por todas as plataformas, f\u00e1cil de configurar e administrar.<\/p>\n<p>N\u00e3o foi necess\u00e1ria uma configura\u00e7\u00e3o espec\u00edfica para o tftp. Instalei o tftpd padr\u00e3o e coloquei todos os arquivos necess\u00e1rios em seu diret\u00f3rio raiz.<br \/>\nOs arquivos de configura\u00e7\u00e3o foram organizados em pastas de acordo com o fabricante do telefone. No entanto, o aparelho da Cisco n\u00e3o acessou sua pasta, por isso, tive que armazen\u00e1-lo na raiz.<\/p>\n<p>Para indicar aos telefones a localiza\u00e7\u00e3o do servidor tftp, utilizei a op\u00e7\u00e3o 66. Al\u00e9m disso, os dividi em classes separadas por fabricante. Cada classe recebeu seu pr\u00f3prio segmento de endere\u00e7os e uma pasta individual para os arquivos de configura\u00e7\u00e3o. Vale mencionar que os aparelhos da D-link tiveram que ser identificados pelos endere\u00e7os MAC, j\u00e1 que n\u00e3o fornecem informa\u00e7\u00f5es sobre o fabricante na solicita\u00e7\u00e3o DHCP.<\/p>\n<p><b class=\"spoiler_title\">Trecho do 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>Os telefones tiveram que ser exclu\u00eddos manualmente do pool geral. Caso contr\u00e1rio, eles n\u00e3o conseguiam se conectar \u00e0 sua \u2018piscina de sapos\u2019.<br \/>\n<b class=\"spoiler_title\">Exemplo de configura\u00e7\u00f5es de sub-rede<\/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>Ap\u00f3s reiniciar todos os servi\u00e7os envolvidos, os telefones foram diretamente ao servidor tftp para buscar as configura\u00e7\u00f5es que lhes eram devidas. S\u00f3 restava coloc\u00e1-los l\u00e1.<\/p>\n<h4>Cisco 7906<\/h4>\n<p>\nEstes dispositivos foram recebidos na embalagem de f\u00e1brica. Tive que reprogram\u00e1-los para funcionarem com o Asterisk. Mas isso \u00e9 outra hist\u00f3ria. No caso espec\u00edfico, para configurar o dispositivo, conforme as instru\u00e7\u00f5es, criei no diret\u00f3rio raiz do servidor TFTP o arquivo SEPAABBCCDDEEFF.cnf.xml. Onde AABBCCDDEEFF \u00e9 o endere\u00e7o MAC do dispositivo.<\/p>\n<p>J\u00e1 foram escritas muitas informa\u00e7\u00f5es sobre a configura\u00e7\u00e3o de telefones Cisco, por isso, vou apenas deixar o arquivo de configura\u00e7\u00f5es funcionando.<br \/>\n<b class=\"spoiler_title\">Configura\u00e7\u00f5es para cisco<\/b><\/p>\n<pre>\ntrue\n SIP\n root\n ADMIN_PWD\n\n \n D-M-Y\n Hora Padr\u00e3o do 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 Desativar\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 Nenhum\n \n1\n false\n true\n false\n false\n none\n 101\n 3\navt\n 3\n false\n false\n Telefone 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 Usu\u00e1rio #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 Russo_R\u00fassia\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>\nSe voc\u00ea est\u00e1 prestes a adquirir um telefone desta s\u00e9rie, tenha cuidado, a configura\u00e7\u00e3o autom\u00e1tica \u00e9 suportada apenas nos dispositivos 150S\/F3. No dispositivo 150S\/F2 que eu obtive, essa funcionalidade n\u00e3o foi encontrada.<\/p>\n<p>O arquivo de configura\u00e7\u00e3o pode estar em formato XML ou texto comum. Para XML, h\u00e1 um requisito: a tag deve estar no in\u00edcio da linha, caso contr\u00e1rio, o parser a ignorar\u00e1 e o valor do par\u00e2metro correspondente n\u00e3o ser\u00e1 alterado.<\/p>\n<p>Para configurar o telefone, s\u00e3o utilizados dois arquivos. f0D00580000.cfg \u2014 para armazenar as configura\u00e7\u00f5es de todos os telefones e 00112233aabb.cfg (endere\u00e7o MAC em letras min\u00fasculas) para configura\u00e7\u00f5es individuais. As configura\u00e7\u00f5es individuais, naturalmente, t\u00eam prioridade maior.<\/p>\n<p>O conjunto completo de configura\u00e7\u00f5es consiste em mais de mil linhas, para n\u00e3o sobrecarregar o artigo, descreverei o conjunto m\u00ednimo necess\u00e1rio de configura\u00e7\u00f5es. <\/p>\n<p>Os n\u00f3s obrigat\u00f3rios s\u00e3o a raiz <b>VOIP_CONFIG_FILE<\/b> e o n\u00f3 contido nele <b>version<\/b>. As configura\u00e7\u00f5es ser\u00e3o aplicadas apenas se a vers\u00e3o do arquivo for superior \u00e0 das configura\u00e7\u00f5es atuais no dispositivo. Esse valor pode ser encontrado atrav\u00e9s da interface web do telefone na se\u00e7\u00e3o de manuten\u00e7\u00e3o (gerenciamento do sistema). Para telefones com configura\u00e7\u00f5es de f\u00e1brica, em ambos os casos, isso \u00e9 2.0002. Al\u00e9m disso, a vers\u00e3o do arquivo individual deve ser maior que a vers\u00e3o do arquivo geral.<\/p>\n<p>Primeiro, apresento o arquivo com a configura\u00e7\u00e3o geral para todos os telefones. Na verdade, ele armazena todas as configura\u00e7\u00f5es, enquanto o arquivo individual ser\u00e1 respons\u00e1vel apenas pelo n\u00famero de telefone e pela mensagem na tela. <\/p>\n<p>Nos dois blocos apresentados abaixo, s\u00e3o definidos os par\u00e2metros de fuso hor\u00e1rio e sincroniza\u00e7\u00e3o de tempo, a porta inicial para RTP e \u00e9 ativada a ponte de rede entre as portas WAN e LAN do 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>Os nomes dos par\u00e2metros de configura\u00e7\u00e3o s\u00e3o suficientemente \"descritivos\" para n\u00e3o necessitarem de uma descri\u00e7\u00e3o detalhada.<br \/>\n<b class=\"spoiler_title\">SIP para uma linha<\/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\">Configura\u00e7\u00f5es de gerenciamento 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\">Configura\u00e7\u00f5es do telefone<\/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 as outras configura\u00e7\u00f5es permanecer\u00e3o \"por padr\u00e3o\". Agora, qualquer telefone Dlink conectado \u00e0 rede aceitar\u00e1 imediatamente um conjunto padr\u00e3o de par\u00e2metros. Para definir par\u00e2metros individuais para o aparelho, um arquivo separado \u00e9 necess\u00e1rio. Nele, \u00e9 preciso especificar apenas as configura\u00e7\u00f5es necess\u00e1rias para cada assinante.<br \/>\n<b class=\"spoiler_title\">configura\u00e7\u00f5es do assinante<\/b><\/p>\n<pre>\n2.0006\n\n\n\nSIP1\nUsu\u00e1rio #117\n117\n5060\n117\nSIP_PWD\n3600\n1\n5060\n117\nSIP_PWD\n<\/pre>\n<h4>Panasonic UT-KX123B<\/h4>\n<p>\nEsses dispositivos obt\u00eam configura\u00e7\u00f5es de uma maneira um pouco diferente. A configura\u00e7\u00e3o \u00e9 armazenada em arquivos de texto. O tamanho m\u00e1ximo do arquivo de configura\u00e7\u00e3o \u00e9 de 120 KB. Independentemente do n\u00famero de arquivos, o tamanho total n\u00e3o deve exceder 120 KB.<br \/>\nO arquivo de configura\u00e7\u00e3o consiste em um conjunto de linhas, \u00e0s quais se aplicam as condi\u00e7\u00f5es abaixo mencionadas:<\/p>\n<ul>\n<li>A primeira linha deve sempre ser um coment\u00e1rio, incluindo a seguinte sequ\u00eancia de caracteres (44 bytes):<br \/>\n# Panasonic SIP Phone Standard Format File #<br \/>\nRepresenta\u00e7\u00e3o hexadecimal dessa sequ\u00eancia:<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 altera\u00e7\u00f5es acidentais na sequ\u00eancia de caracteres definida, recomenda-se come\u00e7ar o arquivo de configura\u00e7\u00e3o pela linha:<br \/>\n# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!\n<\/li>\n<li>Os arquivos de configura\u00e7\u00e3o devem terminar com uma linha em branco.<\/li>\n<li>Cada linha deve terminar com a sequ\u00eancia \"\".<\/li>\n<li>O comprimento m\u00e1ximo da linha \u00e9 de 537 bytes, incluindo a sequ\u00eancia \"\".<\/li>\n<li>As seguintes linhas s\u00e3o ignoradas:\n<ul>\n<li>linhas que excedem o limite de 537 bytes;<\/li>\n<li>linhas em branco;<\/li>\n<li>linhas de coment\u00e1rio que come\u00e7am com o caractere \"#\";<\/li>\n<\/ul>\n<\/li>\n<li>A linha de cada par\u00e2metro \u00e9 escrita na forma XXX=\"yyy\" (XXX: nome do par\u00e2metro, yyy: seu valor). O valor deve estar entre aspas duplas.<\/li>\n<li>A divis\u00e3o da linha de par\u00e2metros em v\u00e1rias linhas n\u00e3o \u00e9 permitida. Isso resultar\u00e1 em um erro de processamento do arquivo de configura\u00e7\u00e3o e, consequentemente, em uma falha na inicializa\u00e7\u00e3o.<\/li>\n<li>Os valores de alguns par\u00e2metros devem ser especificados separadamente para cada linha. O par\u00e2metro com o sufixo \"_1\" no nome \u00e9 o par\u00e2metro para a linha 1; \"_2\" - para a linha 2 e assim por diante.<\/li>\n<li>O comprimento m\u00e1ximo do nome do par\u00e2metro \u00e9 de 32 caracteres.<\/li>\n<li>O comprimento m\u00e1ximo do valor do par\u00e2metro \u00e9 de 500 caracteres, excluindo aspas duplas.<\/li>\n<li>Espa\u00e7os na linha n\u00e3o s\u00e3o permitidos, exceto quando o valor inclui um espa\u00e7o. <\/li>\n<li>Os valores de alguns par\u00e2metros podem ser especificados como \"vazios\" para definir um valor vazio para o par\u00e2metro.<\/li>\n<li>Os par\u00e2metros s\u00e3o especificados sem uma ordem definida.<\/li>\n<li>Se o mesmo par\u00e2metro for especificado no arquivo de configura\u00e7\u00e3o mais de uma vez, o valor definido primeiro ser\u00e1 aplicado.<\/li>\n<\/ul>\n<p>Um conjunto t\u00e3o rigoroso de requisitos para o arquivo de configura\u00e7\u00e3o, honestamente, me desapontou. Na minha opini\u00e3o, a intera\u00e7\u00e3o com <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-prohoster\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2960\">servidor<\/a> o gerenciamento nos telefones Panasonic \u00e9 extremamente inconveniente. Neste aspecto, o telefone fica muito atr\u00e1s dos demais.<br \/>\nAo ligar o dispositivo pela primeira vez (ou ap\u00f3s a restaura\u00e7\u00e3o das configura\u00e7\u00f5es de f\u00e1brica), ele tenta carregar o chamado arquivo de produto (neste caso, \u00e9 KX-UT123RU.cfg), que deve conter os caminhos para os demais arquivos de configura\u00e7\u00e3o.<br \/>\n<b class=\"spoiler_title\">Arquivo do produto<\/b># Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!<\/p>\n<p>CFG_STANDARD_FILE_PATH=\"tftp:\/\/10.1.1.50\/panasonic\/{mac}.cfg\"<br \/>\nCFG_PRODUCT_FILE_PATH=\"tftp:\/\/10.1.1.50\/panasonic\/KX-UT123RU.cfg\"<br \/>\nCFG_MASTER_FILE_PATH=\"tftp:\/\/10.1.1.50\/panasonic\/master.cfg\"<\/p>\n<p>Depois disso, o telefone exibir\u00e1 uma mensagem na tela informando que a prepara\u00e7\u00e3o foi conclu\u00edda com sucesso e aguardar\u00e1 at\u00e9 que seja reiniciado. Ap\u00f3s a reinicializa\u00e7\u00e3o, ele come\u00e7ar\u00e1 a processar os arquivos de configura\u00e7\u00e3o necess\u00e1rios.<\/p>\n<p>No arquivo master.cfg, \u00e9 recomendado especificar as configura\u00e7\u00f5es gerais para todos os telefones. Assim como no caso da Dlink, mencionarei apenas alguns par\u00e2metros. Os nomes dos demais par\u00e2metros e seus valores podem ser encontrados na documenta\u00e7\u00e3o dispon\u00edvel no site do fabricante.<br \/>\n<b class=\"spoiler_title\">master.cfg<\/b>############################################################<br \/>\n# System Settings #<br \/>\n############################################################<br \/>\n## Login Account Settings<br \/>\nADMIN_ID=\"admin\"<br \/>\nADMIN_PASS=\"ADMIN_PWD\"<br \/>\nUSER_ID=\"user\"<br \/>\nUSER_PASS=\"USER_PWD\"<\/p>\n<p>## System Time Settings<br \/>\nNTP_ADDR=\"10.1.1.4\"<br \/>\nTIME_ZONE=\"660\"<br \/>\nDST_ENABLE=\"N\"<br \/>\nDST_OFFSET=\"60\"<br \/>\nDST_START_MONTH=\"3\"<br \/>\nDST_START_ORDINAL_DAY=\"2\"<br \/>\nDST_START_DAY_OF_WEEK=\"0\"<br \/>\nDST_START_TIME=\"120\"<br \/>\nDST_STOP_MONTH=\"10\"<br \/>\nDST_STOP_ORDINAL_DAY=\"2\"<br \/>\nDST_STOP_DAY_OF_WEEK=\"0\"<br \/>\nDST_STOP_TIME=\"120\"<br \/>\nLOCAL_TIME_ZONE_POSIX=\"\"<\/p>\n<p>## Syslog Settings<br \/>\nSYSLOG_ADDR=\"10.1.1.50\"<br \/>\nSYSLOG_PORT=\"514\"<br \/>\nSYSLOG_EVENT_SIP=\"6\"<br \/>\nSYSLOG_EVENT_CFG=\"6\"<br \/>\nSYSLOG_EVENT_VOIP=\"6\"<br \/>\nSYSLOG_EVENT_TEL=\"6\"<\/p>\n<p>## Provisioning Settings<br \/>\nOPTION66_ENABLE=\"Y\"<br \/>\nOPTION66_REBOOT=\"N\"<br \/>\nPROVISION_ENABLE=\"Y\"<br \/>\nCFG_STANDARD_FILE_PATH=\"tftp:\/\/10.1.1.50\/panasonic\/{mac}.cfg\"<br \/>\nCFG_PRODUCT_FILE_PATH=\"tftp:\/\/10.1.1.50\/panasonic\/KX-UT123RU.cfg\"<br \/>\nCFG_MASTER_FILE_PATH=\"tftp:\/\/10.1.1.50\/panasonic\/master.cfg\"<\/p>\n<p>############################################################<br \/>\n# Network Settings #<br \/>\n############################################################<br \/>\n## IP Settings<br \/>\nCONNECTION_TYPE=\"1\"<br \/>\nHOST_NAME=\"UT123\"<br \/>\nDHCP_DNS_ENABLE=\"Y\"<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=\"Y\"<br \/>\nDNS_PRIORITY=\"N\"<br \/>\nDNS1_ADDR=\"10.1.1.1\"<br \/>\nDNS2_ADDR=\"\"<\/p>\n<p>## HTTP Settings<br \/>\nHTTPD_PORTOPEN_AUTO=\"Y\"<br \/>\nHTTP_VER=\"1\"<br \/>\nHTTP_USER_AGENT=\"Panasonic_{MODEL}\/{fwver} ({mac})\"<br \/>\nHTTP_SSL_VERIFY=\"0\"<br \/>\nCFG_ROOT_CERTIFICATE_PATH=\"\"<\/p>\n<p>## XML Application Settings<br \/>\nXML_HTTPD_PORT=\"6666\"<br \/>\nXMLAPP_ENABLE=\"Y\"<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=\"<noindex>10.1.1.50\/provisioning\/panasonic-phonebook.xml<\/noindex>\u00bb<br \/>\nXMLAPP_LDAP_USERID=\"\"<br \/>\nXMLAPP_LDAP_USERPASS=\"\"<\/p>\n<p>No arquivo de configura\u00e7\u00e3o individual do dispositivo, permanecem apenas as configura\u00e7\u00f5es do assinante, por tradi\u00e7\u00e3o.<br \/>\n<b class=\"spoiler_title\">aabbccddeeff.cfg<\/b>DISPLAY_NAME_1=\u00abUsu\u00e1rio #168\u00bb<\/p>\n<p>PHONE_NUMBER_1=\u00ab168\u00bb<br \/>\nSIP_URI_1=\u00ab168\u00bb<br \/>\nLINE_ENABLE_1=\u00abAtivado\u00bb<br \/>\nPROFILE_ENABLE_1=\u00abAtivado\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>\nAs configura\u00e7\u00f5es desses telefones s\u00e3o armazenadas em um \u00fanico arquivo xml chamado cfg{mac}.xml. Ou em um arquivo de texto simples chamado cfg{mac}. Este telefone solicita apenas o arquivo de configura\u00e7\u00e3o individual, portanto, n\u00e3o \u00e9 poss\u00edvel otimizar as configura\u00e7\u00f5es movendo-as para um arquivo compartilhado. Outra caracter\u00edstica da configura\u00e7\u00e3o dos Grandstream \u00e9 a nomea\u00e7\u00e3o dos par\u00e2metros. Todos eles s\u00e3o numerados e designados como P###. Por exemplo:<\/p>\n<p>P1650 \u2013 controla a interface web para gerenciar o telefone (0 \u2013 HTTPS, 1 \u2013 HTTP)<br \/>\nP47 \u2013 endere\u00e7o do servidor SIP para conex\u00e3o.<\/p>\n<p>Se a configura\u00e7\u00e3o estiver armazenada em um arquivo de texto, os par\u00e2metros n\u00e3o requerem nenhuma agrupamento e podem estar em qualquer ordem. As linhas que come\u00e7am com # s\u00e3o consideradas coment\u00e1rios.<\/p>\n<p>Caso as configura\u00e7\u00f5es sejam apresentadas em formato xml, devem estar aninhadas dentro do n\u00f3 &lt;config version=\"1\"&gt;, que por sua vez deve estar aninhado dentro do &lt;gs_provision version=\u00ab1\u00bb&gt;. Todos os par\u00e2metros s\u00e3o gravados como os respectivos tags com o valor do par\u00e2metro dentro.<br \/>\n<b class=\"spoiler_title\">Exemplo de configura\u00e7\u00e3o<\/b><\/p>\n<pre>\n1\n    <!-- Nome da conta. N\u00e3o pode estar vazio. -->\n    109\n    <!-- ID do usu\u00e1rio SIP -->\n    109\n    <!-- ID de autentica\u00e7\u00e3o -->\n    109\n    <!-- Senha de autentica\u00e7\u00e3o -->\n    SIP_PWD\n    <!-- Nome exibido (John Doe) -->\n    Usu\u00e1rio# 109\n<!-- Configura\u00e7\u00f5es comuns -->\n        10.1.1.50\n        2\n   10.1.1.50<!-- servidor sip da linha 1 -->\n   0<!-- Linha 2 desabilitada -->\n   ADMIN_PWD<!-- senha de administrador -->\n   USER_PWD<!-- senha do console web do usu\u00e1rio -->\n   pt<!-- idioma exibido -->\n        0<!-- Atualizar via TFTP -->\n        10.1.1.50\/grandstream\n   1<!-- bloquear configura\u00e7\u00e3o via telefone (apenas b\u00e1sico) -->\n   TZc-11<!-- fuso hor\u00e1rio -->\n   10.1.1.4<!-- servidor NTP -->\n        1<!-- Baixar PB via HTTP -->\n        http:\/\/10.1.1.50\/provisioning\/grandstream<!-- URL base do cat\u00e1logo -->\n        30<!-- Atualizar PB automaticamente em 30 minutos -->\n<\/pre>\n<h4>Yealink T19 e T21<\/h4>\n<p>\nOs aparelhos desses modelos suportam arquivos de configura\u00e7\u00e3o individuais para dispositivos e comuns para os modelos. No meu caso, tive que colocar os par\u00e2metros comuns nos arquivos y000000000031.cfg e y000000000034.cfg, respectivamente. Os arquivos de configura\u00e7\u00e3o individuais s\u00e3o nomeados de acordo com o endere\u00e7o MAC: 00112233aabb.cfg.<\/p>\n<p>As configura\u00e7\u00f5es para os yealink s\u00e3o armazenadas em formato texto. A \u00fanica exig\u00eancia obrigat\u00f3ria \u00e9 que a primeira linha contenha a vers\u00e3o do arquivo, no formato #!version:1.0.0.1.<\/p>\n<p>Todos os par\u00e2metros s\u00e3o registrados no formato par\u00e2metro = valor. Coment\u00e1rios devem come\u00e7ar com o s\u00edmbolo \"#\". Os nomes dos par\u00e2metros e seus valores podem ser encontrados na documenta\u00e7\u00e3o no site do fabricante.<br \/>\n<b class=\"spoiler_title\">configura\u00e7\u00f5es gerais<\/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 = Russo<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 = Russo<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 = Lista de Contatos<br \/>\nfeatures.remote_phonebook.flash_time = 3600<\/p>\n<p>\n<b class=\"spoiler_title\">configura\u00e7\u00f5es individuais<\/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 = Telefone de Teste<br \/>\n#Configure the display name of account1.<br \/>\naccount.1.display_name = Usu\u00e1rio 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, gra\u00e7as \u00e0 incr\u00edvel fun\u00e7\u00e3o de auto-provisionamento prevista nos telefones mencionados, n\u00e3o surgiram problemas ao conectar novos aparelhos \u00e0 rede. Tudo se reduziu a descobrir o endere\u00e7o MAC do telefone e gerar o arquivo de configura\u00e7\u00e3o com base no modelo. <\/p>\n<p>Espero que voc\u00ea tenha lido at\u00e9 o fim e extra\u00eddo benef\u00edcios do que foi lido.<\/p>\n<p>Obrigado pela aten\u00e7\u00e3o.<br \/>\n<br \/>Fonte: <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\/pt\/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=\"pt_PT\" \/>\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\/pt\/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\udd47VoIP ZOOL\u00d3GICO \u2014 Provisionamento | ProHoster","description":"Introdu\u00e7\u00e3o Uma vez, a dire\u00e7\u00e3o aprovou um experimento para a implementa\u00e7\u00e3o de telefonia IP em nossa empresa.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/voip-zoopark-provisioning","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/30399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=30399"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/30399\/revisions"}],"predecessor-version":[{"id":162001,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/30399\/revisions\/162001"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=30399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=30399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=30399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}