/etc/ngcp-config/config.yml is the main configuration YAML file used by Sipwise NGCP. After every changes it need to run the command ngcpcfg apply my commit message to apply changes (followed by ngcpcfg push in the PRO version to apply changes to sp2). The following is a brief description of the main variables contained into /etc/ngcp-config/config.yml file.
This section contains parameters for the additional applications that may be activated on sip:provider CE.
apps: malicious_call: no
The following is the asterisk section:
asterisk:
  log:
    facility: local6
  rtp:
    maxport: 20000
    minport: 10000
  sip:
    bindport: 5070
    dtmfmode: rfc2833
  voicemail:
    enable: 'no'
    fromstring: 'Voicemail server'
    greeting:
      busy_custom_greeting: '/home/user/file_no_extension'
      busy_overwrite_default: 'no'
      busy_overwrite_subscriber: 'no'
      unavail_custom_greeting: '/home/user/file_no_extension'
      unavail_overwrite_default: 'no'
      unavail_overwrite_subscriber: 'no'
    mailbody: 'You have received a new message from ${VM_CALLERID} in voicebox ${VM_MAILBOX} on ${VM_DATE}.'
    mailsubject: '[Voicebox] New message ${VM_MSGNUM} in voicebox ${VM_MAILBOX}'
    max_msg_length: 180
    maxgreet: 60
    maxmsg: 30
    maxsilence: 0
    min_msg_length: 3
    normalize_match: '^00|\+([1-9][0-9]+)$'
    normalize_replace: '$1'
    serveremail: voicebox@sip.sipwise.comThe following is the autoprovisioning section:
autoprov:
  hardphone:
    skip_vendor_redirect: 'no'
  server:
    bootstrap_port: 1445
    ca_certfile: '/etc/ngcp-config/ssl/client-auth-ca.crt'
    host: localhost
    port: 1444
    server_certfile: '/etc/ngcp-config/ssl/myserver.crt'
    server_keyfile: '/etc/ngcp-config/ssl/myserver.key'
    ssl_enabled: 'yes'
  softphone:
    config_lockdown: 0
    webauth: 0The following is the backup tools section:
backuptools:
  cdrexport_backup:
    enable: 'no'
  etc_backup:
    enable: 'no'
  mail:
    address: noc@company.org
    error_subject: '[ngcp-backup] Problems detected during daily backup'
    log_subject: '[ngcp-backup] Daily backup report'
    send_errors: 'no'
    send_log: 'no'
  mysql_backup:
    enable: 'no'
    exclude_dbs: 'syslog sipstats information_schema'
  rotate_days: 7
  storage_dir: '/var/backup/ngcp_backup'
  temp_backup_dir: '/tmp/ngcp_backup'The following is the cdr export section:
cdrexport: daily_folder: 'yes' export_failed: 'no' export_incoming: 'no' exportpath: '/home/jail/home/cdrexport' full_names: 'yes' monthly_folder: 'yes'
The following is the check tools section:
checktools:
  collcheck:
    cpuidle: 0.1
    dfused: 0.9
    eximmaxqueue: 15
    loadlong: 2
    loadmedium: 2
    loadshort: 3
    maxage: 600
    memused: 0.7
    siptimeout: 15
    swapfree: 0.5
  active_check_enable: 1
  asr_nsr_statistics: 1
  exim_check_enable: 0
  force: 0
  kamailio_check_concurrent_calls_enable: 0
  kamailio_check_dialog_active_enable: 1
  kamailio_check_dialog_early_enable: 1
  kamailio_check_dialog_incoming_enable: 1
  kamailio_check_dialog_local_enable: 1
  kamailio_check_dialog_outgoing_enable: 1
  kamailio_check_dialog_relay_enable: 1
  kamailio_check_shmem_enable: 1
  kamailio_check_usrloc_regdevices_enable: 1
  kamailio_check_usrloc_regusers_enable: 1
  mpt_check_enable: 1
  mysql_check_enable: 1
  mysql_check_replication: 1
  oss_check_provisioned_subscribers_enable: 1
  sip_check_enable: 1
  sipstats_check_num_packets: 1
  sipstats_check_num_packets_perday: 1
  sipstats_check_partition_size: 1
  snmpd:
    communities:
      public:
        - localhostThe following is the cleanup tools section:
