Your rating: None Average: 4.9 (16 votes)

s1p is an experimental SIP client for Sailfish OS

Successfully tested with:

  • Asterisk
  • sipgate
  • sipnet.ru
  • linphone.org
  • 3CX
  • cellip.com
  • FritzBox

(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.




Application versions: 
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

- 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


unmaintained's picture

I've fixed the issue with keypad buttons touching the lower edge of the screen in version 0.1.0, uploaded literally 5 minutes ago :)

maier's picture

Here it's not working with JP1 and FritzBox. Sorry. The network_ready is not going on.

unmaintained's picture

You could try an earlier version, could be that the last changes broke something.Unfortuantely I don't have a FB to test s1p against. Have any specific error messages been logged?

explit's picture

Fritzbox seems to work basicaly. Don't tested much, but this is a big success for many users in Germany

unmaintained's picture

FritzBox, being an appliance, would also be super hard for me to debug, so I'm really glad to read that.

pasko's picture


Thank you very much for this app. Looks very promising.

I'm willing to help debugging or providing logs if necessary. My configuration includes an Asterisk server with chan-sip with a few clients, including a Linphone client in an Ubuntu box and an Nokia N9 sip client.

I miss the option to use alphabetic characters in the address field from previous versions, since the accounts in my Asterisk server are defined with non-numeric user names.

I have also noticed some timeout problems with stablished calls as logged by the Asterisk server.

Best regards.

unmaintained's picture

As a work around you can use copy & paste to dial non-numeric destinations. I know that's not ideal and I think about how to make it optional. 


pasko's picture


I just noticed the 'paste' icon in the UI. :)

Thank you very much again for your work.

Best regards.

Fly86's picture

There are actually some people including me ;)
Anyway it would be nice if it worked like 1998 :-)

unmaintained's picture

I've added "1998 mode" in 0.1.4  :)

Fly86's picture

Good work.Good working App. Unfortunaly the sound does not come from the earpiece. Would be great if that can still be changed.

unmaintained's picture

You mean people are still holdng their phones to their ears like it's 1998 ?


amaretzek's picture

version 0.0.5, if server is reachable via dev tun, it tries to send via wlan dev. Didn't investigate further.

amaretzek's picture

version 0.0.5, on first incomming call, after picking up, the server (asterisk) says "Invalid contact uri (missing sip: or sips:)" and "Invalid URI: parse_uri failed to acquire hostport".
On a second incomming call, it behaves different.
First outgoing seems "ok", audio distorted (too high volume??), increased lag from far end to local.
Second outgoing, hang up on local doesn't terminate audio.

unmaintained's picture

I will try to add a way to submit log files later. Right now trying to fix all these issues would be just guess work.

amaretzek's picture

I meant, that was from the server log. I can put logs on my web server, if you want...

Domi's picture

Nice application. Thanks! It works on a Cisco CME with outgoing calls. In one direction the voice is not that bad. On a Fritzbox the registration fails. There exists on the Fritzbox the limitation that the username must be the same as the used number...

unmaintained's picture

Auth-user and user name in "From" share the same variable so they must be equal at the moment.

Domi's picture

With 0.0.4 registration and call as client on a fritzbox works :-)

Is the next version video included?

unmaintained's picture

I'm glad it works - without an actual FritzBox debugging would be a nightnmare I think.
Video will maybe come at some point down the line once audio calls turn out to work reliably. 

HoSnoopy's picture

I tried to connect with a Fritz!Box. It doesnt connect:

b'DEBUG [SIPServer-1] HandleResponseUnhandled [13f93f33@] - unhandled response ignored - from: ulistelefix (, ua: FRITZ!OS, to: ulistelefix\n'
b'TRACE [SIPServer-1] HandleResponseUnhandled [13f93f33@] - payload: => (481 Call Leg/Transaction Does Not Exist)\n'

I just tried it, maybe it is helpful for you? ;-)

unmaintained's picture

