If you are familiar with the Grandstream UCM VOIP PBX, you know the value of the Zero Configuration service. if not, Zero Configuration service allows you to create profiles that are common to all phones, certain models of phones or only certain phones on your network. These profiles can do things like push configuration changes, push software upgrades, or set new names or extensions on the extension modules or “sidecars” as we call them. You can, of course, manage each phone individually through a web browser interface but this method does not scale well.
Here is an example of how we use Zero Config in our phone network.
- Globally, we set the time zone and the Screen Saver/Background on all phones and rotate them as banners as a message board system. We also set the path for firmware upgrades for all new phones.
- We use a Model Template to configure the Speed Dial buttons on one model of phone and set the names and extensions on other models that have the auxiliary boards.
- Adding a new phone is simple for us, plug it in, wait for it to appear in Zero Config, assign an extension, push the changes and that phone is now configured and provisioned.
There are many more capabilities for Zero Config that you can take advantage of but these are a few that I like a lot.
Now, all of this works well in a LAN environment but how can you easily do Zero Configuration with Remote Phones when you have users working from home across the internet? Easy, MikroTik and RouterOS. Here is our example:
To make Grandstream Zero Configuration work, we need to get the remote phone and the office LAN on the same Layer2 segment., Obviously, this is the job of a VPN protocol, but I wanted to make it as easy and simple as possible, hence fewer issues down the road. I also did not want all the remote LAN traffic to traverse the tunnel and MikroTik L2TP + BCP makes it really easy.
There was one trick that threw me off, and I want to make sure you take notice. I am telling you this up front for those of you searching to see why a bridged L2TP tunnel BCP is not passing DHCP, do not address the tunnel. That means, no remote or local address on the server end of the L2TP server. It is not needed (that itself surprised me) and in fact, it breaks DHCP for some reason. Also, the MTU, MRU settings must be exactly as shown or bridging will not work. Again, this caused me a lot of heartache until I figured it out.
Here is the configuration we want to create:
In summary, port Ether5 on the remote router is bridged to the L2TP tunnel on the remote end and on the Office end, the L2TP tunnel is bridged to the port that connects to the office LAN switch. The net result is that the remote phone pulls an IP address from the UCM which is running DHCP server and the remote phone appears on the same Layer 2 segment as the UCM so it can be used with Zero Configuration. Here is how you set that up in RouterOS. I assume basic connectivity is in place at both ends and we are only building the tunnel and the bridges. Here is how my network looks in my Dude Server:
Remote End Configuration:
Each remote device has 2 L2TP interfaces, one for managing the router and one for the VOIP.
First, create the profile because that is where the bridging takes place. Here is that PPP profile:
Next, create the L2TP Client. Notice the MTU, MRU, MRRU settings and set as shown because they are critical for bridging to work:
Finally, here are the bridge settings. Notice the Max MTU, MRU, etc in the red box. These must be set to these values or bridging will not work:
Server End Configuration:
First, create the Bridged profile:
Next, enable the L2TP server and again, the MTU, MRU, MRRU settings are important, set as shown. Use the profile just created:
Finally, create the bridge and on the Ports tab add the ethernet port connected to the office LAN or switch. The L2TP interfaces will be added automatically when these users connect.
Once this is done, your remote phone, plugged into ether4 pulls an IP from the UCM DHCP Server on the office LAN and is configurable using Grandstream Zero Configuration.