GithubHelp home page GithubHelp logo

tech7fox / asterisk-hass-addons Goto Github PK

View Code? Open in Web Editor NEW
60.0 4.0 22.0 603 KB

Asterisk add-on for Home Assistant

Home Page: https://tech7fox.github.io/sip-hass-docs/

License: MIT License

Dockerfile 41.91% Shell 39.11% Groovy 18.99%
home-assistant homeassistant asterisk pbx add-on homeassistant-addons

asterisk-hass-addons's Introduction

asterisk-hass-addons's People

Contributors

bdherouville avatar danny89530 avatar dependabot[bot] avatar felipecrs avatar leandroissa avatar membero avatar miguelangel-nubla avatar mion00 avatar nanosonde avatar onfreund avatar pergolafabio avatar tech7fox avatar thundergreen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

asterisk-hass-addons's Issues

Stop using `host_network: true`

I prefer to have this mode only as a temp workaround, I think it can have conflict with other addons? If there are other common ports used?

Or maybe make this mode an option that can be turned off by users? So users can open ports they need..

I had call drops on softphones though after 32 sec, when this mode was disabled... This is a common issue... Maybe it was because of the RTP ports, there were only 8 configured, maybe we do need more? Or the custom range was not configured properly?

I want to investigate this again, would be great if I could turn off host again and test with custom ranges....

Maybe something for later?

Thnx

How to setup discovery

Alright, I thought this would be easy, but there is something that I'm not seeing. I setup the hassio discovery step to the integration, but I still get the error. Asterisk integration

Got unexpected response from the API: Service asterisk not found for dictionary value @ data['service']. Got 'asterisk'

Tried adding discovery to config.yaml like other add-ons but that makes the config invalid for some reason.

discovery:
  - asterisk

Couldn't find anyone with the same problem...

Any ideas?

config files for Asterisk wont update

Installing the new version of the addon and running it with auto generate extensions doesn't verite old sip.conf file if previous version off extension used. To fix delete asterisk folder before installing new version

Fix video between card and add-on

Got this when trying to call with HA-SIP 0.2.6 with video enabled on both card and add-on.

[Jan 21 22:21:51]   == Using SIP VIDEO CoS mark 6
[Jan 21 22:21:51]   == Using SIP RTP CoS mark 5
[Jan 21 22:21:51] WARNING[515][C-00000002]: chan_sip.c:10921 process_sdp: Failed to receive SDP offer/answer with required SRTP crypto attributes for audio

Video enabled on add-on and disabled on card does work.

Got a 488 not acceptable here from the card when video is enabled for card en disabled for add-on, as expected.

Fix remaining Asterisk errors

There are still some errors when starting Asterisk. Maybe we can fix some.

[Jan  4 19:19:15] WARNING[301]: loader.c:2381 load_modules: Some non-required modules failed to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: res_timing_dahdi declined to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: Failed to resolve dependencies for res_stir_shaken
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: res_stir_shaken declined to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: res_pjsip_transport_websocket declined to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: cel_sqlite3_custom declined to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: cdr_sqlite3_custom declined to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: Failed to resolve dependencies for res_http_media_cache
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: res_http_media_cache declined to load.
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: Failed to resolve dependencies for res_pjsip_stir_shaken
[Jan  4 19:19:15] ERROR[301]: loader.c:2396 load_modules: res_pjsip_stir_shaken declined to load.
[Jan  4 19:19:15] WARNING[385]: chan_sip.c:35461 deprecation_notice: chan_sip has no official maintainer and is deprecated.  Migration to
[Jan  4 19:19:15] WARNING[385]: chan_sip.c:35462 deprecation_notice: chan_pjsip is recommended.  See guides at the Asterisk Wiki:
[Jan  4 19:19:15] WARNING[385]: chan_sip.c:35463 deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
[Jan  4 19:19:15] WARNING[385]: chan_sip.c:35464 deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip

Reload extensions and reload dialplan services

Will add a service to copy pjsip_custom and pjsip, and reload pjsip module. And a service that copies extensions.conf and reload dialplan.

Think this will be nice to have. If you are debugging something and change the extensions or dialplan a lot, it will take max 1 second instead of a couple minutes to restart the add-on.

Just making this issue so I don't forget, and if someone has any idea's, now's your chance. :)

Asterisk does not start after 2.0.0

After updating to 2.0 I cannot connect anymore from the SipJS card, I've restored the backup from 1.3 for now and it is workin again. I also don't see any logs as why it is not working.

Qualify not working outside LAN

Like @pergolafabio said, Qualify does not work outside LAN. It registeres and then fails, becoming unreachable.

Previously qualify was disabled. What was the reason it was enabled?

Guessing it's because the contact is local?

Added contact 'sip:[email protected]:4092;transport=ws' to AOR '100' with expiration of 600 seconds

Anybody knows a fix for this, or should we just disable it?

Enable PJSIP

Load the pjsip module, test and resolve issues with chan_sip.

And maybe even migrate the websocket extensions (from auto_add) to pjsip?

File confusion

In the documentation both sip_custom.conf and pjsip_custom.conf are referred to. this is causing confusion when configuring.

Make extensions manually