cleanuptools:
  acc_cleanup_days: 90
  archive_targetdir: '/var/backups/cdr'
  binlog_days: 15
  cdr_archive_months: 2
  cdr_backup_months: 2
  cdr_backup_retro: 3
  compress: gzip
  delete_old_cdr_files:
    enabled: 'no'
    max_age_days: 30
    paths:
      -
        max_age_days: ~
        path: '/home/jail/home/*/20[0-9][0-9][0-9][0-9]/[0-9][0-9]'
        remove_empty_directories: 'yes'
        wildcard: 'yes'
      -
        max_age_days: ~
        path: '/home/jail/home/cdrexport/resellers/*/20[0-9][0-9][0-9][0-9]/[0-9][0-9]'
        remove_empty_directories: 'yes'
        wildcard: 'yes'
      -
        max_age_days: ~
        path: '/home/jail/home/cdrexport/system/20[0-9][0-9][0-9][0-9]/[0-9][0-9]'
        remove_empty_directories: 'yes'
        wildcard: 'yes'
  sql_batch: 10000
  trash_cleanup_days: 30acc table in kamailio database
will be deleted after this time
cdr_backup_months months first, and store them
in backup tables. Any older record will be left untouched.
cleanuptools.delete_old_cdr_files:
yes) or disable (no) exported CDR cleanup.
paths: an array of path definitions
yes) or disable (no) using wildcards in the path
yes) or disable (no) removing empty
directories if those are found in the given path
path
acc_trash and acc_backup
tables in kamailio database will be deleted.
For the description of cleanuptools please visit Cleanuptools Description Section 13.4, “Accounting Data (CDR) Cleanup” section of the handbook.
The following is the cluster sets section:
cluster_sets:
  default:
    dispatcher_id: 50
  default_set: default
  type: centraldefault
central or distributed
The following is the database section:
database: bufferpoolsize: 24768M
The following is the fax server section:
faxserver: enable: yes fail_attempts: '3' fail_retry_secs: '60' mail_from: 'Sipwise NGCP FaxServer <voipfax@ngcp.sipwise.local>'
The following is the general section:
general: adminmail: adjust@example.org companyname: sipwise lang: en
The following is the heartbeat section:
heartbeat:
  hb_watchdog:
    action_max: 5
    enable: 'yes'
    interval: 10
    transition_max: 10
  pingnodes:
    - 10.60.1.1
    - 192.168.3.4The following is the legal intercept section:
intercept:
  captagent:
    port: 18090
    schema: http
  enabled: 'no'The following is the kamailio section:
kamailio:
  lb:
    debug: 'no'
    extra_sockets: ~
    max_forwards: 70
    nattest_exception_ips:
      - 1.2.3.4
      - 5.6.7.8
    pkg_mem: 16
    port: 5060
    security:
      dos_ban_enable: 'yes'
      dos_ban_time: 300
      dos_reqs_density_per_unit: 50
      dos_sampling_time_unit: 5
      dos_whitelisted_ips: ~
      dos_whitelisted_subnets: ~
      failed_auth_attempts: 3
      failed_auth_ban_enable: 'yes'
      failed_auth_ban_time: 3600
    shm_mem: 2012
    start: 'yes'
    strict_routing_safe: 'no'
    tcp_children: 8
    tcp_max_connections: 2048
    tls:
      enable: 'no'
      port: 5061
      sslcertfile: '/etc/kamailio/kamailio-selfsigned.pem'
      sslcertkeyfile: '/etc/kamailio/kamailio-selfsigned.key'
    udp_children: 8
    use_dns_cache: 'on'
  proxy:
    allow_info_method: 'no'
    allow_peer_relay: 'no'
    allow_refer_method: 'no'
    authenticate_bye: 'no'
    cf_depth_limit: 10
    children: 8
    debug: 'no'
    default_expires: 3600
    enum_suffix: e164.arpa.
    filter_100rel_from_supported: 'yes'
    fritzbox:
      enable: 'no'
      prefixes:
        - 0$avp(caller_ac)
        - $avp(caller_cc)$avp(caller_ac)
        - '\+$avp(caller_cc)$avp(caller_ac)'
        - 00$avp(caller_cc)$avp(caller_ac)
      special_numbers:
        - 112
        - 110
        - 118[0-9]{2}
    foreign_domain_via_peer: 'no'
    ignore_auth_realm: 'no'
    keep_original_to: 'no'
    lnp:
      api:
        invalid_lnp_routing_codes:
          - ^EE00
          - ^DD00
        lnp_request_blacklist: []
        lnp_request_whitelist: []
        request_timeout: '1000'
      enabled: no
      type: api
    max_expires: 43200
    max_gw_lcr: 128
    max_registrations_per_subscriber: 5
    min_expires: 60
    nathelper_dbro: 'no'
    natping_interval: 30
    natping_processes: 7
    nonce_expire: 300
    pbx:
      hunt_display_indicator: '[h]'
    perform_peer_lcr: 0
    pkg_mem: 16
    port: 5062
    presence:
      enable: 'yes'
      max_expires: '3600'
      reginfo_domain: example.org
    proxy_lookup: 'no'
    set_ruri_to_peer_auth_realm: 'no'
    shm_mem: 2012
    start: 'yes'
    tcp_children: 4
    use_enum: 'no'
    usrloc_dbmode: 1local (local LNP database) and api (LNP lookup through external gateways). PLEASE NOTE: the api type of LNP lookup is only available for NGCP PRO / CARRIER installations.
