Nethvoice PBX in DMZ

NethServer Version: 8
Module: nethvoice-proxy
Hi,
we want to test a VoIP phone server (nethserver8 with PBX).
The first step after installation is the configuration of a “voice-proxy”, but we get an error:

Warning: IP addresses don't match

In order for the devices in the PBX local network to work correctly,
the 'hairpin NAT' function, also known as NAT reflection / NAT hairpining 
/ NAT on a stick / loopback NAT, must be enabled on the firewall (more
 precisely on the device that manages the NAT of the public IP).

Don’t understand, what they mean ?
The DNS is OK from outside and from inside, and updates with apt are working. That’s why we think DNAT/SNAT are OK.
What they want ?

It’s just a warning so the configuration should work and it can be changed afterwards. For internal testing you could also enter the Ns8 LAN IP, see also NethVoice Proxy — NS8 documentation

Hairpin NAT makes the port forwards available to the internal devices so they can use the public IP from LAN and get forwarded to NethVoice.

In case of Hairpin NAT the NethVoice FQDN should resolve to the public IP so no internal DNS entry is needed.

I think Hairpin NAT is required to always get working SIP addresses like 200@<PUBLIC_IP>.
It can be enabled on the firewall. Which firewall do you use?

Thanks,
we use IPFIRE firewall.
I think there must been a mistake, because I’m not able to install nethvoice modul after nethvoice-proxy:

NethVoice installieren
Aufgabe cluster/add-module fehlgeschlagen
Unteraufgabe cluster/add-module abgeschlossen

    Unteraufgabe cluster/create-module fehlgeschlagen

the more log :

