Calling Card
Colored and underlined text indicates new features only available in the next release of the application currently under review on the iPhone App Store - some of the screen shots might also reflect the new version and be slightly different from the version currently available for download.
The ultimate iPhone calling card/IDD dialing application - save money when calling contacts from your iPhone by using one or more cards or carrier prefixes to get the best rates - even have the application automatically select the best card for you based on the selected number. Now you no longer need to set up and maintain custom phone numbers for each contact but can simply call any phone number from your iPhone's contacts database using your calling/phone card accounts.
Calling Card is a native iPhone application which takes the hassle out of making international calls and will save you money as you no longer have to pay your provider's outrageous international calling fees.
The application also works great for calling through your PBX system (e.g., Fritz!Box) or in connection with your "Skyp To Go" account to save on connection fees.
Main features:
- Set up multiple phone/calling card accounts and easily switch between them.
- Support for multiple access numbers for individual cards.
- Automatic card selection based on contact and/or number prefix.
- Set up a list of favorite numbers to dial, select any number from your contacts, call a number from the recent calls placed from the application, or directly enter a phone number to be dialed.
- Full support for international prefixes (numbers stored starting with '+').
- Flexible call details setup allows for automatic dialing of most phone cards even if intermediate menu selections have to be made.
- Display local time for the contact to be called (time zone lookup based on the phone number).
Program Usage
Select the "Calling Card" cell to choose between different cards you set up or to add/edit cards (see "Card List" below). If "Automatic card selection" is enabled, a little icon will appear on the right side of the cell:
If more than one access number has been defined for the currently selected card, the currently active access number will be shown below the card name. Selecting the number brings up the list of access numbers for the card and allows to select a different access number (the application will always default to the last selected access number for each card).
Select the "Contact/Number" cell to select a number to be dialed or define/edit favorite numbers (see "Contact Selection" below).
The application will show the country and calculate and display the local time for the contact to be called below the number.
For contacts with multiple numbers, you can click on the phone number below the contact's name to quickly select a different number for the same person (e.g., if the contact cannot be reached using a number you might want to try another number).
Once both a card and a number have been selected, the black "Call" icon will appear - simply select it to start your call.
The card list shows all currently defined cards - simply select the card you want and click the back button in the top left of the navigation bar to go back to the main screen. To edit card definitions or add new accounts, click the "Edit" button in the top right of the navigation bar. If more than one card is defined, an additional entry "Automatic card selection" will appear at the beginning of the list. This allows automatic selection of the best card based on the selected contact or phone number prefix (automatic selection rules can be defined by clicking this cell when in edit mode - see "Automatic Card Selection" below).
Once in edit mode, you can re-arrange the card list by dragging individual cards within the list (drag using the icon on the right side of the cell - dragging required more than one card to be defined) or select any card from the list to edit its details (see "Card Details" below).
This screen shows the details for the selected card - select any cell to edit the details then click "Done" to save or "Cancel" to discard changes and return to the card list.
Name
Set up a name for the card - this will identify the card in card list as well as on the main screen when the card is selected (required).
Number
The card access number (full format to allow dialing from your current location). Please note that there is in implicit wait for the connection to be established after dialing the access number. Leave this empty for IDD/carrier prefix dialing. You can add more than one access number for a card in order not having to duplicate the complete card setup to use another access number. For cards with more than one access number, you will see "(multiple)" instead of the actual access number in the Card Details view - click the "Number" cell to edit the list of numbers.
PIN required/PIN
Select whether or not a PIN is required. The "PIN" cell will only be available if a PIN is required.
Manage call details…
Set up the call details (order of operations, pauses, additional numbers to be entered to complete the call, … - see "Call Details" below).
International Prefix Handling
The "Replace '+' with", "No replacement for", and "Remove country code for" items (the latter two are only visible if "Replace '+' with" is not empty) define how to deal with phone numbers in international format ('+' followed by country code). You typically would use the local international call prefix as the replacement and your own country code as the exception - see this Wikipedia article for a good list of international call prefixes. For IDD/carrier prefix dialing you would typically use your local country code in the "Remove country code for" section if you entered all your phone numbers in international format but don't need to include the local country code after the prefix.
Note: the replacement applies only to the contact number to be dialed, no replacement will be done for the card access number.
Examples:
- Replace '+' with "" (no replacement, default setting):
- +18005551212 → 18005551212
- +49401234567 → 49401234567
- Replace '+' with "011", replacement exception "1", remove country code for "" (typical setting for US/Canada):
- +18005551212 → 18005551212
- +49401234567 → 01149401234567
- Replace '+' with "17952", replacement exception "", remove country code for "86" (IDD/carrier prefix example for Hong Kong/China):
- +18005551212 → 1795218005551212
- +86201234567 → 17952201234567
This screen allows you to change the details of how the call will be completed - you can add as many pauses and custom numbers as required and change the order of the individual steps to account for different cards (e.g., whether dialing the PIN before the number or the other way around).
You can re-order individual steps by dragging them within the list ("Dial access number" will always be the first step however) or select any of the custom steps to change its details.
The initial two steps shown in the screen shot ("Dial access number" and "Wait for connection") will only be present if the access number is not empty (see also "How do I set up carrier prefix (IDD) dialing?" in the FAQs) - the "Wait for connection" step is always present after the "Dial access number" and you only will have to add an additional pause there if the wait is not long enough for your card.
This screen allows you to define rules for automatic card selection - if set up properly you can place calls selecting only the contact/number to call without the need to manually select the correct card to use.
Default card
This is the card which will be selected for number where none of the exceptions listed below match.
Contact exceptions
Click the "Add new exception…" cell at the bottom of this section to add a new contact/phone number, then select the card name below the contact's name to define a custom card to be used when calling this number. You can add as many contact exceptions as you need to this list; individual phone numbers for the same contact can be defined to use different cards. Contact exceptions take precedence over prefix exceptions.
Prefix exceptions
Click the "Add new exception…" cell at the bottom of this section to add a new prefix (any characters in the phone number other than digits will be ignored when matching) to use a custom card. When multiple prefixes match a selected number, the exception with the longer prefix has precedence over the shorter one.
The contact selection screen gives you three different choices to select a number to dial:
Select from contacts…
Selecting this entry will bring up your contacts list and - after selecting a contact's name - allows you to select any phone number from a contact. After selecting a phone number the application will automatically return to the main screen so that you can immediately start placing the call.
Enter number…
In case you want to dial a number not in your address book, select this entry and you will be able to manually enter a phone number to dial - this is especially useful if you want to make a call to a new number using your calling card and don't want to manually navigate through the card's elaborate menus.
Recent calls…
Tap on this entry to bring up a list of the last up to 20 calls made from the application. Each entry will show the contact/number called and when the call was placed. Selecting an entry will select this number and return to the main screen so you can quickly redial any number from the list. After selecting 'Edit' on the top right you can delete individual or all entries fromt the list.
Calls made to contacts from your Address Book which are not in the application's favorites list will be marked by a star to the left of the name in the recent calls list - tapping the star will add the entry to the favorites list.
Favorites
This list shows your favorite numbers to dial (note: the application uses its own list of favorites which are independent of the phone application's favorites as you typically wouldn't dial the same numbers directly as you do with your calling card). The favorites are global to the application and don't depend on the currently selected card. After selecting 'Edit' on the top right of the navigation bar you can add, delete, and re-order favorites - you can have any number of favorites. Selecting one of the favorites when not in edit mode will automatically select that number and return to the main screen so that you can place the call.
Note: the favorites are linked to the phone's contact database - changing an entry in the 'Contacts' application will automatically update the favorite entry - there is no need to update the information in multiple places. Deleting a contact from the phone's address book will automatically remove it from the application's favorites.
- What cards/services are known to work with this application?
The following cards/services have been verified to work with the application - please send me feedback (link at the bottom of the page) if you find any information here incorrect.
| Provider | Verified card/setup | Setup Notes |
| SpeedyPin | "Fee Free" | • Add 3s pause after PIN |
| OneSuite.com | Calls originating from the US | • Default settings for ZIPDial • 3s pause after PIN for PINDial) • Replace '+' with '011', no replacement for '1' |
| Skype To Go | US-based Skype To Go number | • Wait 1s after connection • Enter '2' (assuming you set up only one favorite number when applying for your Skype To Go number) • Wait 1s, then dial contact number • Replace '+' with '00' NOTE: you need to manually enter '#' from the phone dial pad once all numbers have completed dialing to initiate the call. |
| goldline.net | "CiCiLYNK" and "DCall" | |
- How to I directly dial a contact with an extension number?
In order to be able to automatically dial extension numbers, you should enter the extension number in your address book with a "pause" instead of using "x" to denote the extension (this also holds for the phone application itself - it will simply ignore the "x" and dial straight through).
To enter a pause, select the "+*#" button on the bottom left of the phone keypad and then select the "pause" button.
- My card requires that I enter "#" or "*" - how do I do this?
This is not currently possible (see Known Issues below) - as soon as Apple changes this in a future software update I will add those keys to the keypad in the application. If your card requires "*" or "#" as the final keys to be entered in order to complete a call, you can always manually enter from within the phone application (as soon as you hear that all other keys have been dialed).
- How do I set up carrier prefix (IDD) dialing?
To use a custom carrier before the actual number (which requires dialing the prefix and the number without any pauses), leave the card access number empty and use the "Replace '+' with" setting to enter your carrier prefix (if your numbers are entered in international format) or add a custom number immediately after the (empty) access number in the "Call details…" setup (if your numbers are not in international format).
- Can I use the application instead of the built-in application to place all my phone calls?
Yes - using automatic card selection you can do so even without having to switch cards. You can set up a dummy card to call numbers directly as entered in the address book - simply create a new card and enter a name only, leaving all other settings at their default values. Then create a prefix exception to use this dummy card to call all numbers starting with your local country code (assuming that all your numbers are entered in international format).
- As of iPhone OS 3.0, Apple forces a confirmation dialog to appear before dialing from third-party applications; if you think this is diminishing the perceived utility and value of this or other applications, please consider leaving feedback with Apple about this.
- Dialing numbers with "#" or "*" is not possible - the phone application will reject such numbers for "security reasons" - until this is changed, there unfortunately is no way to automatically dial numbers if either of those keys is required to complete the call.
- The iPhone currently uses rather slow dialing after the initial connection - this might cause problems for some calling cards. This is a general issue with the phone application and might be fixed in a future iPhone software update. Until then there unfortunately is nothing I can do about this.
- During the call and in the "Recent Calls" list the phone application will show the card number followed by the contact's number instead of the contact's name.
Many thanks to Shawn Patrick Hannon for granting permission to use his gorgeous photo for the application.
For extremely valuable feedback to make the application better than what I could come up with myself and putting up with early versions of the application with some bugs, tons of thanks to my beta testers: Grace Chen, Benjamin Han, Greg Vorce, and Andries Zijlstra.
Many thanks for providing full localizations of the application goes to Martin Kugler (French) and Kristian Karlsson (Swedish).
Application Download
You can purchase and download the latest version of the application on the iPhone App Store (requires iPhone 2.0 Software Update)
The program is fully localized in the following languages: English (development language), German, French, and Swedish. Please contact me if you want to help adding additional localizations.
1.6.2 (June 11, 2009 - released on the iPhone App Store on June 30, 2009)
New features:
- Display country for the selected number in addition to the local time on the main screen.
Bug fixes/improvements:
- Fix position of recent call list when toggling editing mode while the table is not currently showing the top of the list.
- Various stability improvements.
Show full version history
Hide older version history
1.6.1 (May 9, 2009 - released on the iPhone App Store on May 15, 2009)
New features:
- Added Swedish localization.
1.6 (April 16, 2009 - released on the iPhone App Store on May 1, 2009)
Bug fixes/improvements:
- Properly update the main screen if the last selected contact is no longer present in the Contacts.
- Improve performance when displaying the recent calls list.
- Cosmetic improvements when displaying views in editing mode.
- Compatibility fixes for upcoming system update.
1.5.2 (March 6, 2009 - released on the iPhone App Store on March 11, 2009)
Bug fixes/improvements:
- Fix issue with international prefix replacement not working as expected in some cases (replacement was missing for numbers starting with a prefix entered in the "Remove country code for" field if the "No replacement for" field was left empty).
1.5.1 (February 19, 2009 - released on the iPhone App Store on February 25, 2009)
Bug fixes/improvements:
- Fix issue where the '+' replacement string would be added to numbers starting with a prefix which was entered in both, the "No replacement for" and "Remove country code for" fields.
- Various performance improvements.
1.5 (February 1, 2009 - released on the iPhone App Store on February 6, 2009)
New features:
- Added support for quickly switching to a different number of the currently selected contact by clicking the number on the main screen.
Bug fixes/improvements:
- Various stability improvements.
1.4 (January 14, 2009 - released on the iPhone App Store on January 16, 2009)
New features:
- Allow multiple access numbers for each card to avoid the need for card duplication/editing just to use a different access number.
- Added French localization.
Bug fixes/improvements:
- Increase size of the call button to make it easier to hit.
- Improve reliability for editing in the detail editor - the magnifying glass should now show up more consistently.
- Add '+' button to keypad when entering phone numbers.
- Correct issue with card auto-selection where setting the default card for a contact exception to override a prefix exception was not working.
- Fix several minor cosmetic issues.
1.3.1 (December 13, 2008 - released on the iPhone App Store on December 31, 2008)
Bug fixes/improvements:
- Improve phone number parsing for time zone detection - the local time should now be displayed for every number in international format (previously numbers with less than 11 digits - e.g., Norwegian numbers - would never display the local time).
- Massive speedup for initial loading of favorites.
- Make sure we don't display the recents icon in the "Add new favorite…" cell.
- Prevent potential crash on load when the last called/selected contact has a new UID due to a contact syncing update.
- Several cosmetic improvements.
1.3 (December 3, 2008 - released on the iPhone App Store on December 8, 2008)
New features:
- Added "Recent calls" list displaying the last up to 20 calls initiated from the application. Entries can be individually deleted or added to the application's list of favorites.
- Added icons for the "Select from contacts…," "Enter number…," and "Recent calls…" cells to make their actions a little more obvious without having to read the text.
Bug fixes/improvements:
- When in editing mode on the contact selection view, you can now click on already defined favorites to see (or change) the number.
- Improved phone number formatting for international phone numbers to more closely match the formatting in the Contacts application.
- Improved some of the view transitions to be less choppy and no longer show intermediate views during transitions.
- Reduced minimum system requirement from 2.1 to 2.0.
- Several minor improvements for stability and speed.
1.2.1 (November 18, 2008 - released on the iPhone App Store on November 23, 2008)
Bug fixes/improvements:
- Fix potential crash when recovering favorites after UIDs have changed due to MobileMe sync.
- Fix issue where the "Manage call details" cell in the card details would sometimes display random text.
- Correct problem where the phone number entry for card details would sometimes be presented in secure text entry mode.
- Fix cosmetic issues for very long names and numbers.
- Clean up call button icon and button pressed animation.
- Improve handling of low memory situations.
- Various speed improvements.
1.2 (November 3, 2008 - released on the iPhone App Store on November 6, 2008)
New features:
- Automatic card selection based on contacts and/or number prefixes.
Bug fixes/improvements:
- Allow country code removal even when no '+' prefix replacement is defined to facilitate additional IDD calling scenarios.
- Work around a bug in MobileMe contacts synchronization which could result in the favorites of the application to disappear after certain sync operations (see this Apple support document for other effects this bug can exhibit).
- Add link to the application website on the about view.
- Fix potential crashes when deleting table rows.
1.1 (October 20, 2008 - released on the iPhone App Store on October 21, 2008)
New features:
- Show local time for number to be called based on the contact's phone number.
- Allow empty card access numbers and add new option to remove a certain country code in order to support IDD/carrier prefix dialing.
Bug fixes:
- Fix issue where the application would select a phone number other than the one selected from the contacts popup.
- Display an alert when trying to select a phone number that cannot be dialed.
- Don't use phone number formatting for numbers starting with '0'.
- Several general stability and speed improvements.
1.0.3 (September 22, 2008 - released on the iPhone App Store on October 13, 2008)
Initial release.