Peer to peer between 2 UCM63xx using GDMS



Hi all!

Can someone please help me? I need to connect 2 UCM 63xx via GDMS using a peer-to-peer SIP-trunk. This is what needs to happen:

UCM “A”:
Extensions on UCM A needs to be able to call all numbers on UCM “B” (extensions, Queues, IVRs etc), using UCM B’s 3-digit numbers; 1xx, 2xx, 3xx and 4xx,
Extensions on UCM A also needs to be able to make outgoing external calls on UCM B’s SIP-trunk.

UCM “B”:
Extensions on UCM B needs to be able to call three specific numbers on UCM “A” (namely extensions 501 and 502, and Queue 670.
Extensions on UCM B must never make outgoing external calls on UCM A*s SIP-trunk.

What I have understood (?) so far:

On UCM A, I have created a VoIP trunk with the hostname (c07… Transport TLS. Keep Original CID.
From Domain

I have also created four separate outbound routes with patterns “_1xx”, “_2xx”, “_3xx” and “4xx”
And two inbound routes, one with patterns “_5xx” and the second with pattern “_670”-

On UCM B, I have created a VoIP trunk with the hostname
Transport TLS. Keep Original CID.
From Domain c07…

I have also created two separate outbound routes with patterns “_5xx” and “_670”.
And four inbound routes, with patterns “_1xx”, “_2xx”, “_3xx” and “4xx”

so they are both “mirrored”.

I cannot get it to work, so obviously I must have missed something. Can you please help? It is greatly appreciated, thank you!




Hi Damiano70,

Yes, I have followed this guide, but it doesn’t go “all the way”. It tells me how to configure the UCMs in GDMS, so far so good, but not how I make the calling in between the two UCMs work with Outbound and inbound routes.



Peter, I just also set this up between 2 UCM6302’s - one at my home lab (with external ITSP sip trunk) and one at my work lab (without external sip trunks).
Below is what I used (copied and pasted out of my OneNote that I use for how-to easy note access)

For Tandem Trunking, both UCM sites need to be connected to GDMS

For UCM VoIP trunks:
Create a new PEER Trunk in Extension/Trunk - Voip Trunks

  • Type: Peer SIP Trunk

  • Host Name: GDMS-generated address + Public TLS Port value in the Value-added Features->UCM RemoteConnect->Plan page.

EXAMPLE: Hostname:
(which is from the FAR END UCM Value-added Features - UCM RemoteConnect "UCM Public Address:Public TLS Port)

  • From Domain: UCM Public Address found in the Value-added Features->UCM RemoteConnect->Plan page of the peer UCM.

  • Transport: TLS (DEFAULT)

  • Enable Heartbeat Detection: Enabled (DEFAULT)

  • ICE Support: Enabled (DEFAULT)

Make sure you check "RemoteConnect Mode"


Took me a little while but this works quite well, but now that I’ve got it working, there’s not a lot to set, but you must check remote connect mode, and use the far end “GDMS-generated-address:remoteconnectport”.

Confirm this is a BLUE trunk on the SystemStatus-Dashboard before moving on to inbound and outbound routes.

For Routes, my recommendation is if you’re not strong on setting up dial plans, use a “trunk access code” to start with to ‘get it working’ then adjust later.
What I mean with this is for instance, set up an outbound route on PBX A to be accessable with 81-XXXX where the route will delete 2 and send the rest (then you test by dialing 81xxxx).

On the far end, set up inbound to just receive xxxx as DID with access to extensions.
Give that a try and see where you get.



read good and find everything



Dear Marty,

Many thanks for your kind attempt to assist me! :slight_smile:

I have the two UCMs up and connected as per your instruction, and their respective Dashboards show a “blue light”.

But for the rest…

When you write “use a trunk access code”, do you refer to the PIN-code in the outbound route? It’s getting the calls between the two UCMs that I cannot seem to understand how to setup.



Hey Peter, you’re 3/4 of the way there. “Blue Light” means the systems see each other and calls between them is possible. Now you just have to set up Inbound and Outbound routes on both sides to direct the right calls over that trunk link.

On old systems, we used to set up a “trunk access code” to access that trunk for outgoing calls. Dial 9 to get out was really common. When a user dialed 9 - the system was programmed to connect that phone to that group of outside lines. This is similar in the Grandstream; Outbound routes is now what is used to direct a call to that connection.

So on Site A, to make an outgoing call from Site A to Site B, You set an outbound route on A and a corresponding Inbound route on Site B.
Site A - Outbound route could look like this:

On the picture (my site A) I chose to set up 81 as the “Access Code” to use the trunk to ESCdemoUCM (my site B)
This will easily tell the system to route a call that starts with 81- and has 4 digits after: Take this call and route it over SipTrunk ESCdemoUCM, delete the 81, and send the last 4 digits to the system on the other end of this connection.

On the Site B, you set up an Inbound Route to match, so it will expect to see 4 digits, and match that to an extension:

Incoming on the trunk will look for 4 digits, and send the DID “by DID” then allowed DID destinations are Extensions and IVR (so i could technically call the “Welcome” IVR i set up to confirm the far end answers without someone having to actually pick up the handset and talk to me).
Hope that makes sense for you…


Hi Marty,
Thanks to your excellent guidance I not only managed to make calls between the two UCMs but also getting the Dial patterns right. Many thanks!

Now, I only need help with how extensions on UCM A may make external calls using UCM B’s SIP-trunk. Any idea?

All the best,