<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>The RSV1 bit (which is the compressed bit) should be the second bit from the left in the WebSocket frame. &nbsp;The first bit is the FIN (should always be one here), then you have RSV1, RSV2, and RSV3, and the last nibble of the first byte will be the opcode.</div><div><br></div><div>Regards,</div><div><br></div><div>Peter<br><br>On 24 Jan 2013, at 14:47, Pete Kelly &lt;<a href="mailto:pkelly@gmail.com">pkelly@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Chrome 26, 24 and Firefox nightly all exhibit the same behaviour.<div><br></div><div>I've decrypted the packets in wireshark, could you point me at what I am looking for to see the compressed bit?</div><div>
<br></div><div style="">Wireshark reports (on what seems to be the problematic frame) "This frame ACKs a segment we have not seen"</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 24 January 2013 13:50, Peter Dunkley <span dir="ltr">&lt;<a href="mailto:peter.dunkley@crocodile-rcs.com" target="_blank">peter.dunkley@crocodile-rcs.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>


  
  

<div>
Have you checked to see if there are any known bugs in the browser you are using?<br>
<br>
As the WebSocket message compression stuff is still draft the browser implementation probably won't be complete or fully tested yet.<br>
<br>
As I said, the Kamailio WebSocket implementation does not support any extensions and all the reserved bits are 0'd.&nbsp; So I don't think it is likely that the compressed bit is set to 1 at all.<br>
<br>
The only other thing I can suggest is capturing your TLS traffic with WireShark and importing the certificates into it so you can decode the packets.&nbsp; At that point you should be able to look at the binary of the frame and see if the compressed bit is set or not.<br>

<br>
Regards,<br>
<br>
Peter<div><div class="h5"><br>
<br>
On Thu, 2013-01-24 at 13:45 +0000, Pete Kelly wrote:
<blockquote type="CITE">
    Hi Peter
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    I can confirm it works correctly for WS and not WSS, and it appears to be only the NOTIFY request in the direction of Kamailio &gt; UAC. INVITE requests in the direction of Kamailio &gt; UAC are fine.
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    I've tried it with the tls&nbsp;tls_disable_compression flag set to both 0 and 1
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    Pete
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    On 24 January 2013 09:53, Peter Dunkley &lt;<a href="mailto:peter.dunkley@crocodile-rcs.com" target="_blank">peter.dunkley@crocodile-rcs.com</a>&gt; wrote:
</blockquote>
<blockquote type="CITE">
    <blockquote>
        Hi,<br>
        <br>
        I've done some checking online and in the code.&nbsp; The compressed bit is defined in draft-ietf-hybi-permessage-compression and uses the RSV1 bit from the WebSocket frame header.&nbsp; As per RFC 6455 the Kamailio WebSocket implementation is careful to leave RSV1, RSV2, and RSV3 with values of 0.<br>

        <br>
        As this part of the code is identical for WS and WSS connections can you confirm that it works correctly for WS?<br>
        <br>
        Regards,<br>
        <br>
        Peter
    </blockquote>
</blockquote>
<blockquote type="CITE">
    <blockquote>
        <br>
        <br>
        On Thu, 2013-01-24 at 09:09 +0000, Peter Dunkley wrote: <br>
        <blockquote type="CITE">
            I shod also add that the Kamailio WebSocket implementation does not support any extensions. &nbsp;So unless the deflate frame extension is implicit for TLS it will not be negotiated. &nbsp;Further, the implementation does not set any compressed bits and all unused flags etc should be zeroed automatically - but I will look at the code later.<br>

            <br>
            <br>
            Peter<br>
            <br>
            On 24 Jan 2013, at 09:05, Peter Dunkley &lt;<a href="mailto:peter.dunkley@crocodile-rcs.com" target="_blank">peter.dunkley@crocodile-rcs.com</a>&gt; wrote:<br>
            <br>
            <br>
            <blockquote type="CITE">
                I am not sure how to investigate this. &nbsp;It sounds like it might be a TLS related problem (or a WebSocket/TLS interworking problem in Kamailio). &nbsp;I don't know anything about the Kamailio TLS implementation - I just drop WebSocket frames into it as required. <br>

                <br>
                <br>
                I did do (a little) WSS testing and saw no problems myself. <br>
                <br>
                <br>
                Regards, <br>
                <br>
                <br>
                Peter<br>
                <br>
                On 23 Jan 2013, at 22:12, Pete Kelly &lt;<a href="mailto:pkelly@gmail.com" target="_blank">pkelly@gmail.com</a>&gt; wrote:<br>
                <br>
                <br>
                <blockquote type="CITE">
                    Hi, I am having an issue at the moment with SIP NOTIFY messages being sent from Kamailio (latest git master) over wss transport<br>
                    <br>
                    I am getting reports from the receiving end saying "Compressed bit must be 0 if no negotiated deflate-frame extension"<br>
                    <br>
                    The only reference I can find to it is at the following URL... where the problem was caused by the server miscalculating the size of the msg:&nbsp;<a href="http://stackoverflow.com/questions/12308728/compressed-bit-must-be-0-when-sending-a-message-to-websocket-client" target="_blank">http://stackoverflow.com/questions/12308728/compressed-bit-must-be-0-when-sending-a-message-to-websocket-client</a><br>

                    <br>
                    Does anyone have any suggestions as to how I could debug this within Kamailio? It sounds like Kamailio may be sending some incorrect packet information but I am unsure at this point.<br>
                    <br>
                    <br>
                    <br>
                    _______________________________________________<br>
                    SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
                    <a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
                    <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                    <br>
                </blockquote>
                _______________________________________________<br>
                SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
                <a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
                <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                <br>
            </blockquote>
<pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
        </blockquote>
        <br>
        <br>
    </blockquote>
</blockquote>
<blockquote type="CITE">
    <blockquote>
        <table cellspacing="0" cellpadding="0" width="100%">
<tbody><tr>
<td>
<pre>-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd
</pre>
</td>
</tr>
</tbody></table>
    </blockquote>
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<br>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody><tr>
<td>
<pre>-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd
</pre>
</td>
</tr>
</tbody></table>
</div></div></div>

</blockquote></div><br></div>
</div></blockquote></body></html>