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 [24/07/2012 15:16] 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 27: | Ligne 27: | ||
my %ln; | my %ln; | ||
my %fn; | my %fn; | ||
+ | my %bw; | ||
- | foreach my $u ($a-> | + | 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} = $u-> | $ext{$login} = $u-> | ||
- | | + | |
+ | # 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} = unac_string(decode(' | $ln{$login} = unac_string(decode(' | ||
$fn{$login} = unac_string(decode(' | $fn{$login} = unac_string(decode(' | ||
} | } | ||
- | + | foreach (sort { lc($ln{$a}) cmp lc($ln{$b}) } keys %ln){ | |
- | foreach (sort {$ln{$a} | + | |
print " | print " | ||
< | < | ||
Ligne 46: | Ligne 67: | ||
< | < | ||
< | < | ||
- | <bw>1</bw> | + | <bw>$bw{$_}</bw> |
</ | </ | ||
"; | "; | ||
Ligne 57: | 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' |