[New Addon] DSS VoIP Notifier: Hassio makes phone calls to you! ☎️

Yep. I have good ideas. Sometimes…

:rofl::rofl::rofl:

Post full logs and addon configuration if you want help here… I don’t read minds… At the moment

My config :

sip_parameters:
  caller_id_uri: sip:[email protected]:5060
  realm: '*'
  username: '27'
  password: ******
  sip_server_uri: sip:192.168.0.10:5060
pjsua_custom_options: '--no-tcp'

As I said, I also tried with --outbound=sip:192.168.0.10:5060;lr

Full logs :

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 
-----------------------------------------------------------
 Add-on: DSS VoIP Notifier
 VoIP Notifier for Home Assistant
-----------------------------------------------------------
 Add-on version: 3.5.9
 You are running the latest version of this add-on.
 System: Debian GNU/Linux 10 (buster)  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2021.12.10
 Home Assistant Supervisor: 2021.12.2
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[Info] Starting addon...
PJSUA_CUSTOM_OPTIONS = '--no-tcp'
[Info] Registering as SIP Client...
PJSUA_CUSTOM_OPTIONS = '--no-tcp'
-----------------------------------------------------------
                  SIP Client registered.

 Call <sip:[email protected]:5060>/VoIP phone number
 to check system status.
 You'll find logs in /share/dss_voip/dss_autoanswer.log
-----------------------------------------------------------
[Info] Listening for messages via stdin service call...
[Info] Received messages {"call_sip_uri": "sip:[email protected]:5060", "message_tts": "Write here your message"}
Converting audio file 'http://10.2.100.11:8123/api/tts_proxy/3bb4cd06a7898fc0a33665f241cb48f2f2a192ac_en_-_google_translate.mp3'...
Audio succesfully converted...
Starting SIP Client and calling 'sip:[email protected]:5060'...
This call will be terminated after '50' seconds.
08:18:31.569         os_core_unix.c !pjlib 2.9 for POSIX initialized
08:18:31.570         sip_endpoint.c  .Creating endpoint instance...
08:18:31.570                  pjlib  .select() I/O Queue created (0xffff8aef40f0)
08:18:31.570         sip_endpoint.c  .Module "mod-msg-print" registered
08:18:31.570        sip_transport.c  .Transport manager created.
08:18:31.570           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
08:18:31.590           pjsua_core.c  .pjsua version 2.9 for Linux-5.10/aarch64 initialized
08:18:31.593            pjsua_app.c  .Turning sound device -99 -99 ON
08:18:31.593                 main.c  Ready: Success
08:18:31.595            pjsua_app.c  .......Call 0 state changed to CALLING
>>>>
Account list:
  [ 0] <sip:172.30.33.6:5060>: does not register
       Online status: Online
 *[ 1] sip:[email protected]:5060: does not register
       Online status: Online
Buddy list:
 [ 1] <?>  sip:[email protected]:5060
+=============================================================================+
|       Call Commands:         |   Buddy, IM & Presence:  |     Account:      |
|                              |                          |                   |
|  m  Make new call            | +b  Add new buddy       .| +a  Add new accnt |
|  M  Make multiple calls      | -b  Delete buddy         | -a  Delete accnt. |
|  a  Answer call              |  i  Send IM              | !a  Modify accnt. |
|  h  Hangup call  (ha=all)    |  s  Subscribe presence   | rr  (Re-)register |
|  H  Hold call                |  u  Unsubscribe presence | ru  Unregister    |
|  v  re-inVite (release hold) |  t  ToGgle Online status |  >  Cycle next ac.|
|  U  send UPDATE              |  T  Set online status    |  <  Cycle prev ac.|
| ],[ Select next/prev call    +--------------------------+-------------------+
|  x  Xfer call                |      Media Commands:     |  Status & Config: |
|  X  Xfer with Replaces       |                          |                   |
|  #  Send RFC 2833 DTMF       | cl  List ports           |  d  Dump status   |
|  *  Send DTMF with INFO      | cc  Connect port         | dd  Dump detailed |
| dq  Dump curr. call quality  | cd  Disconnect port      | dc  Dump config   |
|                              |  V  Adjust audio Volume  |  f  Save config   |
|  S  Send arbitrary REQUEST   | Cp  Codec priorities     |                   |
+-----------------------------------------------------------------------------+
|  q  QUIT   L  ReLoad   sleep MS   echo [0|1|txt]     n: detect NAT type     |
+=============================================================================+
You have 1 active call
Current call id=0 to sip:[email protected]:5060 [CALLING]
>>> 08:18:32.594            pjsua_app.c  .Turning sound device -99 -99 OFF
08:19:03.595            pjsua_app.c  ....Call 0 is DISCONNECTED [reason=408 (Request Timeout)]
08:19:03.595     pjsua_app_common.c  ....
  [DISCONNCTD] To: sip:[email protected]
    Call time: 00h:00m:00s, 1st res in 32002 ms, conn in 0ms
No current call
[Info] Call ended...
[Info] Listening for messages via stdin service call...

Thanks

Raspberry. Please use this instead main version

If you’ll not ear any sound when picking up the call add --ip-addr=raspberry IP

Is not mandatory. But with this you can call 27 extension and test add-on

Thanks for your quick answers.
So I tried with the “34” version but same problem

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 
-----------------------------------------------------------
 Add-on: DSS VoIP Notifier34
 VoIP Notifier for Home Assistant
-----------------------------------------------------------
 Add-on version: 3.4.3
 You are running the latest version of this add-on.
 System: Debian GNU/Linux 10 (buster)  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2021.12.10
 Home Assistant Supervisor: 2021.12.2
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[Info] Starting addon...
[Info] Registering as SIP Client...
-----------------------------------------------------------
                  SIP Client registered.

 Call <sip:[email protected]:5060>/VoIP phone number
 to check system status.
 You'll find logs in /share/dss_voip34/dss_autoanswer.log
-----------------------------------------------------------
[Info] Listening for messages via stdin service call...
[Info] Received messages {"call_sip_uri": "sip:[email protected]:5060", "message_tts": "Write here your message"}
Converting audio file 'http://10.2.100.11:8123/api/tts_proxy/3bb4cd06a7898fc0a33665f241cb48f2f2a192ac_en_-_google_translate.mp3'...
Audio succesfully converted...
Starting SIP Client and calling 'sip:[email protected]:5060'...
This call will be terminated after '50' seconds.
09:34:30.879         os_core_unix.c !pjlib 2.9 for POSIX initialized
09:34:30.880         sip_endpoint.c  .Creating endpoint instance...
09:34:30.880                  pjlib  .select() I/O Queue created (0xaaaaeed9ac90)
09:34:30.880         sip_endpoint.c  .Module "mod-msg-print" registered
09:34:30.880        sip_transport.c  .Transport manager created.
09:34:30.880           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
09:34:30.897           pjsua_core.c  .pjsua version 2.9 for Linux-5.10/aarch64 initialized
09:34:30.899            pjsua_app.c  .Turning sound device -99 -99 ON
09:34:30.900                 main.c  Ready: Success
09:34:30.901            pjsua_app.c  .......Call 0 state changed to CALLING
>>>>
Account list:
  [ 0] <sip:172.30.33.6:5060>: does not register
       Online status: Online
  [ 1] <sip:172.30.33.6:5060;transport=TCP>: does not register
       Online status: Online
 *[ 2] sip:[email protected]:5060: does not register
       Online status: Online
Buddy list:
 [ 1] <?>  sip:[email protected]:5060
+=============================================================================+
|       Call Commands:         |   Buddy, IM & Presence:  |     Account:      |
|                              |                          |                   |
|  m  Make new call            | +b  Add new buddy       .| +a  Add new accnt |
|  M  Make multiple calls      | -b  Delete buddy         | -a  Delete accnt. |
|  a  Answer call              |  i  Send IM              | !a  Modify accnt. |
|  h  Hangup call  (ha=all)    |  s  Subscribe presence   | rr  (Re-)register |
|  H  Hold call                |  u  Unsubscribe presence | ru  Unregister    |
|  v  re-inVite (release hold) |  t  ToGgle Online status |  >  Cycle next ac.|
|  U  send UPDATE              |  T  Set online status    |  <  Cycle prev ac.|
| ],[ Select next/prev call    +--------------------------+-------------------+
|  x  Xfer call                |      Media Commands:     |  Status & Config: |
|  X  Xfer with Replaces       |                          |                   |
|  #  Send RFC 2833 DTMF       | cl  List ports           |  d  Dump status   |
|  *  Send DTMF with INFO      | cc  Connect port         | dd  Dump detailed |
| dq  Dump curr. call quality  | cd  Disconnect port      | dc  Dump config   |
|                              |  V  Adjust audio Volume  |  f  Save config   |
|  S  Send arbitrary REQUEST   | Cp  Codec priorities     |                   |
+-----------------------------------------------------------------------------+
|  q  QUIT   L  ReLoad   sleep MS   echo [0|1|txt]     n: detect NAT type     |
+=============================================================================+
You have 1 active call
Current call id=0 to sip:[email protected]:5060 [CALLING]
>>> 09:34:31.899            pjsua_app.c  .Turning sound device -99 -99 OFF
09:35:02.901            pjsua_app.c  ....Call 0 is DISCONNECTED [reason=408 (Request Timeout)]
09:35:02.901     pjsua_app_common.c  ....
  [DISCONNCTD] To: sip:[email protected]
    Call time: 00h:00m:00s, 1st res in 32001 ms, conn in 0ms
No current call
[Info] Call ended...
[Info] Listening for messages via stdin service call...

If it can help, another log :

ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5181:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5181:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5181:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5181:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4693:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5181:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM dmix
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

Why your hassio has 10.2.100.x IP class but your PBX has 192.168.0.x IP class?

Have you configured correctly your LAN routes?
Is there any firewall or something that drops VoIP packets between Raspberry and PBX?

Those are 2 networks at different locations, linked through site-to-site VPN.
I have many SIP phones and a Doorbird doorbell at the same location (10.2.100.*) and everything works well. So probably not related to network I think.
There’s no firewall between RPi and PBX.

have you added --no-tcp option?

In one of my few trials, yes.

[Info] Starting addon...
PJSUA_CUSTOM_OPTIONS = '--no-tcp'
[Info] Registering as SIP Client...
PJSUA_CUSTOM_OPTIONS = '--no-tcp'
-----------------------------------------------------------
                  SIP Client registered.

 Call <sip:[email protected]:5060>/VoIP phone number
 to check system status.
 You'll find logs in /share/dss_voip34/dss_autoanswer.log
-----------------------------------------------------------
[Info] Listening for messages via stdin service call...

have you called #27 extension from your phones?

Yes of course, but it does not work.
As well as the status in my PBX that shows that the extension is not registrered.

Shoud be a network misconfiguration.

try

I use a reverse proxy (nginx) but HA allows direct connections to its IP on port 8123.

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
  ip_ban_enabled: true
  login_attempts_threshold: 5

Open a shell and ping PBX ip. If you reach PBX it will register. Otherwise…

Indeed, from the terminal inside HA, ping does not get response.
The strange thing is that it’s the only IP that is not reached. Others at the same location (192.168.0.*) are responding.

I just tried on another instance of HA which is located on the 192.168 network, and there, it connects. I can call the extension.
But the call doesn’t work :

Current call id=0 to sip:[email protected]:5060 [CALLING]
>>> 21:32:12.331      tsx0xaaaaeb41e6e8  .......Temporary failure in sending Request msg INVITE/cseq=8245 (tdta0xaaaaeb429528), will try next server: Unsupported transport (PJSIP_EUNSUPTRANSPORT)
21:32:12.358            pjsua_app.c  .....Call 0 is DISCONNECTED [reason=403 (Forbidden)]
21:32:12.358     pjsua_app_common.c  .....
  [DISCONNCTD] To: sip:[email protected]
    Call time: 00h:00m:00s, 1st res in 48 ms, conn in 0ms
21:32:13.309            pjsua_app.c  .Turning sound device -99 -99 OFF
No current call
[Info] Call ended...

Seems to be related to transport. That’s with “no-tcp” flag. Without it, I get another error message :

You have 1 active call
Current call id=0 to sip:[email protected]:5060 [CALLING]
>>> 21:39:43.821     tcpc0xaaaaf4742f88  TCP connect() error: [code=120111]: Connection refused
21:39:43.821      tsx0xaaaaf472c6e8  Temporary failure in sending Request msg INVITE/cseq=11099 (tdta0xaaaaf4738408), will try next server: Connection refused
21:39:43.821            pjsua_app.c  SIP TCP transport is disconnected from 192.168.0.10:5060: Connection refused [status=120111]
21:39:43.848            pjsua_app.c  .....Call 0 is DISCONNECTED [reason=403 (Forbidden)]
21:39:43.848     pjsua_app_common.c  .....
  [DISCONNCTD] To: sip:[email protected]
    Call time: 00h:00m:00s, 1st res in 49 ms, conn in 0ms
21:39:44.800            pjsua_app.c  .Turning sound device -99 -99 OFF
No current call
[Info] Call ended...

Double check username & password. Your PBX doesn’t allow you to place a call!

Addon is working. Fix your login data
Bye

My credentials are correct because I can call the extension. If I change my credentials to make them wrong, I can’t even call the extension.

Anyway, I’ll try to find the solution. Thanks a lot for the time you spent with me.

1 Like

Back again. Had no issues with my alarm system (no burglary etc.).
Last few days I have played a little with my system around the alarm system and found out that the old script posted here in Sept 2020 does not work anymore even without a template parameter.
I also noticed the 12voip is not in the list of valid Viop services.
One this did improved that involves the DSS Voip is that I have found that Microsoft TTS works great with languages like Hebrew and probably others that are not supported by Google Translate.
It works really great and supposed to be used by DSS Voip as well.
Anyone still using 12Viop under the latest 2022 HASS version.