Trying to pull ghcr.io/nethesis/nethvoice:1.1.3...
Getting image source signatures
Copying blob sha256:217d0037c9d052d3575e25fed22f9ba9a1b99ecad8394cbe9b40a1bb68c4b767
Copying blob sha256:eafa213b5d868d5aa942dce6d30a276044ccebe8e4f28be8b5f862266745cd04
Copying config sha256:fa5139958688b8ac0e05dd95a13aa92b7b8f69a23a255b0c472315e7959dafde
Writing manifest to image destination
Storing signatures
fa5139958688b8ac0e05dd95a13aa92b7b8f69a23a255b0c472315e7959dafde
<7>extract-ui ghcr.io/nethesis/nethvoice:1.1.3
Extracting container filesystem ui to /var/lib/nethserver/cluster/ui/apps/nethvoice2
ui/css/
ui/css/about~f71cff67.0f653e7f.css
ui/css/app~748942c6.aab134a6.css
ui/i18n/
ui/i18n/en/
ui/i18n/en/translation.json
ui/i18n/it/
ui/i18n/it/translation.json
ui/i18n/uk/
ui/i18n/uk/translation.json
ui/img/
ui/img/action_voice-cti.279bd800.svg
ui/img/background_voice.33056c5e.svg
ui/img/login_logo.e43d9d42.svg
ui/img/login_logo_dark.1c30d75d.svg
ui/img/module_default_logo.17b9e0d5.png
ui/index.html
ui/js/
ui/js/about~f71cff67.441d3383.js
ui/js/about~f71cff67.441d3383.js.map
ui/js/app~748942c6.a7cbd68a.js
ui/js/app~748942c6.a7cbd68a.js.map
ui/js/chunk-vendors~02576867.44c88c8d.js
ui/js/chunk-vendors~02576867.44c88c8d.js.map
ui/js/chunk-vendors~0605657e.7f254d6a.js
ui/js/chunk-vendors~0605657e.7f254d6a.js.map
ui/js/chunk-vendors~0f485567.413c42ca.js
ui/js/chunk-vendors~0f485567.413c42ca.js.map
ui/js/chunk-vendors~17faf02d.7f68aab6.js
ui/js/chunk-vendors~17faf02d.7f68aab6.js.map
ui/js/chunk-vendors~1d97ff09.290bda9d.js
ui/js/chunk-vendors~1d97ff09.290bda9d.js.map
ui/js/chunk-vendors~1f20a385.8eb39b07.js
ui/js/chunk-vendors~1f20a385.8eb39b07.js.map
ui/js/chunk-vendors~2a42e354.0df57e14.js
ui/js/chunk-vendors~2a42e354.0df57e14.js.map
ui/js/chunk-vendors~2aa62147.38204dba.js
ui/js/chunk-vendors~2aa62147.38204dba.js.map
ui/js/chunk-vendors~41d44f25.e7779fa1.js
ui/js/chunk-vendors~41d44f25.e7779fa1.js.map
ui/js/chunk-vendors~46852254.0b6d19c2.js
ui/js/chunk-vendors~46852254.0b6d19c2.js.map
ui/js/chunk-vendors~57473a66.f586d2ed.js
ui/js/chunk-vendors~57473a66.f586d2ed.js.map
ui/js/chunk-vendors~5bb1f863.3efba861.js
ui/js/chunk-vendors~5bb1f863.3efba861.js.map
ui/js/chunk-vendors~5eba3806.b8428291.js
ui/js/chunk-vendors~5eba3806.b8428291.js.map
ui/js/chunk-vendors~690b702c.fd888ae3.js
ui/js/chunk-vendors~690b702c.fd888ae3.js.map
ui/js/chunk-vendors~7274e1de.b9a8e23f.js
ui/js/chunk-vendors~7274e1de.b9a8e23f.js.map
ui/js/chunk-vendors~86f6b1bc.6688193d.js
ui/js/chunk-vendors~86f6b1bc.6688193d.js.map
ui/js/chunk-vendors~b5906859.09301dec.js
ui/js/chunk-vendors~b5906859.09301dec.js.map
ui/js/chunk-vendors~bc21d4b3.68b10b46.js
ui/js/chunk-vendors~bc21d4b3.68b10b46.js.map
ui/js/chunk-vendors~c8728516.dd1ccc58.js
ui/js/chunk-vendors~c8728516.dd1ccc58.js.map
ui/js/chunk-vendors~d2305125.6a99a4ff.js
ui/js/chunk-vendors~d2305125.6a99a4ff.js.map
ui/js/chunk-vendors~d9886323.1a1a66f6.js
ui/js/chunk-vendors~d9886323.1a1a66f6.js.map
ui/js/chunk-vendors~ec8c427e.5c1734c3.js
ui/js/chunk-vendors~ec8c427e.5c1734c3.js.map
ui/js/chunk-vendors~fdc6512a.81c5c86c.js
ui/js/chunk-vendors~fdc6512a.81c5c86c.js.map
ui/js/lang-en-translation-json~9b60384d.5f10c0e5.js
ui/js/lang-en-translation-json~9b60384d.5f10c0e5.js.map
ui/js/lang-it-translation-json~e043826f.276d7d31.js
ui/js/lang-it-translation-json~e043826f.276d7d31.js.map
ui/js/lang-uk-translation-json~14c5171a.357ebfaf.js
ui/js/lang-uk-translation-json~14c5171a.357ebfaf.js.map
ui/metadata.json
ui/shortcuts.json
ac54a59e7d0a74d67a86d5394fcbabbd3427c4dc2f6a2f2521f6d1c398bf3d6d
Assertion failed
  File "/var/lib/nethserver/cluster/actions/add-module/50update", line 196, in <module>
    agent.assert_exp(create_module_result['exit_code'] == 0) # Ensure create-module is successful

the complete log has more than 3000 characters - to much to insert here.

Did you configure Nethvoice Proxy like click save in the NS8 NethVoice Proxy app settings?

Hi,
…sorry. At first I was seeking the problem “error during installation of nethvoice modul”. It was not enough free space on /dev/vda2. Nethvoice need more then 32GB - I was surpriced ! - gave it 60GB.
And yes I saved the nethvoice-proxy-configuration by clicking at [Save]
Next question: Is it possible to install this all in LXC-Container, because of much needed ressources… ? Or is this a security risk ?

1 Like

NS8 in LXC didn’t work, see also Nethserver 8 inside a Proxmox LXC Debian Container?
I recommend to use a VM.

Even with NS7, it wouldn’t properly work as an LXC…

:slight_smile:

