All Projects → TECH7Fox → HA-SIP

TECH7Fox / HA-SIP

Licence: MIT license
A SIP client inside home assistant!

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to HA-SIP

jami-overlay
Jami (formerly Ring (formerly SFLphone)) is a SIP compatible softphone for GNU/Linux.
Stars: ✭ 22 (-72.84%)
Mutual labels:  sip, sip-client
rn-sip-app
React Native SIP App
Stars: ✭ 51 (-37.04%)
Mutual labels:  sip, sip-client
Kalbi
Kalbi - Golang Session Initiated Protocol Framework
Stars: ✭ 85 (+4.94%)
Mutual labels:  sip, sip-client
tSIP
SIP softphone
Stars: ✭ 103 (+27.16%)
Mutual labels:  sip, sip-client
baresipy
baresip python wrapper
Stars: ✭ 16 (-80.25%)
Mutual labels:  sip, sip-client
drachtio-siprec-recording-server
SIPREC recording server based on drachtio and rtpengine
Stars: ✭ 58 (-28.4%)
Mutual labels:  sip
exosip
some library source code about sip
Stars: ✭ 18 (-77.78%)
Mutual labels:  sip
opentok-rtc
OpenTok demo application
Stars: ✭ 97 (+19.75%)
Mutual labels:  sip
EasyRTC
EasyRTC视频会议系统一款强大的实时音视频通话产品,支持语音会议、视频会议、会议录像、会议回放、旁路直播、会议管理控制、文档共享、视频共享等功能,是一款广泛应用于在线教育、互动课堂、视频会议、应急指挥的即时通信平台。
Stars: ✭ 145 (+79.01%)
Mutual labels:  intercom
tv-card
📺 TV Remote Card
Stars: ✭ 139 (+71.6%)
Mutual labels:  lovelace-card
dsip
通过netty网络框架,编解码sip消息。 以及国标gb28181的部分功能, 不依赖spring,方便集成
Stars: ✭ 19 (-76.54%)
Mutual labels:  sip
blueberry
监控设备管理平台,支持GB28181国标设备接入、支持海康、大华等品牌监控设备接入
Stars: ✭ 26 (-67.9%)
Mutual labels:  sip
communications-skill
An intercom, messaging, and (video) calling skill for Mycroft!
Stars: ✭ 14 (-82.72%)
Mutual labels:  intercom
MeteoalarmCard
Meteoalarm, Météo-France and DWD severe weather warnings card for Home Assistant Lovelace UI ⛈️
Stars: ✭ 48 (-40.74%)
Mutual labels:  lovelace-card
npm-civic-sip-api
Node.js client library for the Civic Secure Identity Platform (SIP).
Stars: ✭ 25 (-69.14%)
Mutual labels:  sip
sippet
C++ SIP stack based on Chromium source code
Stars: ✭ 23 (-71.6%)
Mutual labels:  sip
gatsby-plugin-intercom-spa
Gatsby plugin to add intercom onto a site
Stars: ✭ 23 (-71.6%)
Mutual labels:  intercom
lovelace-rpi-monitor-card
A Raspberry Pi status display Card for Home Assistant Lovelace
Stars: ✭ 102 (+25.93%)
Mutual labels:  lovelace-card
sems-yeti
YETI application for SEMS core
Stars: ✭ 15 (-81.48%)
Mutual labels:  sip
embedchat
A growth hacking service that you can live chat with visitors on your website
Stars: ✭ 23 (-71.6%)
Mutual labels:  intercom

sip-hass-card

A SIP client inside home assistant!

With this card you can make and receive calls to other HA clients and other sip devices, so you can use it as for example an intercom.

image

The card supports video, DTMF signals, custom icons, custom names, status entities and camera entities.

image

Roadmap

This is still work in progress, and these are the things i want to add in the near future.

  • Improve styling (hard because custom cards can't use all ha elements)
  • Include default ringtones
  • Fix video on android companion app
  • Translations

Asterisk add-on This card works with the Asterisk add-on, which is very easy to set up, with just some clicks!

Requirements

For this to work you will need the following:

  • A sip/pbx server. (I use the Asterisk add-on)
  • Extension for every device. (The add-on auto-generates extensions for every person in HA)
  • HACS on your HA. (Home assistant)

Go to https://github.com/TECH7Fox/HA-SIP/wiki/Setup-FreePBX to see how to setup FreePBX for this card.

Installation

Download using HACS

  1. Go to HACS
  2. Click on Frontend
  3. Click on the 3 points in the upper right corner and click on Custom repositories
  4. Paste https://github.com/TECH7Fox/HA-SIP/ into Add custom repository URL and by category choose Lovelace
  5. Click on add and check if the repository is there.
  6. You should now see SIP.js Client. Click INSTALL

Usage

Click on add card and scroll down to and choose Custom: SIP Card. The entire card is configurable from the editor.

Set Ringtones

set your ringtones to play when calling/being called. /local is your www folder in config. Example: /local/ringtone.mp3 = /config/www/ringtone.mp3.

Auto Call

You can put ?call=<number> behind the URL to auto call that number when the card loads. Useful for notifications.

Ice Options

You can set ICE options for external use. These settings are not (yet) configurable with the card editor, so you will need to set them in the code editor. Don't set iceConfig if you don't want to use ICE.

Here is a example:

iceTimeout: 5
iceConfig:
  iceCandidatePoolSize: 0
  iceTransportPolicy: all
  iceServers:
    - urls:
        - stun:stun.l.google.com:19302
        - stun:stun1.l.google.com:19302
  rtcpMuxPolicy: require

Card Configuration

Everything (expect ICE) is configurable with the card editor. But for people that are configuring it with YAML, here is a example:

type: custom:sipjs-card
server: 192.168.0.10
port: '8089'
video: false
ringtone: /local/asterisk/ringtone.mp3
button_size: '62'
custom:
  - name: Doorbell
    number: '007'
    icon: mdi:doorbell
    camera: 'camera.doorbell'
  - name: Jordy deskphone
    number: '008'
    icon: mdi:deskphone
    camera: ''
dtmfs:
  - name: Door
    signal: '1'
    icon: mdi:door
extensions:
  - person: person.person1
    name: Test person
    extension: '101'
    secret: 1234
    icon: mdi:person
    entity: binary_sensor.myphone
    camera: ''
  - person: person.jordy
    name: Jordy PC
    extension: '100'
    secret: 1234
    icon: mdi:monitor
  - person: person.tablet
    name: Tablet
    extension: '102'
    secret: 1234
    icon: mdi:tablet
state_color: false 
ringbacktone: /local/asterisk/backtone.mp3
auto_answer: false
buttons:
  - name: 'Garage Door'
    icon: mdi:garage
    entity: switch.garagedoor
custom_title: ''
hide_me: true
iceTimeout: 3 # Default is 5 seconds
iceConfig: # Remove if you don't want to use ICE
  iceCandidatePoolSize: 0
  iceTransportPolicy: all
  iceServers:
    - urls:
        - stun:stun.l.google.com:19302
        - stun:stun1.l.google.com:19302
  rtcpMuxPolicy: require

Wiki

You can find more information on the SIP-HASS Docs.

Troubleshooting

Most problems is because your PBX server is not configured correct, or your certificate is not accepted. To accept the certificate for Asterisk/FreePBX go to https://<host>:8089/ws and click continue. To see how to configure FreePBX go to the FreePBX guide.

Android companion app 2022.2 required for speaker + audio permissions.

If you are still having problems you can make an issue or ask on the discord server.

Contact

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].