Asterisk: un account SIP per ricevere e uno per chiamare

Solito titolo poco chiaro, scusate. Questo è il post che ho promesso l’altro ieri, quando ho annunciato di avere un numero VOIP. Qui scenderò nei dettagli della mia configurazione, cercando di renderla comprensbile anche a chi non ha mai avuto a che fare con il VOIP, come ad esempio me medesimo la settimana scorsa.
VOIP con Asterisk

La mia situazione, ma potenzialmente anche la vostra, visti gli evidenti vantaggi economici rispetto ad un normale telefono fisso Telecom, è la seguente:

  • Un account SIP con un provider che vi fornisce un numero geografico chiamabile da tutti i telefoni, nel mio caso Messagenet, servizio Free Number.
  • Un account SIP con un provider con tariffe particolarmente convenienti verso i telefoni tradizionali, nel mio caso Poivy, di cui sto per illustrare le tariffe
  • Uno (o più) telefoni (Aladino e Nokia N80 nel mio caso) o softphone (come l’ottimo Ekiga) da connettere al centralino

Chiaramente ci serve un computer su cui installare Asterisk, che deve necessariamente essere acceso. Nel mio caso uso un Linksys NSLU2 con Debian Etch, un portento (seguirà post su questo argomento). Segnalo la possibilità di eseguire Asterisk anche sui router con firmware [DD|Open]WRT, come i mitici Linksys WRT54G o la Fonera.

Perché tutto questo casino? Non hai un cellulare?

Sì, chiaramente ho un cellulare (uno stagionato Nokia N70), ma avere un numero fisso ha i suoi vantaggi, ad esempio la possiblità di farsi chiamare dagli amici con telefonate gratis ai fissi senza occupare il telefono di casa. Ho poi una segreteria ultraconfigurabile completamente gratis (gli sviluppatori di Asterisk l’hanno simpaticamente chiamata Comedian Mail). È inoltre gradito poter chiamare economicamente (vedi paragrafo su Poivy), anche dai miei. E, non ultimo, è sempre interessante.

Effettuare chiamate – Poivy.com

Finora Poivy è il provider più economico che ho trovato, e fa parte della famiglia Betamax, con siti tutti uguali, le cui tariffe differiscono solo per il costo delle chiamate ai cellulari. Offre chiamate gratuite ai fissi per 90 giorni all’anno (gli altri giorni 1,8 centesimi al minuto) e solo 6 centesimi al minuto per le chiamate verso i cellulari, il tutto senza scatto alla risposta. Per acquistare credito è necessaria una ricarica nel taglio unico di 10 euro.

ATTENZIONE: Mi è stato riferito che spesso le chiamate ai cellulari effettuate con Poivy soffrono di un fastidioso ritardo, fate voi i vostri conti se il gioco vale la candela.

Ricevere chiamate – Messagenet

Ho trovato questo servizio quasi per caso, e offre completamente GRATIS un numero geografico di Milano/Roma/Torino/Londra. Per ragioni di vicinanza ho scelto Milano, infatti il mio numero è uno 02. È anche possibile acquistare credito ed effettuare chiamate con loro, ma è molto meno conveniente di Poivy.

Installare Asterisk

Una volta individuato il PC (connesso alla LAN, ovviamente) su cui installare Asterisk è necessario procedere all’installazione. Sono disponibili pacchetti precompilati per praticamente tutte le distribuzioni. Su Debian e Ubuntu e derivate l’installazione si esegue con il classico APT:

sudo apt-get install asterisk asterisk-config asterisk-prompt-it

Ho inserito nella stringa anche il pacchetto asterisk-config (che contiene la configurazione di esempio, piuttosto interessante) perché non mi ricordo se è installato automaticamente dal pacchetto asterisk… asterisk-voice-prompt-it installa le voci in italiano.

Concetti di base

Prima di addentrarmi nella spiegazione completa, trovo giusto soffermarmi un attimo sulla spiegazione di alcuni concetti di base che è necessario conoscere prima di poter usare con successo Asterisk, e che sono il primo scoglio contro cui si sbatte la testa.

