<div style="white-space:pre-wrap">Thank you Daniel it's working now.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 24, 2015 at 9:22 AM Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    the first log messages indicate that the tls connect failed. Are the
    two msrp clients connected to the msrp relay, because for websocket
    the server cannot connect further as a client.<br>
    <br>
    Cheers,<br>
    Daniel</div><div bgcolor="#FFFFFF" text="#000000"><br>
    <br>
    <div>On 24/09/15 14:23, vamsi wrote:<br>
    </div>
    </div><div bgcolor="#FFFFFF" text="#000000"><blockquote type="cite">
      <p dir="ltr"><br>
        Hi,</p>
      <p dir="ltr">I am trying to configure MSRP over websocket and
        using Crocodilr-msrp client i am ablento connect but when I try
        to transfer any file it gives me the below error.</p>
      <p dir="ltr">Any thoughts is appreciated.</p>
      <p dir="ltr">I am able to do audio, video and messaging using
        SIP-JSSIP client and working fine.</p>
      <p dir="ltr">Error - Log<br>
        --------------</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: tls [tls_server.c:208]: tls_complete_init(): Using
        initial TLS domain TLSc<default> (dom 0x7f35500d4858 ctx
        0x7f355013d620 sn [])</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: tls [tls_domain.c:701]: sr_ssl_ctx_info_callback(): SSL
        handshake started</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        ERROR: <core> [tcp_main.c:2654]: tcpconn_1st_send():
        connect<a href="http://10.205.64.24:8084" target="_blank">
          10.205.64.24:8084</a> failed (RST) Connection refused</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        ERROR: <core> [tcp_main.c:2664]: tcpconn_1st_send():<a href="http://10.205.64.24:8084" target="_blank">
          10.205.64.24:8084</a>: connect & send  for 0x7f35501bca20
        failed: Connection refused (111)</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: <core> [tcp_main.c:2858]: tcpconn_chld_put():
        destroying connection 0x7f35501bca20 (24, -1) flags 0060</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        ERROR: msrp [msrp_netio.c:178]: msrp_relay(): forwarding frame
        failed</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        exec: *** cfgtrace:request_route=[DEFAULT_EVENT]
        c=[/usr/local/etc/kamailio/kamailio.cfg] l=1202 a=2 n=exit</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: <core> [tcp_read.c:1153]: ws_process_msg():
        WebSocket Message:
[[>>>#012??#011?i#036'?$Mu?Ik#022?#001,I?#005>t?'Z*?=q#012?#010jO?IsT?#031m#035?F/#027?[.#022?_*#011?]$#037?Q*#010?G/#027?\&#011?G+#021?]*#020?^*#034?#012n#007?#032lW?S1#010?Y0#025?\0#021?G,#023?Q.#037?Fm#011?Y*#022?G)#011?P)#021?\(#021?RjD?IsT?#031$#010?<<<]]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_conn.c:429]: wsconn_get(): wsconn_get for
        id [22]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_conn.c:437]: wsconn_get(): wsconn_get
        returns wsc [0x7f3550140930] refcnt [2]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_frame.c:415]:
        decode_and_validate_ws_frame(): decoding WebSocket frame</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_frame.c:456]:
        decode_and_validate_ws_frame(): supported non-control frame: 0x2</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_frame.c:555]:
        decode_and_validate_ws_frame(): Rx (decoded): MSRP u5xh2ntl
        SEND#015#012To-Path: msrps://<a href="http://10.205.64.24:8084/s.10458.4.561447274;tcp" target="_blank">10.205.64.24:8084/s.10458.4.561447274;tcp</a>
        msrps://<a href="http://10.205.64.24:8084/s.10453.7.297645663;tcp" target="_blank">10.205.64.24:8084/s.10453.7.297645663;tcp</a>
        msrp://i64fn3tc.invalid:2855/g14o60krz6;ws#015#012From-Path:
        msrp://grtsrfd0.invalid:2855/505z40k5b1;ws#015#012Message-ID:
        3652053096.cr4l1e1q#015#012Success-Report:
        yes#015#012Failure-Report: yes#015#012Byte-Range:
        2049-4096/68240#015#012Content-Type:
