Developing Solutions’ SmartAVP (SmartMessageElement) feature allows you to manipulate any Attribute Value Pair (AVP) or Information Element (IE) in any message processed by a SmartEvents state machine. With SmartAVP, you have control over the addition, removal, and modification of the AVPs/IEs in messages, with the ability to position the modified AVP/IE in the message as desired. SmartAVP supports our Diameter, RADIUS, MAP/CAP, GTP, LDAP, ReST, and SOAP interface applications.
With SmartAVP, you can define optional, proprietary or vendor specific signaling information or introduction of corrupt or invalid AVPs/IEs to facilitate negative testing. SmartAVP allows precise control of AVPs/IEs within any message exchange.
SmartAVP supports container, grouped, and nested AVPs/IEs, and allows AVPs/IEs to be inserted, deleted, or replaced in messages in real-time.
In the case of adding or removing AVPs in container/grouped AVPs, dsTest requires the entire container AVP be specified in the SmartAVP down to the level of the AVP that is to be added or removed.
The following actions are available for modifying a message with SmartAVP:
- Replace or Add
Example Use Cases
The following use cases show how to use dsClient GUI to modify the AVPs in a Diameter Gx and Rx message flow. SmartAVP may also be used with dsTest XML configurations, but dsClient GUI provides a graphical tool that allows easy modification of message content, as well as your entire test scenario configuration.
These specific cases show:
- The addition of an AVP in the Gx CCR-I;
- The removal of an AVP in the Gx CCR-I;
- The addition of a container AVP in the Rx AAR.
As shown in the SmartEvents state machine diagrams to the left, the Gx CCR-I will be modified when sent from the ‘Idle’ state. We see that the Gx CCR-I has two instances of SmartAVPs. The first inserts the 3GPP-User-Location-Info AVP, and the second removes the Event-Report-Indication AVP. The 3GPP-User-Location-Info (22) AVP will be added, and the Event-Report-Indication (1033) AVP will be removed.
Later in the message flow, in state ‘Send_Rx_Auth’, the Rx AAR message will be modified to add the container AVP Media-Component-Description (517), which will contain one Media-Component-Number (518) AVP. When the subscriber enters the ‘Send_Rx_Auth’ state, the Rx AAR message will be modified to contain the Media-Component-Description AVP. See the GUI snapshot to the right.
When inserting SmartAVPs, the data for the AVP can be entered in several formats, including hex, Ascii, and dynamic. For container SmartAVPs, such as the Media-Component-Description (517) AVP above, the AVP data is designated as an “AVP Definition”. Multiple instances of SmartAVPs can be used in each state, so that, for example, AVPs in the message can first be totally removed then replaced by an alternate AVP.
If a message trace is captured for a subscriber going through the SmartEvents state machine, the message can be inspected to see that the desired AVP modification has taken place. See the Wireshark™ snapshots to the right. In the first snapshot, we can see that the Event-Report-Indication AVP does not appear, and that the 3GPP-User-Location-Info AVP has been added to the end of the CCR-I, as specified in the state machine configuration.
These cases are just a few examples of how SmartAVP can be used to modify your configured message flow. See SmartAVP help for more information on using the SmartAVP feature, or contact Developing Solutions Support for more details about how to use SmartAVP with any of our Diameter, RADIUS, MAP/CAP, GTP, LDAP, ReST, and SOAP applications.
Other dsTest Features Available
Developing Solutions’ SmartEvents feature allows you to build simple to sophisticated state machines to control, monitor, and validate your message flows.
For functional and/or compliance testing, the dsTest Diameter Dictionary can be used to validate message definitions, and can be configured to verify functional compliance to all supported specifications. User-defined dictionaries can also be deployed to further aid functional testing, and can be self-contained, or used in conjunction with the dsTest Diameter dictionary in a hierarchical fashion.
Copy/Paste buffer contents from/to inbound/outbound messages and SmartAVPs with SmartBuffers.
Read about our other Advanced Diameter Testing Features.
General Reference Guides
- Diameter Dictionary
- Diameter Result Codes
- RADIUS Dictionary
- S1 Dictionary
- GTP Cause Codes
- GTPCv1 Dictionary
- GTPCv2 Dictionary
- MAP Dictionary
- M3 Dictionary
- SIP Response Codes
- dsTest Specification Map