Io ho un role per ansible che uso con il VoIP di tim proprio su un raspberry! Se Marco25 ti serve dimmelo
VoIP tramite Android/iOS o centralino su Raspberry Pi, possibile?
- Modificato
Marco25 ma dnsmasq dove?
Edit: il DNS è 85.38.28.2
Qua c’è la configurazione che us(avo): https://blog.eutampieri.eu/tim-asterisk/ (perdona i colori)
Qua il ruolo ansible https://gitlab.com/eutampieri/ansible_asterisk
Qua il playbook:
---
- name: Configure asterisk PBX
hosts: pbx
vars:
sip_peers:
# Trunks
- name: telecom2
register: true
incoming_exten:
username:
context: provider
password:
nat: force_rport,comedia
codecs: ulaw,alaw
host: telecomitalia.it
insecure: invite,port
outboundproxy: dxxxx.co.imsw.telecomitalia.it
fromdomain: telecomitalia.it
fromuser: num tel
- Modificato
eutampieri Su un Raspberry Pi nella rete locale. La direttiva --server=/google.com/1.2.3.4
permette di usare un dns specifico per dominio specificato, ma ho fatto prima un test con dig
e quei DNS non rispondono.
EDIT: 85.38.28.2 risponde, grazie. Come lo hai trovato e sai perché gli altri non rispondono?
Marco25 ma scusa, se non l’hai cambiato sul router potresti usare quello. Comunque quell'IP viene dal mio router quindi dovrebbe essere giusto
[cancellato] beh spero che sia su rete TIM, altrimenti non potrebbe nemmeno usare il VoIP
[cancellato]
- Modificato
Non so se magari prova anche da un telefono che non è su rete TIM - meglio "puntualizzare"
Qua comunque manca secondo me la considerazione principale, ovvero che la ricezione delle chiamate, soprattutto su iOS, richiede le notifiche push altrimenti non va
Già un problema, il forwarding condizionale funziona, ma quando lo smartphone esegue la query xxxxx.co.imsw.telecomitalia.it
verso il resolver TIM la risposta è NODATA-IPv4
.
[cancellato]
TIM se non ricordo male ha una gestione un po' complessa dei proxy VoIP - ce ne sono diversi, codificati per distertto/area gegrafica e vanno fatte interrogazioni DNS SRV per avere l'elenco di quelli per la connessione specifica - e non so se dipende anche dai DNS che dovrebbero essere usati dalla connessione.
[cancellato] vanno fatte interrogazioni DNS SRV per avere l'elenco di quelli per la connessione specifica
Ecco, il dialer a quanto pare fa una query A ma non trovo l'opzione per le query SRV.
- Modificato
Mmmh, ho ricavato l'indirizzo dell'outbound proxy manualmente tramite nslookup ma provando a chiamare ottengo "Number unreachable" e la chiamata termina immediatamente. Il log di Android non fornisce altre informazioni...
EDIT: ho riavviato e riesco a chiamare, ma non si riesce a rispondere alle chiamate in ingresso, perché finiscono immediatamente tra le chiamate perse, come se non si riuscisse a mantenere la connessione aperta.
Niente, non ricevo. Ho catturato il traffico con tcpdump e ho notato questo possibile errore quando il client comunica con l'outbound proxy:
Request-Line: OPTIONS sip:telecomitalia.it SIP/2.0
Status-Line: SIP/2.0 500 Cx Unable To Comply NUMERO_ESADECIMALE
Qualche suggerimento?
Marco25 prova con asterisk. Io lo uso e mi funziona
eutampieri È ciò a cui stavo pensando. Tuttavia è un software che non conosco, quindi ho dubbi su alcune questioni:
- È semplice da installare e mantenere per casi d'uso che prevedono un solo telefono VoIP, senza funzionalità particolari e requisiti di disponibilità?
- L'installazione del centralino pone rischi per la sicurezza? Ad esempio attacchi dall'esterno? Può essere abusato per chiamate illegittime? Vanno aperte porte sul router?
- Vedo che siamo alla versione 19 ma nei repo di Debian/Raspbian siamo alla versione 16. Dovrei compilare l'ultima?
- Comincio da qui?
Operativamente poi come si comporta? Una volta configurato asterisk da CLI, collego il telefono VoIP al server asterisk locale piuttosto che al server TIM e chiamo?
Marco25 È semplice da installare e mantenere per casi d'uso che prevedono un solo telefono VoIP, senza funzionalità particolari e requisiti di disponibilità?
Più si che no
Marco25 L'installazione del centralino pone rischi per la sicurezza? Ad esempio attacchi dall'esterno? Può essere abusato per chiamate illegittime? Vanno aperte porte sul router?
No
Marco25 Vedo che siamo alla versione 19 ma nei repo di Debian/Raspbian siamo alla versione 16. Dovrei compilare l'ultima?
No
Io ho cominciato da dei video di una società tedesca, ma in pratica devi modificare sip.conf aggiungendo quello che ti ho linkato (era la configurazione che usavo io) più un peer
[username]
type=friend
disallow=all
allow=alaw,ulaw
secret=password
host=dynamic
context=phones
Devi anche modificare extensions.conf
[provider]
exten => <il numero alla fine della register String>,1,Goto(phones,0,1)
[phones]
exten => 0,1,NoOp
same => n,Progress()
same => n,PrivacyManager(1)
same => n,Dial(SIP/username)
exten => _X!,1,NoOp()
same => n,Progress
same => n,Dial(SIP/telecom/${EXTEN},60,KT)
exten => _+39X!,1,NoOp()
same => n,Progress
same => n,Dial(SIP/telecom/${EXTEN},60,KT)
exten => 0039X!,1,NoOp()
same => n,Progress
same => n,Dial(SIP/telecom/${EXTEN},60,KT)
Occhio che non mi vanno le chiamate in uscita verso gli altri numeri fissi TIM
eutampieri Occhio che non mi vanno le chiamate in uscita verso gli altri numeri fissi TIM
Beh non è un problema da niente.