Call hangs after 15 minutes
Switch may not be responding to the SIP re-INVITE.
Some providers perform a SIP re-INVITE every 15 minutes for any active calls. It's a way of checking if the call is indeed still active. If an appropriate 200 OK is not received back, they disconnect the call.
POSSIBLE SOLUTIONS
Change Provider
Change Provider and check if issue is gone to confirm the origin of the problem.
Canreinvite setting
Set canreinvite to yes in the Device's Edit window.
Solve NAT issues
- Make sure network is configured properly and all packets reach the Softswitch.
- Do pcap capture and analyze the logs.
- check the domain in the request URI
- check if Pulic IP addresses are placed in SIP headers
Increase session timers
Add in /etc/asterisk/sip.conf [general] section:
session-timers=originate session-expires=10800 session-minse=300 session-refresher=uas
And restart Asterisk.
It can be done per Device in Device Settings page.
Disable session timers (not recommended)
In the general section in /etc/asterisk/sip.conf: session-timers=refuse
It can be done per Device in Device Settings page.
IMPORTANT: Drawback is that a call can show as going on forever if the BYE message is lost due to network problems.