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:[email protected]:36427;transport=TCP;ob] , 
req=[sip:[email protected]: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 [email protected]: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 "[email protected]:36427". But, 
during the dialog, A sends a SIP UPDATE to B. And such UPDATE has the contact 
"[email protected]: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 
"[email protected]: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: [email protected] <[email protected]> em nome 
de Răzvan Crainea <[email protected]>
Enviado: terça-feira, 18 de outubro de 2016 05:18
Para: [email protected]
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 [email protected]<mailto:[email protected]>.

User A is 
[email protected]<mailto:[email protected]>.

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:[email protected]:61230;transport=TCP;ob<mailto:sip:[email protected]: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:[email protected]:36427;transport=TCP;ob<mailto:sip:[email protected]:36427;transport=TCP;ob>]
 , 
req=[sip:[email protected]:57985;transport=TCP;ob<mailto:sip:[email protected]: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
[email protected]<mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to