FOOD FOR THOUGHT New SIP client for Android

Discussion in 'Endpoints' started by ankyr, Dec 19, 2018.

  1. ankyr

    ankyr New Member

    Joined:
    Dec 19, 2018
    Messages:
    10
    Likes Received:
    3
    Hi!

    We're the developers of a new VoIP app, Sipnetic. If you use an Android SIP client, such as CSipSimple, Zoiper, or Linphone, you should check out Sipnetic. I'll be glad to provide any info about this app or SIP protocol in general.
    Google Play: https://play.google.com/store/apps/details?id=com.sipnetic.app
     
  2. Hometech

    Hometech Member

    Joined:
    Mar 9, 2008
    Messages:
    151
    Likes Received:
    14
    Wish it did IAX2
     
  3. ankyr

    ankyr New Member

    Joined:
    Dec 19, 2018
    Messages:
    10
    Likes Received:
    3
    Why? From my experience Asterisk works great with SIP.
     
    billsimon likes this.
  4. krzykat

    krzykat Guru

    Joined:
    Aug 2, 2008
    Messages:
    1,368
    Likes Received:
    327
    Many people like IAX2 as it isn't hack attempted as often, most governments don't block it like they do SIP.

    Personally, I'm using Grandstream Wave

    One feature that it has that I like that I haven't seen as much on others is the ability to have BLF buttons.
     
  5. ankyr

    ankyr New Member

    Joined:
    Dec 19, 2018
    Messages:
    10
    Likes Received:
    3
    I don’t know if IAX can run over TLS, but with SIP you can use TLS+SRTP, which helps against ISP surveillance. ZRTP (RFC 6189) is even better, since it offers true end-to-end encryption.

    I have no idea how BLF function might look in a mobile messenger app, it’s more a hardware phone feature to me. In our app we have presence subscriptions that display each contact’s activity.
     
  6. krzykat

    krzykat Guru

    Joined:
    Aug 2, 2008
    Messages:
    1,368
    Likes Received:
    327
    The IAX gets around DPI - the other forms such as TLS wth SRTP don't.

    On BLF - yes - just to know if I have extensions 101 = tom, 102 = dick, and 103 = jerry - to see those on the screen and know if they are online, offline, or busy is a good thing. You are saying you have that with this app?
     
  7. billsimon

    billsimon Experienced in Asterisk, FreePBX, and SIP

    Joined:
    Jan 2, 2011
    Messages:
    899
    Likes Received:
    272
    @ankyr only on this forum have I seen people asking about IAX2 in recent years. Just sayin'...

    Does the messenger component use SIP MESSAGE methods? How are the audio clips (walkie-talkie mode) done?
     
    ankyr likes this.
  8. Hometech

    Hometech Member

    Joined:
    Mar 9, 2008
    Messages:
    151
    Likes Received:
    14
    Zoiper for android is this only client that I know of that works with IAX2.
     
  9. krzykat

    krzykat Guru

    Joined:
    Aug 2, 2008
    Messages:
    1,368
    Likes Received:
    327
    Yes - I don't have a need for IAX2, but I have seen it requested in the middle east where SIP is a no-no.
     
  10. ankyr

    ankyr New Member

    Joined:
    Dec 19, 2018
    Messages:
    10
    Likes Received:
    3
    You mean DPI that simply blocks the unwanted traffic? Yes, SRTP is easily detected, but not decrypted without breaking TLS. DPIs that try to analyze or manipulate user’s traffic don’t make much sense in 2018, almost everything is encrypted. SIP signaling can use port 443, which is indistinguishable from HTTPS.

    This is known as SIMPLE protocol suite. The client subscribes to each contact’s activity info with SIP SUBSCRIBE method. Presence information containing contact’s status (online, offline, talking, DND etc.) is then sent back to the client in a NOTIFY message. I guess Zoiper offers this too, but only as a paid feature.

    Yes, we use SIP MESSAGE. Most VoIP providers that support MESSAGE allow any content type, not only plain text. For voice messages our app uses “audio/ogg”, i.e. OGG container with Opus audio.
     
  11. tycho

    tycho Guru (not...)

    Joined:
    Aug 9, 2011
    Messages:
    583
    Likes Received:
    223
    I'll go check out your Sipnetic offering, thanks.

    (Maybe its just us crazys on this forum, but add another guy to the list of folks who love and want IAX2. For whatever it is worth, I use it all the time when I can, and seek out apps specifically for the ability to support IAX2. I, of course, use SIP all the time as well).
     
    ankyr likes this.
  12. atsak

    atsak Guru

    Joined:
    Sep 7, 2009
    Messages:
    1,738
    Likes Received:
    155
    IAX2 is needed for many cellular networks who traffic manage SIP (or block it!) and also for situations where NAT is in place (even Carrier Grade NAT still causes some trouble) with bad or no SIP ALG. Regularly see no audio problems using SIP over LTE.
     
  13. ankyr

    ankyr New Member

    Joined:
    Dec 19, 2018
    Messages:
    10
    Likes Received:
    3
    NAT traversal techniques are basically same for IAX and RTP. It’s either “Hosted NAT Traversal” aka “Latching” or some relay protocol like TURN. TURN + ICE (RFC 8445) is usually considered the best option, this is what WebRTC uses.
     
  14. atsak

    atsak Guru

    Joined:
    Sep 7, 2009
    Messages:
    1,738
    Likes Received:
    155
    I know how it works. IAX2 uses a symmetrical port instead of a signalling and media stream. Makes all the difference when traversing deep packet inspection (used by ISP's and wireless telcos for traffic management) and some kinds of NAT. For what it's worth, WebRTC also doesn't work sometimes over 3G / LTE. Anyway, just wanted to offer a suggestion why it matters. Zoiper works great for me on IAX now, but certainly would like to have some choice.
     
    MGD4me likes this.
  15. kenn10

    kenn10 Guru-ish

    Joined:
    Dec 16, 2007
    Messages:
    770
    Likes Received:
    96
    It works fine on WiFi but I'm also running a DynDNS client on my smartphone. I am on T-Mobile. My PBX only excepts VOIP traffic on ports 5060-5069 and that worked fine on WIFI even when the app is set to random port selection. When I drop WIFI and move to LTE on T-MO, it cannot connect to my server. I set the port to 5060 on the app but it won't connect. So with a secured server, this app won't work for me.
     
  16. ankyr

    ankyr New Member

    Joined:
    Dec 19, 2018
    Messages:
    10
    Likes Received:
    3
    DPI can create troubles for RTP and SRTP, but not the SIP signaling itself, provided that you use TLS. In the Web world DPI is almost dead, since everyone has switched to HTTPS. I’d say there’s no reason not to use VoIP encryption.

    As for RTP media, there is a last resort option to run it over TLS as well. We haven’t implemented it in our app though.

    I guess mobile ISPs have found a "simple" way to defeat VoIP by blocking some ports. We can hope that VoIP providers start offering TLS on port 443, as it happened earlier with VPNs.
     
  17. kenn10

    kenn10 Guru-ish

    Joined:
    Dec 16, 2007
    Messages:
    770
    Likes Received:
    96
    The app looks good and has nice features. The UI is very good. Persevere!
     
    ankyr likes this.
  18. David Foxworth

    Joined:
    Oct 26, 2013
    Messages:
    44
    Likes Received:
    13
    I could not make the app work for me in attempting to connect to my Asterisk server. So I did a tcpdump to see what was going on. Apparently it is ignoring the port setting under Network Preferences and therefore it is attempting to contact my Asterisk server on a different port than what I have specified in the settings. Is this something I am doing wrong or is it truly ignoring that setting?

    Thanks
     
  19. krzykat

    krzykat Guru

    Joined:
    Aug 2, 2008
    Messages:
    1,368
    Likes Received:
    327
    Tried it out today, and it works, but getting a warning on CLI:


    WARNING[31173]: chan_sip.c:28340 handle_request_subscribe: SUBSCRIBE failure: no Accept header: pvt: stateid: -1, laststate: 0, dialogver: 0, subscribecont: '', subscribeuri: ''
     
  20. billsimon

    billsimon Experienced in Asterisk, FreePBX, and SIP

    Joined:
    Jan 2, 2011
    Messages:
    899
    Likes Received:
    272
    When specifying the port to connect TO, you put it after the dns name or IP address using a colon, such as 1.2.3.4:5160