Il primo concetto è quello di “contesto”, traduzione letterale di context. Un contesto è, grossomodo, un ambito in cui avviene la chiata, tanto in uscita quanto in entrata. Immaginiamo ad esempio una piccola microscopica azienda, con una segreteria, magari con più telefoni, e un ufficio del dirigente. Le chiamate in arrivo devono arrivare alla segreteria, che può decidere o meno se trasferirle al capo. I telefoni della segreteria saranno in un loro contesto, quello/i del dirigente saranno altrove, e potranno comunicare tra loro (o anche no, secondo la configurazione) mentre quelli della segreteria saranno nel contesto del numero in ingresso (VOIP o meno).

Il secondo concetto è quello di estensione. Le estensioni altro non sono che i numeri di telefono composti dagli utenti. Ogni contesto ha le sue estensioni separate dagli altri, e possono anche differire. Tornando all’esempio di prima, i telefoni nel contesto della segreteria potrebbero chiamare il numero 200 per interrogare la segreteria telefonica, mentre il dirigente potrebbe chiamare in segreteria (o, perché no, sua moglie/amante/fidanzata) digitando il medesimo numero. Si può anche impedire che un determinato contesto faccia chiamate all’esterno, le possibilità sono limitate solo dalla fantasia.

Il caso

Il mio caso è già stato descritto per quanto riguarda i provider utilizzati e al server, mentre non ho ancora detto niente sulla configurazione dei telefoni e dei relativi interni. Nel seguente elenco il primo dato riportato è, appunto, l’interno.

  • 2000 – Aladino WiFi, il telefono principale, sono infatti dirette a lui le chiamate in arrivo sul numero di Messagenet
  • 2010 – Nokia N80, cellulare di mio fratello, integra un client SIP, e si connette al centralino in WiFi
  • 2100 – Portatile, con client Ekiga
  • 2101 – Fisso, con client Ekiga

Ho anche alcuni altri interni che svolgono altre funzioni, come il 3000, tramite il quale si ascolta la propria segreteria (raggiungibile anche dal 4444 perché è il numero immodificabile che l’Aladino usa il tasto segreteria), il 3001 che permette di ascoltare la segreteria di qualsiasi interno, previo inserimento della relativa password e il 7272 che legge le previsioni del tempo di Meteo Trentino, di cui parlerò in un altro post, se a qualcuno interessa. Se qualcuno volesse provarlo in esclusiva mi chiami pure allo 02/00613655, e me lo chieda, trasferirò la chiamata al meteo 😀

Configurazione di Asterisk – sip.conf

I file di configurazione di Asterisk (davvero tanti) si trovano in /etc/asterisk e il primo che andremo a modificare è sip.conf, che gestisce il protocolo SIP, e quindi in questa configurazione i provider per chiamate in entrata e uscita e tutti gli interni. Prima di modificare qualche cosa, consiglio di fare una copia della cartella di configurazione, non si sa mai. Ecco il mio sip.conf

[general]
context=chiamate-in-entrata                     ; Default context for incoming calls
bindport=5060                   ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0                ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes                   ; Enable DNS SRV lookups on outbound calls
language=it                     ; Default language setting for all users/peers
                                ; This may also be set for individual users/peers
canreinvite=no                  ; Workaround per problemi di autenticazione con Messagenet
nat=yes                         ; Global NAT settings  (Affects all peers and users)
                                ; yes = Always ignore info and assume NAT
                                ; no = Use NAT mode only according to RFC3581
                                ; never = Never attempt NAT mode or RFC3581 support
                                ; route = Assume NAT, don't send rport

; In
register => USERNAME_MESSAGENET:[email protected]:5061/NUMERO_ASSEGNATO_SENZA_+39

; Out
register => USERNAME_POIVY:[email protected]/USERNAME_POIVY

; PROVIDER
; Out - Poivy
[out]
type=peer
context=chiamate-in-uscita
username=USERNAME_POIVY
fromuser=USERNAME_POIVY
secret=PASSWORD
host=sip.poivy.com        ; Modificare con il proprio server SIP in uscita
fromdomain=sip.poivy.com  ; Idem
qualify=yes
insecure=very
nat=yes

; Client
; Principale - Aladino
[2000]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

; Nokia N80
[2010]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

; Ekiga portatile
[2100]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

; Ekiga fisso
[2101]
type=friend
context=telefoni-locali
secret=PASSWORD
host=dynamic

