Posts Tagged ‘Asterisk’

Voip PBX with Google Talk

08 set 2011

No Comments »

L’ultima novità in casa VoiceOne è la fresca integrazione con il mondo Google a partire da Google Talk il servizio di chat testuale, ma soprattutto vocale di Google e dalla sua ultima espansione nel mondo della telefonia attraverso il servizio di Google Voice. La versione 1.8.420 apre quindi la strada ad un mondo di possibili integrazioni tra VoiceOne ed il mondo Google, alcune già realizzate, altre in cantiere e molte ancora da pensare.

Con l’aggionamento all’utlima versione di VoiceOne sono stati integrati nella configurazione i moduli Jabber e GTalk di Asterisk. Le novità si concretizzano nella possibilità di creare trunk ed extension con la tecnologia di GTalk.

Un trunk GTalk non è altro che una linea associata ad un account della piattaforma Google e quindi un normalissimo account Gmail oppure, se si utilizzano le Google Apps, un indirizzo email della nostra società. Questa linea può essere utilizzata in ingresso ed in uscita per chiamare ed essere chiamati da altri account GTalk e, con l’avvento di Google Voice, chiamare in uscita numeri di telefonia fissa e mobile ricaricando il credito come si fa con Skype. In uscita la linea si comporta esattamente con un tradizionale trunk voip, mentre in ingresso è utilizzata per ricevere le chiamate da altri utenti GTalk che chiamano l’account associato alla linea stessa.

Un extension GTalk, invece, è un numero d’interno del centralino a cui è associato un account GTalk. Chiamando quel numero di interno, la chiamata verrà inoltrata dal sistema all’utente GTalk che la riceverà sul pannello web di Gmail/Google Apps oppure su un client software che supporti questo tipo di tecnologia. Se l’account GTalk configurato come interno chiama in ingresso l’account associato ad una linea GTalk del centralino, il sistema converte l’indirizzo email del chiamante in numero di interno, permettendo quindi agli utenti di richiamarlo in maniera del tutto trasparente.

Ed è solo l’inizio. Infatti a breve sarà possibile disporre di numerazioni geografiche da utilizzare attraverso Google Voice, mentre è già possibile chattare con utenti GTalk attraverso macro di Asterisk create ad hoc per la gestione di messaggi ed alert testuali, da inviare e ricevere. La porta sul mondo delle Google Apps è aperta!

How to setup Portech GSMBox MV-37X on VoiceOne

04 ago 2011

2 Comments »

In questo articolo vedremo come configurare un GSMBox Portech della serie MV-37X con VoiceOne. Questi apparati sono caratterizzati da un ottimo rapporto qualità/prezzo e permettono di interfacciare al nostro centralino linee GSM e UMTS. A seconda del modello dispongono di 1, 2, 4 o 8 alloggiamenti SIM configurabili sul centralino per essere gestite singolarmente in ingresso ed in uscita. In questo articolo vedremo la configurazione di un Portech MV-372 GSM (a 2 SIM), ma l’interfaccia e il modo di configurazione è lo stesso anche per gli altri prodotti della serie.

Come prima cosa creiamo in VoiceOne un nuovo Provider Voip per permettere la registrazione del GSMBox sul centralino. Per farlo, andiamo nella sezione Lines, alla voce Providers e scegliamo il link New Voip provider. Inseriamo quindi un nome di fantasia per il nostro nuvo provider, selezioniamo il tipo di host dynamic (in questo modo sarà il GSMBox a registrarsi sul centralino) e l’host address vuoto di conseguenza, valoriziamo il campo port con il range di porte 5060-5062 (vedremo in seguito perchè) e lasciamo come tecnologia SIP. Salviamo.

Ora dobbiamo creare i due account, uno per ogni SIM, che ci permetteranno di chiamare selezionando quale SIM vogliamo usare e di capire da quale sim arriva una chiamata in ingresso dal GSMBox. Per farlo clicchiamo, in corrispondenza del provider appena creato, il link Add a new Account. Valoriziamo per semplicità i campi name, username, password e confirm con sim1, selezioniamo la porta 5060 e inseriamo tra i Phone numbers il numero 10 (che ci servirà nel GSMBox per il routing delle chiamate). Non è necessario specificare nessun altro dato, salviamo pure la pagina.