Add the option to make extensions manually using files or addon config.

If we use the files in /config/asterisk there are some problems.

If the user changes the certficate path(s), the old http.conf file becomes invalid. Same for sip.conf when the user adds a new person. And we can't overwrite those files, because then the custom configs of the user are gone.

Maybe combining the files from /config/asterisk and the generated onces?

Add more RTP ports as default

started playing with video, but after second call, asterisk was already complaining about RDP
we need more as 8 as default for sure.... :-)

if you can make ranges now with the yaml method, maybe but it back on default setting?

Cant add (Windows) SIP Softphone (Linphone)

Wanted to add a softphone as testdevice. My target is to buy a "doorbird" doorbell device. It has sip functionality. Before buying the device, i wanted to test the sip functionality with a windows sip softphone (Linphone). But i get this error message in the logs:

[Jan 8 23:23:27] -- Called SIP/100
[Jan 8 23:23:28] -- SIP/100-00000028 is ringing
[Jan 8 23:23:31] == Spawn extension (default, 100, 1) exited non-zero on 'SIP/101-00000027'
[Jan 8 23:23:35] == WebSocket connection from '192.168.0.120:59669' for protocol 'sip' accepted using version '13'
[Jan 8 23:23:35] -- Registered SIP '100' at 192.168.0.120:59669
[Jan 8 23:23:35] == WebSocket connection from '192.168.0.120:59676' for protocol 'sip' accepted using version '13'
[Jan 8 23:23:35] -- Registered SIP '100' at 192.168.0.120:59676
[Jan 8 23:23:39] == WebSocket connection from '192.168.0.120:59684' for protocol 'sip' accepted using version '13'
[Jan 8 23:23:39] -- Registered SIP '100' at 192.168.0.120:59684
[Jan 8 23:23:44] == Using SIP RTP CoS mark 5
[Jan 8 23:23:44] -- Executing [100@default:1] Dial("SIP/101-00000029", "SIP/100") in new stack
[Jan 8 23:23:44] == Using SIP RTP CoS mark 5
[Jan 8 23:23:44] ERROR[1161][C-00000021]: netsock2.c:303 ast_sockaddr_resolve: getaddrinfo("vb6ed1uob25n.invalid", "(null)", ...): Name does not resolve
[Jan 8 23:23:44] WARNING[1161][C-00000021]: chan_sip.c:16938 __set_address_from_contact: Invalid host name in Contact: (can't resolve in DNS) : 'vb6ed1uob25n.invalid'
[Jan 8 23:23:44] ERROR[1161][C-00000021]: netsock2.c:96 ast_sockaddr_stringify_fmt: getnameinfo(): Unrecognized address family or invalid length
[Jan 8 23:23:44] -- Called SIP/100
[Jan 8 23:23:44] -- SIP/100-0000002a is ringing
[Jan 8 23:23:50] -- SIP/100-0000002a answered SIP/101-00000029
[Jan 8 23:23:50] -- Channel SIP/100-0000002a joined 'simple_bridge' basic-bridge
[Jan 8 23:23:50] -- Channel SIP/101-00000029 joined 'simple_bridge' basic-bridge
[Jan 8 23:23:51] WARNING[1161][C-00000021]: res_rtp_asterisk.c:3179 __rtp_recvfrom: PJ ICE Rx error status code: 370400 'Bad Request'.
[Jan 8 23:23:51] WARNING[1161][C-00000021]: res_rtp_asterisk.c:7485 ast_rtp_read: RTP Read error: Invalid argument. Hanging up.
[Jan 8 23:23:51] -- Channel SIP/101-00000029 left 'simple_bridge' basic-bridge
[Jan 8 23:23:51] == Spawn extension (default, 100, 1) exited non-zero on 'SIP/101-00000029'
[Jan 8 23:23:51] -- Channel SIP/100-0000002a left 'simple_bridge' basic-bridge

ps: Homeassistant card to another homeassistant card (with two extension numbers) are working flawlessly!

extentions for home assistant persons are not created

extentions for home assistant persons are not created
I can't find any sensor.asterisk_extension_
I have rebooted everything

This my config:

video_support: false
auto_add: true
generate_ssl_cert: false
certfile: fullchain.pem
keyfile: privkey.pem
mailbox: false
mailbox_port: 12345
mailbox_extension: '100'
log_level: notice
ami_password: SECRET

Integration fails after HOST mode change on add-on

Since HOST mode is enabled on add-on, integration fails
When i add the configuration with host : b35499aa-asterisk , i get error below

[Jan  6 08:59:38] NOTICE[492]: manager.c:3560 authenticate: 192.168.0.17 failed to authenticate as 'admin'
[Jan  6 08:59:39]   == Connect attempt from '192.168.0.17' unable to authenticate

notice, the 192.168.0.17 the local IP of my HA instance

but i manager.conf , it only allows below :

permit = 172.30.32.1/255.255.255.254

so we need to add there also the local HA ip ? i cant test, since the file gets overwritten

i think that permit rule is blocking my HA instance now

Add good README.md

README is shown on the addon page. It now just says DOCS.md because of the redirect.

Support accepting calls from notification

Include a conference room and dialplan to allow calls to offline extensions.

# extensions.conf
[default]
exten => 777,1,Progress()
exten => 777,2,Wait(1)
exten => 777,3,ConfBridge(1,myconferenceroom,default_user)
# under confbridge.conf
[admin_user]
type=user
pin=5555
marked=yes
admin=yes
music_on_hold_when_empty=yes
announce_user_count=yes

[default_user]
type=user
pin=1234
wait_marked=yes
end_marked=yes
music_on_hold_when_empty=yes
announce_user_count=yes

[myconferenceroom]
type=bridge
max_members=10

Then when calling to 777, the user joins the conference call.

Can't dial to card

Multiple people are having trouble with PJSIP when calling to the card. Calling from does work.

Here is a entire log with debug enabled:

[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:1329 ast_rtp_ice_add_cand: (0xaaab09aaa4c8) ICE add candidate: [fe80::f402:9eff:fe54:1049]:10324, 2130706431
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:1329 ast_rtp_ice_add_cand: (0xaaab09aaa4c8) ICE add candidate: [fe80::24ec:7cff:fed1:f62]:10324, 2130706431
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:1329 ast_rtp_ice_add_cand: (0xaaab09aaa4c8) ICE add candidate: [fe80::1cca:39ff:fe14:ee7a]:10324, 2130706431
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:3663 rtp_add_candidates_to_ice: (0xaaab09aaa4c8) ICE request STUN TCP RTP candidate
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:1329 ast_rtp_ice_add_cand: (0xffff100450b8) ICE add candidate: 149.113.25.91:13432, 1694498815
[Mar 29 01:48:24] DEBUG[690]: rtp_engine.c:543 ast_rtp_instance_new: RTP instance '0xffff100450b8' is setup and ready to go
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:1760 ast_rtp_ice_change_components: (0xffff100450b8) ICE change number of components 2 -> 1
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:979 ice_reset_session: (0xffff100450b8) ICE resetting
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:981 ice_reset_session:  (0xffff100450b8) ICE nevermind, not ready for a reset
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:8440 ast_rtp_prop_set: (0xffff100450b8) RTCP setup on RTP instance
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:2151 ast_rtp_dtls_set_configuration: (0xffff100450b8) DTLS RTP setup
[Mar 29 01:48:24] DEBUG[690]: res_rtp_asterisk.c:1857 dtls_setup_rtcp: (0xffff100450b8) DTLS RTCP setup
[Mar 29 01:48:24] DEBUG[690]: res_srtp.c:676 crypto_init_keys: local_key64 mPYoz1kPANc8UdLt17yO35Up40DJmGo4GigvmbWc len 40
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_sdp_rtp.c:1312 add_msid_to_stream: Stream msid: 0xffff100c1b90 audio f559c09a-13cb-44ce-8dbe-b6a4a7f3f1d5 c550350a-9cd4-42a6-856b-14ac64a58ebb
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_sdp_rtp.c:2034 create_outgoing_sdp_stream:  RC: 1
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:5006 add_sdp_streams:  Handled
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:5194 create_local_sdp:  PJSIP/100-00000005: Adding bundle groups (if available)
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:5200 create_local_sdp:  PJSIP/100-00000005: Copying connection details
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:5244 create_local_sdp:  PJSIP/100-00000005
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:2876 ast_sip_session_create_invite:  
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4496 handle_outgoing_request:  PJSIP/100-00000005: Method is INVITE
[Mar 29 01:48:24]     -- PJSIP/100-00000005 connected line has changed. Saving it until answer for PJSIP/8001-00000004
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4506 handle_outgoing_request:  PJSIP/100-00000005
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:1329 ast_rtp_ice_add_cand: (0xffff10043448) ICE add candidate: 149.113.25.91:12904, 1694498815
[Mar 29 01:48:24] DEBUG[690]: res_pjsip/pjsip_resolver.c:475 sip_resolve: Performing SIP DNS resolution of target '149.113.25.91'
[Mar 29 01:48:24] DEBUG[790]: rtp_engine.c:543 ast_rtp_instance_new: RTP instance '0xffff10043448' is setup and ready to go
[Mar 29 01:48:24] DEBUG[690]: res_pjsip/pjsip_resolver.c:502 sip_resolve: Transport type for target '149.113.25.91' is '(null)'
[Mar 29 01:48:24] DEBUG[690]: res_pjsip/pjsip_resolver.c:523 sip_resolve: Target '149.113.25.91' is an IP address, skipping resolution
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:1760 ast_rtp_ice_change_components: (0xffff10043448) ICE change number of components 2 -> 1
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:979 ice_reset_session: (0xffff10043448) ICE resetting
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:981 ice_reset_session:  (0xffff10043448) ICE nevermind, not ready for a reset
[Mar 29 01:48:24] DEBUG[690]: res_http_websocket.c:381 __ast_websocket_write: Writing websocket text frame, length 3384
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4630 session_inv_on_state_changed:  PJSIP/100-00000005 Event: TSX_STATE  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4656 session_inv_on_state_changed: PJSIP/100-00000005: Source of transaction state change is TX_MSG
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4704 session_inv_on_state_changed:  
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  PJSIP/100-00000005 TSX State: Calling  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4936 session_inv_on_tsx_state_changed:  Nothing delayed
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4180 session_on_tsx_state:  PJSIP/100-00000005 TSX State: Calling  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4184 session_on_tsx_state:  Topology: Pending:  <0:audio-0:audio:sendrecv (ulaw|alaw)>  Active: (null topology)
[Mar 29 01:48:24] DEBUG[690]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 29 01:48:24] DEBUG[690]: chan_pjsip.c:2382 call:  RC: 0
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:1329 ast_rtp_ice_add_cand: (0xaaab09aaa4c8) ICE add candidate: 149.113.25.91:10324, 1694498815
[Mar 29 01:48:24] DEBUG[789]: rtp_engine.c:543 ast_rtp_instance_new: RTP instance '0xaaab09aaa4c8' is setup and ready to go
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:1760 ast_rtp_ice_change_components: (0xaaab09aaa4c8) ICE change number of components 2 -> 1
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:979 ice_reset_session: (0xaaab09aaa4c8) ICE resetting
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:981 ice_reset_session:  (0xaaab09aaa4c8) ICE nevermind, not ready for a reset
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:8440 ast_rtp_prop_set: (0xffff10043448) RTCP setup on RTP instance
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:2151 ast_rtp_dtls_set_configuration: (0xffff10043448) DTLS RTP setup
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:8440 ast_rtp_prop_set: (0xaaab09aaa4c8) RTCP setup on RTP instance
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:2151 ast_rtp_dtls_set_configuration: (0xaaab09aaa4c8) DTLS RTP setup
[Mar 29 01:48:24] DEBUG[790]: res_rtp_asterisk.c:1857 dtls_setup_rtcp: (0xffff10043448) DTLS RTCP setup
[Mar 29 01:48:24] DEBUG[790]: res_srtp.c:676 crypto_init_keys: local_key64 fkl8290o3An/Gm8FqwbfGHZgDYGX0yxRVQQ0MqmD len 40
[Mar 29 01:48:24] DEBUG[789]: res_rtp_asterisk.c:1857 dtls_setup_rtcp: (0xaaab09aaa4c8) DTLS RTCP setup
[Mar 29 01:48:24] DEBUG[789]: res_srtp.c:676 crypto_init_keys: local_key64 BTRJD1KxK1Umg6vMTRhgka72mT/IVKbRTzZQBtmn len 40
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_sdp_rtp.c:1312 add_msid_to_stream: Stream msid: 0xffff100e6090 audio e3b29eb8-5459-481e-bf95-0b5fe684e778 e7830ac1-e00e-47b4-8e76-027e928345b2
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_sdp_rtp.c:2034 create_outgoing_sdp_stream:  RC: 1
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:5006 add_sdp_streams:  Handled
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:5194 create_local_sdp:  PJSIP/100-00000007: Adding bundle groups (if available)
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:5200 create_local_sdp:  PJSIP/100-00000007: Copying connection details
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:5244 create_local_sdp:  PJSIP/100-00000007
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:2876 ast_sip_session_create_invite:  
[Mar 29 01:48:24]     -- PJSIP/100-00000007 connected line has changed. Saving it until answer for PJSIP/8001-00000004
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4496 handle_outgoing_request:  PJSIP/100-00000007: Method is INVITE
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4506 handle_outgoing_request:  PJSIP/100-00000007
[Mar 29 01:48:24] DEBUG[790]: res_pjsip/pjsip_resolver.c:475 sip_resolve: Performing SIP DNS resolution of target '149.113.25.91'
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_sdp_rtp.c:1312 add_msid_to_stream: Stream msid: 0xffff1004d720 audio 24428e41-f0d8-47f2-a212-386648c52037 34aa98d8-f67d-4c67-bcde-3063cf5ee985
[Mar 29 01:48:24] DEBUG[790]: res_pjsip/pjsip_resolver.c:502 sip_resolve: Transport type for target '149.113.25.91' is '(null)'
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_sdp_rtp.c:2034 create_outgoing_sdp_stream:  RC: 1
[Mar 29 01:48:24] DEBUG[790]: res_pjsip/pjsip_resolver.c:523 sip_resolve: Target '149.113.25.91' is an IP address, skipping resolution
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:5006 add_sdp_streams:  Handled
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:5194 create_local_sdp:  PJSIP/100-00000006: Adding bundle groups (if available)
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:5200 create_local_sdp:  PJSIP/100-00000006: Copying connection details
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:5244 create_local_sdp:  PJSIP/100-00000006
[Mar 29 01:48:24] DEBUG[790]: res_http_websocket.c:381 __ast_websocket_write: Writing websocket text frame, length 3384
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:2876 ast_sip_session_create_invite:  
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4496 handle_outgoing_request:  PJSIP/100-00000006: Method is INVITE
[Mar 29 01:48:24]     -- PJSIP/100-00000006 connected line has changed. Saving it until answer for PJSIP/8001-00000004
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4630 session_inv_on_state_changed:  PJSIP/100-00000007 Event: TSX_STATE  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4656 session_inv_on_state_changed: PJSIP/100-00000007: Source of transaction state change is TX_MSG
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4704 session_inv_on_state_changed:  
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4506 handle_outgoing_request:  PJSIP/100-00000006
[Mar 29 01:48:24] DEBUG[789]: res_pjsip/pjsip_resolver.c:475 sip_resolve: Performing SIP DNS resolution of target '149.113.25.91'
[Mar 29 01:48:24] DEBUG[789]: res_pjsip/pjsip_resolver.c:502 sip_resolve: Transport type for target '149.113.25.91' is '(null)'
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  PJSIP/100-00000007 TSX State: Calling  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[789]: res_pjsip/pjsip_resolver.c:523 sip_resolve: Target '149.113.25.91' is an IP address, skipping resolution
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4936 session_inv_on_tsx_state_changed:  Nothing delayed
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4180 session_on_tsx_state:  PJSIP/100-00000007 TSX State: Calling  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4184 session_on_tsx_state:  Topology: Pending:  <0:audio-0:audio:sendrecv (ulaw|alaw)>  Active: (null topology)
[Mar 29 01:48:24] DEBUG[790]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 29 01:48:24] DEBUG[790]: chan_pjsip.c:2382 call:  RC: 0
[Mar 29 01:48:24] DEBUG[789]: res_http_websocket.c:381 __ast_websocket_write: Writing websocket text frame, length 3385
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4630 session_inv_on_state_changed:  PJSIP/100-00000006 Event: TSX_STATE  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4656 session_inv_on_state_changed: PJSIP/100-00000006: Source of transaction state change is TX_MSG
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4704 session_inv_on_state_changed:  
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  PJSIP/100-00000006 TSX State: Calling  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4936 session_inv_on_tsx_state_changed:  Nothing delayed
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4180 session_on_tsx_state:  PJSIP/100-00000006 TSX State: Calling  Inv State: CALLING
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4184 session_on_tsx_state:  Topology: Pending:  <0:audio-0:audio:sendrecv (ulaw|alaw)>  Active: (null topology)
[Mar 29 01:48:24] DEBUG[789]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 29 01:48:24] DEBUG[789]: chan_pjsip.c:2382 call:  RC: 0

