Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tuto:ipasserelle:telephonie:generer_contacts_polycom [19/07/2012 16:59] dani |
tuto:ipasserelle:telephonie:generer_contacts_polycom [23/09/2013 13:05] (Version actuelle) dani |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Génération des contacts pour les Polycom depuis la base des utilisateurs SME ====== | ====== Génération des contacts pour les Polycom depuis la base des utilisateurs SME ====== | ||
- | Voilà un petit scripts pour générer un fichier XML de contacts pour les polycoms (IP33x, IP650). Pour cela, il faut que les utilisateurs sur votre SME ait l' | + | Voilà un petit scripts pour générer un fichier XML de contacts pour les polycoms (IP33x, IP650). Pour cela, il faut que les utilisateurs sur votre SME aient l' |
<code bash> | <code bash> | ||
Ligne 14: | Ligne 14: | ||
use Encode; | use Encode; | ||
- | my $a = esmith:: | + | my $acc = esmith:: |
my $pos = 5; | my $pos = 5; | ||
Ligne 24: | Ligne 24: | ||
'; | '; | ||
- | foreach my $u ($a-> | + | my %ext; |
+ | my %ln; | ||
+ | my %fn; | ||
+ | my %bw; | ||
+ | |||
+ | foreach my $u ($acc-> | ||
my $login = $u->key; | my $login = $u->key; | ||
- | next unless ($a-> | + | |
+ | #next if($login =~ m/ | ||
+ | # Only include members of specific groups ? | ||
+ | | ||
+ | | ||
+ | $acc-> | ||
+ | $acc-> | ||
+ | | ||
my $pass = $u-> | my $pass = $u-> | ||
next unless ($pass eq ' | next unless ($pass eq ' | ||
- | | + | $ext{$login} |
- | | + | |
- | | + | # Use Phone number if extension is not available |
- | | + | # But cleanup this number |
+ | if ($ext{$login} eq '' | ||
+ | $ext{$login} = $u-> | ||
+ | $ext{$login} =~ s/ | ||
+ | $ext{$login} =~ s/\s//g; | ||
+ | # Don't monitor line state for external numbers | ||
+ | $bw{$login} = 0; | ||
+ | } | ||
+ | | ||
+ | # Want to list users which hasn't any phone specified ? | ||
+ | # print "< | ||
+ | next; | ||
+ | } | ||
+ | $ln{$login} | ||
+ | $fn{$login} | ||
+ | } | ||
+ | foreach (sort { lc($ln{$a}) cmp lc($ln{$b}) } keys %ln){ | ||
print " | print " | ||
- | < | + | < |
- | < | + | < |
- | < | + | < |
- | < | + | < |
< | < | ||
- | <bw>1</bw> | + | <bw>$bw{$_}</bw> |
</ | </ | ||
"; | "; | ||
Ligne 50: | Ligne 78: | ||
Il ne reste plus qu'à ajuster deux trois trucs, dans cet exemple: | Il ne reste plus qu'à ajuster deux trois trucs, dans cet exemple: | ||
- | * Seuls les utilisateurs membre du groupe " | + | * Seuls les utilisateurs membre du groupe " |
* Le premier contacts sera en position 5 (qui correspond au premier emplacement sur la première extension sur les Polycom IP650) | * Le premier contacts sera en position 5 (qui correspond au premier emplacement sur la première extension sur les Polycom IP650) | ||
* Tous les accents seront supprimés (ils posent souvent plus de problèmes qu' | * Tous les accents seront supprimés (ils posent souvent plus de problèmes qu' |