Creiamo allo stesso modo l’altro account, quello per la seconda sim. Indichiamo come name, username, password e confirm il valore sim2 e selezioniamo la porta 5062. Tra i Phone numbers inseriamo il numero 20 (che ci servirà nel GSMBox per il routing delle chiamate). Salviamo la pagina.

Passiamo ora alla configurazione del GSMBox. Accediamo all’interfaccia Web dell’apparato inserendo username e password di autenticazione (voip/1234 sono i valori di default).

Nella prima sezione Route andiamo a definire gli instradamenti in ingresso come riportato sotto. Nella posizione 0 indicheremo come CID il valore * e come URL il valore 10 in riferimento alla prima SIM. Nella posizione 1 indicheremo sempre come CID il valore * ma come URL il riferimento alla seconda SIM ovvero 20.

Proseguiamo definendo gli instradamenti in uscita, questa volta uguali per entrambe le SIM. Inseriamo in posizione 0 ed in posizione 1 l’URL * e il CallNum # come riportato sotto.

Proseguiamo nella sezione Mobile. Per entrambe le SIM selezioniamo per il campo SIP From il valore “Tel/Tel (No Reg)” ed impostiamo  il campo CLID Presentation a ON, se vogliamo visualizzare in uscita il numero della SIM, oppure ad OFF se lo vogliamo nascondere.

Ci spostiamo poi nella sezione dedicata al SIP, ovvero all’interfacciamento con VoiceOne. In Service domain selezioniamo prima Mobile 1 ed inseriamo i parametri di configurazione dell’account sim1 (creato in precedenza in VoiceOne) accompagnato dall’indirizzo ip del nostro centralino. Selezioniamo poi Mobile 2 indicando allo stesso modo i parametri dell’account sim2.

Controlliamo ora che le porte associate ai due account siano le stesse specificate in VoiceOne (dovrebbe essere così di default). Dovremmo quindi avere 5060 per Mobile 1 e 5062 per Mobile 2.

L’ultimo parametro di configurazione da impostare è nella sezione SIP Responses. Qui dobbiamo impostare il “Response on Busy” a “503 Service Unavailable” e la voce “183 Session Progress” ad ON che ci permetterà di sentire squillare le chiamate in uscita solo dall’esatto momento in cui il telefono del chiamato inizierà effettivamente a squillare.

Prestiamo attenzione ad aver correttamente salvato ogni schermata e poi salviamo la configurazione con l’apposita opzione.

Il GSMBox si riavvierà registrandosi sul nostro asterisk (VoiceOne) e rendendo disponibili per le chiamate i due nuovi trunk. Le chiamate da e per la prima SIM saranno instradate sul trunk SIP/sim1, mentre quelle da e per la seconda SIM sul trunk SIP/sim2.

VoiceOne 1.8.410 released

15 lug 2011

No Comments »

Rilasciata la verisone di VoiceOne 1.8.410. Vedi il changelog e scarica la nuova versione.

Show the Caller ID on attended transfers

06 lug 2011

No Comments »

Il passaggio dell’identificativo chiamante (numero di telefono) durante il trasferimento consultativo è un problema noto all’interno del mondo Asterisk. Con il passaggio di VoiceOne dall’uso della versione 1.2 alla versione 1.8 di Asterisk il problema è stato in parte risolto, ma in parte rimane una questione aperta. Vediamo nello specifico.

Lo scenario vede generalmente una chiamata entrante da parte di un cliente, che supponiamo a titolo di esempio abbia il numero 0456677889, la quale viene risposta dall’interno 201 della nostra organizzazione. Prima di rispondere, come dopo aver risposto, il nostro interno 201 vede sul monitor del proprio telefono il numero chiamante 0456677889. Supponiamo ora che il chiamante chieda di parlare con l’interno 202. L’intreno 201 mette quindi in attesa la chiamata esterna e chiama l’interno 202. L’interno 202 vede comparire sul proprio telefono una chiamata in arrivo dall’interno 201. Risponde, e si sente annunciare che il cliente vuole parlare con lui. A questo punto l’interno 201 procede al trasferiemento, mettendo in comunicazione diretta il cliente con l’interno 202. Contestualemente al passaggio della chiamata, e questa è la grossa novità, viene passato anche l’identificativo chiamante del cliente, ovvero l’interno 202 smette di vedere a monitor il numero 201 che viene sostituito dal numero 0456677889. Nel vecchio Asterisk 1.2 questo ultimo passaggio non avveniva e l’interno 202 continuava a vedere il riferimento dell’interno 201 che lo aveva chiamato per annunciargli il trasferimento, anche una volta che questo era avvenuto ed era in linea con il cliente 0456677889.