And here is another one:

[Mar 28 20:44:46] DEBUG[685]: res_pjsip/pjsip_distributor.c:502 distributor: Searching for serializer associated with dialog dlg0x7f6c280e1a48 for Request msg CANCEL/cseq=21 (rdata0x7f6bd0013908)
[Mar 28 20:44:46] DEBUG[685]: res_pjsip/pjsip_distributor.c:510 distributor: Found serializer pjsip/distributor-00000042 associated with dialog dlg0x7f6c280e1a48
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  PJSIP/8006-00000002 TSX State: Trying  Inv State: INCOMING
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4413 handle_incoming_request:  PJSIP/8006-00000002: Method is CANCEL
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4423 handle_incoming_request:  PJSIP/8006-00000002
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4936 session_inv_on_tsx_state_changed:  Nothing delayed
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  PJSIP/8006-00000002 TSX State: Completed  Inv State: INCOMING
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4936 session_inv_on_tsx_state_changed:  Nothing delayed
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4180 session_on_tsx_state:  PJSIP/8006-00000002 TSX State: Completed  Inv State: INCOMING
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4184 session_on_tsx_state:  Topology: Pending:  <0:audio-0:audio:sendrecv (alaw|ulaw|speex|opus)>  Active: (null topology)
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4630 session_inv_on_state_changed:  PJSIP/8006-00000002 Event: TSX_STATE  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4656 session_inv_on_state_changed: PJSIP/8006-00000002: Source of transaction state change is TX_MSG
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4704 session_inv_on_state_changed:  
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  PJSIP/8006-00000002 TSX State: Completed  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4770 session_inv_on_tsx_state_changed:  Disconnected
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4180 session_on_tsx_state:  (null session) TSX State: Completed  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4180 session_on_tsx_state:  (null session) TSX State: Completed  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 28 20:44:46] DEBUG[686]: chan_pjsip.c:2975 chan_pjsip_session_end:  PJSIP/8006-00000002
[Mar 28 20:44:46] DEBUG[686]: chan_pjsip.c:2992 chan_pjsip_session_end:  
[Mar 28 20:44:46] DEBUG[676]: cdr.c:1473 cdr_object_finalize: Finalized CDR for PJSIP/8006-00000002 - start 1648493075.641237 answer 0.000000 end 1648493086.399078 dur 10.757 bill 1648493086.399 dispo NO ANSWER
[Mar 28 20:44:46] DEBUG[784][C-00000002]: app_dial.c:1787 wait_for_answer:  PJSIP/8006-00000002: Caller hung up
[Mar 28 20:44:46] DEBUG[784][C-00000002]: channel.c:2549 ast_hangup: Channel 0x7f6c8800abd0 'PJSIP/100-00000003' hanging up.  Refs: 2
[Mar 28 20:44:46] DEBUG[784][C-00000002]: chan_pjsip.c:2522 chan_pjsip_hangup:  PJSIP/100-00000003
[Mar 28 20:44:46] DEBUG[784][C-00000002]: chan_pjsip.c:2540 chan_pjsip_hangup:  Cause: 500
[Mar 28 20:44:46] DEBUG[686]: chan_pjsip.c:2489 hangup:  PJSIP/100-00000003
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:3456 ast_sip_session_terminate:  PJSIP/100-00000003 Response 500
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:3528 ast_sip_session_terminate:  
[Mar 28 20:44:46] DEBUG[686]: channel.c:2196 ast_channel_destructor: Channel 0x7f6c8800abd0 'PJSIP/100-00000003' destroying
[Mar 28 20:44:46] DEBUG[784][C-00000002]: app_dial.c:3429 dial_exec_full: Exiting with DIALSTATUS=CANCEL.
[Mar 28 20:44:46] DEBUG[784][C-00000002]: app_dial.c:3460 dial_exec_full:  PJSIP/8006-00000002: Done
[Mar 28 20:44:46] DEBUG[784][C-00000002]: pbx.c:4435 __ast_pbx_run: Spawn extension (default,100,1) exited non-zero on 'PJSIP/8006-00000002'
[Mar 28 20:44:46]   == Spawn extension (default, 100, 1) exited non-zero on 'PJSIP/8006-00000002'
[Mar 28 20:44:46] DEBUG[784][C-00000002]: channel.c:2459 ast_softhangup_nolock: Soft-Hanging (0x10) up channel 'PJSIP/8006-00000002'
[Mar 28 20:44:46] DEBUG[676]: cdr.c:1473 cdr_object_finalize: Finalized CDR for PJSIP/100-00000003 - start 1648493075.641924 answer 0.000000 end 1648493086.399158 dur 10.757 bill 1648493086.399 dispo NO ANSWER
[Mar 28 20:44:46] DEBUG[676]: cdr.c:1313 cdr_object_create_public_records: CDR for PJSIP/100-00000003 is dialed and has no Party B; discarding
[Mar 28 20:44:46] DEBUG[784][C-00000002]: channel.c:2549 ast_hangup: Channel 0x7f6c280133d0 'PJSIP/8006-00000002' hanging up.  Refs: 2
[Mar 28 20:44:46] DEBUG[686]: stasis.c:442 topic_dtor: Destroying topic. name: channel:1648493075.4, detail: 
[Mar 28 20:44:46] DEBUG[784][C-00000002]: chan_pjsip.c:2522 chan_pjsip_hangup:  PJSIP/8006-00000002
[Mar 28 20:44:46] DEBUG[686]: stasis.c:451 topic_dtor: Topic 'channel:1648493075.4': 0x7f6c8800b810 destroyed
[Mar 28 20:44:46] DEBUG[686]: channel_internal_api.c:680 ast_channel_nativeformats_set:  <initializing>: MultistreamFormats: (nothing)
[Mar 28 20:44:46] DEBUG[686]: channel_internal_api.c:692 ast_channel_nativeformats_set:  Channel is being initialized or destroyed
[Mar 28 20:44:46] DEBUG[686]: chan_pjsip.c:2513 hangup:  
[Mar 28 20:44:46] DEBUG[686]: chan_pjsip.c:2489 hangup:  PJSIP/8006-00000002
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:3456 ast_sip_session_terminate:  PJSIP/8006-00000002 Response 500
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:3528 ast_sip_session_terminate:  
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:2912 session_destructor: 8006: Destroying SIP session
[Mar 28 20:44:46] DEBUG[784][C-00000002]: chan_pjsip.c:2540 chan_pjsip_hangup:  Cause: 500
[Mar 28 20:44:46] DEBUG[686]: res_rtp_asterisk.c:2873 dtls_srtp_stop_timeout_timer: (0x7f6c28064950) DTLS srtp - stopped timeout timer'
[Mar 28 20:44:46] DEBUG[686]: res_rtp_asterisk.c:2873 dtls_srtp_stop_timeout_timer: (0x7f6c28064950) DTLS srtp - stopped timeout timer'
[Mar 28 20:44:46] DEBUG[686]: res_rtp_asterisk.c:2275 ast_rtp_dtls_stop: (0x7f6c28064950) DTLS stop
[Mar 28 20:44:46] DEBUG[686]: res_rtp_asterisk.c:2873 dtls_srtp_stop_timeout_timer: (0x7f6c28064950) DTLS srtp - stopped timeout timer'
[Mar 28 20:44:46] DEBUG[686]: res_rtp_asterisk.c:2873 dtls_srtp_stop_timeout_timer: (0x7f6c28064950) DTLS srtp - stopped timeout timer'
[Mar 28 20:44:46] DEBUG[686]: res_rtp_asterisk.c:3981 rtp_deallocate_transport: (0x7f6c28064950) ICE RTP transport deallocating
[Mar 28 20:44:46] DEBUG[686]: rtp_engine.c:455 instance_destructor: Destroyed RTP instance '0x7f6c28064950'
[Mar 28 20:44:46] DEBUG[686]: channel.c:2196 ast_channel_destructor: Channel 0x7f6c280133d0 'PJSIP/8006-00000002' destroying
[Mar 28 20:44:46] DEBUG[686]: stasis.c:442 topic_dtor: Destroying topic. name: channel:1648493075.3, detail: 
[Mar 28 20:44:46] DEBUG[676]: stasis.c:580 stasis_topic_create_with_detail: Creating topic. name: channel:1648493086.5, detail: 
[Mar 28 20:44:46] DEBUG[686]: stasis.c:451 topic_dtor: Topic 'channel:1648493075.3': 0x7f6c280d1130 destroyed
[Mar 28 20:44:46] DEBUG[676]: stasis.c:614 stasis_topic_create_with_detail: Topic 'channel:1648493086.5': 0x7f6c4c0047a0 created
[Mar 28 20:44:46] DEBUG[676]: stasis.c:442 topic_dtor: Destroying topic. name: channel:1648493086.5, detail: 
[Mar 28 20:44:46] DEBUG[686]: channel_internal_api.c:680 ast_channel_nativeformats_set:  <initializing>: MultistreamFormats: (nothing)
[Mar 28 20:44:46] DEBUG[676]: stasis.c:451 topic_dtor: Topic 'channel:1648493086.5': 0x7f6c4c0047a0 destroyed
[Mar 28 20:44:46] DEBUG[686]: channel_internal_api.c:692 ast_channel_nativeformats_set:  Channel is being initialized or destroyed
[Mar 28 20:44:46] DEBUG[686]: chan_pjsip.c:2513 hangup:  
[Mar 28 20:44:46] DEBUG[668]: devicestate.c:466 do_state_change: Changing state for PJSIP/100 - state 1 (Not in use)
[Mar 28 20:44:46] DEBUG[668]: devicestate.c:466 do_state_change: Changing state for PJSIP/8006 - state 1 (Not in use)
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  (null session) TSX State: Terminated  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4760 session_inv_on_tsx_state_changed:  Session ended
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4180 session_on_tsx_state:  (null session) TSX State: Terminated  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 28 20:44:46] DEBUG[685]: res_pjsip/pjsip_distributor.c:502 distributor: Searching for serializer associated with dialog dlg0x7f6c280e1a48 for Request msg ACK/cseq=21 (rdata0x7f6bd0013908)
[Mar 28 20:44:46] DEBUG[685]: res_pjsip/pjsip_distributor.c:471 ast_sip_get_distributor_serializer: Calculated serializer pjsip/distributor-00000042 to use for Request msg ACK/cseq=21 (rdata0x7f6bd0013908)
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_endpoint_identifier_ip.c:275 common_identify: No identify sections to match against
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_endpoint_identifier_user.c:148 username_identify: Attempting identify by From username '8006' domain 'xxxxxx.net'
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_endpoint_identifier_user.c:160 username_identify: Identified by From username '8006' domain 'xxxxxxxx.net'
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  (null session) TSX State: Confirmed  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4760 session_inv_on_tsx_state_changed:  Session ended
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4180 session_on_tsx_state:  (null session) TSX State: Confirmed  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[686]: res_pjsip_session.c:4189 session_on_tsx_state:  
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4748 session_inv_on_tsx_state_changed:  (null session) TSX State: Terminated  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4760 session_inv_on_tsx_state_changed:  Session ended
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4180 session_on_tsx_state:  (null session) TSX State: Terminated  Inv State: DISCONNCTD
[Mar 28 20:44:46] DEBUG[685]: res_pjsip_session.c:4189 session_on_tsx_state:

