« Astreinte » : différence entre les versions
Apparence
| Ligne 8 : | Ligne 8 : | ||
* On injecte les données d'astreinte dans l'extension qui reçoit habituellement les appels | * On injecte les données d'astreinte dans l'extension qui reçoit habituellement les appels | ||
===Le script=== | |||
===Le script=== | ===Le script=== | ||
< | <syntaxhighlight lang="csharp" line> | ||
using System; | using System; | ||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||
| Ligne 30 : | Ligne 31 : | ||
// --- AJOUT : Nommage de l'astreinte --- | // --- AJOUT : Nommage de l'astreinte --- | ||
string prenomElu = "ASTREINTE"; | string prenomElu = "ASTREINTE"; | ||
string nomElu = "ELU 6"; | string nomElu = "ELU 6"; | ||
try | try | ||
| Ligne 42 : | Ligne 43 : | ||
targetExt.SetProperty("MOBILENUMBER", mobileElu); | targetExt.SetProperty("MOBILENUMBER", mobileElu); | ||
// 2. MISE À JOUR DU NOM | // 2. MISE À JOUR DU NOM | ||
targetExt.FirstName = prenomElu; | targetExt.FirstName = prenomElu; | ||
targetExt.LastName = nomElu; | targetExt.LastName = nomElu; | ||
| Ligne 68 : | Ligne 69 : | ||
} | } | ||
} | } | ||
}</ | } | ||
</syntaxhighlight> | |||
===Installation=== | ===Installation=== | ||
[[Catégorie:3CX]] | [[Catégorie:3CX]] | ||
Version du 1 avril 2026 à 17:07
par les statuts
Via script
Limite de la méthode précédente :
- 4 profil d'astreinte maximum
Principe de cette méthode :
- On injecte les données d'astreinte dans l'extension qui reçoit habituellement les appels
Le script
Le script
using System;
using System.Threading.Tasks;
using TCX.Configuration;
using CallFlow;
using System.Linq;
using System.Collections.Generic;
namespace dummy
{
public class SetDynamicAstreinte : ScriptBase<SetDynamicAstreinte>
{
public override Task<bool> StartAsync()
{
string targetExtNum = "111";
string mobileElu = "0743031843";
string profileName = "Away";
// --- AJOUT : Nommage de l'astreinte ---
string prenomElu = "ASTREINTE";
string nomElu = "ELU 6";
try
{
IPhoneSystem ps = PhoneSystem.Root;
Extension targetExt = ps.GetDNByNumber(targetExtNum) as Extension;
if (targetExt != null)
{
// 1. Mise à jour du numéro de mobile
targetExt.SetProperty("MOBILENUMBER", mobileElu);
// 2. MISE À JOUR DU NOM
targetExt.FirstName = prenomElu;
targetExt.LastName = nomElu;
// 3. Changement du profil de statut
var profile = targetExt.FwdProfiles.FirstOrDefault(p => p.Name.Equals(profileName, StringComparison.OrdinalIgnoreCase));
if (profile != null)
{
targetExt.CurrentProfile = profile;
}
// 4. Sauvegarde globale
targetExt.ResetCurrentProfileOverride();
targetExt.Save();
return Task.FromResult(true);
}
}
catch (Exception)
{
// Erreur silencieuse
}
return Task.FromResult(false);
}
}
}