{"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\/ro\/blog\/news\/voip-zoopark-provisioning","title":{"rendered":"Zoologul VoIP - Provisionare","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h4>Introducere<\/h4>\n<p>\nOdat\u0103, conducerea a aprobat un experiment de implementare a telefoniei IP \u00een compania noastr\u0103. Fiindc\u0103 experien\u021ba mea \u00een acest domeniu era minim\u0103, sarcina mi-a st\u00e2rnit un interes imens \u0219i m-am ad\u00e2ncit \u00een studiul diferitelor aspecte ale problemei. La finalul acestui studiu, am decis s\u0103 \u00eemp\u0103rt\u0103\u0219esc cuno\u0219tin\u021bele acumulate - cu speran\u021ba c\u0103 vor fi utile cuiva. Deci...<\/p>\n<h4>Datele originale<\/h4>\n<p>\nPentru IP-PBX a fost ales \u0219i desf\u0103\u0219urat Asterisk. Parcul de telefoane este format din dispozitive Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400, Dlink DPH-150S(E)\/F3, Yealink T19 \u0219i T21. Aceast\u0103 diversitate se datoreaz\u0103 faptului c\u0103, \u00een cadrul experimentului, s-a decis s\u0103 \u00eencerc\u0103m c\u00e2te pu\u021bin din fiecare, pentru a forma o opinie despre raportul pre\u021b\/calitate\/confort.<\/p>\n<h4>Sarcin\u0103<\/h4>\n<p>\nS\u0103 simplific\u0103m \u0219i s\u0103 unific\u0103m procesul de configurare a noilor dispozitive. Toate telefoanele trebuie s\u0103 fie sincronizate \u00een timp, s\u0103 aib\u0103 un director de telefonu, \u00eenc\u0103rcat de la <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3475\">server<\/a> \u0219i s\u0103 ofere acces la set\u0103ri pentru administrator.<\/p>\n<p>Solu\u021bia acestei probleme este simpl\u0103 - implementarea configur\u0103rii automate a telefoanelor, a\u0219a numitul Provisioning. De fapt, despre implementarea acestei func\u021bii minunate va fi vorba.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Configurarea tftpd, dhcpd<\/h4>\n<p>\nPentru distribu\u021bia set\u0103rilor telefonelor, am ales tftp ca o op\u021biune universal\u0103, compatibil\u0103 cu toate platformele, u\u0219or de configurat \u0219i de gestionat.<\/p>\n<p>Nu a fost nevoie de o configurare specific\u0103 pentru tftp. Am instalat tftpd-ul standard \u0219i am plasat toate fi\u0219ierele necesare \u00een directorul s\u0103u r\u0103d\u0103cin\u0103.<br \/>\nAm plasat fi\u0219ierele de configurare \u00een subdirectoare corespunz\u0103toare produc\u0103torului telefonului. Cu toate acestea, dispozitivul de la Cisco nu a reu\u0219it s\u0103 acceseze propriul folder, a trebuit s\u0103-l p\u0103strez \u00een r\u0103d\u0103cin\u0103.<\/p>\n<p>Pentru a indica telefoanelor loca\u021bia serverului tftp, am folosit option-66. \u00cen plus, le-am \u00eemp\u0103r\u021bit \u00een clase separate \u00een func\u021bie de produc\u0103tor. Fiecare clas\u0103 a primit un segment propriu de adrese \u0219i un folder individual pentru fi\u0219ierele de configurare. Apropo, dispozitivele de la D-Link au fost necesar s\u0103 fie identificate dup\u0103 adresele MAC, deoarece nu ofer\u0103 informa\u021bii despre produc\u0103tor \u00een cererea DHCP.<\/p>\n<p><b class=\"spoiler_title\">Fragment din 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>Telefoanele au trebuit excluse for\u021bat din pool-ul general. Altfel, nu voiau s\u0103 plece \u00een \u00abcasa lor\u00bb.<br \/>\n<b class=\"spoiler_title\">Exemplu de configur\u0103ri subnet<\/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>Dup\u0103 repornirea tuturor serviciilor implicate, telefoanele s-au \u00eendreptat cu \u00eencredere c\u0103tre serverul tftp pentru a ob\u021bine configura\u021biile. A fost doar necesar s\u0103 le a\u0219ez acolo.<\/p>\n<h4>Cisco 7906<\/h4>\n<p>\nAceste dispozitive mi-au fost livrate \u00een ambalajul de fabrica\u021bie. A trebuit s\u0103 le reprogramez pentru a le \u00eemperechea cu Asterisk. Dar aceasta este o alt\u0103 poveste. \u00cen cazul specific, pentru a configura dispozitivul, conform instruc\u021biunilor, am creat \u00een r\u0103d\u0103cina serverului TFTP fi\u0219ierul SEPAABBCCDDEEFF.cnf.xml. Acolo, AABBCCDDEEFF reprezint\u0103 adresa MAC a dispozitivului.<\/p>\n<p>Despre configurarea telefoanelor Cisco s-a scris deja de mai multe ori, a\u0219a c\u0103 voi l\u0103sa doar fi\u0219ierul de lucru cu set\u0103rile.<br \/>\n<b class=\"spoiler_title\">Set\u0103rile pentru Cisco<\/b><\/p>\n<pre>\ntrue\n SIP\n root\n ADMIN_PWD\n\n \n D-M-Y\n Central Pacific Standard Time\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 Disable\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 Cisco Phone\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 User #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 Romanian_Romania\n ro_RO\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>\nDac\u0103 inten\u021biona\u021bi s\u0103 achizi\u021biona\u021bi un telefon din aceast\u0103 serie, fi\u021bi aten\u021bi, auto-configurarea este suportat\u0103 doar pe aparatele 150S\/F3. Pe aparatul 150S\/F2, pe care l-am avut, nu am g\u0103sit aceast\u0103 func\u021bionalitate.<\/p>\n<p>Fi\u0219ierul de configurare poate fi \u00een format xml sau text obi\u0219nuit. Pentru xml exist\u0103 o cerin\u021b\u0103: eticheta trebuie s\u0103 fie la \u00eenceputul liniei, altfel parserul o va ignora \u0219i valoarea parametrului corespunz\u0103tor nu se va schimba.<\/p>\n<p>Pentru configurarea telefonului se folosesc dou\u0103 fi\u0219iere. f0D00580000.cfg - pentru stocarea set\u0103rilor tuturor telefoanelor \u0219i 00112233aabb.cfg (adresa MAC \u00een litere mici) pentru set\u0103rile individuale. Set\u0103rile individuale au, desigur, o prioritate mai mare.<\/p>\n<p>Setul complet de configura\u021bii cuprinde peste o mie de linii; pentru a nu aglomera articolul, voi descrie un set minim suficient de configura\u021bii. <\/p>\n<p>Obligatorii sunt nodul r\u0103d\u0103cin\u0103 <b>VOIP_CONFIG_FILE<\/b> \u0219i nodul \u00eencorporat <b>version<\/b>. Set\u0103rile vor fi aplicate doar dac\u0103 versiunea fi\u0219ierului este mai mare dec\u00e2t cele actuale din aparat. Aceast\u0103 valoare poate fi verificat\u0103 prin interfa\u021ba web a telefonului \u00een sec\u021biunea de \u00eentre\u021binere (gestionare a sistemului). Pentru telefoanele cu set\u0103ri din fabric\u0103, \u00een ambele cazuri, aceasta este 2.0002. De asemenea, versiunea fi\u0219ierului individual trebuie s\u0103 fie mai mare dec\u00e2t versiunea fi\u0219ierului general.<\/p>\n<p>\u00cen primul r\u00e2nd, voi prezenta fi\u0219ierul cu configura\u021bia general\u0103 pentru toate telefoanele. Practic, acesta stocheaz\u0103 toate set\u0103rile, fi\u0219ierul individual va r\u0103spunde doar pentru num\u0103rul de telefon \u0219i mesajul de pe ecran. <\/p>\n<p>\u00cen cele dou\u0103 blocuri prezentate mai jos, se stabilesc parametrii pentru fusul orar \u0219i sincronizarea timpului, portul ini\u021bial pentru RTP \u0219i se activeaz\u0103 puntea de re\u021bea \u00eentre porturile WAN \u0219i LAN ale aparatului.<\/p>\n<p><b class=\"spoiler_title\">Fragment\u21161<\/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>De fapt, denumirile parametrilor de configurare sunt suficient de \"vorbitoare\" pentru a nu necesita o descriere detaliat\u0103.<br \/>\n<b class=\"spoiler_title\">SIP pentru o singur\u0103 linie<\/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\">Set\u0103rile de control la distan\u021b\u0103<\/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\">Set\u0103rile telefonului<\/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>Toate celelalte set\u0103ri vor r\u0103m\u00e2ne \u201eimplicite\u201d. Acum, orice telefon Dlink conectat la re\u021bea va prelua imediat set\u0103rile comune. Pentru a seta parametrii individuali pentru un aparat este necesar un fi\u0219ier separat. \u00cen acesta trebuie s\u0103 specifica\u021bi doar set\u0103rile necesare pentru un anumit abonat.<br \/>\n<b class=\"spoiler_title\">set\u0103rile abonatului<\/b><\/p>\n<pre>\n2.0006\n\n\n\nSIP1\nUser #117\n117\n5060\n117\nSIP_PWD\n3600\n1\n5060\n117\nSIP_PWD\n<\/pre>\n<h4>Panasonic UT-KX123B<\/h4>\n<p>\nAceste dispozitive primesc set\u0103rile printr-un mecanism u\u0219or diferit. Configura\u021bia este stocat\u0103 \u00een fi\u0219iere text. Dimensiunea maxim\u0103 a fi\u0219ierului de configura\u021bie este de 120 KB. Indiferent de num\u0103rul de fi\u0219iere, dimensiunea total\u0103 a acestora nu trebuie s\u0103 dep\u0103\u0219easc\u0103 120 KB.<br \/>\nFi\u0219ierul de configura\u021bie este format dintr-un set de linii, asupra c\u0103rora se aplic\u0103 condi\u021biile specificate mai jos:<\/p>\n<ul>\n<li>Prima linie este \u00eentotdeauna un comment care include urm\u0103toarea secven\u021b\u0103 de caractere (44 de bytes):<br \/>\n# Panasonic SIP Phone Standard Format File #<br \/>\nReprezentarea \u00een hexazecimal a acestei secven\u021be:<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 \/>\nPentru a preveni modificarea accidental\u0103 a secven\u021bei de caractere stabilite, se recomand\u0103 s\u0103 \u00eencepe\u021bi fi\u0219ierul de configura\u021bie cu linia:<br \/>\n# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!\n<\/li>\n<li>Fi\u0219ierele de configura\u021bie trebuie s\u0103 se \u00eencheie cu o linie goal\u0103.<\/li>\n<li>Fiecare linie trebuie s\u0103 se termine cu secven\u021ba \"\".<\/li>\n<li>Lungimea maxim\u0103 a unei linii este de 537 de octe\u021bi, inclusiv secven\u021ba \"\".<\/li>\n<li>Urm\u0103toarele linii sunt ignorate:\n<ul>\n<li>liniile care dep\u0103\u0219esc limita de 537 bytes;<\/li>\n<li>liniile goale;<\/li>\n<li>liniile de comentarii \u00eencep cu simbolul \"#\";<\/li>\n<\/ul>\n<\/li>\n<li>Linia fiec\u0103rui parametru este scris\u0103 sub forma XXX=\"yyy\" (XXX: numele parametrului, yyy: valoarea acestuia). Valoarea trebuie s\u0103 fie \u00eenconjurat\u0103 de ghilimele.<\/li>\n<li>\u00cemp\u0103r\u021birea unei linii de parametri \u00een mai multe linii nu este permis\u0103. Acest lucru va duce la o eroare de procesare a fi\u0219ierului de configura\u021bie \u0219i, ca urmare, la o e\u0219ec al ini\u021bializ\u0103rii.<\/li>\n<li>Valoarea unor parametri trebuie specificat\u0103 separat pentru fiecare linie. Parametrul cu sufixul \"_1\" \u00een denumire este parametrul pentru linia 1; \"_2\" - pentru linia 2 \u0219i a\u0219a mai departe.<\/li>\n<li>Lungimea maxim\u0103 a numelui parametrului este de 32 de caractere.<\/li>\n<li>Lungimea maxim\u0103 a valorii parametrului este de 500 de caractere, cu excep\u021bia caracterelor de ghilimele.<\/li>\n<li>Spa\u021biile din linie nu sunt permise, cu excep\u021bia cazului \u00een care valoarea include simbolul spa\u021biu. <\/li>\n<li>Valorile unor parametri pot fi specificate ca fiind \u201egoale\u201d, pentru a seta o valoare goal\u0103 a parametrului.<\/li>\n<li>Parametrii sunt specifica\u021bi f\u0103r\u0103 un anumit ordonare.<\/li>\n<li>Dac\u0103 acela\u0219i parametru este specificat de mai multe ori \u00een fi\u0219ierul de configura\u021bie, se aplic\u0103 valoarea specificat\u0103 prima dat\u0103.<\/li>\n<\/ul>\n<p>Un astfel de set de cerin\u021be pentru fi\u0219ierul de configura\u021bie m-a \u00eentristat, sincer. Din punctul meu de vedere, implementarea interac\u021biunii cu <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/dts-prohoster\/\"   title=\"serverul\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2960\">serverul<\/a> gestionarea telefonului Panasonic este extrem de incomod\u0103. \u00cen ceea ce prive\u0219te acest parametru, telefonul este semnificativ inferior altora.<br \/>\nLa prima pornire a dispozitivului (sau dup\u0103 resetarea la set\u0103rile din fabric\u0103) acesta \u00eencearc\u0103 s\u0103 \u00eencarce a\u0219a-numitul fi\u0219ier de produs (\u00een acest caz KX-UT123RU.cfg), care ar trebui s\u0103 con\u021bin\u0103 c\u0103ile c\u0103tre celelalte fi\u0219iere de configura\u021bie.<br \/>\n<b class=\"spoiler_title\">Fi\u0219ierul de produs<\/b># Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!<\/p>\n<p>CFG_STANDARD_FILE_PATH=\u201etftp:\/\/10.1.1.50\/panasonic\/{mac}.cfg\u201d<br \/>\nCFG_PRODUCT_FILE_PATH=\u201etftp:\/\/10.1.1.50\/panasonic\/KX-UT123RU.cfg\u201d<br \/>\nCFG_MASTER_FILE_PATH=\u201etftp:\/\/10.1.1.50\/panasonic\/master.cfg\u201d<\/p>\n<p>Dup\u0103 aceasta, telefonul va afi\u0219a un mesaj pe ecran despre finalizarea cu succes a preg\u0103tirii \u0219i va a\u0219tepta s\u0103 fie repornit. Dup\u0103 repornire, va \u00eencepe s\u0103 proceseze fi\u0219ierele de configura\u021bie necesare.<\/p>\n<p>\u00cen fi\u0219ierul master.cfg, este recomandat s\u0103 specifica\u021bi set\u0103rile generale pentru toate telefoanele. La fel ca \u00een cazul Dlink, voi men\u021biona doar c\u00e2\u021biva parametri. Numele celorlal\u021bi parametri \u0219i valorile acestora pot fi g\u0103site \u00een documenta\u021bia de pe site-ul produc\u0103torului.<br \/>\n<b class=\"spoiler_title\">master.cfg<\/b>############################################################<br \/>\n# System Settings #<br \/>\n############################################################<br \/>\n## Login Account Settings<br \/>\nADMIN_ID=\u201eadmin\u201d<br \/>\nADMIN_PASS=\u201eADMIN_PWD\u201d<br \/>\nUSER_ID=\u201euser\u201d<br \/>\nUSER_PASS=\u201eUSER_PWD\u201d<\/p>\n<p>## System Time Settings<br \/>\nNTP_ADDR=\u201e10.1.1.4\u201d<br \/>\nTIME_ZONE=\u201e660\u201d<br \/>\nDST_ENABLE=\u201eN\u201d<br \/>\nDST_OFFSET=\u201e60\u201d<br \/>\nDST_START_MONTH=\u201e3\u201d<br \/>\nDST_START_ORDINAL_DAY=\u201e2\u201d<br \/>\nDST_START_DAY_OF_WEEK=\u201e0\u201d<br \/>\nDST_START_TIME=\u201e120\u201d<br \/>\nDST_STOP_MONTH=\u201e10\u201d<br \/>\nDST_STOP_ORDINAL_DAY=\u201e2\u201d<br \/>\nDST_STOP_DAY_OF_WEEK=\u201e0\u201d<br \/>\nDST_STOP_TIME=\u201e120\u201d<br \/>\nLOCAL_TIME_ZONE_POSIX=\"\"<\/p>\n<p>## Syslog Settings<br \/>\nSYSLOG_ADDR=\u201e10.1.1.50\u201d<br \/>\nSYSLOG_PORT=\u201e514\u201d<br \/>\nSYSLOG_EVENT_SIP=\u201e6\u201d<br \/>\nSYSLOG_EVENT_CFG=\u201e6\u201d<br \/>\nSYSLOG_EVENT_VOIP=\u201e6\u201d<br \/>\nSYSLOG_EVENT_TEL=\u201e6\u201d<\/p>\n<p>## Provisioning Settings<br \/>\nOPTION66_ENABLE=\u201eY\u201d<br \/>\nOPTION66_REBOOT=\u201eN\u201d<br \/>\nPROVISION_ENABLE=\u201eY\u201d<br \/>\nCFG_STANDARD_FILE_PATH=\u201etftp:\/\/10.1.1.50\/panasonic\/{mac}.cfg\u201d<br \/>\nCFG_PRODUCT_FILE_PATH=\u201etftp:\/\/10.1.1.50\/panasonic\/KX-UT123RU.cfg\u201d<br \/>\nCFG_MASTER_FILE_PATH=\u201etftp:\/\/10.1.1.50\/panasonic\/master.cfg\u201d<\/p>\n<p>############################################################<br \/>\n# Network Settings #<br \/>\n############################################################<br \/>\n## IP Settings<br \/>\nCONNECTION_TYPE=\u201e1\u201d<br \/>\nHOST_NAME=\u201eUT123\u201d<br \/>\nDHCP_DNS_ENABLE=\u201eY\u201d<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=\u201eY\u201d<br \/>\nDNS_PRIORITY=\u201eN\u201d<br \/>\nDNS1_ADDR=\u201e10.1.1.1\u201d<br \/>\nDNS2_ADDR=\"\"<\/p>\n<p>## HTTP Settings<br \/>\nHTTPD_PORTOPEN_AUTO=\u201eY\u201d<br \/>\nHTTP_VER=\u201e1\u201d<br \/>\nHTTP_USER_AGENT=\u201ePanasonic_{MODEL}\/{fwver} ({mac})\u201d<br \/>\nHTTP_SSL_VERIFY=\u201e0\u201d<br \/>\nCFG_ROOT_CERTIFICATE_PATH=\"\"<\/p>\n<p>## XML Application Settings<br \/>\nXML_HTTPD_PORT=\u201e6666\u201d<br \/>\nXMLAPP_ENABLE=\u201eY\u201d<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=\u201e<noindex>10.1.1.50\/provisioning\/panasonic-phonebook.xml<\/noindex>\u00bb<br \/>\nXMLAPP_LDAP_USERID=\"\"<br \/>\nXMLAPP_LDAP_USERPASS=\"\"<\/p>\n<p>\u00cen fi\u0219ierul de configura\u021bie individual al dispozitivului, r\u0103m\u00e2n, conform tradi\u021biei, doar set\u0103rile abonatului.<br \/>\n<b class=\"spoiler_title\">aabbccddeeff.cfg<\/b>DISPLAY_NAME_1=\u201eUser #168\u201d<\/p>\n<p>PHONE_NUMBER_1=\u201e168\u201d<br \/>\nSIP_URI_1=\u201e168\u201d<br \/>\nLINE_ENABLE_1=\u201eActivat\u201d<br \/>\nPROFILE_ENABLE_1=\u201eActivat\u201d<br \/>\nSIP_AUTHID_1=\u201e168\u201d<br \/>\nSIP_PASS_1=\u201eSIP_PWD\u201d<\/p>\n<p><\/p>\n<h4>Grandstream GXP-1400<\/h4>\n<p>\nParametrii acestor telefoane sunt stoca\u021bi \u00eentr-un singur fi\u0219ier xml numit cfg{mac}.xml. Fie \u00eentr-un fi\u0219ier text obi\u0219nuit numit cfg{mac}. Acest telefon solicit\u0103 doar fi\u0219ierul de configura\u021bie individual, astfel c\u0103 optimizarea set\u0103rilor prin mutarea lor \u00eentr-un fi\u0219ier comun nu este posibil\u0103. O alt\u0103 particularitate a configur\u0103rii Grandstream-urilor este denumirea parametrilor. To\u021bi sunt numerota\u021bi \u0219i denumi\u021bi ca P###. De exemplu:<\/p>\n<p>P1650 \u2013 r\u0103spunde de interfa\u021ba web pentru gestionarea telefonului (0 \u2013 HTTPS, 1 \u2013 HTTP)<br \/>\nP47 \u2013 adresa serverului SIP pentru conectare.<\/p>\n<p>Dac\u0103 configura\u021bia este p\u0103strat\u0103 \u00eentr-un fi\u0219ier text, parametrii nu necesit\u0103 nicio grupare \u0219i pot fi \u00een orice ordine. Linile care \u00eencep cu # sunt considerate comentarii.<\/p>\n<p>\u00cen cazul \u00een care set\u0103rile sunt prezentate \u00een format xml, acestea trebuie s\u0103 fie \u00eencrustate \u00eentr-un nod &lt;config version=\u201d1\u201d&gt;, care la r\u00e2ndul s\u0103u trebuie s\u0103 fie \u00eencrustat \u00eentr-&lt;gs_provision version=\u201e1\u201d&gt;. To\u021bi parametrii sunt \u00eenregistra\u021bi sub form\u0103 de etichete corespunz\u0103toare cu valoarea parametrului \u00een interior.<br \/>\n<b class=\"spoiler_title\">Exemplu de configurare<\/b><\/p>\n<pre>\n1\n    <!-- Numele contului. Nu poate fi gol. -->\n    109\n    <!-- SIP User ID -->\n    109\n    <!-- ID de autentificare -->\n    109\n    <!-- Parola de autentificare -->\n    SIP_PWD\n    <!-- Numele de afi\u0219are (John Doe) -->\n    User# 109\n<!-- Set\u0103ri comune -->\n        10.1.1.50\n        2\n   10.1.1.50<!-- server sip linia 1 -->\n   0<!-- linia 2 dezactivat\u0103 -->\n   ADMIN_PWD<!-- parola administratorului -->\n   USER_PWD<!-- parola consolei web utilizator -->\n   ro<!-- limba de afi\u0219are -->\n        0<!-- Upgrade de la TFTP -->\n        10.1.1.50\/grandstream\n   1<!-- blocheaz\u0103 configura\u021bia prin telefon (doar basic)-->\n   TZc-11<!-- fus orar -->\n   10.1.1.4<!-- server NTP -->\n        1<!-- Descarc\u0103 PB din HTTP -->\n        http:\/\/10.1.1.50\/provisioning\/grandstream<!-- url de baz\u0103 pentru agenda telefonic\u0103 -->\n        30<!-- Actualizare automat\u0103 PB \u00een 30 de minute -->1|&gt;\n<\/pre>\n<h4>Yealink T19 \u0219i T21<\/h4>\n<p>\nDispozitivele acestor modele suport\u0103 fi\u0219iere de configurare individuale pentru dispozitive \u0219i fi\u0219iere comune pentru modele. \u00cen cazul meu, a trebuit s\u0103 plasez parametrii comuni \u00een fi\u0219ierele y000000000031.cfg \u0219i y000000000034.cfg, respectiv. Fi\u0219ierele de configurare individuale sunt denumite conform adresei MAC: 00112233aabb.cfg.<\/p>\n<p>Set\u0103rile pentru yealink-uri sunt stocate \u00eentr-un format text. Cea mai strict\u0103 cerin\u021b\u0103 este ca prima linie s\u0103 con\u021bin\u0103 versiunea fi\u0219ierului, \u00een formatul #!version:1.0.0.1.<\/p>\n<p>Toate parametrii sunt \u00eenregistra\u021bi \u00een formatul parametru = valoare. Comentariile trebuie s\u0103 \u00eenceap\u0103 cu simbolul \"#\". Numele parametrilor \u0219i valorile acestora pot fi g\u0103site \u00een documenta\u021bia de pe site-ul produc\u0103torului.<br \/>\n<b class=\"spoiler_title\">set\u0103ri generale<\/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 = Rus\u0103<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 = Rus\u0103<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 telefonic\u0103<br \/>\nfeatures.remote_phonebook.flash_time = 3600<\/p>\n<p>\n<b class=\"spoiler_title\">set\u0103ri individuale<\/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 = Telefon de test<br \/>\n#Configure the display name of account1.<br \/>\naccount.1.display_name = Utilizator 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>\n\u00cen final, datorit\u0103 func\u021biei minunate de auto-provision, disponibile \u00een telefoanele men\u021bionate, conectarea noilor dispozitive la re\u021bea nu a prezentat probleme. Totul s-a redus la aflarea adresei MAC a telefonului \u0219i generarea fi\u0219ierului de configurare pe baza modelului. <\/p>\n<p>Sper c\u0103 a\u021bi citit p\u00e2n\u0103 la cap\u0103t \u0219i a\u021bi extras ceva util din cele citite.<\/p>\n<p>V\u0103 mul\u021bumesc pentru aten\u021bie.<br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/news\/voip-zoopark-provisioning\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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 zoo - Provisioning | ProHoster","description":"Introducere Odat\u0103, conducerea a aprobat un experiment de implementare a telefoniei IP \u00een compania noastr\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/voip-zoopark-provisioning","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/30399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=30399"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/30399\/revisions"}],"predecessor-version":[{"id":162001,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/30399\/revisions\/162001"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=30399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=30399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=30399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}