Per avere questa funzionalità attiva su VoiceOne è necessario verificare che nella sezione Technologies, all’interno delle General Technology Options della tecnologia SIP,  il campo Sendrpid sia spuntato e valorizzato a PAI (impostazione di default dalla versione di voiceone 1.8.410 in poi).

Questa impostazione infatti permette l’attivazione della funzionalità sui telefoni Snom. Sui telefoni Yealink, invece, è necessario anche assicurarsi di aver valorizzato il campo Caller Id Header a RPID-PAI-FROM nella sezione Account >> Advanced.

Tutto perfetto? Quasi. Perchè se è vero che sono sempre di più i telefoni che supportano il passaggio dell’identificativo su trasferimento consultativo (ad es. Snom e Yealink lo supportano), questi registrano la chiamata come ricevuta salvando però il primo identificativo chiamante (quello dell’interno 201 nel caso precedente) e non lo aggiornano con quello passato nel trasferimento. Questo vuol dire che non comparirà quella conversazione nel nostro elenco delle chiamate, ma soprattutto che non potremo decidere di richiamare il cliente navigando tra le chiamate ricevute.

La questione rimane quindi aperta in attesa che i produttori di telefoni salvino l’identificativo della chiamata trasferita o almeno permettano di scegliere se farlo o meno.

No more missed calls with ring group

29 giu 2011

No Comments »

Una sostanziale differenza nell’uso dei gruppi tra il vecchio VoiceOne 1.0 ed il nuovo VoiceOne 1.8 è rappresentata dal fatto che le chiamate che allertano un gruppo di telefoni e che vengono risposte da uno di questi, non vengono più registrate come perse dagli altri. La differenza è dovuta principalmente al passaggio da Asterisk 1.2 ad Asterisk 1.8 ed è visibile su tutti quei telefoni (ad esempio Snom e Yealink) che supportano la segnalazione che Asterisk manda a tutti gli interni del gruppo se uno di questi risponde alla chiamata. Nella vecchia versione di Asterisk, così come per tutti quei telefoni hardware o software che non supportano questa specifica segnalazione, quando una chiamata faceva squillare un gruppo di interni ed uno di questi rispondeva, quest’ultimo si vedeva la chiamata registrata correttamente come “Chiamata Entrante” mentre gli altri la registravano come “Chiamata Persa”. Bastava quindi assentarsi dall’ufficio per una mezza giornata che, al rientro, si potevano trovare sul telefono decine di chiamate perse. Molte di queste chiamate però potevano essere state risposte da altri interni appartenenti agli stessi gruppi nei quali eravamo inclusi anche noi. Ora siamo sicuri che se al nostro rientro troviamo chiamate perse queste non sono effettivamente state risposte nè da noi, nè da un nostro collega.

Asterisk 1.8 queues in VoiceOne

28 giu 2011

2 Comments »

Con le ultime due release di asterisk (1.6 e 1.8) il funzionamento e l’utilizzo delle code è cambiato molto, limitandone l’uso allo stretto indispensabile e togliendo alcune possibilità utili nelle configurazioni di tutti i gironi.

Nella prima versione di VoiceOne (la 1.0), che si appoggiava all’ormai vecchio ma stabile asterisk 1.2, le code erano gestite in maniera statica, associando ad ognuna di esse uno o più agenti come member della coda. Ad ogni interno era infatti associato un agente il quale poteva essere volontariamente registrato o deregistrato dall’utente con delle apposite applicazioni. In questa maniera era possibile per ogni interno decidere dinamicamente di smettere di ricevere chiamate dalle code di cui faceva parte (deregistrando l’agente), senza dover inserire il DND e senza quindi rendersi irreperibile per tutti gli altri tipi di chiamata (interne, dirette, ecc…). L’interno poteva poi registrare nuovamente l’agente, abilitandosi alla ricezione delle chiamate in coda.

