PSTN vers VOIP

Questions générales sur la technologie de Voix sur IP.

Modérateur: Barbapapa

PSTN vers VOIP

Message par Eric33 » 03 Oct 2016 08:57

Coucou,

J'aimerais remplacer toute mon installation téléphonique analogique PSTN par du matériel IP.

Je dispose d'un numéro OVH et j'ai rassemblé tout le matériel dont je disposais, c'est-à-dire :
- d'un vénérable SPA3102
- d'une tout aussi vénérable FritzBox Fon Ata 1020
- d'une Fritzbox 7360 (utilisée avec mon abonnement Proximus)
- d'une B-box3 Sagem
- de téléphones standards RJ11 filaires (j'aimerais m'en débarrasser) et DECT (j'aimerais les garder)
- d'un téléphone IP Alcatel IP300

Je compte recâbler mon installation en RJ45 (pas compliqué) et passer vers un abonnement Scarlet à 25€.

Il me faudrait au final 2 téléphones fixes et une base DECT.

Au niveau matériel, que me conseillez-vous d'utiliser ?
Connecter le téléphone IP sur la Fritzbox 7360 ?
Investir dans un Raspberry Pi ?
Utiliser seulement le téléphone IP, connecter mes Dect dessus et investir dans un second téléphone IP filaire ?

Merci d'avance pour vos suggestions, je suis un peu paumé pour sélectionner la meilleure solution.

Eric
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 03 Oct 2016 09:08

Un raspberry pi et asterisk pour pouvoir gérer un seul (ovh) compte sip via plusieurs téléphones.
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par Eric33 » 03 Oct 2016 13:23

J'ai trouvé un Raspberry Pi 2.

Asterisk et Raspbx sont installés.

Je me suis inspiré de ceci :
http://www.raspberry-asterisk.org/documentation/
http://www.algissalys.com/how-to/asteri ... sip-server
http://www.framboise314.fr/category/fra ... -raspbian/

Ça a l'air de tourner mais Raspbx m'a l'air bien compliqué :-(
Je préfère éditer les fichiers de configuration à la main :-D

Je vois ceci (à partir du point 3) : http://www.rjsystems.nl/en/2100-asterisk.php

Je n'ai pas mon téléphone IP sous la main mais ce week-end, j'irai plus loin.

a+
eric
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par Eric33 » 03 Oct 2016 13:39

Je vais me servir de ce topic comme pense-bête :-)
Comment désactiver freepbx :
http://www.raspberry-asterisk.org/faq/#asteriskonly
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par Eric33 » 03 Oct 2016 14:02

Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 03 Oct 2016 14:04

Eric33 a écrit :... Je préfère éditer les fichiers de configuration à la main :-D ...


C'est, le plus simple :wink:

Asterisk version de base peut se résumer à sip.conf ou users.conf pour déclarer les phones et les comptes sip.

Extension.conf pour le dialplan.
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par mackguil » 03 Oct 2016 14:05

Eric33 a écrit :Un exemple de sip.conf : http://www.voip-info.org/wiki/view/Aste ... g+sip.conf



C'est LE site de référence pour ce qui est de la config d'asterisk.
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par Eric33 » 03 Oct 2016 14:44

Merci mackguil :-)

De la doc pour les paramètres OVH : https://docs.ovh.com/display/public/CRT ... tilisation
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par Eric33 » 04 Oct 2016 08:22

Coucou,

Ci-dessous, j'ai mis mon sip.conf et mon extensions.conf, est-ce que vous auriez des remarques (des trucs à supprimer ou à rajouter) ?
En gros, il n'y a rien de spécial, juste un téléphone IP connecté à OVH.

Comme je n'ai pas le téléphone sous la main, bah euh, c'est à l'aveugle :alcoholic:

Au niveau sécurité, on peut (il faut) rajouter des choses ?

Merci d'avance,
Eric

Le sip.conf :
Code : Tout sélectionner
[general]
defaultexpiry=1800
qualify=yes
canreinvite=no
srvlookup=no

disallow=all
allow=ulaw
allow=alaw

