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 "Skype To Go" or "Google Voice" 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 location and local time for the contact to be called (time zone lookup based on the phone number).
- Easy sharing of card settings via Airdrop or email
Next >
Main Screen
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 (or access number label if set) 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") - touch and hold the contact cell to bring up the iPhone contacts to select a contact.
The application will show the country (including state/province for US/Canadian numbers) 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 (tap and hold the black call button to present an alert showing the full composite number that will be dialed - this is especially useful when setting up new card definitions to make sure everything is correct without having to place multiple calls).
Card List
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").
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"). When editing the card list, additional entries will be shown at the bottom of the card list - select the "Share Card Settings…" entry to share all your card definitions via Airdop (if supported by the iPhone) or email (settings can be automatically imported into the "Calling Card" application on another device by clicking a button in the received email message). For devices with iCloud enabled, you can also backup or restore your settings (all card definitions, automatic card selection settings, and favorites) via iCloud - note that restoring settings from iCloud will replace all your current settings with the ones from iCloud. This allows you to easily and quickly synchronize settings between multiple phones connected to the same iCloud account.
Next >
< Previous
Card Details
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. Optionally you can give each access number a distinctive description so that it is easier to select the right number from the list.
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").
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
The bottom of the card settings displays an "Share Card Settings…" entry - select it to share the current card's settings via Airdrop (if supported by the iPhone) or email (settings can be automatically imported into the "Calling Card" application on another device by clicking a button in the received email message).
Next >
< Previous
Call Details
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.
Next >
< Previous
Automatic Card Selection
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.
- 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 |
Nobel Com Enjoy Prepaid | Local access number | • Wait for connection • Dial PIN, then wait 2s • Dial contact number • Replace '+' with '011', no replacement for '1' |
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. |
Google Voice | Calling from US-based number registered on GV account | • Wait for connection • If you set up your account to require a PIN, enter your PIN then wait 1s • Enter '2' • Wait 1s, then dial contact number • Replace '+' with '011', no replacement for '1' |
For a more complete Google Voice integration (including access to voicemails and SMS), please take a look at my GV Connect application. |
goldline.net | "CiCiLYNK" and "DCall" | |
yak.ca | Yak Travel Card | • Use a 5s second pause instead of the "#" after the PIN |
- 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).
- 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.
- In order to show the contact name and selected card rather than the composite number being dialed during the call, the application will create a temporary contact in your Address Book. This temporary contact will be automatically removed the next time the application is started. The "Recent Calls" list in the native phone application will only show the name/card information as long as the temporary contact is present - once it is removed, the list will revert to showing the composite number. This temporary contact creation can be disabled by selecting the "Calling Card" preferences in the Settings application.
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, and Andries Zijlstra.
Many thanks for providing full localizations of the application goes to Martin Kugler (French), Kristian Karlsson (Swedish), and Grace Chen (traditional Chinese).
Application Download
You can purchase and download the latest version of the application on the iPhone App Store (requires iOS 7.0 or higher)
The program is fully localized in the following languages: English (development language), German, French, Swedish, and traditional Chinese. Please contact me if you want to help adding additional localizations.
2.2.1 (January 25, 2020)
- Fix random crashes when placing a call
Show full version history
Hide older version history
2.2 (December 7, 2019 - released on the iPhone App Store on December 7, 2019)
- Update for iOS 13 (now fully supports Dark Mode)
- Fix issue where the keyboard would not show up when searching in the Contacts list on iOS 13
- Update to fully support Dynamic Text
- Fix issue where editing an access number with an existing description would not show the previous description
- Resolve issue where the back/edit buttons would not be visible when viewing an existing contact's details
- Various UI tweaks and stability improvements
2.1 (July 8, 2018 - released on the iPhone App Store on July 9, 2018)
- Updated application to fully support the latest version of iOS
(note - the minimum version of iOS required for the application is now iOS 9)
- Add support for iPhone X
- Fix various UI issues related to contact selection
- Various stability improvements
2.0 (January 25, 2015 - released on the iPhone App Store on February 3, 2015)
- Updated application to support latest version of iOS
(note - minimum version of iOS required for the application is now iOS 7)
- Add support for iPhone 6/6 Plus
- Add support for sharing of card settings via Airdrop for supported devices
- Various stability improvements
1.10.1 (September 13, 2012 - released on the iPhone App Store on September 20, 2012)
- add support for the 4" screen on the iPhone 5 and 5th generation iPod Touch
1.10 (January 18, 2012 - released on the iPhone App Store on January 26, 2012)
- Added option to backup and restore settings via iCloud. This backup includes card settings, autoselection rules, and favorite numbers and allows for a more complete sharing of settings between devices than the card settings sharing via email
- New icon for better visual identification of the application
- Various minor stability improvements
1.9.3 (October 13, 2011 - released on the iPhone App Store on October 17, 2011)
Bug fixes/improvements:
- Fix issues with entering card access numbers in iOS 5
1.9.2 (October 6, 2011 - released on the iPhone App Store on October 7, 2011)
Bug fixes/improvements:
- Improve formatting of international phone numbers.
- For numbers in US & CA, improve number-based geolocation information (show city where possible).
- Fix dialing of composite number to be compatible with iOS 5.
- Update link on About page to point to the new application homepage.
- Various stability and minor UI improvements
1.9.1 (May 10, 2011 - released on the iPhone App Store on May 15, 2011)
New features:
- Allow direct access to the iPhone contacts from the main screen by using touch & hold on the contact cell.
Bug fixes/improvements:
- Fix location/time zone information for US numbers in the 307 area code.
- Fix issue where imported card settings might not persist after closing and reopening the application.
- Prevent entering invalid data via copy & paste.
- Miscellaneous stability improvements.
1.9 (September 11, 2010 - released on the iPhone App Store on September 21, 2010)
New features:
- Allow export/import of card settings via email.
- Tap and hold the call button when placing a call to preview the full number that will be dialed.
Bug fixes/improvements:
- Improve stability when accessing the Address Book.
- Various minor performance tweaks.
1.8.1 (June 29, 2010 - released on the iPhone App Store on July 6, 2010)
New features:
- Added preference (in Settings application) to disable temporary contact creation for in-call CallerID.
- Added Chinese (traditional) localization.
Bug fixes/improvements:
- Fix crash when deleting a phone number using the "x" icon in the text field.
- Added support for iOS4 (backgrounding).
- Added high resolution graphics for iPhone 4.
1.8 (March 1, 2010 - released on the iPhone App Store on March 4, 2010)
New features:
- Show contact and calling card information rather than a long string of numbers in the in-call status.
Bug fixes/improvements:
- Fix issue with pauses in the contact number being removed.
- Don't remove leading "+" when using direct calling.
1.7.1 (October 22, 2009 - released on the iPhone App Store on December 10, 2009)
Note: starting with this release, the application requires iPhone OS 3.0 or higher.
New features:
- For numbers located in US and Canada, show the state/province in addition to the country on the main screen.
- Added application binary optimized for the iPhone 3GS.
Bug fixes/improvements:
- Correct local time display for numbers located in Hawaii.
- Fix some minor animation glitches.
- Various stability improvements.
1.7 (September 10, 2009 - released on the iPhone App Store on September 17, 2009)
New features:
- New option to add description to access numbers - this makes it easier to pick the correct one without having to memorize all the numbers
- Allow creating new cards by copying an existing card definition
Bug fixes/improvements:
- International prefix handling (prefix replacement and removal) now ignores phone number formatting, allowing to enter prefixes longer than country codes
- Fix rare crash in low memory situations
1.6.3 (July 22, 2009 - released on the iPhone App Store on August 18, 2009)
Bug fixes/improvements:
- Fix display of local time for some numbers in the Toronto (Canada) area
- Fix potential crash when reordering cards if multiple exceptions for automatic card selection have been defined
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.
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.