[SR-Users] WS to WS calls - No ACK received for 200OK

Nagorny, Dimitry dimitry.nagorny at robot5.de
Tue Jun 21 14:20:48 CEST 2016


Hi Amit,

I had the same issue reported here last week. Here is the part how I solved it for the moment on Kamailio 4.3.5 with JsSIP:

route[WITHINDLG] {
                if (!has_totag()) {
                               return;
                }
                if (loose_route()) {
                               if ($du == "") {
                                               if (!handle_ruri_alias()) {
                                                               xlog("L_ERR", "Bad alias <$ru>\n");
                                                               sl_send_reply("400", "Bad Request");
                                                               exit;
                                               }
                               }
                               if (is_method("BYE")) {
                                               setflag(FLT_ACC);
                                               setflag(FLT_ACCFAILED);
                                               if (src_ip==$sel(cfg_get.pstn.gw_ip) && $fd==$sel(cfg_get.free.switch_ip)){
                                                               $du="sip:" + $sel(cfg_get.free.switch_ip) + ":" + $sel(cfg_get.free.switch_port) + ";transport=tls";
                                                               force_send_socket(tls:MY_INTERN_IP:MY_INTERN_PORT);
                                               } else if (proto==WSS && $ru=~"transport=ws") {
                                                               $ru = $tu;
                                                               lookup("location");
                                               }
                               } else if (is_method("ACK")) {
                                               if (proto==WSS && $ru=~"transport=ws") {
                                                               $ru = $tu;
                                                               lookup("location");
                                               }
                               }
                               route(RELAY);
} else {
                               if (is_method("ACK")) {
                                               if (t_check_trans()) {
                                                               route(RELAY);
                                               } else {
                                                               exit;
                                               }
                               }
                               sl_send_reply("404","Not here");
                }
                exit;
}

As you can see, the additions in bold, I had to retrieve the contact information from the DB again. This only apllies for communication from ws to ws. This might be a n00bish solution but it works for me.


Best Regards
Dimitry Nagorny
Trainee

Von: sr-users [mailto:sr-users-bounces at lists.sip-router.org] Im Auftrag von Alexandru Covalschi
Gesendet: Dienstag, 21. Juni 2016 13:50
An: amit at avhan.com; Kamailio (SER) - Users Mailing List <sr-users at lists.sip-router.org>
Betreff: Re: [SR-Users] WS to WS calls - No ACK received for 200OK

The problem may be with record_route header.
Did you set advertised_address?

2016-06-21 12:59 GMT+03:00 Amit Patkar <amit at avhan.com<mailto:amit at avhan.com>>:
Hi

I am using Kamailio as Websocket proxy.

User 1 & User 2 are registered on Kamailio over WebSocket.
When User 1 calls User 2, User 2 gets ring and answers the call. 200 OK message is received by User 1 but ACK response sent by User 1 does not reach User 2. Since User 2 didn't get ACS, after 30 sec timeout it drops the call.
Media is exchanged for 30 seconds, which means ICE is successful.

I am running kamailio 4.3.3 on

Kamailio is behind firewall and running on private IP.
rtpengine is configured to handle media.
All ports are forwarded to kamailio server and Kamailio is allowed to send data on any public IP.

I used jssip & sipml framework to test. Result was same for both frameworks. No ACK received

I can see following errors in log file. What could be the reason which indicate ACK was not forwarded

Jun 21 14:55:41 acstemplate /usr/sbin/kamailio[6584]: NOTICE: acc [acc.c:317]: acc_log_request(): ACC: transaction answered: timestamp=1466501141;method=INVITE;from_tag=7926B9NR7U0X99ZfAr1T;to_tag=w3D2JGd2EUFJpobTcFyo;call_id=1edc8e15-f1f1-584d-df81-71c3d59d713d;code=200;reason=OK;src_user=10001;src_domain=xxxx.com<http://xxxx.com>;src_ip=xxx.yyy.zzz.aaa;dst_ouser=10002;dst_user=10002;dst_domain=df7jal23ls0d.invalid
Jun 21 14:55:41 acstemplate /usr/sbin/kamailio[6582]: ERROR: <core> [forward.c:529]: forward_request(): cannot forward to af 2, proto 5 no corresponding listening socket
Jun 21 14:55:41 acstemplate /usr/sbin/kamailio[6582]: ERROR: sl [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (7/SL)
Jun 21 14:55:42 acstemplate /usr/sbin/kamailio[6584]: INFO: <script>: WS to WS
Jun 21 14:55:42 acstemplate /usr/sbin/kamailio[6582]: ERROR: <core> [forward.c:529]: forward_request(): cannot forward to af 2, proto 5 no corresponding listening socket
Jun 21 14:55:42 acstemplate /usr/sbin/kamailio[6582]: ERROR: sl [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (7/SL)
Jun 21 14:55:46 acstemplate /usr/sbin/kamailio[6582]: ERROR: <core> [forward.c:529]: forward_request(): cannot forward to af 2, proto 5 no corresponding listening socket
Jun 21 14:55:46 acstemplate /usr/sbin/kamailio[6582]: ERROR: sl [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (7/SL)
Jun 21 14:55:51 acstemplate /usr/sbin/kamailio[6582]: ERROR: <core> [forward.c:529]: forward_request(): cannot forward to af 2, proto 5 no corresponding listening socket
Jun 21 14:55:51 acstemplate /usr/sbin/kamailio[6582]: ERROR: sl [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (7/SL)
Jun 21 14:55:57 acstemplate /usr/sbin/kamailio[6582]: ERROR: <core> [forward.c:529]: forward_request(): cannot forward to af 2, proto 5 no corresponding listening socket
Jun 21 14:55:57 acstemplate /usr/sbin/kamailio[6582]: ERROR: sl [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (7/SL)
Jun 21 14:56:13 acstemplate /usr/sbin/kamailio[6581]: ERROR: <core> [forward.c:529]: forward_request(): cannot forward to af 2, proto 5 no corresponding listening socket
Jun 21 14:56:13 acstemplate /usr/sbin/kamailio[6581]: ERROR: sl [sl_funcs.c:363]: sl_reply_error(): ERROR: sl_reply_error used: I'm terribly sorry, server error occurred (7/SL)


I searched list for similar issues but could not find match any



Help to resolve this issue is appreciated.



Thanks & Regards,

Amit Patkar



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users at lists.sip-router.org<mailto:sr-users at lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



--
Alexandru Covalschi
ABRISS-Solutions
VoIP engineer and system administrator
tel: +37367398493
web: http://abriss.solutions/<http://abs-telecom.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20160621/b4f9f77d/attachment.html>


More information about the sr-users mailing list