s1p

Rating: 
4.941175
Your rating: None Average: 4.9 (34 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
  • voip.ms
  • voipraider.com
  • peoplefone.de
  • messagenet.com
  • linkspace.it

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

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

New Salfish versions block access to the contacts database for 3rd party apps. To be able to see your contacts in s1p you have to copy the database file (as root) into the s1p data directory:
devel-su cp -r ~/.local/share/system/privileged/Contacts/qtcontacts-sqlite/contacts.db ~/.local/share/harbour-s1p/

 

Screenshots: 

Keywords:

Application versions: 
AttachmentSizeDate
File harbour-s1p-0.7.9-1.i486.rpm1.85 MB08/10/2020 - 17:24
File harbour-s1p-0.7.9-1.armv7hl.rpm1.82 MB08/10/2020 - 17:24
File harbour-s1p-0.8.0-1.i486.rpm1.85 MB08/10/2020 - 22:46
File harbour-s1p-0.8.0-1.armv7hl.rpm1.82 MB08/10/2020 - 22:46
File harbour-s1p-0.8.1-1.i486.rpm1.85 MB13/10/2020 - 11:40
File harbour-s1p-0.8.1-1.armv7hl.rpm1.82 MB13/10/2020 - 11:40
File harbour-s1p-0.8.2-1.i486.rpm1.86 MB14/10/2020 - 00:37
File harbour-s1p-0.8.2-1.armv7hl.rpm1.82 MB14/10/2020 - 00:37
File harbour-s1p-0.8.3-1.i486.rpm1.86 MB17/10/2020 - 11:16
File harbour-s1p-0.8.3-1.armv7hl.rpm1.82 MB17/10/2020 - 11:16
File harbour-s1p-0.8.4-1.i486.rpm1.9 MB21/10/2020 - 23:00
File harbour-s1p-0.8.4-1.armv7hl.rpm1.87 MB21/10/2020 - 23:00
File harbour-s1p-0.8.5-1.i486.rpm1.9 MB22/10/2020 - 09:43
File harbour-s1p-0.8.5-1.armv7hl.rpm1.87 MB22/10/2020 - 09:43
File harbour-s1p-0.8.6-1.i486.rpm1.9 MB25/10/2020 - 17:08
File harbour-s1p-0.8.6-1.armv7hl.rpm1.87 MB25/10/2020 - 17:08
File harbour-s1p-0.8.7-1.i486.rpm1.9 MB27/10/2020 - 23:32
File harbour-s1p-0.8.7-1.armv7hl.rpm1.87 MB27/10/2020 - 23:32
File harbour-s1p-0.8.8-1.i486.rpm1.91 MB31/10/2020 - 13:41
File harbour-s1p-0.8.8-1.armv7hl.rpm1.87 MB31/10/2020 - 13:41
File harbour-s1p-0.9.0-1.i486.rpm1.91 MB14/11/2020 - 23:12
File harbour-s1p-0.9.0-1.armv7hl.rpm1.88 MB14/11/2020 - 23:12
File harbour-s1p-0.9.1-1.i486.rpm1.92 MB24/11/2020 - 18:57
File harbour-s1p-0.9.1-1.armv7hl.rpm1.88 MB24/11/2020 - 18:57
File harbour-s1p-0.9.2-1.i486.rpm1.92 MB27/11/2020 - 13:14
File harbour-s1p-0.9.2-1.armv7hl.rpm1.88 MB27/11/2020 - 13:14
File harbour-s1p-0.9.3-1.armv7hl.rpm1.88 MB19/03/2021 - 16:46
File harbour-s1p-0.9.3-1.i486.rpm1.93 MB19/03/2021 - 16:46
File harbour-s1p-0.9.4-1.i486.rpm1.93 MB24/03/2021 - 17:31
File harbour-s1p-0.9.4-1.armv7hl.rpm1.88 MB24/03/2021 - 17:31
File harbour-s1p-0.9.5-1.i486.rpm1.93 MB26/03/2021 - 14:35
File harbour-s1p-0.9.5-1.armv7hl.rpm1.89 MB26/03/2021 - 14:35
File harbour-s1p-0.9.5-1.aarch64.rpm1.86 MB13/05/2021 - 13:41
File harbour-s1p-0.9.6-1.i486.rpm1.93 MB13/05/2021 - 18:33
File harbour-s1p-0.9.6-1.armv7hl.rpm1.88 MB13/05/2021 - 18:33
File harbour-s1p-0.9.6-1.aarch64.rpm1.86 MB13/05/2021 - 18:33
File harbour-s1p-0.9.7-1.aarch64.rpm1.86 MB14/07/2021 - 12:02
File harbour-s1p-0.9.7-1.i486.rpm1.93 MB14/07/2021 - 12:02
File harbour-s1p-0.9.7-1.armv7hl.rpm1.88 MB14/07/2021 - 12:02
File harbour-s1p-0.9.8-1.armv7hl.rpm1.88 MB18/07/2021 - 14:32
File harbour-s1p-0.9.8-1.i486.rpm1.93 MB18/07/2021 - 14:32
File harbour-s1p-0.9.8-1.aarch64.rpm1.86 MB18/07/2021 - 14:32
File harbour-s1p-0.9.9-1.aarch64.rpm1.48 MB09/04/2022 - 13:20
File harbour-s1p-0.9.9-1.armv7hl.rpm1.5 MB09/04/2022 - 13:20
File harbour-s1p-0.9.9-1.i486.rpm1.52 MB09/04/2022 - 13:20
Changelog: 

- 0.9.9 disables sandboxing to fix startup issues
- 0.9.8 allows dialing numbers saved in notes field (and X-SIP field) from contacts.
- 0.9.7 fixes account description, disables issues tracker
- 0.9.6 fixes audio output selection issues introduced with Sailfish 4.1.0.23
- 0.9.5 added direct access to contacts.db, user accessible database may be not up to date, though
- 0.9.4 minor imporvements to input fields, copying numbers from call history
- 0.9.3 fixes issues with early media
- 0.9.2 fixes some issues with FritzBox
- 0.9.1 fixes some issues with linphone.org
- 0.9.0 fixes default primary account setting
- 0.8.9 adds support for multiple active accounts
- 0.8.8 adds auto-answer
- 0.8.7 opens active account section (instead of always the first section) in settings dialog.
- 0.8.6 adds avatar image for ongoing calls
- 0.8.5 fixes disappearing hangup cover action after a call has been answered
- 0.8.4 fixes double entries in call history, fixes lookup of contacts in call history
- 0.8.3 improves audio routing, removes annoying switch to pre-call audio state with last samples still being played.
- 0.8.2 adds log upload to issues tracker
- 0.8.1 introduces (optional) log file (~/.local/share/harbour-s1p/s1p.log)
- 0.8.0 fixes issues with additional incoming calls during an already establiched call
- 0.7.9 introduces changes to the binary size for faster startup
- 0.7.8 fixes deleting call history, adds remorse timer to delete
- 0.7.7 fixes adding SIM calls to history when disabled, adds experimental issues tracker.
- 0.7.6 adds cellular call history integration
- 0.7.5 adds better notification handling, bringing UI to foreground on incoming calls
- 0.7.4 fixes double notifications
- 0.7.3 adds notifications, changes the way SIP daemon and UI communicate enabling background operations in the future.
- 0.7.2 fixes microphone input with headsets
- 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

unmaintained's picture

s1p can perfectly do Proxy-Authorization, I guess in this case it must be thrown-off by something and is sending a fallback-response.

kayakbc's picture

Fantastic app! Kudos to you for all of your wotk so far. With your latest update this app now works great with my sip provider, Voip.ms, here in Canada. Thanks.

Bramba's picture

Anybody here has tried s1p with SIP-provider Easybell or dus.net? Registering the account works completely fine.

However, when trying an outgoing phone call, I always receive error:

DEBUG [SipServer-1] HandleResponseTerminatedOther [436456@192.168...] - call terminated with code: 482 Loop detected

PulseHandler - playback stream suspended - stream index: 0, suspended: false

unmaintained's picture

Could have been a bug with proxy authentication. Could you try it again with 0.3.6 and check if an actual loop occurs?

unmaintained's picture

Does this response "482 Loop detected" come right after the inital invite or is it preceeded by, well, a loop of some sort?

Bramba's picture

Thanks for your great support!

Yes, this error appears immediately after entering the callee phone number and tapping the "dial" button. It doesn't matter if the callee number is a mobile phone or a landline phone in this case.

The main window does always show message "Call ended" afterwards (even in case I did not end it).

unmaintained's picture

Anything changed with version 0.3.7 ?

Bramba's picture

It seems this error "loop detected" does not appear anymore. Thank you!! :-) However, now I get "call terminated with code: 400 session description parsing failed".

