[jp] Re: Bug#246025: jpilot: dial feature - prefix mgmt needs current location support?

Vassilii Khachaturov vassilii at tarunz.org
Sun May 2 15:40:15 EDT 2004

Dear Jpilot developers,

I am a user of the Debian jpilot package. I suggested
several new Jpilot features via the Debian bug tracking mechanism.
The Debian Jpilot package maintainer, Ludovic Rousseau,
suggested that some of these suggestions are worth a discussion here
on jpilot.org, so here I am. I keep a CC to the original debian bug
for archival purposes for the benefits of the future Debian users
(The full archive is available at
     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=246025 )
The text below is a summary of what I have written in this thread so far,
for those of you that are pulling the e-mails for offline reading.

In my pilot, I have phones of 3 types:
1) local area phones - like 6513585
2) int'l format phones - like +972(8)6513585
3) long distance calls - local w.r.t. the country the contact is in,
e.g. (8)6513585 in Israel
or (609)430-3003 in the U.S.

At work (on a Windows machine), when this is synchronized to Outlook
via the PocketMirror conduit, I am then able to dial using the system
dialer. The system dialing properties determine the local prefixes
needed; if I dial a phone that is within the same country, then the
int'l prefix will be stripped and the local long-distance prefix
will be applied. If I dial a phone with the same local area code,
only the local area part will be dialed (even if (2) or (3) is
written in the contact).

As it is now, if I need to use local phones, I must strip them all
from the corresponding local prefix part. If I move to a different zone,
I will then have to have all these phones have the prefix prepended
again, and have the new zone local phones stripped instead.

Another problem with the 3 prefix system is that it's global for all
the contacts. I.e., I can't set up one prefix for int'l phones that's
prepended to all overseas phones whereas another prefix to all
long distance calls that would stick to corresponding contacts.

Here is a proposed change description to Jpilot, from the user
interface perspective:

Global location settings needed in JPilot:
+ Current country Name+int'l code, e.g.: U.S. +1
+ Current area code (e.g.: (609) ). (Note that I follow the common
convention for punctuation as a suggestion for display in JPilot).
Global dialing prefixes needed:
+ an optional outside line prefix (for those behind a PBX),
+ an int'l long-distance access prefix (what's needed to dial an int'l call)
(e.g.: 011),
+ and a long-distance access prefix (e.g. 1).
Ideally, there should be a ready location db of int'l/long distance
prefix combinations per country,
and the user could select it either from a ready list, or manually enter it
if the user's country isn't listed. I wouldn't be surprised if
there's a free list like this already available in another
free telephony-aware app.

Now, for a given #, JPilot needs to understand whether it's 1) the same
country 2) if yes, if it's the same area code

If the # is in the +<country code> (<area code>) <local number> format,
it's parsed into the 3 corresponding parts and they're compared against the
global location settings to determine what's the same and what's not.

If the # is in the (<area code>) <local number> format, or, alternatively,
in the
<current country's long-distance prefix><area code>-<local number> format,
the contact's "Country" field is checked for the country name.
If it matches the country from the global location prefs, the # is assumed
a non-international. If it is non-empty but different from the current
country, the location DB is looked up to understand the
country code needed. Otherwise (empty Country field and no
country code in the number), the country is assumed to be the same as the
current one.

If the number is in the <local number> format (i.e., no punctuation at all),
it's assumed local and no prefixes are implied.

So now that JPilot knows the current country/area vs. the desired target
country/area/number (note that country/area may be implied), it

1) dials the optional outside line prefix, if any
2) if the number is in a different country, dials the int'l access prefix
and the country code; skip to 4)
3) if the number in the same country, then
    3.1) if it is in a different area, dial the long distance access prefix
    3.2) otherwise skip to 5)
4) dial the area code
5) dial the local portion

I don't know if there is a good free world-numbering-aware app available
with the above intelligence.

Comments are welcome,

More information about the Jpilot mailing list