Forum Replies Created

Viewing 15 posts - 76 through 90 (of 258 total)
  • Author
    Posts
  • Avatar photoTelium Support Group
    Participant
    Post count: 264

    We would be happy to SSH into your hosts to help with configuration.

    Our support machines have pre-installed VPN clients for the most popular protocols: Microsoft Windows protocols (PPTP/L2TP/IPSec/IKEv2), and shared Cisco VPN protocols.

    If you chose not to use one of these protocols, or you require that we install a VPN client that is locked to your VPN concentrator address, then we must build a virtual machine for our support techs to use when connecting to your system. Our support techs cannot (and may not) install any software on their machines, in order to protect our computing environment.

    If you cannot use one of the pre-installed VPN protocols above, and you cannot port forward SSH from your public IP to your nodes, then we will have to charge you an additional 2 hours of support time to build and maintain a support VM dedicated to your environment. We will also archive this VM (while your maintenance agreement is active) to ensure we can continue to support you going forward.

    See FAQ 10042 for additional information: https://telium.io/faq1042

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    We would be happy to SSH into your hosts to help with configuration.

    Our support machines have pre-installed VPN clients for the most popular protocols: Microsoft Windows protocols (PPTP/L2TP/IPSec/IKEv2), and Cisco VPN protocols (IPSec, PPTP/MPPE, L2TP/IPSec).

    If you chose not to use one of these protocols, or you require that we install a VPN client that is locked to your VPN concentrator / host, then we must build a virtual machine for our support techs to use when connecting to your system. Our support techs cannot (and may not) install any other software on their machines, in order to protect our computing environment.

    If you cannot use one of the pre-installed VPN protocols above, and you cannot port forward SSH from your public IP to your nodes, then we will have to charge you an additional 2 hours of support time to build and maintain a support VM dedicated to your environment. We will also archive this VM (while your maintenance agreement is active) to ensure we can continue to support you going forward.

    See FAQ 10042 for additional information: https://telium.io/faq1042

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    We would be happy to SSH into your hosts to help with configuration.

    Our support machines have pre-installed VPN clients for the most popular protocols: Microsoft Windows protocols (PPTP/L2TP/IPSec/IKEv2), and shared Cisco VPN protocols.

    If you chose not to use one of these protocols, or you require that we install a VPN client that is locked to your VPN concentrator address, then we must build a virtual machine for our support techs to use when connecting to your system. Our support techs cannot (and may not) install any software on their machines, in order to protect our computing environment.

    If you cannot use one of the pre-installed VPN protocols above, and you cannot port forward SSH from your public IP to your nodes, then we will have to charge you an additional 2 hours of support time to build and maintain a support VM dedicated to your environment. We will also archive this VM (while your maintenance agreement is active) to ensure we can continue to support you going forward.

    See FAQ 10042 for additional information: https://telium.io/faq1042

    • This reply was modified 4 years, 6 months ago by user.
    Avatar photoTelium Support Group
    Participant
    Post count: 264

    HAAst can handle that easily using the event handler system. There are 2 aspects to your cluster that must be handled separately: the FreePBX configuration, and the Asterisk configuration. Remember that FreePBX is a pretty GUI with it’s own configuration database (in MySQL), and it regenerates the Asterisk configuration files (flat files) when you click apply changes. So we have to handle each a bit differently.

    I should also point out that because FreePBX creates a relationship between DIALPLAN->ROUTES->TRUNKS, you cannot simply delete a trunk on one node but have it present on the other. To effectively remove the second trunk from London we modify one trunk configuration to ensure it cannot be activated by Asterisk (so it will be ignored in the dialplan). We do so by setting the SIP port to an invalid number.

    FreePBX Configuration
    To make your life simpler (and setup less confusing), on your New York FreePBX name your NY1 and NY2 trunks:

    Quote:
    MASTER_TRUNK1 (for the trunk)
    MASTER_TRUNK1_IN (for inbound)
    MASTER_TRUNK1_OUT (for outbound)
    MASTER_TRUNK2
    MASTER_TRUNK2_IN
    MASTER_TRUNK2_OUT

    Next, add to your New York FreePBX your LON trunk named exactly as follows:

    Quote:
    SLAVE_TRUNK1 (for the trunk)
    SLAVE_TRUNK1_IN (for inbound)
    SLAVE_TRUNK1_OUT (for outbound)

    Finally, add to your New York FreePBX a duplicate the above SLAVE_TRUNK1 to be named SLAVE_TRUNK2:

    Quote:
    SLAVE_TRUNK2
    SLAVE_TRUNK2_IN
    SLAVE_TRUNK2_OUT

    In FreePBX (on Master) edit your routes to use:

    1. MASTER_TRUNK1
    2. SLAVE_TRUNK1
    3. MASTER_TRUNK2
    4. SLAVE_TRUNK2

    in that order. Don’t worry about NY using SLAVE trunks, or London using MASTER trunks. HAAst will disable them to ensure only the right trunks are used in the right location.

    HAAst FreePBX MySQL event handler
    HAAst will be responsible for enabling all master trunks in New York (and disabling all slave trunks), and enabling all slave trunks in London (and disabling master trunks there), and changing the external IP address (for SIP config). HAAst will also disable SLAVE_TRUNK2 in London so it won’t be used (contents ignored). HAAst will also change the external IP address in SIP settings. Assuming that you are using the sample HAAst configuration file for Sangoma FreePBX, you will have a sync job named ‘freepbx-mysql’. You need to create a post-sync event handler (file) called sync.stop.post.freepbx-mysql in the /usr/local/haast/events folder. That event handler will be responsible for enabling/disabling trunks:


    #!/bin/bash

    # Determine if this is the SLAVE PBX
    ISSLAVE=$(hostname | grep london | wc -l)

    # Determine value of ‘disabled’ setting in FreePBX
    if [ ${ISSLAVE} -eq 0 ] ; then
    NODENAME=”NewYork”
    LOCALIP=”1.2.3.4″
    REMOTEIP=”5.6.7.8″
    MASTERDISABLED=”off”
    SLAVEDISABLED=”on”
    else
    NODENAME=”London”
    REMOTEIP=”1.2.3.4″
    LOCALIP=”5.6.7.8″
    MASTERDISABLED=”on”
    SLAVEDISABLED=”off”
    fi

    #—————————————————————————-

    HVERBOSE=0
    if [ -f “/usr/local/haast/internal/helperfunctions.sh” ] ; then
    . /usr/local/haast/internal/helperfunctions.sh
    elif [ -f “../internal/helperfunctions.sh” ] ; then
    . ../internal/helperfunctions.sh
    else
    echo “ERROR: Cannot find helperfunctions.sh”
    exit 10
    fi

    # Update the trunks table for MASTER_XXX trunks
    mysql
    -u ${MYSQL_SYNCUSERNAME}
    -p${MYSQL_SYNCPASSWORD}
    -h ${MYSQL_SYNCLOCALHOST}
    -D asterisk
    -P ${MYSQL_SYNCPORT}
    -N
    -B
    –execute=”update trunks set disabled=’${MASTERDISABLED}’ where name like ‘MASTER_%'”

    # Update the trunks table for SLAVE_XXX trunks
    mysql
    -u ${MYSQL_SYNCUSERNAME}
    -p${MYSQL_SYNCPASSWORD}
    -h ${MYSQL_SYNCLOCALHOST}
    -D asterisk
    -P ${MYSQL_SYNCPORT}
    -N
    -B
    –execute=”update trunks set disabled=’${SLAVEDISABLED}’ where name like ‘SLAVE_%'”

    # Update the kvblob table for the SIP settings > externip value
    mysql
    -u ${MYSQL_SYNCUSERNAME}
    -p${MYSQL_SYNCPASSWORD}
    -h ${MYSQL_SYNCLOCALHOST}
    -D asterisk
    -P ${MYSQL_SYNCPORT}
    -N
    -B
    –execute=”UPDATE kvblobstore SET content = REPLACE(content, ‘${REMOTEIP}’, ‘${LOCALIP}’)”
    mysql
    -u ${MYSQL_SYNCUSERNAME}
    -p${MYSQL_SYNCPASSWORD}
    -h ${MYSQL_SYNCLOCALHOST}
    -D asterisk
    -P ${MYSQL_SYNCPORT}
    -N
    -B
    –execute=”UPDATE kvstore_FreePBX_modules_Sysadmin SET val = REPLACE(val, ‘${REMOTEIP}’, ‘${LOCALIP}’)”
    mysql
    -u ${MYSQL_SYNCUSERNAME}
    -p${MYSQL_SYNCPASSWORD}
    -h ${MYSQL_SYNCLOCALHOST}
    -D asterisk
    -P ${MYSQL_SYNCPORT}
    -N
    -B
    –execute=”UPDATE kvstore_Sipsettings SET val = REPLACE(val, ‘${REMOTEIP}’, ‘${LOCALIP}’)”
    mysql
    -u ${MYSQL_SYNCUSERNAME}
    -p${MYSQL_SYNCPASSWORD}
    -h ${MYSQL_SYNCLOCALHOST}
    -D asterisk
    -P ${MYSQL_SYNCPORT}
    -N
    -B
    –execute=”UPDATE sysadmin_options SET value = REPLACE(value, ‘${REMOTEIP}’, ‘${LOCALIP}’)”

    # Tell HAAst all exitted ok
    exit 0

    HAAst Asterisk file event handler
    HAAst will be responsible for ensuring the trunk information (in sip.conf) has the contents appropriate for the node it is running on. There are also 2 distinct use cases we must consider. First use case: if SLAVE becomes active and the admin edits the configuration in FreePBX then Asterisk must accept that configuration and run normally (even if no event handlers have run). In this case there is nothing to be done since the disabled trunks will not generate any config data for Asterisk since they have been disabled in FreePBX. (Nothing to do). Second use case: The Asterisk configuration files from MASTER has been sent to SLAVE, and the SLAVE trunks contain information relevant for New York. To handler this situation we replace trunk content (in the Asterisk config files), and we also remove the MASTER_ prefix from any Asterisk config files (for clarity). Assuming that you are using the sample HAAst configuration file for Sangoma FreePBX, you will have a sync job named ‘freepbx-conf’. You need to create a post-sync event handler (file) called sync.stop.post.freepbx-conf in the /usr/local/haast/events folder. That event handler will be responsible for modify the Asterisk config files:


    #!/bin/bash

    # Determine if this is the SLAVE PBX
    ISSLAVE=$(hostname | grep london | wc -l)

    # Determine value of ‘disabled’ setting in FreePBX
    if [ ${ISSLAVE} -eq 0 ] ; then
    NODENAME=”NewYork”
    SECRET=”NySeCrEt”
    HOST=”12.23.34.45″
    EXTERNIP=”1.2.3.4″
    else
    NODENAME=”London”
    SECRET=”LoNSeCrEt”
    HOST=”98.87.76.65″
    EXTERNIP=”9.8.7.6″
    fi

    #—————————————————————————-

    HVERBOSE=0
    if [ -f “/usr/local/haast/internal/helperfunctions.sh” ] ; then
    . /usr/local/haast/internal/helperfunctions.sh
    elif [ -f “../internal/helperfunctions.sh” ] ; then
    . ../internal/helperfunctions.sh
    else
    echo “ERROR: Cannot find helperfunctions.sh”
    exit 10
    fi

    # Remove MASTER_ and SLAVE_ prefixes from sip config files and dialplan config files,
    # to allow for shared files between MASTER and SLAVE (with shared trunk names)
    sed -i ‘s/MASTER_//g’ /etc/asterisk/sip_additional.conf
    sed -i ‘s/MASTER_//g’ /etc/asterisk/extensions_additional.conf
    sed -i ‘s/SLAVE_//g’ /etc/asterisk/sip_additional.conf
    sed -i ‘s/SLAVE_//g’ /etc/asterisk/extensions_additional.conf

    # Enable / disable trunks in Asterisk config files, and alter settings for common
    if [ ${ISSLAVE} -eq 0 ] ; then
    # THIS IS MASTER
    # Enable trunk2 by removing port to a value that will never accept SIP
    # TRUNK2
    crudini –del –inplace /etc/asterisk/sip_additional.conf “TRUNK2_OUT” port
    else
    # THIS IS SLAVE
    # Disable trunk2 by setting port to a value that will never accept SIP
    crudini –set –inplace /etc/asterisk/sip_additional.conf “TRUNK2_OUT” port “9999”
    fi

    # Change values to match required local node settings
    # TRUNK1
    echo secret=”${HOST}” | crudini –merge –inplace /etc/asterisk/sip_additional.conf “TRUNK1_OUT”
    echo secret=”${SECRET}” | crudini –merge –inplace /etc/asterisk/sip_additional.Tconf “TRUNK1_OUT”
    # External IP address
    echo external_media_address=”${EXTERNIP}” | crudini –merge –inplace /etc/asterisk/pjsip.transports.conf “0.0.0.0-udp”
    echo external_signaling_address=”${EXTERNIP}” | crudini –merge –inplace /etc/asterisk/pjsip.transports.conf “0.0.0.0-udp”
    echo externip=”${EXTERNIP}” | crudini –merge –inplace /etc/asterisk/sip_general_additional.conf “”

    # Notify HAAst of success
    exit 0

    Notice that the above event handler also disables TRUNK2 by adding an incorrect sip port number (9999), and uses the open source ‘crudini’ package to accomplish this. This will cause the trunk connection to fail, and Asterisk will ignore the trunk. The result is that the ROUTES as setup in FreePBX will skip this trunk.

    Notice as well that we hard coded a bit of information at the start of the event handlers; this is for simplicity. If you want to get really fancy, you can extract the relevant trunk data from the MySQL database and use that to update the Asterisk files. But the above explains the concept in the simplest way possible.

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    It looks like your MySQL server database is closing the connection – causing SecAst to constantly reopen the connection. Normally a support rep would connect to your system by SSH to look for a MySQL related issue, or to capture more detail about the cause of the database closure. As you are running the free edition we can’t assist much further, but I’ve opened a ticket to see if we can reproduce this in our lab prior to our next release. Could you post your Linux distro, version, and architecture? (So I can add to the ticket)

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    Could you post the [database] stanza of your secast.conf file?

    Does the contents of the database appear correct in the web interface?

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    I assume the log excerpt you posted is not contiguous (i.e. you removed lines). Is there something in the removed lines pointing to some other issue?

    It’s unusual for the database connection to close (failed write). Is the database on the same server as SecAst?

    You may wish to increase logging to the DEBUG level for more information.

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    There’s the problem: you are running a derivative of Red Hat 6 yet the rpm command you issued above was trying to install a package designed for Red Hat 7. That’s why you got the GLIBC error.

    If you google how to add EPEL to your distro (CentOS 6) you will find detailed instructions; or try this link: https://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/ That will make installation of qt5 (and other non-core packages) easier.

    If you want to install a single package directly from a repo (as you did above), you can do so but ensure you are using CentOS 6 repo. (Not CentOS 7).

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    I suspect you are mixing incompatible packages. I’m guessing that your OS is redhat based. Please post the output of:

    cat /etc/redhat-release

    Instead of manually picking packages from various repo’s on the internet you may wish to add a comprehensive repo like EPEL which has all of these packages available. (Assuming your OS distro is compatible)

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    From your ldd output it appears that you are missing the Qt5 package(s). It’s not clear why you cannot install the packages qt5-qtbase and qt5-qtbase-mysql packages. The ldd output you posted just says qt5 packages are missing.

    I have a feeling there is something else you are not telling. Why are you talking about glibc? (The libc.so is installed and running fine according to that ldd output).

    Are you also getting a GLIBC error? In that case you probably mixing packages / programs designed for different versions of the operating system.

    Avatar photoTelium Support Group
    Participant
    Post count: 264

    In order to connect a USB device to a Hyper-V guest you need to use a USB over IP solution. This means you plug the USB device into a real (physical) device(possibly even the Hyper-V host) and then attach it to the guest over a network (IP) connection.

    For example, there are software packages which will share a USB device over an IP connection:
    Locally attached USB over IP

    Example packages include:

    Note that the free solution may already be rolled into your Linux kernel (so you don’t need to install anything on the guest).

    There are also commercial hardware products which will share a USB device over an IP connection:
    Network attached USB over IP

    Example devices include:

    Some clients have used a Raspberry Pi to create a USB device server on their network for USB keys and other devices shared across their data center.

    We try to avoid endorsing third party products unless we continually test their product with our dongles (which we do not at this time), but we have been told by customers that they have had success with a couple of the software packages above.

    • This reply was modified 4 years, 8 months ago by WebMaster.
    • This reply was modified 4 years, 8 months ago by WebMaster.
    • This reply was modified 4 years, 8 months ago by WebMaster.
    • This reply was modified 4 years, 8 months ago by WebMaster.
    • This reply was modified 4 years, 8 months ago by WebMaster.
    Avatar photoTelium Support Group
    Participant
    Post count: 264

    Distribution type 11 would be correct for your setup, so that’s not the problem. I would focus solely on ensuring HAAst can start your FreePBX instance properly. The problem could even be that FreePBX is starting but shutting down with an error code, or is getting severely delayed (see Sangoma notes on very slow FreePBX startup) causing HAAst to treat the startup as failed.

    I would suggest you look at:

    1. Try to start/stop the FreePBX service using systemctl from the commandline. Does Asterisk start/stop properly with it?
    2. Confirm permissions on FreePBX and Asterisk resources, relative to who you are logged in as (and relative to root)
    3. Start FreePBX using the commands within the systemd service script directly to look for errors
    4. Look for FreePBX startup errors
    5. Look for severe FreePBX startup delays (and follow Sangoma wiki instructions on correcting very slow startup if necessary)
    Avatar photoTelium Support Group
    Participant
    Post count: 264

    You have a number of issues:

    1. The following error in your event log indicates that HAAst is unable to successfully start Asterisk (and/or FreePBX services).


    Fri Aug 10 06:47:42 2018, 00000721, E, System Command, Failed to start Asterisk (start) wrapper. Run result 3; exitcode 0

    What have you set your ‘distribution’ key to in the [asterisk] stanza of your haast.conf file? Are you running the fully open source version of FreePBX or proprietary (FreePBX ‘distro’)? If open source, on what Linux distro and architecture?
    This error indicates Asterisk is not being started (properly), and also explains why you aren’t getting an AMI connection error. (Error 0 means HAAst could not establish a connection to the AMI)

    2. The follow errors in your event log suggest your PeerLinkServer is listening on the same IP that you are using for the dynamic HAAst created interface:


    Fri Aug 10 06:46:56 2018, 00001901, I, Peer Link Server, PeerLinkServer listening on 12.34.56.78:3002
    Fri Aug 10 06:47:10 2018, 00010106, I, NIC, IP address ‘12.34.56.78’ added to physical NIC device ‘eth0’ as new virtual NIC device ‘eth0:haast’

    Have you obfuscated the IP addresses in your posting? If not you will need to fix your IP addresses (which may also prevent Asterisk from Starting depending on the FreePBX settings).

    3. The reason you see snoozing messages relates to the promotesnoozetime and demotesnoozetime keys in the [cluster] stanza of haast.conf. This has nothing to do with your problem – in fact I suggest you leave those settings at default until you understand HAAst a little better. As background, these settings prevent the cluster from flipping back and forth in the event that it takes Asterisk some time to stabilize. (See https://telium.io/topic/manual-failover-leads-to-brief-dual-active-contention/ for more info).

    4. HAAst does not interact with firewalld or iptables, so that symptom isn’t directly related to HAAst. However, beware that Songoma calls fail2ban a ‘security system’ – when in fact it’s not. Actually Digium warns companies NOT to use fail2ban as a security system (see https://telium.io/topic/i-use-fail2ban-why-do-i-need-secast/ for more info). I suspect FreePBX is trying to start fail2ban and that is giving you the error messages. If you are anything but a small/SOHO business have a look at the SecAst pages on this site to understand the different between SecAst and fail2ban.

    With more info we can provide more suggestions but hopefully that clarifies the meaning of the messages. I suspect all of the above relate to starting FreePBX.

    • This reply was modified 4 years, 8 months ago by WebMaster.
    Avatar photoTelium Support Group
    Participant
    Post count: 264

    Yes – you can create a high availability cluster for your VICIDIAL server, using our HAAst product. With HAAst you can have 2 VICIDIAL servers, and all clients will automatically connect to the active node (server). In case of any type of failure of the active node, the standby node will take over and agents can continue making calls through the other server. All of this happens automatically in the background.

    There’s a lot more to it (HAAst will synchronize settings, voicemails, call scripts, VICIDIAL settings, etc) to ensure your nodes are always in sync and one node is always ready to take over, and HAAst will sense failures, control active nodes, etc. But the bottom line is that HAAst will solve your problem.

    Avatar photoTelium Support Group
    Participant
    Post count: 264
    in reply to: Export to Russia #6778

    Telium’s products are not impacted by any export limitations, so yes we can export the product to Russia. The software itself does not care where it operates – so it will operate perfectly in any geographic region.

    На продукцию Telium не влияют ограничения на экспорт, поэтому да, мы можем экспортировать продукт в Россию. Самому программному обеспечению не важно, где он работает, поэтому он будет работать отлично в любом географическом регионе.

Viewing 15 posts - 76 through 90 (of 258 total)