I do agree that our devs were a bit “high browed” by putting all development essentially on Notebooks and Proxmox equipped with NVMEs, and using an unrealistic size of 40 GB to simulate a transfer…

In real life, a lot of systems (NS7 mostly) are still running on “spinners”, so the follow up box to run NS8 on is also planned and built with spinners - too slow, we’re back to IO timeouts :frowning:

My 2 cents
Andy

1 Like

Hi,
we don’t get further and give it up. In the next months we will looking for an alternative.
Anyhow thanks to all helpers…

May I ask what was the issue?

1 Like

Hi Markus,
… we worked 7…8 Years with Nethserver. In this years were some (little) problems, that we could solve with the help of community and our humble knowledge.
The upgrade from NS7 >> NS8 was a little bit tricky and now we have a system, that we don’t understand. Every little problem is a marathon in forum and I’m tired and too old to learn this new system. Perhaps is my network structure not modern enough.
Since 1982 I learned information technic - most of it autodidact - just old school …
(CP/M basics redabas/Dbase DOS3.3…6.1 Novell Win3.1…10 Linux)
Nethserver 8 is too complicated and complex for me.

2 Likes

Glad to meet you, Rowihei. I have to admit, I had a challenge jumping on the train of NethServer 8 and I had grown accustom to NethServer 7 and its solid performance and easy configuration compared to the many other options out there.

Once I dug-in and looked under the hood of NethServer 8, the docs, as well as the forums, I was able to finally grasp the concept and the methodology - it didn’t hurt that I work with may other related stuff over the years.

I made the jump a little while back, and I am please to say that it is working smoothly.

I have used IPFire for many years. Let me know if you have questions with IPFire and NethServer and I will do my best to help you there.

I believe if you give us some feedback on your current situation, we should be able to help you get to your destination with Nethserver 8 and Nethvoice.

Just a thought. Can you show us a network topology of your current network setup, maybe? I know a number of people on here could help with suggesting the setup you should have with NethServer based on what your network topology is.

I am not sure I would do a DMZ, but once again I don’t know what your working with.

Hope we can help you further, let us know.

Thx
SF

2 Likes

Hi,
thanks for your answer.
Our System is growing historical…
First it was IPFIRE and a Windows7 with Thinstuff-Terminalserver …
Then January 2018 Nethserver6/7 were used with mail+sogo, later came nextcloud.
This are “toxic services”, that’s why in DMZ.
Now we tried to use Nethserver8 as “phone server”.
First we installed nethvoice-proxy. Configuration suggested this:

Settings
Proxy domain :
     12704.ns8.test
    (FQDN of the instance. Must be a valid domain name)
Network interfaces
     enp6s18 - 10.2.2.11
Public IP address
     80.xxx.yyy.zzz
     (IPv4 address expected to receive VoIP traffic)

Warning: IP addresses don't match

In order for the devices in the PBX local network to work correctly, the 'hairpin NAT'
 function, also known as NAT reflection / NAT hairpining / NAT on a stick / loopback
 NAT, must be enabled on the firewall (more precisely on the device that manages the
 NAT of the public IP).

Questions:
We created an A record for pbx.firma.de to the Public IP.
Should we take in nethvoice proxy the FQDN 12704.ns8.test or should we replace it with pbx.firma.de ?
The message is only a warning, and someone said “no problem”, but it makes me insecure …
That’s why we created a new VM in DMZ only for VoIP with nethvoice to test this.
But there are the same warnings and after installation of nethvoice are more problems … no end to see.

Inside Nethvoice-proxy you will want to make the proxy domain FQDN -
pbx.firma.de

Then inside Nethvoice you will want to enter the following -

Nethvoice base host:
voice.firma.de

Nethvoice CTI base host:

cti.firma.de

For your hosting side - domain dns, you will want to make sure you have A records point back to your local on-prem public IP for the subdomains -

Domain DNS - A Record for Nethvoice-proxy

Type Name value: TTL
A pbx X.X.X.X 1 Hour

Where the X.X.X.X is, you will place your public IP address there. You can get your public IP by going to the following links - https://ipchicken.com/ , https://whatismyipaddress.com/ , or https://ip.me/

