Modified apprtc demo code to detect browser by checking user_agent in apprtc.py. Now we will use Mozilla stun server if FF is detected as the browser. The CL is an improvement to r4388.

R=braveyao@webrtc.org, dutton@google.com

Review URL: https://webrtc-codereview.appspot.com/1928004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4491 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/samples/js/apprtc/apprtc.py b/samples/js/apprtc/apprtc.py
index 952adcb..9df12a0 100644
--- a/samples/js/apprtc/apprtc.py
+++ b/samples/js/apprtc/apprtc.py
@@ -39,6 +39,12 @@
 def make_client_id(room, user):
   return room.key().id_or_name() + '/' + user
 
+def get_default_stun_server(user_agent):
+  default_stun_server = 'stun.l.google.com:19302'
+  if 'Firefox' in user_agent:
+    default_stun_server = 'stun.services.mozilla.com'
+  return default_stun_server
+
 def make_pc_config(stun_server, turn_server, ts_pwd):
   servers = []
   if turn_server:
@@ -46,8 +52,6 @@
     servers.append({'url':turn_config, 'credential':ts_pwd})
   if stun_server:
     stun_config = 'stun:{}'.format(stun_server)
-  else:
-    stun_config = 'stun:' + 'stun.l.google.com:19302'
   servers.append({'url':stun_config})
   return {'iceServers':servers}
 
@@ -288,6 +292,7 @@
     channel to push asynchronous updates to the client."""
     # get the base url without arguments.
     base_url = self.request.path_url
+    user_agent = self.request.headers['User-Agent']
     room_key = sanitize(self.request.get('r'))
     debug = self.request.get('debug')
     unittest = self.request.get('unittest')
@@ -312,7 +317,8 @@
     stereo = 'false'
     if self.request.get('stereo'):
       stereo = self.request.get('stereo')
-
+    if not stun_server:
+      stun_server = get_default_stun_server(user_agent)
 
     # token_timeout for channel creation, default 30min, max 2 days, min 3min.
     token_timeout = self.request.get_range('tt',
diff --git a/samples/js/apprtc/js/main.js b/samples/js/apprtc/js/main.js
index 3399e84..7750ad1 100644
--- a/samples/js/apprtc/js/main.js
+++ b/samples/js/apprtc/js/main.js
@@ -123,10 +123,6 @@
   }

 

   function createPeerConnection() {

-    // For FF, use Mozilla STUN server.

-    if (webrtcDetectedBrowser === "firefox") {

-      pcConfig = {"iceServers":[{"url":"stun:stun.services.mozilla.com"}]};

-    }

     try {

       // Create an RTCPeerConnection via the polyfill (adapter.js).

       pc = new RTCPeerConnection(pcConfig, pcConstraints);