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 console d'administration, cliquez sur Serveurs > Routeurs On Demand > nom_odr> Propriétés des routeurs On Demand SIP > 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 règles 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
Variable de demande Protocoles valides Description

application

IIOP Nom de l'application d'entreprise contenant l'EJB.
clienthost

HTTP

SOAP

IIOP

SIP

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 >, >=, <, <=.

clientport

IIOP Nom du port client.
clientipv4

HTTP

SOAP

SIP

Adresse IP de l'ordinateur client utilisant le type d'adresse à quartet descripteur Internet Protocol version 4 (IPv4) n.n.n.n.
clientipv6

HTTP

SOAP

SIP

Type d'adresse Internet Protocol version 6 (IPv6) 128 bits x:x:x:x:x:x:x:x suivant la RFC 1924 de l'ordinateur client.
En-tête de contact

SIP

Zone d'en-tête du contact.

Identificateur URI de contact

SIP

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

cookie$<nom>

HTTP

SOAP

Nom d'un cookie. Par exemple, l'expression cookie$My_Cookie_Name='My_Cookie_Value' teste une demande pour savoir si elle contient un cookie nommé My_Cookie_Name associé à une valeur My_Cookie_Value. Pour vérifier la présence ou l'absence d'un cookie spécifique, utilisez l'une des expressions suivantes :
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ejbmodule

IIOP Nom de module d'un EJB.

ejbname

IIOP Nom d'un EJB.

ejbmethod

IIOP Nom d'une méthode au sein de l'EJB.
En-tête d'origine

SIP

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

Nom affiché d'en-tête d'origine

SIP

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

URI d'origine

SIP

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

Hôte URI d'origine

SIP

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

Port URI d'origine

SIP

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

Utilisateur URI d'origine

SIP

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

header$<nom>

HTTP

SOAP

SIP

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
HTTPMethod

HTTP

SOAP

Méthode HTTP d'une demande. Les valeurs possibles sont POST, GET, PUT et DELETE.
TypeMIME

HTTP

SOAP

Type MIME de la demande.
operation SOAP Nom d'une opération de service Web.
percentage$<val>

HTTP

SOAP

IIOP

SIP

L'opérande de pourcentage a true comme résultat d'un pourcentage fixe de la durée. Par exemple : percentage$50 a pour résultat true dans 50 % de la durée en moyenne.
port

HTTP

SOAP

IIOP

SIP

Port d'écoute sur lequel la demande a été reçue.
protocol

HTTP

SOAP

Protocole de communications transmettant la demande. Les protocoles actuellement pris en charge sont HTTP, HTTPS, SOAP et SOAPS.
queryparm$<nom>

HTTP

SOAP

Nom et valeur d'en-tête. Par exemple, l'expression queryparm$timezone='EST' teste une demande permettant de vérifier si elle contient un paramètre de requête HTTP nommé timezone associé à une valeur EST. Pour vérifier la présence ou l'absence d'un paramètre de requête, utilisez l'un des formats suivants :
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
rampup$<heure_de_début>$<heure_de_fin>

HTTP

SOAP

IIOP

SIP

L'opérande rampup attribue la valeur true à un pourcentage variable de la durée. Il a toujours la valeur false avant l'<heure_de_début> et la valeur true après l'<heure_de_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 l'<heure_de_début> et de l'<heure_de_fin> est jour/mois/année::heure:min:sec.

jour représente le jour du mois, mois représente l'un des douze mois : Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, année représente les 4 chiffres de l'année, heure les 2 chiffres de l'heure exprimée de 0 à 24 et min et sec représentent respectivement les minutes et les secondes exprimées par 2 chiffres.

Par exemple :

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 prend occasionnellement la valeur true à 8 h le 1er janvier 2007 et a toujours la valeur true à l'heure à laquelle se termine l'augmentation progressive, à 17 h le même jour.
Transport de la demande

SIP

Transport de la demande.

URI de la demande

SIP

URI de la demande.

Hôte URI de la demande

SIP

Hôte de l'URI de la demande.

Port URI de la demande

SIP

Port de l'URI de la demande.

Utilisateur URI de la demande

SIP

Utilisateur de l'URI de la demande.

Schéma d'en-tête d'origine

SIP

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

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

SIP

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

Schéma de l'URI

SIP

Schéma de l'URI.

serverhost

HTTP

SOAP

IIOP

SIP

Nom d'hôte qualifié complet du serveur. Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.
serveripv4

HTTP

SOAP

SIP

Adresse IP du serveur utilisant le type d'adresse à quartet descripteur IPv4 n.n.n.n.
serveripv6

HTTP

SOAP

SIP

Type d'adresse IPv6 128 bits x:x:x:x:x:x:x:x suivant la RFC 1924 du serveur.
service

SOAP

Nom d'un service Web.
Méthode SIP

SIP

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 de réponse SIP

SIP

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

time

HTTP

SOAP

IIOP

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.

Hôte client de destination

SIP

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

En-tête de destination

SIP

