4 EXTEN=extensions.global
5 EXTENCANON=extensions-canon.global
8 ; ATTENTION : NE PAS TOUCHER A CE FICHIER. IL FAIT PARTIE DU
9 ; PAQUET asterisk-config-auf-connexions ET SERA MIS A JOUR
10 ; LORS DE L'AJOUT DE NOUVEAUX SITES VOIP AUF
14 ; /etc/asterisk/auf/$IAX
15 ; Liaisons IAX inter implantations à inclure à la fin de iax.conf
16 ; avec : #include "$IAX"
17 ; (Note: le fichier iax.conf fourni par le paquet asterisk-config-auf
18 ; effectue déjà cette inclusion)
21 ; Authentification RSA : il faut disposer de la clé publique de chaque user :
22 ; /usr/share/asterisk/keys/inkeys.pub (voir sur http://tech.auf/wiki/AsteriskRSA)
23 ; Note : pour l'AUF les clés sont fournies par le paquet
24 ; asterisk-config-auf-connexions
30 for f in $EXTEN $EXTENCANON ; do
32 ; /etc/asterisk/auf/$f
33 ; Fichier à inclure dans le contexte [AUF] de extensions.conf
34 ; avec : "#include $f"
35 ; (Note: le fichier extensions.conf fourni par le paquet asterisk-config-auf
36 ; effectue déjà cette inclusion)
43 cat << EOF > liste-serveurs
45 # username:prefix:serveur[:longueur_prefixe]
47 sed -e '/^[^#]/s/[[:space:]]*#.*$//' liste-serveurs-canon | tail -n +3 | \
50 prefixlen = length(gensub(/\[[^]]*\]/,"?","g",$1))
51 if (prefixlen != length($1)) {
52 $0 = sprintf("%s:%s:%s:%s",$4,$1,$3,prefixlen)
54 $0 = sprintf("%s:%s:%s",$4,$1,$3)
61 echo " || '''Nom''' || '''Préfixe''' || '''Masque''' ||" > pourwiki.txt
63 sed -e 's/#.*$//' -e 's/[[:space:]]*$//' -e '/^$/d' liste-serveurs-canon | \
64 while IFS=":" read prefix extenpat server username
66 prefixlen=`echo -n "$prefix" | sed 's/\[[^]]*\]/?/g' | wc -c`
67 serverip=`LANG= host -t a $server | sed '/[[:space:]]\(has address\|A\)[[:space:]]/s/^.*[[:space:]]//p;d'`
70 echo " prefix=$prefix ($prefixlen chiffres)"
71 echo " server=$server ($serverip)"
72 echo " pubkey=keys/$username.pub"
75 pourwiki=`echo $username | sed 's/^auf-//'`
76 echo " || $pourwiki || $prefix || $extenpat ||" >> pourwiki.txt
77 #echo "" >> pourwiki.txt
78 #echo " $pourwiki::" >> pourwiki.txt
79 #echo " . serveur : $server" >> pourwiki.txt
80 #echo " . username : $username" >> pourwiki.txt
81 #echo " . extension : $prefix" >> pourwiki.txt
82 #echo " {{{" >> pourwiki.txt
83 #cat keys/$username.pub >> pourwiki.txt
84 #echo "}}}" >> pourwiki.txt
86 if [ ! -f keys/$username.pub ]; then
87 echo "ERREUR : il manque la clé keys/$username.pub"
104 ; Liaison vers $username
105 ; prefix=$prefix serveur=$server
106 exten => _\${AUFPREFIX}$prefix.,1,Dial(IAX2/\${AUFAUTH}@$server/\${EXTEN:\$[\${AUFPREFIXLEN} + $prefixlen]}@AUF,90,rtThH)
109 cat << EOF >> $EXTENCANON
110 ; Liaison vers $username
111 ; prefix=$prefix exten_pattern=$extenpat server=$server
112 exten => _\${AUFPREFIX}${prefix}${extenpat},1,Dial(IAX2/\${AUFAUTH}@${server}/\${EXTEN:\$[\${AUFPREFIXLEN} + ${prefixlen}]}@AUF,90,rtThH)
113 exten => _\${AUFPREFIX}${prefix}*.,1,Dial(IAX2/\${AUFAUTH}@${server}/\${EXTEN:\$[\${AUFPREFIXLEN} + ${prefixlen}]}@AUF,90,rtThH)