Hi Amit,
Sorry but I just saw that you use WS instead of WSS like me. I can only suggest to try it
like this then but I w/o warranty because I’m still learning about Kamailio and SIP:
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 (proto==WS &&
$ru=~"transport=ws") {
$ru = $tu;
lookup("location");
}
} else if (is_method("ACK")) {
if (proto==WS &&
$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;
}
Either way, SIP-Traces will help you a lot to find the wrong ACK-Handling and where it
gets stuck.
Best Regards
Dimitry Nagorny
Trainee
Von: sr-users [mailto:sr-users-bounces@lists.sip-router.org] Im Auftrag von Amit Patkar
Gesendet: Dienstag, 21. Juni 2016 15:53
An: sr-users(a)lists.sip-router.org
Betreff: Re: [SR-Users] WS to WS calls - No ACK received for 200OK
Thanks guys.
Yes. I have set advertised_address parameter.
I tried configuration changes suggested by Dimitry, but its now throwing following error
and dropping call
Jun 21 19:07:15 acstemplate /usr/sbin/kamailio[7869]: ERROR: <core>
[resolve.c:1693]: sip_hostport2su(): could not resolve hostname:
"plfil8pkosnv.invalid"
Jun 21 19:07:15 acstemplate /usr/sbin/kamailio[7869]: ERROR: tm [ut.h:319]: uri2dst2():
failed to resolve "plfil8pkosnv.invalid"
Jun 21 19:07:15 acstemplate /usr/sbin/kamailio[7869]: ERROR: tm [t_fwd.c:1711]:
t_forward_nonack(): ERROR: t_forward_nonack: failure to add branches
Jun 21 19:07:15 acstemplate /usr/sbin/kamailio[7869]: ERROR: sl [sl_funcs.c:363]:
sl_reply_error(): ERROR: sl_reply_error used: Unresolvable destination (478/SL)
Thanks & Regards,
Amit Patkar
On 6/21/2016 5:50 PM, Nagorny, Dimitry wrote:
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@lists.sip-router.org] Im Auftrag von Alexandru
Covalschi
Gesendet: Dienstag, 21. Juni 2016 13:50
An: amit@avhan.com<mailto:amit@avhan.com>; Kamailio (SER) - Users Mailing List
<sr-users@lists.sip-router.org><mailto:sr-users@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@avhan.com<mailto:amit@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@lists.sip-router.org<mailto:sr-users@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/>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users