Unfortunately that seems to be only the last part of the transaction. The FritzBox answering to a request with 481 would mean it somehow can't match it to a previous request.
I'm afraid it may take a while to iron out such things, unfortunately.

zipotron's picture

Thanks for the App! Just a question. Witch kind of license have the program? I case of be OpenSource. Can we have the repo link? I would like to collaborate

unmaintained's picture

The Python + QML parts are OpenSource, the SIP part is proprietary at the moment.

I haven't decided yet what to do about it. I guess id depends on people actually being interested in SIP on SFOS or not.

bc77's picture


I am interested. I am using sipgate.de als SIP Provider..

unmaintained's picture

Have you tried it with sipgate?
You will have to use their IP address instead of sipgate.de, though.

dubliner's picture

I am also extremely interested. In fact, it's the major thing missing for me with SFOS. However, I have been unable to get it working.

On my Asterisk server I keep getting "SIP/2.0 401 Unauthorized" (pjsip logger) while the status on s1p never changes from "network_ready" no matter how simple a password I choose.

So, I tried registering s1p with Antisip. Here the status on s1p changed from "network_ready" to "not_allowed".

Of course, I verified username and password in both situations several times.

Any hints?

unmaintained's picture

Do you have a way to start it from the command line and to analyze the optput?

sailfish-qml harbour-s1p

Please be aware before posting things that the output could contain IPs, usernames and the password in clear text.

dubliner's picture

I just installed harbour-s1p-0.0.3-1 and this is what I see when I try to connect to Antisip:

b'ERROR [SIPServer-1] CreateDialog [4273f45e@] - on request: REGISTER, cseq: , from: #hidingMyNumber# (, ua: s1p, to: #hidingMyNumber#\n'
b'DEBUG [SIPServer-1] Register [4273f45e@] - from: #hidingMyNumber# (, ua: s1p, to: #hidingMyNumber#\n'
b'DEBUG [SIPServer-1] HandleRequestRegister [4273f45e@] - REGISTER declined - from: #hidingMyNumber# (, ua: s1p, to: #hidingMyNumber#\n'
b'DEBUG [SIPServer-1] WritePacket - out: => (405 Method Not Allowed)\n'
b'DEBUG [SIPServer-1] AnswerAck [4273f45e@] - from: #hidingMyNumber# (, ua: s1p, to: #hidingMyNumber#\n'
b'DEBUG [SIPServer-1] WritePacket - out: => (ACK) sip:#hidingMyNumber#@\n'
b'DEBUG [SIPServer-1] HandleRequestAck [4273f45e@] - ACK - ignored - from: #hidingMyNumber# (, ua: s1p, to: #hidingMyNumber#\n'
b'DEBUG [SIPServer-1] HandleRequestAck [4273f45e@] - ACK - ignored - from: #hidingMyNumber# (, ua: s1p, to: #hidingMyNumber# => (REGISTER) sip:sip.antisip.com:5060\n'
[1] rec: b'{"event":"not_allowed","from_peer":"#hidingMyNumber#","to_peer":"#hidingMyNumber#","outbound":true}\n'

[1] INFO handle_stdout - event frame: {'event': 'not_allowed', 'from_peer': '#hidingMyNumber#', 'to_peer': '#hidingMyNumber#', 'outbound': True}
[1] INFO handle_event_frame - frame: {'event': 'not_allowed', 'from_peer': '#hidingMyNumber#', 'to_peer': '#hidingMyNumber#', 'outbound': True}
[D] :15 - 1 handle_event_frame - event: not_allowed
b'ERROR [RTPServer-2] Run - read error: read udp recvmsg: interrupted system call\n'

So, it's 405 Method not allowed in this case. Not sure why port 9004 shows up, though.

BTW, which service are you connecting to in your setup?

unmaintained's picture

Someting got totatlly confused here, the following line means that it's basically speaking to itself: 

out: =>

What is the local IP address and what should be the IP of the SIP registrar?

Port 9004 is the default RTP port and can be ignored for now as it has nothing to do with the register attempt.