FreePBX High Availability/Upgrade Questions

Hello All,
I am a pbx noob. I currently have 3 clusters that require upgrades. They are all running pbx version 12. One cluster has centOS 2.210.62-6 and the other two have 6.12.65-27.

These each have their own physical server. My first question that I have, is how can I confirm the HA setup?

I believe we will be upgrading to pbx version 15. I am looking, and the most recent post I can find on this, is from June '19 saying that HA is not supported in version 15 yet. Has this been added, or is the “warm spare” route the way to go?

As far as the upgrade process, we will be building out a new vm on version 15, and importing the old config to the new vm. From what I have seen, going from version 12 to 15 is a major upgrade, and it is recommended to create a fresh new machine, and import config.

I also attempt to run the fwconsole commands, but none of them are working. Do these not work in pbx version 12? Any help would be greatly appreciated, thank you. Please let me know if there is anything else you would need to know to help answer my questions. Thank you.

There is a new commercial module in Freepbx 15 that replaces the old High availability module:

The upgrade path I’d recommend is 12 to 13, to 14, 15 then (optionally) 16. You can search for 12 to 13 upgrade tool and 13 to 14 and so on. Huge PITA when you have to migrate old setups instead of new build and switch, but hey lol it’s what they pay us for.

This is way more work than necessary, and there is no version 16.

The supported way of migrating settings from older versions is to use the new legacy restore option in version 15 which allows you to restore a backup made in versions older than 15.
https://wiki.freepbx.org/pages/viewpage.action?pageId=114852215

Thank you all for the help and replies. We have decided to build new vms with the pbx15 and do the legacy backup & restore.

I have another question. I would like to know how the old HA is working. In our production setup right now, the old versions of pbx running pbx12 are in “HA”. One is labeled primary, one is labeled backup. How exactly does the HA work? We have the pbx with a private and public interface. The private interface of the backup machine is disabled. So if the primary were to go down, we would need to open the private interface on the backup, for calls to start going through. This is not true HA, as you have to manually go in and open the second PBX. Where can I look to find the HA configuration, if they are even in HA at all.

Any help would be greatly appreciated. I have upgraded our system, and now phones are down, I can not get any calls going. Phones say Error: Line Registered, and URL calling is disabled. There is a busy signal when attempting to make any calls. It seems that many phones have the same ip address.

The upgrade went from pbx installed on two dell servers in a semi/broken ha setup, to a new install of pbx 15 on a vm on an esxi host. The vm got the config from a legacy restore. I am not sure what other modules need to be installed to get things going. I understand this may not be as detailed as you would like. If you can guide me, I will get you whatever info you need to assist with this.

On my current system, the only successful call I can make, is to one number. This inbound route is attached to a ring group. When I am in the asterisk console with -vvv, I can see what extension picks up the line. This extension is attached to the same endpoint that another inbound route is attached to. When I call one number, I get through. When I call another, it says this number is not in service. I’m not sure where to look after this.

Here is some output from a failed call.

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [+16022395967@from-pstn-e164-us:1] Set(“SIP/L3_In-00000064”, “CALLERID(number)=8585255052”) in new stack
– Executing [+16022395967@from-pstn-e164-us:2] Goto(“SIP/L3_In-00000064”, “from-pstn,6022395967,1”) in new stack
– Goto (from-pstn,6022395967,1)
– Executing [6022395967@from-pstn:1] Set(“SIP/L3_In-00000064”, “__FROM_DID=6022395967”) in new stack
– Executing [6022395967@from-pstn:2] NoOp(“SIP/L3_In-00000064”, “Received an unknown call with DID set to 6022395967”) in new stack
– Executing [6022395967@from-pstn:3] Goto(“SIP/L3_In-00000064”, “s,a2”) in new stack
– Goto (from-pstn,s,2)
– Executing [s@from-pstn:2] Answer(“SIP/L3_In-00000064”, “”) in new stack
– Executing [s@from-pstn:3] Wait(“SIP/L3_In-00000064”, “2”) in new stack
– Executing [s@from-pstn:4] Playback(“SIP/L3_In-00000064”, “ss-noservice”) in new stack
– <SIP/L3_In-00000064> Playing ‘ss-noservice.ulaw’ (language ‘en’)
== Spawn extension (from-pstn, s, 4) exited non-zero on ‘SIP/L3_In-00000064’
– Executing [h@from-pstn:1] Macro(“SIP/L3_In-00000064”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/L3_In-00000064”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“SIP/L3_In-00000064”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] Hangup(“SIP/L3_In-00000064”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘SIP/L3_In-00000064’ in macro ‘hangupcall’
== Spawn extension (from-pstn, h, 1) exited non-zero on ‘SIP/L3_In-00000064’

You don’t appear to have an inbound route with DID set to 6022395967

Thank you lgaetz, I just added an inbound route for that did/extension and the call went through. Does the DID for an inbound route have to be the full phone number, or can it just be the extension?

You make inbound routes however you want.

If you need a DID to go to a specific extension, then you need to make an inbound route to match.

if you have a lot of DID with direct extensions matching, you can use this to make only a single inbound route to handle it.

Sorvani, thank you for your help and explanation. So a DID does not have to be the full phone number then?

It seems now I am having trouble with getting endpoints to join the freepbx.

If I look in show peers, I see there are peers associated with my pbx. When I look at the endpoint manager, there are no endpoints listed.

No, A DID is a phone number. They are synonyms.

Your inbound route must match the DID being sent by your carrier if you want it to be used.

Inbound Routes can use pattern matching. Read the help text at the least.
image

Thank you for your help Jared. I believe I understand what you are saying now. I think that may be the case. I did not have my inbound routes, but I have regained access to all my inbound routes now through my recovery. I have moved from pbx 12 to pbx 15. The devices show up now in sip show peers, but I can not get them to pop up in the oss endpoint manager. I got the incredible pbx oss endpoint manager installed, and added the polycom and audiocode brands we are using. I go to scan my subnet and it says nmap is not found, is is only using arp. I can directly ping the peers from the cli of the pbx, but it does not find anything. Also, nmap is installed and I can run a scan from cli of the pbx to that subnet, and it sees devices. Do I have to add these manually?

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.