Configuration for chan_websocket WebSocket Channel Driver 20.18.0 22.8.0 23.2.0 Global settings for chan_websocket 20.18.0 22.8.0 23.2.0 Determines the format used for sending and receiving control mesages on the websocket. The legacy plain text single-line message format. The new JSON format. WebSocket Dial Strings: Dial(WebSocket/connectionid[/websocket_options]) WebSocket Parameters: For outgoing WebSockets, this is the ID of the connection in websocket_client.conf to use for the call. To accept incoming WebSocket connections use the literal INCOMING Options to control how the WebSocket channel behaves. If not specified, the first codec from the caller's channel will be used. Normally, the WebSocket channel will be answered when connection is established with the remote app. If this option is specified however, the channel will not be answered until the ANSWER command is received from the remote app or the remote app calls the /channels/answer ARI endpoint. format: In passthrough mode, the channel driver won't attempt to re-frame or re-time media coming in over the websocket from the remote app. This can be used for any codec but MUST be used for codecs that use packet headers or whose data stream can't be broken up on arbitrary byte boundaries. In this case, the remote app is fully responsible for correctly framing and timing media sent to Asterisk and the MEDIA text commands that could be sent over the websocket are disabled. Currently, passthrough mode is automatically set for the opus, speex and g729 codecs. This option allows you to add additional parameters to the outbound URI. The format is: v(param1=value1,param2=value2...) You must ensure that no parameter name or value contains characters not valid in a URL. The easiest way to do this is to use the URIENCODE() dialplan function to encode them. Be aware though that each name and value must be encoded separately. You can't simply encode the whole string. Examples: same => n,Dial(WebSocket/connection1/c(sln16)) same => n,Dial(WebSocket/connection1/c(opus)) same => n,Dial(WebSocket/INCOMING/n) same => n,Dial(WebSocket/connection1/v(${URIENCODE(vari able)}=${URIENCODE(${CHANNEL})},variable2=$(URIENCODE(${EXTEN})})) same => n,Dial(WebSocket/connection1/f(json))