tuto:ipasserelle:telephonie:generer_contacts_polycom

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:24]
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'attribut Extension portant leur numéros interne, par exemple+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'attribut Extension portant leur numéros interne, par exemple
  
 <code bash> <code bash>
Ligne 27: Ligne 27:
 my %ln; my %ln;
 my %fn; my %fn;
 +my %bw;
  
-# Get user info (name, phone number) from the account DB 
 foreach my $u ($acc->users){ foreach my $u ($acc->users){
     my $login = $u->key;     my $login = $u->key;
-    next unless ($acc->is_user_in_group($login, 'agence'));+    # Want to skip specific users ? 
 +    #next if($login =~ m/^sophie|jerome$/); 
 +    # Only include members of specific groups ? 
 +    next unless ( 
 +        $acc->is_user_in_group($login, 'agence'|| 
 +        $acc->is_user_in_group($login, 'group1') || 
 +        $acc->is_user_in_group($login, 'equipe'
 +    );
     my $pass = $u->prop('PasswordSet') || 'no';     my $pass = $u->prop('PasswordSet') || 'no';
     next unless ($pass eq 'yes');     next unless ($pass eq 'yes');
     $ext{$login} = $u->prop('Extension') || '';     $ext{$login} = $u->prop('Extension') || '';
-    next unless ($ext{$login} =~ m/^\d+$/);+    $bw{$login} = 1; 
 +    # Use Phone number if extension is not available 
 +    # But cleanup this number 
 +    if ($ext{$login} eq ''){ 
 +        $ext{$login} = $u->prop('Phone') || ''; 
 +        $ext{$login} =~ s/^\+33\(0\)/0/; 
 +        $ext{$login} =~ s/\s//g; 
 +        # Don't monitor line state for external numbers 
 +        $bw{$login} = 0; 
 +    } 
 +    unless ($ext{$login} =~ m/^\d+$/)
 +        # Want to list users which hasn't any phone specified ? 
 +        # print "<!-- $login n'a pas de numero -->\n"; 
 +        next; 
 +    }
     $ln{$login} = unac_string(decode('utf-8',($u->prop('LastName') || '')));     $ln{$login} = unac_string(decode('utf-8',($u->prop('LastName') || '')));
     $fn{$login} = unac_string(decode('utf-8',($u->prop('FirstName') || $login)));     $fn{$login} = unac_string(decode('utf-8',($u->prop('FirstName') || $login)));
 } }
- 
-# Sort by lastname 
 foreach (sort { lc($ln{$a}) cmp lc($ln{$b}) } keys %ln){ foreach (sort { lc($ln{$a}) cmp lc($ln{$b}) } keys %ln){
     print "        <item>     print "        <item>
Ligne 48: Ligne 67:
             <ct>$ext{$_}</ct>             <ct>$ext{$_}</ct>
             <sd>$pos</sd>             <sd>$pos</sd>
-            <bw>1</bw>+            <bw>$bw{$_}</bw>
         </item>         </item>
 "; ";
Ligne 59: 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 "agence" et ayant un mot de passe configuré seront mis dans la liste+  * Seuls les utilisateurs membre du groupe "agence" ou "group1" ou "equipe" et ayant un mot de passe configuré seront mis dans la liste
   * 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'autres chose)   * Tous les accents seront supprimés (ils posent souvent plus de problèmes qu'autres chose)
  • tuto/ipasserelle/telephonie/generer_contacts_polycom.1343136279.txt.gz
  • Dernière modification: 24/07/2012 15:24
  • de dani