Has anyone configure webrtc in asterisk 20.5.2?

I followed this document [Configuring Asterisk for WebRTC Clients - Asterisk Documentation]

After that I’m getting this

ivr-OptiPlex-3050*CLI> http show status
HTTP Server Status:
Prefix: 
Server: Asterisk
Server Enabled and Bound to 192.168.0.94:8088

Enabled URI's:
/httpstatus => Asterisk HTTP General Status
/phoneprov/... => Asterisk HTTP Phone Provisioning Tool
/metrics/... => Prometheus Metrics URI
/ari/... => Asterisk RESTful API
/ws => Asterisk HTTP WebSocket

Enabled Redirects:
  / => /static/config/index.html

Note here https binding is not showing but as per document it should show HTTPS biding also in port 8089

And when I’m typing http://192.168.0.94:8088/ws this showing as per below image

In console it is showing like this

[Feb  3 12:42:31] WARNING[20091]: res_http_websocket.c:831 __ast_websocket_uri_cb: WebSocket connection from '192.168.0.94:58788' could not be accepted - did not request WebSocket
[Feb  3 12:42:32] WARNING[20091]: res_http_websocket.c:831 __ast_websocket_uri_cb: WebSocket connection from '192.168.0.94:58788' could not be accepted - did not request WebSocket

Can anyone guide me what is going wrong.

Thank you.

You need to enable the TLS in http.conf file as shown below. Note that TLS requires certificate and key.
Certificate can be self signed certificate but in that case you need to bypass it by first hitting URL
https://192.168.0.94:8089/ws the same page will load Upgrade requires. In console it will show as could not be accepted - did not request WebSocket
But when you hit wss://192.168.0.94:8089/ws with your WebRTC enabled phone, it will accept the connection.

[general]
servername=Asterisk
enabled=yes
bindaddr=xx.xx.xx.xx      ; your IP Address
bindport=8088
sessionlimit=500
tlsenable=yes                  ; enable tls - default no.
tlsbindaddr=xx.xx.xx.xx:8089    ; address and port to bind to - default is bindaddr and port 8089.
tlscertfile=/etc/asterisk/keys/cert.pem
tlsprivatekey=/etc/asterisk/keys/key.pem

This is the correct behaviour. This url is not for the browser, and not meant to be viewed.

You should be using the url for the web socket, but it will be ws://192.168.0.94:8088/ws. or as you mentioned wss://192.168.0.94:8089/ws

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.