s1p

Rating: 
4.95652
Your rating: None Average: 5 (23 votes)

s1p is an experimental SIP client for Sailfish OS

Successfully tested with:

  • Asterisk
  • 3CX
  • Yate
  • FritzBox
  • sipgate.de
  • sipgate.co.uk
  • sipnet.ru
  • easyfone.de
  • linphone.org
  • cellip.com
  • easybell.de
  • eventphone.de
  • nfon.com

(please add a comment if you have been able to make it work with a provider not listed above)

Please reference the log-ID when writing a comment after submittimg a log to the developer.
The ID should be displayed at the bottom of the page if the log was successfully submitted. 

Also don't forget to restart the app after making any changes to the settings.

 

Screenshots: 

Keywords:

Application versions: 
AttachmentSizeDate
File harbour-s1p-0.0.2-1.armv7hl.rpm2.13 MB27/05/2020 - 10:26
File harbour-s1p-0.0.3-1.armv7hl.rpm2.13 MB27/05/2020 - 23:38
File harbour-s1p-0.0.4-1.armv7hl.rpm2.14 MB29/05/2020 - 14:26
File harbour-s1p-0.0.5-1.armv7hl.rpm2.14 MB30/05/2020 - 11:04
File harbour-s1p-0.0.6-1.armv7hl.rpm2.14 MB01/06/2020 - 19:36
File harbour-s1p-0.0.7-1.armv7hl.rpm2.14 MB02/06/2020 - 22:52
File harbour-s1p-0.0.8-1.armv7hl.rpm2.15 MB04/06/2020 - 20:19
File harbour-s1p-0.0.9-1.armv7hl.rpm2.15 MB05/06/2020 - 12:22
File harbour-s1p-0.1.0-1.armv7hl.rpm2.15 MB05/06/2020 - 14:58
File harbour-s1p-0.1.1-2.armv7hl.rpm2.15 MB05/06/2020 - 23:43
File harbour-s1p-0.1.2-1.armv7hl.rpm2.15 MB06/06/2020 - 11:41
File harbour-s1p-0.1.3-1.armv7hl.rpm2.15 MB06/06/2020 - 19:01
File harbour-s1p-0.1.4-1.armv7hl.rpm2.15 MB08/06/2020 - 21:30
File harbour-s1p-0.1.5-1.armv7hl.rpm2.15 MB09/06/2020 - 11:24
File harbour-s1p-0.1.6-1.armv7hl.rpm2.16 MB09/06/2020 - 15:49
File harbour-s1p-0.1.7-1.armv7hl.rpm2.16 MB11/06/2020 - 09:29
File harbour-s1p-0.1.8-1.armv7hl.rpm2.16 MB12/06/2020 - 11:37
File harbour-s1p-0.1.9-1.armv7hl.rpm2.16 MB12/06/2020 - 21:11
File harbour-s1p-0.2.0-1.armv7hl.rpm2.16 MB13/06/2020 - 11:53
File harbour-s1p-0.2.1-1.armv7hl.rpm2.18 MB13/06/2020 - 22:21
File harbour-s1p-0.2.2-1.armv7hl.rpm2.18 MB16/06/2020 - 20:07
File harbour-s1p-0.2.3-1.armv7hl.rpm2.18 MB20/06/2020 - 11:01
File harbour-s1p-0.2.4-1.armv7hl.rpm2.18 MB21/06/2020 - 11:30
File harbour-s1p-0.2.5-1.armv7hl.rpm2.18 MB26/06/2020 - 14:31
File harbour-s1p-0.2.8-1.armv7hl.rpm2.18 MB28/06/2020 - 11:08
File harbour-s1p-0.2.9-1.armv7hl.rpm2.19 MB29/06/2020 - 16:48
File harbour-s1p-0.3.1-1.armv7hl.rpm2.18 MB04/07/2020 - 12:42
File harbour-s1p-0.3.2-1.armv7hl.rpm2.18 MB08/07/2020 - 23:56
File harbour-s1p-0.3.3-1.armv7hl.rpm2.18 MB09/07/2020 - 22:58
File harbour-s1p-0.3.4-1.armv7hl.rpm2.19 MB12/07/2020 - 12:46
File harbour-s1p-0.3.5-1.armv7hl.rpm2.19 MB15/07/2020 - 02:04
File harbour-s1p-0.3.7-1.armv7hl.rpm2.19 MB16/07/2020 - 10:34
File harbour-s1p-0.3.8-1.armv7hl.rpm2.19 MB18/07/2020 - 11:18
File harbour-s1p-0.3.9-1.armv7hl.rpm2.2 MB23/07/2020 - 17:04
File harbour-s1p-0.4.0-1.armv7hl.rpm2.2 MB25/07/2020 - 10:52
File harbour-s1p-0.4.1-1.armv7hl.rpm2.2 MB26/07/2020 - 12:06
File harbour-s1p-0.4.2-1.armv7hl.rpm2.2 MB27/07/2020 - 15:43
File harbour-s1p-0.4.3-1.armv7hl.rpm2.2 MB30/07/2020 - 22:23
File harbour-s1p-0.4.4-1.armv7hl.rpm2.2 MB31/07/2020 - 14:47
File harbour-s1p-0.4.5-1.armv7hl.rpm2.2 MB01/08/2020 - 11:01
File harbour-s1p-0.4.6-1.armv7hl.rpm2.2 MB01/08/2020 - 23:13
File harbour-s1p-0.4.7-1.armv7hl.rpm2.2 MB04/08/2020 - 10:53
File harbour-s1p-0.4.8-1.armv7hl.rpm2.2 MB06/08/2020 - 09:50
File harbour-s1p-0.4.9-1.armv7hl.rpm2.2 MB06/08/2020 - 14:06
File harbour-s1p-0.5.0-1.armv7hl.rpm2.2 MB10/08/2020 - 15:21
File harbour-s1p-0.5.1-1.armv7hl.rpm2.2 MB10/08/2020 - 15:28
File harbour-s1p-0.5.2-1.armv7hl.rpm2.2 MB13/08/2020 - 11:57
File harbour-s1p-0.5.3-1.armv7hl.rpm2.2 MB13/08/2020 - 12:08
File harbour-s1p-0.5.4-1.armv7hl.rpm2.2 MB17/08/2020 - 11:32
File harbour-s1p-0.5.5-1.armv7hl.rpm2.2 MB18/08/2020 - 17:31
File harbour-s1p-0.5.6-1.armv7hl.rpm2.25 MB22/08/2020 - 15:08
File harbour-s1p-0.5.7-1.armv7hl.rpm2.26 MB22/08/2020 - 16:04
File harbour-s1p-0.5.8-1.armv7hl.rpm2.26 MB25/08/2020 - 14:57
File harbour-s1p-0.5.9-1.armv7hl.rpm2.26 MB26/08/2020 - 00:02
File harbour-s1p-0.6.0-1.armv7hl.rpm2.26 MB26/08/2020 - 16:30
File harbour-s1p-0.6.1-1.armv7hl.rpm2.26 MB27/08/2020 - 18:26
File harbour-s1p-0.6.2-1.armv7hl.rpm2.26 MB28/08/2020 - 00:41
File harbour-s1p-0.6.3-1.armv7hl.rpm2.26 MB29/08/2020 - 11:07
File harbour-s1p-0.6.4-1.armv7hl.rpm2.26 MB30/08/2020 - 11:25
File harbour-s1p-0.6.5-1.armv7hl.rpm2.26 MB31/08/2020 - 22:19
File harbour-s1p-0.6.6-1.armv7hl.rpm2.26 MB03/09/2020 - 14:39
File harbour-s1p-0.6.7-1.armv7hl.rpm2.26 MB03/09/2020 - 22:49
File harbour-s1p-0.6.8-1.armv7hl.rpm2.26 MB04/09/2020 - 17:52
File harbour-s1p-0.6.9-1.armv7hl.rpm2.27 MB07/09/2020 - 17:20
File harbour-s1p-0.7.0-1.armv7hl.rpm2.27 MB13/09/2020 - 22:22
File harbour-s1p-0.7.1-1.armv7hl.rpm2.28 MB15/09/2020 - 12:02
Changelog: 

- 0.7.1 fixes issue with receiving rtp traffic when local IP changes
- 0.7.0 changes to external IP address handling, crash handling, length of call-id and tags
- 0.6.9 fixes screen unlock on incoming calls
- 0.6.8 adds support for hardware/headset buttons to configuration page
- 0.6.7 fixes server port data type
- 0.6.6 adds support for additional SIP accounts (only one at a time can be active)
- 0.6.5 testing FritzBox 7590 compatibility
- 0.6.4 adds less used DTMF digits (A-D,F) to pulley menu, reduces ambiguity with status messages
- 0.6.3 minor visual changes to the cover page
- 0.6.2 adds contact name lookup by phone number
- 0.6.1 adds minor visual improvements to the call history and contacts pages
- 0.6.0 adds minor visual improvements to the contacts page
- 0.5.9 adds voicemail icon and counter
- 0.5.8 adds default audio port selector to settings dialog
- 0.5.7 adds Yate compatibility
- 0.5.6 adds audible ringback tone
- 0.5.5 adds compatibility with Easybell
- 0.5.4 testing compatibility with Easybell
- 0.5.3 fixes issues with saving display names in call history
- 0.5.2 adds display name to call history
- 0.5.1 fixes phone number in history page
- 0.5.0 adds call history page
- 0.4.9 adds small visual improvements to the UI
- 0.4.8 improves compatibility with pjsip
- 0.4.7 fixes error in media description parser
- 0.4.6 improves compatibility with 3CX
- 0.4.5 adds rport option
- 0.4.4 allows to set bind port on the settings page
- 0.4.3 adds support for buttons on wired headsets to allow answering / hanging-up calls
- 0.4.2 adds display activation on incomming calls
- 0.4.1 fixes misleadling log entries related to RTP destination address
- 0.4.0 adds codec selector in settings dialog
- 0.3.9 adds locking down to one of the available codecs when answering a call
- 0.3.8 adds workaround for 3cx
- 0.3.7 reinstates stricter approach to call progess messages
- 0.3.6 allows a more flexible approach to call progess messages
- 0.3.5 fixes proxy-authentication
- 0.3.4 adds support for display name
- 0.3.3 fixes previously broken default settings
- 0.3.2 fixes regsitering with sip.linphone.org
- 0.3.1 sets default register frequency to 1 hour
- 0.3.0 adds options for bind address and regsiter frequency
- 0.2.9 enables voicemail button, fixes issues with number input
- 0.2.8 fixes issues with setting latency and buffer length
- 0.2.7 adds configuration dialog options for latency and audio buffer length
- 0.2.6 adds configuration-file options for latency and audio buffer length
- 0.2.5 adds improvements to power consumption, audio handler and playback buffer
- 0.2.4 adds preferrence for domain instead of IP in SIP dialogs and adds auth-name field to SIP account settings
- 0.2.3 adds initial DTMF support
- 0.2.2 fixes call status being sometimes overwritten by regstration status
- 0.2.1 adds DNS SRV record lookup
- 0.2.0 adds G.711 μ-law codec, (hopefully) fixes some call-state issues
- 0.1.9 fixes choppy audio on some phones
- 0.1.8 makes some changes to how audio frames are handled
- 0.1.7 adds volume presets
- 0.1.6 enables mute button
- 0.1.5 fixes issues with audio output selection
- 0.1.4 enables audio output selection buttons
- 0.1.3 improves logging and handling of audio packets
- 0.1.2 adds log upload
- 0.1.1 adds contacts page
- 0.1.0 improves UI
- 0.0.9 fixes issues with outbound calls through sipgate
- 0.0.8 fixes inbound calls with sipgate (cancelling outbound calls still broken)
- 0.0.7 fixes some issues with sipgate (inbound calls still broken)
- 0.0.6 improves UI and makes hanging up calls more reliable
- 0.0.5 adds ringtones
- 0.0.4 fixes registering issues with antisip.com
- 0.0.3 adds log page
- 0.0.2 initial release