Il comando di Asterisk che permetteva questo funzionamento era l’ AgentCallbackLogin che è stato deprecato nella versione 1.4,  rimosso nella versione 1.6 e pertanto assente nella versione 1.8 di Asterisk. L’uso degli agenti si è ridotto quindi alla sola implementazione di call center avanzato, in cui gli utenti, una volta registrati alla coda con il comando AgentLogin, instaurano una chiamata permanente tra interno e centralino e sono di fatto sempre in linea. Su questo canale ricevono automaticamente le chiamate che arrivano in coda e vengono segnalate all’utente con un beep e possono venire riagganciate con la pressione di un tasto ed il conseguente invio di un tono dtmf. Questa soluzione però non è adatta all’uso che solitamente viene richiesto in fase di configurazione, ovvero che le chiamate vengano messe in coda e da li facciano squillare i telefoni in un ordine di priorità assegnata, saltando da telefono a telefono fino a ricevere risposta. Non si può infatti pretendere che chi risponde rimanga per tutta la durata della sua presenza in ufficio in linea con il centralino, tenendo pertanto occupato l’interno, in attesa che arrivi una chiamata.

La logica degli agenti rimane quindi attiva su Asterisk ma solo per usi avanzati che poco spesso, se non quasi mai, vengono richiesti. L’alternativa è l’uso diretto degli interni come member della coda. In VoiceOne 1.8 è infatti possibile indicare per ogni member la tecnologia che si desidera utilizzare:

  1. SIP/IAX: l’interno viene chiamato direttamente senza scatenare nessuna macro di gestione della chiamata
  2. Agent: la chiamata viene passata all’agente che deve essere registrato
  3. Local: viene chiamato l’interno associato attraverso le macro e la gestione della chiamata di VoiceOne

Delle tre la configurazione di default è la prima, ovvero quella che prevede l’utilizzo della tecnologia dell’interno. Il primo limite di questa configurazione è l’impossibilità di de-registrarsi dalle code, smettendo di ricevere chiamate da esse. Un altro punto dolente è l’impossibilità di far suonare un gruppo di interni e successivamente un altro gruppo di interni indicando per gli interni che si vuole suonino insieme la stessa priorità. In caso di interni con uguale priorità, Asterisk allerterà sempre e solo un interno, il primo libero. E’ quindi possibile far suonare tutti i membri della coda (con la strategia ringall) oppure un membro alla volta, scegliendolo pseudo-casualmente (strategia random) con memoria (stategia rrmemory) o in ordine di priorità (strategia linear). Il vantaggio rispetto all’uso dei canali Local è che nel CDR di Asterisk apparirà solo una riga, indipendentemente da quanti salti sono stati effettuati prima che la chiamata venisse risposta. Con l’uso dei canali Local (come avveniva con l’uso dei vecchi Agenti) infatti viene generata una chiamata ogni volta che viene allertato un telefono con un’esplosione di righe di log nel CDR e la conseguente difficoltà di lettura.

L’unico modo di far suonare diversi gruppi di telefoni in coda sembra essere descritto qui attraverso l’uso del QUEUE_MAX_PENALTY. Una gestione di questo tipo deve essere però stabilita con una macro apposita e altamente personalizzata in funzione della configurazione desiderata, risultando difficilmente manutenibile nel tempo e poco chiara.

Un’alternativa c’è ed è quella di gestire le chiamate con una macro che allerti prima un gruppo di interni ed in mancanza di risposta ne allerti un’altro, per poi tornare eventualmente al primo gruppo formando un ciclo; il tutto riproducendo al chiamante una muscia d’attesa. Chiaramente in questo caso si perdono alcune funzionalità proprie della coda come: il mantenimento della priorità delle chiamate e il messaggio periodico. Queste limitazioni, tuttavia, sono sopportabili se il traffico telefonico non è elevato ed il tempo di risposta medio è basso.

La questione rimane tuttavia aperta, a questa guida ne seguiranno altre che approfondiranno ulteriormente il problema e forniranno nuovi strumenti per lavorare con le code.

VoiceOne and Asterisk 1.8

03 dic 2010

No Comments »

Il team di VoiceOne sta lavorando in questi giorni all’aggiornamento ad Asterisk 1.8 del proprio sistema. Questo aggiornamento porterà una serie di nuove features al sistema VoiceOne, tra le quali:

  1. integrazione con Skype
  2. possibilità di chattare con gli interni e vederne lo stato da pc
  3. gestione dei fax in T.38

    Queste sono solo alcune delle nuove features che saranno presenti nelle prossime versioni di VoiceOne. In concomitanza con l’uscita delle nuove versioni commerciali, verrà anche rilasciato il codice open source aggiornato alla community.