WSS が繋がらない
現象1:
Chrome で WebRTC の SIP レジスタを試みると、コンソールログに以下が表示される。
WebSocket connection to 'wss://[SIP サーバ]:[WSS ポート]/' failed: ...
対応1:
上記ログの「…」の部分を確認し、以下のように対応する
「…」の部分 | 対応 |
Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT | クライアントと SIP サーバの WSS ポートの間の通信がファイアウォールなどで遮断されていないか確認する。 |
Error in connection establishment: net::ERR_CONNECTION_CLOSED
または Error in connection establishment: net::ERR_CONNECTION_ABORTED |
SIP サーバのブロックリストに載っていないか確認する。 |
Error in connection establishment: net::ERR_CERT_COMMON_NAME_INVALID | 証明書の Common Name か Subject Alternative Names が SIP サーバのドメインに一致しているか確認する。 |
Error in connection establishment: net::ERR_CERT_DATE_INVALID | 証明書の有効期限を確認する。 |
Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID | 証明書が信頼できる認証局から発行されているか確認する。
または、プロキシ等の中間者により証明書が貼り替えられていないか確認する。 |
WebSocket opening handshake was canceled | Tomcat と SIP Server で同じ証明書を使うようにする。 |
Error in connection establishment: net::ERR_SSL_WEAK_EPHEMERAL_DH_KEY | http/WSS接続でエラー(ERR_SSL_WEAK_EPHEMERAL_DH_KEY) を参照。 |
現象2:
サーバ側は認証されていない証明書を使っていて、Chrome では問題ないが、Firefox で WebRTC の SIP レジスタを試みると、コンソールログに以下が表示される。
wss://[SIP サーバ]:[WSS ポート]/ のサーバへの接続を確立できませんでした。
対応2:
Firefox は証明書の例外をポート番号ごとにしか許可できないので、あらかじめ https://[UC サーバ]:[HTTPS ポート] だけではなく https://[SIP サーバ]:[WSS ポート] にもアクセスして例外に追加させておけば回避できる。