RestComm / restcomm-android-sdk

Android Mobile SDK to easily integrate communication features (WebRTC, messaging, presence, voice, video, screensharing) based on RestComm into native Mobile Applications
http://www.restcomm.com/
GNU Affero General Public License v3.0
153 stars 109 forks source link

ICE Question #843

Open robkrakora opened 6 years ago

robkrakora commented 6 years ago

Can the restcomm SDK be utilized without and ICE server?

SlackingVeteran commented 6 years ago

ICE server is required. you can register free account in https://xirsys.com to get free stun/turn server. bandwidth for turn is not much, only something around 500 MB but if you decide to disable turn and only use stun, you will have similar voice/video calling experience. Although turn make it lot better but for development stun is good enough

atsakiridis commented 6 years ago

Right, as @suyashbhatt mentions you typically pass ICE server(s). That way you are able to discover external IP addresses so that you can be reached outside your LAN. However, if you have a very specific use case where you are only interested for in-LAN calls webrtc facilities should allow you to pass no ICE servers at all.

Notice though that we haven't tested that with Restcomm Android SDK as it's a very special scenario. Feel free to test and come back with feedback ;)

Finally, the Restcomm Android SDK community sample Apps come with default configuration of xirsys where you can play around

robkrakora commented 6 years ago

“However, if you have a very specific use case where you are only interested for in-LAN calls webrtc facilities should allow you to pass no ICE servers at all.”

How would one set this up as it appears that the SDK enforces ICE server requirement? I attempted to omit ICE server params in your “helloworld” example and the SDK threw an exception which yielded a message stating that ICE server params were required.

On Wed, Jan 31, 2018 at 2:56 AM Antonis Tsakiridis notifications@github.com wrote:

Right, as @suyashbhatt https://github.com/suyashbhatt mentions you typically pass ICE server(s). That way you are able to discover external IP addresses so that you can be reached outside your LAN. However, if you have a very specific use case where you are only interested for in-LAN calls webrtc facilities should allow you to pass no ICE servers at all.

Notice though that we haven't tested that with Restcomm Android SDK as it's a very special scenario. Feel free to test and come back with feedback ;)

Finally, the Restcomm Android SDK community sample Apps come with default configuration of xirsys where you can play around

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/RestComm/restcomm-android-sdk/issues/843#issuecomment-361852445, or mute the thread https://github.com/notifications/unsubscribe-auth/AiS4uoRE-bYkpCYaYRUk81148yHWvuivks5tQBy4gaJpZM4RySIH .

-- Rob Krakora

atsakiridis commented 6 years ago

@robkrakora although underlying webrtc facilities should support this, as you mention the SDK has some checks in place that don't allow you to. At the same time this is a very special case, so I don't think the team will be able to work on it anytime soon. Would you like to take a crack at it and come up with a contribution? We would be happy to review your PR and help you with it ;)