Domain DNS - A Records for Nethvoice

Type Name value: TTL
A voice X.X.X.X 1 Hour
Type Name value: TTL
A cti X.X.X.X 1 Hour

Hope this helps.

2 Likes

Thanks,
this helped me … I only created A-record for pbx and cti - today I created A-record for voice…
Then I configured nethvoice, but there is a error message:

<4>agent.ldapproxy: domain firma.lan should not be used by nethvoice1. Invoke agent.bind_user_domains(["firma.lan"]) to fix this warning.
Job for mariadb.service failed because the control process exited with error code.
See "systemctl --user status mariadb.service" and "journalctl --user -xeu mariadb.service" for details.

…There is the next trap. On debian terminal I get this:

systemctl --user status mariadb.service" and "journalctl --user mariadb.service
Failed to connect to bus: Die Operation ist nicht erlaubt
root@pbx:/home/tux# systemctl --user status mariadb.service
Failed to connect to bus: Die Operation ist nicht erlaubt
root@pbx:/home/tux# journalctl --user -xeu mariadb.service
No journal files were found.
.....

I have to walk into another environment of this NS8 system …
How to do this ??

root@pbx:/home/nethvoice1# runagent -m nethvoice1
journalctl --user -xeu mariadb.service
....

The job identifier is 1192 and the job result is done.
Feb 18 14:27:13 pbx systemd[750]: mariadb.service: Start request repeated too quickly.
Feb 18 14:27:13 pbx systemd[750]: mariadb.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit UNIT has entered the 'failed' state with result 'exit-code'.
Feb 18 14:27:13 pbx systemd[750]: Failed to start mariadb.service - mariadb server.
░░ Subject: A start job for unit UNIT has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A start job for unit UNIT has finished with a failure.
░░ 
░░ The job identifier is 1192 and the job result is failed.

there is a problem with mariadb … but what can I do, to resolve this ??
The system protocol of NS8 said to me:

