We uploaded our Smart-SIP-Phone Client to snapcraft this week.
The Clients functionality is heavily hit without audio-record and network-connect beeing connected. Currently we advise the users to connect the interfaces themselves via the store page, but would like for them to auto-connect on install, since users might not read it and wonder why they cant call anybody.
name: smart-sip-phone
description: SIP client for every SIP telephone system
snapcraft:
upstream: PRIVATE
upstream-relation: we are the developers and maintainers of the client
interfaces:
audio-record:
request-type: auto-connection
reasoning: is needed to access the audio record devices, otherwise you wont be able to talk to the call partner
network-connect:
request-type: auto-connection
reasoning: is needed for the SIP stack we use (PJSIP), to initiate and stop calls. As well as for a planned licensing feature.
We noticed that in order to detect all available audio devices we need the alsa plug connected too. I dont know if i should open a separate topic for it, but i will try to just apply for it here aswell.
alsa:
request-type: auto-connection
reasoning: Without it our SIP Stack only detects the default system Audio devices but we want the user to be able to set diffrent devices for Mic, Output, Speaker and Ringing.
Thanks for the suggestion on using network-bind and network-observe !
Both individually tackle one function we need, but we do not need network-observe yet.
The interface network-bind enables our SIP stack to make and end calls.
The interface network-observe lets us get the MAC-address of the default network adapter. We want to implement a licensing, where user can input a Product-Key for the Smart-SIP-Phone to unlock additional features. That key is then paired with the device that activated it. But we are currently still unsure how we want to implement this. Either via the same store entry and the user is able to give a product key in the settings tab to unlock additional features or with a separate store entry for Smart-SIP-Phone-Pro that only runs when a product key is given.
Since we are not sure how to tackle the licensing yet, we dont need network-observe right now.
audio-playback interface auto-connect by default, i guess you mean audio-record hehe
Anyway, why is either audio-playback or audio-record needed if you are using alsa? From the documentation, alsa allows access to raw ALSA audio playback and recording devices
Yes i actually meant the audio-record interface, got things mixed up again ^^
And you are correct, now with alsa i dont even need audio-record anymore!
One Interface less again.
Seems like alsa is the only interface we need auto connected then, great !