Dialing Rules & Locations
To begin using JPT, you must first tell the application how your phone system requires numbers to be formatted for different types of calls. To establish these Dialing Rules, select “Dialing Rules & Preferences...” from the JPT menu or click on the “Preferences” button in the main window.
JPT differentiates between seven types of calls: SIP, Internal (N), Local (L), Domestic Long Distance (D), International Long Distance (I), Toll Free (T), & Literal. This is how JPT distinguishes between the seven call types:
If you enter a number and click the “Dial” button, if the number to dial starts with “SIP:”, “SIPS:”, or is a URI such as “user@skype.com”, then the call is identified as a SIP call and routed to the Dial Method chosen for SIP calls (Skype URIs are always sent to Skype).
If you click the “Dial” button while holding down the Option key, the number will be dialed literally without adding any prefixes or suffixes (you may also send a number to be dialed literally from the JPT contextual menu, Services menu or by an AppleScript). If a call type is not SIP nor literal, JPT looks at the number to see if it starts with your local country code (as defined in your current Dialing Rules) and strips this code if found. The number then goes down the following logic path:
If the number entered is less than or equal to X number of digits, the call type is identified as internal. X is predefined as 4 but you may change this in the internal box.
If the number entered not an internal call and it is less than or equal to X number of digits, the call type is identified as local. X is predefined as 7 but you may change this in the local box.
If the count of digits in a dial string is greater than X as defined in step 2, then JPT checks to see if it starts with one of the user-defined local area codes. If so, the call type is identified as local.
If the call type has not been identified as local, it will be checked to see if it begins with one of the toll free prefixes (e.g., 800 or 888). If so, the call is designated a toll free call.
If the call type has still not been identified, JPT checks to see if the number starts with the international long distance code as supplied in the international long distance section. If so, JPT designates the call type as international long distance, if not, it designates the call type as domestic long distance.
Once the call type has been identified, the number is modified like so (provided it does not already contain the appropriate prefixes and/or suffixes):
(optional outside line prefix for all calls except internal calls) + (optional call waiting prefix per call using Shift Key) + (optional caller ID prefix per call using Control Key) + (N/L/D/I/T prefix) + number + (N/L/D/I/T suffix)
After the number has been adjusted according to the current Dialing Rules, it is dialed by the method specified by the “Dial Method” popup menu in each of the call type sections (the Dial Methods are Speaker, Modem, Bluetooth Phone, Asterisk, CallVantage, Cisco IP Phone, Phlink, PhoneValet, Skype, URL, Vonage, or CounterPath Softphone — Skype & CounterPath Softphone will only be visible if they are available on your system; CallVantage, Vonage & Skype require service accounts; Asterisk & CounterPath Softphones require additional setup and/or accounts).
Using JPT v.3.0+, you can now preprocess a number using an external AppleScript. The script must be formatted a specific way (see the examples in the “Goodies” folder on the JPT disk image) and will return a transformed number that will then be processed by the Dialing Rules. In this way, a preprocessing script could trim a prefix, suffix, swap country codes, trim extensions, etc. These scripts could also be used to launch other applications, create a custom call log, etc. This is a very powerful feature. If a preprocessing script returns just the transformed number, it will continue down the Dialing Rules as normal. However, if the script returns a list where the first item is false (the second item must be the transformed number — e.g., {false, "12125551212"}), JPT will treat this call as a literal call and the number will not be further transformed by the Dialing Rules.
As you can see, you can have very flexible Dialing Rules by configuring different dialing prefixes and suffixes for internal, local, domestic long distance, international long distance, or toll free calls or by using a literal call to dial a number exactly as entered regardless of the currently defined Dialing Rules. The rules for adding the prefix to reach an outside line are applied to any of the non-literal, non-internal call types and the optional prefixes to disable call waiting and disable/enable caller ID block are applied to any of the non-literal call types on a call by call basis at dial time by holding down the corresponding modifier key.
In the “Local” section of the Dialing Rules, you may specify your local area code (if you have more than one, simply enter all of your local codes separated by commas), and indicate whether or not you need to dial the area code for local numbers that begin with your local area code(s), also known as 10-digit local dialing. In the toll free section, you may enter multiple toll free extensions separated by commas and in the international long distance section, you can choose whether or not to include the international delimiter in the final number. If you designate an international long distance delimiter and choose not to include the delimiter, it will be removed from the final number. So, for instance, if you use an international long distance delimiter of “+1”, an international long distance prefix of “011”, and disable the option to include this delimiter, JPT will automatically change a number from “+1-212-555-1212“ to “011-212-555-1212”.
All of the Dialing Rules (the outside line prefix, call waiting prefix, local prefix area codes, suffix, long distance prefixes & suffixes, etc.) are saved in aggregate as a Location. When you first launch JPT, there are two default Locations defined, “Home” and “Office”. You can quickly switch between the defined Locations using the popup menu in the “Dialing Rules” section of the preferences or you can use the “Location” submenu of the JPT menu in the menu bar (or you can script JPT to switch Locations via AppleScript). You can add, remove, rename, or duplicate Locations by using the appropriate buttons in the “Dialing Rules” section of the preferences. With a Location selected, any modifications you make to the current Dialing Rules will automatically be retained — there is no save button. Using Locations can be especially helpful if you have a Mac notebook that you use in multiple Locations that may have different Dialing Rules such as different local area codes or if you use your computer both at home and in an office that requires that you dial 9 to reach an outside line.
Copyright © 2004 - 2017 JNSoftware LLC. All Rights Reserved.
All other products mentioned are copyright of their respective owners.
No endorsement of or affiliation with any third-party product or service is implied.