Comments

explit's picture

Coul you please build i486 version? Thanks

michl's picture

S1P seems to work on an FXtec Pro¹ in combination with a FritzBox! Nice work!

A few comments:

- After ending a call and the application the volume of the phone is lower than it was before calling. Using the volume rocker button and raising the volume to the max doesn't restore the original volume setting.

- It seems that the approximation sonsor is not used yet. Is it used on other phones? This might be a special case for the Pro¹.

- Sound quality on both ends isn't really good. It sounds quite muffled.

However, it is quite impressive, that it's working so well! Thanks for your work!

 

unmaintained's picture

Thank you. I don't own a FXtec Pro¹ myself so fixing the issues may involve a lot of guesswork on my part.

The sound seems to be OK on other phones but maybe tweaking the audio settings could have an efefect here (Gain presets etc. on the settings page)

The volume decrease is interesting as there's no code in s1p yet that would change volume settings on SFOS so I'm not really sure why this is happening on the FXtec.

Also the proximity sensor is not used by s1p yet.

unmaintained's picture

Thank you. I will look into giving the available qml and python sources an open-source compliant license and will also explore the best options to add an issues tracker, wiki, etc. as soon as I find some time.

 

andy's picture

Hi unmantained, thanks for the app. I have a fritzbox 7590 and I'm able to receive and make calls perfectly. The only thing that I don't understand is why the status message is "call ended" instead of "registered". I also ask you if would be possible to insert the "R" button in the dialer, as it's necessary for the fritzbox in order to transfer the call to other numbers. Thank you!