register => 0032...:[email protected]
;########################################
[provider]
context=incoming

username=0032...
secret=abcdefgh

type=friend
host=sip3.ovh.be
language=fr
fromuser=0032......
;########################################
[sip-phone]
context=outgoing

username=1000
secret=ijklmnop

type=friend
callerid="0032..." <0032...>
nat=yes
host=dynamic
language=fr


L'extensions.conf
Code : Tout sélectionner
[incoming]
exten => 0032.....,1,Dial(SIP/sip-phone,60)
exten => 0032.....,n,Hangup()

[outgoing]
exten => _X.,1,Dial(SIP/${EXTEN}@provider)
exten => _X.,n,Hangup()
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 04 Oct 2016 08:52

Dans le sip.conf ajoute:


alwaysauthreject=yes
allowguest=no
Bindaddr= les ip de tes phones ou une plage.

Change le nom de context de sortie trop courant outgoing.

Dans le context de sortie le

Code : Tout sélectionner
exten => _X.,1,Dial
est dangereux car n'importe quelle numéro passera par le provider et le gus qui piratera le serveur aura du pain béni dan les mains :-?

Imagine un num surtaxé à wagamachin et hop la facture s’envole en quelques secondes.




Rédiges plutôt les règles exten de cette façon:

Code : Tout sélectionner
exten => _003246.,1,Dial(SIP/ton provider/${EXTEN})
ou
exten => _046.,1,Dial(SIP/ton provider/${EXTEN})



C'est plus casse pied pour ton dialplan mais bien plus secure.
Tu as aussi la possiblite de taper un code de sortie avant de composer ton num par exemple pour le 888 ton numéro

Code : Tout sélectionner
exten => _888046XXXXXXX,1,Dial(SIP/ton provider/${EXTEN:3})


Tu autoriseras une règle par préfixe:

04,06,003242,...

Un srcipt iptable pour gérer les ports ouverts sur rasp serait le bienvenu.

Un fail2ban qui fouine dans les logs et banni les ip de scan, indésirable.

J'en oublie ...
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par Eric33 » 04 Oct 2016 09:37

Merci pour tes conseils. :bier:

