SIP on Sailfish/Aurora with s1p

There’s a field called ‘Note’ that accepts free text like: “sip:john.smith@sipservice.org”.

Do I understand it correctly, you need the complete string to be saved as is and sipservice.org is not just the sip domain of the service your phone is registered to?

Have you already tried dialing either john.smith or john.smith@sipservice.org from s1p and did either of them work?

Sorry, that wasn’t clear above. If I’m logged into linphone with s1p, just the username works fine without the domain (@sip.linphone.org) when dialing another linphone user. I can dial and connect successfully with s1p that way.

Interestingly the contacts app seem to be able to display SIP addresses if they’re imported from a vcard, there seem to be just no way to edit them afterwards.

BEGIN:VCARD
VERSION:2.1
REV:2021-07-17T00:00:00Z
EMAIL;ENCODING=QUOTED-PRINTABLE:john.smith=40mailservice.org
EMAIL;ENCODING=QUOTED-PRINTABLE;HOME:john.smith=40gmail.com
X-SKYPE:john.smith
X-SIP;ENCODING=QUOTED-PRINTABLE:john.smith=40sipservice.org
X-JABBER;ENCODING=QUOTED-PRINTABLE:john.smith=40jabber.org
TEL;CELL;WORK:+13134567890
TEL;WORK;VOICE:+13134560000
FN:John Smith
N:Smith;John;;;
END:VCARD
4 Likes

Yes, that is in (ERM: out) since Jolla started (let me think/calculate: some almost decade?).
I have lots of old imported contacts with ‘instant messaging’ detail which is displayed but cannot be altered/entered :frowning:
You could export a VCF, modify it manually and re-import (or even modify the contacts.db directly)! How user friendly? But as one cannot really make use of it…

If you would now make use of this field in S1P then above workaround would be the only option(s).

In earlier times (Jolla1/C) one could even use the native messaging app to chat via jabber et al. I still have a few remnants of conversations as memory in my messaging history :wink:

2 Likes

0.9.8 should allow dialing arbitrary text saved in the Notes field.

2 Likes

0.9.8 should strip invalid characters from phone numbers (including spaces)

2 Likes

0.9.8 should allow dialing from this field now, in addition to the Notes field which allows arbitrary text and can be edited in the People app.

4 Likes

@unmaintained I have dozens of improvements for S1P which I maintain myself locally. If you opensource S1P I can issue some pull requests on those. Everything I’ve done is essentially to make SIP a temporary full stack replacement for VoLTE in SFOS. This helps enable USA users to continue using SFOS. I’d like to next implement SRTP and TLS, but I need the sources to do those modifications to the main SIP server. Let me know if you’re open to that. If not, I’ll be forced to just create a competing SIP application- not ideal for the limited number of us SFOS developers.

11 Likes

I’m not generally against it, I just didn’t have the time to look into releasing the code yet.
Also the daemon is written entirely in Go, hope that’s not an issue?

@unmaintained That’s great. I’d be happy to do some of that lifting if it would help. Go is no problem. Ideal, really, so as to avoid library problems.

I can’t release it right away as there are some parts I have to clean up first.
I “recycled” some parts from another of my projects that has to remain closed due some stupid contractual obligations but the SIP/RTP part is not covered by that so it just means making sure it still compiles without all the unnecessary bloat around it :slight_smile:
I try to look into it tomorrow.

7 Likes

When you have time. Thank you!

1 Like

Just a heads-up, that s1p stopped working in 4.4, probably another sandboxing victim, because adding [X-Sailjail] section with Sandboxing=Disabled to .desktop works (haven’t had time to investigate, what specific privileges would be necessary). Without it, launch results in briefly “spinning” cover and following entries in log:

