SIP Doorbell, android tablet and HA integration

Cheers thanks, i might try the download and install again

still getting the same error, followed it step by step and getting a message

Custom element doesn't exist: doordroid-card.

downloaded doordroid from GitHub, extracted to /www/doordroid

set resources to /local/doordroid/doordroid-card.js and jssip in the same location, still no joy

also tried doorvivint (this card works fine) but for some reason wonā€™t connect to my freepbx, but the card does display.

Iā€™m lost what to do next

If you search the forum for this error, you will find that it is always something on the installation side.
Once the configuration is 100% correct (it could be a problem in the path, the indentation of yaml,ā€¦) then clear your cache, reload the page.
Potential ā€œwrongā€ reference to javascipt file are kept in the browser. So, you have to make sure that each time you make a change you start fresh on the client side.
Clear cache, clear everythingā€¦
Then it will work :slight_smile:

I am so close. I have everything working. I turned of Video calls in Freepbx and the Andriod tablet works. So I suspect something to do with codec.
My last piece of the puzzle is the virtual extension. I have created a virtual expenstion, but when I call it, I receive a message that the caller is unavailable. It doesnā€™t seem to trigger the curl command.
The logs also show
' 10390 [2021-02-11 16:32:44] WARNING[31598][C-00000005] channel.c: No channel type registered for 'VIRTUAL' 10391 [2021-02-11 16:32:44] WARNING[31598][C-00000005] app_dial.c: Unable to create channel of type 'VIRTUAL' (cause 66 - Channel not implemented'
Any suggestions?

Two things:

  • for the test / installation part, you donā€™t need the virtual extension. This is a ā€œtrickā€ to wake up the tablet before making the call. Something you can do manually before making the call from the GDS. So, you can call directly the extension of the tablet
  • from https://wiki.asterisk.org/wiki/display/AST/Asterisk+PJSIP+Troubleshooting+Guide it seems that you have an error in the dial plan:
then it means that your dialplan is referencing "SIP/hammerhead" instead of "PJSIP/hammerhead". Change your dialplan to refer to the correct channel driver, and don't forget to dialplan reload when you are finished.


Hi Mark,

How did you actually enable WSS?

this where I am at at the min:

Freepbx with SSL :heavy_check_mark:, and tested my sip intercom with gswave and a sip desk phone

Extension 1004 created (enabled webrtc in the gui) :heavy_check_mark: and (almost matched greengolfer)

Now for the issues :frowning:

https://wiki.asterisk.org/wiki/display/AST/WebRTC+tutorial+using+SIPML5 - No idea what to do with this

in HA Droidcard has no red errors saying entity doesnā€™t exist (changed entity type to doorpi) this is a weird one, the actual screen pops up albeit for a split sec and disappears, and the only way you can edit card is through the raw editor

the SIP Extention added to the Lovelace card doesnā€™t even seem to be getting through to the server (i looks n free PBX and there are no messages in the log from the drooidcard extention)

Kind of lost what to do now, any help would be appreciated

If you have installed the certificates, you can just enable it in the Freepbx interface, in chan pjsip settings:
Screenshot 2021-02-11 at 18.19.07

This is what you to do to allow webrtc client to connect to asterisk.
If you have done this:

Browsers and WSS
When using WSS as a transport, Chrome and Firefox will not allow you, by default, to connect using WSS to a server with a self-signed certificate.  Rather, you'll have to install a publicly-signed certificate into Asterisk.  Or, you'll have to import the the self-signed certificate we made earlier into your browser's keychain, which is outside the scope of this Wiki.  

Or, for Firefox and Chrome, you can open a separate browser tab and point it to Asterisk's HTTPs server's TLS port and WS path, e.g. https://pbx.example.com:8089/ws, and you can manually confirm the security exception.

Then below, it is just a way to test it is working. Thatā€™s all.

To check wss is enabled you can do:

https://your.host.name:8089/ws

If WSS is enabled you should have an answer ā€œUpgrade requiredā€

Have you configured the parameter in the yaml?