Notiamo una sezione [general] in cui imposto alcuni settaggi di base, e mi registro ai provider con il comando register. Si passa poi alla sezione per le chiamate in uscita di Poivy (per Messagenet non serve, dato che sono solo chiamate in ingresso) e poi alla definizione dei vari interni, che sono nel contesto telefoni-locali, mentre le chiamate in arrivo sono in chiamate-in-entrata.

Configurazione di Asterisk – extensions.conf

Extensions.conf, come suggerisce il nome, si occupa delle estensioni, ecco il mio:

[telefoni-locali]
;20xx = Telefoni fisici
;21xx = Softphone
;12xxx = Diretti segreteria

; Principale - Aladino
exten => 2000,1,Dial(SIP/2000||tT,20)
exten => 2000,2,VoiceMail(2000,us)
exten => 12000,1,VoiceMail(2000,us)

; Nokia N80
exten => 2010,1,Dial(SIP/2010||tT,20)
exten => 2010,2,VoiceMail(2010,u)
exten => 12010,1,VoiceMail(2001,u)

; Ekiga portatile
exten => 2100,1,Dial(SIP/2100||tT,20)
exten => 2100,2,VoiceMail(2100,u)
exten => 12100,1,VoiceMail(2100,u)

; Ekiga fisso
exten => 2101,1,Dial(SIP/2101||tT,20)
exten => 2101,2,VoiceMail(2101,u)
exten => 12101,1,VoiceMail(2101,u)

; Segreteria telefonica
exten => 3000,1,VoiceMailMain(${CALLERID(num)},s)
exten => 4444,1,Goto(3000,1)
exten => 3001,1,VoiceMailMain()

; Chiamate in uscita
exten => _0X.,1,Dial(SIP/0039${EXTEN}@out)
exten => _3X.,1,Dial(SIP/0039${EXTEN}@out)
exten => _00X.,1,Dial(SIP/${EXTEN}@out)

; Numero inesisntente
exten => _X.,1,Playback(invalid)
exten => _X.,n,Hangup()

; Chiamate in attesa
include => parkedcalls
exten => _70X,1,GoTo(parkedcalls,${EXTEN},1)

; Meteo Trentino
exten => 7272,1,Answer()
exten => 7272,n,Playback(meteo_tn)
exten => 7272,n,Hangup()

[chiamate-in-entrata]
; Chiamate in entrata
exten => _0200613655,1,NoOp('Chiamata entrante allo 0200613655, redirezionata su Aladino, interno 2000')
exten => _0200613655,n,Dial(SIP/2000||Tt,20)
exten => _0200613655,n,NoOp('Aladino occupato/non disponibile, chiamata passata in segreteria')
exten => _0200613655,n,VoiceMail(2000,us)

La spiegazione di queste estensioni prevede un ulteriore concetto: la priorità. Grazie ad essa si possono avere più possibili comportamenti per ogni estensione: consideriamo, ad esempio, l’estensione 2000, per le chiamate interne dirette all’Aladino:

exten => 2000,1,Dial(SIP/2000||tT,20)
exten => 2000,2,VoiceMail(2000,us)

Il numero che si vede dopo il 2000 dell’estensione indica la priorità (cioè l’ordine) con cui verranno aseguite le azioni indicate: prima si proverà a chiamare SIP/2000 (indica una chiamata con protocollo SIP verso l’utente 2000, l’Aladino), con possibilità di trasferimento di chiamata ad un altro numero sia da parte del chiamante che del chiamato (“||tT”, senza virgolette). Se entro 20 secondi questo non risponde (notare il 20 in fondo), oppure non è raggiungibile, si passa alla priorità 2, cioè il passaggio della chiamata alla VoiceMail (segreteria) dell’utente 2000. Le opzioni u e s indicano rispettivamente di riprodurre il messaggio di non disponilbilità (Unavaible, modificabile dall’utente chiamando la segreteria e sfogliando un po’ il menu) e s indica di non dare le istruzioni su come lasciare il messaggio (“Lasciare un messaggio dopo il segnale acusitco, quindi riagganciare oppure premere il tasto cancelletto”, o qualcosa del genere). È anche possibile specificare solo la priorità 1 e assegnare le altre priorità n, di fatto non cambia niente ma è più facile aggiungere o togliere delle priorità senza dover riordinare tutto l’elenco. La seguente configurazione è quindi equivalente:

