nobjta_9x_tq
nobjta_9x_tq

Reputation: 1241

Anyone success in config collinder for apprtc

My question in github: https://github.com/webrtc/apprtc/issues/615 I can't config apprtc for signal server, just call video ok via wifi but via mobile network has no luck. Please view my config, I can't find any example for constands.py in anywhere. Here is my config:

ICE_SERVER_OVERRIDE = [
  {
    "urls": [
      "stun:stun.l.google.com:19302"
    ]
  },
  {
    "urls": [
      "turn:my_ip_address:3478?transport=udp"
    ],
    "username": "my_account",
    "credential": "password"
  },
  {
    "urls": [
      "turn:my_ip_address:3479?transport=udp"
    ],
    "username": "my_account",
    "credential": "password"
  }
]

TURN_SERVER_OVERRIDE = [
  {
    "urls": "turn:my_ip_address:3478",
    "username": "my_account",
    "credential": "password"
  },
  {
    "urls": "stun:stun.l.google.com:19302"
  }
]

TURN_BASE_URL = 'http://my_url.com'
TURN_URL_TEMPLATE = '%s/turn?username=%s&key=%s'
CEOD_KEY = ''

ICE_SERVER_BASE_URL = 'http://my_url.com'
ICE_SERVER_URL_TEMPLATE = '%s/v1alpha/iceconfig?key=%s'
ICE_SERVER_API_KEY = os.environ.get('ICE_SERVER_API_KEY')

Dictionary keys in the collider instance info constant.

WSS_INSTANCE_HOST_KEY = 'my_ip_address:8443'
WSS_INSTANCE_NAME_KEY = 'wsserver-std'
WSS_INSTANCE_ZONE_KEY = 'us-central1-a'
WSS_INSTANCES = [{
    WSS_INSTANCE_HOST_KEY: 'my_ip_address:8443',
    WSS_INSTANCE_NAME_KEY: 'wsserver-std',
    WSS_INSTANCE_ZONE_KEY: 'us-central1-a'
}, {
    WSS_INSTANCE_HOST_KEY: 'apprtc-ws-2.webrtc.org:443',
    WSS_INSTANCE_NAME_KEY: 'wsserver-std-2',
    WSS_INSTANCE_ZONE_KEY: 'us-central1-f'
}]

WSS_HOST_PORT_PAIRS = [ins[WSS_INSTANCE_HOST_KEY]


When I run it, my apprtc return error:
WebSocket open error: WebSocket error.
So, I don't understand what keys mean:
WSS_INSTANCE_HOST_KEY: 'my_ip_address:8443',
WSS_INSTANCE_NAME_KEY: 'wsserver-std',
WSS_INSTANCE_ZONE_KEY: 'us-central1-a'

When I change to default in original code, it work but ONLY via Wifi, No mobile network working, I also run turnserver in port 3478 and collinder in 8443 with pem files. So any one can tell me how to test collinder and turnserver config successfully for mobile connecting?

Upvotes: 2

Views: 468

Answers (1)

nobjta_9x_tq
nobjta_9x_tq

Reputation: 1241

I found the error during two years ago to config apprtc: Just config ICE servers like this:

ICE_SERVER_OVERRIDE = [
    {
        "urls": [
        "stun:stun.l.google.com:19302"
        ]
    },
    {
        "urls": [
        "turn:my_ip_address:3478?transport=udp"
        ],
        "username": "my_account",
        "credential": "password"
    },
    {
        "urls": [
        "turn:my_ip_address:3479?transport=udp"
        ],
        "username": "my_account",
        "credential": "password"
    }
]
ICE_SERVER_BASE_URL = 'http://my_url.com'
ICE_SERVER_URL_TEMPLATE = '%s/v1alpha/iceconfig?key=%s'
ICE_SERVER_API_KEY = os.environ.get('ICE_SERVER_API_KEY')

and in /etc/turnserver.conf

cert=/root/cert.pem
pkey=/root/key.pem

listening-port=3478
tls-listening-port=5349

listening-ip=my_ip_address

relay-ip=my_ip_address
external-ip=my_ip_address

realm=my_web_address
server-name=my_web_address

#lt-cred-mech
userdb=/etc/turnuserdb.conf
oauth
user=my_account:my_password
no-stdout-log

Reson of error is: when I config "lt-cred-mech" authentication, It was failed.

So, I change it to "oauth": It Worked.

test Turn Server (Collinder) in this website:

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

# The result very fast (like sturn url of Google):
0.005   1   host    3868393361  udp 192.168.1.157   35353   126 | 30 | 255
0.006   1   host    891932622   udp xxxx:xxxx:12c7:xxxx:247e:xxxx:3c18:xxxx 51606   126 | 40 | 255
0.009   1   srflx   842163049   udp aa.bb.cc.dd 3341    100 | 30 | 255
0.062   1   relay   3031532034  udp my_turn_ip_address  62030   2 | 30 | 255
0.105   Done
0.109

Upvotes: 0

Related Questions