And here one without debug:

[Mar 30 17:52:14]     -- Executing [100@default:1] Dial("PJSIP/009-00000003", "PJSIP/100/sip:[email protected]:55097;transport=ws&PJSIP/100/sip:[email protected]:55095;transport=ws&PJSIP/100/sip:[email protected]:55096;transport=ws&PJSIP/100/sip:[email protected]:55093;transport=ws&PJSIP/100/sip:[email protected]:55092;transport=ws&PJSIP/100/sip:[email protected]:55094;transport=ws") in new stack
[Mar 30 17:52:14]     -- Called PJSIP/100/sip:[email protected]:55097;transport=ws
[Mar 30 17:52:14]     -- Called PJSIP/100/sip:[email protected]:55095;transport=ws
[Mar 30 17:52:14]     -- Called PJSIP/100/sip:[email protected]:55096;transport=ws
[Mar 30 17:52:14]     -- Called PJSIP/100/sip:[email protected]:55093;transport=ws
[Mar 30 17:52:14]     -- Called PJSIP/100/sip:[email protected]:55092;transport=ws
[Mar 30 17:52:14]     -- Called PJSIP/100/sip:[email protected]:55094;transport=ws
[Mar 30 17:52:14]     -- PJSIP/100-00000004 connected line has changed. Saving it until answer for PJSIP/009-00000003
[Mar 30 17:52:14]     -- PJSIP/100-00000008 connected line has changed. Saving it until answer for PJSIP/009-00000003
[Mar 30 17:52:14]     -- PJSIP/100-00000006 connected line has changed. Saving it until answer for PJSIP/009-00000003
[Mar 30 17:52:14]     -- PJSIP/100-00000009 connected line has changed. Saving it until answer for PJSIP/009-00000003
[Mar 30 17:52:14]     -- PJSIP/100-00000005 connected line has changed. Saving it until answer for PJSIP/009-00000003
[Mar 30 17:52:14]     -- PJSIP/100-00000007 connected line has changed. Saving it until answer for PJSIP/009-00000003
[Mar 30 17:52:29]   == Spawn extension (default, 100, 1) exited non-zero on 'PJSIP/009-00000003'