exten => 2000,1,Dial(SIP/2000||tT,20)
exten => 2000,n,VoiceMail(2000,us) ; notare la n al posto della priorità numerica

Per ogni interno c’è anche la possiblità di lasciare direttamente un messaggio in segreteria, chiamando il numero 1<INTERNO>, ad esempio 12000 per lasciare un messaggio all’interno 2000.

Per la segreteria telefonica (estensione 3000) si usa un semplice VoiceMailMain(ID_UTENTE, OPZIONI), dove ID_UTENTE viene inserito dinamicamente tramite la variabile ${CALLERID(num)}, mentre l’opzione s serve per non richiedere la password per ascoltare i messaggi, dato che in ambiente casalingo come il mio è solo una perdita di tempo. Notare poi che all’estensione 4444 uso la funzione (in gergo Asteriskiano applicazione) Goto, e la rimando all’estensione 3000, realizzando di fatto un collegamento alla segreteria. Nell’estensione 3001 si nota l’assenza del parametro relativo all’ID utente di cui ascoltare la segreteria, permettendo l’accesso (con password) a qualunque mailbox.

Per le chiamate in uscita sfrutto i pattern (per una spiegazione dettagliata rimando al capitolo a rigurardo sull’Asterisk Book). Il primo pattern seleziono tutti i numeri che cominciano con 0, seguiti da altre 1-20 cifre: sono i numeri fissi in Italia, quindi redirigo la chiamata tramite Poivy (contesto out), notare il SIP/0039{NUMERO}@out in Dial() (lo 0039 aggiunto mi permette di non scriverlo a mano in ogni chiamata). Il pattern successivo funziona in maniera analoga ed è relativo ai cellulari. I numeri che cominciano con 2 zeri sono quelli internazionali, quindi non prepongo lo 0039.

Troviamo quindi il pattern “_X.”, che è richiamato se il numero chiamato è inesistente, e riproduce il suono “invalid”.

A seguire il necessario per “parcheggiare” le chiamate, metterle cioè in attesa (ricorda molto il 190/187/119, eh?), con tanto di musichetta. Per fare ciò, durante una chiamata, si digita # per abilitare il trasferimento di chiamata, quindi 700 per parcheggiare la chiamata. Al parcheggiante verrà riprodotto il numero da chiamare per tornare dal parcheggiato (anche da un telefono differente), mentre il parcheggiato sentirà la musichetta. Dopo un tempo specificato dopo il parcheggio (di default 45) il parcheggiante verrà richiamato e rispondendo tornerà dal parcheggiato. L’estensione successiva serve sempre per gestire i numeri dei vari parcheggiati.

Abbiamo infine l’estensione che riproduce il suono meteo_tn, contenente le previsioni Meteo Trentino, aggiornato in automatico ogni giorno alle ore 14 (pagina web parsata da PHP, passata ad espeak che la legge, convertita con sox nel formato corretto).

C’è quindi il contesto [chiamate-in-entrata], che redirige le chiamate in entrata all’Aladino o in segreteria. La funzione NoOp non fa altro che stampare un messaggio nella console di Asterisk, che si lancia con sudo asterisk -vvvvvvvvvvr sulla macchina in cui è in esecuzione Asterisk. Il numero di v passate come parametro definisce il livello di verbosità: più sono meglio è, per scopi di debug.

Configurazione di Asterisk – voicemail.conf

L’ultimo file da configurare è voicemail.conf, che deve contenere le impostazioni per ogni casella vocale:

[default]
2000 => PIN-NUMERICO,NOME,[email protected]
2010 => PIN-NUMERICO,NOME,[email protected]
2100 => PIN-NUMERICO,NOME,[email protected]
2101 => PIN-NUMERICO,NOME,[email protected]

Ho copiato solo la parte personalizzata, all’inizio del file ci sono molte opzioni che si possono configurare a piacere, sono ben spiegate.

Asterisk su Debian – L’avvio automatico

Bisogna editare /etc/default/asterisk impostando RUNASTERISK a yes, per avviare l’avvio automatico. Io avevo avuto problemi di permessi con la cartella /var/log/asterisk, che impedivano l’avvio del server, basta assegnarla all’utente asterisk:
sudo chown -R asterisk /var/log/asterisk

Conclusione