unmaintained's picture

According to RFC 2833 DTMF can have the following digits.

Event  encoding (decimal)
0--9                0--9
*                     10
#                     11
A--D              12--15
Flash                 16

 

Does the "R" key work with other SIP phones or would the FritzBox maybe expect a SIP transfer instead? 
Nevertheless, I've added DTMF A-D and Flash to the pulley menu, maybe one of these will do the trick as well.

As for the "call ended" message, it could be that the registering initally fails for some odd reason. You could submit a log and reference the log ID here should this continue to happen.

andy's picture

Unmantained, thank you for all the effort you are putting into this project. I tested the latest version of the app and found the following:
- I confirm that I can make and receive calls (Fritz!box 7590), with a higher quality than the one I get using the Android Linphone or Zoiper apps on Sailfish;
- the status messages are actually much clearer. However, I do not get the message "registered" but "registering failed", and this despite the calls working fine. I have tried to check the log and it actually looks like something is wrong, but I am unable to tell what. If you want to take a look, I sent you the log: id-54. Only once the message "registered" appeared but I was unable to replicate this situation or understand what it depends on;
- I saw that you added the new DTMF digits but I don't think they work. When are they selected should they emit a tone? Because if it has to be, nothing happens. Moreover, not even the dialer digits emit any tone, with the consequence that it is not possible to interact with the automatic responders. Honestly, I don't remember if that was also the case in the previous version. On Linphone when I press a key I hear its tone, I guess it should be the same on s1p too.
Bye!

unmaintained's picture

Thank you for uploading the log. I've tweaked the registration part a litttle to (hopefully) make it more compatible with your FritzBox.

The default method how DTMF is handled with most SIP phones is out-of-band, as described in RFC 4733. This means the events are not transported as audible tones, it's therefore totally normal if you don't hear anything. If the FB is compatible with RFC 4733 it should work nevertheless.
Some other phones may play "convenience" tones locally to indicate a DTMF event has been transmitted but this should not affect the transmission itself.

trial's picture

Perfect programm, which just saved my ass, after my employer migrated from a on premice solution (Asterisk) to a cloud one. Managed to get it work though - "NFON Cloudya" is the name of the provider. ^^

trial's picture

Alright then - now I do experience the following problem. Once I set everything, the app worx like a charm. Once I put my Xperia X into standby mode, the following error occures around couple of minutes later, when I try to dial any number:

https://postimg.cc/YhYkLfGH

In case s.o. tries to call me, a busy status he receives.
Once again - If I do not put the phone into standby, everything worx as expected. Cloud provider: NFON Cloudya.

unmaintained's picture

Unfortuantely I can't see much that would indicate any problem (just the fact s1p receives a 403 Forbidden). You could try setting Register Interval to something like 60 seconds and then check if this issue also happens with REGISTER packets or if the 403 Forbidden goes away after re-registering?

trial's picture

Then please tell how could I support U in order to debug it.

unmaintained's picture

The easiest way would be to submit a log from the log page and reference the ID in your comment.

explit's picture

Thanks for the App, unmaintained. Very good app, and a lot of work and time is invested! Works like a charm with FritzBox 6490 and Vodafone Cable DE in Germany. Great!

unmaintained's picture

Thank you. I've listed FritzBox as supported but do you maybe know if all their SIP capable models shoud work or do they each have a different, slighly incompatible SIP firmware?

melvin's picture

A background feature with the default Jolla screen would be awesome, otherwise it works great (sipgate)!

unmaintained's picture

What do you mean by default Jolla screen?

melvin's picture

I mean the screen that shows up when I get called normally. Currently I need to unlock my phone when a sip call arrives - mobile calls let you accept via sliding up on the call screen.

unmaintained's picture

I'm not sure if it can be done withour root privileges and changes to the original files.

Bramba's picture

