Phone: (469) 634-4200

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.

Customize your Message Flows

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:

  • Add
  • Remove
  • Replace
  • Replace or Add
  • Container

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.

With dsClient GUI, the SmartAVP icon can be dragged and dropped into to any state that processes an incoming or outgoing message, allowing precise modification of the the AVPs in the message.


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.

In the last capture snapshot, we see that the container AVP Media-Component-Description has been added, with its contained Media-Component-Number AVP.

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.

Refer to dsTest online Help for more information on SmartAVP.

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

Read more about dsTest.