Skip to content

mod_sip: via parameter must be split now? #4444

@jeroenhabets

Description

@jeroenhabets

Today I noticed my ejabberd 25.08 would not start after some config updates. For me the mod_sip config from the documentation example stopped working, splitting the URL parts in the config (found in an old operating guide for 15.03) however does work.

Working via config format (with urls changed):

  mod_sip:
   ...
    via:
      -
        type: tls
        host: "sip-tls.example.com"
        port: 5061
      -
        type: tcp
        host: "sip-tcp.example.com"
        port: 5060
      -
        type: udp
        host: "sip-udp.example.com"
        port: 5060

Documented via config example (modules/mod_sip) that causes ejabberd failing to start:

  mod_sip:
   ...
    via:
      - tls://sip-tls.example.com:5061
      - tcp://sip-tcp.example.com:5060
      - udp://sip-udp.example.com:5060

Environment

  • ejabberd version: 25.8.0
  • Erlang version: 14.2.3 / OTP: 26.2.3
  • OS: Linux (Ubuntu 22.04.5 LTS)
  • Installed from: official deb (apt from https://repo.process-one.net/deb)

Errors from error.log/crash.log

2025-08-25 12:27:39.924 [critical] Failed to start ejabberd application: Exception occurred during configuration processing. This is most likely due to faulty/incompatible validator in third-party code. If you are not running any third-party code, please report the bug with ejabberd configuration file attached and the following stacktrace included:
** exception error: bad argument
   in function  list_to_atom/1
      called as list_to_atom(<<"tls">>)
      *** argument 1: not a list
   in call from mod_sip:'-mod_opt_type/1-fun-1-'/1 (src/mod_sip.erl, line 362)
   in call from yconf:'-list/2-fun-0-'/3 (/home/runner/work/ejabberd/ejabberd/deps/yconf/src/yconf.erl, line 545)
   in call from lists:mapfoldl_1/3 (lists.erl, line 2343)
   in call from yconf:'-list/2-fun-1-'/3 (/home/runner/work/ejabberd/ejabberd/deps/yconf/src/yconf.erl, line 541)
   in call from yconf:validate_option/3 (/home/runner/work/ejabberd/ejabberd/deps/yconf/src/yconf.erl, line 1277)
   in call from yconf:validate_options/8 (/home/runner/work/ejabberd/ejabberd/deps/yconf/src/yconf.erl, line 1254)
   in call from yconf:'-and_then/2-fun-0-'/3 (/home/runner/work/ejabberd/ejabberd/deps/yconf/src/yconf.erl, line 620)

Bug description

No idea if something is funky about my install but I would have expected to documented example for mod_sip via parameter to still work... I got my ejabberd up and running again with the working config but thought I'd report it to hear your opinion and perhaps help others stumbling upon this issue.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions