Administración de Session Initiation Protocol (SIP) en Liberty
Puede configurar SIP en Liberty añadiendo y configurando elementos en el archivo server.xml.
Antes de empezar
Instale la característica sipServlet-1.1 en el servidor Liberty. Para obtener más información, consulte Adición y eliminación de características de Liberty.
Acerca de esta tarea
Esta tarea describe cómo configurar manualmente SIP para Liberty en el archivo server.xml. De forma alternativa, puede configurar SIP utilizando las herramientas de desarrollador que habilitan automáticamente todas las configuraciones en el archivo server.xml. Para obtener más información, consulte WebSphere Developer Tools > Desarrollo > Desarrollo de aplicaciones SIP.
Si desea información sobre los elementos y atributos que puede utilizar para configurar SIP en Liberty, consulte la documentación para SipServlet-1.1.
Procedimiento
- En el archivo server.xml, configure el
contenedor SIP añadiendo un elemento sipContainer.
Si desea una lista completa de atributos y sus descripciones, consulte Elemento sipContainer.
<sipContainer invalidateSessionOnShutdown="true" msgArrivalTimeAttr="true" markInternalResponse="true"></sipContainer>
- Configure la pila SIP añadiendo un elemento
sipStack. Puede configurar el comportamiento como respuestas automáticas,
información de mensaje y reutilización de conexión.
Si desea una lista completa de atributos y sus descripciones, consulte Elemento sipStack.
Los temporizadores SIP proporcionan un mecanismo para la caducidad de sesión. Puede establecer valores para los temporizadores SIP que son diferentes de los valores predeterminados especificados en RFC 3261 especificando los atributos de temporizador en el elemento 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>
- Configure el direccionador de aplicaciones SIP añadiendo un
elemento sipApplicationRouter. Cuando configure un direccionador de aplicaciones SIP, puede
utilizar el direccionador de aplicaciones predeterminado (DAR) o crear
una direccionador de aplicaciones personalizado. El componente DAR
utiliza un archivo de texto de configuración que se modela como un
archivo de propiedades Java™
para definir el orden en el cual el direcccionador de aplicaciones envía solicitudes SIP a aplicaciones.
Si no configura un direccionador de aplicaciones y despliega manualmente las aplicaciones, las aplicaciones se desencadenan en el orden en el que se han desplegado las aplicaciones. Si despliega varias aplicaciones a través del archivo server.xml, no puede definir el orden de la aplicación.
- Para utilizar el componente DAR con un archivo de
configuración DAR, especifique la ubicación del archivo .properties
de DAR en el atributo sipDarConfiguration del
elemento sipApplicationRouter.
<sipApplicationRouter sipDarConfiguration="pathToDar.properties"></sipApplicationRouter>
- Para utilizar un direccionador de aplicaciones personalizado,
configure el direccionador en el archivo
server.xml:
- Añada la característica bells-1.0 al
archivo server.xml.
Si desea más información, consulte la documentación para bells-1.0.<featureManager> <feature>bells-1.0</feature> </featureManager>
- En el archivo server.xml, añada el archivo
JAR del direccionador de aplicaciones personalizado como una
biblioteca compartida y añada la configuración de bell para el
servicio javax.servlet.sip.ar.spi.SipApplicationRouterProvider.
Si desea más información sobre bibliotecas compartidas, consulte Liberty: Bibliotecas compartidas<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>
- En el elemento sipApplicationRouter, establezca
el atributo carProvider en el nombre completo
de la clase del proveedor de direccionador de aplicaciones
personalizado.
<sipApplicationRouter carProvider="example.example"></sipApplicationRouter>
- Añada la característica bells-1.0 al
archivo server.xml.
<sipApplicationRouter carProvider="example.example" sipNoRouteErrorCode="403"></sipApplicationRouter>
Si desea una lista completa de atributos y sus descripciones, consulte Elemento sipApplicationRouter.
- Para utilizar el componente DAR con un archivo de
configuración DAR, especifique la ubicación del archivo .properties
de DAR en el atributo sipDarConfiguration del
elemento sipApplicationRouter.
- Configure los puntos finales SIP añadiendo un elemento
sipEndpoint. Puede configurar puertos personalizados, hosts y el
comportamiento de enlace.
Cualquier punto final SIP que configura altera temporalmente el punto
final predeterminado.
Si desea una lista completa de atributos y sus descripciones, consulte Elemento sipEndpoint
.<sipEndpoint host="localhost" sipTCPPort="5060" bindRetries="60" bindRetriesDelay="5000"></sipEndpoint>
Nota: La seguridad de la capa de transporte (TLS) está inhabilita de forma predeterminada. Para habilitar la TLS para el contenedor SIP, habilite y configure la comunicación de SSL para el servidor Liberty. Para obtener más información, consulte Habilitación de la comunicación SSL en Liberty. - Configure el rendimiento de SIP añadiendo un elemento
sipTasksDispatcher. Puede configurar el número de tareas SIP que se pueden
ejecutar simultáneamente.
Una tarea de aplicación SIP es una secuencia de código de aplicación
que se ejecuta en serie en el contenedor SIP en una sola hebra. Por
ejemplo, la implementación de la aplicación de un método
SipServlet.doInvite() o un método
SipTimerListener.timeout() se considera cada
una como una sola tarea, si el código de aplicación que se llama
desde estos métodos se ejecuta en serie en una hebra Liberty
gestionada que proporciona el contenedor. El número máximo real de
tareas SIP concurrentes está limitado por el número máximo de hebras
Liberty gestionadas.
Si desea una lista completa de atributos y sus descripciones, consulte Elemento sipTasksDispatcher.
<sipContainer> <sipTasksDispatcher concurrentContainerTasks="15"/> </sipContainer>
- Si desea resolver URI de SIP utilizando los registros de
NAPTR (Naming
Authority Pointer) del Sistema de nombres de dominio (DNS), configure
un programa de resolución de dominios.
- Añada y configure un elemento domainResolver. Si configura este elemento, los URI de SIP se resuelven a
través del DNS en la dirección IP, puerto y protocolo de transporte
del siguiente salto de contacto.
Nota: SIP no soporta el uso de procedimientos de DNS para que un servidor envíe una respuesta a un cliente de copia de seguridad, si el cliente principal falla.
Si desea una lista completa de atributos y sus descripciones, consulte Elemento domainResolver.
<domainResolver dnsAutoResolve="true"> <dnsServers>dns.server.com</dnsServers> </domainResolver>
- Configure el servidor DNS para que funcione con el
contenedor SIP. El ejemplo siguiente es un archivo BIND db para configurar
el soporte RFC 3263 en un servidor 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.
- Añada y configure un elemento domainResolver. Si configura este elemento, los URI de SIP se resuelven a
través del DNS en la dirección IP, puerto y protocolo de transporte
del siguiente salto de contacto.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_sip_adm
Nombre de archivo:twlp_sip_adm.html