Zone d'en-tête de destination.

Nom affiché d'en-tête de destination

SIP

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

URI de destination

SIP

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

Hôte URI de destination

SIP

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

Utilisateur URI de destination

SIP

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

hôte virtuel

HTTP

SOAP

Les ports virtuels sont créés dans WebSphere® Portal Server et WebSphere Extended Deployment prend en charge cet opérande pour une meilleure intégration à WebSphere Portal Server. Le port virtuel correspond à l'URL de la demande moins la racine de contexte du module Web de l'application WebSphere Portal. Si une demande particulière correspond au portail virtuel défini, l'action de routage définie pour cette règle est adoptée.
xpathexpr

SOAP

L'expression de la chaîne XPath comporte une zone obligatoire destinée à contenir l'expression XPath et une zone facultative pour la définition d'un ou de plusieurs espaces de noms locaux. Si tous les espaces de noms contenus dans l'expression XPath sont standard, la seconde zone peut être facultative. dans le cas de plusieurs espaces de noms, ceux-ci sont séparés par une virgule (,). Voici un exemple d'expression xpathexpr avec une définition d'espace de noms local :
xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

Dans l'expression ci-dessus, l'expression XPath est /soap:Envelope/soap:Body/n:getTimeZone/n:clientId. Elle contient l'espace de noms local n. La seconde zone de l'expression xpathexpr est définie comme n \\=http://test.classify.ws.ibm.com. Le signe dollar ($) permet de marquer le début d'une définition de zone. Dans cet exemple, les barres obliques doubles représentent la séquence d'échappement. Le premier signe égal (=) est précédé d'une séquence d'échappement car il fait partie de la définition d'espace de noms local, alors que le second (=) est l'opérateur de l'expression de classification : il ne doit donc pas être précédé d'une séquence d'échappement.

L'exemple suivant représente une expression xpathexpr contenant deux espaces de noms locaux :

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

Voici une liste des espaces de noms standard pour xpathexpr :

Tableau 1. Espaces de noms
Espace de nom URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/
Opérateur
  • = L'opérateur d'égalité spécifie une occurrence sensible à la casse.
  • <> L'opérateur d'inégalité indique que la valeur d'opérande n'est pas égale à la valeur que vous entrez.
  • > L'opérateur "supérieur à" s'utilise avec des nombres.
  • >= L'opérateur "supérieur ou égal à" s'utilise avec des nombres.
  • < L'opérateur "inférieur à" s'utilise avec des nombres.
  • <= L'opérateur "inférieur ou égal à" s'utilise avec des nombres.
  • AND : Dans l'expression xx AND yy, cet opérateur identifie les occurrences qui contiennent à la fois xx etyy.
  • BETWEEN : Cet opérateur s'utilise avec AND pour sélectionner une plage de valeurs qui inclut la première (ou la plus petite) et la dernière (ou la plus élevée) valeur. Vous pouvez les utiliser ensemble avec des nombres et des dates.
  • EXISTS : Cet opérateur booléen permet de chercher un opérande ou le résultat d'une sous-expression composée, par exemple, lors de la vérification de certains attributs d'en-tête HTTP.
  • IN : Cet opérateur permet de spécifier un opérande contenant plusieurs valeurs dans une expression unique. Par exemple, si, pour un opérande appelé port, vous souhaitez spécifier que la valeur du port peut être l'une des valeurs 9080, 9090, 9091, le fragment d'expression est port IN (9080,9090,9091). La façon dont les valeurs sont exprimées dans les parenthèses dépend du type de données du port. Si le port est représenté par un entier, la syntaxe correcte correspond aux valeurs sans les guillemets. Si le port est représenté par une chaîne, la syntaxe correcte est port IN (‘9080’,‘9090’,‘9091’).
  • IS NULL : Cet opérateur indique qu'une validation de la demande signale que le paramètre demandé n'existe pas.
  • IS NOT NULL : Cet opérateur indique qu'une validation de la demande signale que le paramètre demandé existe.
  • LIKE : Cet opérateur exprime un modèle de correspondance pour des valeurs d'opérande de type chaîne. La valeur doit contenir le caractère générique Pourcentage (%) à l'emplacement où commence le modèle de correspondance. Par exemple, l'expression host LIKE %blanca correspond au mot "blanca" ou à tout autre mot se terminant par "blanca", alors que l'expression host LIKE blanca% correspond au mot "blanca" ou tout autre mot commençant par "blanca", et que l'expression host LIKE %blanca% correspond au mot "blanca" et à tout mot contenant "blanca".
  • NOT : Dans l'expression NOT xx, cet opérateur permet de rechercher les occurrences ne contenant pas xx.
  • OR : Dans l'expression xx OR yy, cet opérateur permet de rechercher les occurrences contenant xx ou yy.
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.




Centre de documentation de WebSphere Virtual Enterprise (en ligne)

Informations connexes
Règles SIP de la stratégie de routage
Règles SIP de la stratégie de service

sip_rulebuilder_detail