/etc/init.d/asterisk start

P.S.:Finalmente ho concluso questo post! Penso che sia il nuovo record di lunghezza su LuBlog!

P.P.S.: Consiglio la lettura di The Asterisk Book, ottimo anche come refernce manual.

92 pensieri su “Asterisk: un account SIP per ricevere e uno per chiamare

  1. Perché io non uso Messagenet per chiamare, avevo che tu lo usavi anche a questo scopo.

    Strano che la qualità della voce decada in questo modo. Partendo dal presupposto che la connessione ad internet fosse poco utilizzata, ti consiglieri di provare ad escludere Asterisk e a provare a connetterti a Messagenet direttamente con un softphone o con lo stesso Aladino.

  2. allora…. “iscritto” anche a intervoip….
    cellulare e fisso con telefonate brevi, perfetto…
    cellulare dopo un po’ solito problema di “ritardo” ed incomprensione visto con messagenet….

    altra cosa, ma dovuta sicuramente alla mia poca lettura dei manuali e al mio copia e incolla brutale…

    ho utilizzato…

    ; In
    register => USERNAME_MESSAGENET:[email protected]:5061/NUMERO_ASSEGNATO_SENZA_+39
    ; Out
    register => USERNAME_intervoip:[email protected]/USERNAME_intervoip

    ma se sono attivi tutti e due insieme non si registrano….
    se “disattivo” (con 😉 prima l’uno e poi l’altro, funzionano tranquillamente….
    ricevo e chiamo tranquillamente…
    misa’ che devo leggere qualcosa prima di continuare cosi’….

  3. Strano, a me funziona tutto con registrati 3 provider in quel modo…

    Intervoip è un provider della famiglia Betamax, che offre prezzi davvero ottimi ma spesso crea problemi di questo tipo, soprattutto verso i cellulari.

    I problemi con Messagenet li hai solo in ricezione, vero? Io l’ho sempre trovato ottimo, ma non l’ho mai usato per chiamare. Hai provato Eutelia?

  4. Ciao complimenti per la guida.

    Incuriosito dalla lettura di questo articolo ho installato asterisk sulla mia ubuntu e ho configurato due interni, uno per il mio pc fisso e l’altro per il notebook,tutti e due con ekiga.
    I due si chiamano senza problemi ma do po avere preso in carico la telefonata sia da l’uno che da l’altro non si sente la niente, sembrerebbe che la voce non venga trasmessa.
    Il tutto avviene sulla rete locale, quindi non ci sono problemi di nat.

    Sapresti darmi qualche indicazione per risolvere il problema.

    Ciao e ancora complimenti

  5. Grazie per i complimenti!

    Per provare a diagnosticare il problema ti consiglio di lanciare

    sudo rasterisk

    sulla macchina dove hai installato asterisk, quindi nel prompt digitare

    set verbose 100

    Quindi esegui la chiamata e tieni d’occhio i messaggi che ti vengono mostrati.
    Quando la chiamata riscontrerà il problema descritto riattacca. Se vuoi puoi provare a postare qui il risultato, così vediamo di capire il problema.

  6. Ciao Luca, grazie per la risposta tempestiva.
    Ho risolto il problema: id due client ekiga utilizzavano codec diversi, uno GSM e l’altro PCMU. Ho forzato uno dei due in modo che utilizzassero entrami GSM ed il problema è scomparso. Ma non dovrebbero essere abbastanza intelligenti da accorgersi che codec usare ?

    Dato che ci sono espongo l’altro problema che ho con il mio N80.
    Premetto che ho iniziato a sperimentare asterisk in seguito al tuo post e per ora mi sono fermato alla configurazione di tre interni escludendo chiamate in entrata/uscita dalla rete locale.
    I tre interni sono il 2000 (pc fisso ekiga), 2001 (Nokia N80) e 2002 (Notebook ekiga).
    Utilizzo asterisk su una ubuntu 8.04 installato dai pacchetti della distribuzione.
    Ho modificato i file di configurazione come segue:

    sip.conf:
    [general]
    context=default
    allowoverlap=no
    bindport=5060
    bindaddr=0.0.0.0
    srvlookup=yes
    language=it
    externhost=lejubila.homelinux.net
    localnet=192.168.0.0/255.255.0.0
    nat=yes
    canreinvite=no
    [authentication]
    ; ekiga su davidcasa
    [2000]
    type=friend
    context=interni
    secret=passwd
    host=dynamic

    ; N80
    [2001]
    type=friend
    context=interni
    secret=passwd
    host=dynamic

    ; ekiga su nbdavid
    [2002]
    type=friend
    context=interni
    secret=passwd
    host=dynamic

    Mentre al file extensions.conf ho lasciato la configurazione di default aggiungendo le seguenti righe:

    [default]
    include => demo
    include => interni

    [interni]
    exten => 2000,1,Dial(SIP/2000)
    exten => 2001,1,Dial(SIP/2001)
    exten => 2002,1,Dial(SIP/2002)

    Con questa configurazione i due pc con ekiga si chiamano e comunicano, invece quando da l’N80 prova a chiamare uno degli altri due interni la chiamata fallisce e asterisk fornisce questo log

    chan_sip.c:13865 handle_request_invite: Call from ‘2001’ to extension ‘cube.home’ rejected because extension not found.

    dove 2001 è l’interno chiamante

    anche se da ekiga provo a chiamare l’N80 non succede niente e vengnalati i seguenti log:

    — Executing [[email protected]:1] Dial(“SIP/2002-081dc268”, “SIP/2001”) in new stack
    — Called 2001

    La configurazione SIP dell’N80 è la seguente:
    Profilo del servizio: IETF
    Nome utente pubblico: [email protected]
    Usa compressione: No
    Usa Protezione: No
    -Server Proxy:
    indirizzo server proxy: cube.home
    area: asterisk
    nome utente: 2001
    password: passwd
    consenti routing esteso: no
    tipo trasporto: UDP
    porta: 5060
    – Server di registrazione
    indirizzo server di registrazione: cube.home
    area: asterisk
    nome utente: 2001
    password: passwd
    tipo trasporto: UDP
    porta: 5060

    come si può intuire cube.home è il nome del pc dove gira sterisk.
    Faccio presente che sul nome utente pubblico se non lo faccio seguire da @cube.home (ma potrebbe essere anche @qualsiasialtracosa, ho provato) non mi si registra.

    Sarei molto grato se qualcuno sapesse darmi un indicazione per risolvere il problema.

    Saluti.

  7. Nella configurazione dell’N80, prova a sostituire “cube.home” con l’IP del server Asterisk, penso che così si risolva.

  8. Purtroppo il risultato è sempre lo stesso:

    chan_sip.c: Call from ‘2001’ to extension ‘192.168.50.2’ rejected because extension not found.

    non so più cosa fare.

  9. Forse ho trovato: in “Area”, sia in proxy che in server di registrazione, devi mettere l’IP di Asterisk, e devi mettere all’inizio di “Nome utente pubblico”, “Indirizzo server di registrazione” e “Indirizzo server proxy” la scritta “sip:” (senza virgolette)

  10. In “Nome utente pubblico”, “Indirizzo server di registrazione” e “Indirizzo server proxy” avevo già messo “sip:”.
    Per quanto riguarda “Area” se non metto il valore “asterisk” il telefono non mi si registra nemmeno.
    Tra l’altro impostando la lingua inglese sul telefono si scopre che “area” non è altro che il “realm”, il quale come riportato in sip.conf è di default “asterisk”.

  11. Dimenticavo….

    ;realm=mydomain.tld ; Realm for digest authentication
    ; defaults to “asterisk”. If you set a system name in
    ; asterisk.conf, it defaults to that system name
    ; Realms MUST be globally unique according to RFC 3261
    ; Set this to your host name or domain name

  12. Allora probabilmente è un problema di configurazione di asterisk.

    Un’ultima cosa, poi non ti stresso più, mi puoi dire in che forma ha messo l’utente pubblico, perché io come dicevo in un altro post l’ho dovuto mettere [email protected], se metto l’utente e basta non mi si registra.

    Ciao.


  13. eccomi di nuovo qui…..
    ho rimesso le mani su asterisk dopo molti giorni di inattività computeresca.
    alcune probl (vedi la “doppia” registrazione) sembrano risolti….
    ma se ne sono agiunti alri. utilizzo intervoip per chiamare.
    sui fissi no problem. sui cell telecom no problem. sui cell voda e tre appena l’altro risponde, cade immediatamente la linea….
    qualche idea?
    grazie

  14. Ti consiglio di entrare nella console di asterisk con il comando
    sudo rasterisk
    setta la verbosità al massimo con set verbose 100 e osserva i messaggi che ricevi mentre tenti di chiamare.

  15. problema risolto in maniera forse particolare….
    riavviando asterisk… alle volte e’ come se “il sistema” si impallasse e con un riavvio (di asterisk) tutto torna di nuovo a posto…
    almeno dovrebbe essere, perche’ ecco che questa mattina l’Aladino non ne vuole piu’ sapere di “registrarsi”.
    rispetto a ieri, chiaramente non e’ cambiato nulla.
    colpa del mio pc? e’ installata una ubunto 8.04 “liscia”.
    poco potente? ma se asterisk addirittura gira su un nslu2….

    chiaramente in tutto questo ringrazio Luca per la sua pazienza e disponibilita’ e gli altri lettori.

    mi aspettavo qualcosa di piu’ “semplice”, non tanto nella configurazione, quanto nella gestione vera e propria e non con questi problemi randomici e, per me, inspiegabili.

    chiaramente, per me, continua ad essere interessante per “motivi di studio” ma poco pratico.
    questa mattina dovevo fare una urbana e dopo cinque tentativi per registrare l’Aladino ho usato la linea “classica”…

    grazie ancora.

  16. si Luca, si connette…. si vede la “W” blu e lo vede anche accedendo al router/modem da altro computer nella lista dei client!

  17. Ciao,
    cortesemente qualcuno di voi mi dice se è possibile installare Asterisk sul NAS 109 della QNAP?

    Grazie mille.

    P.S. Ottima guida!

  18. Grazie per i complimenti! 😀

    Stando a quanto ho letto pare che supporti i pacchetti ipkg, quindi dovresti poter utilizzare quelli forniti per l’NSLU2, dai un occhiata a questa pagina.

  19. Ciao a tutti scusate la mia ignoranza e la mia probabile disattenzione,ma vorrei solo sapere se esiste un modo per collegare uno o più telefoni al mio pc ed utilizzarli per chiamare i cellulari con Poivy.
    Se è possibile vi chederei il nome/tipo di telefono (penso ad un telefono come quelli che si usano per skype) ed eventuali dritte per l’installazione.
    Grazie infinite
    Maurizio

  20. È possibile, basta acquistare un ATA (Analog Telephone Adapter).
    È un piccolo dispositivo che ti permette di collegare un telefono tradizionale alla rete per usarlo in VOIP.
    Ti basterà configurare l’ATA con i dati di Poivy per usare questo servizio.

  21. vorrei sapere come hai configurato l account poivy.com su asterik perche a me non va è peer to perr register …… grazie
    io uso easy asterik
    paolo carli

  22. ciao, premetto che non ho trovato problemi di alcun tipo, ma solo per quanto riguarda il meteo mi da dei problemi. mi dice:

    Executing [[email protected]:1] Answer(“SIP/2010-081dca10”, “”) in new stack
    — Executing [[email protected]:2] Playback(“SIP/2010-081dca10”, “meteo_tn”) in new stack
    [Feb 17 00:34:09] WARNING[9889]: file.c:568 ast_openstream_full: File meteo_tn does not exist in any format
    [Feb 17 00:34:09] WARNING[9889]: file.c:871 ast_streamfile: Unable to open meteo_tn (format 0x4 (ulaw)): No such file or directory
    [Feb 17 00:34:09] WARNING[9889]: app_playback.c:437 playback_exec: ast_streamfile failed on SIP/2010-081dca10 for meteo_tn
    — Executing [[email protected]:3] Hangup(“SIP/2010-081dca10”, “”) in new stack
    == Spawn extension (telefoni-locali, 7272, 3) exited non-zero on ‘SIP/2010-081dca10’

    se non sbaglio mi da dei problemi sul formato, giusto? cosa devo modificare? grazie anticipatamente. ciau!

  23. @laura:
    Ti dice file non trovato perché è necessario generarlo.
    Per generarlo io uso un server web con PHP abilitato, eSpeak, SoX, e cron.
    Qui trovi il sorgente dello script PHP.

    A te sarà sufficiente un cronjob per recuperare il file che io ho generato

    Il cronjob è:
    00 14 * * * /usr/bin/wget -q -O /usr/share/asterisk/sounds/meteo_tn.sln http://deposito.tuttoeniente.net/meteo_tn.sln

    A questo punto dovrebbe funzionare tutto.

    Se ti serve altro aiuto basta chiedere 😀

  24. Ciao, complimenti per la guida! Io sono sto usando trixbox(praticamente identico ad asterisk) con un SPA3102, ma sono bloccato di fronte ad alcuni problemi che vengono poco discussi sul web;
    1) è possibile impegnare la linea esterna con lo 0 qualsiasi altro numero?
    2) è possibile chiamare numeri tipo *#21# o #63# #21#? Sono servizi della telecom? Sembra che trixbox/asterisk non riconosca i simboli!! 🙁
    Ti sarei infinitamente grato se riuscissi ad aiutarmi!!

  25. Grazie per i complimenti!
    Per la 1 hai 2 sistemi:o configuri Asterisk per fare transitare le chiamate sulla PSTN anteponendo un dato prefisso (io ho scelto il 4, ad esempio, e uso questa stringa in extensions.conf
    exten => _4X.,1,Dial(SIP/${EXTEN:1}@pstn-spa3102||T)
    Ovviamente andrà adattata ai tuoi scopi, ti segnalo solo che pstn-spa3102 è la sezione del mio sip.conf relativa alla porta FXO dello spa3102, e “||T” serve per permettere il trasferimento di chiamata.

    La seconda opzione è utilizzare un dialplan apposito sullo spa3102, nella sezione line 1. Premetto che non sono molto esperto su questi dialpan, e questo che ti riporto se non sbaglio l’avevo trovato in internet all’epoca della prima configurazione.
    ([1][1][2358]<: @gw0>|xx.|*xx.|**xx.|< #,:>xx.<: @gw0>|< #,:>*xx<: @gw0>)
    Tradotto credo che significhi “chiama direttamente tramite PSTN i numeri 112, 113, 115 e 118, oltre a quelli preceduti da un cancelletto. Tutto il resto passalo ad Asterisk”

    Per il punto 2 temo di non poterti essere d’aiuto, non ho mai avuto tali necessità quindi non mi sono mai informato in materia.
    Spero di esserti stato d’aiuto, se ti servono altri chiarimenti chiedi pure.

  26. Grazie per la risposta, in realtà risolvendo il primo punto, non avrei più problemi con il secondo 😀
    Questa stringa però exten => _4X.,1,Dial(SIP/${EXTEN:1}@pstn-spa3102||T)
    in questo punto 4X.
    non dice che io compongo: 4 – qualsiasi numero da 0 a 9 – qualsiasi numero?
    Dovrebbe passare ad esempio tutto il numero così: 40429987345
    O sbaglio?

  27. Praticamente io digito 4, impegno la linea e sento il classico tu tu.. tu tu.. e da li compongo il numero che voglio? 😀

  28. Scusami ancora, più in quale punto del file extension.conf andrebbe collocata quella riga? Perchè in trixbox le rotte in uscire le scrive nel file extensions_additional.conf con questa sintassi:

    [outrt-001-ROUTE_0]
    include => outrt-001-ROUTE_0-custom
    exten => _4X.,1,Macro(user-callerid,SKIPTTL,)
    exten => _4X.,n,Set(_NODEST=)
    exten => _4X.,n,Macro(record-enable,${AMPUSER},OUT,)
    exten => _4X.,n,Macro(dialout-trunk,1,${EXTEN},,)
    exten => _4X.,n,Macro(outisbusy,)

    ; end of [outrt-001-ROUTE_0]

    Grazie 🙂

  29. Oddio, che complicazione di una cosa semplicissima…
    Io ho *solo* la stringa che ti ho indicato… Con Trixbox a quanto pare bisogna seguire le sue procedure, quindi mi spiace ma non ti so aiutare…

  30. Ciao Luca, ho bisogno del tuo aiuto per configurare Asterisk in modo che quando ricevo chiamate esterne:
    Рpossa riconosere chi ̬
    – metterlo in attesa (eventualmente) per poi inoltrarlo ad un’altro numero esterno o riprendere la telefonata

    Grazie

  31. Pingback: Asterisk | not so usable objects

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *