Wishlist:Least Cost Routing
From Openmoko
| Important Note: This article or section documents one or more OpenMoko Wish List items, the features described here may or may not be implemented in the future. |
- Least cost routing (LCR) minimizes call costs given the calling location and the called location.
- For outbound calls, each country would have a local number(s) that the openmoko phone would call (using GSM) when an international number was dialed. This local call would connect the phone with a call server, and the phone would then DTMF the desired telephone number to the server. The server would then complete the call using VoIP.
- For incoming calls, a subscriber could have telephone numbers in other countries. A (local) call to one of those numbers would be completed to the phone's location using VoIP and then to the phone using GSM.
- If the user is connected via bluetooth or other means to the internet, use VoIP directly. (this will probably not work over GPRS, due to latency problems).
An initial implementation of a number of these features is being worked on as the Low Cost Calling project
More outbound call routing
Least Cost Routing should be able to use the directory and provide for the following routes:
- if Wifi is available and the contact called as a SIP URI or a Jabber URI, try using SIP or libjingle to route the call using VoIP;
- if Wifi is available, try ENUM resolution for the contact's phone number;
- if Wifi is available, try a (preconfigured) list of SIP outbound providers;
- otherwise try GSM.
Note: This doesn't necessarily have to be done in the dialer; the dialer could use an outside server (à la "hosted" Least Cost Routing) as a proxy for SIP-URI/libjingle, ENUM, and/or providers, and fallback locally for GSM outbound calling.
Note: Embedding freeswitch inside the phone would provide the code to implement these features.


