I’m switching from Cisco Unified Call Manager and moving over to FreePBX. We have multiple physical locations that will need to be switched and we don’t want any downtime if possible. Is it possible to set it up so that 1: FreePBX sends external calls out of our CUCM system and can receive inbound calls through CUCM from external numbers. 2: Make it so internal calling using extensions works between the two systems for example I can dial 5086 on my FreePBX system and it will go to the Cisco phone with 5086 and if I dial 5087 on the Cisco it will go to the FreePBX phone with 5087.
Any help on this is appreciated and I understand if this isn’t possible as this is a bit of a hackey method to do things that most people wouldn’t do I imagine.
You would need to create a two-way SIP trunk between the UCM and FreePBX. Sending the calls from FreePBX to the UCM is not particularly difficult once you have the trunking working. It can be tricky if the UCM does not think the call coming from FreePBX is an internal call. Making trunk (FreePBX to UCM) to trunk (UCM to PSTN) calls has special challenges with the UCM.
As to routing inbound calls to the correct location, it can get complicated in the UCM and that knowledge is not in my wheelhouse. It is possible and I have seen it done but it takes manually steering the inbound call for each DID coming to the UCM down the trunk to the FreePBX system. It would likely require digit manipulation (stripping, etc.) on both ends to make it all work.
Short answer is, yes you can do it but you need someone who is knowledgeable on the UCM side to assist someone who is knowledgable on the FreePBX side.
In my experience with a number of PBX systems, it is often preferable to go ahead and set everything up on the new system. Have new trunking installed into the FreePBX system and do a flash cut. This is only effective if the number of phones to be cutover is manageable with your personnel or the help of an outside vendor.
In a larger system, you can move DIDs from the UCM trunks to the new FreePBX trunks and do cuts in phases and cut those extensions over to the FreePBX system. You would still provide something like a steering digit (“8” for example) on each system to dial an extension on the other system. When all locations and extensions are on the new PBX, you just shut down the UCM and pull the plug.
I did this exact thing to get us IP phones in the middle of a field during a remote sale using a wireless uplink to the internet. Remember being up until 3 am with a few adult beverages before I got it working one night & unfortunately don’t remember a whole lot about it. It was long ago in the days before FreePBX was known as such, so the knowledge would be of very limited use for you. (I’m thinking 2005-2006ish.) Our CUCM has been gone for over 6 years now, so I can’t even look at it.
Remember the first call I made with that system was to my buddy at work - left him a voice mail “It’s aliiiiive… ALIIIIIIIIVVVVVEEEEE muahahahahahaaaaaaa!!!” and hung up.
Going back to the adding a steering digit do you have any advice for configuring it on the UCM side? I got the calling working from our FreePBX phones into our Cisco system but only get a busy tone when trying to call from Cisco to FreePBX.
You have to make sure the Cisco end of the trunk is administered as Internal. Beyond that, I was a UCM user but not an admin so I can’t offer much help. If the UCM is sending the streering digit plus the extension to the FreePBX, you need to use the FreePBX inbound route to send to a custom destination to strip off the steering digit. Drop into the FreePBX console mode and see what the log says as the call comes in from the Cisco. You’ll be able to see the number it’s sending you.
I also think you have to put a route in the Cisco so if it sees something like 85901 that it knows to route it to the FreePBX trunk. Its possible the Cisco can strip out the leading 8, but you’ll have to consult someone who does CUCM programming.