Administration du protocole SIP sous Liberty
Vous pouvez configurer SIP sous Liberty en ajoutant et en configurant des éléments dans le fichier server.xml.
Avant de commencer
Installez la fonction sipServlet-1.1 sur votre serveur Liberty. Pour plus d'informations, voir Ajout et suppression de fonctions Liberty.
Pourquoi et quand exécuter cette tâche
Cette tâche décrit la configuration manuelle de SIP pour Liberty dans votre fichier server.xml. Vous pouvez également configurer SIP en utilisant les outils de développement, qui activent automatiquement toutes les configurations dans le fichier server.xml. Pour plus d'informations, voir WebSphere Developer Tools > Developing > Developing SIP applications.
Pour des informations sur les éléments et attributs utilisables pour configurer SIP sur un serveur Liberty, consultez la documentation relative à Sip Servlet.
Procédure
- Dans le fichier server.xml, configurez le conteneur SIP en ajoutant un élément sipContainer.
Pour la liste complète des attributs et de leurs descriptions, voir Elément sipContainer.
<sipContainer invalidateSessionOnShutdown="true" msgArrivalTimeAttr="true" markInternalResponse="true"></sipContainer>
- Configurez la pile SIP en ajoutant un élément sipStack. Vous pouvez configurer le comportement, par exemple des réponses automatiques, des informations sur les messages ou de la réutilisation de connexion.
Pour la liste complète des attributs et de leurs descriptions, voir Elément sipStack.
Les temporisateurs SIP fournissent un mécanisme d'expiration de session. vous pouvez définir des valeurs pour les temporisateurs SIP qui soient différentes des valeurs par défaut spécifiées dans la norme RFC 3261 en spécifiant les attributs de temporisateur sur l'élément sipStack.<sipStack hideMessageBody="true" hideMessageReqUri="true" auto100OnInvite="false" auto482OnMergedRequests="true" forceConnectionReuse="false" acceptNonUtf8Bytes="true" pathMtu="1600" compactHeaders="API"> <commaSeparatedHeaders>Comma separated headers</commaSeparatedHeaders> <hideMessageHeaders>iup</hideMessageHeaders> <sipQuotedParameters>Require</sipQuotedParameters> </sipStack>
<sipStack timerT1="500" timerT2="4000" timerT4="5000" timerA="500" timerB="32000" timerD="32000" timerE="500" timerF="32000" timerG="500" timerH="32000" timerI="5000" timerJ="32000" timerK="5000"></sipStack>
- Configurez le routeur d'application SIP en ajoutant un élément sipApplicationRouter. Quand vous configurez un routeur d'application SIP, vous pouvez utiliser le routeur d'application par défaut (DAR)
ou créer un routeur d'application personnalisé. Le composant DAR utilise un fichier texte de configuration qui est modélisé
en tant que fichier de propriétés Java™ pour définir l'ordre dans lequel le routeur d'application
envoie les demandes SIP aux applications.
Si vous ne configurez pas de routeur d'application et déployez manuellement vos applications, les applications sont déclenchées dans l'ordre dans lequel elles ont été déployées. Si vous déployez plusieurs applications via le fichier server.xml, vous ne pouvez pas définir l'ordre des applications.
- Pour utiliser le composant DAR avec un fichier de configuration DAR, spécifiez l'emplacement du fichier de propriétés DAR
sur l'attribut sipDarConfiguration de l'élément sipApplicationRouter.
<sipApplicationRouter sipDarConfiguration="pathToDar.properties"></sipApplicationRouter>
- Pour utiliser un application personnalisée personnalisé, configurez le routeur dans le fichier server.xml :
- Ajoutez la fonction bells-1.0 au fichier server.xml.
Pour plus d'informations voir la documentation sur bells-1.0.<featureManager> <feature>bells-1.0</feature> </featureManager>
- Dans le fichier server.xml, ajoutez votre fichier JAR de routeur d'application personnalisé
en tant que bibliothèque partagée et ajoutez la configuration bells pour le service javax.servlet.sip.ar.spi.SipApplicationRouterProvider.
Pour plus d'informations sur les bibliothèques partagées, voir Bibliothèques partagées<library id="carLib" name="carLib" description="Custom App Router Library"> <file name="pathToJar.jar"></file> </library> <bell libraryRef="carLib"> <service>javax.servlet.sip.ar.spi.SipApplicationRouterProvider</service> </bell>
- Sur l'élément sipApplicationRouter, définissez l'attribut carProvider
sur le nom complet de la classe de fournisseur de routeur d'application personnalisé.
<sipApplicationRouter carProvider="example.example"></sipApplicationRouter>
- Ajoutez la fonction bells-1.0 au fichier server.xml.
<sipApplicationRouter carProvider="example.example" sipNoRouteErrorCode="403"></sipApplicationRouter>
Pour la liste complète des attributs et de leurs descriptions, voir Elément sipApplicationRouter.
- Pour utiliser le composant DAR avec un fichier de configuration DAR, spécifiez l'emplacement du fichier de propriétés DAR
sur l'attribut sipDarConfiguration de l'élément sipApplicationRouter.
- Configurez les noeuds finaux SIP en ajoutant un élément sipEndpoint. Vous pouvez configurer des ports, des hôtes et un comportement de liaison. Tout noeud final SIP que vous configurez remplace le noeud final par défaut.
Pour la liste complète des attributs et de leurs descriptions, voir Elément sipEndpoint.
<sipEndpoint host="localhost" sipTCPPort="5060" bindRetries="60" bindRetriesDelay="5000"></sipEndpoint>
Remarque : Le protocole TLS (Transport Layer Security) est désactivé par défaut. Pour activer TLS pour votre conteneur SIP, activez et configurer la communication SSL pour votre serveur Liberty. Pour plus d'informations, voir Activation de la communication SSL dans Liberty. - Configurez les performances SIP en ajoutant un élément sipTasksDispatcher. Vous pouvez configurer le nombre de tâches SIP pouvant être exécutées simultanément. Une tâche d'application SIP est une séquence de code d'application exécuté en série
sur le conteneur SIP sur une seule unité d'exécution.
Par exemple, l'implémentation d'application
d'une méthode SipServlet.doInvite() ou SipTimerListener.timeout()
est considérée comme une tâche unique si le code d'application appelé à partir de ces méthodes
est exécuté en série sur une unité d'exécution Liberty gérée qui est fournie par le conteneur.
Le nombre maximal réel de tâches SIP simultanées est limité par le nombre maximal
d'unités d'exécution Liberty gérées.
Pour la liste complète des attributs et de leurs descriptions, voir Elément sipTasksDispatcher.
<sipContainer> <sipTasksDispatcher concurrentContainerTasks="15"/> </sipContainer>
- Si vous souhaitez résoudre des URI SIP en utilisant des enregistrements
DNS (système de noms de domaine), NAPTR (Naming Authority Pointer), configurez
un programme de résolution de domaine.
- Ajoutez et configurez un élément domainResolver. Si vous configurez cet élément, les URI SIP sont résolus par DNS
dans l'adresse IP, le port et le protocole de transport du prochain tronçon à contacter.Remarque : SIP ne prend pas en charge l'utilisation des procédures DNS pour qu'un serveur puisse envoyer une réponse à un client dorsal en cas de défaillance du client principal.
Pour la liste complète des attributs et de leurs descriptions, voir Elément domainResolver.
<domainResolver dnsAutoResolve="true"> <dnsServers>dns.server.com</dnsServers> </domainResolver>
- Configurez votre serveur DNS pour une utilisation du conteneur SIP. L'exemple suivant correspond à un fichier BIND db pour la configuration
du support RFC 3263 sur un serveur DNS.
; Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") ; Copyright (C) 2001 Internet Software Consortium. ; ; Permission to use, copy, modify, and distribute this software for any ; purpose with or without fee is hereby granted, provided that the above ; copyright notice and this permission notice appear in all copies. ; ; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH ; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, ; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM ; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE ; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ; PERFORMANCE OF THIS SOFTWARE. ; $Id: include.db,v 1.2.206.1 2004/03/06 10:22:13 marka Exp $ ; Test $INCLUDE current domain name and origin semantics example.com. 43200 IN SOA ns.example.com. email.example.com. ( 2003032001 10800 3600 604800 86400 ) ; example.com. 43200 IN NS ns.example.com. ; ns.example.com. 43200 IN A 10.0.0.20 sipserver1.example.com. 43200 IN A 10.0.0.21 sipserver2.example.com. 43200 IN A 10.0.0.22 sipserver3.example.com. 43200 IN A 10.0.0.23 ; router.example.com. 43200 IN CNAME sipserver3 ; sipserver1.example.com. 43200 IN AAAA fec0:0:0:0:0:0:0:abcd sipserver2.example.com. 43200 IN AAAA fec0:0:0:0:0:0:0:abba ; _sip._udp.example.com. 43200 IN SRV 2 0 5060 sipserver1.example.com. _sip._udp.example.com. 43200 IN SRV 2 0 5060 sipserver2.example.com. _sip._tcp.example.com. 43200 IN SRV 1 4 5060 sipserver1.example.com. _sip._tcp.example.com. 43200 IN SRV 1 2 5060 sipserver2.example.com. _sips._tcp.example.com. 43200 IN SRV 0 1 5061 sipserver1.example.com. _sips._tcp.example.com. 43200 IN SRV 0 0 5061 sipserver2.example.com. ; example.com. 43200 IN NAPTR 0 0 "s" "SIPS+D2T" "" _sips._tcp.example.com. example.com. 43200 IN NAPTR 1 0 "s" "SIP+D2T" "" _sip._tcp.example.com. example.com. 43200 IN NAPTR 2 0 "s" "SIP+D2U" "" _sip._udp.example.com.
- Ajoutez et configurez un élément domainResolver. Si vous configurez cet élément, les URI SIP sont résolus par DNS
dans l'adresse IP, le port et le protocole de transport du prochain tronçon à contacter.

Nom du fichier : twlp_sip_adm.html