Générateur d'expression de règle SIP

Le générateur de sous-expression permet de générer des conditions de règles complexes issues de sous-expressions en utilisant AND, OR, NOT et le regroupement mis entre parenthèses. Le générateur de règles valide la règle lorsque des modifications sont appliquées, il vous informe également de la non-concordance des parenthèses mais aussi des opérateurs logiques non pris en charge.

Pour afficher cette page de la console d'administration, cliquez sur Serveurs > Types de serveur > Routeurs On demand > nom_odr > SIP On demand router settings > Règles SIP de la stratégie de routage > Ajouter > Générateur de sous-expression.

Pour modifier des règles à l'aide du générateur de règles, vous devez disposer des privilèges d'administration Administrateur.

Sélectionner un opérande

Opérandes des stratégies de routage et de service

Selon le protocole que vous sélectionnez, plusieurs opérandes vous sont proposés. Le tableau ci-dessous présente les noms des opérandes tels qu'ils s'affichent dans la console, l'opérande réel tel qu'il apparaît dans l'expression, les protocoles valides par opérande et la description de chaque opérande.

Tableau 1. Opérandes. Le tableau suivant décrit les noms des opérandes affichés dans la console
Opérande Syntaxe Description
Méthode SIP méthode.demande

Méthode SIP de la demande. Les valeurs possibles sont INVITE, TRYING, RINGING, ACK, OK et BYE. Si le message n'est pas une demande, cette opérande renvoie la valeur null.

Code réponse SIP code.réponse

Code de réponse de la réponse. Si le message n'est pas une réponse, cette opérande renvoie la valeur -1.

Schéma de l'en-tête de destination schéma.uri.destination

Schéma de la zone d'en-tête de destination.

Schéma de l'URI schéma.uri.demande

Schéma de l'URI.

Schéma de l'en-tête d'origine schéma.demande.uri.origine

Schéma de la zone d'en-tête d'origine.

URI de la requête uri.demande

URI de la demande.

URI de destination uri.demande.destination

URI de la zone d'en-tête de destination.

URI d'origine uri.demande.origine

URI de la zone d'en-tête d'origine.

En-tête d'origine demande.origine

Zone d'en-tête d'origine.

En-tête de destination demande.destination

Zone d'en-tête de destination.

Nom affiché d'en-tête de destination nom_d'affichage.demande.destination

Nom affiché figurant dans la zone d'en-tête de destination.

Nom affiché d'en-tête d'origine nom_d'affichage.demande.origine

Nom affiché de la zone d'en-tête d'origine.

Hôte URI de destination hôte.uri.demande.destination

Port de l'URI de la zone d'en-tête de destination.

Hôte serveur serverhost Nom d'hôte qualifié complet du serveur. Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.
Port port Port d'écoute sur lequel la demande a été reçue.
En-tête de contact contact.demande

Zone d'en-tête du contact.

Identificateur URI de contact uri.contact.demande

URI de la zone d'en-tête du contact

Hôte client clienthost Nom d'hôte qualifié complet du client. Il s'agit de la valeur du nom d'hôte de la commande IP (Internet Protocol). Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.
ipv4_client clientipv4 Adresse IP de l'ordinateur client utilisant le type d'adresse à quartet descripteur Internet Protocol version 4 (IPv4) n.n.n.n.
ipv6_client clientipv6 Adresse Internet Protocol version 6 (IPv6) 128 bits du type x:x:x:x:x:x:x:x conforme au protocole RFC 1924 de l'ordinateur client.
ipv4_serveur serveripv4 Adresse IP de l'ordinateur serveur au format IPv4 à quatre éléments séparés par des points n.n.n.n.
ipv6_serveur serveripv6 Adresse IPv6 128 bits du type x:x:x:x:x:x:x:x conforme au document RFC 1924 de l'ordinateur serveur.
Transport demande transport.demande

Transport de la demande.

Utilisateur de l'URI de la demande utilisateur.uri.demande

Utilisateur de l'URI de la demande.

Utilisateur URI d'origine utilisateur.uri.demande.origine

Utilisateur de la zone d'en-tête d'origine.

Utilisateur URI de destination utilisateur.uri.demande.destination

Utilisateur figurant dans la zone d'en-tête de destination.

Hôte URI de la demande hôte.uri.demande

Hôte de l'URI de la demande.

Hôte URI d'origine hôte.uri.demande.origine

Hôte de la zone d'en-tête d'origine.

Port URI de la demande port.uri.demande

Port de l'URI de la demande.

Port URI d'origine port.uri.demande.origine

Port de l'URI de la zone d'en-tête d'origine.

Hôte URI de destination hôte.uri.demande.destination

Hôte figurant dans la zone d'en-tête de destination.

Nom d'en-tête header$<nom> Nom et valeur d'en-tête. Par exemple, l'expression header$Host='localhost' teste une demande pour voir si elle contient un en-tête d'hôte HTTP associé à la valeur localhost. Pour vérifier la présence ou l'absence de l'en-tête d'hôte, utilisez l'une des expressions suivantes :
header$Host IS NOT NULL
header$Host IS NULL
Heure time

Cet opérande permet de définir la date et l'heure du jour où une demande donnée doit être traitée. heure_de_début et heure_de_fin sont deux zones facultatives. Si une demande est reçue en dehors de la fenêtre définie, la demande ne sera pas traitée.

Le format des zones Heure de début et Heure de fin est le suivant : jour_de_la_semaine/jour_du_mois/mois/année::heure:minute:seconde.

Par exemple : le jeudi 11 avril 2007 à 13:03:45 est indiqué sous la forme :

Thu/11/Apr/2007::13:03:45