I have posted a log for you, ID is no. 45.

I guess this is just a small problem with sip command acceptance of provider Easybell?

unmaintained's picture

Could you check if the same error occurs with version 0.5.4 or above?

Bramba's picture

Thank you very much for your amazing efforts! Unfortunately still the same behavior. :-(

I have posted the log ID no. 49 for you.

unmaintained's picture

Any luck with 0.5.5 ?

Bramba's picture

Yeeehaa, it works! :-) Thank you so much! I just had a phone call for testing purposes, looks great!

Two questions:

1.) Is it intentionally that I often receive the message "playback disabled"?

2.) Phone calls do automatically start in loudspeaker mode, not in "ear speaker" mode. Maybe this is because of the upper log message?

unmaintained's picture

I've added a way to select the default output port (on the settings page)

unmaintained's picture

Yes, 1. is normal and meant to be an energy saving meassure. It should only happen right after start or after a call, though.

I usually either use a headset or speaker, that's why it's the default setting. I guess I will make it configurable should this be an issue.

schmolle's picture

Cool app! Thanks for your work. I would love to see this as Free Software :). Keep it up!

amaretzek's picture

How far away is "wake up display on incomming call"? ;)

unmaintained's picture

I hope once the underlying SIP communication works reliably enough I can concentrate more on the UI.