application/vnd.openxmlformats-officedocument.wordprocessingml.document#015#012#015#012</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_frame.c:671]: ws_frame_receive(): Rx MSRP
        frame:#012MSRP u5xh2ntl SEND#015#012To-Path: msrps://<a href="http://10.205.64.24:8084/s.10458.4.561447274;tcp" target="_blank">10.205.64.24:8084/s.10458.4.561447274;tcp</a>
        msrps://<a href="http://10.205.64.24:8084/s.10453.7.297645663;tcp" target="_blank">10.205.64.24:8084/s.10453.7.297645663;tcp</a>
        msrp://i64fn3tc.invalid:2855/g14o60krz6;ws#015#012From-Path:
        msrp://grtsrfd0.invalid:2855/505z40k5b1;ws#015#012Message-ID:
        3652053096.cr4l1e1q#015#012Success-Report:
        yes#015#012Failure-Report: yes#015#012Byte-Range:
        2049-4096/68240#015#012Content-Type:
application/vnd.openxmlformats-officedocument.wordprocessingml.document#015#012#015#012</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_conn.c:382]: wsconn_put(): wsconn_put start
        for [0x7f3550140930] refcnt [2]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: websocket [ws_conn.c:415]: wsconn_put(): wsconn_put end
        for [0x7f3550140930] refcnt [1]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:171]: msrp_parse_fline(): MSRP FLine:
        [1] [MSRP] [u5xh2ntl] [SEND] [1] []</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c0d1b8) [To-Path] [2] [msrps://<a href="http://10.205.64.24:8084/s.10458.4.561447274;tcp" target="_blank">10.205.64.24:8084/s.10458.4.561447274;tcp</a>
        msrps://<a href="http://10.205.64.24:8084/s.10453.7.297645663;tcp" target="_blank">10.205.64.24:8084/s.10453.7.297645663;tcp</a>
        msrp://i64fn3tc.invalid:2855/g14o60krz6;ws]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c0c918) [From-Path] [1]
        [msrp://grtsrfd0.invalid:2855/505z40k5b1;ws]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c0ed80) [Message-ID] [4] [3652053096.cr4l1e1q]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c0ee10) [Success-Report] [7] [yes]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c1a868) [Failure-Report] [0] [yes]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c0c9a8) [Byte-Range] [5] [2049-4096/68240]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:327]: msrp_parse_headers(): MSRP
        Header: (0x7f3558c107d8) [Content-Type] [8]
[application/vnd.openxmlformats-officedocument.wordprocessingml.document]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_parser.c:356]: msrp_parse_headers(): MSRP
        Body: [2050] [[#012#012]]</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: msrp [msrp_mod.c:468]: msrp_frame_received(): executing
        event_route[msrp:frame-in] (3)</p>
      <p dir="ltr">Sep 23 23:11:36 ip-10-205-64-24 kamailio[10460]:
        DEBUG: <core> [parser/msg_par</p>
      <p dir="ltr">***********<br>
        Kamailio.cfg<br>
        ****************</p>
      <p dir="ltr">                #!ifdef WITH_MSRP</p>
      <p dir="ltr">event_route[msrp:frame-in] {</p>
      <p dir="ltr">        msrp_reply_flags("1");</p>
      <p dir="ltr">        if ((($Rp == MY_WS_PORT || $Rp ==
        MY_WSS_PORT)</p>
      <p dir="ltr">                && !(proto == WS || proto ==
        WSS)) && $Rp != MY_MSRP_PORT) {</p>
      <p dir="ltr">                xlog("L_WARN", "MSRP request received
        on $Rp\n");</p>
      <p dir="ltr">                msrp_reply("403",
        "Action-not-allowed");</p>
      <p dir="ltr">                exit;</p>
      <p dir="ltr">        }</p>
      <p dir="ltr">        if (msrp_is_reply()) {</p>
      <p dir="ltr">                msrp_relay();</p>
      <p dir="ltr">        } else if($msrp(method)=="AUTH") {</p>
      <p dir="ltr">                if($msrp(nexthops)>0) {</p>
      <p dir="ltr">                        msrp_relay();</p>
      <p dir="ltr">                        exit;</p>
      <p dir="ltr">                }</p>
      <p dir="ltr">                if (!www_authenticate("MY_DOMAIN",
        "subscriber",</p>
      <p dir="ltr">                                       
        "$msrp(method)")) {</p>
      <p dir="ltr">                        if
        (auth_get_www_authenticate("MY_DOMAIN", "1",</p>
      <p dir="ltr">                                                     
          "$var(wauth)")) {</p>
      <p dir="ltr">                                msrp_reply("401",
        "Unauthorized",</p>
      <p dir="ltr">                                                     
          "$var(wauth)");</p>
      <p dir="ltr">                        } else {</p>
      <p dir="ltr">                                msrp_reply("500",
        "Server Error");</p>
      <p dir="ltr">                        }</p>
      <p dir="ltr">                        exit;</p>
      <p dir="ltr">                }</p>
      <p dir="ltr">                </p>
      <p dir="ltr">                if ($hdr(Expires) != $null) {</p>
      <p dir="ltr">                        $var(expires) = (int)
        $hdr(Expires);</p>
      <p dir="ltr">                        if ($var(expires) <
        MSRP_MIN_EXPIRES) {</p>
      <p dir="ltr">                                msrp_reply("423",
        "Interval Out-of-Bounds",</p>
      <p dir="ltr">                                        "Min-Expires:
        MSRP_MIN_EXPIRES\r\n");</p>
      <p dir="ltr">                                exit;</p>
      <p dir="ltr">                        } else if ($var(expires) >
        MSRP_MAX_EXPIRES) {</p>
      <p dir="ltr">                                msrp_reply("423",
        "Interval Out-of-Bounds",</p>
      <p dir="ltr">                                        "Max-Expires:
        MSRP_MAX_EXPIRES\r\n");</p>
      <p dir="ltr">                                exit;</p>
      <p dir="ltr">                        }</p>
      <p dir="ltr">                } else {</p>
      <p dir="ltr">                        $var(expires) =
        MSRP_MAX_EXPIRES;</p>
      <p dir="ltr">                }</p>
      <p dir="ltr">                $var(cnt) = $var(cnt) + 1;</p>
      <p dir="ltr">                pv_printf("$var(sessid)",
        "s.$(pp).$(var(cnt)).$(RANDOM)");</p>
      <p dir="ltr">                $sht(msrp=>$var(sessid)::srcaddr)
        = $msrp(srcaddr);</p>
      <p dir="ltr">                $sht(msrp=>$var(sessid)::srcsock)
        = $msrp(srcsock);</p>
      <p dir="ltr">                $shtex(msrp=>$var(sessid)) =
        $var(expires) + 5;</p>
      <p dir="ltr">                # - Use-Path: the MSRP address for
        server + session id</p>
      <p dir="ltr">                $var(hdrs) = "Use-Path:
        msrps://MY_IP_ADDR:MY_MSRP_PORT/"</p>
      <p dir="ltr">                                        +
        $var(sessid) + ";tcp\r\n"</p>
      <p dir="ltr">                                        + "Expires: "
        + $var(expires) + "\r\n";</p>
      <p dir="ltr">                msrp_reply("200", "OK",
        "$var(hdrs)");</p>
      <p dir="ltr">        } else if ($msrp(method)=="SEND" ||
        $msrp(method)=="REPORT") {</p>
      <p dir="ltr">                if ($msrp(nexthops)>1) {</p>
      <p dir="ltr">                        if ($msrp(method)!="REPORT")
        {</p>
      <p dir="ltr">                                msrp_reply("200",
        "OK");</p>
      <p dir="ltr">                        }</p>
      <p dir="ltr">                        msrp_relay();</p>
      <p dir="ltr">                        exit;</p>
      <p dir="ltr">                }</p>
      <p dir="ltr">                $var(sessid) = $msrp(sessid);</p>
      <p dir="ltr">                if
        ($sht(msrp=>$var(sessid)::srcaddr) == $null) {</p>
      <p dir="ltr">                        # one more hop, but we don't
        have address in htable</p>
      <p dir="ltr">                        msrp_reply("481",
        "Session-does-not-exist");</p>
      <p dir="ltr">                        exit;</p>
      <p dir="ltr">                } else if ($msrp(method)!="REPORT") {</p>
      <p dir="ltr">                        msrp_reply("200", "OK");</p>
      <p dir="ltr">                }</p>
      <p dir="ltr">                msrp_relay_flags("1");</p>
      <p dir="ltr">               
        msrp_set_dst("$sht(msrp=>$var(sessid)::srcaddr)",</p>
      <p dir="ltr">                               
        "$sht(msrp=>$var(sessid)::srcsock)");</p>
      <p dir="ltr">                msrp_relay();</p>
      <p dir="ltr">        } else {</p>
      <p dir="ltr">                msrp_reply("501",
        "Request-method-not-understood");</p>
      <p dir="ltr">        }</p>
      <p dir="ltr">}</p>
      <p dir="ltr">Thanks,<br>
        Vamsi</p>
      <br>
      <fieldset></fieldset>
      <br>
      </blockquote></div><div bgcolor="#FFFFFF" text="#000000"><blockquote type="cite"><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>
    <pre cols="72">-- 
Daniel-Constantin Mierla
<a href="http://twitter.com/#!/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
  </div>

_______________________________________________<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" rel="noreferrer" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>