2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Queued start job for default target default.target.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Created slice app.slice - User Application Slice.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Reached target paths.target - Paths.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Reached target timers.target - Timers.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Starting dbus.socket - D-Bus User Message Bus Socket...
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Listening on dirmngr.socket - GnuPG network certificate management daemon.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Listening on gpg-agent-browser.socket - GnuPG cryptographic agent and passphrase cache (access for web browsers).
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Listening on gpg-agent-extra.socket - GnuPG cryptographic agent and passphrase cache (restricted).
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Listening on gpg-agent-ssh.socket - GnuPG cryptographic agent (ssh-agent emulation).
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Listening on gpg-agent.socket - GnuPG cryptographic agent and passphrase cache.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Listening on dbus.socket - D-Bus User Message Bus Socket.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Reached target sockets.target - Sockets.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Reached target basic.target - Basic System.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Started agent.service - Rootless module/nethvoice1 agent.
2025-02-18T15:11:28+01:00 [1:nethvoice1:systemd] Starting mariadb.service - mariadb server...
2025-02-18T15:11:28+01:00 [1:nethvoice1:podman] 2025-02-18 15:11:28.493018286 +0100 CET m=+0.138934711 system refresh
2025-02-18T15:11:28+01:00 [1:nethvoice1:podman] 2025-02-18 15:11:28.493589891 +0100 CET m=+0.139506307 image pull  ghcr.io/nethesis/nethvoice-mariadb:1.1.3
2025-02-18T15:11:29+01:00 [1:nethvoice1:podman] Port mappings have been discarded as one of the Host, Container, Pod, and None network modes are in use
2025-02-18T15:11:29+01:00 [1:nethvoice1:podman] Error: running container create option: invalid timezone: is a directory
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Created slice session.slice - User Core Session Slice.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Starting dbus.service - D-Bus User Message Bus...
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Started dbus.service - D-Bus User Message Bus.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Created slice user.slice - Slice /user.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Started podman-pause-3d44f89e.scope.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:29+01:00 [1:nethvoice1:podman] Error: reading CIDFile: open /run/user/1006/mariadb.ctr-id: no such file or directory
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] mariadb.service: Failed with result 'exit-code'.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Failed to start mariadb.service - mariadb server.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Reached target default.target - Main User Target.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Startup finished in 1.654s.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] mariadb.service: Scheduled restart job, restart counter is at 1.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Stopped mariadb.service - mariadb server.
2025-02-18T15:11:29+01:00 [1:nethvoice1:systemd] Starting mariadb.service - mariadb server...
2025-02-18T15:11:29+01:00 [1:nethvoice1:agent@nethvoice1] Handler of module/ldapproxy1/event/user-domain-changed is starting step 20configure_ldap
2025-02-18T15:11:29+01:00 [1:nethvoice1:podman] 2025-02-18 15:11:29.605368862 +0100 CET m=+0.050195614 image pull  ghcr.io/nethesis/nethvoice-mariadb:1.1.3
2025-02-18T15:11:30+01:00 [1:nethvoice1:podman] Port mappings have been discarded as one of the Host, Container, Pod, and None network modes are in use
2025-02-18T15:11:30+01:00 [1:nethvoice1:podman] Error: running container create option: invalid timezone: is a directory
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:30+01:00 [1:nethvoice1:podman] Error: reading CIDFile: open /run/user/1006/mariadb.ctr-id: no such file or directory
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] mariadb.service: Failed with result 'exit-code'.
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] Failed to start mariadb.service - mariadb server.
2025-02-18T15:11:30+01:00 [1:nethvoice1:agent@nethvoice1] Traceback (most recent call last):
2025-02-18T15:11:30+01:00 [1:nethvoice1:agent@nethvoice1]   File "/home/nethvoice1/.config/events/user-domain-changed/20configure_ldap", line 12, in <module>
2025-02-18T15:11:30+01:00 [1:nethvoice1:agent@nethvoice1]     from ldapproxy import Ldapproxy
2025-02-18T15:11:30+01:00 [1:nethvoice1:agent@nethvoice1] ModuleNotFoundError: No module named 'ldapproxy'
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] mariadb.service: Scheduled restart job, restart counter is at 2.
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] Stopped mariadb.service - mariadb server.
2025-02-18T15:11:30+01:00 [1:nethvoice1:systemd] Starting mariadb.service - mariadb server...
2025-02-18T15:11:30+01:00 [1:nethvoice1:agent@nethvoice1] exit status 1
2025-02-18T15:11:30+01:00 [1:nethvoice1:agent@nethvoice1] Handler of module/ldapproxy1/event/user-domain-changed exited with status "aborted" (1) at step 20configure_ldap
2025-02-18T15:11:30+01:00 [1:nethvoice1:podman] 2025-02-18 15:11:30.664291547 +0100 CET m=+0.097785688 image pull  ghcr.io/nethesis/nethvoice-mariadb:1.1.3
2025-02-18T15:11:31+01:00 [1:nethvoice1:podman] Port mappings have been discarded as one of the Host, Container, Pod, and None network modes are in use
2025-02-18T15:11:31+01:00 [1:nethvoice1:podman] Error: running container create option: invalid timezone: is a directory
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:31+01:00 [1:nethvoice1:podman] Error: reading CIDFile: open /run/user/1006/mariadb.ctr-id: no such file or directory
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] mariadb.service: Failed with result 'exit-code'.
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] Failed to start mariadb.service - mariadb server.
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] mariadb.service: Scheduled restart job, restart counter is at 3.
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] Stopped mariadb.service - mariadb server.
2025-02-18T15:11:31+01:00 [1:nethvoice1:systemd] Starting mariadb.service - mariadb server...
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] 2025-02-18 15:11:31.728207322 +0100 CET m=+0.079630188 image pull  ghcr.io/nethesis/nethvoice-mariadb:1.1.3
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] Port mappings have been discarded as one of the Host, Container, Pod, and None network modes are in use
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] Error: running container create option: invalid timezone: is a directory
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] Error: reading CIDFile: open /run/user/1006/mariadb.ctr-id: no such file or directory
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] mariadb.service: Failed with result 'exit-code'.
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] Failed to start mariadb.service - mariadb server.
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] mariadb.service: Scheduled restart job, restart counter is at 4.
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] Stopped mariadb.service - mariadb server.
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] Starting mariadb.service - mariadb server...
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] 2025-02-18 15:11:32.63931692 +0100 CET m=+0.060826909 image pull  ghcr.io/nethesis/nethvoice-mariadb:1.1.3
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] Port mappings have been discarded as one of the Host, Container, Pod, and None network modes are in use
2025-02-18T15:11:32+01:00 [1:nethvoice1:podman] Error: running container create option: invalid timezone: is a directory
2025-02-18T15:11:32+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:33+01:00 [1:nethvoice1:podman] Error: reading CIDFile: open /run/user/1006/mariadb.ctr-id: no such file or directory
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] mariadb.service: Control process exited, code=exited, status=125/n/a
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] mariadb.service: Failed with result 'exit-code'.
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] Failed to start mariadb.service - mariadb server.
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] mariadb.service: Scheduled restart job, restart counter is at 5.
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] Stopped mariadb.service - mariadb server.
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] mariadb.service: Start request repeated too quickly.
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] mariadb.service: Failed with result 'exit-code'.
2025-02-18T15:11:33+01:00 [1:nethvoice1:systemd] Failed to start mariadb.service - mariadb server.
2025-02-18T15:19:07+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/38d5585c-23d2-4aee-a75d-bd4972a32421: get-name/50get_name is starting
2025-02-18T15:19:07+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/d82411f0-6976-45ed-af0f-857369688414: get-status/20read is starting
2025-02-18T15:19:08+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/38d5585c-23d2-4aee-a75d-bd4972a32421: action "get-name" status is "completed" (0) at step 50get_name
2025-02-18T15:19:09+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/d82411f0-6976-45ed-af0f-857369688414: action "get-status" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:12+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/f89a9b20-b878-475f-bd3b-f42194ec41bb: get-defaults/10defaults is starting
2025-02-18T15:19:12+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/fd44ce03-5ea0-4a39-8912-600e86a58a9f: get-rebranding/10read is starting
2025-02-18T15:19:12+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/f89a9b20-b878-475f-bd3b-f42194ec41bb: action "get-defaults" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:12+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/dea3ab88-954e-4236-baed-3cfc9846ec8f: get-proxy-status/10get is starting
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/fd44ce03-5ea0-4a39-8912-600e86a58a9f: action "get-rebranding" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/aa6fe7f1-736c-4eca-96a5-09206fe6cf2e: get-configuration/20read is starting
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/dea3ab88-954e-4236-baed-3cfc9846ec8f: action "get-proxy-status" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/e8a64ac7-5bef-478a-9fd7-4cc04e77ab27: get-configuration/20read is starting
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/aa92b822-f96c-46b8-95b5-3700ca0c4164: get-configuration/20read is starting
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/aa6fe7f1-736c-4eca-96a5-09206fe6cf2e: action "get-configuration" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/e8a64ac7-5bef-478a-9fd7-4cc04e77ab27: action "get-configuration" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:13+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/aa92b822-f96c-46b8-95b5-3700ca0c4164: action "get-configuration" status is "completed" (0) at step validate-output.json
2025-02-18T15:19:48+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/fce5b2d5-aea8-49f4-a6ea-4e4c080c9352: get-status/20read is starting
2025-02-18T15:19:50+01:00 [1:nethvoice1:agent@nethvoice1] task/module/nethvoice1/fce5b2d5-aea8-49f4-a6ea-4e4c080c9352: action "get-status" status is "completed" (0) at step validate-output.json

