Любой успех в конфиг коллиндер для apprtc - PullRequest
0 голосов
/ 27 марта 2019

Мой вопрос в github: https://github.com/webrtc/apprtc/issues/615 Я не могу настроить apprtc для сигнального сервера, просто позвоните видео через Wi-Fi, но через мобильную сеть не повезло. Пожалуйста, просмотрите мою конфигурацию, я не могу найти ни одного примера для constands.py в любом месте. Вот мой конфиг:

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')

Ключи словаря в информационной константе экземпляра коллайдера.

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'

Когда я изменяю код по умолчанию в исходном коде, он работает, но ТОЛЬКО через Wi-Fi, не работает мобильная сеть, я также запускаю сервер поворота в порту 3478 и коллиндер в 8443 с файлами pem. Итак, кто-нибудь может рассказать мне, как успешно проверить конфигурацию collinder и turnserver для мобильного подключения?

1 Ответ

0 голосов
/ 04 апреля 2019

Я обнаружил ошибку в течение двух лет назад для конфигурации apprtc: Просто настройте ICE-серверы так:

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')

и в /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

Причина ошибки: когда я настраиваю аутентификацию «lt-cred-mech», она не удалась.

Итак, я изменяю это на "oauth": Это сработало.

test Turn Server (Collinder) на этом сайте:

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
...