Help with flow workings

Sorry folks, but this is today's problem:
(I have to ask or I won't work it out myself.)

For the sake of simplicity I'll use these two IP addresses.
1 -
2 -

1 - This is a land line. DSL - if you will.
2 - Is the fall back 4G link.

If the payload is (or more so starts with) a 1. I need to change it.
But it isn't that simple.

Here's what the scheme is:

(Given this is previously set at this point in time)
Ping my public IP address.
If it pings, all good.
If it doesn't ping:
Try to get public IP address.
Once got, set that as the ping address. This isn't a real IP address.
Then, that IP address will go down.
Once that goes down, repeat.

It doesn't seem to work as I have it now... Too complicated to post here.
It is over many flows and so on.
Yes, probably part of the problem.

I'm not exactly sure how the hand back works.

So when the DSL goes down, that IP address is pinged over and over. As it fails it sends a DOWN signal to code which asks for an updated IP address.
Once that is received, that address is pinged.

As it is a 4G address, once the DSL comes back up, the modem switched back and the process should repeat as it did when the DSL went down.

But it doesn't seem to work.

Can anyone make sense of what I have just said?
I'll try to get a better handle on what is happening myself.

Thanks in advance.

What is the end purpose of this?

It is to detect if the DSL link/line is up/down.

Ok, progress has been made!

I can't ping my 4G IP address.

So I need a way to change the payload if the IP address is 1.x to something else.

I guess that isn't rocket science.

But I guess the question (now) is I can't use a switch node and have it to do:
if msg.payload STARTS-WITH........

The put the 1. and send that to set the payload to something else.

But then, there is the problem of detecting the DSL IP address coming back online.


Alas it isn't that easy.

I can't ping that 1.x IP address. So it is a whole different problem now.


You don't need to ping the 4G address to know if the DSL is up. Just ping the DSL address and that tells you.

Yes, I got that.

But the logic (which I have only now got working) is this:

Get public_IP
Ping it.
If it can't be pinged, (delay) get public_IP (Loop back to line 1)
Set context of the IP.
Ping the IP. (Loop back to line 2)

What was killing me was I had a RBE in there.

Took out the RBE and it now works.


To further elaborate:
When the can't be pinged happens, indicate this.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.