api type]: number matching pattern for routing numbers that represent invalid call destinations; an announcement is played in that case and the call is dropped
api type]: list of matching patterns of called numbers for which LNP lookup must be done
api type]: list of matching patterns of called numbers for which LNP lookup must not be done
api type]: timeout in milliseconds while Proxy waits for the response of an LNP query from Sipwise LNP daemon
The following is the mediator section:
mediator: interval: 10
The following is the nginx section:
nginx: status_port: 8081 xcap_port: 1080
The following is the ntp server section:
ntp:
  servers:
    - 0.debian.pool.ntp.org
    - 1.debian.pool.ntp.org
    - 2.debian.pool.ntp.org
    - 3.debian.pool.ntp.orgThe following is the ossbss section:
ossbss:
  apache:
    port: 2443
    proxyluport: 1080
    restapi:
      sslcertfile: '/etc/ngcp-panel/api_ssl/api_ca.crt'
      sslcertkeyfile: '/etc/ngcp-panel/api_ssl/api_ca.key'
    serveradmin: support@sipwise.com
    servername: "\"myserver\""
    ssl_enable: 'yes'
    sslcertfile: '/etc/ngcp-config/ssl/myserver.crt'
    sslcertkeyfile: '/etc/ngcp-config/ssl/myserver.key'
  frontend: 'no'
  htpasswd:
    -
      pass: '{SHA}w4zj3mxbmynIQ1jsUEjSkN2z2pk='
      user: ngcpsoap
  logging:
    apache:
      acc:
        facility: daemon
        identity: oss
        level: info
      err:
        facility: local7
        level: info
    ossbss:
      facility: local0
      identity: provisioning
      level: DEBUG
    web:
      facility: local0
      level: DEBUG
  provisioning:
    allow_ip_as_domain: 1
    allow_numeric_usernames: 0
    auto_allow_cli: 1
    carrier:
      account_distribution_function: roundrobin
      prov_distribution_function: roundrobin
    credit_warnings:
      -
        domain: example.com
        recipients:
          - nobody@example.com
        threshold: 1000
    faxpw_min_char: 0
    log_passwords: 0
    no_logline_truncate: 0
    pw_min_char: 6
    routing:
      ac_regex: '[1-9]\d{0,4}'
      cc_regex: '[1-9]\d{0,3}'
      sn_regex: '[1-9]\d+'
    tmpdir: '/tmp'The following is the PBX section:
pbx: bindport: 5085 enable: 'no' highport: 55000 lowport: 50001 media_processor_threads: 10 session_processor_threads: 10 xmlrpcport: 8095
The following is the prosody section:
prosody: ctrl_port: 5582 log_level: info
The following is the pushd section:
pushd:
  apns:
    certificate: '/etc/ngcp-config/ssl/PushChatCert.pem'
    enable: yes
    endpoint: gateway.push.apple.com
    feedback_endpoint: feedback.push.apple.com
    feedback_interval: 3600
    key: '/etc/ngcp-config/ssl/PushChatKey.pem'
    socket_timeout: 0
  enable: yes
  gcm:
    enable: yes
    key: 'google_api_key_here'
    priority:
      call: high
      groupchat: normal
      invite: normal
      message: normal
  one_device_per_subscriber: no
  port: 45060
  processes: 4
  ssl: yes
  sslcertfile: /etc/ngcp-config/ssl/CAsigned.crt
  sslcertkeyfile: /etc/ngcp-config/ssl/CAsigned.key
  unique_device_ids: noThe following is the QOS section:
qos: tos_rtp: 184 tos_sip: 184
The following is the rate-o-mat section:
rateomat: enable: 'yes' loopinterval: 10 splitpeakparts: 0
The following is the redis section:
redis: database_amount: 16 port: 6379 syslog_ident: redis
The following is the reminder section:
reminder: retries: 2 retry_time: 60 sip_fromdomain: voicebox.sipwise.local sip_fromuser: reminder wait_time: 30 weekdays: '2, 3, 4, 5, 6, 7'
The following is the rsyslog section:
rsyslog:
  elasticsearch:
    action:
      resumeretrycount: '-1'
    bulkmode: 'on'
    dynSearchIndex: 'on'
    enable: 'yes'
    queue:
      dequeuebatchsize: 300
      size: 5000
      type: linkedlist
  external_address:
  external_log: 0
  external_loglevel: warning
  external_port: 514
  external_proto: udp
  ngcp_logs_preserve_days: 93The following is the rtp proxy section:
