domenica 17 febbraio 2008

Release 1.0.12.2

Ciao.

Abbiamo messo in linea il client 1.0.12.2, con aggiornamento non ancora mandatory. Il server è anche aggiornato con questa versione. Ci sono alcune modifiche lato client che documenterò, magari nella 1.0.13. Una di queste potrebbe migliorare la ricezione audio in modo sensibile.

Ci siamo accorti solo ora che per una serie di ragioni veongono inviati e propagati singoli pacchetti TCP di 96 byte con codifica gsm. I pacchetti cosi' piccoli, essendo una trentina al secondo, in condizioni di rete non ottimali, provocano ritardi e blocchi temporanei per l'handshake tcp necessario.

Ora, i pacchetti audio sono raggruppati in blocchi da 1400 bytes circa, per rientrare comunque nella dimensione dell MTU. La cosa è ragionevole porti miglioramenti. Ora i pacchetti in uscita ed in ricezione sono di 1400 bytes, circa 2 al secondo e non 30 da 96 bytes. L'aggiornamento del server implicitamente opera il raggruppamento sui dati inviati dai client precedenti. Stiamo a vedere.

Ci sarebbe da verificare se il limite di 1400 sia effettivamente vantaggioso o piuttosto conviene passare a 3000, anche se la latenza, sommata alle altre intrinseche nel sw diventa importante.

Stiamo ancora tergiversando prima di integrare anche trasmissioni UDP (connectionless). La strategia half-duplex ci permette di abusare di tcp e di non rendere importanti i ritardi di trasmissione per gli ack di protocollo.

Inoltre, nella lista delle cose importanti c'e' l'audio packet routing point to point, pronto ad essere implementato, non appena i canali point to point risultano stabili.

Ricordo che fino a questo momento, le trasmissioni PTP vengono utilizzate solo se dal "trasmittente" si possono vedere tutti i partecipanti con una connessione tcp diretta o inversa: in una conversazione tra 2 persone, almeno uno deve avere il firewall che mappa la porta di ingresso.

La porta di ingresso per le connessioni PTP e' impostabile (dal client precedente .1) a piacimento, ossia, se avete 3 client in una rete locale, potete aprire 3 porte esterne, ognuna che mappa sul rispettivo client. Il server COMUNQUE fa una verifica dopo il login sulla "raggiungibilità" del client dall'esterno, e la comunica al resto degli utenti, per cui anche lasciando attivata erroneamente la porta di ingresso non ci dovrebbero essere problemi.

Saluti.

Nessun commento: