Un petit message pour résumer toutes mes manips sous forme de mini tutoriel.
1 - Installer le nécessaire pour compilersudo -i
apt update
apt install libssl1.0.0 libssl-dev make
exit
L’installation de ces packages va entrainer l’installation des outils de compilation et des librairies nécessaires.
Si vous voulez un éditeur plus simple que "
vi", je vous propose d'installer "
nano".
sudo apt install nano
2 - Compiler Curl 7.38 avec l'option SSLwget http://curl.haxx.se/download/curl-7.38.0.tar.gz
tar zxvf curl-7.38.0.tar.gz
cd curl-7.38.0
./configure --with-ssl
make
sudo make install
cd ..
3 - Installer les librairies pour Siproxdsudo apt install pkg-config libxml2-dev libosip2-dev libltdl-dev
4 - Installer Siproxdwget http://x0r.fr/blogstuff/siproxd-15Sep2014-patched.tar.gz
tar zxvf siproxd-15Sep2014-patched.tar.gz
cd siproxd-0.8.2dev
./configure
make
sudo make install
cd ..
Si vous rencontrez une erreur avec le plugins.h, il faut :
enlever via une editeur de type "vi" la ligne commentéé suivante dans le fichier src/plugins.h :
extern const void *lt_preloaded_symbols[];L'exécutable "
siproxd" sera installer dans le répertoire : "
/usr/local/sbin"
5 - Installer le plugin orange X0rIl faut télécharger le plugin sur :
https://github.com/nsapa/siproxd_orangeDécompresser
siproxd_orange-master.zipcd siproxd_orange-master
sudo chmod -R 777 *
- Il faut faire un lien symbolique sur l'installation siproxd :
ln -s ../siproxd-0.8.2dev siproxd
- Enfin compiler et installer :
./configure
make
sudo make install
cd ..
Le plugin sera installé dans le répertoire : "
/usr/local/lib/siproxd/".
6 - Configuration de siproxdPour cette configuration, je suppose que vous utilisez la configuration sans livebox de c0mm0n.
Dans le répertoire "
/usr/local/etc/", vous trouverez un exemple de fichier de configuration pour siproxd "
siproxd.conf.example".
J'ai pris ce fichier commme base.
Dans un premier, je vous conseille de mettre au point votre fichier de configuration dans le répertoire de votre compte.
cp //usr/local/etc/siproxd.conf.example ~/monsiproxd.conf
6.1 - Ajouter le plugin_orangeAjouter les lignes suivants dans votre fichier :
load_plugin=plugin_orange.la
plugin_orange_username = nom.prenom@orange.fr
plugin_orange_password = mdpboitemail
6.2 - Les variables importantes à configurer- if_outbound = pppoe0 : c'est interface pour les appels entrants,
- if_inbound = eth0 : C'est l'interface pour les appels sortants. C'est donc l'interface de votre réseau,
- daemonize = 1 : Lance siproxd en tant que démon. C'est le mode conseillé quand tout fonctionne. Pendant la phase de mise au point, je vous conseille de mettre 0,
- plugindir=/usr/local/lib/siproxd/ : Indique le répertoire des plugins,
6.3 - Lancer siproxd avec votre fichierDans un premier temps, il faut modifier la variable
daemonize de votre fichier de conf.
daemonize = 0
Pour lancer siproxd avec votre fichier de conf, il suffit d'exécuter la commande suivante :
/usr/local/sbin/siproxd -c ./monsiproxd.conf
Si tout se passe bien, vous devez avoir la ligne suivante
11:10:44 INFO:plugins.c:110 Plugin 'plugin_orange' [SIP plugin for Orange Livephone, version 0.2.1] loaded with success, exemask=0x165*
* exemask est peut-être faux, je ne suis pas chez moi pour vérifier.
Si cela ne fonctionne pas ou si vous voulez voir plus d'informations, vous pouvez exécuter siproxd avec des infos de débug :
/usr/local/sbin/siproxd -d 4132 -c ./monsiproxd.conf
7 - Configuration de LinphoneJe suppose que :
- votre routeur est à l'adresse IP 192.168.1.1,
- et que votre numéro de téléphone est : 0123456789.
Voici comment configurer un compte SIP :
- Lancer Linphone,
- Cliquer sur Options->Préférences
- Cliquer sur Gérer mes comptes SIP
- Remplir le champ Votre nom d'affichage (ex: John Doe) avec vos nom et prénom
- Remplir le champ Votre nom d'utilisateur avec votre prénom
- Dans Compte SIP via des proxy, cliquer sur le bouton Ajouter
- Remplir le champ Votre identité SIP: : sip:+33123456789@orange-multimedia.fr
- Remplir le champ Adresse du proxy SIP: : sip:192.168.1.1
- Remplir le champ Transport : UDP
- Remplir le champ Route (optionnel): : sip:192.168.1.1
- Cocher la case Publier la présence
- Cliquer sur le bouton Valider
- Cliquer sur le bouton Fermer
Si tout se passe bien, Linphone s'enregistre et vous pouvez passer votre premier appel !
Pour info : siproxd n'accepte qu'un seul client SIP à la fois. Je pense que le logiciel
Asterisk permet de lever cette limitation. A voir.
8 - Executer siproxd au demarrage du routeurSi vous en êtes là, c'est que tout fonctionne.
N'oubliez pas de mettre à 1 la variable daemonize dans votre fichier de configuration.
daemonize = 1
if faut copier votre fichier de conf dans le bon répertoire et le bon nom :
sudo cp ./monsiproxd.conf /usr/local/etc/siproxd.conf
I faut créer un script "siproxd.sh" avec les lignes suivantes:
#!/bin/sh -e
sudo /usr/local/sbin/siproxd
il faut rendre exécutable ce script et le copier dans le bon emplacement :
chmod 777 ./siproxd.sh
sudo cp ./siproxd.sh /config/scripts/post-config.d/
Il suffit de rebooter le routeur :
reboot
9 - Compatibilité avec clients SIPLogiciel/Matériel | Editeur | Version | Enregistrement | Appel sortant | Appel rentrant |
Ekiga | Ekiga | 4.0.1 | Oui | Non | Non |
Linphone | Linphone | 3.8.5 | Oui | Oui | Oui |
MicroSIP | MDEV Group | 3.10.5 | Non | Non | Non |
SPA122 | CISCO | 1.4.0 | Oui | Non | Non |
Pour les logiciels
Ekiga et
MicroSIP, je n'ai peut-être pas réussi à les configurer !
Si vous avez des retours à faire pour d'autres clients (Logiciel ou matériel tel que SPA112 de Cisco), je suis preneur.
Edit du 09.09.2015 : Ajout du SPA122