rtpproxy: allow_userspace_only: 'yes' maxport: 40000 minport: 30000 rtp_timeout: 21600 rtp_timeout_onhold: 3600
The following is the security section:
security:
  firewall:
    blacklist_networks_4: ~
    blacklist_networks_6: ~
    enable: 'yes'
    sipwise_support_access: 'no'
    whitelist_networks_4: ~
    whitelist_networks_6: ~The following is the SEMS section:
sems:
  bindport: 5080
  conference:
    enable: 'yes'
    max_participants: 10
  debug: 'no'
  highport: 50000
  lowport: 40001
  media_processor_threads: 10
  prepaid:
    enable: 'yes'
  sbc:
    calltimer_enable: 'yes'
    calltimer_max: 3600
    outbound_timeout: 6000
    sdp_filter:
      codecs: PCMA,PCMU,telephone-event
      enable: 'yes'
      mode: whitelist
    session_timer:
      enable: 'yes'
      max_timer: 7200
      min_timer: 90
      session_expires: 300
  session_processor_threads: 10
  vsc:
    block_override_code: 80
    cfb_code: 90
    cfna_code: 93
    cft_code: 92
    cfu_code: 72
    clir_code: 31
    directed_pickup_code: 99
    enable: 'yes'
    park_code: 97
    reminder_code: 55
    speedial_code: 50
    unpark_code: 98
    voicemail_number: 2000
  xmlrpcport: 8090The following is the SNMP Agent section:
snmpagent: daemonize: '1' debug: '0' update_interval: '30'
The following is the sshd section:
sshd:
  listen_addresses:
    - 0.0.0.0The following is the voice sniffer section:
voisniff:
  admin_panel: 'no'
  daemon:
    bpf: 'port 5060 or 5062 or ip6 proto 44 or ip[6:2] & 0x1fff != 0'
    external_interfaces: 'eth0 eth1'
    filter:
      exclude:
        -
          active: 0
          case_insensitive: 1
          pattern: '\ncseq: *\d+ +(register|notify|options)'
      include: []
    internal_interfaces: lo
    mysql_dump_threads: 4
    start: 'no'
    threads_per_interface: 10
  partitions:
    increment: 700000
    keep: 10The following is the WEB Admin interface (www_admin) section:
www_admin:
  ac_dial_prefix: 0
  apache:
    autoprov_port: 1444
  billing_features: 1
  callingcard_features: 0
  callthru_features: 0
  cc_dial_prefix: 00
  conference_features: 1
  contactmail: adjust@example.org
  dashboard:
    enabled: 1
  default_admin_settings:
    call_data: 0
    is_active: 1
    is_master: 0
    read_only: 0
    show_passwords: 1
  domain:
    preference_features: 1
    rewrite_features: 1
    vsc_features: 0
  fastcgi_workers: 2
  fax_features: 1
  fees_csv:
    element_order:
      - source
      - destination
      - direction
      - zone
      - zone_detail
      - onpeak_init_rate
      - onpeak_init_interval
      - onpeak_follow_rate
      - onpeak_follow_interval
      - offpeak_init_rate
      - offpeak_init_interval
      - offpeak_follow_rate
      - offpeak_follow_interval
      - use_free_time
  http_admin:
    autoprov_port: 1444
    port: 1443
    serveradmin: support@sipwise.com
    servername: "\"myserver\""
    ssl_enable: 'yes'
    sslcertfile: '/etc/ngcp-config/ssl/myserver.crt'
    sslcertkeyfile: '/etc/ngcp-config/ssl/myserver.key'
  http_csc:
    autoprov_bootstrap_port: 1445
    autoprov_port: 1444
    port: 443
    serveradmin: support@sipwise.com
    servername: "\"myserver\""
    ssl_enable: 'yes'
    sslcertfile: '/etc/ngcp-config/ssl/myserver.crt'
    sslcertkeyfile: '/etc/ngcp-config/ssl/myserver.key'
  logging:
    apache:
      acc:
        facility: daemon
        identity: oss
        level: info
      err:
        facility: local7
        level: info
  peer:
    preference_features: 1
  peering_features: 1
  security:
    password_allow_recovery: 0
    password_max_length: 40
    password_min_length: 6
    password_musthave_digit: 0
    password_musthave_lowercase: 1
    password_musthave_specialchar: 0
    password_musthave_uppercase: 0
    password_sip_autogenerate: 0
    password_sip_expose_subadmin: 1
    password_web_autogenerate: 0
    password_web_expose_subadmin: 1
  speed_dial_vsc_presets:
    vsc:
      - '*0'
      - '*1'
      - '*2'
      - '*3'
      - '*4'
      - '*5'
      - '*6'
      - '*7'
      - '*8'
      - '*9'
  subscriber:
    auto_allow_cli: 0
    extension_features: 0
  voicemail_features: 1