Xirsys provides WebRTC hosting to make it easy for you to develop and deploy WebRTC applications. We handle all of the reliability, scalability, and performance requirements for your WebRTC application’s back-end, as well as front-end tools to speed up the development process.
What is WebRTC?
WebRTC (Web Real-Time Communication) is the new HTML5 standard that allows real-time communication, such as a video chat, within supported browsers, so you don’t have to worry about downloading programs or installing plugins.
What are STUN and TURN servers?
These are server protocols that handle session initiations, or handshakes, between two or more peers. A WebRTC connection may only occur after a successful handshake. If a highly secure firewall blocks a STUN peer-to-peer connection, a TURN server is then used to traverse the NAT and provide an alternative data route. STUN is true peer-to-peer, whereas TURN is a fallback.
What browsers support WebRTC?
WebRTC is currently supported by the latest versions of Chrome, Firefox, and Opera. WebRTC also works on Internet Explorer with the Chrome Frame plugin.
Does WebRTC work on mobile? Can I use Xirsys with my mobile app?
WebRTC is currently only supported in the browser on Android, using Chrome, Firefox or Opera; iOS does not support WebRTC in the browser. However, both iOS and Android support native WebRTC apps, so you can use our service with native applications. Keep in mind that a WebRTC connection over Wi-Fi on mobile should work fine, however a WebRTC connection using 3G or 4G may not be supported by your service provider.
What about text chat? File share? Screen share?
Our STUN and TURN servers follow standard WebRTC protocol, so we can essentially do whatever your WebRTC client API does. Find your favorite API, hook it into the Xirsys platform, and watch those features come to life with our highly reliable TURN servers.
Billing and Account Management
What kind of pricing does Xirsys have?
Our goal is to keep our pricing as fair and simple as possible. So we offer tiered plans based entirely on your bandwidth usage, not minutes. Bandwidth is measured as the total sum of your client-to-server traffic, including any STUN / TURN signaling and messaging traffic you use on our network. And luckily for you, WebRTC is mostly a client-to-client technology. We offer a free plan with limited STUN / TURN connections so you can try out our service, and you can upgrade or cancel at any time. All paid plans are month-to-month and include unlimited STUN connections, 99.9% uptime guarantee, and 24-hour ticket support. Please click here to find out more.
How do I know how much bandwidth I’ll use?
This depends entirely on the nature of your WebRTC application. You can use the following equation to help gauge your potential bandwidth usage based on TURN relay traffic. TURN relay traffic = number of participants * stream bit rate * total seconds of transmission. A 1-minute one-to-one medium quality video call using TURN: 2 * 512 kb/s * 60 s = 61,440 kb = 7.5 MB bandwidth usage. Please keep in mind that STUN connections statistically account for roughly 85% of all connections, whereas TURN only makes up 15%. This means that with our pricing model, about 85% of your WebRTC traffic will cost you essentially nothing. Check out our Usage Calculator to help you calculate your monthly bandwidth usage.
If I don’t use all of my bandwidth for a given month, will it roll over to the next month? And what happens if I go over my allocated bandwidth amount?
Your monthly bandwidth allowance resets on the first day of each calendar month to the minimum amount of bandwidth you have committed to; any unused bandwidth will be forfeited at the end of the month.
If you exceed your monthly bandwidth allowance, you will be charged for overages, based on the plan you are subscribed to, as each plan has a different overage cost. Once you go over your bandwidth amount, you will start to receive emails letting you know you’ve exceeded your plan amount. You can have your overages waived, if you upgrade your plan before the end of the month to cover your additional usage. Otherwise, your credit card on file will automatically be charged at the end of the month for any overages. Overages are calculated based on a calendar month.
What happens if I go over my allocated TURN connection usage?
If you have reached the maximum amount of concurrent TURN connections that you have subscribed to, the next TURN connection during that session will fail. Example – you subscribed to 100 TURN connections and your current session just hit this limit, your 101st TURN connection will not be able to connect. You will need to upgrade your account in order to allow for more TURN connections.
Do I have to worry about a lengthy contract in order to use Xirsys? Can I upgrade or downgrade my account any time?
Xirsys offers monthly plans without any contract, so you can upgrade, downgrade, or cancel at any time with no penalty. You can upgrade or downgrade within your dashboard, simply pick the plan you would like and when you upgrade, your credit card will be charged a prorated amount that is based on your billing cycle. When you downgrade, any unused bandwidth will be forfeited. And as there is no refund available for this action, we recommend that you downgrade at the end of your billing cycle.
I forgot my password. What do I do?
Please click here. You may also reset your password at any time within your dashboard.
I’m having trouble resetting my password.
Try using only letters and numbers when resetting your password, as not all characters are supported. If you are still not able to reset your password, please email us at firstname.lastname@example.org.
Who do I contact for help or to submit a bug or request a feature?
The WebRTC experts at Xirsys are always happy to help and hear any feedback. Please email us at email@example.com or call (415) 601-8483 with any questions, concerns, or feedback and we would love to see how we can help you.
Can I just access Xirsys’ STUN/TURN servers if I already have my own client-side framework?
Yes, you can access our STUN/TURN servers by via our API. You simply make a call to our /ice endpoint before each connection and it will return an ICE string with valid credentials. You can then plug that in to whatever platform you are using.
What third party client-side framework can I use with Xirsys?
You can use any third-party WebRTC client-side framework with Xirsys. We have documentation and demos showing how to use Simple WebRTC, Easy RTC and PeerJS, with Xirsys.
Does Xirsys work on iOS? Do you have a demo?
We currently do not have our own native SDK, however Perch has developed a fantastic iOS API/demo that uses Xirsys.
I’m getting this error back – net::ERR_CONNECTION_REFUSED – what do I do?
Please check that you are using port 443 to connect. If you are still getting this error, please email us at firstname.lastname@example.org and send us the object code you are using, including your ident, secret key, domain, application, room and the URL, and please send a Wireshark capture showing the issue so we can look into this for you.
I’m getting this error back – 401 unauthorized – what do I do?
This means there is something wrong with either your ident or secret key. Make sure you are using your Username for your Ident and that it is spelled correctly. Check that you have the correct secret key – it needs to be copied exactly from your Xirsys dashboard with no extra spaces or characters. You can also check that your domain, application and room are correct – check that you have created the domain/application/room in your Xirsys dashboard and that everything is spelled exactly as it is in your dashboard. (Please note for domains: if you created a domain ‘www.domain.com’ in your dashboard, you need to have ‘www.domain.com’ in your code.) If you are still getting this error after confirming your ident and secret key are correct, please email us at email@example.com and send us the object code you are using, including your ident, secret key, domain, application, room and the URL.
I’m getting a 500 error back, what do I do?
This means there is something wrong with either your domain, application or room. Check that you have created the domain you are trying to use in your Xirsys dashboard and make sure it is spelled correctly in your code. If you are not using the default application and room, make sure you have added the application and room in your dashboard and that everything is spelled correctly. Make sure you do not have any extra characters (<, ", -, _) in any of your parameters. You will also want to just double check your ident and secret key are correct.
**Please note for domains, if you created a domain ‘www.domain.com’ in your dashboard, you need to have ‘www.domain.com’ in your code. Please check that your domain name is in the the form subdomain.domain.suffix or domain.suffix. Please also make sure your domain name is unique (for instance, do not use ‘localhost’) and is at least 4 characters. Domains do not have to exist on the internet and there is no correlation to a running application and the domain.
** Please note for rooms there are some characters that are not allowed currently, so you may want to try a room name with just letters and numbers and see if that resolves the errors.
If you are still getting this error after confirming your parameters are correct, please email us at firstname.lastname@example.org and send us the object code you are using, including your ident, secret key, domain, application, room and the URL.
I’m getting this error back – 405 METHOD NOT ALLOWED – what do I do?
Please make sure you are using this URL to try to connect to our servers: https://service.xirsys.com/ice. If you are still getting this error after confirming your URL is correct, please email us at email@example.com and send us the object code you are using, including your ident, secret key, domain, application, room and the URL.
I’m not seeing my video or streams, what do I do?
If you are not able to see your video or stream, please email a Wireshark capture of the client and peer to firstname.lastname@example.org and we will be happy to take a look and help.
What is the most important thing I need to know about calling your STUN / TURN servers?
The credentials you get from calling our ICE servers do expire and have an expiration time of roughly 10 seconds. Therefore, it is imperative that you make the call whenever you are about to initiate a WebRTC connection. Failure to do this will result in your app continuing to use STUN / TURN credentials that have already expired.