tSIP 0.3: multi-call kiosk setup

tSIP 0.3 added support for multiple simultaneous SIP calls. Apart from usual functions like attended transfer (for PABXs not supporting this with feature codes) and conference this might also be useful for SIP-based announcement systems.

This demonstration setup uses:

Zone selection buttons can also show BLF/dialog-info state from arbitrary SIP server(s), e.g. to monitor zone state, but this is disabled in included files.

tSIP on Lenovo Miix 2 tablet/laptop

Forcing auto-answer

Auto-answer be be triggered by sending specific header line in SIP INVITE. There are few different header lines with few subvariants, so you might have to check how this is supposed to look for particular phone. Note that multiple header lines (for multiple phone types) can be send in a single request.
tSIP: forcing auto-answer
On Grandstream GRP2614 I've added SIP account with IP address settings of the PC where softphone is running. This was necessary because I haven't found settings like below (answering without "beep" signal) for direct IP calls.
Grandstream: auto answer


tSIP (and baresip) are not best suited for making multiple simultaneous calls as audio for each call is processed independently. This means that in my 4-zone demo there are 4 separate connections to internet radio made. It could be improved, but for now this might be limiting total number of separate SIP zones for this application.

Included scripts might benefit from some refactoring - adding new zone button requires editing few distinct script files. Target SIP URIs are defined in file named constants.lua.

I'm running 32-bit Windows 10 on Lenovo Miix 2 10 with 1920x1200 resolution and it defaults to 150% application scaling. You may need to adjust application size / button positions when switching to different machine/system.

Application starts in kiosk mode (fullscreen, no menu). To bring menu back I'm using "secret" button press sequence, defined in OnProgrammableButton.lua script: 3x ZONE #4, 3x ZONE #3, 3x ZONE #2, 3x ZONE #1. To bring back the kiosk mode, restart application (though one could define button for this, normally hidden).

As HTTP-based radio stations are used in this demonstration, tSIP version with video support (avformat module) is required.

Chime wave file was prepared using https://midi.city/ online synth and Audacity capturing output using WASAPI.

Galak Pizza bitmap was stolen ("tylko głupi by nie skorzystał"), beware when redistributing it.

Random audio captured on video from internet radio station is most likely copyrighted, but I hope it falls into fair use category.

Side note: Grandstream GRP2614 has some awful audio processing audible when playing music, maybe related to echo cancellation and/or AGC.

Complete binary set: multi-call-panel.7z.

Back to howto list

 "Cookie monsters": 7798808    Parse time: 0.001 s