# Speedtest Ping and traceroute from a Mikrotik with GenieACS

**URL:** <https://forum.genieacs.com/t/speedtest-ping-and-traceroute-from-a-mikrotik-with-genieacs/3217>\
**Category:** Uncategorized\
**Created:** [November 23, 2022, 12:42am UTC](https://forum.genieacs.com/t/speedtest-ping-and-traceroute-from-a-mikrotik-with-genieacs/3217 "2022-11-23T00:42:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikro](https://avatars.discourse-cdn.com/v4/letter/m/e274bd/32.png) [@mikro](https://forum.genieacs.com/u/mikro)\
**Post date:** [November 23, 2022, 12:42am UTC](https://forum.genieacs.com/t/speedtest-ping-and-traceroute-from-a-mikrotik-with-genieacs/3217/1 "2022-11-23T00:42:19Z")

</div>

Hello, I have seen a lot of TR-069 solutions that allow you to make diagnostics with Mikrotik like speedtest traceroute ping is it possible with GenieACS and to display it in genieacs?  
Thanks in advance

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [November 23, 2022, 5:47pm UTC](https://forum.genieacs.com/t/speedtest-ping-and-traceroute-from-a-mikrotik-with-genieacs/3217/2 "2022-11-23T17:47:59Z")

</div>

What you are looking for is [TR-143](https://cwmp-data-models.broadband-forum.org/tr-143-1-0-2-dev.html). There is no built-in automated way in GenieACS to initiate/gather the results.

You can write a preset with an event of `8 DIAGNOSTICS COMPLETE` to kick off a provision script to refresh the diagnostic data. One of the problems with the TR-069/143/181/etc specs is there is no provision for the CPE to tell you what diagnostics it performed. I’ve worked around this by storing the state in a vparam in GenieACS. Then when a diag complete event is received, I check which diagnostics were initiated and refresh the appropriate tree and package up the data and send it to our subscriber management system.

All of this will require you to write code in the form of provision scripts to sort out which diagnostic was performed, and then extension scripts to send the data to a third party system (if thats your goal).

Here is the vparam I use. Its pretty basic, it stores json data.

```auto
let value;

if ("value" in args[1]) {
    // Set declared value
    value = args[1].value;
} else if ("value" in args[3]) {
    // No declared value, keep current value
    value = args[3].value;
} else {
    // No current value, use default
    value = ['{}', 'xsd:string'];
}

return {writable: true, value: value};

```

---

<div class="post-metadata">

**Author:** ![DeepBlueSea](https://avatars.discourse-cdn.com/v4/letter/d/ba9def/32.png) [@DeepBlueSea](https://forum.genieacs.com/u/DeepBlueSea)\
**Post date:** [December 16, 2023, 6:08am UTC](https://forum.genieacs.com/t/speedtest-ping-and-traceroute-from-a-mikrotik-with-genieacs/3217/3 "2023-12-16T06:08:17Z")

</div>

How to make it with private server ?
