I use Kamailio with `log_stderror=yes`. When Kamailio receives confirmation from the Websocket reverse proxy, it logs on stderr ``` 23(24) ERROR: <core> [core/parser/parse_fline.c:271]: parse_first_line(): parse_first_line: bad message (offset: 22) 23(24) ERROR: <core> [core/parser/msg_parser.c:749]: parse_msg(): ERROR: parse_msg: message=<HTTP/1.1 101 Switching Protocols Sia: SIP/2.0/TCP 111.11.111.11:47418 Sec-WebSocket-Protocol: sip Upgrade: websocket Connection: upgrade Sec-WebSocket-Accept: Ak3/c/aw3iyHnFkDDHabw1iXcqY= Content-Length: 0
> 23(24) ERROR: <core> [core/msg_translator.c:3256]: build_sip_msg_from_buf(): parsing failed ``` Without the included `\n` here the subsequent messages are logged on the same line as `parsing failed`.
For the record, I use this NGINX configuration: ``` location /sip { proxy_http_version 1.1; proxy_set_header "Accept-Encoding" ""; # delete header before sending it to Kamailio proxy_set_header "Pragma" ""; proxy_set_header "Cache-control" ""; proxy_set_header "User-Agent" ""; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_pass http://123.12.123.12:5060; proxy_read_timeout 86400; } ``` and it leads to that unparsable message above. You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3348
-- Commit Summary --
* core: msg_translator.c put new line after «parsing failed» error message
-- File Changes --
M src/core/msg_translator.c (16)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3348.patch https://github.com/kamailio/kamailio/pull/3348.diff
Thanks, merged manually because there were also several typos fixed in the patch.
Closed #3348.