Today I successfully made a trunk between our public Elastix VOIP PBX and a Yeastar MyPBX U100 server at a customer location.

Our public server is at, and the customer’s PBX is at  Connectivity between sites is managed via SmartRouter L2TP VPN connections.  On the customer side, there is a route saying lives on the VPN, not across the public internet.  This allows full intercommunication between servers without any NAT, which is imperative.

That all said, here are my settings — On the Yeastar MyPBX side:

MyPBX Trunk


And then the Elastix side:

Elastix Trunk


Note this is all being done without any username or password.  This is because EACH SIDE trusts the IP address of the other.  This technique could not be used securely with a dynamic IP address on either side.

Now that the trunk is there, I need to set up routing.  I’m going to have each side have a prefix to route calls to extensions on the other side.  In my case, users of the Elastix public server can dial 132 + any 3-digit extension on the MyPBX.  Putting the “132” in the “prefix” box instructs Elastix to strip the 132 off the number before sending it to the trunk.  This makes MyPBX just see an extension number when it rings in, which is exactly what I want.

Elastix Route



And, this wasn’t really necessary, but I figured I’d let the users of the MyPBX system call users off the public server while I was at it.  In this case, I’m going to have them dial 555 + any four digit extension for users off the Elastix server:

MyPBX Route


And that’s it!  Everything works perfectly.  Now I have more MyPBX servers to set up.  🙂