Full support for TCP?

My smartphone can register with my asterisk (PIAF) server remotely (outside LAN) via TCP transport and can make calls.

However, I found 2 issues. These 2 issues will go away, either if I use UDP transport in the same setup or if I connect within LAN.

  1. When I press “end call” button, it takes 30s to handup.
  2. I can’t use G.722 codec.

I think asterisk supports TCP but it is limited compared with UDP. In my informal testing, the smartphone will not last a day over 3g connection if connected via UDP. OTOH, TCP connection can last 20+ hours a day. So TCP connection is a must for smartphones over 3g mobile data connection.

If asterisk wants to attract more mobile users (who would like to avoid expensive minute plans), it should support TCP fully.

How do you know that Asterisk is behaving incorrectly?

You’ve verified that your softphone’s operating correctly when using both UDP and TCP for signaling?