sip_settings:
      sip_password: secret
      sip_server: mypbx.co.uk
      sip_username: '1003'
      sip_wss_url: 'wss://mypbx.co.uk:8089/ws'

This part?

If yes, then you should see a registration in asterisk.
Using asterisk -vvvvvvv (many v) and enable pjsip debug should give you details.

Thank you, I can confirm that WSS is working

the surveillance card is still blank, hereā€™s the YAML from raw config

  - title: Surveillance
    icon: 'mdi:bell'
    panel: true
    path: gds
    cards:
      - camera_entity: camera.gds
        style: |
          ha-card {
            display: block;
            margin-left: auto;
            margin-right: auto;
            width: 88%;
          }
        sip_settings:
          sip_password: 1xxxxxx01
          sip_server: pbx.xxxx.co.uk
          sip_username: '1003'
          sip_wss_url: 'wss://pbx.xxxx.co.uk:8089/ws'
        type: 'custom:doorpi-card'
        title: DoorDroid

I am seeing this error in inspect

still not getting connected to the sip server

here are the resources

image

I can confirm the location is correct for the file

do i need to make any sorts of changes to the doordroid-card.js

I donā€™t knowā€¦ You shouldnā€™t in theory. That exact same card is working just fine here.

Have you defined the camera.gds properly?

It should be something like:

camera:
  - platform: generic
    name: gds
    stream_source: something...
    still_image_url: something else
    authentication: basic
    verify_ssl: false

have i missed a step?

and this may be the stupidest question you have been asked

where to do I define the camera.gds - is it within configuration.yaml

In configuration.yaml. Something that should allow you to see the stream of the GDS.
As said in my initial post:

The camera.gds is the RTSP stream of the video of the door bell.

so something like rtsp://user:password@IP_Address_GDS/1

(in my case I am going through my NAS so the URL is different)

ok I got it, what if Iā€™m not bothered by continuous streaming, Iā€™m more interested in the camera view coming up only when the intercom is called, what would you suggest for that ?

With my understanding of the javascript code (again not a specialist here), if the lovelace view is not displayed in a browser, then there is no active stream. So, no need to botherā€¦ AFAIK

sorry not sure what yo mean, are you saying that if shown in the app then it shouldnā€™t need the rtsp but if i use something like fully kiosk then Iā€™m probably going to need it?

i just realised the 2n Verso needs a licence for rtsp streams, so i need to try get that tomorrow, and carry on with the setup.

I must admit when I started this i thought it would be pretty straight forward, and relatively quick :slight_smile:

What ā€œappā€ are you talking about?
If it is browser/fully kiosk, then when the GDS view is displayed in Lovelace, the rtsp stream will be ā€œactiveā€. When that view is not shown, the rtsp flow will stop. Is it clearer?

Not sure what verso is. If you want to use fully kiosk on two tablets, youā€™ll need two licencesā€¦

If you look at my setup will all moving parts, I wouldnā€™t say it is quick and easy to do. But, at least for me, it worth it!

Thanks for your replies

Progress allbeit slow :slight_smile:

The only way I can kind of get doordroid to work is to overwrite the current doordroid-card.JS with yours, then it accepts the card (seem to be properly)

however, I noticed in the console the following error

Failed to load resource: the server responded with a status of 404 (Not Found)

I have checked and double-checked the location of the jssip, and the resource location in HA

Where is this error coming from? Which console?
Never seen itā€¦ donā€™t know what it means either.

Pressing f12 on Google opens inspect, and console option is on there

Some file has the wrong name or is at the wrong placeā€¦ 404 means usually that.
Which one? Why? No clueā€¦

Morning All, Quick question about the extension configuration, are you setting webrtc=yes for all extensions and doing the configuration settings for all the same as ext 1004

I have got it a lot further, but I think the only issue now is my FreePBX configuration this is my current position:

doordroid-card.js - is configured and is registering with FreePBX, the intercom camera is working, and you can dial the HA extension on the intercom, the call from the intercom come into HA and you see the Answer, and Reject buttons pop-up

The problem now is that when you try and answer the call, the call is dropped!

Any recommendations would be appreciated, thanks.