Discussion:
[SR-Users] Some of the calls drops after 15 minutes + some seconds
Andras FOGARASI
2014-07-16 18:39:31 UTC
Permalink
Hi,


I have a simple kamailio install (2 servers, using location service and
a failover node with dispatcher, STUN, clients behind different NATs),
without rtpproxy, only peer-to-peer RTP and TURN server if the
connection is really messy (it's not relevant here). Signaling is over
TLS. Both of the clients are behind NAT.

Basically everything works, but some of the calls are dropped after 15
minutes and some seconds, for me it seems the RTP connection is dropped
but not sure.

I cannot find find out wether it's a kamailio problem or client/NAT problem.

Has anyone idea what is going on?


Thanks,
Andras
Daniel-Constantin Mierla
2014-07-16 19:54:10 UTC
Permalink
Hello,

I expect that the signaling is ok at least for call setup.

From signling point of view, I can think of following situations:
- endpoints send keep alive packets (or session updates) which are no
answered. You can add an xlog(...) at the top of request_route{} and
reply_route{} blocks printing at least the method, call-id, cseq, from
and to header, plus the response code for reply block. In this case you
can see if there is some signaling before call is dropped.

- the tls connection is cut (can be done by routers in the middle) and
one endpoint disconnects the call instead of trying first to reconnect

If none of the above is the case, then might be some problem with rtp
transmission and call is disconnected by a device because of that.

Cheers,
Daniel
Post by Andras FOGARASI
Hi,
I have a simple kamailio install (2 servers, using location service and
a failover node with dispatcher, STUN, clients behind different NATs),
without rtpproxy, only peer-to-peer RTP and TURN server if the
connection is really messy (it's not relevant here). Signaling is over
TLS. Both of the clients are behind NAT.
Basically everything works, but some of the calls are dropped after 15
minutes and some seconds, for me it seems the RTP connection is dropped
but not sure.
I cannot find find out wether it's a kamailio problem or client/NAT problem.
Has anyone idea what is going on?
Thanks,
Andras
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Frank Carmickle
2014-07-16 20:00:54 UTC
Permalink
Post by Daniel-Constantin Mierla
Hello,
I expect that the signaling is ok at least for call setup.
- endpoints send keep alive packets (or session updates) which are no answered. You can add an xlog(...) at the top of request_route{} and reply_route{} blocks printing at least the method, call-id, cseq, from and to header, plus the response code for reply block. In this case you can see if there is some signaling before call is dropped.
Is this happening just on calls between two phones in your domain, or is there a carrier/federation involved?


--FC
Andras FOGARASI
2014-07-16 20:05:54 UTC
Permalink
Post by Frank Carmickle
Post by Daniel-Constantin Mierla
Hello,
I expect that the signaling is ok at least for call setup.
- endpoints send keep alive packets (or session updates) which are no answered. You can add an xlog(...) at the top of request_route{} and reply_route{} blocks printing at least the method, call-id, cseq, from and to header, plus the response code for reply block. In this case you can see if there is some signaling before call is dropped.
Is this happening just on calls between two phones in your domain, or is there a carrier/federation involved?
No other parties are involved, only the two phones involved (and the
proxy of course).


Andras
Frank Carmickle
2014-07-17 13:41:39 UTC
Permalink
Post by Andras FOGARASI
Post by Frank Carmickle
Post by Daniel-Constantin Mierla
Hello,
I expect that the signaling is ok at least for call setup.
- endpoints send keep alive packets (or session updates) which are no answered. You can add an xlog(...) at the top of request_route{} and reply_route{} blocks printing at least the method, call-id, cseq, from and to header, plus the response code for reply block. In this case you can see if there is some signaling before call is dropped.
Is this happening just on calls between two phones in your domain, or is there a carrier/federation involved?
No other parties are involved, only the two phones involved (and the
proxy of course).
I would expect that if it was a NAT issue you would see it much sooner than 15 minutes, 30-60 seconds. Are session timers being stripped by Kamailio? You say it's a TURN server or is it acting more like a media relay where it is signaled into the path? What TURN server are you using? How is it configured?


--FC
Andras FOGARASI
2014-07-17 15:27:55 UTC
Permalink
Post by Frank Carmickle
Post by Andras FOGARASI
Post by Frank Carmickle
Post by Daniel-Constantin Mierla
Hello,
I expect that the signaling is ok at least for call setup.
- endpoints send keep alive packets (or session updates) which are no answered. You can add an xlog(...) at the top of request_route{} and reply_route{} blocks printing at least the method, call-id, cseq, from and to header, plus the response code for reply block. In this case you can see if there is some signaling before call is dropped.
Is this happening just on calls between two phones in your domain, or is there a carrier/federation involved?
No other parties are involved, only the two phones involved (and the
proxy of course).
I would expect that if it was a NAT issue you would see it much sooner than 15 minutes, 30-60 seconds. Are session timers being stripped by Kamailio? You say it's a TURN server or is it acting more like a media relay where it is signaled into the path? What TURN server are you using? How is it configured?
The problem occurs even without TURN, in pure peer-to-peer mode. We use
TURN only in emergency case (symmetric NAT and like that...). I do
nothing with session timers - i didn't think about it until now...


Andras
Frank Carmickle
2014-07-17 15:34:48 UTC
Permalink
Post by Andras FOGARASI
Post by Frank Carmickle
I would expect that if it was a NAT issue you would see it much sooner than 15 minutes, 30-60 seconds. Are session timers being stripped by Kamailio? You say it's a TURN server or is it acting more like a media relay where it is signaled into the path? What TURN server are you using? How is it configured?
The problem occurs even without TURN, in pure peer-to-peer mode. We use
TURN only in emergency case (symmetric NAT and like that...). I do
nothing with session timers - i didn't think about it until now…
How do you set up the TURN only in emergency case? Do the phones do it themselves? Does Kamailio control the TURN, rtpengine/mediaproxy-ng?

Who sends the bye?

--FC
Andras FOGARASI
2014-07-17 18:56:01 UTC
Permalink
Post by Frank Carmickle
Post by Andras FOGARASI
Post by Frank Carmickle
I would expect that if it was a NAT issue you would see it much sooner than 15 minutes, 30-60 seconds. Are session timers being stripped by Kamailio? You say it's a TURN server or is it acting more like a media relay where it is signaled into the path? What TURN server are you using? How is it configured?
The problem occurs even without TURN, in pure peer-to-peer mode. We use
TURN only in emergency case (symmetric NAT and like that...). I do
nothing with session timers - i didn't think about it until now…
How do you set up the TURN only in emergency case? Do the phones do it themselves? Does Kamailio control the TURN, rtpengine/mediaproxy-ng?
Who sends the bye?
Caller send BYE as i see.

Meanwhile i made some debug: after 15 minutes an UPDATE comes. Sometimes
the UPDATE is answered with 200 OK, then the call doesn't drop,
continues and everything works as expected. Sometimes it's not answered
at all (it seems timeout), then hangs up.


Andras
Daniel-Constantin Mierla
2014-07-18 07:16:56 UTC
Permalink
Post by Andras FOGARASI
Post by Frank Carmickle
Post by Andras FOGARASI
Post by Frank Carmickle
I would expect that if it was a NAT issue you would see it much sooner than 15 minutes, 30-60 seconds. Are session timers being stripped by Kamailio? You say it's a TURN server or is it acting more like a media relay where it is signaled into the path? What TURN server are you using? How is it configured?
The problem occurs even without TURN, in pure peer-to-peer mode. We use
TURN only in emergency case (symmetric NAT and like that...). I do
nothing with session timers - i didn't think about it until now…
How do you set up the TURN only in emergency case? Do the phones do it themselves? Does Kamailio control the TURN, rtpengine/mediaproxy-ng?
Who sends the bye?
Caller send BYE as i see.
Meanwhile i made some debug: after 15 minutes an UPDATE comes. Sometimes
the UPDATE is answered with 200 OK, then the call doesn't drop,
continues and everything works as expected. Sometimes it's not answered
at all (it seems timeout), then hangs up.
Is the UPDATE forwarded from the proxy? Can you see some activity on the
network? Maybe you can run kamailio with debug=3 in cfg and get more log
messages from there that can provide further hints.

Also, you can try to run over tcp to see if it reproduces in the same way.

Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Loading...