SEMS don't start (fresh installation)

Hello
I’ve got error after install of sems. When testing config with sems -E -D3 i see this:
[1915/1915] [core/AmEventDispatcher.cpp:238] DEBUG: *** dumping Event dispatcher buckets ***
[1915/1915] [core/AmEventDispatcher.cpp:256] DEBUG: *** End of Event dispatcher bucket dump ***
[1915/1915] [core/SipCtrlInterface.cpp:825] DEBUG: Stopping SIP control interface threads
[1915/1915] [core/SipCtrlInterface.cpp:818] DEBUG: dec_ref(0x5612395b5950)
[1915/1915] [core/SipCtrlInterface.cpp:818] DEBUG: dec_ref(0x561239597ba0)
[1915/1915] [core/sip/resolver.cpp:1552] DEBUG: resolver::clear_cache() 0 entries removed
[1915/1915] [core/AmThread.cpp:151] DEBUG: Thread sems 0 (140295290595072)calling on_stop, give it a chance to clean up
[1915/1915] [core/AmThread.cpp:174] DEBUG: Thread sems 0 (140295290595072) finished detach
[1915/1915] [core/SipCtrlInterface.cpp:625] INFO: ~_SipCtrlInterface
[1915/1915] [core/AmThread.cpp:275] DEBUG: cleanup threads garbage collector
[1915/1916] [core/AmThread.cpp:292] DEBUG: Thread watcher starting its work
[1915/1916] [core/AmThread.cpp:305] DEBUG: thread 140295313753856 is to be processed in thread watcher
[1915/1916] [core/AmThread.cpp:309] DEBUG: request thread 140295313753856 to stop and join it
[1915/1916] [core/AmThread.cpp:151] DEBUG: Thread app-wheeltimer 140295313753856 (140295313753856)calling on_stop, give it a chance to clean up
[1915/1916] [core/AmThread.cpp:156] DEBUG: join thread 140295313753856
[1915/1950] [core/AmThread.cpp:92] INFO: Thread 94636271136784 is starting
Segmentation fault

sems.conf

general {
stderr = no
syslog_loglevel = 2
syslog_facility = LOCAL0

node_id = 8

shutdown_mode {
    code = 508
    reason = "Yeti node in shutdown mode"
    allow_uac = true
}

media_processor_threads = 4
rtp_receiver_threads = 4
session_processor_threads = 20
sip_udp_server_threads = 2
sip_tcp_server_threads = 2

dead_rtp_time=30

default_bl_ttl=0

symmetric_rtp_mode = packets
symmetric_rtp_packets = 20

}

signaling-interfaces {
interface internal {
default-media-interface = internal
ip4 {
sip-udp {
address = ip
port = 5060
use-raw-sockets = off
}
sip-tcp {
address = ip
port = 5060
connect-timeout = 2000
static-client-port = on
idle-timeout=900000
use-raw-sockets = off
}
}
}
}

media-interfaces {
interface internal {
ip4 {
rtp {
address = ip
low-port = 16384
high-port = 32768
dscp = 46
use-raw-sockets = off
}
}
}
}

modules {
module “di_log” {}
module “mp3” {}
module “opus” {}
module “wav” {}
module “gsm” {}
module “ilbc” {}
module “adpcm” {}
module “l16” {}
module “g722” {}
module “g729bcg” {}

module "registrar_client" {}
module "sctp_bus" {}
module "session_timer" {}
module "jsonrpc" {
    listen{
        address = 127.0.0.1
        port = 7080
    }
    server_threads = 1
}

module "http_client" {}

module-global "uac_auth" {}
module "options_prober" {}

module "radius_client" {}

module "yeti" {
    pop_id = 4
    lega_cdr_headers {
        header(p-charge-info, string)
        header(diversion, array)
    }

    auth {
        realm = yeti-switch
    }

    msg_logger_dir = /var/spool/sems/dump
    audio_recorder_dir = /var/spool/sems/records
    audio_recorder_compress = true

    db_refresh_interval = 5
    ip_auth_reject_if_no_matched = true

    routing {
        schema = switch20
        function = route_release
        init = init
        master_pool {
            host = 127.0.0.1
            port = 5432
            name = yeti
            user = yeti
            pass = mypassword
            size = 4
            check_interval = 10
            max_exceptions = 0
            statement_timeout=3000
        }
        failover_to_slave = false
        slave_pool {
            host = 127.0.0.1
            port = 5432
            name = yeti
            user = yeti
            pass = mypassword
            size = 4
            check_interval = 10
            max_exceptions = 0
            statement_timeout=3000
        }
    }
    cdr {
        dir = /var/spool/sems/cdrs
        completed_dir = /var/spool/sems/cdrs/completed
        pool_size = 2
        schema = switch
        function = writecdr
        master {
            host = 127.0.0.1
            port = 5432
            name = cdr
            user = cdr
            pass = mypassword
        }
        failover_to_slave = false
        slave {
            host = 127.0.0.1
            port = 5432
            name = cdr
            user = cdr
            pass = mypassword
        }
        failover_requeue = true
        failover_to_file = false
        serialize_dynamic_fields = true
        batch_size = 1
        batch_timeout = 5000
    }
    resources {
        reject_on_error = false
        write {
            host = 127.0.0.1
            port = 6379
            size = 2
            timeout = 500
        }
        read {
            host = 127.0.0.1
            port = 6379
            size = 2
            timeout = 1000
        }
    }
    registrations {
        check_interval = 5000
    }
    registrar {
        enabled = true
        expires_min = 600
        expires_max = 7200
        expires_default = 1200
        redis {
            host = 127.0.0.1
            port = 6379
        }
    }
    rpc {
        calls_show_limit = 10000
    }
    core_options_handling = yes
}

}

routing {
application = yeti
}

Can someone help?

  • could you format config properly?
  • provided log is not full. You have to provide full log.

founded error in log

[yeti:cdr/TrustedHeaders.cpp:41] ERROR: pqxx_exception: ERROR: function load_trusted_headers(unknown) does not exist
LINE 1: SELECT * FROM load_trusted_headers($1)
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.

[1666/1666] [yeti:cdr/TrustedHeaders.cpp:54] ERROR: can’t load trusted headers config
[1666/1666] [yeti:yeti.cpp:152] ERROR: TrustedHeaders configure failed
[1666/1666] [yeti:SBC.cpp:119] ERROR: yeti configuration error

afer that sems going to stop

also i’m using debian 10 distro, using manual from-website to install

ERROR: function load_trusted_headers(unknown) does not exist

Looks like you skipped db initialization. You have to complete all steps described in documentation.

also i’m using debian 10 distro, using manual from-website to install

manual says:

i’m trying to use 1.11

all databases were initialized without errors

I also cant start sems. What should i send ?

You have to:

  1. read documentation and do everything according to it
  2. if something failed - find error in logs and search this forum for same error. If nothing found - create new topic with attached config and logs where we can see error.