Le caractère générique * peut être utilisé dans toutes les zones. Par exemple, le 1er de chaque mois est indiqué sous la forme */1.

Les valeurs du jour_de_la_semaine sont Sun, Mon, Tue, Wed, Thu, Fri, Sat et les valeurs du jour_du_mois vont de 1 à 31.

La valeur mois est une valeur non numérique représentant les douze mois : Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.

La valeur année est constituée des quatre chiffres de l'année. Par exemple : 2007.

La valeur de l'heure est l'heure du jour au format 24 heures. Par exemple, 8 h est représenté par ::8. Les minutes et les secondes sont exprimées par des nombres compris entre 0 et 59.

La barre oblique (/) est utilisée pour séparer les paramètres de la date, les deux points répétés (::) sont utilisés pour distinguer les valeurs de la date et de l'heure et les deux points (:) sont utilisés pour séparer les paramètres de l'heure du jour. Notez que le résultat booléen de la règle entière dans laquelle l'opérande time est utilisé détermine l'action de routage à entreprendre.

Pourcentage percentage$<val> L'opérande de pourcentage a pour valeur true pour un pourcentage fixe du temps. Par exemple, percentage$50 a pour valeur true 50 % du temps.
Augmentation progressive rampup$<heure_début>

  $<heure_fin>

L'opérande rampup renvoie la valeur true pendant un pourcentage de temps variable. Il est toujours associé à la valeur false avant <heure_début> et à la valeur true avant <heure_fin>. Au fur et à mesure que l'heure progresse de l'<heure_de_début> vers l'<heure_de_fin>, il prend la valeur true, un pourcentage augmentant de façon linéaire.

Le format de <heure_début> et <heure_fin> est jour/mois/année::heure:mn:s.

jour correspond au jour du mois, mois à l'un des douze mois : Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, année l'année représentée par 4 chiffres, heure l'heure exprimée par 2 chiffres sous le format 24 heures, et min et sec les valeurs d'heure et de secondes exprimées par 2 chiffres.

Par exemple :

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 est parfois associé à la valeur true à 8 heures le 1er janvier 2007 et est toujours associé à la valeur true à 17 heures le même jour, une fois l'heure de fin atteinte progressivement.

Opérateur

Tableau 2. Opérateurs de spécification de trace
Opérateur Description
Egal à et ignorant la casse (EQUALSIGNORECASE) Le signe Egal ignore l'opérateur de casse. La casse des chaînes est ignorée. 'ABC' EQUALSIGNORECASE 'abc' renvoie true. ('ABC' = 'abc') renvoie false.
N'est pas égal (< >) L'opérateur N'est pas égal stipule que la valeur de l'opérande n'est pas égale à la valeur saisie.
Dans (IN)
  • chaîne IN liste de chaînes renvoie 'true' si la chaîne sur la gauche correspond exactement (avec respect de la casse) à une chaîne mentionnée à droite. Par exemple :
    • ’adrian’ in ('keith','eric','kalyan','david', 'adrian and etc') renvoie 'false'.
    • 'adrian' in ('tom','adrian') renvoie 'true'.
    • ’adrian’ in ('Tom','Adrian') renvoie 'false'.
  • entier IN liste d'entiers :
    • 1 in (1,2,3,4,5) renvoie 'true'.
    • 6 in (1,2,3,4,5) renvoie 'false'.
Similaire à (LIKE)

Canevas de recherche de valeurs d'opérande de chaîne. La valeur doit contenir le caractère générique (%) à la position où la correspondance de masque est censée commencer.

Par exemple, l'expression :
host LIKE %blanca
permet de rechercher les occurrences du terme blanca et de tout autre terme se terminant par blanca, alors que l'expression :
host LIKE blanca%
permet de rechercher les occurrences du terme blanca et tout autre terme commençant par blanca. L'expression :
host LIKE %blanca%
permet de rechercher les occurrences du terme blanca et de tout autre terme contenant la chaîne blanca.
Similaire à et ignorant la casse (LIKEIGNORECASE) Cet opérateur exprime une recherche de correspondance de canevas pour des valeurs d'opérande de type chaîne. La casse des chaînes est ignorée.
N'est pas Null (IS NOT NULL) Une validation de la requête indique que le paramètre demandé existe.
Concaténer (+) Cet opérateur interprète 'abc'+'def' comme 'abcdef'.
Similaire et dans (LIKEIN) Cet opérateur exprime chaîne likein (chaîne1, chaîne2, chaîne3,...), renvoie 'true' si la chaîne à gauche de l'opérateur likein correspond à une ou plusieurs des chaînes (chaîneN).
Est Null (IS NULL) Une validation de la requête indique que le paramètre demandé n'existe pas. Teste la présence d'un opérande avec une valeur NULL.
Egal à ( = ) Cet opérateur d'égalité recherche une correspondance respectant la casse.
Supérieur à (>) Prend la valeur du résultat logique standard.
Supérieur ou égal à (>=) Prend la valeur du résultat logique standard.
Inférieur à (<) Prend la valeur du résultat logique standard.
Inférieur ou égal à (<=) Prend la valeur du résultat logique standard.
Compris entre (BETWEEN) Utilisé avec AND pour sélectionner une plage de valeurs, la première valeur (la plus faible) et la dernière valeur (la plus élevée). Opèrent ensemble sur des nombres et des dates.

Valeur

Selon l'opérateur que vous aurez choisi, saisissez une valeur pour la sous-expression que vous choisissez de créer.

Générer une sous-expression

Générez la sous-expression issue de l'opérande, de l'opérateur et des valeurs que vous avez spécifiés.

Ajouter à la fin

Cliquez pour ajouter à la case située dans le panneau des règles.



Nom de fichier : sip_rulebuilder_detail.html