Does anybody know what the issue could be? @nanosonde @felipecrs any ideas?

Better config files handling

Ok. I think what we have currently is not so good. For example, if we make an improvement to one config file, it won't end up being used because the old version from /config will be restored.

I have some ideas:

  1. Reset config add-on option (like Cloudflared's one)
  2. We can track whether the file got changed or not by the user, like creating a checksums.json list file at /config/asterisk to keep track of the original checksum when the file was created. And then, for example, if the file was modified, we don't replace it during initialization, but if it was not modified since its original checksum, we replace it (because it means an upgrade of config file).
  3. In case of number 2, we may also replace the modified files but back them up as .bak or something.
  4. We may be able to improve the auto-generated files handling. For example, we should always name them something like autogenerated_extensions.conf and never put them as a file that cannot be replaced by the user like http.conf, for example, it should be autogenerated_http.conf and then we reference it inside the user customizable http.conf
  5. Do we really need to modify asterisk.conf? If yes, perhaps we should use .patch files instead to make it easier to upgrade during upgrades. Example: we upgraded from Asterisk 18.2 to 18.10 and perhaps some default option was changed in asterisk.conf that we never got.

Allow for non-SSL installation for reverse proxy users

This project looks to be a sorely needed integration for Home Assistant and I have been watching the vast amount of improvements that have been made in a short amount of time.

I can install this add-on without issue, but because I run Nginx outside of Home Assistant, no certificates are stored on my Home Assistant machine. If I manually add the certificates to the /ssl directory, the add-on will start and I can add the integration, but any attempt at connection results in SSL errors.

If there is a way to get this add-on to work without local SSL certs, that would be greatly appreciated as I use reverse proxy for just a couple of machines.

Auto-generate AMI and auto-add passwords

So that users don't need to set them by hand before using.

This can be done by checking if password is empty during startup and calling the bashio functions to write the password to the addon configuration.

Release strategy

Ok, so it turns out that the default CI is configured to build every merged PR on branch main and use the version set in config.yaml to tag it. This means that everytime we make a change even when not ready to release, the container gets built and the add-on gets updated in HA.

However, it won't notify users of an update, unless we actually change the version number.

This means that different people could potentially have the same version (v0.3.2) but they actually get different internal revisions of the add-on depending on when they installed.

In order to prevent this, we can work on a 2 branch model:

  1. New features, fixes, or anything else goes as PRs to develop branch rather than main directly
  2. Once we are done with the changes in develop, we create a commit in develop to ensure version is correct in config.yaml and also CHANGELOG.md.
  3. We open a PR to merge develop in main.
  4. After merging, we create a git tag matching the new version introduced by the above PR (i.e. git tag v0.3.3-alpha origin/main && git push origin v0.3.3-alpha) -> creating git tag is optional, but a good practice

PS: if we stick to versions with -alpha in name, we should write this in config.yaml as well:

# config.yaml

version: 0.3.3-alpha

pjsip_custom.conf file not working

When I configure an extension for my Dahua doorbell in pjsip_custom.conf the add-on doesn't recognize it.

My pjsip_custom.conf:

; Place your own extensions here.

[8001]
type=friend
host=dynamic
context=default
transport=udp
username=8001
secret=myverysecretpassword

[Mar 25 18:49:18] NOTICE[575]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from 'sip:[email protected]' failed for '10.0.0.230:5060' (callid: 2e89edf2588e16b495d684f928813ed2) - No matching endpoint found
[Mar 25 18:49:18] NOTICE[575]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from 'sip:[email protected]' failed for '10.0.0.230:5060' (callid: 2e89edf2588e16b495d684f928813ed2) - Failed to authenticate

The same config was working with my sip_custom.conf configuration file, but that doesn't work anymore.

Not possible open configuration for Asterisk

Hi!!
It can may be it is wrong, but when I try open configuration page by address localhost:5038 and i get error message:
Asterisk Call Manager/7.0.0
Response: Error
Message: Missing action in request

and in log file for Asterisk I see error:
[Jan 28 21:56:14] == Client from 127.0.0.1, failed to authenticate in 30 seconds
[Jan 28 21:56:14] == Connect attempt from '127.0.0.1' unable to authenticate
[Jan 28 21:56:16] == Client from 127.0.0.1, failed to authenticate in 30 seconds
[Jan 28 21:56:16] == Connect attempt from '127.0.0.1' unable to authenticate

Can not install v2.0.2

Hello,

Failed to install the v2.0.2, get error message:

Can't install ghcr.io/tech7fox/aarch64-addon-asterisk:2.0.2: 500 Server Error for http+docker://localhost/v1.41/images/create?tag=2.0.2&fromImage=ghcr.io%2Ftech7fox%2Faarch64-addon-asterisk&platform=linux%2Farm64: Internal Server Error ("manifest unknown")

Mailbox server

Include a mailbox server which sends voicemails to later add to the integration.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.