Contents
In this sample, the following adapters are demonstrated:
-
TIBCO StreamBase® Diameter client input adapter
-
TIBCO StreamBase® Diameter client output adapter
-
TIBCO StreamBase® Diameter client controller adapter
-
TIBCO StreamBase® Diameter server input adapter
-
TIBCO StreamBase® Diameter server output adapter
-
TIBCO StreamBase® Diameter server controller adapter
The Diameter protocol is an authentication, authorization, and accounting protocol for computer networks that evolved from and replaces the RADIUS protocol that preceded it.
The Diameter adapters are used to communicate with other Diameter-enabled applications over a TCP or SCTP connection. The adapters follow the RFC 6733 specification.
This sample includes a server and client version of the adapters and when started, the client automatically connects to the server and sends a CER (Capabilities-Exchange-Request) message, which the server processes and returns a CEA (Capabilities-Exchange-Answer) message. The device watchdog messages are automatically handled and are sent between the adapters when no messages were sent for a configured period of time.
This demo also shows how you can create a new Diameter message type by updating the dictionary and creating the EventFlow
to do so. The TestDictionary.json
file contains a demo message set up with a demo vendor and application. This message is then used in the EventFlow; the client
sends a request and the server returns an answer. The message sends a simple list of strings in field, DemoField1, and a simple
string in field, DemoField2.
In StreamBase Studio, import this sample with the following steps:
-
From the top-level menu, select
> . -
Enter
diam
to narrow the list of options. -
Select Diameter protocol adapters from the StreamBase Messaging Adapters category.
-
Click
.
StreamBase Studio creates a single project containing the sample files.
-
In the Project Explorer view, open the sample you just loaded.
If you see red marks on a project folder, wait a moment for the project to load its features.
If the red marks do not resolve themselves after a minute, select the project, right-click, and select Maven> from the context menu.
-
Open the
src/main/java/
folder.packageName
The
SectionedApp.sbapp
file is the upper level application that contains module references toSectionedClient.sbapp
andSectionedServer.sbapp
, which are the client and server implementations. -
Open the
SectionedApp.sbapp
file and click the Run button. This opens the SB Test/Debug perspective and starts the module. -
In the Output Streams view, observe tuples emitted on multiple output streams. Each stream corresponds to a specific Diameter message type.
-
In the Manual Input view, select the StartDemoCommandRequestDefaults that supplies default values required to send this message request.
stream, then press the button to push a tuple into the EventFlow module. You do not need to fill out any fields in the Manual Input view because the EventFlow module contains a Map operator, -
Select the tuple emitted from one of the streams, then use the triangles next to the data fields displayed to analyze and understand their structure.
-
When done, press F9 or click the Terminate EventFlow Fragment button.
When you load the sample into StreamBase Studio, Studio copies the sample project's files to your Studio workspace, which is normally part of your home directory, with full access rights.
Important
Load this sample in StreamBase Studio, and thereafter use the Studio workspace copy of the sample to run and test it, even when running from the command prompt.
Using the workspace copy of the sample avoids permission problems. The default workspace location for this sample is:
studio-workspace
/sample_adapter_embedded_diameter
See Default Installation Directories for the default location of studio-workspace
on your system.