Master DNL Class4
  • Introduction
  • Configure a new Class 4 instance
    • Setup Admin Access
    • First Time Login
    • Setup SIP Switch
  • Your First Call with Class 4 Fusion
    • Create Vendor Rate Table
    • Create Termination Vendor
    • Create Egress Trunk
    • Create Dynamic Route
    • Create Routing Plan
    • Create Client Rate Table
    • Create Termination Client
    • Create Ingress Trunk
    • Simulate Your Call
  • Support Contact
  • eLearning
  • Bug Reporting Process
  • Hardware Sizing
  • Licensing
  • Installation
    • Install with Tarball
    • Install with RPM
      • Step by Step Guide
    • Install with AWS
    • Install with Google Cloud
    • Distributed Architecture
      • Switch Server
        • dnl_live_monitor
        • dnl_tool
        • dnl_livecall
        • dnl_softswitch
        • dnl_watchdog
        • dnl_cloud
      • Web UI
        • dnl_web_helper
    • Troubleshoot Your Installation
    • Setup SSL on Web UI
    • LAN IP Setup for Virtual Machine
    • Change IP/MAC Address
    • Validate Your Installation
      • Check dnl_softswitch log
    • Configuring DNL softswitch
    • Setup Selinux
  • Configuring Stir/Shaken
    • Generating Certificate with Peeringhub.io
  • Upgrade an Existing Installation
    • Update an Existing Installation
      • Update with Tarball
      • Update with RPM
  • Stir Shaken
    • Introduction
    • Configure Class 4
    • Configure Stir Shaken in DB
    • Configure Ingress Trunk
    • Configuring Egress Trunk
    • Basic Configuration Example
    • Validation of Stir/Shaken Setup
    • Setup External AS/VS connectivity
  • Basic Switch Configuration
    • Integrate Class 4 to Google SMTP
    • Customize your logo
    • Customize Domain Name
    • Customize email template
    • Customize invoice template
    • Configuring Payment Gateway
      • Stripe Configuration
      • Paypal Configuration
    • Configuring CDR and PCAP Backup
      • Google Cloud Setup
    • Configuring SIP Registration
    • Configuring LRN
  • Quick Setup for Termination Traffic
    • Create Termination Vendor
      • Specify IP to send to egress
    • Create Termination Route
      • Routing Plan
      • Static Route
      • Dynamic Route
    • Create Termination Client
    • Test with Call Simuation
    • Test Calls with SIP Client
    • Check CDR
  • Quick Setup for Origination Traffic
    • Introduction
    • Create DID Vendors
    • Create DID Billing Plan
    • Create DID Clients
    • DID Repository
    • Assign DID to Client
    • Test Calls with Call Simulation
    • Setup for your client to buy DIDs from portal
  • Data Access
    • Postgres Database
      • Obtain Report Data from DB
      • Obtain CDR from DB
    • Raw Switch Data
      • CDR Data
        • Release Cause Definition
      • PCAP Data
      • Auto Data Cleanup
  • System Administration
    • Modules
    • Start and Stop
    • Logging
    • Software Updates
    • Setup additional dnl_softswitch
    • Add Additional IP to Switch
    • Configure SIP Cause Code and Q850 Mapping
    • Enable Media Proxy
  • Class 4 API
    • Authorization
    • Class4 API
  • Troubleshooting
    • Calls are failure
    • Change Q850 in 4xx/5xx
    • One-way Audio with SIP Client Testing
      • Using Zoiper to resolve NAT issue
  • Automatic Call Blocking
    • Introduction
    • Youmail Blocking
    • DNC Blocking
    • LERG Blocking
Powered by GitBook
On this page
  • Unable to open up UI
  • How to set your system to Permissive Mode
  • License Module Initialization Error
  • Unable to open Web Portal
  • API is not responding due to Postgres is down

Was this helpful?

  1. Installation

Troubleshoot Your Installation

Previousdnl_web_helperNextSetup SSL on Web UI

Last updated 2 years ago

Was this helpful?

Unable to open up UI

After your installation, if you are not able to bring up Login page and you see this kind of error in your browser, then it is likely due to Selinux setting.

Because we put our software in the /opt path, and Selinux policies does not allow to run web app from anything that it is not /var/www.

Since we don't want to change system policies on the customer servers, we set it just temporarily and give user a warning to change if he want permanent setting.

When this issue occurs, you will see the following error in nginx.log file:

2022/08/10 09:22:47 [crit] 14588#14588: *1 connect() to 127.0.0.1:8000 failed (13: Permission denied) while connecting to upstream, client: 178.223.69.167, server: localhost, request: "GET /api_dnl/v1/swagger.json HTTP/1.1", upstream: "http://127.0.0.1:8000/api_dnl/v1/swagger.json", host: "33.33.170.221"

The command you can use to check the Selinux policy is as follows:

You can use the getenforce command to see your SELINUX mode:

# getenforce
Enforcing

How to set your system to Permissive Mode

Use the following procedure to permanently change SELinux mode to permissive. When SELinux is running in permissive mode, SELinux policy is not enforced. The system remains operational and SELinux does not deny any operations but only logs AVC messages, which can be then used for troubleshooting, debugging, and SELinux policy improvements. Each AVC is logged only once in this case.

Prerequisites

  • The selinux-policy-targeted, libselinux-utils, and policycoreutils packages are installed on your system.

  • The selinux=0 or enforcing=0 kernel parameters are not used.

Procedure

  1. Open the /etc/selinux/config file in a text editor of your choice, for example:

    # vi /etc/selinux/config
  2. Configure the SELINUX=permissive option:

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=permissive
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=targeted
  3. Restart the system:

    # reboot

Verification

After the system restarts, confirm that the getenforce command returns Permissive:

$ getenforce
Permissive

License Module Initialization Error

Aug 21 23:26:18 194-233-170-221.ip.linodeusercontent.com dnl_softswitch[9387]: 2022-08-21 23:26:18 [ERROR] dnl_core.c:1760 Failed to initialize license module

Unable to open Web Portal

When you do "rpm update", the nginx config may get overwritten.

In this case, you can rerun the following command to reset the correct nginx config:

yum install dnlv6-webbackend.noarch dnlv6-webui.x86_64

API is not responding due to Postgres is down

If API is no responding, then you may also want to check if Postgres is running:

# systemctl status postgresql.service
● postgresql.service - PostgreSQL 11 database server
   Loaded: loaded (/etc/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-09-30 02:26:21 UTC; 8s ago
  Process: 14612 ExecStartPre=/usr/pgsql-11/bin/postgresql-11-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 14618 (postmaster)
   CGroup: /system.slice/postgresql.service
           ├─14618 /usr/pgsql-11/bin/postmaster -D /opt/pgsql/11/data/
           ├─14620 postgres: logger   
           ├─14631 postgres: checkpointer   
           ├─14632 postgres: background writer   
           ├─14633 postgres: walwriter   
           ├─14634 postgres: autovacuum launcher   
           ├─14635 postgres: stats collector   
           ├─14636 postgres: logical replication launcher   
           ├─14643 postgres: class4_user class4_dnl 127.0.0.1(41500) idle
           ├─14645 postgres: webbackend class4_dnl 127.0.0.1(41506) idle
           └─14648 postgres: class4_user class4_dnl 127.0.0.1(41510) idle

If it is showing down, then you can start with the following command. After you restart Postgresql, you can also restart dnl_api:

systemctl start postgresql.service
systemctl restart dnl_api_core

If you are seeing the following error in /opt/denovov6/dnl_softswitch/log/dnl_softswitch.log, you should reset your license IP .

here