@unmaintained: Maybe this could be very interesting for you... :-)

https://programm.froscon.de/2020/events/2624.html

https://programm.froscon.de/2020/events/2625.html

unmaintained's picture

I won't have time to watch live but I certainly take a look should there be a recording available.

fridlmue's picture

Thanks for this great software!

I could register and make calls with s1p with the the guru3 system of eventphone.de.
Can hear the other end on the "test" numbers, but did not yet make an active call. I'll report if that was successful, too.

unmaintained's picture

I've added authentication handling to more requestst which should fix a few hangup issues with Yate, wich is what eventphone.de seems to be running on.

andy's picture

Thank you for this awesome app! I have been waiting for it for a very long time. Tried with a Fritz!Box 7590 and it seems to work. Only problem is that I continuosly have a "call ended" status message instead of "registered". I checked the log and I think there are some problems there. I posted it, id:48. What it might be? Thank you!

spinfoam's picture

Thank you for this much needed app.

Tested with odorik.cz and it registers correctly and some initial call testing was successful as well. But will give it more trials.

Are there any plans to add chat option?

unmaintained's picture

If I find the time I may add chat at a later date.

apolem's picture

At first, thanks for the work!

But at the moment I can’t test your app because the window is just white.

I get following status when starting your app on cli:

[D] unknown:0 - Using Wayland-EGL
[D] unknown:0 - Got library name:  "/usr/lib/qt5/qml/io/thp/pyotherside/libpyothersideplugin.so"
[W] unknown:49 - file:///usr/share/harbour-s1p/qml/harbour-s1p.qml:49:5: Type MainPage unavailable
         MainPage {
         ^
[W] unknown:68 - file:///usr/share/harbour-s1p/qml/pages/MainPage.qml:68:5: Type NumberInputWidget unavailable
         NumberInputWidget {
         ^
[W] unknown:63 - file:///usr/share/harbour-s1p/qml/pages/NumberInputWidget.qml:63:5: Cannot assign to non-existent property "_cursorBlinkEnabled"
         _cursorBlinkEnabled: false
         ^
library "/vendor/lib/egl/libGLESv2S3D_adreno.so" not found

SFOS 3.1.0.12 on Nexus 5 (hammerhead; it’s a community build)

Let me know if it is just because of my stupidity. Thanks!

unmaintained's picture

I don't have this exact build so won't be able to replicate this issue but you could open the last file [1] and comment out this _cursorBlinkEnabled line throwing the error.

[1] /usr/share/harbour-s1p/qml/pages/NumberInputWidget.qml

ar0's picture

Worked at sipnet.ru, xa2+

emsys's picture

One way audio issue with Nokia N9

Hello again,

I did some more testing with version 0.4.6, in order to try to understand why does the audio from s1p end up on the 3CX server instead of going to N9 phone, and I think I might have found something.

I dialed in s1p from the following phones and dumped the contents of the INVITE request received at Sailfish OS with wireshark. Here is what I find:

Gigaset DX800A

o=3cxPS 19540964070653952 5169137911332865 IN IP4 192.168.1.201
c=IN IP4 192.168.1.240
m=audio 9032 RTP/AVP 9 0 8 96 97 2 18 101

Android (native)

o=3cxPS 30808849594187776 12703181402275841 IN IP4 192.168.1.201
c=IN IP4 192.168.1.105
m=audio 60294 RTP/AVP 96 97 3 0 8 127

Nokia N9

o=3cxPS 11303284778205184 16439823719989249 IN IP4 192.168.1.201
m=audio 7078 RTP/AVP 18 102 8 0 101 99
c=IN IP4 192.168.1.104

 

In case of Gigaset and Android clients, s1p delivers audio correctly at the IP address of the phones. However in case of Nokia N9, though s1p sends the audio to correct port number (7078), it sends it to the wrong IP address, i.e. to 192.168.1.201 (IP address of PBX).

What I see different when I compare the INVITE request from N9 with those of Gigaset and Android phones is that the order of the lines m and c is reversed between N9 and the other clients.

In case of Gigaset and Android, line c comes before line m and thus audio works fine (goes to c).

In case of N9 however, c comes after m, and thus s1p picks up the IP address from the o line and port number from the m line, and ignores the c line. Audio ends up at o instead of c.

I think s1p stops looking for the IP address of the other party as soon as it parses the m line and/or reads in the port number. I hope you can find something in your code around that place in order to try to fix this issue.

Pages