J'ai installé fail2ban.
Lors de l'install, j'ai répondu yes pour écraser les fichiers de conf existants (lu ici : https://sourceforge.net/p/raspbx/discus ... /dbc424bc/ )

J'ai rajouté un contexte "poubelle" dans le sip.conf avec une définition vide dans l'extensions.conf (vu ici : http://www.voip-info.org/wiki/view/Asterisk+security)

J'ai activé la liste noire dans le manager OVH en laissant (dans mon cas) juste les appels autorisés (et normaux) pour la Belgique et la France.

On recommence :

Le sip.conf :

Code : Tout sélectionner
[general]
context = poubelle

defaultexpiry=1800
qualify=yes
canreinvite=no
srvlookup=no
allowguest=no
alwaysauthreject=yes
bindaddr=192.168..... ; IP du téléphone

disallow=all
allow=ulaw
allow=alaw

register => 0032...:[email protected]
;########################################
[provider]
context=sip-ovh-entree

username=0032...
secret=abcdefgh

type=friend
host=sip3.ovh.be
language=fr
fromuser=0032......
;########################################
[sip-phone]
context=sip-ovh-sortie

username=1000
secret=ijklmnop

type=friend
callerid="0032..." <0032...>
nat=yes
host=dynamic
language=fr



L'extensions.conf :

Code : Tout sélectionner
[poubelle]

[sip-ovh-entree]
exten => 0032.....,1,Dial(SIP/sip-phone,60)
exten => 0032.....,n,Hangup()

[sip-ovh-sortie]
exten => _064XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _003264XXXXXX.,1,Dial(SIP/${EXTEN}@provider)
exten => _065XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _003265XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _0473XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _0032473XXXXXX,1,Dial(SIP/${EXTEN}@provider) ; à compléter
exten => _X.,n,Hangup()
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 04 Oct 2016 09:47

Eric33 a écrit :Merci pour tes conseils. :bier:

J'ai installé fail2ban.
Lors de l'install, j'ai répondu yes pour écraser les fichiers de conf existants (lu ici : https://sourceforge.net/p/raspbx/discus ... /dbc424bc/ )

J'ai rajouté un contexte "poubelle" dans le sip.conf avec une définition vide dans l'extensions.conf (vu ici : http://www.voip-info.org/wiki/view/Asterisk+security)

J'ai activé la liste noire dans le manager OVH en laissant (dans mon cas) juste les appels autorisés (et normaux) pour la Belgique et la France.

On recommence :

Le sip.conf :

Code : Tout sélectionner
[general]
context = poubelle

defaultexpiry=1800
qualify=yes
canreinvite=no
srvlookup=no
allowguest=no
alwaysauthreject=yes
bindaddr=192.168..... ; IP du téléphone

disallow=all
allow=ulaw
allow=alaw

register => 0032...:[email protected]
;########################################
[provider]
context=sip-ovh-entree

username=0032...
secret=abcdefgh

type=friend
host=sip3.ovh.be
language=fr
fromuser=0032......
;########################################
[sip-phone]
context=sip-ovh-sortie

username=1000
secret=ijklmnop

type=friend
callerid="0032..." <0032...>
nat=yes
host=dynamic
language=fr



L'extensions.conf :

Code : Tout sélectionner
[poubelle]

[sip-ovh-entree]
exten => 0032.....,1,Dial(SIP/sip-phone,60)
exten => 0032.....,n,Hangup()

[sip-ovh-sortie]
exten => _064XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _003264XXXXXX.,1,Dial(SIP/${EXTEN}@provider)
exten => _065XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _003265XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _0473XXXXXX,1,Dial(SIP/${EXTEN}@provider)
exten => _0032473XXXXXX,1,Dial(SIP/${EXTEN}@provider) ; à compléter
exten => _X.,n,Hangup()


Y'a plus qu'a tester et paufiner au gré de tes envies :wink:

Asterisk est fabuleux et vraiment très puissant quand les lignes de code ne font pas peur.

Coupler ovh à un service betamax pour les gsm, ce n'est que des bénéfices (usage perso on se comprend car pour du pro faut oublier).
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par Eric33 » 04 Oct 2016 11:32

La configuration d'exim pour l'envoi de mail :

http://www.raspberry-asterisk.org/documentation/#email
http://pbxinaflash.com/community/thread ... post-83241

edit :
D'un autre côté, au final, j'aimerais plutôt intégrer la messagerie dans le téléphone IP.
Le message serait enregistré sur le raspberry et une led clignoterait sur le téléphone pour m'indiquer un nouveau message.
J’appellerais la messagerie vocale pour écouter ou supprimer le message.
Je vais cogiter :wink:
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 04 Oct 2016 15:12

Eric33 a écrit :D'un autre côté, au final, j'aimerais plutôt intégrer la messagerie dans le téléphone IP.
Le message serait enregistré sur le raspberry et une led clignoterait sur le téléphone pour m'indiquer un nouveau message.
J’appellerais la messagerie vocale pour écouter ou supprimer le message.
Je vais cogiter :wink:


C'est en natif dans le serveur, ta voicemail envoie l'info au phone qui clignote et un mail à ton adresse via postfix par exemple ave cle message en fichier joint.
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par Eric33 » 04 Oct 2016 17:25

Hop hop, on va essayer de nettoyer le log d'asterisk :D

Code : Tout sélectionner
[2016-10-04 17:07:04] NOTICE[1466] chan_sip.c: The 'username' field for sip peers has been deprecated in favor of the term 'defaultuser'

Bon, on va remplacer "username" en "defaultuser" dans le sip.conf.
L'erreur disparaît.

Code : Tout sélectionner
[2016-10-04 17:07:04] WARNING[1466] sip/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead
[2016-10-04 17:07:04] WARNING[1466] chan_sip.c: !!! PLEASE NOTE: Setting 'nat' for a peer/user that differs from the  global setting can make
[2016-10-04 17:07:04] WARNING[1466] chan_sip.c: !!! the name of that peer/user discoverable by an attacker. Replies for non-existent peers/users
[2016-10-04 17:07:04] WARNING[1466] chan_sip.c: !!! will be sent to a different port than replies for an existing peer/user. If at all possible,
[2016-10-04 17:07:04] WARNING[1466] chan_sip.c: !!! use the global 'nat' setting and do not set 'nat' per peer/user.
[2016-10-04 17:07:04] WARNING[1466] chan_sip.c: !!! (config category='sip-phone' global force_rport='No' peer/user force_rport='Yes')

J'ai remplacé nat=yes par nat=force_rport,comedia dans mon sip.conf et l'ai mis dans ma section [general]
Ça fonctionne aussi, l'erreur n'est plus présente.

Code : Tout sélectionner
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_pjsip_history.so' could not be loaded.
[2016-10-04 18:16:17] WARNING[1465] loader.c: Error loading module 'res_pjsip_publish_asterisk.so': /usr/lib/asterisk/modules/res_pjsip_publish_asterisk.so: undefined symbol: ast_sip_register_publish_handler
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_pjsip_publish_asterisk.so' could not be loaded.
[2016-10-04 18:16:17] WARNING[1465] loader.c: Error loading module 'res_pjsip_multihomed.so': /usr/lib/asterisk/modules/res_pjsip_multihomed.so: undefined symbol: ast_sip_get_transport_states
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_pjsip_multihomed.so' could not be loaded.
[2016-10-04 18:16:17] WARNING[1465] loader.c: Error loading module 'res_hep_pjsip.so': /usr/lib/asterisk/modules/res_hep_pjsip.so: undefined symbol: ast_copy_pj_str
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_hep_pjsip.so' could not be loaded.
[2016-10-04 18:16:17] WARNING[1465] loader.c: Error loading module 'res_pjsip_phoneprov_provider.so': /usr/lib/asterisk/modules/res_pjsip_phoneprov_provider.so: undefined symbol: ast_phoneprov_std_variable_lookup
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_pjsip_phoneprov_provider.so' could not be loaded.
[2016-10-04 18:16:17] WARNING[1465] loader.c: Error loading module 'res_pjsip_send_to_voicemail.so': /usr/lib/asterisk/modules/res_pjsip_send_to_voicemail.so: undefined symbol: ast_sip_session_register_supplement
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_pjsip_send_to_voicemail.so' could not be loaded.
[2016-10-04 18:16:17] WARNING[1465] loader.c: Error loading module 'res_pjsip_sips_contact.so': /usr/lib/asterisk/modules/res_pjsip_sips_contact.so: undefined symbol: ast_sip_get_pjsip_endpoint
[2016-10-04 18:16:17] WARNING[1465] loader.c: Module 'res_pjsip_sips_contact.so' could not be loaded.
[2016-10-04 18:16:18] ERROR[1465] config_options.c: Unable to load config file 'res_parking.conf'
[2016-10-04 18:16:18] WARNING[1465] res_config_pgsql.c: Unable to load config res_pgsql.conf
[2016-10-04 18:16:18] ERROR[1465] res_config_sqlite.c: Unable to load res_config_sqlite.conf
[2016-10-04 18:16:21] VERBOSE[1465] chan_sip.c: SIP channel loading...
[2016-10-04 18:16:21] WARNING[1465] chan_sip.c: Invalid address: 192.168.178.....
[2016-10-04 18:16:21] NOTICE[1465] chan_ooh323.c: Unable to load config ooh323.conf, OOH323 disabled
[2016-10-04 18:16:21] ERROR[1465] chan_ooh323.c: Can't load ooh323 config file, OOH323 Disabled
[2016-10-04 18:16:21] NOTICE[1665] chan_sip.c: Peer 'provider' is now Reachable. (17ms / 2000ms)
[2016-10-04 18:16:22] ERROR[1465] chan_mobile.c: No Bluetooth devices found. Not loading module.
[2016-10-04 18:16:22] NOTICE[1465] chan_skinny.c: Configuring skinny from skinny.conf
[2016-10-04 18:16:22] NOTICE[1465] chan_skinny.c: Unable to load config skinny.conf, Skinny disabled.
[2016-10-04 18:16:22] NOTICE[1465] chan_console.c: Unable to open configuration file console.conf!
[2016-10-04 18:16:22] NOTICE[1465] iax2/provision.c: No IAX provisioning configuration found, IAX provisioning disabled.
[2016-10-04 18:16:22] ERROR[1465] config_options.c: Unable to load config file 'agents.conf'
[2016-10-04 18:16:22] ERROR[1465] app_agent_pool.c: Unable to load config. Not loading module.
[2016-10-04 18:16:25] NOTICE[1465] confbridge/conf_config_parser.c: Adding default_menu menu to app_confbridge
[2016-10-04 18:16:25] WARNING[1465] res_calendar.c: Calendar support disabled, not loading ical calendar module
[2016-10-04 18:16:25] WARNING[1465] res_calendar.c: Calendar support disabled, not loading exchange calendar module
[2016-10-04 18:16:25] WARNING[1465] res_calendar.c: Calendar support disabled, not loading ews calendar module
[2016-10-04 18:16:25] WARNING[1465] res_calendar.c: Calendar support disabled, not loading caldav calendar module
[2016-10-04 18:16:25] NOTICE[1465] cdr_tds.c: Unable to load TDS config for CDRs: cdr_tds.conf

Par contre, ici j'ai toute une ribambelle de modules pas chargé (mais pas forcément nécessaire je suppose).

Dans mon modules.conf, j'ai ceci :
Code : Tout sélectionner
[modules]
autoload=yes
preload = pbx_config.so
preload = chan_local.so
preload = func_db.so
noload = chan_woomera.so
noload = pbx_gtkconsole.so
noload = pbx_kdeconsole.so
noload = app_intercom.so
noload = chan_modem.so
noload = chan_modem_bestdata.so
noload = chan_modem_i4l.so
noload = app_trunkisavail.so
noload = chan_alsa.so
noload = chan_oss.so
noload = app_directory_odbcstorage.so
noload = app_voicemail_odbcstorage.so
noload = chan_modem_aopen.so
noload = cdr_radius.so
......

Si j'ai bien compris, pour éviter que tout ne soit chargé, je désactive l'autoload et j'active les modules nécessaires.
Ça vaut le coup de se lancer là-dedans ?

Merci! :-)
Eric
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 04 Oct 2016 19:01

Pour les modules, vérifies dans les logs, les modules qui causent les erreurs si pas besoin de la fonction qu'il propose tu le désactives via un noload.
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium

Re: PSTN vers VOIP

Message par Eric33 » 04 Oct 2016 20:05

ahah, Asterisk essaie de charger le module chan_local.so mais
http://issues.freepbx.org/browse/FREEPBX-13065
https://wiki.asterisk.org/wiki/display/ ... al+Channel

Je le désactive dans le /etc/asterisk/modules.conf en remplaçant preload par noload.

Sinon, j'ai désactivé d'autres modules :
;-----------------------------
noload = chan_unistim.so
noload = chan_ooh323.so
noload = chan_skinny.so
noload = chan_mobile.so
noload = chan_console.so
noload = chan_phone.so
;-----------------------------
Ce sont des "channel drivers" qui m'ont l'air inutiles ( http://www.asteriskdocs.org/en/3rd_Edit ... ECT-1.html )

Là-dessus dodo. :D
Avatar de l’utilisateur
Eric33
Acharné
Acharné
 
Message(s) : 1032
Inscription : 12 Déc 2001 01:00
Localisation : Mons

Re: PSTN vers VOIP

Message par mackguil » 04 Oct 2016 20:30

Eric33 a écrit :...Là-dessus dodo. :D


Asterisk me parlait le plus, la nuit ...
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21326
Inscription : 14 Mai 2005 10:22
Localisation : Luik Belgium


Retour vers Généralités

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit