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

Ok useró google translate:
I configured the addon and script as indicated in the guide.
I think the problem is in the router, but I don’t receive the call on my smartphone.
I created a voip number on fritzbox with username and password but nothing happens. What can it be? Would you be kind to help me?
I would like to use your service to notify me that the house alarm goes off.


Do you have a telegram contact where you can help me so I can solve the problem and then post the solution on the forum?
My telegram contact is @PakyITA

Please check private messages inbox

Setting -1 for max_call_time did the trick! :smiley:

1 Like

Thanks for this, my supervisor watchdog keeps finding that the addon has failed, is it something you’re aware of? :slight_smile:

If not the watchdog catching the failed state, I get this error:

[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...
MAX_CALL_TIME = '-1'
[Info] Listening for messages via stdin service call...
[Info] Received messages {"call_sip_uri":"sip:[redacted]@[redacted]","message_tts":"Hello"}
Converting audio file 'https://[redacted].org:8123/api/tts_proxy/0f7689264bc63373cb9727382a2241632bc1c3d4_en_-_google_translate.mp3'...
Audio succesfully converted...
Starting SIP Client and calling 'sip:sip:[redacted]@[redacted]'...
This call will be terminated after '3.18' seconds.
20:59:57.103         os_core_unix.c !pjlib 2.9 for POSIX initialized
./run: line 337: echo: write error: Broken pipe
./run: line 337: echo: write error: Broken pipe
./run: line 337:   413 Exit 1                  ( sleep $MAX_CALL_TIME_VALUE; echo h; sleep 0.5; echo q )
       414 Segmentation fault      (core dumped) | ( pjsua --app-log-level=3 --config-file '/share/dss_voiparm/dss_pjsua.conf' $CALL_SIP_URI_VALUE 2> /share/dss_voiparm/dss_pjsua.log )
[Error] pjsua Exit code: 139
[Info] Call ended...
[Info] Listening for messages via stdin service call...

Sometimes it works though!

In the end I succeeded thanks to a user. It works perfectly! In the caller_id_uri I put the username I created when activating the voip on the fritz and not the voip number so the syntax is sip:username@ipfritzbox:5060

Please rephrase in English so everyone can follow the conversation

2 Likes

Sometimes pjsua will raise a segmentation fault. Seems a bug on the bin.
I’ve already searched and google is full for query pjsua segmentation fault, but I haven’t found any solution…

Try to leave some time between each call

Hello and congratulations on this fantastic add-on! I was trying to get it to work to manage the house alarm but unfortunately I can’t receive any calls. I use the add-on with the Irideos-Orchestra VoIP service, I followed the specific guide but was unable to make it work. My configuration is Hassio.os+proxmox+mini pc. The addo-on installs correctly but unfortunately crashes while making the call. I attach the logs to see if you have any advice to give me.
A thousand thanks

[Info] Listening for messages via stdin service call...
[Info] Received messages {"call_sip_uri":"sip:+3934733476**@voip.eutelia.it","message_tts":"Prova messaggio"}
Converting audio file 'http://192.168.1.90:8123/api/tts_proxy/772c970523ed7389b60b2ed1b674b3705d965e37_it_-_google_translate.mp3'...
Audio succesfully converted...
Starting SIP Client and calling 'sip:+3934733476**@voip.eutelia.it'...
This call will be terminated after '50' seconds.
23:54:37.704         os_core_unix.c !pjlib 2.11.1 for POSIX initialized
23:54:37.705         sip_endpoint.c  .Creating endpoint instance...
23:54:37.705                  pjlib  .select() I/O Queue created (0x7fc7ab008100)
23:54:37.705         sip_endpoint.c  .Module "mod-msg-print" registered
23:54:37.705        sip_transport.c  .Transport manager created.
23:54:37.705           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
23:54:37.713           pjsua_core.c  .pjsua version 2.11.1 for Linux-6.6.20/x86_64 initialized
23:54:37.714            pjsua_app.c  .Turning sound device -99 -99 ON
23:54:37.714                 main.c  Ready: Success
23:54:37.716            pjsua_app.c  .......Call 0 state changed to CALLING
>>>>
Account list:
  [ 0] <sip:172.30.33.8:5060>: does not register
       Online status: Online
  [ 1] <sip:172.30.33.8:5060;transport=TCP>: does not register
       Online status: Online
 *[ 2] sip:04186277**@voip.eutelia.it: does not register
       Online status: Online
Buddy list:
 [ 1] <?>  sip:+3934733476**@voip.eutelia.it

+=============================================================================+
|       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:+3934733476**@voip.eutelia.it [CALLING]
>>> 23:54:38.715            pjsua_app.c  .Turning sound device -99 -99 OFF
23:54:44.998     tcpc0x7fc7aae61538  TCP connect() error: [code=120113]: Host is unreachable
23:54:44.998      tsx0x7fc7aae776e8  Temporary failure in sending Request msg INVITE/cseq=17067 (tdta0x7fc7aae6eaa8), will try next server: Host is unreachable
23:54:44.998            pjsua_app.c  SIP TCP transport is disconnected from 83.211.227.21:5060: Host is unreachable [status=120113]
23:55:16.999            pjsua_app.c  ....Call 0 is DISCONNECTED [reason=408 (Request Timeout)]
No current call
>>> 23:55:29.236                timer.c  .Dumping timer heap:
23:55:29.236                timer.c  .  Cur size: 0 entries, max: 3070
[Info] Call ended...
[Info] Listening for messages via stdin service call...

Questa è la mia configurazione dell’add-on

sip_parameters:
  caller_id_uri: sip:04186277**@voip.eutelia.it
  realm: "*"
  username: "04186277**"
  password: px************

Add

--no-tcp

Option. See above

Hi! I’ve sent you a full log as you asked as a DM, but the particular bit that seems to cause or come just before the addon quitting is:

Mar 26 20:35:11 homeassistant addon_89275b70_dss_voiparm[488]: jq: error (at <stdin>:1): Cannot index string with string "call_duration"

It will fail sometimes?

So seems that SOXY cannot get file lengt.
Have you tried to enable TTS cache?

I use this setup:

# Text to speech
tts:
  - platform: google_translate
    service_name: google_translate_say
    language: 'it'
    cache: true
    cache_dir: /config/www/tts
    time_memory: 300
    #base_url: !secret http_base_url ###deprecated

So I managed to resolve my previous issue, this was my fault, caused by not closing my JSON bracket at the end of my input properly. D’oh!

New issue:-

[Info] Listening for messages via stdin service call...
[Info] Received messages {"call_sip_uri":"sip:[email protected]","message_tts":"Good morning, Mary. Today is Wednesday 27 March  "}
Converting audio file 'https://x.duckdns.org:8123/api/tts_proxy/21cda9b9cd6f0e09cf12cd2beebe60df90832cbf_en_-_google_translate.mp3'...
Audio succesfully converted...
Starting SIP Client and calling 'sip:[email protected]'...
This call will be terminated after '4.66' seconds.
13:38:39.778         os_core_unix.c !pjlib 2.9 for POSIX initialized
13:38:39.778         sip_endpoint.c  .Creating endpoint instance...
13:38:39.779                  pjlib  .select() I/O Queue created (0x55ab9b5c90)
13:38:39.779         sip_endpoint.c  .Module "mod-msg-print" registered
13:38:39.779        sip_transport.c  .Transport manager created.
13:38:39.779           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
13:38:39.798           pjsua_core.c  .pjsua version 2.9 for Linux-5.15.84/aarch64 initialized
13:38:39.802            pjsua_app.c  .Turning sound device -99 -99 ON
13:38:39.802                 main.c  Ready: Success
13:38:39.804            pjsua_app.c  .......Call 0 state changed to CALLING
>>>>
Account list:
  [ 0] <sip:172.30.33.9:5060>: does not register
       Online status: Online
  [ 1] <sip:172.30.33.9:5060;transport=TCP>: does not register
       Online status: Online
 *[ 2] sip:[email protected]: does not register
       Online status: Online
Buddy list:
 [ 1] <?>  sip:[email protected]
+=============================================================================+
|       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] [CALLING]
>>> 13:38:39.810       tcpc0x55aba09f08  TCP connect() error: [code=120111]: Connection refused
13:38:39.810        tsx0x55aba09108  Temporary failure in sending Request msg INVITE/cseq=17050 (tdta0x55aba00408), will try next server: Connection refused
13:38:39.811            pjsua_app.c  SIP TCP transport is disconnected from 192.168.0.118:5060: Connection refused [status=120111]
13:38:40.803            pjsua_app.c  .Turning sound device -99 -99 OFF
13:38:41.490            pjsua_app.c  .....Call 0 state changed to CONNECTING
13:38:41.496            pjsua_app.c  ........Turning sound device -99 -99 ON
13:38:41.497            pjsua_app.c  .....Call 0 state changed to CONFIRMED
>>> 13:38:44.424            pjsua_app.c  .....Call 0 is DISCONNECTED [reason=200 (Normal call clearing)]
13:38:44.425     pjsua_app_common.c  .....
  [DISCONNCTD] To: sip:[email protected];tag=bbbe96c8-6bba-4a45-b6cc-f66d730cf92e
    Call time: 00h:00m:02s, 1st res in 1687 ms, conn in 1694ms
    #0 audio PCMU @8kHz, sendrecv, peer=192.168.0.118:17778
       SRTP status: Not active Crypto-suite: 
       RX pt=0, last update:00h:00m:02.624s ago
          total 141pkt 22.5KB (28.2KB +IP hdr) @avg=61.7Kbps/77.2Kbps
          pkt loss=0 (0.0%), discrd=0 (0.0%), dup=0 (0.0%), reord=0 (0.0%)
                (msec)    min     avg     max     last    dev
          loss period:   0.000   0.000   0.000   0.000   0.000
          jitter     :   0.000   0.100   0.125   0.125   0.049
       TX pt=0, ptime=20, last update:never
          total 145pkt 23.2KB (29.0KB +IP hdr) @avg=63.5Kbps/79.4Kbps
          pkt loss=0 (0.0%), dup=0 (0.0%), reorder=0 (0.0%)
                (msec)    min     avg     max     last    dev 
          loss period:   0.000   0.000   0.000   0.000   0.000
          jitter     :   0.000   0.000   0.000   0.000   0.000
       RTT msec      :   0.000   0.000   0.000   0.000   0.000
13:38:45.425            pjsua_app.c  ..Turning sound device -99 -99 OFF
[Info] Call ended...

So the issue is the call is being terminated too early - not sure why? The sound file (which I’ve played from the URL above) is full and complete and is accurate at about 5s. But as you can see the call only lasts about two seconds and terminates after ‘today’…
hmmm

any ideas??!

Thank youuu!!! :smiley:

If I send a really simple message without any jinja template, mostly it fails too

[Info] Listening for messages via stdin service call...
[Info] Received messages {"call_sip_uri":"sip:[email protected]","message_tts":"Good morning. Today is Never mind  Never mind at all "}
Converting audio file 'https://x.duckdns.org:8123/api/tts_proxy/453f4cc88943d8085f7097a483bff49b39d973c2_en_-_google_translate.mp3'...
Audio succesfully converted...
Starting SIP Client and calling 'sip:[email protected]'...
This call will be terminated after '8.07' seconds.
14:05:22.844         os_core_unix.c !pjlib 2.9 for POSIX initialized
14:05:22.845         sip_endpoint.c  .Creating endpoint instance...
14:05:22.846                  pjlib  .select() I/O Queue created (0x558ac09c90)
14:05:22.846         sip_endpoint.c  .Module "mod-msg-print" registered
14:05:22.846        sip_transport.c  .Transport manager created.
14:05:22.846           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
14:05:22.866           pjsua_core.c  .pjsua version 2.9 for Linux-5.15.84/aarch64 initialized
14:05:22.869            pjsua_app.c  .Turning sound device -99 -99 ON
14:05:22.869                 main.c  Ready: Success
14:05:22.870            pjsua_app.c  .......Call 0 state changed to CALLING
>>>>
Account list:
  [ 0] <sip:172.30.33.9:5060>: does not register
       Online status: Online
  [ 1] <sip:172.30.33.9:5060;transport=TCP>: does not register
       Online status: Online
 *[ 2] sip:[email protected]: does not register
       Online status: Online
