Need help with a specific setup, not sure if possible

I am wondering if it’s possible to do what I am looking to achieve. There are 2 Asterisk PBX’s, one in “Location A” and the other in “Location B”. I have full control over Location B, I have no control over Location A.

-Access to location A is only available via OpenVPN.
-Only a single client can connect to this OpenVPN at a time.
-A Linux machine has been setup at location B to connect to the OpenVPN, it can ping the PBX at location A.
-This Linux machine has two interfaces, “eth0” and “tun0”. Eth0 is the local (location B) network, “tun0” is the OpenVPN (Location A) network.
-I would like this machine will act as a proxy to the PBX at location A.
-An SIP extension is setup at the PBX at location A.
-I would like the PBX at location B to connect to that extension as a trunk so that I can make and receive phone calls to the users at PBX A

To illustrate:

PBX A <---> <----tun0----> PROXY <----eth0----> <----> PBX B

How do I configure a setup like this? Is it possible? What do I need? Would something like siproxd help?