defactofactotum's picture

Confirm comment above, edited json and now it sticks. But says 'Call ended' so I'm not sure it registered

defactofactotum's picture

Exactly! My file looks like this: {}

So why on earth is it not writing to the file?

amaretzek's picture

ATM, v3.2, "~/.config/harbour-s1p/settings.json" looks like this:

{
  "accounts": [
    {
      "auth_name": "",
      "description": "default",
      "domain": "sip.example.com",
      "enabled": true,
      "name": "123456",
      "password": "secretpw",
      "register_frequency": 3600.0,
      "server_port": 5060.0
    }
  ],
  "bind_address": "0.0.0.0",
  "default_instance": 1.0,
  "playback_buffer_length": 1600.0,
  "playback_latency": 0.1,
  "playback_volume": 100.0,
  "record_buffer_length": 1600.0,
  "record_latency": 0.1,
  "record_volume": 100.0
}
defactofactotum's picture

something radically wrong here. I deleted the settings file...same behaviour. Checked settings file, 2 bytes. So nothing staying there at all.

unmaintained's picture

Super strange. Worked for me both on X and XA2+

amaretzek's picture

Verified on XA2, fresh install, doesn't save!

amaretzek's picture

Does this mean something to you?

[D] onAccepted:203 - SettingsDialog accepted
[W] unknown:205 - file:///usr/share/harbour-s1p/qml/pages/SettingsDialog.qml:205: TypeError: Type error
[1] INFO command_set_playback_volume - frame: {'value': None}
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-s1p/qml/pages/s1p.py\", line 321, in command_set_playback_volume\n    args['value'] = int(args['value'])\n\nTypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'\n"
[1] INFO command_set_record_volume - frame: {'value': None}
[D] unknown:0 - "PyOtherSide error: Traceback (most recent call last):\n\n  File \"/usr/share/harbour-s1p/qml/pages/s1p.py\", line 333, in command_set_record_volume\n    args['value'] = int(args['value'])\n\nTypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'\n"
[D] onError:108 - ERROR - unhandled error received: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-s1p/qml/pages/s1p.py", line 321, in command_set_playback_volume
    args['value'] = int(args['value'])

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

[D] onError:108 - ERROR - unhandled error received: Return value of PyObject call is NULL: Traceback (most recent call last):

  File "/usr/share/harbour-s1p/qml/pages/s1p.py", line 333, in command_set_record_volume
    args['value'] = int(args['value'])

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
unmaintained's picture

It seems nor to create the configuration, especially no accounts sometimes. I'll try to fix that and will upload a new version later today.

amaretzek's picture

Hmmm, before there is:

[D] onError:108 - ERROR - unhandled error received: pyotherside.send() failed handler: file:///usr/share/harbour-s1p/qml/pages/PythonHandler.qml:116: TypeError: Cannot read property '0' of undefined
[W] unknown:232 - file:///usr/share/harbour-s1p/qml/pages/SettingsDialog.qml:232: TypeError: Cannot read property 'NaN' of undefined
unmaintained's picture

Could you please try it with version 0.3.3  ?

amaretzek's picture

version 0.3.3 solves this issue. Great!

defactofactotum's picture

Still no luck, the settings info is lost every time and no registration on XA2. On a newly reset X it's the same, but thanks for helping....

unmaintained's picture

You could try to delete s1p configuration completely and start from scratch:

rm /home/nemo/.config/harbour-s1p/settings.json

I've been able to succesfully register with sip.linphone.org so this may be more of an issue with configuration than with registration.

 

 

Pages