[How To] Installare centralino Voip Asterisk multifunzione

Asterisk Support Forum. Discussioni generali.

Moderatori: rgbsyst3m, asterweb

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Settare la lingua Italiana in Asterisk

Messaggio da pilovis » lunedì 27 aprile 2015, 6:16

Occorre, da utente "root", creare la directory "it" in /var/lib/asterisk/sounds

mkdir /var/lib/asterisk/sounds/it

dargli i permessi per l'utente e gruppo asterisk:

chown asterisk:asterisk /var/lib/asterisk/sounds/it

copiare dentro questa directory tutti i files e le directories estratte dai files compressi in lingua Italiana scaricati dal mio sito (http://www.lovisolo.com/asterisk/softwa ... _asterisk/),

poi entrare nella dir appena creata "/var/lib/asterisk/sounds/it":

cd /var/lib/asterisk/sounds/it

e dare ai nuovi files e directories i permessi per l'utente e gruppo asterisk:

chown asterisk:asterisk * -R

nota: attenzione a dare questo ultimo comando solo se si e' sicuri di essere dentro la cartella giusta (/var/lib/asterisk/sounds/it).

Come ultima cosa, settare in FreePBX > Tools/Strumenti > Asterisk SIP settings, nel campo "Language" il valore"it" (senza virgolette),
il parametro "it" deve anche essere messo nelle Rotte in entrata, nel campo "Language"

---------------------------------------------

Solo se non si usa FreePBX, ma Asterisk puro, per settare la lingua Italiana, seguire le istruzioni di cui sopra e poi aggiungere in "/etc/asterisk/sip.conf" la riga "language=it" (senza virgolette)

---------------------------------------------
P.S.: ho aggiornato la mia guida per FreePBX con queste istruzioni,
verificate sempre le mie guide, perche' sono aggiornate abbastanza di frequente, con nuove indicazioni ed eventuali correzioni.
http://www.lovisolo.com/asterisk/
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Ricevere SMS e USSD sul chan_dongle 3G e inoltrali tramite email

Messaggio da pilovis » sabato 9 maggio 2015, 11:41

La prima parte, e cioe' la configurazione per l'inoltro tramite email degli SMS che arrivano sul dongle GSM collegato al nostro centralino tramite chan_dongle, l'ho gia' postata tempo fa, ma ora vi dico come inoltrare per email anche gli USSD (http://www.fastweb.it/smartphone-e-g...a-cosa-servono).

Per chiarezza riporto nuovamente anche la parte di configurazione delle estensioni relative agli SMS.

editare il file "/etc/asterisk/extensions_custom.conf"

sudo nano /etc/asterisk/extensions_custom.conf

inserire alla fine del file le seguenti righe:

[from-pstn]

;
; quando arriva un SMS sul dongle, asterisk lo legge (numero mittente e testo) e lo inoltra tramite mail
; all'indirizzo destinatario@provider.com
; Sendmail o Postfix devono essere installati e configurati sul centralino
;
exten => sms,1,Noop(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})})
exten => sms,2,System(echo 'From: ${CALLERID(num)} <mittente@provider.com>\nTo: <destinatario@provider.com>\nSubject:Ricevuto SMS\nRicevuto da: ${CALLERID(num)}\n${BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.txt)
exten => sms,3,System(sendmail -t -f mittente@provider.com < /var/log/asterisk/sms.txt)
exten => sms,4,System(rm -f /var/log/asterisk/sms.txt;)
exten => sms,5,Hangup()

;
; quando arriva un USSD sul dongle, asterisk lo legge (dongle-num e testo) e lo inoltra tramite mail
; all'indirizzo destinatario@provider.com
; Sendmail o Postfix devono essere installati e configurati sul centralino
;
exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})})
exten => ussd,2,System(echo 'From: ${CALLERID(num)} <mittente@provider.com>\nTo: <destinatario@provider.com>\nSubject:Ricevuto USSD\nRicevuto il: ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME}: ${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd.txt)
exten => ussd,3,System(sendmail -t -f mittente@provider.com < /var/log/asterisk/ussd.txt)
exten => ussd,4,System(rm -f /var/log/asterisk/ussd.txt;)
exten => ussd,5,Hangup()

Salvare con ctrl+o e uscire con ctrl+x

nota bene: alcune righe sono spezzate in piu' righe da questo forum, ma sono un'unica riga!

riavviare FreePBX con il comando

sudo amportal restart

---------------------------------------------------------------------

Per inviare un USSD entrare da console come root sulla cli di Asterisk con il comando

sudo asterisk -vvvr

e poi dare il comando direttamente dalla cli:

dongle ussd dongle(num) codice_USSD


Esempio per disattivare il servizio "Ti ho cercato:" della 3 che da Luglio diventera' a pagamento :

CLI> dongle ussd dongle0 *112#

La risposta del server la riceverete per email nel seguente formato:

Oggetto: Ricevuto USSD
Data: 03/05/2015 18:05:24

Ricevuto il: 2015-05-03 18:05:24 - dongle0: Ti ho cercato: disattivato

Qui troverete un interessantissimo elenco dei codici USSD e delle loro funzioni:
http://emmepole.altervista.org/cell/codici.html
copiate e incollate questo collegamento nel browser, altrimenti non funziona.
---------------------------------------------------------------------

Invece per inviare un SMS da cli di asterisk questo e' il comando:

dongle sms dongle(num) +39numero testo del SMS

esempio:

CLI> dongle sms dongle0 +393273921955 questo e' un messaggio SMS di test

il numero +393273921955 ricevera' quindi un SMS con il testo "questo e' un messaggio SMS di test "

---------------------------------------------------------------------

Per ricevere un SMS con il numero e nome (se presente in rubrica di FreePBX) di chi sta chiamando, ecco la porzione di estensione da mettere nel dialplan:

exten => s,n,DongleSendSMS(dongle0,+39numero,chiamata ricevuta il: ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - da: ${CALLERID(name)} ${CALLERID(number)})

nota: sostituire +39numero con il numero a cui inviare il SMS (in formato internazionale +39xxxxxxx)
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Semplice pagina WEB per inviare SMS con chan_dongle

Messaggio da pilovis » sabato 16 maggio 2015, 10:17

Esempio:

http://www.lovisolo.com/asterisk/softwa ... MS-DONGLE/

Ci sono solo due files: "index.php" e "style.css", da mettere all'interno di una directory dedicata sotto "/var/www" (es. /var/www/messaggi) e che va poi possibilmente protetta con .htaccess.

-------------------
- File index.php:
-------------------

<?php
/************************************************** *******************
* Chan_Dongle SMS Script v.0.01
* for The Raspberry Asterisk
*
* Author: Troy Nahrwold
* Email: Troy(at)eternalworks(dot)com
* Company: Eternal Works
* Website: http://www.eternalworks.com
*
* Disclaimer:
* This product is solely a private production of the above named
* author, and is neither endorsed nor supported by Eternal Works.
* Although this product has been thuroughly tested, it is
* distributed AS IS, and the author assumes no liability for any
* damages this script may cause to your system. The author
* has provided full source code and encourages you to review the
* source code to determine any effects it may have on your system.
*
* (c) Copyright 2011, Troy A Nahrwold, Eternal Works, LLC.
* All Rights Reserved.
* Versione in Italiano di pilovis
************************************************** *******************/

$dongle = "dongle sms dongle0 ";
$ini = "'";

if(isset($_REQUEST['phonenumbers']) && !empty($_REQUEST['phonenumbers']) && !empty($_REQUEST['message']))
{
$message = substr($_REQUEST['message'],0,160);
$phonenumberarray1 = explode(' ',$_REQUEST['phonenumbers']);
$phonenumberarray2 = array();
$phonenumberarray3 = array();

foreach ($phonenumberarray1 as $phonenumber)
{
$phonenumberarray2 = array_merge($phonenumberarray2,explode(',',$phonen umber));
}
foreach ($phonenumberarray2 as $phonenumber)
{
$phonenumberarray3 = array_merge($phonenumberarray3,explode("\n",$phone number));
}

$output = "Testo: $message<br><br>\n";
foreach ($phonenumberarray3 as $phonenumber)
{
$runcommand = '/usr/sbin/asterisk -rx' . $ini . $dongle . $phonenumber . " " . $message . $ini;
$output .= "Invio messaggio a: $phonenumber<br>\n";
exec($runcommand);
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>SMS Messaging for Asterisk</title>
<link rel="stylesheet" href="style.css" type="text/css">

</head>
<script type="text/javascript">
/**
* Подсчет количества символов и стоимость написание текста в JavaScript
**/
function countChar() {
//Записываем ссылки на элементы в переменные
var count_char_textarea = document.getElementById("message");
// count_char_textarea.value = count_char_textarea.value.length;
var char_length = document.getElementById("char_length");
//Считаем
if ( count_char_textarea.value.length > 160 ) {
count_char_textarea.value = count_char_textarea.value.substr(0, 160);
}
char_length.innerHTML = count_char_textarea.value.length;
}
</script>

<hr>
<body bgcolor="#84b0fd" text="#030303" link="#9abcde">

<a href="./index.php"><h2 align="center"></h2></a>

<table border="0" cellspacing="0" cellpadding="1" width="600" bgcolor="#ffffff" align="center">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="3" width="100%" bgcolor="#ffffff" align="center">
<tr bgcolor="#abcdef">
<td><b><?php echo $output; ?></b></td>
</tr>
<tr><form action="index.php" method="post">
<p><b>Numero di cellulare:</b> <br><font size="-2">(Formato: +39XXXXXXXX)</font></p>
<textarea id="phonenumbers" name="phonenumbers"></textarea>

<p><b>Testo del messaggio:</b> <br> <font size="-2">(Massimo 160 caratteri, se superiore il messaggio verra' troncato) </font></p>
<textarea id="message" name="message" size="160" rows="6" cols="30" onchange="countChar()" onkeyup="countChar()"></textarea><br /><br/>
<font size="2">conteggio caratteri del messaggio: <span id="char_length"> 0 </span></font>
<p>
<button type="submit">Invia Messaggio</button><br /><br />
</form></tr>
</table>
</dd>
<p></td>
</tr>
<tr>
<td bgcolor="#ffffff"><a href="javascript:history.back()">Invia lo stesso messaggio ad altro numero</a></td>
</tr>
</table>
</td>
</tr>
</table>
<p>
</td>
</tr>
</table>
<hr>
</body>
</html>

-------------------
- File style.css:
-------------------

<style type="text/css">
<!--
body,td,form,textarea,input,p {
font-family: Arial, Helvetica;
font-size: 12pt;
color: #030303;
}
a {
text-decoration: none;
color: #456789;
font-weight: bold;
}
h1 {
color: #ffffff;
font-size: 16pt;
font-weight: bold;
}
h2 {
color: #ffffff;
font-size: 14pt;
font-weight: bold;
}
-->
</style>
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

FXS dei poveri, ovvero come connettere un telefono analogico ad Asterisk

Messaggio da pilovis » martedì 19 maggio 2015, 21:36

Visto che abbiamo costruito il nostro centralino praticamente senza spesa, utilizzando un vecchio PC e un economico chiavino USB 3G per fare il canale GSM, manteniamo questa buona abitudine e facciamoci un FXS (http://www.3cx.it/voip-sip/fxs-fxo/) per connettere fino a due telefoni analogici (anche cordless) al nostro centralino Asterisk :D

P.S.: senza spesa non significa inaffidabile, il nostro centralino da del filo da torcere ai centralini professionali piu' blasonati, il mio e' in funzione ininterrottamente da 4 anni senza mai un problema, con 10 canali con i protocolli piu' svariati, tra cui SIP, PSTN (FXS e FXO), IAX2, FAX, Skype, GSM, SMS, Gvoice e Jabber, manca solo ISDN perche' non ho la linea :lol: .

Torniamo al nostro apparecchio, quello che serve e' un vecchissimo router ADSL (anno 2005) marchiato Pirelli o Tiscali modello Netgate Voip, si trova dai rigattieri, rottamai e mercatini dell'usato a 5/10 Euro.
Questo Router lo vendeva anche la Belkin per il mercato Australiano e noi useremo proprio il firmware della Belkin.
Il router non ha il WiFi e ha solo una porta LAN, ma a noi basta, eventualmente se servissero, per pochi soldi si possono collegare uno switch di rete e un access point WiFI.

Il router e' questo:

http://www.lovisolo.com/asterisk/softwa ... iscali.jpg
http://www.lovisolo.com/asterisk/softwa ... scali2.jpg


- Istruzioni per il cambio del Firmware (necessario per attivare la funzionalita' VOIP su canale SIP)

Scarica il nuovo firmware da qui: http://cache-www.belkin.com/support/dl/ ... _0_.41.bin
o da qui: http://www.lovisolo.com/asterisk/softwa ... _0_.41.bin

Spegni il router,
tieni premuto il tastino di reset sul retro (usare uno spillo) e poi accendi il router tenendo premuto il reset per qualche secondo,
sul frontalino avrai led ONLINE lampeggiante (tutto OK),
imposta sul tuo PC la scheda di rete a 192.168.2.100 - subnet 255.255.255.0 - gateway 192.168.2.1,
collega il tuo PC direttamente al router con un cavo di rete o tramite uno switch,
collegati qua: http://192.168.2.1 e avrai la maschera per aggiornare il firmware,
scegli il file precedentemente scaricato (.bin) e lancia l'upgrade del firmware, nella maschera di upgrade del firmware, nel menu a tendina "Upgrade Target" scegliere "Runtime Code".
Attendi pazientemente il reset del router senza spegnerlo (ad aggiornamento completato il router dovrebbe riavviarsi, si spengono tutti i leds e poi si riaccendono, se non succedesse attendi almeno 5 minuti e poi riavvia manualmente il router),
quando il router si riavvia, rimetti la tua scheda di rete in DHCP (oppure 10.1.1.100 - subnet 255.255.255.0 - gateway 10.1.1.1) e accedi con il browser all'indirizzo http://10.1.1.1/setupa.stm , password: admin (e' il nuovo indirizzo del router dopo l'aggiornento).
Se dopo aver messo la password (admin) il router va su un Wizard in cui vi chiede di inserire la nazione e il provider, voi inserite manualmente l'indirizzo http://10.1.1.1/setupa.stm nel browser e cliccate invio, dovreste arrivare direttamente alla pagina delle configurazioni avanzate.

In ogni caso, questi sono gli indirizzi per accedere direttamente alla varie pagine di configurazione:

http://10.1.1.1/setupa.stm
http://10.1.1.1/atmpvc.stm
http://10.1.1.1/voip_port.stm
http://10.1.1.1/voip_sip.stm
http://10.1.1.1/voip_sip_advanced.stm
http://10.1.1.1/voip_adv_port.stm
http://10.1.1.1/info_voip.stm
http://10.1.1.1/route_tbl.stm
http://10.1.1.1/nat.stm

Avrai un router ADSL2+ universale con due canali VOIP con uscita analogica PSTN, da usare con qualsiasi provider VOIP come Eutelia o Messagenet o ad un centralino Asterisk remoto.

Se invece vuoi collegarlo direttamente in LAN (senza funzionalita' ADSL) al centralino Asterisk per connettergli i telefoni analogici come interni, allora aspetta il prossimo post dove mettero' le configurazioni per questo uso.

Note: volendo si puo' anche usare il firmware Eutelia per questo router (cercalo con Google), ma io lo sconsiglio perche' e' piu' veccho di due anni di quello riportato sopra e ha dei problemi sul mantenimento della registrazione VOIP.
Questo apparecchio, come ogni altra interfaccia FXS, non va bene per connettere un centralino Asterisk ad una linea telefonica analogica (quella Telecom per capirci), per questo uso ci vuole un'interfaccia FXO, questo apparecchio invece permette di collegare dei telefoni analogici a linee VOIP.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


rgbsyst3m
Utente
Messaggi: 103
Iscritto il: martedì 22 gennaio 2013, 12:23

Re: [How To] Installare centralino Voip Asterisk multifunzione

Messaggio da rgbsyst3m » mercoledì 20 maggio 2015, 19:15

ciao
in passato utilizzavo un pirelli DRG A226m venduto sotto contratto da fastweb ,ebbene anche con questo modello si puo' trasformare in un ATA utilizzando la porta ethernet.
Si puo' fare anche con il modem di alice la versione Alice gate 2 plus ( AGPF ) quello prodotto da pirelli (no dial face),ma per questo modello ci vedo bene il porting WRT....

ciao

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Corso Asterisk/FreePBX gratuito

Messaggio da pilovis » venerdì 22 maggio 2015, 12:40

Siccome mi stanno arrivando molte richieste di aiuto per l'installazione di un centralino Asterisk, stavo valutando di organizzare un corso gratuito e aperto a tutti.
Pensavo ad un corso multiutente in videoconferenza Skype o con tecnologia analoga dove posso condividere il mio desktop, farmi sentire e sentire tutti i partecipanti.

Il corso dovrebbe essere relativo all'installazione e configurazione di un centralino Voip per un uso casalingo o lavorativo per un professionista o piccola ditta, con tutte le configurazioni di base:

- creazione interni
- accesso e utilizzo del centralino tramite Smartphone esterno
- creazione e configurazione linee telefoniche SIP (Eutelia/Clouditala e Messagenet)
- tutti i messaggi vocali in Italiano
- segreteria telefonica con ascolto tramite telefno o tramite pannello web
- messaggi di benvenuto e chiusura personalizzati
- filtro anticallcenter
- eventuale blocco chiamate anonime
- rubrica telefonica per la visualizzazione sul disply del telefono del nome di chi chiama oltre al numero.

Il corso richiede che si abbia a disposizione una macchina reale o virtuale con le seguenti caratteristiche minime:

Processore: 1 Ghz
RAM: 512 Mbytes
HD: 20 Gbytes
Scheda Video: VGA
Scheda audio: non necessaria
Scheda rete: 10 Mbit/s

Successivamente si possono ipotizzare uno o piu' corsi successivi per le configurazioni avanzate e per gli interfacciamenti del centralino verso linee esterne: PSTN, ISDN, GSM, FAX, SMS, Skype e XMPP.

Indicativamente il corso avra' una durata di 8 ore suddivise in 4 sessioni di due ore ciascuna.

Se qualcuno fosse interessato mi mandi un messaggio privato tramite questo forum.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Patch per Chan_Dongle per impossibilita' di ricevere SMS da alcuni fornitori di servizi

Messaggio da pilovis » domenica 7 giugno 2015, 14:13

Mi sono accorto che gli SMS inviati da alcuni fornitori di servizi web, come ad esempio dal sito Postepay per il codice di sicurezza OPT per le transazioni online, non passano e generano un errore con un testo simile a questo: [dongle0] Error parsing incoming message '+CMGR:

Ecco come risolvere:

andare nella directory in cui avete decompresso i sorgenti del pacchetto chan_dongle (se avete seguito la mia guida sara' /root//chan_dongle-1.1.r14) ,

editare il file "pdu.c" con il seguente comando:

sudo nano pdu.c

modificate la parte:

digit = pdu_code2digit(pdu[0][1]);
if(digit <= 0)
return -1;
*number++ = digit;
digit = pdu_code2digit(pdu[0][0]);
if(digit < 0 || (digit == 0 && (syms != 2 || (digits & 0x1) == 0)) || (digit!=16))
return -1;
*number++ = digit;

come segue:

digit = pdu_code2digit(pdu[0][1]);
/* if(digit <= 0)
return -1; */
*number++ = digit;
digit = pdu_code2digit(pdu[0][0]);
/* if(digit < 0 || (digit == 0 && (syms != 2 || (digits & 0x1) == 0)) || (digit!=16))
return -1; */
*number++ = digit;

Salvare il file modificato con con Ctrl+X ,

poi sempre in questa directory dare i seguenti comandi per ricompilare il pacchetto chan_dongle:

./configure
sudo make
sudo install

e poi riavviare Asterisk e FreePBX:

sudo amportal restart

Nota: questa modifica consiglio di farla comunque, anche se non avete riscontrato problemi nella ricezione degli SMS.
Ultima modifica di pilovis il giovedì 11 giugno 2015, 0:18, modificato 3 volte in totale.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Patch per Chan_Dongle SMS definitiva

Messaggio da pilovis » domenica 7 giugno 2015, 15:55

Entrando un po' piu' nel dettaglio del problema precedente, ho capito che quando il mittente di un SMS non e' in formato numerico puro e contiene del testo, chan_dongle genera un errore e il SMS non viene ricevuto.
Ad esempio gli SMS inviati dal sito Postepay hanno come mittente: "PosteInfo".

La patch del post precedente risolve il problema della ricezione del corpo del SMS (quando ha del testo nel campo mittente), ma non riceve il mittente del messaggio perche' lo scarta e al suo posto c'e' un codice strano (es. 0B7), per risolvere definitivamente il problema ecco come fare.

Entrare nella directory in cui abbiamo scompattato originariamente chan_dongle:

cd /root/chan_dongle-1.1.r14

facciamo una copia del file originale per sicurezza:

sudo cp pud.c pdu.c.bak

creiamo il file con la path:

sudo nano patch.pdu.c

all'interno inseriamo il seguente testo:

--- pdu.c
+++ pdu.c
@@ -182,6 +182,8 @@
*/

#define NUMBER_TYPE_INTERNATIONAL 0x91
+#define NUMBER_TYPE_NATIONAL 0xC8
+#define NUMBER_TYPE_ALPHANUMERIC 0xD0

/* Message Type Indicator Parameter */
#define PDUTYPE_MTI_SHIFT 0
@@ -229,6 +231,7 @@

#define PDU_PID_SMS 0x00 /* bit5 No interworking, but SME-to-SME protocol = SMS */
#define PDU_PID_EMAIL 0x32 /* bit5 Telematic interworking, bits 4..0 0x 12 = email */
+#define PDU_PID_SMS_REPLACE_MASK 0x40 /* bit7 Replace Short Message function activated (TP-PID = 0x41 to 0x47) */

/* DCS */
/* bits 1..0 Class */
@@ -455,6 +458,14 @@
char digit;
if(*toa == NUMBER_TYPE_INTERNATIONAL)
*number++ = '+';
+ // BEGIN oioki proposed patch 2013-07-24
+ if(*toa == NUMBER_TYPE_ALPHANUMERIC)
+ {
+ for(; syms > 0; syms --, *pdu += 1, *pdu_length -= 1)
+ *number++ = pdu[0][0];
+ return *pdu - begin;
+ }
+ // END oioki proposed patch 2013-07-24
for(; syms > 0; syms -= 2, *pdu += 2, *pdu_length -= 2)
{
digit = pdu_code2digit(pdu[0][1]);
@@ -690,10 +701,11 @@
{
int pid = pdu_parse_byte(pdu, &pdu_length);
*oa_enc = STR_ENCODING_7BIT;
+ if (oa_toa==NUMBER_TYPE_ALPHANUMERIC) *oa_enc = STR_ENCODING_7BIT_HEX;
if(pid >= 0)
{
/* TODO: support other types of messages */
- if(pid == PDU_PID_SMS)
+ if( (pid == PDU_PID_SMS) || (pid & PDU_PID_SMS_REPLACE_MASK) )
{
int dcs = pdu_parse_byte(pdu, &pdu_length);
if(dcs >= 0)

salviamo con Ctrl+x

applichiamo la patch:

sudo patch pdu.c < patch.pdu.c

poi diamo i seguenti comandi per ricompilare il pacchetto chan_dongle:

./configure
sudo make
sudo install

e poi riavviamo Asterisk e FreePBX:

sudo amportal restart

NOTA BENE: se avete gia' applicato la patch precedente, non potete piu' applicare quest'ultima perche' il file pdu.c non e' piu' quello originale, se cosi' fosse scaricatevi il pacchetto originario di chan_dongle ed estraetevi il file "pdu.c" originale andando a metterlo nella directory di cui sopra (al posto di quello modificato), applicando poi l'ultima path come qui descritta.

RIEPILOGO:

Senza nessuna patch (chan_dongle originale), quando viene ricevuto un SMS con mittente alfanumerico, il SMS viene scartato senza avviso e nel log si vede solo la seguente riga:
WARNING[2560] at_response.c: [dongle0] Error parsing incoming message '+CMGR: 0,,135
per cui il messaggio viene perso e non e' piu' recuperabile

Con la prima patch, il SMS non viene piu' scartato e l'email che viene ricevuta e' cosi':
Ricevuto da: 0B7
Sistema SicurezzaWeb Postepay - ...
Il SMS e' leggibile ma non sappiamo chi lo ha mandato.

Con la patch definitiva e' invece cosi':
Ricevuto da: PosteInfo
Sistema Sicurezza Web Postepay - ...

----------------------------------------------------

In chan_dongle c'e' ancora il problema che quando un SMS multiplo (concatenato) viene ricevuto, il testo e' illeggibile.
Per questo problema al momento non sembra esserci ancora una soluzione.
Ultima modifica di pilovis il giovedì 11 giugno 2015, 0:19, modificato 2 volte in totale.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Re: [How To] Installare centralino Voip Asterisk multifunzione

Messaggio da pilovis » domenica 7 giugno 2015, 16:59

Non mi stanco di ripetere che tutti i suggerimenti, le modifiche, le patches e le funzionalita' aggiuntive che pubblico su questo (e altri) forum, sono state studiate e testate per il centralino Asterisk+FreePBX(+FreeSwitch) come da mie guide, su altri sistemi potrebbero non funzionare o funzionare solo parzialmente.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Numero iNum internazionale gratuito per il nostro centralino

Messaggio da pilovis » mercoledì 10 giugno 2015, 14:50

Ecco come crearsi un numero iNum gratuito (+8835100xxxxxxx) per chiamare e ricevere chiamate, gratis da tutti gli altri numeri iNum del mondo.
I numeri Inum possono essere chiamati gratis anche da Viber.

Per maggiori informazioni sul numero iNum vedere il sito http://www.inum.net

La mia nuova guida si trova qui:
http://www.lovisolo.com/asterisk/softwa ... O/inum.pdf
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Altra path per chan_dongle SMS (il carattere @ tronca il messaggio)

Messaggio da pilovis » giovedì 11 giugno 2015, 0:10

Ho scoperto un altro problema di chan dongle: quando invia o riceve un SMS e se nel messaggio c'e' la chiocciolina @, il messaggio viene troncato e la parte del messaggio dopo la chiocciolina non viene ricevuta/inviata.
Questo e' particolarmente grave quando per SMS vengono trasmessi indirizzi emails (nome@provider.com).

Altri caratteri che se inseriti nel messaggio SMS possono creare problemi sono: { } [ ] / \

Ecco la patch per risolvere:

Entrare nella directory in cui abbiamo scompattato originariamente chan_dongle:

cd /root/chan_dongle-1.1.r14

facciamo una copia del file originale per sicurezza:

sudo cp char_conv.c char_conv.c.back

creiamo il file con la path:

sudo nano char_conv.patch

all'interno inseriamo il testo che scarichiamo da qui:
http://www.lovisolo.com/asterisk/softwa ... conv.patch

salviamo con Ctrl+x

applichiamo la patch:

sudo patch char_conv.c < char_conv.patch

poi diamo i seguenti comandi per ricompilare il pacchetto chan_dongle:

./configure
sudo make
sudo install

e poi riavviamo Asterisk e FreePBX:

sudo amportal restart

Nota: questa patch, come la precedente, sono per chan_dongle versione 1.1.r14 come da mia guida:
http://www.lovisolo.com/asterisk/softwa ... dongle.pdf
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Reindirizzamento SMS tramite Asterisk + chan_dongle -SMS2SMS

Messaggio da pilovis » sabato 27 giugno 2015, 11:32

- Problema:
Avendo una SIM collegata ad Asterisk con Chan_dongle ed essendo questa la SIM che ho sempre utilizzato personalmente, ho la necessita' di ricevere i messaggi SMS che arrivano alla stessa.
Con la soluzione "SMS2Email" che ho sviluppato e postato in questo 3D, posso ricevere gli SMS tramite mail, ma il problema e' che non riesco a leggerli in tempo reale, ma solo quando torno a casa la sera

- Soluzione:
un reindirizzamento in tempo reale degli SMS che arrivano verso un altro numero GSM (quello che ora e' nel mio cellulare).

Ecco qui le istruzioni per realizzare il sistema SMS2SMS:

http://forum.49v.com/viewtopic.php?f=22 ... p=392#p392
Un analogo sistema puo' essere utilizzato anche per inviare SMS dal nostro cellulare, ma reindirizzandoli tramite la SIM collegata al centralino, facendo cosi' in modo da poter inviare e ricevere SMS senza far conoscere agli altri il nostro vero numero di cellulare personale ,
praticamente potranno chiamarci (se non sono in blacklist), ricevere chiamate da noi, inviarci SMS e riceverli da noi, vedendo sempre e solo il numero della SIM collegata al centralino. :wink:
Se ho tempo postero' il dialplan per fare questo.

Nota: questo forum non ha la possibilita' di colorare il testo, ne di evidenziarlo in alcun modo, per cui ho preferito mettere il link al mio forum personale, dove scrivo solo io.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Re: [How To] Installare centralino Voip Asterisk multifunzione

Messaggio da pilovis » sabato 27 giugno 2015, 12:39

A breve (se ho tempo) postero' anche anche la soluzione SMS2Voice che ho sviluppato per ricevere gli SMS e subito dopo il centralino ti telefona e con la voce sintetizzata ti legge il numero del mittente e il testo dello SMS.
In associazione con il Voice2SMS, per dettare a voce il testo e il destinatario di un SMS, che ho postato tempo fa, e' ideale per i non vedenti e ipovedenti.

Praticamente il centralino ti telefona e ti legge testo e mittente del SMS appena arrivato, poi ti chiede se vuoi rispondere e con il riconoscimento vocale ti permette di dettare a voce il testo del SMS di risposta.

A questo punto direi proprio che il nostro centralino e' il piu' evoluto esistente al mondo :)
Ma se solo sapeste le cose che ho sviluppato e non ancora pubblicato ...
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Pilloline utili per Asterisk

Messaggio da pilovis » mercoledì 8 luglio 2015, 21:10

Per far squillare piu' interni contemporaneamente, esempio interni 200,201 e 202 per un tempo massimo di 45 secondi:

exten => s,n,Dial(SIP/200&SIP/201&SIP/202,45)

Per far pronunciare l'ora esatta (occorre aver installato la lingua desiderata):

exten => s,n,SayUnixTime(,CET,AdbYkM)

Per far pronunciare "Arrivederci" nel dialplan (occorre aver installato la lingua desiderata):

exten => s,n,Playback(vm-googbye)

Per far pronunciare "l'interno non e' disponibile" (occorre aver installato la lingua desiderata):

exten => s,n,Playback(vm-isunavail)

Per far autenticare l'utente che chiama (o che viene chiamato) con un password da digitare sulla tastiera del telefono (toni DTMF), in automatico ci sara' la voce che dira' "prego inserire la password seguita dal tasto cancelletto":

exten => s,1,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Authenticate(1234,j,4)

nota: in questo esempio il tempo massimo tra un numero e l'altro e' 5 secondi, il tempo massimo di attesa per l'inserimento password e' 10 secondi, la password e' 1234

Attesa di x secondi (3 nell'esempio sotto):

exten => s,n,Wait(3)

Per far suonare la musica di attesa finche il chiamante non riaggancia:

exten => s,n,MusicOnHold(default)

Messaggio di numero "non in uso" (per call-centers invadenti):

exten => s,n,Playback(ss-noservice)

Per far pronunciare "prego rimanere in linea mentre provo quell'interno":

exten => s,n,Playback(transfer)

Per far partire uno script esterno dal dialplan:

exten => s,n,System(/path/script.sh)

Oltre a queste funzioni base ce ne sono moltissime altre, anche molto avanzate, magari in un prossimo futuro parleremo di programmazione avanzata di Asterisk (puro senza GUI).
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

pilovis
Utente
Messaggi: 387
Iscritto il: mercoledì 2 febbraio 2011, 1:04
Località: Torino

Trovare la posizione geografica con chan_dongle

Messaggio da pilovis » giovedì 9 luglio 2015, 19:27

Questa funzionalita' puo' essere utile per localizzare la BTS GSM sulla quale e' agganciato il nostro canale mobile con chan_dongle.
Cio' potrebbe essere utile per collegare un chiavino GSM con una SIM qualsiasi ad un mini computer tipo Raspberry con asterisk installato e creare un dispositivo a 12V da mettere in auto per localizzarne la posizione ed eventualmente trasmettercela con regolarita' tramite SMS e anche telefonarci in caso di furto.
Con TIM e Postemobile si possono inviare SMS illimitati e avere minuti illimitati verso un numero amico a costi mensili irrisori

Verificare i dati di aggancio verso la cella GSM di chan_dongle:

entrare nella cli di asterisk con il comando:
sudo asterisk -vvvr

poi dare il seguente comando da cli:

dongle show device state dongle0

verra' visualizzata una sequenza di informazioni come questa:

OpenWrt*CLI> dongle show device state dongle0
-------------- Status -------------
Device : dongle0
State : Free
Audio : /dev/ttyUSB1
Data : /dev/ttyUSB2
Voice : Yes
SMS : Yes
Manufacturer : huawei
Model : E169
Firmware : 11.314.11.00.00
IMEI : 356454594589104
IMSI : 223346554348639
GSM Registration Status : Registered, home network
RSSI : 16, -81 dBm
Mode : No Service
Submode : No service
Provider Name : Telecom Italia M
Location area code : EEB1
Cell ID : 61F0
Subscriber Number : Unknown
SMS Service Center : +393359609600
Use UCS-2 encoding : Yes
USSD use 7 bit encoding : No
USSD use UCS-2 decoding : Yes
Tasks in queue : 0
Commands in queue : 0
Call Waiting : Disabled
Current device state : start
Desired device state : start
When change state : now
Calls/Channels : 0
Active : 0
Held : 0
Dialing : 0
Alerting : 0
Incoming : 0
Waiting : 0
Releasing : 0
Initializing : 0

i valori che ci interessano sono quelli in rosso e precisamente LAC (Location area code) e CID (Cell ID)

Cosa sono questi valori?

LAC e CID (Cell ID) sono l'acronimo rispettivamente di Local Area Code (codice che identifica un'area geografica) e ID di una cella telefonica. Grazie a questi 2 valori si può risalire alle relative coordinate.

I dati di cui sopra si possono estrarre in automatico con uno script in Asterisk e poi estrapolare i due valori LAC e CID per metterli in una variabile e utilizzare per i nostri scopi.

I due valori vanno inseriti in questo sito:
http://www.ritrovalogps.it/index.php/lac-cell-id
che ci dara' la locazione della BTS a cui siamo agganciati su una mappa Google Maps.

NOTA BENE: alcuni gestori virtuali come Postemobile potrebbero non gestire i valori LAC e CID, altri come la 3 potrebbero utilizzare parametri non standard, io ho verificato la funzionalita' di questi parametri sulla rete TIM.
Il mio piccolo forum personale con tutte le mie guide: http://forum.49v.com
Sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Rispondi