tomek-o / tSIP

SIP softphone
https://tomeko.net/software/SIPclient/
157 stars 34 forks source link

Req: Mini version for a doorbell #56

Open sjackson0109 opened 2 weeks ago

sjackson0109 commented 2 weeks ago

I've a Paxton Entry intercom panel, and i'm looking for a tidy little sip client to answer door calls, intending to run it logged directly into the panel as a sip-server.

tomek-o commented 2 weeks ago

I think it should not be different from a configuration for a desk phone: https://www.paxton-access.com/wp-content/uploads/2019/09/Handleiding-SIP-configuratie-peer-to-peer-in-combinatie-met-een-Grandstream-VoIP-toestel.pdf.

There is no "logging in"/registration involved, this uses peer-to-peer calling. I don't know Paxton, but doorphones often allow to make few different simultaneous calls.

Entering computer (own address) as a SIP server in a softphone might be needed, depending on Paxton. With default configuration SIP "user" won't matter.

I did not have a video doorphone on my desk in a long time, so "video before answer" feature probably won't work. Setup with independent video over RTSP was tested recently, but I'm assuming this is a different case. Maybe it would work after using auto answer with SIP code = 183, but it was never tested. If it would work, audio would probably need to be configured to wave file source (ringback) as default with switching to microphone (script) on answer.

For a "mini" version - it might be something between https://tomeko.net/software/SIPclient/howto/rtp_streaming/ and https://tomeko.net/software/SIPclient/howto/mpv_doorphone/. Most of the fixed GUI elements can be hidden in settings, buttons can be rearranged with one of them used as video canvas. Call state display part can be either left as is or replaced by text on some button like in https://tomeko.net/software/SIPclient/howto/flat_GUI/.

sjackson0109 commented 2 weeks ago

Hey,

The Paxton ENTRY panel can support 'sip server' or 'sip client' mode. In sip client mode, you must register the panel as an extension to an SBC/PBX/SIP/VOIP service. I've got access to a few dozen different Intercom panels, manufacturers include TCS and HIKVISION,

I'm thinking more of a 'minimalistic GUI of the tSIP app'. So much that tSIP collapses to the system-try upon launch (during windows login), and upon receiving a SIP-INVITE, the tSIP launches the usual notification, with a video-preview of the SIP-Media participant video URI played in a mini-viewer.. (rstp://ip-address:port/... - this can be customised on the panel administration app). Clicking on the pre-view will accept the call, and open a larger call, with the same video partiticant with the keypad open.

After a two-way conversation, the SIP agent can press the DTMF button 0 to 'open the door'.... and or hang-up.

Would be amazing to have a minimal GUI that handles just that. OR have your current GUI, able to hide certain blocks, with a little work in the config file/settings.

Am I asking for too much? Simon

On Tue, 5 Nov 2024 at 08:02, Tomasz Ostrowski @.***> wrote:

I think it should not be different from a configuration for a desk phone: https://www.paxton-access.com/wp-content/uploads/2019/09/Handleiding-SIP-configuratie-peer-to-peer-in-combinatie-met-een-Grandstream-VoIP-toestel.pdf .

There is no "logging in"/registration involved, this uses peer-to-peer calling. I don't know Paxton, but doorphones often allow to make few different simultaneous calls.

Entering computer (own address) as a SIP server in softphone might be needed.

I did not have a video doorphone on my desk in a long time, so "video before answer" feature probably won't work. Maybe it would work after using auto answer with SIP code = 183, but it was never tested. If it would work, audio would probably need to be configured to wave file source (ringback) as default with switching to microphone (script) on answer.

— Reply to this email directly, view it on GitHub https://github.com/tomek-o/tSIP/issues/56#issuecomment-2456480816, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJCQ5PSHAWBC64E3MR56SALZ7B3QBAVCNFSM6AAAAABRFLSHGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJWGQ4DAOBRGY . You are receiving this because you authored the thread.Message ID: @.***>

tomek-o commented 2 weeks ago

Have you looked on existing examples? If RTSP is a valid option, then this one looks very similar: doorphone_tray (from http://tomeko.net/software/SIPclient/howto/mpv_doorphone/ -> http://tomeko.net/software/SIPclient/howto/mpv_doorphone/bin/mpv_doorphone_tray.7z). It displays video in the tray notification window. Usually this window has pretty small size, here it is larger to match video resolution.

Configuration (numbers/URIs treated as doorphones, RTSP URL) is included in scripts/on_call_state_mpv_doorphone.lua file.

Additional buttons like DTMF opening the door can be added freely - there are ~200 configurable buttons that can assigned to button container, moved/resized (https://www.youtube.com/watch?v=BpfAK-QkZW0). They can be reskinned with bitmaps to change their look. More complex actions can be defined with scripting - answering, playing announcement with directions (floor/room numbers), sending DTMF to open the door and hanging up after single click.

What is missing at the moment is dynamic window resizing after answering the call (plus I guess button repositioning) - it might require adding one or two new Lua functions.

Main window could be left with default configuration or reduced to basically empty window with a menu.

Don't miss the libmpv-2.dll as it is not included in 7z file due to its size. https://github.com/tomek-o/tSIP-plugin-mpv/releases/download/v1.0/libmpv-2.7z has to be unpacked next to tSIP.exe, otherwise tSIP_mpv.dll plugin would fail to load.

You would have to test it for interoperability.