Buddy list:
 [ 1] <?>  sip:[email protected]
+=============================================================================+
|       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] [CALLING]
./run: line 337: echo: write error: Broken pipe
./run: line 337: echo: write error: Broken pipe
./run: line 337:   413 Exit 1                  ( sleep $MAX_CALL_TIME_VALUE; echo h; sleep 0.5; echo q )
       414 Segmentation fault      (core dumped) | ( pjsua --app-log-level=3 --config-file '/share/dss_voiparm/dss_pjsua.conf' $CALL_SIP_URI_VALUE 2> /share/dss_voiparm/dss_pjsua.log )
[Error] pjsua Exit code: 139
[Info] Call ended...
[Info] Listening for messages via stdin service call...

I just installed this add-on and its fantastic!
I got it working only with audio_file_url parameter.
I need some assistance with the TTS part. I have already installed The Piper add-on and Wyoming integration. I would like to use Piper as my tts service but could not figure out how to configure it for this purpose. (I already works with assist pipeline). I tried adding these lines to my configuration.yaml but did not help.

tts:
  - platform: piper

Fo this addon I specified the platform_tts parameter, but it did not help either.

sip_parameters:
  caller_id_uri: sip:[email protected]:5060
  realm: "*"
  username: username
  password: password
platform_tts: piper
max_call_time: 120

Is it possible to use with Piper? I know it is somewhat different from the google service, as it runs as an add-on.

Have worked around the issue, am using NodeRed and Chime TTS instead for now.
Would prefer to use DSS VoIP Notifier as it’s much simpler to implement.
If anyone wants my Node Red flows, shout up! :slight_smile:

hej @daneboom gladly, please share it :slight_smile: