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.
- When I press “end call” button, it takes 30s to handup.
- 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.