Hosting mit mehreren Netzen konfigurieren

Der SIP-Container kann vom SIP-Proxy eine Liste abgehender Schnittstellen akzeptieren und diese dann für jede SIP-Anwendung verfügbar machen.

Vorbereitende Schritte

Das Hosting mit mehreren Netzen wird auf dem WebSphere-SIP-Proxy konfiguriert, nachdem die Umgebung mit mehreren Netzen eingerichtet wurde. Diese Topologie erfordert unter Umständen das Konfigurieren mehrerer Netze (Router, Switches usw.), mehrerer Programme für den Lastausgleich (sofern für jede virtuelle IP-Adresse mehr als ein Proxy-Server konfiguriert werden muss) und mehrerer Netzkarten in jedem der verfügbaren Proxy-Server. Konfigurieren Sie nach der Installation der Netzkarten und der Konfiguration der Loopback-Adressen in jedem SIP-Proxy für jede verfügbare Netzschnittstelle eine gesonderte SIP-Proxy-Kanalkette.
Achtung: Sie können nur den SIP-Proxy-Server für die Unterstützung mehrerer Schnittstellen konfigurieren. Der SIP-Container unterstützt diese Funktionalität nicht.

Informationen zu diesem Vorgang

Das Multihoming erlaubt die Kommunikation einer Anwendung mit verschiedenen Benutzeragentenclients und Benutzeragentenservern in unterschiedlichen Netzen.

Die Anwendung fragt den SIP-Container ab, um mit den von JSR 289 definierten Standardverfahren die Liste verfügbarer abgehender Schnittstellen zu erhalten. Zu diesem Zweck wird ein Kontextattribut verwendet, das vom Container (über den Protokollaustausch mit allen verfügbaren SIP-Proxys) verwaltet wird. Es handelt sich um javax.servlet.sip.SipServlet.OUTBOUND_INTERFACES, das als javax.servlet.sip.outboundInterfaces definiert ist. Dieses Attribut enthält alle verfügbaren Schnittstellen. Der Code im Beispielabschnitt veranschaulicht den Zugriff auf das Attribut von der Anwendung aus.

Führen Sie nach dem Konfigurieren der Schnittstellen für jeden SIP-Proxy die folgenden Schritte aus, um das Routing abgehender Nachrichten zu steuern. Falls Sie mehr als einen Proxy verwenden, müssen alle Proxys identisch konfiguriert sein.

Wenn eine Anwendung für das Senden abgehender Anforderungen keine Schnittstelle angibt, verwendet der Proxy die Standardschnittstellen. Sie sollten die Standardschnittstellen für jedes Protokoll definieren. Weitere Informationen finden Sie in Schritt 5.

Der Administrator kann bei Bedarf drei angepasste Eigenschaften für den SIP-Proxy festlegen, die den Kettennamen definieren, über den bestimmt wird, welche Schnittstelle verwendet werden soll, wenn die SIP-Anwendung nicht die Methode setOutboundInterface aufruft. Falls diese angepassten Eigenschaften nicht definiert sind und die Methode setOutboundInterface nicht verwendet wird, kann die für abgehende abgehende Anforderungen zu verwendende Schnittstelle nicht definitiv bestimmt werden.

Die folgende Vorgehensweise bezieht sich auf eine Topologie mit einem für das Hosting mit mehreren Netzen und mit mehr als einer Netzschnittstelle konfigurierten Proxy.

