Forum Replies Created

Viewing 15 posts - 91 through 105 (of 254 total)
  • Author
    Posts
  • Avatar photoTelium Support Group
    Member
    Post count: 258

    HAAst fully supports what you are trying to do, and there are many ways to accomplish this. We have many customers that have split their cluster(s) between on-premise and in-cloud.

    On the AWS side it’s easy. AWS is certified compatible with Telium’s products, so nothing has to be done to allow the instance to move between hosts, regions, etc. You can use ‘hardware fingerprint’ activation and that will tie into your AWS instance identification.

    On the data center side you have several options (see http://www.autocommander.aws2.ocg.ca/activation). The easiest option is to use the cloud license option and you’re set. We understand that some users don’t want to use the cloud for activation or any external service, so then you could use the USB dongle with USB over ethernet software (see https://autocommander.aws2.ocg.ca/topic/usb-license-on-hyper-v-guest/ for examples) and the dongle is always accessible to all of your VM hosts. You could also use our VLS product but that’s overkill for just 3 PBX’s.

    • This reply was modified 4 years, 11 months ago by WebMaster.
    Avatar photoTelium Support Group
    Member
    Post count: 258

    You should place the new file in your /usr/local/haast folder, and remove the old file called haast.license or rename is to haast.lisence.old

    Upon next HAAst service restart the new license file will be used. The new license allows you to install new upgrades to HAAst, and benefit from new features as they are released. The new license file will also reflect the updated expiry date for your maintenance agreement (in terms of support and upgrades).

    In case you have multiple HAAst license files (following one or more maintenance agreement renewals) then this is how HAAst picks which license file to use: When HAAst starts it will first look for a file called haast.license and use that as the license. If that file does not exist then HAAst will look for a file called haast.XXXXX.license where XXXXX is your license number. If there are multiple files that match this format then HAAst will choose the one with the highest license number (most recent). If you have multiple HAAst license files and you want HAAst to use a particular one then you can create a symlink from haast.license to the file you wish.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    Yes HAAst supports Asterisk as far back as version 1.4 (see knowledge base article https://autocommander.aws2.ocg.ca/faq1031 )

    Due to the age of Asterisk 1.4 (released December 2006) we no longer actively test new HAAst builds against it. However, if you have any compatibility problems our engineering team will test & fix it to guarantee compatibility.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    I think you are mixing up some network terms/concepts, but I’ll offer a solution to your problem and some networking concepts along the way.

    First, the reason we recommend placing the gateway on the management subnet is that when a node promotes/demotes the route to the other peer must not change. If the route does change then the PeerLink will drop and both of your nodes may attempt to promote.

    You can safely place the gateway on the VoIP subnet if:

    • the addresses of your management NICs of your two nodes are on the same subnet since they will never make use of the gateway; or
    • you create a permanent route which tells each node how to find the other across the management network.

    So long as you setup your nodes such that management traffic will always go in/out the management NIC then you can configure your gateway/default route however you like.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    The answer can be found in your question above. Notice that the Asterisk server / AMI is listening on 127.0.0.1 ? That is a special address known as “localhost”

    You have configured HAAst to try to find the Asterisk server at 192.168.1.44. Even though that is the address of your PBX (actually the IPv4 address on one interface of your PBX), it is not the same as localhost. Localhost is a different interface, and is special in that it cannot be accessed from the network side (only from the LOCAL HOST side).

    So the AMI is listening on one interface, and HAAst is trying to connect to it on another, and that’s the problem. I recommend you modify your haast.conf file to connect to asterisk at “localhost” (the default), or its IPv4 equivalent 127.0.0.1

    You don’t mention if you are using pure Asterisk or a configuration generator, but you could alternatively modify manager.conf to tell Asterisk to listen on a different IP/interface. This is not normally recommended – but since you modified the haast.conf away from defaults I assume you might have had a reason to do so.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    HAAst performs all NIC control using the Linux system API; it does not use network configuration scripts (such as ifcfg-ethX, ifup, ifdown, etc). These scripts you are referring to are Linux distribution specific, and are ignored by HAAst. All configuration of a shared VoIP NIC is accomplished in the [voipnic] stanza of the haast.conf file.

    In order to perform other actions on the PBX at the time of promotion/demotion (i.e. becoming the active or becoming the standby node), you need to use the HAAst event handler system. For example, if you wanted to change the default route of the PBX when it is promoted, you could create a file called /usr/local/haast/events/asterisk.start.pre which contains:


    #!/bin/bash
    # Delete old default route
    ip route del default via 172.31.254.1 2>&1
    # Add new default route
    ip route add default via 172.31.253.1 2>&1

    And if you wanted to switch the default route back when the PBX is demoted, you could create a file called /usr/local/haast/events/asterisk.stop.post which reverses these statements. You can place any code you like in the event handler, but it should complete quickly (ideally < 5 seconds), so if you need to start long-running executables from the event handler be sure to fork them in the event handler code. For example, if you wanted to deleted all temporary files (which can run for several minutes) when the node becomes standby, your event handler file would contain (notice the ampersand which forks the command):

    #!/bin/bash
    rm -rf /tmp &

    If you want to open/close ports in a firewall, control virtual machine functions, etc. then the event handler system is the right way to accomplish this. Just be sure to fork each command, or fork a single bash script which serializes those commands if any of these commands can run for an extended period of time.

    Please note that event handlers are only available in the Commercial Unlimited edition of HAAst. See the EDITIONS tab of the HAAst web page to see what functionality is available in each HAAst edition.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    The problem may be that your new VM has insufficient memory. I suspect you only allocated

    Avatar photoTelium Support Group
    Member
    Post count: 258

    The “FEATURES” page for HAAst on the Telium website is far from complete. I would compare our “FEATURES” page to the window sticker of a new car at a dealership. It shows the highlights of a car but is not an exhaustive list of all features.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    We can definitely help.

    Although we don’t list Asterisk beta’s as officially certified, our engineering group is regularly testing and certifying newer Asterisk versions. (Probably not Beta’s however)

    If you can provide SSH access to your system our engineering group will ensure HAAst is working with your specific code. Since you are already running commercial editions of HAAst, we will ensure HAAst works with your Beta at no charge.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    The root cause of your problem is a regression (bug) in your Linux distro. There have been similar Linux regressions noted by Digium in the past (eg: https://issues.asterisk.org/jira/browse/ASTERISK-15603)

    The solution is to use the HAAst event handler to create the missing directory for Asterisk, before Asterisk even starts.

    Create the file /usr/local/haast/events/asterisk.start.pre with the following contents:


    #!/bin/bash
    If [ ! -d /var/run/asterisk ] ; then
    mkdir /var/run/asterisk
    chown asterisk:asterisk /var/run/asterisk
    fi


    and set the permissions on /usr/local/haast/events/asterisk.start.pre to 550:


    chmod 550 /usr/local/haast/events/asterisk.start.pre

    Note: The event handler system (including use of the asterisk.start.pre file) is restricted to the Commercial Unlimited edition of HAAst only.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    Please note that in mid-2018 Telium is launching an updated license option, which no longer requires activation or ties your installation to your hardware. You will have several license options available at the time of generating your license request.

    See http://autocommander.aws2.ocg.ca/activation for activation options.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    Based on the Asterisk full message log received, it appears that your Asterisk process was hung for almost 30 seconds. As proof, you have a number of plug-ins/dialplan add-ons that trigger log messages at least once per second. Notice that at 2:38am all messages stopped for almost 30 seconds? Something was blocking IO/CPU to the Asterisk process.

    Five seconds after the Asterisk process hung HAAst deemed the peer to be non-responsive and initiated a failover. (This is correct behavior on the part of HAAst – something was going wrong on your PBX).

    You need to trace down the root cause of Asterisk hanging for almost 30 seconds. Look for badly written backup scripts, IO or CPU intensive jobs scheduled for this time, etc. Do a grep search through all of your system logs around that time for clues as to what else was happening on your system.

    (Hint: Looking at your Asterisk log file you appear to have added a new plug-in in the last 2 days)

    Avatar photoTelium Support Group
    Member
    Post count: 258

    I should also point out that during the past 10 years three other companies have released HA products for Asterisk. The products didn’t work well, and once their customers realized all of the conditions / use cases which their HA software could not handle (and the resulting outages) they switched to HAAst. All three of those companies are now out of business / disappeared, or their HA products have been discontinued.

    You’ll see new HA products pop up on occasion, because you can add ‘HA’ type open source packages in just a matter of hours. But there are no open source packages for application level HA (that’s up to the application developer). Adding HA level code at the application level (or trying to add it to file level HA packages) is a massive undertaking (measured in person-years of development, not hours).

    HAAst has been on the market since 2005 and has been growing in capabilities ever since!

    Avatar photoTelium Support Group
    Member
    Post count: 258

    I think you are missing some basics concepts of networking. Your description above shows two NIC’s on the same subnet. That will confuse Linux as it is not sure which NIC to use for incoming/outgoing traffic.

    Carefully review section 2.4 of the HAAst installation guide before going any further. If you are new to networking/multihoming/routing then you will find all HA product difficult to install or get working properly.

    If this is for a commercial environment I would recommend you engage Telium professional services to perform the installation for you (or at least the network/VoIP NIC portion). If you wish, our engineers can also walk you through the key concepts of networking and multihoming, to help you understand what they configured and why.

    Avatar photoTelium Support Group
    Member
    Post count: 258

    Some Linux distributions allow you to configure routing information along with the NIC (in the same NIC configuration file); however, this is misleading – in fact, newer Linux distros no longer allow this practice. Routing information has nothing to do with the NIC. Routing information (eg: default gateway / subnet gateway) is added to the routing table not the NIC.

    If you would like to add a route to the routing table from a terminal window then enter a command like:


    route add -net 10.10.0.0 netmask 255.255.255.0 gw 10.10.0.1

    If you would like this route to persist between reboots you would have to enter this information into a config file/script. If you are using the Commercial Unlimited edition of HAAst then you can add the above line to the pre-start event handler /usr/local/haast/events/asterisk.start.pre This event handler will run before the vNIC is brought up so the route will be present when needed. If you like you can also delete this route by adding a line to the the post-stop event handler /usr/local/haast/events/asterisk.stop.post

    If you are not using the Commercial Unlimited Edition of HAAst, then you will need to find the most suitable place for these routing rules (which varies considerably between Linux distributions). In your case I suspect you are using a RedHat flavour of Linux, so you could create a file called /etc/sysconfig/network-scripts/route-eth0 with:


    default 192.168.0.1 dev eth0
    10.10.0.0/24 via 10.10.0.1 dev eth0
    172.16.1.0/24 via 192.168.0.1 dev eth0

    but you should check the guides for your Linux distro to confirm the best place to place ‘persistent routes’. If you are looking for routes to be added/deleted based on HAAst events then you should use the HAAst event handler instead.

Viewing 15 posts - 91 through 105 (of 254 total)