It’s looking like a time zone error (?)
Did I something misunderstood in nethvoice configuration ??

 Timezone
    Europe
Request Let's Encrypt certificate
    No
Reports Prefix
    +49       ( i ) Format must be either "00**"  or "+**"
Reset NethVoice admin password to access user interface (optional)

It is not possible to say “Timezone: Europe/Berlin” like other system do this.
That’s why I assume +49 is meant…

Basic system is debian12 and there is timezone ok:

root@pbx:/home/tux# timedatectl
               Local time: Do 2025-02-20 08:49:50 CET
           Universal time: Do 2025-02-20 07:49:50 UTC
                 RTC time: Do 2025-02-20 07:49:50
                Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Where I could control / correct the mariadb timezone ??
mariadb is not active:

root@pbx:/home/tux# runagent -m nethvoice1
runagent: [INFO] starting bash -l
runagent: [INFO] working directory: /home/nethvoice1/.config/state
nethvoice1@pbx:~/.config/state$ timedatectl 
               Local time: Thu 2025-02-20 11:05:52 CET
           Universal time: Thu 2025-02-20 10:05:52 UTC
                 RTC time: Thu 2025-02-20 10:05:53
                Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

nethvoice1@pbx:~/.config/state$ mysql --help
Error: no container with name or ID "mariadb" found: no such container
nethvoice1@pbx:~/.config/state$ 