kwi 02 14:12:38 xonia invoker[22268]: warning: enforcing sandboxing for '/usr/bin/s1p'
kwi 02 14:12:38 xonia lipstick[4947]: Error: can't chdir to privileged
kwi 02 14:12:38 xonia lipstick[4947]: constructing /run/firejail/mnt/privileged: Images ...
kwi 02 14:12:38 xonia lipstick[4947]: mounting /run/firejail/mnt/privileged @ /home/defaultuser/.local/share/system/privileged
kwi 02 14:12:38 xonia lipstick[4947]: hiding /run/firejail/mnt/privileged
kwi 02 14:12:39 xonia lipstick[4947]: Error: can't chdir to privileged
kwi 02 14:12:39 xonia lipstick[4947]: FATAL s1p could not start QML process:exec: "sailfish-qml": executable file not found in $PATH
kwi 02 14:12:39 xonia booster-generic[4871]: *** signal=17 pid=4871
kwi 02 14:12:39 xonia /usr/libexec/mapplauncherd/booster-generic[4871]: warning: Boosted process (pid=20695) exit(1)
kwi 02 14:12:39 xonia /usr/libexec/mapplauncherd/booster-generic[4871]: warning: Daemon: sending exit(1) to invoker(22268)
kwi 02 14:12:39 xonia invoker[22268]: warning: application (pid=-1) exit(1) signal(0)

Also, starting from terminal even without .desktop modification by

s1p --qml harbour-s1p

works OK.

1 Like

Thank you.
I’ve released version 0.9.9 with sandboxing disabled in harbour-s1p.desktop
I think the strange way s1p start up is performed (starting the s1p daemon first which in turn then tries to run the QML part by invoking sqilfish-qml) is not compatible with Sailjail.

7 Likes

As the internal issues tracker got nuked, is there a way to check issues? I have some minor annoyances, but wanted to check first if someone mentioned them already…

Nevertheless, here they are:

  • when, during the SIP call, some other person SIP-calls me, the first call gets muted temporarily, then comes back, mutes again, back again and so on; it persists until the second caller gives up. (“muted” does not mean switching the in-app controls, I just cannot hear my interlocutor).
    A wild guess is that it has something to do with sound routing – the app tries to make some sound to notify me of second call; while it does not, it mutes the first call in process. I’d be perfectly fine with completely ignoring the second call, busy is busy, no need to interfere with the call already in progress.
    Also, after that I have multiple (usually 10+) second-caller entries in history, even if he made just one call. This multiplication is of least annoyance, I mention it just to complete the picture.

  • when I talk thru “normal” phone, (that is builtin phone app, no SIP), and the SIP call comes, the phone call is switched to loudspeaker. Lesser problem than the muting described above, but may be embarrassing in some circumstances :wink:

  • ah, and I forgot – when during SIP call comes “normal” one, I get the ringer straight into ear. Ouch. Can the phone be somehow signalled, that there is another call in progress? Again, blocking/ignoring the second call entirely would be fine.

Just installed it again (V0.9.9-1)and tried it.
Spaces still kill it.
The To and From lines at the tops of the screen are blank, and it locks up.

I am copying a number from the address book with spaces, or making a number in notes with spaces and copying it, then pasting into the dialer field.

Well its Christmas again, which means use my SIP phone again, and it fails to work unitil I remember…

Any chance of a new version which filters spaces out of the number?
Is the source somewhere?

Well, the qml files are there and editable/patchable.

A quick and dirty way of removing spaces could be:

Around line 245 in /usr/share/harbour-s1p/qml/pages/MainPage.qml:

main_handler.dial(number_input_widget.phone_number)

replace with:

main_handler.dial(number_input_widget.phone_number.split(" ").join(""))

(split by space, join by nothing).

Untested, and there are probably more elegant ways, but it should work.

2 Likes

Works, thanks Nephros.

(Installed nano to edit it via ssh:
devel-su pkcon install nano
devel-su nano MainPage.qml
for my own use when I have to do it again)

Also made hardlink (softlink doesn’t work, why not, privileged dir?) to contacts.db instead of copying it.
devel-su ln /home/defaultuser/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db /home/defaultuser/.local/share/harbour-s1p/
I wonder what contacts.db is. It doesn’t have contacts created in the last few months or contacts edited recently. It has a date of Nov 25, but lacks contacts created before then. Oh well, it has the contacts I need to call by sip.