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> .
to narrow the list of options.
Select Diameter protocol adapters from the StreamBase Messaging Adapters category.
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.
SectionedApp.sbappfile is the upper level application that contains module references to
SectionedServer.sbapp, which are the client and server implementations.
SectionedApp.sbappfile 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.
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:
See Default Installation Directories for the default location of
studio-workspace on your system.