nethesis / dev Goto Github PK
View Code? Open in Web Editor NEWNethesis issue tracker
Home Page: http://www.nethesis.it
Nethesis issue tracker
Home Page: http://www.nethesis.it
I report settimanali attualmente utilizzano i log di squidGuard.
Modificare il parser in modo che estragga i dati dai log di ufdbGuard.
Aggiungere il supporto della configurazione dei gateway analogici
Pacchetto: nethvoice-module-nethgateway
Il sistema deve inviare l'inventario al termine dell'evento di registrazione (nethserver-register-save
).
Se l'inventario non viene inviato, la pagina dettagli del server resta vuota e l'utente ha la sensazione che qualcosa non stia funzionando correttamente.
Pacchetto: nethserver-register
Ardad nei NethServer 6 gestiva l'elenco dei pacchetti installati e ricavava le categorie commerciali dei prodotti (NethService, NethSecurity ... ).
Lo script backup-alert genera un falso allarme quando il backup è stato configurato ma ancora non è mai stato eseguito.
Passi per riprodurre
/etc/cron.hourly/backup-alert
Versioni:
Rilasciare la nuova implementazione di nethserver-phonebook-mysql per NethVoice 11 su NethServer 7.
Da fare:
Lo script /etc/cron.hourly/backup-alert
, se il socket di collectd non è accessibile, genera una mail contenente questo errore:
Can't call method "send" on an undefined value at /etc/cron.hourly/backup-alert line 77.
Sistemare lo script in modo che non generi output in caso di errore.
La gestione del socket è stata migliorata nel pacchetto nethserver-collectd: NethServer/dev#5147
Il problema affligge anche i NethServer 6.
In NethServer 6 il problema si verifica per gli interni non associati a nessun utente perché l'interno telefonico contiene solo il campo nome.
In NethServer 7 il problema si verifica sempre perché gli utenti di sistema hanno solo il campo "nome".
Soluzione:
nascondere l'ordinamento per cognome.
A partire da CentOS 7, yum-cron è stato completamente riscritto.
Adattare la vecchia implementazione al nuovo software.
In particolare:
Scenario:
In questo scenario nethserver-inventory si blocca, bloccando a sua volta l'esecuzione del job cron.daily. Ogni ora viene loggato:
Oct 21 14:01:01 nethservice anacron[16043]: Job `cron.daily' locked by another anacron - skipping
Estratto del log:
Oct 21 03:45:02 nethservice run-parts(/etc/cron.daily)[22637]: starting nethserver-inventory
...
Oct 21 14:45:03 nethservice run-parts(/etc/cron.daily)[26908]: finished neussthserver-inventory
Alle 14:45:03 ho ucciso io puppet.
I telefoni Sangoma (S300, S500, S700) devono essere utilizzati con il click to call automatico come avviene per gli Yealink e Snom.
Pacchetto: nethcti-server
Come riprodurre:
La tabella viene creata da nethserver-nethvoice e viene usata anche da neth-queue-report e nethcti-server.
Gli indici da aggiungere sono "event" e "callid".
La necessità è sorta analizzando un problema di un box di un cliente, in cui la cpu era occupata in gran parte da mysqld che faceva query complesse per il servizio queue_recall del cti server.
Descrizione
Issue di riferimento per appuntare tutti i fix eseguiti per nethcti-server su NethVoice 13 - NethServer 7
Riprodurre:
Il cron job di nethserver-inventory genera un errore se non riesce correttamente a leggere la lista dei prodotti installati.
Il cron generare una mail con questo contenuto:
2016-10-22 07:31:54.359834 ERROR puppetlabs.facter - error while resolving custom fact "nh-products": A JSON text must at least contain two octets!
Il servizio è il pannello operatore all'interno del cti.
Il sotto-progetto interessato è neth-oppanel.
Durante il backup dei dati, capita spesso che il servizio nslcd risulti non avviato.
In realtà il server funziona correttamente, ma nethserver-alerts genera un allarme.
Sopprimere l'allarme mettendo il servizio nslcd in blacklist.
Solo per NethServer 6.
gli interni creati con il bulkextension non hanno l'utente settato nell'astdb. Questo comporta che non si possano creare registrazioni di sistema da quell'interno
Utente creato a mano:
/DEVICE/351/default_user : 351
/DEVICE/351/dial : IAX2/351
/DEVICE/351/type : fixed
/DEVICE/351/user : 351
Utente creato con bulkextension:
/DEVICE/352/default_user :
/DEVICE/352/dial : SIP/352
/DEVICE/352/type : fixed
/DEVICE/352/user :
Problema presente anche su NV11NS6.
Al momento della registrazione di un nuovo server, l'evento nethserver-register-save
deve espandere il template /etc/collectd.d/thresold.conf
e riavviare collectd
Questo accade solamente la prima volta che l'utente utilizza il pannello operatore dopo il login.
Il tab tutti non è visualizzato, ma nel primo tab dei gruppi vengono cmq visualizzati tutti gli utenti.
Un click su un altro tab e il ritorno sul primo, aggiusta la visualizzazione.
Riferimento: andrea
Descrizione:
Accade solo durante la prima chiamata dopo aver fatto login.
Riprodurre:
Riferimento: marchio
This is a place holder issue and can be ignored.
Nella directory /var/lib/nethserver/backup/
-rw-r--r--. 1 root root 135156 Nov 8 01:00 ldap-config.ldif
-rw-r--r--. 1 root root 202053 Nov 8 01:00 ldap-data.ldif
Il bit di lettura per tutti rappresenta un problema di sicurezza perché espone a tutti gli utenti del sistema gli hash (crypt e NTLM se c'è samba) delle password.
NOTA
La procedura di restore viene eseguita come utente ldap
. Pertanto il fix deve risultare in un file comunque leggibile dall'utente ldap
.
Il bug riguarda sia ns6 che ns7. Sarà necessario un back/forward-port.
Il comando weekly-report
con l'opzione -w YYYY:MM
dovrebbe fare mining dei dati delle settimane passate, però non funziona correttamente in quanto tiene conto sempre e solo dell'ultima settimana.
I grafici relativi al traffico web dei primi 10 host (hostWebTraffic
), mostra risultati molto diversi rispetto ai grafici di lightsquid.
Lo script /usr/share/phonebooks/phonebook
, genera dei file chiamati "1" senza contenuto.
Noto esempio: il file 1 nella home di root.
Il bug affligge le seguenti versioni:
Grazie a Filippo che ha scoperto l'arcano.
WebRTC\CTI: dopo aver eseguito una chiamata se si riaggancia rimane nella barra di ricerca il numero ma scompare il tasto verde per chiamare. Fare una qualsiasi modifica, come aggiungere uno spazio, rende di nuovo usabile il tasto. Premere il tasto enter funziona in ogni circostanza;
Riportato da massi
Se gli username degli utenti contengono il punto (.
), la funzionalità di chat
e di postit
non funziona correttamente.
Tutte le notti yum-cron genera mail con il seguente contenuto:
Not using downloaded repomd.xml because it is older than what we have:
Current : Tue Oct 18 12:22:12 2016
Downloaded: Thu Oct 6 16:17:52 2016
Warning: Group nethserver-iso does not have any packages to install.
Implementare due soluzioni distinti per le due notifiche:
su NethVoice 8 il limite file aperti era settato alla metà del limite di sistema da safe_asterisk. Siccome nella 11 non si usa più safe_asterisk, il limite è il default della configurazione di asterisk, che è 1000. Troppo poco per le installazioni medio-grandi. Aumentare questo limite
in /etc/asterisk/asterisk.conf:
;maxfiles = 1000 ; Maximum amount of openfiles.
"Se sono in conferenza e voglio aggiungere un numero dalla rubrica non
funziona, se lo clicco prova a fare un trasferimento della chiamata come
se fossi impegnato in una telefonata normale, invece essendo in
conferenza dovrebbe chiudermi la chiamata e chiamare il numero che ho
cliccato."
riferimento: andrea
Per riprodurre il bug
In /var/log/messages
compare l'errore:
Oct 18 09:33:55 vm5 esmith::event[5997]: Event: nethserver-dc-save Oct 18 09:33:55 vm5 esmith::event[5997]: Loaded plugins: changelog, fastestmirror, nethserver_events Oct 18 09:33:55 vm5 esmith::event[5997]: Oct 18 09:33:55 vm5 esmith::event[5997]: You have enabled checking of packages via GPG keys. This is a go od thing. Oct 18 09:33:55 vm5 esmith::event[5997]: However, you do not have any GPG public keys installed. You need to download Oct 18 09:33:55 vm5 esmith::event[5997]: the keys for packages you wish to install and install them. Oct 18 09:33:55 vm5 esmith::event[5997]: You can do that by running the command: Oct 18 09:33:55 vm5 esmith::event[5997]: rpm --import public.gpg.key Oct 18 09:33:55 vm5 esmith::event[5997]: Oct 18 09:33:55 vm5 esmith::event[5997]: Oct 18 09:33:55 vm5 esmith::event[5997]: Alternatively you can specify the url to the key you would like to use Oct 18 09:33:55 vm5 esmith::event[5997]: for a repository in the 'gpgkey' option in a repository section and yum Oct 18 09:33:55 vm5 esmith::event[5997]: will install it for you. Oct 18 09:33:55 vm5 esmith::event[5997]: Oct 18 09:33:55 vm5 esmith::event[5997]: For more information contact your distribution or package provider. Oct 18 09:33:55 vm5 esmith::event[5997]: Oct 18 09:33:55 vm5 esmith::event[5997]: Problem repository: nh-nethserver-updates
Usare PAM su nethserver 7 per visualizzare la lista degli utenti disponibili
Il problema si verifica quando ci sono molte code associate all'utente (prova effettuata con 8 code)
WebRTC: in caso di chiamata in errore (ad esempio cellulare non raggiungibile) si continua a sentire in cuffia sia il tono di squillo che l’errore dell’operatore;
Riferimento: massi
L'accesso in http deve essere redirezionato su https automaticamente.
Global symbol "$year" requires explicit package name at /usr/share/nethserver-report/miners/mail line 54.
si tratta di un typo, la variabile anzichè chiamarsi $year
si chiama $logyear
commit già fatto sulla versione 7, da riportare nel branch v6
E' necessario aggiungere la configurazione dei provider gestiti da Six Com e Open Solution.
Backport sulla 6
Pacchetto: nethvoice-module-nethvoipwizard
Descrizione
Issue di riferimento per appuntare tutti i fix eseguiti per nethcti-server su NethVoice 11 - NethServer 7
Nel wizard provisioning il mac address dei prodotti Sangoma è associato automaticamente ai gateway.
Adesso però sono supportati anche i telefoni #5017 quindi il wizard dovrebbe cercare di capire se si tratta di un telefono o di un gateway (collegandosi in http) e dovrebbe proporre solo la scelta corretta.
Se fosse possibile riconoscere il modello, come avviene per i telefoni yealink ad esempio, sarebbe utile.
Le funzionalità dei tasti linea dei telefoni Yealink sono aumentate nel tempo e la nostra configurazione è rimasta molto indietro.
Bisogna aggiornare le possibilità da dare in fase di configurazione dei tasti linea aggiornando i file:
Dal log del CTI
2016-12-07T15:35:43+01:00 - error: [plugins/dbconn_ast_proxy] get queue 505 recall of last undefined hours: Error: ER_SUBQUERY_NO_: Subquery returns more than
1 row
2016-12-07T15:35:43+01:00 - error: [plugins_rest/astproxy] Error: ER_SUBQUERY_NO_: Subquery returns more than 1 row
at Query.Sequence._packetToError (/usr/lib/node/nethcti-server/node_modules/mysql/lib/protocol/sequences/Sequence.js:32:14)
at Query.ErrorPacket (/usr/lib/node/nethcti-server/node_modules/mysql/lib/protocol/sequences/Query.js:82:18)
at Protocol._parsePacket (/usr/lib/node/nethcti-server/node_modules/mysql/lib/protocol/Protocol.js:172:24)
at Parser.write (/usr/lib/node/nethcti-server/node_modules/mysql/lib/protocol/Parser.js:62:12)
at Protocol.write (/usr/lib/node/nethcti-server/node_modules/mysql/lib/protocol/Protocol.js:37:16)
at Socket.ondata (stream.js:51:26)
at Socket.EventEmitter.emit (events.js:117:20)
at Socket. (stream_readable.js:720:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable (_stream_readable.js:392:10)
mysql> select * from queue_log where event IN ("ABANDON", "EXITWITHTIMEOUT", "EXITWITHKEY", "EXITEMPTY") AND TIMESTAMPDIFF(HOUR, time, now()) < 8;
+-----+----------------------------+----------------+-----------+-------+-----------------+------+-------+-------+-------+-------+-------+
| id | time | callid | queuename | agent | event | data | data1 | data2 | data3 | data4 | data5 |
+-----+----------------------------+----------------+-----------+-------+-----------------+------+-------+-------+-------+-------+-------+
| 143 | 2016-12-07 09:22:30.837079 | 1481098923.449 | 500 | NONE | ABANDON | | 1 | 1 | 14 | | |
| 146 | 2016-12-07 09:23:08.133335 | 1481098979.453 | 507 | NONE | ABANDON | | 1 | 1 | 9 | | |
| 153 | 2016-12-07 09:28:03.413667 | 1481099210.468 | 500 | NONE | EXITWITHTIMEOUT | | 1 | 1 | 60 | | |
| 156 | 2016-12-07 09:28:06.162209 | 1481099210.468 | 501 | NONE | ABANDON | | 1 | 1 | 3 | | |
| 159 | 2016-12-07 09:29:10.842161 | 1481099328.481 | 500 | NONE | ABANDON | | 1 | 1 | 4 | | |
| 162 | 2016-12-07 09:30:22.385495 | 1481099349.482 | 500 | NONE | EXITWITHTIMEOUT | | 1 | 1 | 60 | | |
| 169 | 2016-12-07 09:39:17.906298 | 1481099917.494 | 500 | NONE | ABANDON | | 1 | 1 | 30 | | |
| 188 | 2016-12-07 12:57:12.553060 | 1481111800.135 | 505 | NONE | ABANDON | | 1 | 1 | 16 | | |
| 202 | 2016-12-07 14:33:59.643834 | 1481117588.190 | 504 | NONE | ABANDON | | 1 | 1 | 39 | | |
+-----+----------------------------+----------------+-----------+-------+-----------------+------+-------+-------+-------+-------+-------+
La stessa chiamata (1481099210.468) è andata in timeout (EXITWITHTIMEOUT) nella coda 500, è entrata nella coda 501 ed è andata in abbandono (ABANDON).
Questo fatto provoca il fallimento della sub query evidenziata
SELECT b.company, b.name, cid, action, CAST(time as CHAR(50)) as time, direction, queuename FROM (SELECT TIMESTAMP(time) AS time, queuename, "IN" AS direction, "TIMEOUT" AS action, CAST(data1 AS UNSIGNED) AS position, CAST(data2 AS UNSIGNED) AS duration, CAST(data3 AS UNSIGNED) AS hold, (
SELECT data2 FROM queue_log z WHERE z.event="ENTERQUEUE" AND z.callid=a.callid
) AS cid, agent FROM queue_log a WHERE event IN ("ABANDON", "EXITWITHTIMEOUT", "EXITWITHKEY", "EXITEMPTY") AND TIMESTAMPDIFF(HOUR, time, now()) < 8 UNION ALL SELECT TIMESTAMP(time) AS time, queuename, "IN" AS direction, "DONE" AS action, CAST(data3 AS UNSIGNED) AS position, CAST(data2 AS UNSIGNED) AS duration, CAST(data1 AS UNSIGNED) AS hold, (SELECT data2 FROM queue_log z WHERE z.event="ENTERQUEUE" AND z.callid=a.callid ) AS cid, agent FROM queue_log a WHERE event IN ("COMPLETEAGENT", "COMPLETECALLER") AND TIMESTAMPDIFF(HOUR, time, now()) < 8 UNION ALL SELECT TIMESTAMP(calldate) AS time, l.queuename as queuename, "OUT" AS direction, IF (disposition="ANSWERED", "DONE", disposition) AS action, 0 AS position, 0 AS duration, 0 AS hold, dst AS cid, src AS agent FROM cdr c INNER JOIN queue_log l ON c.dst=l.data2 WHERE l.event="ENTERQUEUE" AND TIMESTAMPDIFF(HOUR, calldate, now()) < 8 AND TIMESTAMPDIFF(HOUR, time, now()) < 8 ORDER BY time DESC) queue_recall LEFT JOIN phonebook.phonebook b ON (queue_recall.cid=b.workphone OR queue_recall.cid=b.cellphone) WHERE queuename="505" GROUP BY cid ORDER BY time DESC
effettuata dalla funzione getQueueRecallQueryTable in /usr/lib/node/nethcti-server/plugins/dbconn/plugins/dbconn_ast_proxy.js
Provare a gestire la possibilità che una stessa chiamata possa fallire in più code o gestire il fallimento nella prima coda e l'esito positivo nella successiva.
Script: /usr/share/phonebooks/scripts/webtop2phonebook.php
Il bug è presente sia su NethServer 6 che su NethServer 7.
Pacchetto: nethserver-nethop
Come riprodurre:
Lo stesso problema accade quando viene personalizzato l'id nel fascio (campo "Identificativo Chiamante in uscita")
Riferimento: Luca
Aggiungere al provisioning la configurazione dei telefoni Sangoma S300, S500, S700.
Pacchetto: provisioning-data
Quando si tenta di chiamare un interno WebRTC da un telefono fisico, la chiamata termina inaspettatamente con il seguente errore:
[2016-10-18 15:13:28] ERROR[18253][C-0000000f]: res_rtp_asterisk.c:2131 __rtp_recvfrom: DTLS failure occurred on RTP instance '0x7f63d40427f8' due to reason 'missing tmp ecdh key', terminating
[2016-10-18 15:13:28] WARNING[18253][C-0000000f]: res_rtp_asterisk.c:3842 ast_rtcp_read: RTCP Read error: Unspecified. Hanging up.
Il problema è dovuto ad una incompatibilità di Asterisk 11 (e 13) con le librerie OpenSSL di CentOS 13.
Riferimenti:
Quando si effettua il mining dei dati delle settimane passate con il comando weekly-report YYYY:WW
viene sempre considerata l'ultima settimana.
Il grafico degli hostTraffic
mostra gli IP delle macchine anziché i loro nomi.
La pagina dell'hotpost non consente la selezione di VLAN come interfacce di rete.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.