4 IAXCALLTOKEN=iax-calltoken.global
5 EXTEN=extensions.global
6 EXTENCANON=extensions-canon.global
9 ; ATTENTION : NE PAS TOUCHER A CE FICHIER. IL FAIT PARTIE DU
10 ; PAQUET asterisk-config-auf-connexions ET SERA MIS A JOUR
11 ; LORS DE L'AJOUT DE NOUVEAUX SITES VOIP AUF
15 ; /etc/asterisk/auf/$IAX
16 ; Liaisons IAX inter implantations à inclure à la fin de iax.conf
17 ; avec : #include "$IAX"
18 ; (Note: le fichier iax.conf fourni par le paquet asterisk-config-auf
19 ; effectue déjà cette inclusion)
22 ; Authentification RSA : il faut disposer de la clé publique de chaque user :
23 ; /usr/share/asterisk/keys/inkeys.pub (voir sur http://tech.auf/wiki/AsteriskRSA)
24 ; Note : pour l'AUF les clés sont fournies par le paquet
25 ; asterisk-config-auf-connexions
30 cat << EOF > $IAXCALLTOKEN
31 ; /etc/asterisk/auf/$IAXCALLTOKEN
32 ; Fichier à inclure dans le contexte [general] de iax.conf
33 ; avec : "#include $IAXCALLTOKEN"
34 ; (Note: le fichier iax.conf fourni par le paquet asterisk-config-auf
35 ; n'effectue PAS cette inclusion ; il faut la faire soi-même)
41 for f in $EXTEN $EXTENCANON ; do
43 ; /etc/asterisk/auf/$f
44 ; Fichier à inclure dans le contexte [AUF] de extensions.conf
45 ; avec : "#include $f"
46 ; (Note: le fichier extensions.conf fourni par le paquet asterisk-config-auf
47 ; effectue déjà cette inclusion)
54 cat << EOF > liste-serveurs
56 # username:prefix:serveur[:longueur_prefixe]
58 sed -e '/^[^#]/s/[[:space:]]*#.*$//' liste-serveurs-canon | tail -n +3 | \
61 prefixlen = length(gensub(/\[[^]]*\]/,"?","g",$1))
62 if (prefixlen != length($1)) {
63 $0 = sprintf("%s:%s:%s:%s",$4,$1,$3,prefixlen)
65 $0 = sprintf("%s:%s:%s",$4,$1,$3)
72 echo " || '''Nom''' || '''préfixe''' ||" > pourwiki.txt
74 sed -e 's/#.*$//' -e 's/[[:space:]]*$//' -e '/^$/d' liste-serveurs-canon | \
75 while IFS=":" read prefix extenpat server username
77 prefixlen=`echo -n "$prefix" | sed 's/\[[^]]*\]/?/g' | wc -c`
78 serverip=`LANG= host -t a $server | sed '/ has address /s/^.* //p;d'`
81 echo " prefix=$prefix ($prefixlen chiffres)"
82 echo " server=$server"
83 echo " pubkey=keys/$username.pub"
86 pourwiki=`echo $username | sed 's/^auf-//'`
87 echo " || $pourwiki || $prefix ||" >> pourwiki.txt
88 #echo "" >> pourwiki.txt
89 #echo " $pourwiki::" >> pourwiki.txt
90 #echo " . serveur : $server" >> pourwiki.txt
91 #echo " . username : $username" >> pourwiki.txt
92 #echo " . extension : $prefix" >> pourwiki.txt
93 #echo " {{{" >> pourwiki.txt
94 #cat keys/$username.pub >> pourwiki.txt
95 #echo "}}}" >> pourwiki.txt
97 if [ ! -f keys/$username.pub ]; then
98 echo "ERREUR : il manque la clé keys/$username.pub"
110 ;requirecalltoken=auto
114 if [ -n "$serverip" ] ; then
115 cat << EOF >> $IAXCALLTOKEN
117 calltokenoptional=$serverip
121 cat << EOF >> $IAXCALLTOKEN
129 ; Liaison vers $username
130 ; prefix=$prefix serveur=$server
131 exten => _\${AUFPREFIX}$prefix.,1,Dial(IAX2/\${AUFAUTH}@$server/\${EXTEN:\$[\${AUFPREFIXLEN} + $prefixlen]}@AUF,90,rtThH)
134 cat << EOF >> $EXTENCANON
135 ; Liaison vers $username
136 ; prefix=$prefix exten_pattern=$extenpat server=$server
137 exten => _\${AUFPREFIX}${prefix}${extenpat},1,Dial(IAX2/\${AUFAUTH}@${server}/\${EXTEN:\$[\${AUFPREFIXLEN} + ${prefixlen}]}@AUF,90,rtThH)
138 exten => _\${AUFPREFIX}${prefix}*.,1,Dial(IAX2/\${AUFAUTH}@${server}/\${EXTEN:\$[\${AUFPREFIXLEN} + ${prefixlen}]}@AUF,90,rtThH)