[OpenSIPS-Users] Why am I gettin error to terminate long calls and not short ones? Why it is "Ignoring callid"?

Rodrigo Pimenta Carvalho pimenta at inatel.br
Mon Oct 24 21:12:52 CEST 2016


Hi Răzvan.


I'm still investigating the problem.

Now I'm using the'Pp' flag to create_dialog(), as you had suggested. In this case I can see that OpenSIPS sends SIP OPTIONS to the 2 peers and they respond with SIP 500 "Unhandled by dialog usages". It is ok to a ping purpose, isn't it? That is, even if the response is SIP 500, OpenSIPS will know that the peer is online. Ok?


One thing that let me curious is the log below (that rises even using 'Pp' flag to create dialogs):


Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:dialog:dlg_validate_dialog: failed to validate remote contact: dlg=[sip:user_A at 127.0.0.1:36427;transport=TCP;ob] , req=[sip:user_A at 192.168.0.101:57985;transport=TCP;ob]
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: In-Dialog BYE from 192.168.0.102 (callid=ec4548a8-4207-4fc2-8ed8-81897ff62175) is not valid according to dialog


The problem here exists when user B sends SIP BYE to user A. B sends it to the contact user_A at 192.168.0.101:57985. However, this contact is not known by OpenSIPS and then the proxy complains with such log. OpenSIPS does know just the contact in the location table, doesn't it?


In table location the contact of user A is "user_A at 127.0.0.1:36427". But, during the dialog, A sends a SIP UPDATE to B. And such UPDATE has the contact "user_A at 192.168.0.101:57985" when it arrives in B. Softphone for user B and OpenSIPS is running in the same hardware, as I told before, with IP = 192.168.0.101. So, I suspect that UAC B decides to send SIP BYE to "user_A at 192.168.0.101:57985" due to that contact found in SIP UPDATE.


It seems that UA A sends SIP UPDATE just when it and OpenSIPS is running in the same hardware. But I'm not sure...


Should I fix the contact in the SIP UPDATE before relaying it? Is it possible by means of the opensips.cfg file script to fix the contact in the SIP UPDATE?


Or should I fix the SIP BYE request when it arrives in OpenSIPS, before the proxy to investigate if the contact is in table location?



Any hint will be very helpful!!

Thanks a lot!

Best regards!







RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979


________________________________
De: users-bounces at lists.opensips.org <users-bounces at lists.opensips.org> em nome de Răzvan Crainea <razvan at opensips.org>
Enviado: terça-feira, 18 de outubro de 2016 05:18
Para: users at lists.opensips.org
Assunto: Re: [OpenSIPS-Users] Why am I gettin error to terminate long calls and not short ones? Why it is "Ignoring callid"?

Hi, Rodrigo!

Most likely A closes the connection to OpenSIPS. You can check that by tracing the communication between A and OpenSIPS.
In order to solve that, make sure that the TCP keepalive[1] is enabled. Also, you can use the dialog pinging[2] feature ('Pp' flag to create_dialog()) to keep the dialog connections open.

[1] http://www.opensips.org/Documentation/Script-CoreParameters-2-2#toc103
[2] http://www.opensips.org/html/docs/modules/2.2.x/dialog.html#id295792

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com<http://www.opensips-solutions.com>

Home — OpenSIPS Solutions<http://www.opensips-solutions.com/>
www.opensips-solutions.com
OpenSIPS is a mature Open Source implementation of a SIP server. OpenSIPS is more than a SIP proxy/router as it includes application-level functionalities.

On 10/17/2016 11:20 PM, Rodrigo Pimenta Carvalho wrote:
Dear OpenSIPS users,


In my hardware, with IP = 192.168.0.101, I have OpenSIPS and softphone A. Thre is softphone B also, in another hardware.

A calls B.
B accept the call.
After t minutes...B hungs up the call.

In this moment, A enters in a wrong state, because OpenSIPS reports a problem and probably due to it the proxy doesn't communicate with softphone A in such moment. So, my softphone A considers that the call is not ended.

See what OpenSIPS reports in this moment:

Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] INFO:core:probe_max_sock_buff: using snd buffer of 320 kb
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 20
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:core:tcpconn_async_connect: poll error: flags 1c
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:core:tcpconn_async_connect: failed to retrieve SO_ERROR [server=192.168.0.101:57985] (111) Connection refused
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:core:proto_tcp_send: async TCP connect failed
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:tm:msg_send: send() for proto 2 failed
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:tm:t_forward_nonack: sending request failed


If t is just few minutes, let's say 2 minutes, there is no any issue.

However, if t is bigger, let's say 4 minutes, his issue is present.


What is happening here? Can someone give some help, please!

Any hint will be very helpful!


------------------------------------------------------------------------

Some more details:

User B is g1r2u3p4o5 at 192.168.0.102<mailto:g1r2u3p4o5 at 192.168.0.102>.

User A is intercomA_5dtUWgwgqzR6 at 192.168.0.101<mailto:intercomA_5dtUWgwgqzR6 at 192.168.0.101>.

Callid was "ec4548a8-4207-4fc2-8ed8-81897ff62175".


Before getting such error log, I saw another messages in the log like this:


Jan 05 04:13:28 colibri-imx6-jfl opensips[431]: new branch at sip:g1r2u3p4o5 at 192.168.0.102:61230;transport=TCP;ob<mailto:sip:g1r2u3p4o5 at 192.168.0.102:61230;transport=TCP;ob>
Jan 05 04:13:28 colibri-imx6-jfl opensips[431]: od: invalid option -- 'A'
Jan 05 04:13:28 colibri-imx6-jfl opensips[431]: BusyBox v1.22.1 (2016-03-29 09:43:20 BRT) multi-call binary.
Jan 05 04:13:28 colibri-imx6-jfl opensips[431]: Usage: od [-aBbcDdeFfHhIiLlOovXx] [FILE]
Jan 05 04:13:29 colibri-imx6-jfl opensips[431]: Ignoring callid  "ec4548a8-4207-4fc2-8ed8-81897ff62175"


Jan 05 04:13:34 colibri-imx6-jfl opensips[431]: Jan  5 04:13:34 [442] INFO:core:probe_max_sock_buff: using snd buffer of 320 kb
an 05 04:13:34 colibri-imx6-jfl opensips[431]: Jan  5 04:13:34 [442] INFO:core:init_sock_keepalive: TCP keepalive enabled on socket 25

an 05 04:14:29 colibri-imx6-jfl opensips[431]: Jan  5 04:14:29 [438] ERROR:dialog:dlg_validate_dialog: failed to validate remote contact: dlg=[sip:intercomA_5dtUWgwgqzR6 at 127.0.0.1:36427;transport=TCP;ob<mailto:sip:intercomA_5dtUWgwgqzR6 at 127.0.0.1:36427;transport=TCP;ob>] , req=[sip:intercomA_5dtUWgwgqzR6 at 192.168.0.101:57985;transport=TCP;ob<mailto:sip:intercomA_5dtUWgwgqzR6 at 192.168.0.101:57985;transport=TCP;ob>]
Jan 05 04:14:29 colibri-imx6-jfl opensips[431]: In-Dialog BYE from 192.168.0.102 (callid=ec4548a8-4207-4fc2-8ed8-81897ff62175) is not valid according to dialog
----------------------------------------------------------------------------



Best regards.



RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979



_______________________________________________
Users mailing list
Users at lists.opensips.org<mailto:Users at lists.opensips.org>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20161024/fdf93333/attachment-0001.htm>


More information about the Users mailing list