It is a nethvoice-on-debian problem. I found this in forum
NethVoice would not allow me to select or put a timezone
I tried now time zone=MET - hoping this means MiddleEuropeTime
But what means MST ? MiddleEuropeSummertime ?
Have I manually change to summertime ??

Hi, there is the next trap …
I think nethvoice on debian is not ready to use.
The timezone list in nethvoice only shows timezones without a slash …
That’s why it is not possible to configure Africa/Cairo or Europe/Berlin and so on.
Someone should have a look at the source code …
After changing timezone to “MET” nethvoice configuration works and I’m able to open
https://cti.firma.de !! But the next trap …
It is not possible to login with admin … password >>> no reaction
In system logs I found this:

2025-02-20T12:50:32+01:00 [1:nethvoice1:freepbx] [2025-02-20 12:50:32] [freepbx.INFO]: [NOTIFICATION]-[freepbx]-[modules_broken] - You have 4 broken modules (The following modules are disabled because they are broken: bulkdids, endpointman, inboundlookup, outboundlookup  You should go to the module admin page to fix these.) [] []
2025-02-20T12:50:32+01:00 [1:nethvoice1:freepbx] 127.0.0.1 - - [20/Feb/2025:12:50:32 +0100] "GET /freepbx/admin/config.php HTTP/1.1" 200 10603 "-" "curl/7.88.1"
1 Like

I can confirm that there are issues. In my case I can’t select a network interface in NethVoice proxy on a Debian VM.

Similar error on status page:

2025-02-21T11:40:32+01:00 [1::agent@cluster] task/cluster/9f97a2f2-14bc-42e3-a7a4-a8d4709e30d6: list-installed-modules/50list is starting
2025-02-21T11:40:32+01:00 [1::api-server] [AUTH] error retrieving user authorizations: redis: nil
2025-02-21T11:40:32+01:00 [1::api-server] [AUTH] error retrieving user authorizations: redis: nil
2025-02-21T11:40:32+01:00 [1::api-server] [AUTH] error retrieving user authorizations: redis: nil

The same error message occured here, maybe I’m doing something wrong when installing NS8 Debian…I need to investigate.

I tried another administration user without success.

This NOTIFICATION message comes from freepbx and can be fixed there, I don’t think it’s an issue.

1 Like

Setting the password for the admin user didn’t work due to wrong timezone.
The default password “Nethesis,1234” worked, see also NethVoice — NS8 documentation

Reverted to fresh NS8 snapshot and NethVoice Proxy installation went through. This time I test using an OpenLDAP user domain.

Just taking notes:

1 Like

sorry - in my case:


And I don’t know how I should execute the script by dnutan. On debian base?
In the nethvoice container ???
What is the right timezone ? By hand GMT+1 for Berlin ?? This will be replaced by GMT+0…

As NethVoice instance user you can simply edit the relevant code:

Enter as NethVoice instance user:

runagent -m nethvoice1

Edit the file ../actions/get-defaults/10defaults

nano ../actions/get-defaults/10defaults

…and replace the content with the code by @dnutan (except the first line #!/usr/bin/env python3)
Now the timezone selection in the UI should work and it should work to set a new password.

In your case it’s Europe/Berlin.

To login to the admin UI you need to go to voice.firma.de, there either “Nethesis,1234” or the password you set should work.

To login to the CTI UI as domain user you need to create a group under configurations and allow the group in the profiles and set a profile or the group for the user, see also NethVoice — NS8 documentation

1 Like