PIXEL

Progetto personalizzazione da Linphone a APJPhone

Android 6.0.1

Il progetto di personalizzazione da Linphone a APJPhone prevede, come già accennato in “APJPhone SIP phone da Linphone – rimani connesso“, di “legare” l’app all’operatore che l’ha commissionata.

Con il primo intervento, ho portato avanti la modifica su Android, il progetto di sviluppo ha riguardato prevalentemente il codice in JAVA e l’utilizzo dei file XML per l’interfaccia utente. Java non lo “toccavo” da un po’ di tempo, “Android Studio“, come sopra per cui il progetto, allo stato attuale, mi ha richiesto un mese di intervento.

 

Hello World

class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Prints the string to the console.
    }
}


iOS 9

Passata la fase Beta, per quest’app e anche prima (credo alla fine di agosto 2016), inizierò lo stesso tipo di progetto su iOS per iPhone ovvero in Objective-C e tutti gli script connessi. Spero che la “somiglianza” tra Java e Objective-C mi permetterà di accorciare i tempi, ma la vedo dura e sempre che la stessa somiglianza li abbiano i due progetti della Belledonne Communications.

 

Codice Objective-C

- (id)init {
    self = [super init];
    if (self) {
        // perform initialization of object here
    }
    return self;
}


Linphone in breve:

Linphone Logo

L’app(licazione) Linphone, con copyright Belledonne Communications, è un SIP (nè Societa Italiana per l’Esercizio Telefonico nè Societa Italiana di Pediatria) – Session Initiation Protocol – phone che sfrutta il VoIP per la comunicazione via rete dati con licenza GPL v.2. Permette di usare la voce, il video e la chat (comunicazione digitata, organizzata per stanze virtuali ed in questo caso fra utenti che usano i SIP phone) sfruttando il protocollo SIP con differenti trasporti (UDP, TCP e TLS).

La versione in distribuzione permette di registrarsi a diversi SIP server.

Se la registrazione avviene presso i server di Linphone, c’e’ la parte lato server che fa una serie di controlli sull’utente e raccoglie il log di debug. Le possibilità d’uso sono molte e piu’ complesse da come le ho sintetizzate, ma quest’argomento lo affronterò successivamente.

Perche’ Linphone? Perche’, fra le tante distribuzioni open source in circolazione, è una di quelle che viene ancora seguita, nel senso ancora sviluppata in open source, dai suoi creatori. Ho anche testato altri sorgenti, ma mi sono risultati tutti indietro nel tempo come aggiornamenti.

Struttura di Linphone, per chi vuole approfondire.

Le modifiche:

Personalizzazione da Linphone a APJPhone

Le mie modifiche inteverranno in modo “impedire” la modifica del SIP server, impegnando quello imposto dall’operatore e non consentendone la modifica. Chiaramente l’app, nella sua versione finale, sarà fidelizzata e brandizzata per l’uso dello specifico dell’operatore. Che impegnerà anche delle sim (telefoniche) di propria distribuzione.

La prima parte che ho realizzata per intero è la parte server. Ovvero quella parte che si occupa di fare diverse verifiche e completare una delle richieste fattemi.

Questa parte è scritta in PHP. Si avvale del supporto di MySQL, su tabelle precostituite per un’interfaccia web di “billing” come ASTPP. Questa, a sua volta, si ricollega al server SIP Freeswitch. Se non è molto chiaro, uno di questi giorni, vi farò uno schema di chiarimento.

Server

La parte server in breve:

    • controlla se l’utente è presente negli archivi di ASTPP e se la password, digitata dall’utente, e’ coerente;
    • se presente negli archivi (l’utente), ne autorizza l’accesso e ne permette la registrazione sul server SIP, rendendolo operativo per le chiamate in ingresso e in uscita;
    • se assente (sempre l’utente), l’app richiede le corrdinate di accesso. Il server gli attribuisce un nome account ed un numero utilizzabile per le chiamate pubbliche (fase promozionale dell’operatore). In un futuro prossimo questa possibilità non verrà piu’ data se non con l’acquisto del numero da parte dell’utente;
    • dal punto di vista del servizio, il server, procede a creare anche il SIP Device che si interfaccia direttamente col server SIP;
    • spedire un’email di riepilogo ed conferma di avvenuta registrazione (l’email viene richiesta all’atto della registrazione, sull’app);
  • l’account creato permetterà di fruire anche di una interfaccia web (che verrà comunicata all’utente dopo la registrazione via email) di amministrazione del proprio account con l’operatore (Dati personali, crediti e debito, elenco chiamate, etc.).



L’App

La parte dell’App:

  • brandizzare;
  • bloccare la modifica del SIP server;
  • completare la traduzione nelle varie lingue (ogni tanto mi occupo dell’italianizzazione);
  • aggiungere l’uso del GPS;
  • richieste varie ed eventuali.


Facile no? … Ma Windows CE?

Hits: 293

%d blogger hanno fatto clic su Mi Piace per questo: