Update turn.py
Browse files- sample_utils/turn.py +9 -2
sample_utils/turn.py
CHANGED
@@ -3,11 +3,12 @@ import os
|
|
3 |
|
4 |
import streamlit as st
|
5 |
from twilio.rest import Client
|
|
|
6 |
|
7 |
logger = logging.getLogger(__name__)
|
8 |
|
9 |
|
10 |
-
@st.cache_data
|
11 |
def get_ice_servers():
|
12 |
"""Use Twilio's TURN server because Streamlit Community Cloud has changed
|
13 |
its infrastructure and WebRTC connection cannot be established without TURN server now. # noqa: E501
|
@@ -28,6 +29,12 @@ def get_ice_servers():
|
|
28 |
|
29 |
client = Client(account_sid, auth_token)
|
30 |
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
return token.ice_servers
|
|
|
3 |
|
4 |
import streamlit as st
|
5 |
from twilio.rest import Client
|
6 |
+
from twilio.base.exceptions import TwilioRestException
|
7 |
|
8 |
logger = logging.getLogger(__name__)
|
9 |
|
10 |
|
11 |
+
@st.cache_data # type: ignore
|
12 |
def get_ice_servers():
|
13 |
"""Use Twilio's TURN server because Streamlit Community Cloud has changed
|
14 |
its infrastructure and WebRTC connection cannot be established without TURN server now. # noqa: E501
|
|
|
29 |
|
30 |
client = Client(account_sid, auth_token)
|
31 |
|
32 |
+
try:
|
33 |
+
token = client.tokens.create()
|
34 |
+
except TwilioRestException as e:
|
35 |
+
logger.warning(
|
36 |
+
f"Error occurred while accessing Twilio API. Fallback to a free STUN server from Google. ({e})" # noqa: E501
|
37 |
+
)
|
38 |
+
return [{"urls": ["stun:stun.l.google.com:19302"]}]
|
39 |
|
40 |
return token.ice_servers
|