{"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\/it\/blog\/news\/voip-zoopark-provisioning","title":{"rendered":"VoIP zoo \u2014 Provisioning","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h4>Introduzione<\/h4>\n<p>\nUn giorno la direzione ha approvato un esperimento per l'implementazione della telefonia IP nel nostro ufficio. Poich\u00e9 la mia esperienza in questo campo era minimale, il compito ha suscitato in me un enorme interesse e mi sono immerso nello studio di vari aspetti della questione. Alla fine dell'immersione ho deciso di condividere le conoscenze acquisite, sperando che possano essere utili a qualcuno. E cos\u00ec...<\/p>\n<h4>Dati di origine<\/h4>\n<p>\nCome IP-PBX \u00e8 stata scelta e implementata Asterisk. Il parco telefonico \u00e8 composto da dispositivi Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 e Dlink DPH-150S(E)\/F3, Yealink T19 e T21. Questa variet\u00e0 \u00e8 dovuta al fatto che nell'ambito dell'esperimento si \u00e8 deciso di provare un po' di tutto, per formare un'opinione sul rapporto prezzo\/qualit\u00e0\/comodit\u00e0.<\/p>\n<h4>Compito<\/h4>\n<p>\nSemplificare e unificare al massimo il processo di configurazione dei nuovi dispositivi. Tutti i telefoni devono essere sincronizzati nel tempo, avere una rubrica telefonica, caricata da <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3475\">server<\/a> e fornire accesso alle impostazioni per l'amministratore.<\/p>\n<p>La soluzione a questo problema \u00e8 semplice: implementare la configurazione automatica dei telefoni, il cosiddetto Provisioning. In realt\u00e0, parler\u00f2 della mia implementazione di questa fantastica funzione.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Configurazione tftpd, dhcpd<\/h4>\n<p>\nPer distribuire le impostazioni ai telefoni ho scelto tftp come opzione universale, supportata da tutte le piattaforme, facile da configurare e gestire.<\/p>\n<p>Non \u00e8 stata necessaria una configurazione specifica per tftp. Ho installato tftpd predefinito e ho collocato tutti i file necessari nella sua directory principale.<br \/>\nHo sistemato i file di configurazione in cartelle in base al produttore del telefono. Tuttavia, il dispositivo Cisco non si \u00e8 collegato alla sua cartella, quindi ho dovuto conservarlo nella directory principale.<\/p>\n<p>Per indicare ai telefoni la posizione del server tftp, ho utilizzato l'opzione 66. Inoltre, li ho suddivisi in classi separate in base al produttore. Ogni classe ha ricevuto un segmento di indirizzi e una cartella individuale per i file di configurazione. A proposito, i dispositivi D-link sono stati identificati in base agli indirizzi MAC, poich\u00e9 non forniscono informazioni sul produttore nella richiesta dhcp.<\/p>\n<p><b class=\"spoiler_title\">Frammento 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>I telefoni sono stati costretti a essere esclusi dal pool generale. Altrimenti non volevano proprio passare nel loro 'ribollitoio'.<br \/>\n<b class=\"spoiler_title\">Esempio di configurazione della subnet<\/b><\/p>\n<pre>\nsottorete 10.1.1.0 mascheratura 255.255.255.0 {\n        opzione router 10.1.1.1;\n        pool {\n                vieta membri di &quot;cisco&quot;;\n                vieta membri di &quot;panasonic&quot;;\n                vieta membri di &quot;dlink&quot;;\n                intervallo 10.1.1.230 10.1.1.240;\n        }\n        pool {\n                consenti membri di &quot;cisco&quot;;\n                intervallo 10.1.1.65 10.1.1.69;\n        }\n        pool {\n                consenti membri di &quot;panasonic&quot;;\n                intervallo 10.1.1.60 10.1.1.64;\n        }\n        pool {\n                consenti membri di &quot;dlink&quot;;\n                intervallo 10.1.1.55 10.1.1.59;\n        }\n}\n<\/pre>\n<p>Dopo il riavvio di tutti i servizi coinvolti, i telefoni si sono dirigiti con sicurezza verso il server tftp assegnato per le impostazioni. Resta solo da posizionarli l\u00ec.<\/p>\n<h4>Cisco 7906<\/h4>\n<p>\nQuesti dispositivi mi sono stati consegnati in imballaggio originale. Ho dovuto ri-programmarli per farli funzionare con Asterisk. Ma questa \u00e8 un'altra storia. In questo caso specifico, per configurare il dispositivo, ho creato nella radice del server tftp il file SEPAABBCCDDEEFF.cnf.xml. Dove AABBCCDDEEFF \u00e8 l'indirizzo MAC del dispositivo.<\/p>\n<p>\u00c8 stato gi\u00e0 scritto pi\u00f9 volte sulla configurazione dei telefoni Cisco, quindi lascer\u00f2 semplicemente il file di configurazione funzionante.<br \/>\n<b class=\"spoiler_title\">Impostazioni per 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 Telefono 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 Utente #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 Italian_Italy\n it_IT\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 stai per acquistare un telefono di questa serie, fai attenzione, l'autoconfigurazione \u00e8 supportata solo nei dispositivi 150S\/F3. Nel dispositivo 150S\/F2 che ho ricevuto, non ho trovato questa funzionalit\u00e0.<\/p>\n<p>Il file di configurazione pu\u00f2 essere sia in formato xml che in testo semplice. Per xml, c'\u00e8 un'unica richiesta: il tag deve essere all'inizio della riga, altrimenti il parser lo ignorer\u00e0 e il valore del parametro corrispondente non verr\u00e0 modificato.<\/p>\n<p>Per configurare il telefono vengono utilizzati due file. f0D00580000.cfg \u2014 per memorizzare le impostazioni di tutti i telefoni e 00112233aabb.cfg (indirizzo MAC in minuscolo) per le impostazioni individuali. Le impostazioni individuali, ovviamente, hanno una priorit\u00e0 maggiore.<\/p>\n<p>L'insieme completo delle impostazioni conta pi\u00f9 di mille righe, per non appesantire l'articolo, descriver\u00f2 il set di impostazioni minime necessarie. <\/p>\n<p>Sono obbligatori il nodo radice <b>VOIP_CONFIG_FILE<\/b> e il nodo annidato <b>versione<\/b>. Le impostazioni verranno applicate solo se la versione del file \u00e8 superiore a quella delle impostazioni attuali nel dispositivo. Questo valore pu\u00f2 essere trovato attraverso l'interfaccia web del telefono nella sezione manutenzione (gestione del sistema). Per i telefoni con impostazioni di fabbrica in entrambi i casi \u00e8 2.0002. Inoltre, la versione del file individuale deve essere maggiore della versione del file generale.<\/p>\n<p>Comincer\u00f2 con il file di configurazione generale per tutti i telefoni. In sostanza, memorizza tutte le impostazioni, il file individuale si occuper\u00e0 solo del numero di telefono e della scritta sullo schermo. <\/p>\n<p>Nei due blocchi riportati di seguito vengono impostati i parametri del fuso orario e della sincronizzazione dell'orario, la porta iniziale per RTP e viene attivato il ponte di rete tra le porte WAN e LAN del dispositivo.<\/p>\n<p><b class=\"spoiler_title\">Fregmento\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>I nomi dei parametri di configurazione sono abbastanza \"parlanti\" da non richiedere una descrizione dettagliata.<br \/>\n<b class=\"spoiler_title\">SIP per una linea<\/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\">Impostazioni di controllo 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\">Impostazioni del telefono<\/b><\/p>\n<pre>\n<menu>123<\/menu>\n123\n\n0\n112\nAzienda\n5\n1\n30\n0\n<time>0<\/time>\n1\n0,,1\n0\n0\n1\n\n\nXML-PBook1\nRubrica\nhttp:\/\/10.1.1.50\/provisioning\/dlink-phonebook.xml\n:\n0\n0\n\n\namico, casa, lavoro, affari, compagno di classe, collega\n<\/pre>\n<p>Tutte le altre impostazioni rimarranno \"di default\". Ora qualsiasi telefono Dlink collegato alla rete accetter\u00e0 immediatamente il set di parametri comune a tutti. Per impostare parametri individuali per il dispositivo \u00e8 necessario un file separato. In esso devono essere specificate solo le impostazioni necessarie per un singolo abbonato.<br \/>\n<b class=\"spoiler_title\">impostazioni dell'abbonato<\/b><\/p>\n<pre>\n2.0006\n\n\n\nSIP1\nUtente #117\n117\n5060\n117\nSIP_PWD\n3600\n1\n5060\n117\nSIP_PWD\n<\/pre>\n<h4>Panasonic UT-KX123B<\/h4>\n<p>\nQuesti dispositivi ricevono le impostazioni secondo uno schema leggermente diverso. La configurazione \u00e8 memorizzata in file di testo. La dimensione massima del file di configurazione \u00e8 di 120 KB. Indipendentemente dal numero di file, la loro dimensione totale non deve superare i 120 KB.<br \/>\nIl file di configurazione \u00e8 composto da un insieme di righe, a cui si applicano le seguenti condizioni:<\/p>\n<ul>\n<li>La prima riga \u00e8 sempre un commento, contenente la seguente sequenza di caratteri (44 byte):<br \/>\n# Panasonic SIP Phone Standard Format File #<br \/>\nRappresentazione esadecimale di questa sequenza:<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 \/>\nPer prevenire modifiche accidentali della sequenza di caratteri impostata, \u00e8 consigliabile iniziare il file di configurazione con la riga:<br \/>\n# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!\n<\/li>\n<li>I file di configurazione devono terminare con una riga vuota.<\/li>\n<li>Ogni riga deve terminare con la sequenza \"\".<\/li>\n<li>La lunghezza massima di una riga \u00e8 di 537 byte, inclusa la sequenza \"\".<\/li>\n<li>Le seguenti righe vengono ignorate:\n<ul>\n<li>righe che superano il limite di 537 byte;<\/li>\n<li>righe vuote;<\/li>\n<li>righe di commento che iniziano con il simbolo \"#\";<\/li>\n<\/ul>\n<\/li>\n<li>La riga di ciascun parametro \u00e8 scritta nella forma XXX=\"yyy\" (XXX: nome del parametro, yyy: il suo valore). Il valore deve essere racchiuso tra virgolette.<\/li>\n<li>La suddivisione della riga dei parametri in pi\u00f9 righe non \u00e8 consentita. Ci\u00f2 porter\u00e0 a un errore nell'elaborazione del file di configurazione e, di conseguenza, a un fallimento dell'inizializzazione.<\/li>\n<li>I valori di alcuni parametri devono essere specificati separatamente per ogni linea. Il parametro con il suffisso \"_1\" nel nome \u00e8 il parametro per la linea 1; \"_2\" per la linea 2 e cos\u00ec via.<\/li>\n<li>La lunghezza massima del nome del parametro \u00e8 di 32 caratteri.<\/li>\n<li>La lunghezza massima del valore del parametro \u00e8 di 500 caratteri, escluse le virgolette.<\/li>\n<li>Gli spazi nella stringa non sono ammessi, ad eccezione dei casi in cui il valore include un carattere di spazio. <\/li>\n<li>I valori di alcuni parametri possono essere specificati come \"vuoti\" per impostare un valore vuoto per il parametro.<\/li>\n<li>I parametri possono essere specificati senza un ordine definito.<\/li>\n<li>Se lo stesso parametro \u00e8 specificato nel file di configurazione pi\u00f9 di una volta, verr\u00e0 applicato il valore specificato per primo.<\/li>\n<\/ul>\n<p>Un insieme di requisiti cos\u00ec rigoroso per il file di configurazione mi ha sinceramente deluso. A mio avviso, l'implementazione dell'interfaccia con <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-prohoster\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2960\">server<\/a> la gestione dei telefoni Panasonic \u00e8 estremamente scomoda. Su questo parametro, il telefono \u00e8 significativamente inferiore agli altri.<br \/>\nAll'accensione iniziale del dispositivo (o dopo un ripristino delle impostazioni di fabbrica) tenta di caricare il cosiddetto file prodotto (in questo caso KX-UT123RU.cfg), che dovrebbe contenere i percorsi agli altri file di configurazione.<br \/>\n<b class=\"spoiler_title\">File prodotto<\/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>Dopo ci\u00f2, il telefono mostrer\u00e0 un messaggio sullo schermo riguardante il completamento riuscito della preparazione e attender\u00e0 un riavvio. Solo dopo il riavvio inizier\u00e0 a elaborare i file di configurazione appropriati.<\/p>\n<p>Nel file master.cfg \u00e8 consigliabile specificare le impostazioni generali per tutti i telefoni. Come nel caso di Dlink, indicher\u00f2 solo alcuni parametri. I nomi degli altri parametri e i loro valori possono essere trovati nella documentazione sul sito del produttore.<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>Nel file di configurazione individuale del dispositivo, per tradizione, rimangono solo le impostazioni dell'abbonato.<br \/>\n<b class=\"spoiler_title\">aabbccddeeff.cfg<\/b>DISPLAY_NAME_1=\u00abUtente #168\u00bb<\/p>\n<p>PHONE_NUMBER_1=\u00ab168\u00bb<br \/>\nSIP_URI_1=\u00ab168\u00bb<br \/>\nLINE_ENABLE_1=\u00abAbilitato\u00bb<br \/>\nPROFILE_ENABLE_1=\u00abAbilitato\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>\nI parametri di questi telefoni sono memorizzati in un unico file xml chiamato cfg{mac}.xml. Oppure in un file di testo normale chiamato cfg{mac}. Questo telefono richiede solo un file di configurazione individuale, quindi non sar\u00e0 possibile ottimizzare le impostazioni spostandole in un file comune. Un'altra caratteristica della configurazione dei Grandstream \u00e8 la denominazione dei parametri. Tutti sono numerati e contrassegnati come P###. Ad esempio:<\/p>\n<p>P1650 \u2013 controlla l'interfaccia web per la gestione del telefono (0 \u2013 HTTPS, 1 \u2013 HTTP)<br \/>\nP47 \u2013 indirizzo del server SIP per la connessione.<\/p>\n<p>Se la configurazione \u00e8 memorizzata in un file di testo, i parametri non richiedono alcun raggruppamento e possono essere disposti in qualsiasi ordine. Le righe che iniziano con # sono considerate commenti.<\/p>\n<p>Nel caso in cui le impostazioni siano presentate in formato xml, devono essere annidate nel nodo , che a sua volta deve essere annidato in . Tutti i parametri vengono registrati sotto forma di tag corrispondenti con il valore del parametro all'interno.<br \/>\n<b class=\"spoiler_title\">Esempio di configurazione<\/b><\/p>\n<pre>\n1\n    <!-- Nome dell'account. Non pu\u00f2 essere vuoto. -->\n    109\n    <!-- SIP User ID -->\n    109\n    <!-- Authenticate ID -->\n    109\n    <!-- Authenticate password -->\n    SIP_PWD\n    <!-- Nome visualizzato (John Doe) -->\n    Utente# 109\n    <!-- Impostazioni comuni -->\n        10.1.1.50\n        2\n   10.1.1.50<!-- linea 1 sip server -->\n   0<!-- Linea 2 disattivata -->\n   ADMIN_PWD<!-- password admin -->\n   USER_PWD<!-- password console web utente -->\n   it<!-- lingua visualizzata -->\n        0<!-- Aggiornamento da TFTP -->\n        10.1.1.50\/grandstream\n   1<!-- bloccaggio configurazione tramite telefono (solo base) -->\n   TZc-11<!-- fuso orario -->\n   10.1.1.4<!-- server NTP -->\n        1<!-- Download PB da HTTP -->\n        http:\/\/10.1.1.50\/provisioning\/grandstream<!-- url base della rubrica -->\n        30<!-- Aggiornamento automatico PB in 30 min -->\n<\/pre>\n<h4>Yealink T19 e T21<\/h4>\n<p>\nLe apparecchiature di questi modelli supportano file di configurazione individuali per i dispositivi e comuni per i modelli. Nel mio caso, ho dovuto posizionare i parametri comuni nei file y000000000031.cfg e y000000000034.cfg rispettivamente. I file di configurazione individuali sono nominati secondo l'indirizzo MAC: 00112233aabb.cfg.<\/p>\n<p>Le impostazioni per i telefoni yealink sono memorizzate in formato testuale. L'unico requisito obbligatorio \u00e8 la presenza della versione del file nella prima riga, nel formato #!version:1.0.0.1.<\/p>\n<p>Tutti i parametri sono registrati nel formato parametro = valore. I commenti devono iniziare con il simbolo \"#\". I nomi dei parametri e i loro valori possono essere trovati nella documentazione sul sito del produttore.<br \/>\n<b class=\"spoiler_title\">impostazioni comuni<\/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 = Rubrica<br \/>\nfeatures.remote_phonebook.flash_time = 3600<\/p>\n<p>\n<b class=\"spoiler_title\">impostazioni individuali<\/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 = Telefono di prova<br \/>\n#Configure the display name of account1.<br \/>\naccount.1.display_name = Utente 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>\nIn definitiva, grazie alla fantastica funzione di auto-provisioning presente nei telefoni che ho menzionato, non ci sono stati problemi di connessione alla rete dei nuovi apparecchi. Si \u00e8 trattato solo di scoprire l'indirizzo MAC del telefono e generare il file di configurazione secondo il modello. <\/p>\n<p>Spero che tu sia riuscito a leggere fino alla fine e che tu ne abbia tratto beneficio.<\/p>\n<p>Grazie per l'attenzione.<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.1.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\/it\/blog\/news\/voip-zoopark-provisioning\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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":"Introduzione Un giorno, la direzione ha approvato un esperimento per l'implementazione della telefonia IP nella nostra azienda.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/voip-zoopark-provisioning","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/30399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=30399"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30399\/revisions"}],"predecessor-version":[{"id":162001,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30399\/revisions\/162001"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=30399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=30399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=30399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}