Hacker News new | comments | show | ask | jobs | submit login
SIP.js v0.8.0 Supports All Major Browsers and Renegotiation (onsip.com)
59 points by wakamoleguy 8 months ago | hide | past | web | favorite | 10 comments

> The bulk of SIP.js no longer cares about the media and what it’s doing

yes. this is important, even if only for testing.

my [semi]current test setup for jssip resorts to webdriver testing because the WebRTC is not completely decoupled

https://github.com/ransomw/simp-phone/blob/master/test/clien... https://github.com/ransomw/simp-phone/blob/master/test/clien...

i guess these updates would allow me to test call functionality completely within the node runtime without scrounging around for WebRTC mocks?

Yes! That was part of the goal of these changes. We want SIP.js to be a SIP stack, not a WebRTC wrapper.

https://sipjs.com/ demo does not work. do I have to enable Google Analytics or something?

SIP/2.0 403 Forbidden Via: SIP/2.0/WSS 48cmgevbchtu.invalid;rport=24281;received=46.59..;branch=z9hG4bK1777859

We accidentally terminated our demo account for non-payment (whoops). It should be working now. We have made sure that this will not happen in the future.

Awesome client-side resource! WebRTC is poised to hit the big time now that it is supported by iOS 11.

For both of my questions below I will link options from previous discussions[1]; any experience you can share would be appreciated.

1) What is the best option to implement a server that can tie into WebRTC for audio/video/screensharing?

https://github.com/mappum/electron-webrtc - simple but bulky Node.js WebRTC via a hidden Electron process

https://chromium.googlesource.com/external/webrtc - C++ Chromium WebRTC

https://github.com/jitsi/jitsi-videobridge - Java video conferencing

https://github.com/Kurento/kurento-media-server | https://github.com/OpenVidu/openvidu - Node.js media server transitioning after Twilio hired key devs

https://www.wowza.com/products/capabilities/webrtc-streaming... - commercial; in preview

2) What is the best minimal WebRTC server-side option just for UDP?

https://github.com/js-platform/node-webrtc - Node.js native module with mystical pre-built binaries

https://github.com/HumbleNet/HumbleNet/ - C++ Mozilla + Humble Bundle code drop that does signalling via WebSockets (instead of STUN/TURN/ICE?)

https://github.com/rawrtc/rawrtc - C with CLI examples; media someday? https://github.com/rawrtc/rawrtc/issues/4

https://github.com/seemk/WebUdp - prototype C++ WebRTC datachannel server for Linux looking for help

https://github.com/brkho/client-server-webrtc-example - C++ MVP using Chromium WebRTC http://blog.brkho.com/2017/03/15/dive-into-client-server-web...


[1] A real world guide to WebRTC | https://news.ycombinator.com/item?id=14787285 (Jul 2017, 59 comments)

Sadly, while WebRTC is "supported" by iOS 11, it is disabled in web apps added to the home screen, as well as any embedded web views like UIWebView or WKWebView.

Which leads to the wonderful UX that if a user adds your website that uses WebRTC to the homescreen, you need to catch a TypeError from getUserMedia being undefined, and display a modal to them telling them to delete the homescreen shortcut and always type in the URL if they want to use the website.

Whoever allowed that decision to be made should be ashamed of themselves and embarrassed. Safari really is the new IE.

The cynical part of me thinks it's to keep "alternate" browser apps like Chrome and Firefox on iOS from having the feature, but i'm really hoping that it's something much less nefarious.

But either way it's a really shitty move in my opinion.

Wow, that's bullshit.

Also mentioned on A solution for enabling UDP in the web | https://news.ycombinator.com/item?id=13741155 (Feb 2017):

https://github.com/meetecho/janus-gateway C WebRTC Gateway

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact