chris_c_
Active Member
- Joined
- Aug 19, 2010
- Messages
- 509
- Reaction score
- 67
SCENARIO:
You're in a call on your VOIP soft phone app running on your smartphone, connected to your Asterisk 13+ PBX, which happens to be managed by incredible pbx 12+ or freepbx 12+.
You start out the call, connected on WiFi at your workplace. It's an important business call.
You're on the move, walking out of your workplace, out of range, your phone falls back to 4G LTE data connection. You're still on the call, still talking business.
You arrive at your destination, the local burger brew pub with an awesome 50 megabit free WiFi, and your smart phone auto connects. You're still on the call, conversation is flowing, no interruptions, aside from the one second break when your call switched to a new WiFi internet connection!
You'd really like your VOIP PBX call to stay up and connected THE ENTIRE TIME, just like a mobile GSM phone does. Yes, even when your smartphone roams from your office WiFi, to 4G LTE, to a different WiFi network at the restaurant or other public free WiFi.
I've got this running in real life, it works great.
HOW TO DO THIS:
Smartphone = standard iPhone 6 subscribed on 4G LTE. Should work fine on Android phone!
VOIP app = Linphone.
iPhone App store
Android Google Play store
VOIP app Account settings = Transport TCP, STUN server stun.counterpath.net, ICE ON.
PBX = incredible PBX 12 (yes it's a version behind, yet it's OK) + Asterisk 13.22.0 + GVSIP patch.
PBX trunk used = GVSIP (shouldn't matter however).
Asterisk SIP Settings = STUN server stun.counterpath.net
Asterisk Extension settings for the extension used by the VOIP app = use PJSIP, Enable ICE support = Yes.
PBX Firewall IPTABLES status = OFF **
** Turning off the IPTABLES Firewall off is an issue. However, it's required to get this mid-call mobility to work. Why? As soon as WiFi connection drops, the VOIP app will try to reconnect your active call over 4G LTE data connection, on an IP address that has never been seen before by your PBX's IPTABLES firewall, so then obviously it's never been added to the whitelist maintained by IPTABLES and PORT KNOCKING. So this reconnection would fail. So the iptables firewall must be down and allow in your VOIP app's re-connection.
With the iptables firewall ON, your mid-call mobility will FAIL, due to the fact your 4G LTE IP address is not whitelisted by the highly paranoid iptables firewall running on the ipbx/freepbx asterisk PBX server!
For the purpose of this demonstration, iptables is disabled, and mid-call mobility works GREAT.
WHAT'S NEXT
The true fix is to upgrade the iptables technology, and come up with a more forgiving iptables firewall so that mid-call mobility can work WHILE THE FIREWALL is running normally and protecting you against hackers, thieves, etc. The iptables running on the PBX must accept IP connections from ANY IP address, yet ONLY FOR THE PURPOSES of reconnecting the call, to achieve mid-call mobility.
@billsimon @wardmundy @jerrm @tycho @kenn10
You're in a call on your VOIP soft phone app running on your smartphone, connected to your Asterisk 13+ PBX, which happens to be managed by incredible pbx 12+ or freepbx 12+.
You start out the call, connected on WiFi at your workplace. It's an important business call.
You're on the move, walking out of your workplace, out of range, your phone falls back to 4G LTE data connection. You're still on the call, still talking business.
You arrive at your destination, the local burger brew pub with an awesome 50 megabit free WiFi, and your smart phone auto connects. You're still on the call, conversation is flowing, no interruptions, aside from the one second break when your call switched to a new WiFi internet connection!
You'd really like your VOIP PBX call to stay up and connected THE ENTIRE TIME, just like a mobile GSM phone does. Yes, even when your smartphone roams from your office WiFi, to 4G LTE, to a different WiFi network at the restaurant or other public free WiFi.
I've got this running in real life, it works great.
HOW TO DO THIS:
Smartphone = standard iPhone 6 subscribed on 4G LTE. Should work fine on Android phone!
VOIP app = Linphone.
iPhone App store
Android Google Play store
VOIP app Account settings = Transport TCP, STUN server stun.counterpath.net, ICE ON.
PBX = incredible PBX 12 (yes it's a version behind, yet it's OK) + Asterisk 13.22.0 + GVSIP patch.
PBX trunk used = GVSIP (shouldn't matter however).
Asterisk SIP Settings = STUN server stun.counterpath.net
Asterisk Extension settings for the extension used by the VOIP app = use PJSIP, Enable ICE support = Yes.
PBX Firewall IPTABLES status = OFF **
** Turning off the IPTABLES Firewall off is an issue. However, it's required to get this mid-call mobility to work. Why? As soon as WiFi connection drops, the VOIP app will try to reconnect your active call over 4G LTE data connection, on an IP address that has never been seen before by your PBX's IPTABLES firewall, so then obviously it's never been added to the whitelist maintained by IPTABLES and PORT KNOCKING. So this reconnection would fail. So the iptables firewall must be down and allow in your VOIP app's re-connection.
With the iptables firewall ON, your mid-call mobility will FAIL, due to the fact your 4G LTE IP address is not whitelisted by the highly paranoid iptables firewall running on the ipbx/freepbx asterisk PBX server!
For the purpose of this demonstration, iptables is disabled, and mid-call mobility works GREAT.
WHAT'S NEXT
The true fix is to upgrade the iptables technology, and come up with a more forgiving iptables firewall so that mid-call mobility can work WHILE THE FIREWALL is running normally and protecting you against hackers, thieves, etc. The iptables running on the PBX must accept IP connections from ANY IP address, yet ONLY FOR THE PURPOSES of reconnecting the call, to achieve mid-call mobility.
@billsimon @wardmundy @jerrm @tycho @kenn10
Last edited: