La via le bridge c'est bien l'@mac originale qui sort.
"REGISTER sip:orange-multimedia.fr SIP/2.0"
SIP/2.0 401 Unauthorized
"REGISTER sip:orange-multimedia.fr SIP/2.0"
Je te suis pas, tu penses que ca changerait quoi ? :D
Le seul endroit ou j'ai vu un contrôle de mac c'est sur la requête DHCP pour la video, le reste c'est open bar.
L'interet de la LB sur le LAN c'est d'etre un client SIP qui va convertir le RJ45 en RJ11 (comme un linksys PAP2T)
Peut être pour éviter de partager la ligne avec d'autres personnes en dehors du foyer ? :pY'a d'autres astuces pour ça, comme filtrer les connexions sur la base des adresses MAC ou des IPs. Çà se fait pour els serveur SMTP par exemple chez les plupart des telcos. C'est pas comme si ils ne maîtrisait pas leur infra réseau ...
Peut être pour éviter de partager la ligne avec d'autres personnes en dehors du foyer ? :p
@Tol PhobosPas de problème. Ton hypothèse est d'ailleurs la plus logique ... :'( ... c'est affligeant.
C'était une hypothèse comme une autre. Ce qui me fait penser ça est le cas de la SIP chez Free qui a été bridée suite à des détournements de ligne par des techniciens peu scrupuleux...
Edit: N'empêche, je sens qu'avec les infos actuelles vous touchez au but pour virer vraiment définitivement la Livebox, et récupérer la SIP autrement.
@Tol Phobos
C'était une hypothèse comme une autre. Ce qui me fait penser ça est le cas de la SIP chez Free qui a été bridée suite à des détournements de ligne par des techniciens peu scrupuleux...
@c0mm0n
L'appli ne permet de téléphoner ni de recevoir d'appels de l'extérieur. En revanche, elle permet encore de rediriger les appels vers le numéro de son choix et d'écouter le répondeur.
Edit: N'empêche, je sens qu'avec les infos actuelles vous touchez au but pour virer vraiment définitivement la Livebox, et récupérer la SIP autrement.
Mais niveau légal je ne sais pas ce que ça donnerait... le droit à l'interopérabilité pourrait peut-être être applicable ?Ça pourrait marcher (http://www.jurisexpert.net/notion-dinteroperabilite-en-matiere-de-logiciel/).
Orange ne nous a jamais facturé de "logiciel" juste du service, avec une box qui nous appartient pas.Ben, techniquement parlant, Orange loue ses BOXs qui contiennent le logiciel en question ... la location est une forme de facturation et elle autorise l'usage du dit logiciel. Et Orange nous facture par ailleurs le service de téléphonie SIP. Ton argument serait valable si Orange n'avait pas opté pour cette pratique commerciale qui lui permet de gratter 3€/mois ...
1 Location Livebox Play
A noter que x0r (http://x0r.fr/blog/36) a réalisé une analyse assez poussée de la partie SIP d'Orange.Merci d'avoir mis le lien, c'est une très bonne initiative de sa part et l'article est intéressant.
J'ai du mal a capter pourquoi ils ont tant sécurisé cette partie, par contre, ok c'est sensible (ca tape dans la facture), mais a ce point !?Il y a eu des histoires de piratage de comptes SIP chez Free et Neuf, il y a quelques années. Tu peux facilement trouver des exemples sur différents sites d'actualité en ligne.
C'était une hypothèse comme une autre. Ce qui me fait penser ça est le cas de la SIP chez Free qui a été bridée suite à des détournements de ligne par des techniciens peu scrupuleux...Par des techniciens ?
Je n'ai pas le niveau de x0rPersonnellement j'ai des connaissances en matière de rétro-ingénierie, si quelqu'un veut de l'aide il peut me contacter par MP.
et je ne suis pas capable d'aller faire un dump du firmware d'une LB pour finaliser le projet.D'ailleurs, est-ce que quelqu'un ici serait capable de faire ça physiquement (essayer d'exploiter un port JTAG s'il y en a, ou dans le pire des cas dumper directement le contenu de la puce mémoire) ?
Par contre, si quelqu'un y arrive et publie l'algo, je veux bien me sortir les doigts et aller développer un plugin sur siproxd (http://siproxd.sourceforge.net/) pour gérer les connexions SIP Orange, puis porter le plugin sur pfSense.Comme je l'ai dit plus haut, ça a déjà été commencé : http://code.x0r.fr/siproxd_orange/src (http://code.x0r.fr/siproxd_orange/src)
Faudrait peut être aussi aller voir s'il y a moyen de décompiler leur appli mobile pour y trouver des données sur le mécanisme d'authentification.L'application mobile, ou bien la version Windows, comme l'a fait x0r. Sachant que la majeure partie du code de la version Android n'est pas sous forme de bytecode Java mais de langage machine ARM, la rétro-ingénierie de l'application mobile ne serait pas forcèment plus simple à effectuer.
Mais niveau légal je ne sais pas ce que ça donnerait... le droit à l'interopérabilité pourrait peut-être être applicable ?Je ne suis pas juriste, mais je dirais qu'il y a de fortes chances.
Ça pourrait marcher (http://www.jurisexpert.net/notion-dinteroperabilite-en-matiere-de-logiciel/).L'article en question sur Legifrance (il a fait l'objet de quelques reformulations sur le site vers lequel tu as mis un lien) : http://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069414&idArticle=LEGIARTI000006278920 (http://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069414&idArticle=LEGIARTI000006278920)
Hmmm, j'y connais rien, mais en l'occurrence on achète un service pas un logiciel.Pourquoi faudrait-il l'avoir acheté ?
Et tu peux être sur que les CGVs bétonnent ces points.Les CGV sont-elles seulement supérieures à la loi dans le cas présent ?
Marin, t'as vu la capture de la sequence de boot par le port série ?Oui, je l'ai survolée. Je parlais de dumper le firmware lui-même via JTAG.
Vous réclamer simplement le "droit" de hacker le SIP de la livebox pour les motifs clairement cités sur le texte de loi ?Oui.
Le livephone semble fonctionner différemment de la livebox play, je me trompe ? j'ai pas l'impression d'avoir vu les echanges décrits dans les captures faites depuis la LB, mais je peux me tromper.On ne trouve déjà pas les noms de domaine (kit.orange.fr, sfcpesoft.orange.fr) présents dans le code C de x0r dans les requêtes DNS visibles lors du boot de la Livebox.
J'ai bon ?
Les CGV sont-elles seulement supérieures à la loi dans le cas présent ?Normalement non, mais, comme je le disais, si il y a procès, l'aura (et le lobbying) d'Orange auprès d'un juge complètement largué sera tout autre que celle de Skype.
Ok, je ne "conteste" plus le point légal, j'avais mal compris.Errare humanum est ... ;)
D'ailleurs, est-ce que quelqu'un ici serait capable de faire ça physiquement (essayer d'exploiter un port JTAG s'il y en a, ou dans le pire des cas dumper directement le contenu de la puce mémoire) ?Je sais que j'ai déjà entendu parler de tels dumps de firmware sur des forums français lors de mes recherches sur le moyen de se passer de Livebox tout en conservant les services. Mais moi je ne sais pas faire (et de toute façon, je n'ai pas de Livebox ...).
Merci d'avoir mis le lien, c'est une très bonne initiative de sa part et l'article est intéressant.Merci, j'avais pas vu ... mais bref, le plus important c'est que ça avance à tout berzingue depuis 1 semaine alors que ce sujet végétait depuis 5 ans. Je vais commencer à regarder du côté pfSense pour voir comment faire intégrer un tel plugin dans la prochaine release.
Je remarque qu'en parallèle, il a commencé à coder et mettre en ligne une implèmentation en C sur son dépôt Bitbucket : http://code.x0r.fr/siproxd_orange/src (http://code.x0r.fr/siproxd_orange/src)
Normalement non, mais, comme je le disais, si il y a procès, l'aura (et le lobbying) d'Orange auprès d'un juge complètement largué sera tout autre que celle de Skype.Notons que Skype = Microsoft, qui est tout de même une multinationale autrement plus grosse qu'Orange (mais c'est vrai que ce n'est pas une multinationale issue d'un gros ministère français).
En revanche, il semble qu'il y ait des hackers espagnols qui ont déjà bien secoué le cocotier (https://korben.info/livebox-2-unlocker.html).
Orange semble d'ailleurs pointilleux (http://www.numerama.com/f/119842-t-convoque-au-commissariat-pour-avoir-unlocke-une-livebox-2.html) sur le sujet ...Le contexte est différent. Dans le cas des espagnols, on a :
Si tu te lance dans l'histoire, j'aimerais que tu consulte vivien d'abord.Si ça le gêne, je me dis depuis quelques temps qu'il pourrait être intéressant de créer une plate-forme séparée dédiée à rassembler des informations sur les différentes box, avec wiki, forum et repository (qui pourrait contenir des firmwares, ainsi que des archives de quelques sites contenant des infos sur le sujet).
Il faut voir avec lui si il est d'accord ou pas pour partir sur cette voie.
Il peut potentiellement avoir des ennuis avec orange par la suite, avec d'identification des personnes impliqués et menaces de poursuites (c'est déjà arrivé pour un document diffusé ici)
Donc avant de continuer dans le domaine demande (demandez?) lui!
N'hésites pas a poster dans la section Tutoriel Orange !
root@ubnt:~/xtab-siproxd_orange-d13d2edf95fb# make
Making all in src
make[1]: Entering directory `/root/xtab-siproxd_orange-d13d2edf95fb/src'
make all-am
make[2]: Entering directory `/root/xtab-siproxd_orange-d13d2edf95fb/src'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include/libxml2 -I/usr/include/libxml2 -g -O2 -g -Wall -Werror -I../siproxd/src -I/usr/include/libxml2 -g -O2 -MT plugin_orange_la-plugin_orange.lo -MD -MP -MF .deps/plugin_orange_la-plugin_orange.Tpo -c -o plugin_orange_la-plugin_orange.lo `test -f 'plugin_orange.c' || echo './'`plugin_orange.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/usr/include/libxml2 -I/usr/include/libxml2 -g -O2 -g -Wall -Werror -I../siproxd/src -I/usr/include/libxml2 -g -O2 -MT plugin_orange_la-plugin_orange.lo -MD -MP -MF .deps/plugin_orange_la-plugin_orange.Tpo -c plugin_orange.c -fPIC -DPIC -o .libs/plugin_orange_la-plugin_orange.o
In file included from auth.h:4,
from plugin_orange.c:39:
/usr/include/curl/curl.h:605: error: nested redefinition of 'enum type'
/usr/include/curl/curl.h:605: error: redeclaration of 'enum type'
make[2]: *** [plugin_orange_la-plugin_orange.lo] Error 1
make[2]: Leaving directory `/root/xtab-siproxd_orange-d13d2edf95fb/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/xtab-siproxd_orange-d13d2edf95fb/src'
make: *** [all-recursive] Error 1
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -D_GNU_SOURCE -DBUILDSTR="\"`cat .buildno`\"" -g -O2 -Wall -pthread -D_POSIX_THREAD_SAFE_FUNCTIONS -MT dejitter.o -MD -MP -MF ".deps/dejitter.Tpo" -c -o dejitter.o dejitter.c; \
then mv -f ".deps/dejitter.Tpo" ".deps/dejitter.Po"; else rm -f ".deps/dejitter.Tpo"; exit 1; fi
dejitter.c: In function ‘dejitter_init’:
dejitter.c:78:4: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
memset (&rtp_buffer_area, 0, sizeof(rtp_buffer_area));
^
dejitter.c:78:4: warning: incompatible implicit declaration of built-in function ‘memset’ [enabled by default]
dejitter.c: In function ‘dejitter_delayedsendto’:
dejitter.c:103:4: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
memcpy(&(m->rtp_buff), msg, m->message_len = len);
^
dejitter.c:103:4: warning: incompatible implicit declaration of built-in function ‘memcpy’ [enabled by default]
dejitter.c: In function ‘dejitter_flush’:
dejitter.c:151:20: error: storage size of ‘tz’ isn’t known
struct timezone tz;
^
dejitter.c:156:7: warning: implicit declaration of function ‘gettimeofday’ [-Wimplicit-function-declaration]
gettimeofday(current_tv,&tz);
^
dejitter.c:151:20: warning: unused variable ‘tz’ [-Wunused-variable]
struct timezone tz;
^
dejitter.c: In function ‘dejitter_delay_of_next_tx’:
dejitter.c:164:20: error: storage size of ‘tz’ isn’t known
struct timezone tz ;
^
dejitter.c:164:20: warning: unused variable ‘tz’ [-Wunused-variable]
dejitter.c: In function ‘dejitter_init_time’:
dejitter.c:181:20: error: storage size of ‘tz’ isn’t known
struct timezone tz;
^
dejitter.c:185:4: warning: incompatible implicit declaration of built-in function ‘memset’ [enabled by default]
memset(tc, 0, sizeof(*tc));
^
dejitter.c:181:20: warning: unused variable ‘tz’ [-Wunused-variable]
struct timezone tz;
^
dejitter.c: In function ‘send_top_of_que’:
dejitter.c:395:13: warning: implicit declaration of function ‘strerror’ [-Wimplicit-function-declaration]
ERROR("sendto() [%s:%i size=%zd] delayed call failed: %s",
^
dejitter.c:395:13: warning: format ‘%s’ expects argument of type ‘char *’, but argument 7 has type ‘int’ [-Wformat=]
Makefile:501: recipe for target 'dejitter.o' failed
make[2]: *** [dejitter.o] Error 1
make[2]: Leaving directory '/home/tit/SIP-LB/siproxd-0.8.2dev/src'
Makefile:293: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/tit/SIP-LB/siproxd-0.8.2dev'
Makefile:220: recipe for target 'all' failed
make: *** [all] Error 2
#include <sys/time.h>
In file included from plugins.c:31:0:
plugins.c: In function ‘load_plugins’:
plugins.h:34:44: erreur: ‘lt_libltdl_LTX_preloaded_symbols’ undeclared (first use in this function)
#define lt__PROGRAM__LTX_preloaded_symbols lt_libltdl_LTX_preloaded_symbols
^
/usr/include/ltdl.h:104:30: note: in expansion of macro ‘lt__PROGRAM__LTX_preloaded_symbols’
#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
^
plugins.h:34:44: note: each undeclared identifier is reported only once for each function it appears in
#define lt__PROGRAM__LTX_preloaded_symbols lt_libltdl_LTX_preloaded_symbols
^
/usr/include/ltdl.h:104:30: note: in expansion of macro ‘lt__PROGRAM__LTX_preloaded_symbols’
#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
^
plugins.c:76:10: attention : implicit declaration of function ‘strcpy’ [-Wimplicit-function-declaration]
strcpy(path, configuration.plugin_dir);
^
plugins.c:76:10: attention : incompatible implicit declaration of built-in function ‘strcpy’
plugins.c:77:10: attention : implicit declaration of function ‘strcat’ [-Wimplicit-function-declaration]
strcat(path, configuration.load_plugin.string[i]);
^
plugins.c:77:10: attention : incompatible implicit declaration of built-in function ‘strcat’
plugins.c:79:10: attention : incompatible implicit declaration of built-in function ‘strcpy’
strcpy(path, configuration.load_plugin.string[i]);
^
plugins.c:104:10: attention : implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
memset(cur,0,sizeof(plugin_def_t));
^
plugins.c:104:10: attention : incompatible implicit declaration of built-in function ‘memset’
#define lt_libltdl_LTX_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
hg clone [url]https://bitbucket.org/xtab/siproxd_orange[/url]
Cependant, pour conserver la téléphonie, je comptais garder la LB (ADSL donc!) derrière le mikrotik.
Ma question est donc : La LB est elle capable de rejoindre "son" réseau en passant par les ports RJ45 normalement destinés aux clients locaux?
L'application Livephone (ou son port Linux par x0r) pourrait peut-être suffire ?
Non. Elle attend un signal DSL qui transporte des trames ATM sur le port WAN RJ11 DSL, les en-têtes ATM déterminant si le paquet est à destination du réseau public ou du réseau privé. Les ports LAN RJ45 ne permettent que d'envoyer des données vers le réseau public en Ethernet.
Après, si ta Livebox dispose également d'un port WAN RJ45 fibre, tu pourrais peut-être réceptionner les trames ATM venant de la ligne ADSL, remplacer les en-têtes ATM par des en-têtes 802.1Q, et renvoyer les données sur le port fibre. Mais ce n'est pas sûr que ça fonctionne.
Edit : par contre, il faut que je creuse le port par x0r...
Malgré que je doute de la pérénité de la chose, vu qu'Orange peut modifier "son" protocole quand il le souhaite.
La vieille mais avec celle de neal ca a marché, certain (enfin seul lui sait, j'ai pas testé son tel).
Et il a bien la derniere version.
Ce tuto peut inspirer une reflexion sur une "configuration sale" pour remplacer sa LB facilement.
En gros ca consisterait a reproduire cette méthode utilisée pour la téléphonie sur la partie TV.
Du coup on oublie toutes les manips compliquées des tutos précédents et on aurait une config du genre :
- Serveur PPPOE sur le lan.835
- TV : Bridge des VLANS : wan.838 / wan.840 / lan.838 / lan.840
- Box TV connectée a la live box play
- VOIP : Bridge des VLANS : wan.851 / lan.851
Je pense que ca devrait marcher, et du coup tous les trucs compliqués sont réalisés par la LB, le routeur ne faisant que le PPPOE. Cette conf peut être une alternative intéressante a la solution DMZ souvent utilisée pour prendre le contrôle du routage sans se casser la tete.
Bon il faut quand meme un serveur pppoe c'est pas totalement commun.
J'essaierai de tester.
iface eth2.835 inet manual
iface eth2.835 inet static
address 0.0.0.0
Voila a quoi ressemble mon pppoe-server-optionsCode: [Sélectionner]name pppoe-server
ipparam pppoe-server
refuse-pap
auth
ms-dns 80.10.246.2
ms-dns 80.10.246.129
debug
lcp-echo-interval 5
lcp-echo-failure 6
lcp-max-configure 10
nopassive
proxyarp
nobsdcomp
novj
novjccomp
nologfd
mtu 1492
mru 1492
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
auto eth4
auto eth3
allow-hotplug eth0
allow-hotplug eth4
allow-hotplug eth3
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
iface eth4 inet manual
iface eth3 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
# Net
auto eth4.835
iface eth4.835 inet manual
auto eth3.835
iface eth3.835 inet static
address 0.0.0.0
# TV (nego)
iface eth4.838 inet manual
iface eth3.838 inet manual
# TV (multicast)
iface eth4.840 inet manual
iface eth3.840 inet manual
# TOIP
iface eth4.851 inet manual
iface eth3.851 inet manual
auto ppp0
iface ppp0 inet ppp
provider ft
auto br0
iface br0 inet manual
bridge_ports eth4.838 eth3.838
bridge_stp off
bridge_maxwait 0
auto br1
iface br1 inet manual
bridge_ports eth4.840 eth3.840
bridge_stp off
bridge_maxwait 0
auto br2
iface br2 inet manual
bridge_ports eth4.851 eth3.851
bridge_stp off
bridge_maxwait 0
#!/bin/sh
PPPOESRVIF=eth3.835
if [ "$IFACE" != "$PPPOESRVIF" ] ; then
exit 0
fi
/usr/sbin/pppoe-server -C isp -L 192.168.2.1 -p /etc/ppp/pppoe-server-iprange -I $PPPOESRVIF
192.168.2.210-220
name pppoe-server
ipparam pppoe-server
require-chap
auth
ms-dns 80.10.246.1
ms-dns 81.253.149.9
debug
lcp-echo-interval 30
lcp-echo-failure 4
proxyarp
nobsdcomp
novj
novjccomp
nologfd
mtu 1492
mru 1492
#!/bin/sh
IPTABLES=/sbin/iptables
[ "$PPP_IFACE" ] || exit 0
[ "$PPP_LOCAL" ] || exit 0
[ "$PPP_REMOTE" ] || exit 0
if [ "$PPP_IFACE" != "ppp0" ] ; then
exit 0
fi
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
$IPTABLES -A INPUT -p ALL -i $PPP_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $PPP_IFACE -j DROP
$IPTABLES -t nat -A POSTROUTING -o $PPP_IFACE -j SNAT --to $PPP_LOCAL
exit 0
Il tient bien les 1 Gbps ce petit routeur :)
(https://www.speedtest.net/result/3682678813.png) (https://www.speedtest.net/my-result/3682678813)
J'ai déjà vu des cas où le PPP n'était pas accéléré : sur certains routeurs dont tu n'as pas fait la mise à jour, certains routeurs qui ne supportent pas les accélérations matérielles tout simplement, certains Linksys avec DD-WRT qui ne les supporte pas alors que le firm d'origine le supporte, etc... Le débit ne dépasse pas 100 à 300 Mb/s pour un routeur avec un très bon processeur (mais sans accélérations toujours).
Boot de la livebox
835 : requettes PPPoE => IP publique
851 : SIP : DHCP => IP
835 : nombreux echanges TCP (SYN / ACK) et TLSv1
835 : Synchro NTP
851 : SIP Registration
835 : requêtes http POST vers karmatrack.orange.fr
835 : fin du boot, "echange de service PPP"
Interception d'une mise à jour : si la vérification de la dernière version du firmware est chiffrée, le téléchargement du firmware en lui-même ne l'est peut-être pas (historiquement, c'est du simple FTP).
Donc je t'ai tout config en ssh, etc... donné les infos, 1h après t'avais deja pété le truc.
$str = "$cfg_delim_begin\n";
$str .= "name pppoe-server\n";
$str .= "ipparam pppoe-server\n";
$str .= "require-pap\n";
$str .= "require-chap\n";
$str .= "require-mschap\n";
$str .= "require-mschap-v2\n";
$str .= ${sstr};
$str .= "debug \n";
show pppoe-server
dhclient -v -cf /var/run/dhclient_br0.conf
vif 851 {
address dhcp
description VoIP
dhcp-options {
client-option "send vendor-class-identifier "FT_VoIP_Sagem_Boxer_160v1.0";"
default-route update
name-server update
}
egress-qos "0:6 1:6 2:6 3:6 5:6 6:6 7:6"
}
Paul: lire le topic, le blog de x0r, le depot Git peut être ?
Merci bai, j'avais le problème des "tx_symbols()" vais m'y remettre.
Easy 8)
Voila la conf du vlan:Code: [Sélectionner]vif 851 {
address dhcp
description VoIP
dhcp-options {
client-option "send vendor-class-identifier "FT_VoIP_Sagem_Boxer_160v1.0";"
default-route update
name-server update
}
egress-qos "0:6 1:6 2:6 3:6 5:6 6:6 7:6"
}
Merci !
c'est plus clair je n'ai pas finit de lire les 70pages du post de configuration, je pensais que tu avais mis la dernière conf sur github.
Si tu peux mettre la dernière version sur le site, je pense que cela évitera que l'on t"embêtes :D
J'ai vais essayer de me lancer dans la compilation de Siproxd sur edgemax, j'ai téléchargé une VM Vyatta mais je pense que le Curl 7.38 va encore poser problème.
Paul,
Oui tu peux installer une gateway VOIP/DECT si tu veux réutiliser tes téléphones DECT (Yeplink et Zyxel).
Dans mon cas, je configure directement un client SIP sur le mobile comme ca je n'utilise qu'un seul appareil. De plus, via un tunnel VPN, tu peux utiliser ta ligne orange de l’étranger du moment que tu as internet.
Faut que j'update mais ca va vite, tous les mois y a un truc qui change, donc j'étais un peu en mode "on verra quand *tout* est fini" et on en est pas loin.8) 8) 8)
Mais titi, a généré le déclenchement des hostilités.
Pour moi la FP ne sert qu'a te faire trouver les 2/3 infos nécessaires au wizard.
Bonjour à tous,
j'ai réussi après pas mal de test à faire fonctionner la LB connecté à l'ERL, dans mon cas c'est pour faire un config simpliste,
la config dite "salle" ou TV+téléphone sont gérés par la LB connectée sur eth0 et internet only sur eth2.
cela fait maintenant 2 3 semaines que ça tourne nickel, je n'ai pas eu le temps de poster la conf, désolé.
Ce que j'ai constaté, c'est que le plus important est de vérifier le pppoe-server-options qui se trouve dans /etc/ppp je crois (suis au boulot
j'ai pas l'accès).
Il est impératif que ce fichier match exactement ce qui est en première page de ce thread sinon la LB fait nimp :)
Parfois elle dit internet ok, parfois pas, et TV et téléphone ne fonctionne jamais.
Il faut faire également très attention au fait que lors d'un reboot, ce fichier est régénéré par Vyatta, il faut donc modifier le script perl qui fabrique ce fichier
sinon tout modification faite à la main est perdue.
Enfin, pour être sûr de pas avoir d’ennuis, il vaut mieux rebooter la LB même si elle est sensé se débrouiller lorsqu'elle perd la connexion avec l'ONT.
une fois la conf correcte, cela fonctionne bien mais pour tester mieux vaut faire dans l'ordre.
ce soir je poste la conf "salle".
Je regarde aussi de près les thread sur Siproxd, car depuis 2 semaines je test l'appli livephone sur android (tablette et téléphone dédié) dans le but de me passer
de la LB complétement et de passer sur configuration plus "standard", mais l'appli orange "vieillie" mal:
elle fonctionne bien pdt 24/48h mais ensuite elle devient tellement lente qu'elle est inutilisable, il suffit de la relancer pour que cela fonctionne mais c'est pas aussi
pratique qu'un "vrai" téléphone.
### Vyatta PPPOE Begin ###
name pppoe-server
linkname pppoes
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
ms-dns 80.10.246.2
ms-dns 80.10.246.129
debug
lcp-echo-adaptive
lcp-echo-interval 5
lcp-echo-failure 6
lcp-max-configure 10
nopassive
proxyarp
nobsdcomp
novj
novjccomp
nologfd
mtu 1492
mru 1492
### Vyatta PPPOE End ###
name pppoe-server
ipparam pppoe-server
refuse-pap
auth
ms-dns 80.10.246.2
ms-dns 80.10.246.129
debug
lcp-echo-interval 5
lcp-echo-failure 6
lcp-max-configure 10
nopassive
proxyarp
nobsdcomp
novj
novjccomp
nologfd
mtu 1492
mru 1492
refuse-chap
refuse-mschap
require-mschap-v2
my $str;
$str = "$cfg_delim_begin\n";
$str .= "name pppoe-server\n";
$str .= "linkname pppoes\n";
$str .= "refuse-pap\n";
#$str .= "refuse-chap\n";
#$str .= "refuse-mschap\n";
#$str .= "require-mschap-v2\n";
$str .= "auth\n";
$str .= ${sstr};
$str .= "debug \n";
$str .= "lcp-echo-adaptive\n";
$str .= "lcp-echo-interval 5\n";
$str .= "lcp-echo-failure 6\n";
$str .= "lcp-max-configure 10\n";
$str .= "nopassive\n";
$str .= "proxyarp\n";
$str .= "nobsdcomp\n";
$str .= "novj\n";
$str .= "novjccomp\n";
$str .= "nologfd\n";
J'ai "juste" (ce qui pour moi revient à escalader le mont blanc en string et tongs) à trouver comment éditer ce fichier :o
J'aimerai quand même voir la gueule des recherches Google que t'as faites pour être arrive a rien sur un problème aussi commun 8)
$str = "$cfg_delim_begin\n";
$str .= "name pppoe-server\n";
$str .= "linkname pppoes\n";
$str .= "refuse-pap\n";
#$str .= "refuse-chap\n";
#$str .= "refuse-mschap\n";
#$str .= "require-mschap-v2\n";
$str .= ${sstr};
$str .= "debug \n";
$str .= "lcp-echo-adaptive\n";
$str .= "lcp-echo-interval 5\n";
$str .= "lcp-echo-failure 6\n";
$str .= "lcp-max-configure 10\n";
$str .= "nopassive\n";
$str .= "proxyarp\n";
$str .= "nobsdcomp\n";
$str .= "novj\n";
$str .= "novjccomp\n";
$str .= "nologfd\n";
Merci Titilassalle, tu m'as bien fait marrer :)
Pour la peine, je te propose une autre solution :
Tu récupère le fichier via un Filezilla en SFTP et ensuite tu le modifies sur ton windows avec un editeur de type notepad++.
Tu copies toujours en SFTP la nouvelle version sur le Edgemax.
Pas besoin de l’éditer sur le edgemax, cela reduit le risque de faire une erreur.
Bizarre, tu ne dois pas faire attention aux droits :
tu copies le fichier dans le /home/ubnt et ensuite c'est en root que tu dois le récupérer
sudo -i
cd /opt/vyatta/share/perl5/Vyatta
cp PPPoEServerConfig.pm PPPoEServerConfig.pm.bak
cp /home/ubnt/PPPoEServerConfig.pm .
1) Compiler Curl 7.78 avec l'option SSL
- Récupérer le source :
wget http://curl.haxx.se/download/curl-7.38.0.tar.gz
- Ensuite exécuter ces commandes pour décompresser, compiler et installer:
tar zxvf curl-7.38.0.tar.gz
cd curl-7.38.0
./configure --with-ssl
make
sudo make install
2) Installer les librairies pour Siproxd
sudo apt install pkg-config libxml2-dev libosip2-dev libltdl-dev
3) Installer Siproxd
cd ..
wget http://siproxd.tuxworld.ch/siproxd-15Oct2014.tar.gz
tar zxvf siproxd-15Oct2014.tar.gz
cd siproxd-0.8.2dev
./configure
make
sudo make install
- Si vous rencontrez un 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[];
4) Installer le plugin orange X0r
cd ..
wget http://x0r.fr/static/dist/siproxd_orange/siproxd_orange-0.1.3.tar.gz
tar zxvf siproxd_orange-0.1.3.tar.gz
cd siproxd_orange-0.1.3
- 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
set vpn ipsec ipsec-interfaces interface eth1
set vpn ipsec nat-networks allowed-network 0.0.0.0/0
set vpn ipsec nat-traversal enable
set vpn l2tp remote-access authentication mode local
set vpn l2tp remote-access authentication local-users username ton_nom_ici password mot_de_passe
set vpn l2tp remote-access client-ip-pool start 192.168.2.6
set vpn l2tp remote-access client-ip-pool stop 192.168.2.8
set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret mon_secret
set vpn l2tp remote-access ipsec-settings ike-lifetime 3600
set vpn l2tp remote-access outside-address ton_ip_publique
set vpn l2tp remote-access outside-nexthop 192.168.2.1
set vpn l2tp remote-access dns-servers server-1 192.168.1.1
set vpn l2tp remote-access dns-servers server-2 8.8.8.8
#
# /etc/siproxd.conf - siproxd configuration file
#
# !! This is a sample file, adapt it to your needs before using it !!
#
# !! Strings may contain spaces (since 0.8.1)
#
######################################################################
# The interface names of INBOUND and OUTBOUND interface.
#
# If siproxd is not running on the host doing the masquerading
# but on a host within the private network segment, "in front" of
# the masquerading router: define if_inbound and if_outbound to
# point to the same interface (the inbound interface). In *addition*
# define 'host_outbound' to hold your external (public) IP address
# or a hostname that resolves to that address (use a dyndns address for
# example).
#
if_inbound = eth0
if_outbound = eth0
# uncomment the following line ONLY IF YOU KNOW WHAT YOU ARE DOING!
# READ THE FAQ FIRST!
#host_outbound = 1.2.3.4
######################################################################
# Access control.
# Access lists in the form: IP/mask (ex. 10.0.0.1/24)
# Multiple entries may be separated by commas NO SPACES ARE ALLOWED!!
# Empty list means 'does not apply' - no filtering is done then.
# For *allow* lists this means: always allow, for *deny* lists that
# this means never deny.
#
# hosts_allow_reg: defines nets from which we accept registrations
# Registrations are *ONLY* allowed from INBOUND!
# hosts_allow_sip: defines nets from which we accept SIP traffic
# hosts_deny_sip: defines nets from which we deny SIP traffic
#
# - The deny list takes precedence over the allow lists.
# - The allow_reg list also implies allowance for sip.
#
# Example for usage:
# local private net -> allow_reg list
# external nets (from which we accept incoming calls) -> allow_sip
#
# NOTE: Improper setting here will result in dropped SIP packets!
# Usually you do NOT want to define hosts_allow_sip!
#
hosts_allow_reg = 192.168.1.45/24
#hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16
#hosts_deny_sip = 10.0.0.0/8,11.0.0.0/8
######################################################################
# Port to listen for incoming SIP messages.
# 5060 is usually the correct choice - don't change this unless you
# know what you're doing
#
sip_listen_port = 5070
######################################################################
# Shall we daemonize?
#
daemonize = 1
######################################################################
# What shall I log to syslog?
# 0 - DEBUGs, INFOs, WARNINGs and ERRORs
# 1 - INFOs, WARNINGs and ERRORs (this is the default)
# 2 - WARNINGs and ERRORs
# 3 - only ERRORs
# 4 - absolutely nothing (be careful - you will have no way to
# see what siproxd is doing - or NOT doing)
silence_log = 1
######################################################################
# Secure Enviroment settings:
# user: uid/gid to switch to after startup
# chrootjail: path to chroot to (chroot jail)
user = root
#chrootjail = /var/lib/siproxd/
######################################################################
# Memory settings
#
# THREAD_STACK_SIZE IS AN EXPERIMENTAL FEATURE!
# It may be used to reduce the stack size allocated
# by pthreads. This may reduce the overall memory footprint
# of siproxd and could be helpful on embedded systems.
# If you don't know what I'm saying above, do not enable this setting!
# USE AT YOUR OWN RISK!
# Too small stack size may lead to unexplainable crashes!
#thread_stack_size = 512
######################################################################
# Registration file:
# Where to store the current registrations.
# An empty value means we do not save registrations. Make sure that
# the specified directory path does exist!
# Note: If running in chroot jail, this path starts relative
# to the jail.
registration_file = /var/lib/siproxd/siproxd_registrations
######################################################################
# Automatically save current registrations every 'n' seconds
#
autosave_registrations = 300
######################################################################
# PID file:
# Where to create the PID file.
# This file holds the PID of the main thread of siproxd.
# Note: If running in chroot jail, this path starts relative
# to the jail.
pid_file = /var/run/siproxd.pid
######################################################################
# global switch to control the RTP proxy behaviour
# 0 - RTP proxy disabled
# 1 - RTP proxy (UDP relay of siproxd)
#
# Note: IPCHAINS and IPTABLES(netfilter) support is no longer present!
#
rtp_proxy_enable = 1
######################################################################
# Port range to allocate listen ports from for incoming RTP traffic
# This should be a range that is not blocked by the firewall
#
rtp_port_low = 7070
rtp_port_high = 7089
######################################################################
# Timeout for RTP streams
# after this number of seconds, an RTP stream is considered dead
# and proxying for it will be stopped.
# Be aware that this timeout also applies to streams that are
# in HOLD.
#
rtp_timeout = 300
######################################################################
# DSCP value for sent RTP packets
# The Differentiated Service Code Point is a selector for
# router's per-hop behaviours.
# RFC2598 defined a "expedited forwarding" service. This service
# is designed to allow ISPs to offer a service with attributes
# similar to a "leased line". This service offers the ULTIMATE IN LOW
# LOSS, LOW LATENCY AND LOW JITTER by ensuring that there is always
# sufficent room in output queues for the contracted expedited forwarding
# traffic.
# The Expedited Forwarding service has a DSCP of 46.
# Putting a 0 here means that siproxd does NOT set the DSCP field.
# Siproxd must be started as root for this to work.
#
rtp_dscp = 46
######################################################################
# DSCP value for sent SIP packets
# Same as above but for SIP signalling.
#
sip_dscp = 0
######################################################################
# Dejitter value
# Artificial delay to be used to de-jitter RTP data streams.
# This time is in microseconds.
# 0 - completely disable dejitter (default)
#
rtp_input_dejitter = 0
rtp_output_dejitter = 0
######################################################################
# TCP SIP settings:
# TCP inactivity timeout:
# For TCP SIP signalling, this indicates the inactivity timeout
# (seconds) after that an idling TCP connection is disconnected.
# Note that making this too short may cause multiple parallell
# registrations for the same phone. This timeout must be set larger
# than the used registration interval.
#
tcp_timeout = 600
#
# Timeout for connection attempts in msec:
# How many msecs shall siproxd wait for an successful connect
# when establishing an outgoing SIP signalling connection. This
# should be kept as short as possible as waiting for an TCP
# connection to establish is a BLOCKING operation - while waiting
# for a connect to succeed not SIP messages are processed (RTP is
# not affected).
#
tcp_connect_timeout = 500
#
# TCP keepalive period
# For TCP SIP signalling: if > 0 empty SIP packets will be sent
# every 'n' seconds to keep the connection alive. Default is off.
#
tcp_keepalive = 20
######################################################################
# Proxy authentication
# If proxy_auth_realm is defined (a string), clients will be forced
# to authenticate themselfes at the proxy (for registration only).
# To disable Authentication, simply comment out this line.
# Note: The proxy_auth_pwfile is independent of the chroot jail.
#
#proxy_auth_realm = Authentication_Realm
#
# the (global) password to use (will be the same for all local clients)
#
#proxy_auth_passwd = password
#
# OR use individual per user passwords stored in a file
#
#proxy_auth_pwfile = /etc/siproxd_passwd.cfg
#
# 'proxy_auth_pwfile' has precedence over 'proxy_auth_passwd'
######################################################################
# Debug level... (setting to -1 will enable everything)
#
# DBCLASS_BABBLE 0x00000001 // babble (like entering/leaving func)
# DBCLASS_NET 0x00000002 // network
# DBCLASS_SIP 0x00000004 // SIP manipulations
# DBCLASS_REG 0x00000008 // Client registration
# DBCLASS_NOSPEC 0x00000010 // non specified class
# DBCLASS_PROXY 0x00000020 // proxy
# DBCLASS_DNS 0x00000040 // DNS stuff
# DBCLASS_NETTRAF 0x00000080 // network traffic
# DBCLASS_CONFIG 0x00000100 // configuration
# DBCLASS_RTP 0x00000200 // RTP proxy
# DBCLASS_ACCESS 0x00000400 // Access list evaluation
# DBCLASS_AUTH 0x00000800 // Authentication
# DBCLASS_PLUGIN 0x00001000 // Plugins
# DCLASS_RTPBABL 0x00002000 // RTP babble
#
debug_level = 0x00000000
######################################################################
# TCP debug port
#
# You may connect to this port from a remote machine and
# receive the debug output. This allows bettwer creation of
# odebug output on embedded systems that do not have enough
# memory for large disk files.
# Port number 0 means this feature is disabled.
#
debug_port = 0
######################################################################
# Mask feature (experimental)
#
# Some UAs will always use the host/ip they register with as
# host part in the registration record (which will be the inbound
# ip address / hostname of the proxy) and can not be told to use a
# different host part in the registration record (like sipphone, FWD,
# iptel, ...)
# This Mask feature allows to force such a UA to be masqueraded to
# use different host.
# -> Siemens SIP Phones seem to need this feature.
#
# Unles you really KNOW that you need this, don't enable it.
#
# mask_host=<inbound_ip/hostname>
# masked_host=<hostname_to_be_masqueraded_as>
#
# mask_host=10.0.1.1 -- inbound IP address of proxy
# masked_host=my.public.host -- outbound hostname proxy
######################################################################
# User Agent Masquerading
#
# Siproxd can masquerade the User Agent string of your local UAs.
# Useful for Providers that do not work with some specific UAs
# (e.g. sipcall.ch - it does not work if your outgoing SIP
# traffic contains an Asterisk UA string...)
# Default is to do no replacement.
#
#ua_string = Siproxd-UA
######################################################################
# Use ;rport in via header
#
# may be required in some cases where you have a NAT router that
# remaps the source port 5060 to something different and the
# registrar sends back the responses to port 5060.
# Default is disabled
# 0 - do not add ;rport to via header
# 1 - do add ;rport to INCOMING via header only
# 2 - do add ;rport to OUTGOING via header only
# 3 - do add ;rport to OUTGOING and INCOMING via headers
#
# use_rport = 0
######################################################################
# Outbound proxy
#
# Siproxd itself can be told to send all traffic to another
# outbound proxy.
# You can use this feature to 'chain' multiple siproxd proxies
# if you have several masquerading firewalls to cross.
#
# outbound_proxy_host = my.outboundproxy.org
# outbound_proxy_port = 5060
######################################################################
# Outbound proxy (Provider specific)
#
# Outbound proxies can be specified on a per-domain base.
# This allows to use an outbound proxy needed for ProviderA
# and none (or another) for ProviderB.
#
#outbound_domain_name = freenet.de
#outbound_domain_host = proxy.for.domain.freende.de
#outbound_domain_port = 5060
######################################################################
# Loadable Plug-ins
#
# The plugins are loaded in the order they appear here. Also
# the processing order is given by the load order.
#
# plugin_dir: MUST be terminated with '/'
plugindir=/usr/local/lib/siproxd/
#
# List of plugins to load. MUST use the .la file extension!
#load_plugin=plugin_demo.la
#load_plugin=plugin_shortdial.la
#load_plugin=plugin_logcall.la
load_plugin=plugin_orange.la
#load_plugin=plugin_defaulttarget.la
#load_plugin=plugin_fix_bogus_via.la
#load_plugin=plugin_stun.la
#load_plugin=plugin_prefix.la
#load_plugin=plugin_regex.la
plugin_orange_username = YYYYYY.VVVVVVVVV@orange.fr
plugin_orange_password = XXXXXXX
######################################################################
# Plugin_demo
#
plugin_demo_string = This_is_a_string_passed_to_the_demo_plugin
######################################################################
# Plugin_shortdial
#
# Quick Dial (Short Dial)
# ability to define quick dial numbers that can be accessed by
# dialing "*00" from a local phone. '00' corresponds to the entry number
# (pi_shortdial_entry) below. The '*' character can be chosen freely
# (pi_shortdial_akey).
# Note: If this module is enabled, there does NOT exist a way to dial
# a "real" number like *01, siproxd will try to replace it by it's
# quick dial entry.
#
# The first character is the "key", the following characters give
# the length of the number string. E.g. "*00" allows speed dials
# from *01 to *99. (the number "*100" will be passed through unprocessed)
plugin_shortdial_akey = *00
#
# *01 sipphone echo test
plugin_shortdial_entry = 17474743246
# *02 sipphone welcome message
plugin_shortdial_entry = 17474745000
######################################################################
# Plugin_defaulttarget
#
# Log redirects to syslog
plugin_defaulttarget_log = 1
# target must be a full SIP URI with the syntax
# sip:user@host[:port]
plugin_defaulttarget_target = sip:internal@dddd:port
######################################################################
# Plugin_fix_bogus_via
#
# Incoming (from public network) SIP messages are checked for broken
# SIP Via headers. If the IP address in the latest Via Header is
# part of the list below, it will be replaced by the IP where the
# SIP message has been received from.
plugin_fix_bogus_via_networks = 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
######################################################################
# Plugin_stun
#
# Uses an external STUN server to determine the public IP
# address of siproxd. Useful for "in-front-of-NAT-router"
# scenarios.
plugin_stun_server = stun.xten.com
plugin_stun_port = 3478
# period in seconds to request IP info from STUN server
plugin_stun_period = 300
######################################################################
# Plugin_prefix
#
# unconditionally prefixes all outgoing calls with the
# "akey" prefix specified below.
plugin_prefix_akey = 0
######################################################################
# Plugin_regex
#
# Applies an extended regular expression to the 'To' URI. A typical
# SIP URI looks like (port number is optional):
# sip:12345@some.provider.net
# sips:12345@some.provider.net:5061
#
# Backreferences \1 .. \9 are supported.
#
plugin_regex_desc = Test Regex 1
plugin_regex_pattern = ^(sips?:)00
plugin_regex_replace = \1+
plugin_regex_desc = Test Regex 2
plugin_regex_pattern = ^(sips?:)01
plugin_regex_replace = \1+a
plugin_regex_desc = Test Regex 3
plugin_regex_pattern = ^(sips?:)01
plugin_regex_replace = \1:001
je ne souhaite pas surcharger l'ERL si je peux déployer d'autre service sur mon NAS ou un Raspberry.
Comme l as dit Anto, Asterisk tout seule ne consomme rien tu peux l installer sur une pentium 133Mhz. Une ligne n est pas perceptible.
Moi j ai une autre utilisation, avec Freepbx tu as un serveur Apache, j ajoute les modules d annuaire, de message pas e-mail, mode chan_sip pour utiliser une sim mobile, Google voice pour les US.
Cela consomme du Cpu et de la ram.
Je me suis fait une installation de PME pour faire des tests.
option dhcp-message-type 1;
option vendor-class-identifier "Sagem";
option dhcp-max-message-size 1500;
option sip-server code 120 = string;
option routes-ip code 121 = text;
subnet 10.167.32.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.167.32.254;
option domain-name-servers 209.244.0.3;
option domain-name "voip.orange.fr";
option dhcp-lease-time 1500;
option dhcp-renewal-time 32;
option dhcp-rebinding-time 64;
option sip-server "voip.fhocorp.com";
option routes-ip "172.23.12.0/22-10.54.56.254";
range 10.167.32.1 10.167.32.15;
}
./configure --with-ssl
curl version: 7.38.0
Host setup: mips64-unknown-linux-gnu
Install prefix: /usr/local
Compiler: gcc
SSL support: no (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls,winssl,darwinssl} )
Bon alors j'ai un petit peu avancé, j'ai un siproxd qui fonctionne sur l'erl. J'arrive à passer des appels sortants.
Par contre pas réussi à faire marcher les appels entrants. Ca sent le problème de pare-feu.
J'ai commencé à regarder la config d'asterisk. Ca m'a fait mal à la tête d'emblée !!
17:23:45 sock.c:281 received UDP packet from [192.168.66.164:5060] count=1228
17:23:45 siproxd.c:387 received 1228 bytes of data
17:23:45 security.c:48 security_check_raw: size=1228
17:23:45 src/plugin_orange.c:284 INVITE: setting URL host to nic7.pc.sbct3g.orange-multimedia.net:5080
17:23:45 INFO:src/plugin_orange.c:298 proxying REGISTER without {Proxy-,}Authorization: headers
17:23:45 proxy.c:813 Body before rewrite (may be truncated) - (clen=591, strlen=591):
v=0
o=+33412345679 238 1151 IN IP4 192.168.66.164
s=Talk
c=IN IP4 192.168.66.164
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 7078 RTP/AVP 96 97 98 0 8 101 99 100
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1; stereo=0; sprop-stereo=0
a=rtpmap:97 speex/16000
a=fmtp:97 vbr=on
a=rtpmap:98 speex/8000
a=fmtp:98 vbr=on
a=rtpmap:101 telephone-event/48000
a=rtpmap:99 telephone-event/16000
a=rtpmap:100 telephone-event/8000
m=video 9078 RTP/AVP 96 97
a=rtpmap:96 VP8/90000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
----
17:23:45 sip_utils.c:387 comparing callid - matched: yRQcVNfddK@(null) <-> yRQcVNfddK@
17:23:45 utils.c:663 compare_client_id: contact match [+33412345679@orange-multimedia.fr]
17:23:45 sip_utils.c:387 comparing callid - matched: yRQcVNfddK@(null) <-> yRQcVNfddK@
17:23:45 sip_utils.c:387 comparing callid - matched: yRQcVNfddK@(null) <-> yRQcVNfddK@
17:23:45 utils.c:663 compare_client_id: contact match [+33412345679@orange-multimedia.fr]
17:23:45 proxy.c:1168 Body after rewrite (may be truncated) - (clen=591, strlen=591):
v=0
o=+33412345679 238 1151 IN IP4 83.197.111.117
s=Talk
c=IN IP4 83.197.111.117
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 7070 RTP/AVP 96 97 98 0 8 101 99 100
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1; stereo=0; sprop-stereo=0
a=rtpmap:97 speex/16000
a=fmtp:97 vbr=on
a=rtpmap:98 speex/8000
a=fmtp:98 vbr=on
a=rtpmap:101 telephone-event/48000
a=rtpmap:99 telephone-event/16000
a=rtpmap:100 telephone-event/8000
m=video 7072 RTP/AVP 96 97
a=rtpmap:96 VP8/90000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
----
17:23:45 sip_utils.c:784 looking for magic cookie [z9hG4bK.~xuOP8G8S]
17:23:45 sip_utils.c:798 existing branch -> branch hash [187007bc558551e16968a30d178f5fea]
17:23:45 sip_utils.c:593 adding VIA:SIP/2.0/UDP 83.197.111.117:5160;branch=z9hG4bK187007bc558551e16968a30d178f5fea
17:23:45 sock.c:434 send UDP packet to 127.0.0.1: 5160
Je vais vous faire un tutoriel pour installer Asterisk et le configurer avec Siproxd.Hello baki,
GENERAL SETTINGS
Trunk Name: Nom du Trunk par exemple "orange-siproxd"
Outbound CallerID : votre numero orange par exemple +33967xxxxx
OUTGOING SETTINGS
Trunk Name: orange-out
PEERS DETAILS :
type=peer
defaultuser=+33967xxxxx
remotesecret=whatever
nat=auto
insecure=invite,port
host=orange-multimedia.fr
port=5070
fromuser=+33967xxxxx
fromdomain=orange-multimedia.fr
outboundproxy=localhost:5070,force
canreinvite=no
context=orange-in
sendrpid=no
INCOMING SETTINGS
USER Context : orange-in
USER Details :
allowguest=yes
REGISTER STRING :
+33967xxxxx@orange-out/+33967xxxxx
User extension : identifiant de l'utilisateur par exemple : 701
Display Name : affichage peut être le même
secret : mot de passe de l'utilisateur
transport : UDP only (possiblité de passer en TCP)
Route name : orange-outbound
Trunk Sequence for Matched Routes : selectionner vorre trunk orange
127.0.0.1 raspberry
192.168.60.15 raspberry
où l'IP correspond à celle de la carte raspberry.127.0.1.1 raspberrypi
192.168.75.14 orange-multimedia.fr
#
# /etc/siproxd.conf - siproxd configuration file
#
# !! This is a sample file, adapt it to your needs before using it !!
#
# !! Strings may contain spaces (since 0.8.1)
#
######################################################################
# The interface names of INBOUND and OUTBOUND interface.
#
# If siproxd is not running on the host doing the masquerading
# but on a host within the private network segment, "in front" of
# the masquerading router: define if_inbound and if_outbound to
# point to the same interface (the inbound interface). In *addition*
# define 'host_outbound' to hold your external (public) IP address
# or a hostname that resolves to that address (use a dyndns address for
# example).
#
if_inbound = eth0
if_outbound = eth0
# uncomment the following line ONLY IF YOU KNOW WHAT YOU ARE DOING!
# READ THE FAQ FIRST!
host_outbound = mon.dyndns.net
######################################################################
# Access control.
# Access lists in the form: IP/mask (ex. 10.0.0.1/24)
# Multiple entries may be separated by commas NO SPACES ARE ALLOWED!!
# Empty list means 'does not apply' - no filtering is done then.
# For *allow* lists this means: always allow, for *deny* lists that
# this means never deny.
#
# hosts_allow_reg: defines nets from which we accept registrations
# Registrations are *ONLY* allowed from INBOUND!
# hosts_allow_sip: defines nets from which we accept SIP traffic
# hosts_deny_sip: defines nets from which we deny SIP traffic
#
# - The deny list takes precedence over the allow lists.
# - The allow_reg list also implies allowance for sip.
#
# Example for usage:
# local private net -> allow_reg list
# external nets (from which we accept incoming calls) -> allow_sip
#
# NOTE: Improper setting here will result in dropped SIP packets!
# Usually you do NOT want to define hosts_allow_sip!
#
hosts_allow_reg = 192.168.75.0/24
#hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16
#hosts_deny_sip = 10.0.0.0/8,11.0.0.0/8
######################################################################
# Port to listen for incoming SIP messages.
# 5060 is usually the correct choice - don't change this unless you
# know what you're doing
#
sip_listen_port = 5070
######################################################################
# Shall we daemonize?
#
daemonize = 0
######################################################################
# What shall I log to syslog?
# 0 - DEBUGs, INFOs, WARNINGs and ERRORs
# 1 - INFOs, WARNINGs and ERRORs (this is the default)
# 2 - WARNINGs and ERRORs
# 3 - only ERRORs
# 4 - absolutely nothing (be careful - you will have no way to
# see what siproxd is doing - or NOT doing)
silence_log = 1
######################################################################
# Secure Enviroment settings:
# user: uid/gid to switch to after startup
# chrootjail: path to chroot to (chroot jail)
user = root
#chrootjail = /var/lib/siproxd/
######################################################################
# Memory settings
#
# THREAD_STACK_SIZE IS AN EXPERIMENTAL FEATURE!
# It may be used to reduce the stack size allocated
# by pthreads. This may reduce the overall memory footprint
# of siproxd and could be helpful on embedded systems.
# If you don't know what I'm saying above, do not enable this setting!
# USE AT YOUR OWN RISK!
# Too small stack size may lead to unexplainable crashes!
#thread_stack_size = 512
######################################################################
# Registration file:
# Where to store the current registrations.
# An empty value means we do not save registrations. Make sure that
# the specified directory path does exist!
# Note: If running in chroot jail, this path starts relative
# to the jail.
registration_file = /var/lib/siproxd/siproxd_registrations
######################################################################
# Automatically save current registrations every 'n' seconds
#
autosave_registrations = 300
######################################################################
# PID file:
# Where to create the PID file.
# This file holds the PID of the main thread of siproxd.
# Note: If running in chroot jail, this path starts relative
# to the jail.
pid_file = /var/run/siproxd/siproxd.pid
######################################################################
# global switch to control the RTP proxy behaviour
# 0 - RTP proxy disabled
# 1 - RTP proxy (UDP relay of siproxd)
#
# Note: IPCHAINS and IPTABLES(netfilter) support is no longer present!
#
rtp_proxy_enable = 1
######################################################################
# Port range to allocate listen ports from for incoming RTP traffic
# This should be a range that is not blocked by the firewall
#
rtp_port_low = 7070
rtp_port_high = 7089
######################################################################
# Timeout for RTP streams
# after this number of seconds, an RTP stream is considered dead
# and proxying for it will be stopped.
# Be aware that this timeout also applies to streams that are
# in HOLD.
#
rtp_timeout = 300
######################################################################
# DSCP value for sent RTP packets
# The Differentiated Service Code Point is a selector for
# router's per-hop behaviours.
# RFC2598 defined a "expedited forwarding" service. This service
# is designed to allow ISPs to offer a service with attributes
# similar to a "leased line". This service offers the ULTIMATE IN LOW
# LOSS, LOW LATENCY AND LOW JITTER by ensuring that there is always
# sufficent room in output queues for the contracted expedited forwarding
# traffic.
# The Expedited Forwarding service has a DSCP of 46.
# Putting a 0 here means that siproxd does NOT set the DSCP field.
# Siproxd must be started as root for this to work.
#
rtp_dscp = 46
######################################################################
# DSCP value for sent SIP packets
# Same as above but for SIP signalling.
#
sip_dscp = 0
######################################################################
# Dejitter value
# Artificial delay to be used to de-jitter RTP data streams.
# This time is in microseconds.
# 0 - completely disable dejitter (default)
#
rtp_input_dejitter = 0
rtp_output_dejitter = 0
######################################################################
# TCP SIP settings:
# TCP inactivity timeout:
# For TCP SIP signalling, this indicates the inactivity timeout
# (seconds) after that an idling TCP connection is disconnected.
# Note that making this too short may cause multiple parallell
# registrations for the same phone. This timeout must be set larger
# than the used registration interval.
#
tcp_timeout = 600
#
# Timeout for connection attempts in msec:
# How many msecs shall siproxd wait for an successful connect
# when establishing an outgoing SIP signalling connection. This
# should be kept as short as possible as waiting for an TCP
# connection to establish is a BLOCKING operation - while waiting
# for a connect to succeed not SIP messages are processed (RTP is
# not affected).
#
tcp_connect_timeout = 500
#
# TCP keepalive period
# For TCP SIP signalling: if > 0 empty SIP packets will be sent
# every 'n' seconds to keep the connection alive. Default is off.
#
tcp_keepalive = 20
######################################################################
# Proxy authentication
# If proxy_auth_realm is defined (a string), clients will be forced
# to authenticate themselfes at the proxy (for registration only).
# To disable Authentication, simply comment out this line.
# Note: The proxy_auth_pwfile is independent of the chroot jail.
#
#proxy_auth_realm = Authentication_Realm
#
# the (global) password to use (will be the same for all local clients)
#
#proxy_auth_passwd = password
#
# OR use individual per user passwords stored in a file
#
#proxy_auth_pwfile = /etc/siproxd_passwd.cfg
#
# 'proxy_auth_pwfile' has precedence over 'proxy_auth_passwd'
######################################################################
# Debug level... (setting to -1 will enable everything)
#
# DBCLASS_BABBLE 0x00000001 // babble (like entering/leaving func)
# DBCLASS_NET 0x00000002 // network
# DBCLASS_SIP 0x00000004 // SIP manipulations
# DBCLASS_REG 0x00000008 // Client registration
# DBCLASS_NOSPEC 0x00000010 // non specified class
# DBCLASS_PROXY 0x00000020 // proxy
# DBCLASS_DNS 0x00000040 // DNS stuff
# DBCLASS_NETTRAF 0x00000080 // network traffic
# DBCLASS_CONFIG 0x00000100 // configuration
# DBCLASS_RTP 0x00000200 // RTP proxy
# DBCLASS_ACCESS 0x00000400 // Access list evaluation
# DBCLASS_AUTH 0x00000800 // Authentication
# DBCLASS_PLUGIN 0x00001000 // Plugins
# DCLASS_RTPBABL 0x00002000 // RTP babble
#
debug_level = 0x00000000
######################################################################
# TCP debug port
#
# You may connect to this port from a remote machine and
# receive the debug output. This allows bettwer creation of
# odebug output on embedded systems that do not have enough
# memory for large disk files.
# Port number 0 means this feature is disabled.
#
debug_port = 0
######################################################################
# Mask feature (experimental)
#
# Some UAs will always use the host/ip they register with as
# host part in the registration record (which will be the inbound
# ip address / hostname of the proxy) and can not be told to use a
# different host part in the registration record (like sipphone, FWD,
# iptel, ...)
# This Mask feature allows to force such a UA to be masqueraded to
# use different host.
# -> Siemens SIP Phones seem to need this feature.
#
# Unles you really KNOW that you need this, don't enable it.
#
# mask_host=<inbound_ip/hostname>
# masked_host=<hostname_to_be_masqueraded_as>
#
# mask_host=10.0.1.1 -- inbound IP address of proxy
# masked_host=my.public.host -- outbound hostname proxy
######################################################################
# User Agent Masquerading
#
# Siproxd can masquerade the User Agent string of your local UAs.
# Useful for Providers that do not work with some specific UAs
# (e.g. sipcall.ch - it does not work if your outgoing SIP
# traffic contains an Asterisk UA string...)
# Default is to do no replacement.
#
#ua_string = Siproxd-UA
######################################################################
# Use ;rport in via header
#
# may be required in some cases where you have a NAT router that
# remaps the source port 5060 to something different and the
# registrar sends back the responses to port 5060.
# Default is disabled
# 0 - do not add ;rport to via header
# 1 - do add ;rport to INCOMING via header only
# 2 - do add ;rport to OUTGOING via header only
# 3 - do add ;rport to OUTGOING and INCOMING via headers
#
# use_rport = 0
######################################################################
# Outbound proxy
#
# Siproxd itself can be told to send all traffic to another
# outbound proxy.
# You can use this feature to 'chain' multiple siproxd proxies
# if you have several masquerading firewalls to cross.
#
# outbound_proxy_host = my.outboundproxy.org
# outbound_proxy_port = 5060
######################################################################
# Outbound proxy (Provider specific)
#
# Outbound proxies can be specified on a per-domain base.
# This allows to use an outbound proxy needed for ProviderA
# and none (or another) for ProviderB.
#
#outbound_domain_name = freenet.de
#outbound_domain_host = proxy.for.domain.freende.de
#outbound_domain_port = 5060
######################################################################
# Loadable Plug-ins
#
# The plugins are loaded in the order they appear here. Also
# the processing order is given by the load order.
#
# plugin_dir: MUST be terminated with '/'
plugindir=/usr/local/lib/siproxd/
#
# List of plugins to load. MUST use the .la file extension!
#load_plugin=plugin_demo.la
#load_plugin=plugin_shortdial.la
#load_plugin=plugin_logcall.la
#load_plugin=plugin_defaulttarget.la
#load_plugin=plugin_fix_bogus_via.la
#load_plugin=plugin_stun.la
#load_plugin=plugin_prefix.la
#load_plugin=plugin_regex.la
######################################################################
# Plugin_demo
#
plugin_demo_string = This_is_a_string_passed_to_the_demo_plugin
######################################################################
# Plugin_shortdial
#
# Quick Dial (Short Dial)
# ability to define quick dial numbers that can be accessed by
# dialing "*00" from a local phone. '00' corresponds to the entry number
# (pi_shortdial_entry) below. The '*' character can be chosen freely
# (pi_shortdial_akey).
# Note: If this module is enabled, there does NOT exist a way to dial
# a "real" number like *01, siproxd will try to replace it by it's
# quick dial entry.
#
# The first character is the "key", the following characters give
# the length of the number string. E.g. "*00" allows speed dials
# from *01 to *99. (the number "*100" will be passed through unprocessed)
plugin_shortdial_akey = *00
#
# *01 sipphone echo test
plugin_shortdial_entry = 17474743246
# *02 sipphone welcome message
plugin_shortdial_entry = 17474745000
######################################################################
# Plugin_defaulttarget
#
# Log redirects to syslog
plugin_defaulttarget_log = 1
# target must be a full SIP URI with the syntax
# sip:user@host[:port]
plugin_defaulttarget_target = sip:internal@dddd:port
######################################################################
# Plugin_fix_bogus_via
#
# Incoming (from public network) SIP messages are checked for broken
# SIP Via headers. If the IP address in the latest Via Header is
# part of the list below, it will be replaced by the IP where the
# SIP message has been received from.
plugin_fix_bogus_via_networks = 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
######################################################################
# Plugin_stun
#
# Uses an external STUN server to determine the public IP
# address of siproxd. Useful for "in-front-of-NAT-router"
# scenarios.
plugin_stun_server = stun.xten.com
plugin_stun_port = 3478
# period in seconds to request IP info from STUN server
plugin_stun_period = 300
######################################################################
# Plugin_prefix
#
# unconditionally prefixes all outgoing calls with the
# "akey" prefix specified below.
plugin_prefix_akey = 0
######################################################################
# Plugin_regex
#
# Applies an extended regular expression to the 'To' URI. A typical
# SIP URI looks like (port number is optional):
# sip:12345@some.provider.net
# sips:12345@some.provider.net:5061
#
# Backreferences \1 .. \9 are supported.
#
plugin_regex_desc = Test Regex 1
plugin_regex_pattern = ^(sips?:)00
plugin_regex_replace = \1+
plugin_regex_desc = Test Regex 2
plugin_regex_pattern = ^(sips?:)01
plugin_regex_replace = \1+a
plugin_regex_desc = Test Regex 3
plugin_regex_pattern = ^(sips?:)01
plugin_regex_replace = \1:001
######################################################################
# Plugin_orange
#
load_plugin=plugin_orange.la
plugin_orange_username = prenom.nom@orange.fr
plugin_orange_password = monpassword
sudo /usr/local/sbin/siproxd -d 4132 -c ./monsiproxd.conf
[orange-in]
exten => s,1,Dial(SIP/6001,20)
exten => s,2,Hangup()
Pour la première question apparemment non, sauf à patcher directement le code d'asterisk.
- Est-il possible d'envoyer le message vers 2 adresses mails ? si oui comment ?
- Est-il possible d'interroger la messagerie depuis l'extèrieur ? si oui comment ?
Salut zoc,
Je ferai l'essai ce soir avec call-limit.
Ce qui m'embête c'est que je ne vois pas l'appel arrivé dans la console d'Asterisk.
J'ai encore essayé de m'appeler depuis mon boulot : les 2 appels ont fini sur la messagerie d'orange qui décroche à la 6ème sonnerie au lieu de la 9ème ! >:(
Pour l'histoire des appels sortant, tu peux peut-être lancer une tache période avec cron qui reboote le raspberry.
Bon, cette solution n'est pas très propre !
[orange-in]
exten => a,1,VoiceMailMain(6001@work)
exten => a,2,Hangup()
[orange-in]
exten =>+33MonTelephone,1,Dial(SIP/6001, 10)
exten =>+33MonTelephone,2,VoiceMail(6001@work)
exten => a,3,VoiceMailMain(6001@work)
exten => +33MonTelephone,4,Hangup()
[orange-in]
allowguest=yes
; mailbox doit correspondre à la message vocale associée à votre téléphone IP
; C'est ce paremètre qui fait que Asterisk envoie les SIP NOTIFY
mailbox=6001@work
;subscribemwi est un paramètre qui peut être nécessaire pour que cela fonctionnne (yes ou à no)
;Sur le SPA122, ce paramètre m'a pas d'influence
;subscribemwi=yes
Sur ma messagerie vocale Orange via 3103, les touches ne sont pas reconnues. Quelque soit la touche appuyée, j'obtiens toujours le message suivant : "Désolé, mais cette touche n'est pas une entrée correcte".Essaye avec "dtmfmode=auto" dans la section de configuration du trunk vers orange (sip.conf).
Avez-vous déjà rencontré ce problème ? Si oui, comment l'avez-vous résolu ?
exten => 700,1,Playback(posix-restarting) ; "Restarting asterisk"
exten => 700,n,Wait(1)
exten => 700,n,System(/usr/sbin/asterisk -rx reload)
exten => 700,n,Hangup
Il y a encore du boulot...
[Sep 19 22:45:04] WARNING[3548] chan_sip.c: Section 'orange-in' lacks type
[Sep 19 22:45:04] ERROR[3548] netsock2.c: getaddrinfo("orange-multimedia.fr", "(null)", ...): Name or service not known
[Sep 19 22:47:05] NOTICE[3588] chan_sip.c: -- Registration for '+339xxxxxxxx@orange-out' timed out, trying again (Attempt #5)
[Sep 19 22:47:35] WARNING[3588] chan_sip.c: Probably a DNS error for registration to +339xxxxxxxx@orange-out, trying REGISTER again (after 30 seconds)
Et siproxd ne dis rien de son coté...[orange-out]
type=peer
defaultuser=+339xxxxxxx
remotesecret=whatever
nat=auto
insecure=invite,port
host=orange-multimedia.fr
port=5060
fromuser=+339xxxxxxxxx
fromdomain=orange-multimedia.fr
outboundproxy=127.0.0.1:5060,force
canreinvite=no
context=orange-in
sendrpid=no
disallow=all
allow=alaw
call-limit=1
dtmfmode=auto
(oui mon siproxd tourne en 5060) :'(192.168.1.15 orange-multimedia.fr
et modifier la ligne :; 127.0.1.1 raspberry
192.168.1.15 raspberry
(oui mon siproxd tourne en 5060) :'(Personnellement je conseille de le mettre sur un autre port pour s'epargner bien des problèmes...
exten => _X.,1,Log(NOTICE, Outgoing call to ${EXTEN})
exten => _X.,n,Set(NUMBER=${EXTEN})
exten => _X.,n,Dial(SIP/${NUMBER}@trunk_orange)
exten => _X.,n,Log(NOTICE, Outgoing failed with error ${DIALSTATUS})
exten => _X.,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup()
exten => s-CONGESTION,1,Congestion()
exten => s-CANCEL,1,Hangup()
exten => s-BUSY,1,Busy()
exten => s-CHANUNAVAIL,1,Log(NOTICE, Outgoing trunk unavailable - restarting)
exten => s-CHANUNAVAIL,n,Wait(1)
exten => s-CHANUNAVAIL,n,System(/usr/sbin/asterisk -rx reload)
exten => s-CHANUNAVAIL,n,Wait(1)
exten => s-CHANUNAVAIL,n,Log(NOTICE, Second attempt at calling ${NUMBER})
exten => s-CHANUNAVAIL,n,Dial(SIP/${NUMBER}@trunk_orange)
exten => s-CHANUNAVAIL,n,Hangup()
I - IVR Messagerie Orange
Résolu en ajoutant la ligne dtmfmode=inband dans la section [orange-out] du fichier sip.conf.
II - IVR Messagerie Astérisk - Accés à distance
Résolu en ajoutant la ligne dtmfmode=auto dans la section [orange-in] du fichier sip.conf.
Du coup, un bilan de ce qui fonctionne :
- Appels dans les deux sens,
- Messagerie vocale,
- Acces distant à la messagerie vocale,
- Envoi d'un mail contenant le message au format MP3 (Utilisation de SSMPT),
- Fonction MWI : tonalité différente si j'ai un message dans ma boite vocale
- Touches fonctionnelles sur IVR autre qu'asterisk (ex : Boite vocale Orange 3103)
Il me reste à creuser quelques point:
- L'indicateur visuel de message : VMWI (voir point 3 de mon message : https://lafibre.info/remplacer-livebox/remplacer-livebox-le-telephone/msg257710/#msg257710 (https://lafibre.info/remplacer-livebox/remplacer-livebox-le-telephone/msg257710/#msg257710))
- Le refus d'appel (souvent avec bascule auto vers la messagerie vocale) : Impossible de refuser l'appel en raccrochant pendant que le téléphone sonne... le téléphone continue à sonner... Je ne sais pas si c'est lié à Astérisk ou au Cisco SPA122.
Il y a encore du boulot...
Je me suis offert un Gigaset C530IP.As-tu modifié quelque chose dans ta config asterisk en passant au gigaset ?
Tout fonctionne : VMWI et le refus d'appel.
Dans le cas de refus, l'appel finit sur la messagerie.
C'est donc bien le CISCO SPA122 qui me posait problème.
NOTICE[5773] chan_sip.c: -- Registration for '+339xxxxxxx@orange-out' timed out, trying again (Attempt #1)
WARNING[5868] chan_sip.c: Timeout on 5b0xxxxxxxxxxxxxxxxxx3eafae91@orange-multimedia.fr on non-critical invite transaction.
et timeout sur timeout.
Bonsoir,
J'ai mis à jour mes 2 tutoriels en prenant en compte raspbian Jessie.
A+
Hello, je rencontre un souci lors de la configuration de siproxd, j'ai essayé avec la version du 6 novembre ainsi que celle du 1 et lors du
"./configure –-with-included-libtool"
j'obtiens :
pi@raspberrypi ~/siproxd-0.8.2dev $ ./configure –-with-included-libtool
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: –-with-included-libtool
checking build system type... Invalid configuration `–-with-included-libtool': machine `–-with-included' not recognized
configure: error: /bin/bash scripts/config.sub –-with-included-libtool failed
La version du 20 septembre n'étant plus en ligne je ne sais pas si c'est lié à la version.
[default]
exten => +334xxxxxxxx,1,Log(NOTICE, Incoming call from ${CALLERID(all)})
exten => +334xxxxxxxx,n,Dial(SIP/XXX)
Conserver la box? ben avec l'IPBX, tt est possible non?
Bien joué!
Je viens de penser à un truc:
Si on a besoin du wifi, il n'y aurait pas moyen de coller la livebox dans le lan?
Du coup les clients se connectent sur le wifi de la box mais récupèrent une adresse via le dhcp du routeur qu'on a mis!
bref pas besoin d'acheter un autre AP en plus!
Pour info, en ce moment, je regarde une solution pour filtrer les appels entrants avec une gestion d'une listes noires de numéros de téléphone avec Asterisk (C'est fonction qui existe Free mais pas chez Orange).
Je suis parti sur la solution suivante : http://www.rvq.fr/linux/telnumck.php (http://www.rvq.fr/linux/telnumck.php) qui gère une liste noire et une liste blanche.
Elle est très simple à mettre en oeuvre. De plus, Hervé, le développeur du logiciel, est très réactif.
Je vous tiens au courant et je mettrai à jour mon tutoriel sur Asterisk.
pi@AsteroPi:~/siproxd-0.8.2dev $ ./configure –-with-included-libtool
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: –-with-included-libtool
checking build system type... Invalid configuration `–-with-included-libtool': machine `–-with-included' not recognized
configure: error: /bin/bash scripts/config.sub –-with-included-libtool failed
Merci pour tous ces tutoriels et astuces.
Cependant, je me retrouve bloqué lors de la configuration de siproxd, par une erreur dont je n'ai pas vu parler ici :Code: [Sélectionner]pi@AsteroPi:~/siproxd-0.8.2dev $ ./configure –-with-included-libtool
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: –-with-included-libtool
checking build system type... Invalid configuration `–-with-included-libtool': machine `–-with-included' not recognized
configure: error: /bin/bash scripts/config.sub –-with-included-libtool failed
Je n'ai fait que copier/coller les premières lignes du tutoriel, donc rien n'est encore configuré, il ne s'agit que d'installer des modules.
Et pourtant...
:(
host_outbound = mon.dyndns.com : comme l'indique le fichier de conf, il faut un dns dynamique pour que le proxy puisse connaitre l'adresse publique,
Ah ouais.... En plus j'avais vu ce message cette nuit.
A croire que la nuit blanche ne réussit pas. pardon pour le dérangement et merci :-[
Bon du coup j'ai pu progresser. Et forcèment, j'ai des questions qui se présentent.
Dans le fichier de configuration, je ne comprends pas trop la ligne host_outbound.
Dans le tutoriel, il est indiquéCode: [Sélectionner]host_outbound = mon.dyndns.com : comme l'indique le fichier de conf, il faut un dns dynamique pour que le proxy puisse connaitre l'adresse publique,
Je suis parti du principe que dans cette ligne, il fallait remplacer mon.dyndns.com par un dyndns personnel. J'en ai bien un chez OVH, sur mon domaine lordk1.info, mais je ne sais pas quoi indiquer.
C'est normal, c'est la livebox qui s'authentifie sur l'infra SIP téléphonie d'Orange (l'appli softphone ne fait que communiquer avec ta propre livebox).Non.
Du coup vous utilisiez les DNS Orange si je me souviens bien pour faire fonctionner votre téléphonie.
My bad, j’étais persuadé qu siproxd reproduisait le comportement de la livebox et pas celui de l'appli softphone.
Du coup vous utilisiez les DNS Orange si je me souviens bien pour faire fonctionner votre téléphonie.
@pedigre99 : quels DNS utilises-tu ?
Les routeurs Asus sont justement équipés de sip alg, et d'après ce que j'ai lu ça peut empêcher le fonctionnement dans certains cas selon comment c'est implèmenté.
Pour voir si le routeur est équipé : Advanced Settings / WAN > NAT Pass through > SIP pass through > disable.
Perso ayant gratté un peu a asterisk, on ne peut pas se servir de la fonction directmedia/canreinvite en la mettant sur nonat ? Chez moi ça fonctionne très bien avec du double NAT. Si je la laisse sur yes je n'ai pas de son non plus. Et je n'ai pas besoin de sip alg. A moins que la LB l’implèmente sans que je le sache ?
Je précise que mon installation n'a rien à voir avec orange, c'est un serveur privé pour s'appeler en illimité.
23:12:11 INFO:siproxd.c:233 siproxd-0.8.2dev-1719 armv6l-unknown-linux-gnu starting up 23:12:11 INFO:plugins.c:116 Plugin 'plugin_logcall' [Logs calls to syslog] loaded with success, exemask=0x40 23:12:11 INFO:src/plugin_orange.c:132 logging in 23:12:12 INFO:src/plugin_orange.c:153 plugin_orange is initialized 23:12:12 INFO:plugins.c:116 Plugin 'plugin_orange' [SIP plugin for Orange Livephone, version 0.2.1] loaded with success, exemask=0x165 23:12:12 INFO:rtpproxy_relay.c:121 Current thread stacksize is 8192 kB 23:12:12 INFO:sock.c:131 bound to port 5070 23:12:12 INFO:siproxd.c:344 siproxd-0.8.2dev-1719 armv6l-unknown-linux-gnu started 23:12:23 INFO:src/plugin_orange.c:298 proxying REGISTER without {Proxy-,}Authorization: headers 23:12:23 INFO:plugin_logcall.c:127 Outgoing Call: +331XXXXXXXX@orange-multimedia.fr -> +336XXXXXXXX@orange-multimedia.fr [Req: +336XXXXXXXX@put7.pc.sbct3g.orange-multimedia.net] [IP: 192.168.0.1:5060] 23:12:23 INFO:src/plugin_orange.c:298 proxying REGISTER without {Proxy-,}Authorization: headers 23:12:23 INFO:plugin_logcall.c:127 ACK Call: +331XXXXXXXX@orange-multimedia.fr -> +336XXXXXXXX@orange-multimedia.fr [Req: +336XXXXXXXX@put7.pc.sbct3g.orange-multimedia.net] [IP: 192.168.0.1:5060] |
23:40:04 INFO:src/plugin_orange.c:308 rewriting {Proxy-,}Authorization: headers 23:40:04 INFO:plugin_logcall.c:127 Outgoing Call: +331XXXXXXXX@orange-multimedia.fr -> +336XXXXXXXX@orange-multimedia.fr [Req: +336XXXXXXXX@put7.pc.sbct3g.orange-multimedia.net] [IP: 192.168.0.14:55472] 23:40:12 INFO:plugin_logcall.c:127 ACK Call: +331XXXXXXXX@orange-multimedia.fr -> +336XXXXXXXX@orange-multimedia.fr [Req: +336XXXXXXXX@81.253.172.149] [IP: 192.168.0.14:55472] 23:40:13 INFO:src/plugin_orange.c:308 rewriting {Proxy-,}Authorization: headers 23:40:19 INFO:plugin_logcall.c:127 Ending Call: +331XXXXXXXX@orange-multimedia.fr -> +336XXXXXXXX@orange-multimedia.fr [Req: +336XXXXXXXX@81.253.172.149] [IP: 192.168.0.14:55472] |
[Nov 27 18:42:30] NOTICE[-1] Ext. 0888: Outgoing call to 888[Nov 27 18:42:30] WARNING[-1] chan_sip.c: Received response: "Forbidden" from '"302" ;tag=as14b7ba49'
[Nov 27 18:42:30] NOTICE[-1] Ext. 0888: Outgoing failed with error CHANUNAVAIL
[Nov 27 18:42:30] NOTICE[-1] Ext. s-CHANUNAVAIL: Outgoing trunk unavailable - restarting
[Nov 27 18:42:32] NOTICE[-1] Ext. s-CHANUNAVAIL: Second attempt at calling 888
Oui, j'ai toujours des Forbidden. Ma solution : Réinitialiser asterisk et retenter automatiquement l'appel. Depuis 100% de réussite. Au niveau du dialplan, ça donne :Code: [Sélectionner]exten => _X.,1,Log(NOTICE, Outgoing call to ${EXTEN})
exten => _X.,n,Set(NUMBER=${EXTEN})
exten => _X.,n,Dial(SIP/${NUMBER}@trunk_orange)
exten => _X.,n,Log(NOTICE, Outgoing failed with error ${DIALSTATUS})
exten => _X.,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup()
exten => s-CONGESTION,1,Congestion()
exten => s-CANCEL,1,Hangup()
exten => s-BUSY,1,Busy()
exten => s-CHANUNAVAIL,1,Log(NOTICE, Outgoing trunk unavailable - restarting)
exten => s-CHANUNAVAIL,n,Wait(1)
exten => s-CHANUNAVAIL,n,System(/usr/sbin/asterisk -rx reload)
exten => s-CHANUNAVAIL,n,Wait(1)
exten => s-CHANUNAVAIL,n,Log(NOTICE, Second attempt at calling ${NUMBER})
exten => s-CHANUNAVAIL,n,Dial(SIP/${NUMBER}@trunk_orange)
exten => s-CHANUNAVAIL,n,Hangup()