Vorgehensweise

  1. Erweitern Sie in der Administrationskonsole die Anzeige für Server > Servertypen und klicken Sie auf WebSphere-Proxy-Server > Proxy-Name.
  2. Erweitern Sie unter Proxy-Einstellungen die Anzeige für Einstellungen für SIP-Proxy-Server und klicken Sie auf Transporte für SIP-Proxy-Server.
  3. Löschen Sie in der Anzeige "Transportkette" die vorhandenen Transportketten, die Proxy-Hostnamen mit einem Stern (*) enthalten.
  4. Fügen Sie neue Transportkettennamen hinzu und geben Sie für die Schnittstelle, die von der Kette verwendet werden soll, die zugeordnete IP-Adresse oder den zugeordneten Hostnamen an. Proxykonfigurationen für mehrere Netze erfordern für jede Proxy-Schnittstelle einen konfigurierten Transport. Wenn Sie Proxy-Server mit einem Programm für den Lastausgleich verwenden, müssen Sie sicherstellen, dass neben dem gewünschten Transporttyp für SIP-Datenverkehr ein Transport für TCP vorhanden ist. Angenommen, ein Proxy-Server verwendet zwei Schnittstellen. In dem Fall währen mindestens sechs Proxy-Transportketten erforderlich. Für jede Proxy-Schnittstelle wird eine UDP-Transportkette (2) mit der IP-Aliasadresse des Load-Balancer-Clusters, eine TCP-Transportkette (2) und eine spezielle Transportkette (2) mit dem gewünschten Protokoll (UDP, TLS usw.) für den SIP-Datenverkehr konfiguriert.
    1. Klicken Sie in der Anzeige "Transportkette" auf Neu. Der Assistent "Neue Transportkette erstellen" wird initialisiert. Fügen Sie im Rahmen der Erstellung der Transportkette einen eindeutigen Transportkettennamen hinzu und wählen Sie im Menü "Schablone für Transportkette" die Proxy-Protokollschablone (UDP, TCP oder Secure) aus.
    2. Klicken Sie auf Weiter.
    3. Wählen Sie die Option Vorhandenen Port verwenden oder Neuen Port erstellen aus. Geben Sie für einen neuen Port den Portnamen, den Hostnamen und die Portnummer an. Geben Sie für den Host die IP-Adresse oder den jeweiligen Hostnamen an. Verwenden Sie für die Angabe des Hostwertes keinen Stern (*).
    4. Klicken Sie für Schritt 2 auf Weiter.
    5. Prüfen Sie für Schritt 3 die Zusammenfassung der Aktionen und klicken Sie auf Fertig stellen.
    6. Klicken Sie auf Speichern, um die Änderungen in der Masterkonfiguration zu speichern und ggf. erneut mit den Knoten zu synchronisieren.
  5. Geben Sie den Namen der Standardkette für den Proxy-Server an. In der Anzeige "SIP-Proxy-Einstellungen" können angepasste Eigenschaften konfiguriert werden, um für jedes Protokoll die passende Standardschnittstelle anzugeben. Über diese Schnittstellen werden abgehende Anforderungen gesendet, wenn eine Anwendung keine zu verwendende Schnittstelle angibt.
    1. Erweitern Sie in der Administrationskonsole die Anzeige für Server > Servertypen und klicken Sie auf WebSphere-Proxy-Server > Proxy-Name.
    2. Erweitern Sie unter Proxy-Einstellungen die Anzeige für Einstellungen für SIP-Proxy-Server und klicken Sie auf SIP-Proxy-Einstellungen > Angepasste Eigenschaften.
    3. Geben Sie den zuvor in Schritt 4 konfigurierten Kettennamen ein (nicht die Schnittstelle oder den Hostnamen), um den Transportabschnitt der SIP-Proxy-Einstellungen zu konfigurieren. Für jeden Transporttyp gibt es eine angepasste Eigenschaft.
    Name der angepassten Eigenschaft Beschreibung
    defaultUDPChainName Standardname der UDP-Kette, die verwendet werden soll, wenn setOutboundInterface nicht aufgerufen wird.
    defaultTCPChainName Standardname der TCP-Kette, die verwendet werden soll, wenn setOutboundInterface nicht aufgerufen wird.
    defaultTLSChainName Standardname der TLS-Kette, die verwendet werden soll, wenn setOutboundInterface nicht aufgerufen wird.
  6. Stoppen Sie den Proxy-Server und starten Sie ihn erneut.

Ergebnisse

Sie haben das SIP-Hosting mit mehreren Netzen erfolgreich konfiguriert. Ihre Anwendungen können jetzt abgehende SIP-Anforderungen über mehr als eine abgehende Schnittstelle weiterleiten.

Beispiel

Der folgende Beispielcode zeigt, wie die verfügbaren abgehenden Schnittstellen angefordert werden und für das Sitzungsobjekt die passende abgehende Schnittstelle festgelegt wird.
....
import javax.servlet.sip.SipServlet;
import javax.servlet.sip.SipSession;
....

protected void doInvite(SipServletRequest req1) throws ServletException, IOException
{
	...
		//	Dieser Codeblock legt die Einstellungen der abgehenden Schnittstelle fest.
        		SipSession sipSession = req1.getSession();
		javax.servlet.ServletContext  context = getServletContext();
		java.util.List list = (java.util.List)context.getAttribute(javax.servlet.sip.SipServlet.
OUTBOUND_INTERFACES);
		SipURI uri = getProtocolInterface ("udp", list);

	if (uri != null)
	{
				InetSocketAddress inetSocketAddr = new InetSocketAddress(uri.getHost(), uri.getPort());
				sipSession .setOutboundInterface(inetSocketAddr);
	}
	...
}

// Diese Methode wählt einfach die erste Schnittstelle in der Liste für das angegebene Protokoll aus.
private SipURI getProtocolInterface(String transport, List outboundInterfaceList)
{
		SipURI uri = null;
		Iterator iterator = outboundInterfaceList.iterator();
		
	while (iterator.hasNext()) {
				SipURI tempUri = (SipURI)iterator.next();
			
				if (tempUri.getTransportParam().equals(transport) == true)
		{
						uri = tempUri;
			break;
		}
	}
		
		return (uri);
}

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tcea_multihome_cfg
Dateiname:tcea_multihome_cfg.html