IlPuntoTecnico
Hardware e Software => Connessioni ADSL/VDSL/FTTC => Topic aperto da: marxx6 - 22 Dicembre 2018, 14:25
-
Ciao a tutti,
sto tentando di usare Asterisk su una Raspberry Pi per gestire il VOIP di TIM.
Con le chiamate in uscita nessun tipo di problema. Con quelle in ingresso, invece, dopo 3 minuti esatti di conversazione ricevo
[Dec 22 13:56:25] NOTICE[3748][C-00000001]: chan_sip.c:23862 handle_response_invite: Failed to authenticate on INVITE to '<sip:[email protected];user=phone>;tag=XXXXXXXXXX'
e l'interlocutore non sente più nulla.
Per configurarlo ho seguito la guida di @puandr https://www.ilpuntotecnico.com/forum/index.php?topic=78071.0 che ho capito però essere per una versione precedente.
Al momento questa è la mia configurazione:
[numAtim]
type=peer
callerid=XXXXXXXXXX
allow=ulaw,alaw
username=+39XXXXXXXXXX
secret=MIA_PASSWORD
qualify=no
outboundproxy=dXXXsX.co.imsw.telecomitalia.it
insecure=invite
host=telecomitalia.it
fromuser=+39XXXXXXXXXX
fromdomain=telecomitalia.it
canreinvite=no
directrtpsetup=yes
La stringa di register è uguale a quella della guida.
Qualcuno sa per caso aiutarmi o ha una configurazione funzionante per questa versione di asterisk da condividere?
Grazie mille
-
sembra sia lo stesso problema che si stava avendo con l'applicazione blacklist.. e se non sbaglio li' c'era qualcosa in piu che faceva pensare fosse dovuto alla mancanza del codec g729
-
Grazie @FrancYescO , ho abilitato il codec g729 ma le chiamate continuano ad essere in alaw.
-
@marxx6 è l'esatto punto su cui sono fermo anch'io: a tre minuti esatti, mediante un sip INVITE, il proxy richiede l'autenticazione con hash, ma Asterisk non si autentica correttamente.
P.S. Il g729 non c'entra niente.
-
@puandr forse a questo punto serve chiedersi se è asterisk che sbaglia qualcosa o se è TIM che rifiuta l'autenticazione a prescindere...
-
È vero che spesso a pensar male ci si azzecca.
Ma poiché la seconda opzione sarebbe, oltre che diabolica, illegale.
Propendo per proseguire a tentare la prima strada.
-
Ok... ho appena fatto una prova con twinkle come client inserendo gli stessi dati che ho in asterisk e funziona anche oltre i 3 minuti...
Per la chiamata ha utilizzato il codec g711a contro l'alaw di asterisk. Ora provo a disattivare tutti i codec in asterisk e lascio solo il g711a (anche se TIM dice il contrario) e vediamo cosa succede...
EDIT:
:noob: alaw=g711a, sorry
-
Il g711a e l'alaw sono lo stesso codec.
Allora il problema è di Asterisk.
-
Per sfizio ho provato ad aggiornare alla versione 16 di asterisk ma il problema persiste ugualmente. Ci deve dunque essere qualcosa da sistemare nella configurazione...
edit
Ho trovato una parziale soluzione al problema... se lo si tratta come host invece che come outboundproxy le chiamate in ingresso superano i 3 minuti senza problemi. Il problema si sposta però al fatto che così non si riesce ad effettuare telefonate in uscita.
edit
Sono giunto ad una soluzione completamente funzionante anche se non ottimale: avere due peer, uno per ricevere e l'altro per chiamare. Posto la configurazione.
[numAtim] ;questo sarebbe l'inbound
type=peer
callerid=XXXXXXXXXX
allow=alaw,ulaw
username=+39XXXXXXXXXX
secret=PASSWORD_LUNGA_E_SEGRETA
qualify=no
insecure=invite
host=IP.DEL.PRO.XY
fromuser=+39XXXXXXXXXX
fromdomain=telecomitalia.it
realm=telecomitalia.it
[TimOutbound]
type=peer
callerid=XXXXXXXXXX
allow=alaw,ulaw
username=+39XXXXXXXXXX
secret=PASSWORD_LUNGA_E_SEGRETA
qualify=no
outboundproxy=IP.DEL.PRO.XY
insecure=invite
host=telecomitalia.it
fromuser=+39XXXXXXXXXX
fromdomain=telecomitalia.it
realm=telecomitalia.it
Unico bug di questa cosa è che con le chiamate in ingresso si vede sempre come callerid il proprio numero di telefono.
-
io aggiungerei questi parametri come specificato da TIM, prima che togliessero la pagina !
Supporto 100rel (messaggio PRACK) secondo RFC3262 : abilitato
Supporto UPDATE, secondo RFC3311 : abilitato
Expire Time : Minimo 86400 secondi
PS: il realm secondo me è digest.telecomitalia.it
-
Quei dati (realm a parte) ci sono ancora nella sezione Servizi Voce (VoIP) - tecnologia FTTC e FTTH della pagina:
https://assistenzatecnica.tim.it/at/portals/assistenzatecnica.portal?_nfpb=true&_pageLabel=InternetBook&radice=consumer_root&nodeId=/AT_REPOSITORY/880003
-
Bravo @marxx6 :clap: :clap: :clap:
Con alcune piccole modifiche ho tolto il bug della callid ed aggiunto la callback extension per integrarlo nella blacklist
Testerò la nuova versione per qualche giorno, poi la rilascerò sul forum
-
Purtroppo la situazione è un pò più ingarbugliata, e devo smorzare l'entusiasmo iniziale: la configurazione, che al momento funzionava, ha iniziato a non funzionare più.
Ho iniziato ad avere problemi: la stessa identica configurazione di asterisk che prima si autenticava, dopo un pò dà errori di autenticazione.
Inotre registro situazioni di crash del proxy dell'operatore ('CSCF Server Internal Error 020350306'), che congestionano la linea per un certo tempo.
Cosa che complica ulteriormente e che il sistema ha una memoria: il comportamento attuale è funzione anche della sequenza delle passate configurazioni di asterisk.
Una configurazione ad esempio mi ha funzionato per un pò, solo dopo aver modificato e riavviato asterisk seguendo una casuale ma precisa sequenza di diverse configurazioni.
EDIT
Neanche così: ho rieseguito la sequenza precedente, ma la configurazione non funziona più
-
Io sto usando la configurazione da quando l'ho postata e dopo diverse telefonate non ha ancora dato problemi. Puoi postare la configurazione che stai usando/dire come hai risolto il problema del callid?
-
@marxx6 purtroppo non la posso più verificare perché non mi funziona più, ma prova semplicemente a togliere i due
callerid=XXXXXXXXXX
-
Grazie @puandr , ti confermo che ora a me funziona tutto... non so come mai tu non riesca a riprodurlo.
-
Non lo so neanch'io, ho fatto talmente tante prove...
Mi confermi che ti sta girando sul Raspberry Pi?
-
Sì... versione 16 che ho compilato dai sorgenti e installato.
Ho avuto l'impressione che anche richiedere i dati tramite app/script python crei problemi. Prova magari a rimuovere tutti i client che hai dalla app, dove dice "gestione linea" e richiederli di nuovo con lo script python. Nulla di scientifico ovviamente ma per provare tutto è valido... :huh:
-
Sono giunto ad una soluzione completamente funzionante anche se non ottimale: avere due peer, uno per ricevere e l'altro per chiamare.
@puandr di recente ho installato altre due istanze di asterisk una in VM ed una direttamente sul AGTHP e ti confermo che con questa configurazione riesco a chiamare e ricevere senza problemi.