Address Book problem

On L5 when I want to call someone from the address book the app sends the number to calls adding +1 at the beginning. For example, if the person in the address book has number 6900000000 and I click on the icon to call it the phone instead of dialing this number it dials

+16900000000

With this first the operator informs me that I only have say a few minutes (it looks international to the operator) and the call never goes through.
When I dial 6900000000 directly in the Calls application there is no problem and calling works.

How can I remove this “+1” at the begining?

Nobody? None knows this? If so I have to take this to support. It is a bug that makes gnome-contacts and Calls unusable.

I think all my contacts were stored as 1-xxx-xxxx, so it works as expected when dialing on my L5. (Since I’m located in the USA and using a USA network.)

I wonder what would happen if your contacts were stored with Greece’s country code. Have you tested by altering a stored contact, maybe?

EDIT: Although it would be kind of dumb if the L5 requires the country code to be stored with the phone number. A leading “0” maybe…?

Hmm what do you suggest? The country code for Greece is +30.
Should I store the numbers as +30XXXXXXXXXX ?

Let me check. I will report back.

2 Likes

I see one of my Italy contacts was imported to the L5 (from my U.S. SIM card) as “+39xxxxxxxxxxx”, which is presumably how I wrote and stored it originally, but I haven’t tried dialing it from the L5.

One would think, though, that if you imported contacts from a Greek SIM, then they would import in the required format.

The L5 documentation only says to enter a “+”, so… : https://docs.puri.sm/Librem_5/Contacts.html#adding-a-contact

Nope. Nothing works. It must be a bug. It just refuses to dial the right thing.
I tried

+30xxxxxxxxxx
+30 xxxxxxxxxx
30xxxxxxxxxx
+xxxxxxxxxx

The first two it dials nothing. The last two keeps adding the +1. This is a stupid bug. Please Purism this must be fixed immediately because it is trivial. We can not use the address book.

I force myself to use L5 as my daily driver. I will not return to android. Today I also changed fonts.Tomorrow (it is late here in Greece now) I will write about fonts. L5 must make better choices than Cantarell.

Oh, there is another bug in Calls. When the call fails and you hangup, nothing in the display works. Calls essentially locks-up the screen. You have to press the power button to lock, then unlock and then you can close Calls.

3 Likes

Time to ping @dos, @dcz, @joao.azevedo, and other Euro L5 owners to see how their numbers are set up.
Good luck!

Yeap! thanks for pinging them already!

1 Like

Just to be sure. At least that’s how it works in Germany but its probably international. You did leave the zero out of the city code when typing the country code, did you?

Example:
City code = 01234
Local number = 5678
in Greece = 01234 5678
with country code = +30 1234 5678
without the leading zero of the city code.

I didn’t think that it supported importing contacts from a SIM yet.

Maybe the phone is confused about where you are. It seems to think you are in the US.

I don’t know where this kind of config comes from. Is it in the data file of information per mobile operator (every operator in the world)? Coming from the carrier itself? Not coming from anywhere and hence defaulting in software to the US?

Search this forum for the path name of the above-mentioned data file and check your specific MNO (/MVNO) to see whether it is mentioned and to see whether country code information is present in that file.

Absolutely all my contacts are stored with just a leading zero i.e. no country code - and dialling just works.

Edit: Info is in /usr/share/mobile-broadband-provider-info and there are two .XML files to look in. Does either file know about your MNO/MVNO?

1 Like

I condensed the thought from “export contacts from SIM to a .vcf, then import the .vcf to the L5.”

Absolutely yes. Say landlines in Athens have area code 210. A phone number consists of this 210 and 7 digits follow. So a number in Athens is 2101234567 and this is what we dial. From outside the country, the country code is 30. So the full number with international code is 302101234567. So how is this number to be written in contacts? I think it should be 2101234567. If you do this it dials +12101234567. If you write (in contacts) 02101234567 it dials again +102101234567.

Well, maybe. I do not know. I will check the files you mention and report back. But it still is a bug. Why the phone tries to show it is clever? There is no setting that tells it “add +1” that the user can see and change. So it decides for itself. This is not reasonable. Even in the US, is the +1 absolutely needed to make a call or it just works with the US operators?

By the way, what is MNO/MVNO? I have no idea about these acronyms.

MNO
MVNO

I think the thinking goes like this: A mobile phone is in essence a mobile device and, no matter how you come across a phone number, the number should be stored with a country code, so that the stored number works no matter where you go in the world subsequently. That implies that the country code should be added to any stored information when a number is dialled without a country code. It also implies that the mobile network should ignore the country code if the country code is dialled but the country code matches the country code of the current location.

I have no idea how that logic is split between the phone, the modem and the network.

So that should mean that

the answers are “no” (not needed) and “yes” (works).

All of the same thinking applies to the area code, if you move around but remain within a country.

So you can’t just dial the 7 digits if you are in Athens?

Do you have to dial anything before the 2101234567? For example 0?

1 Like

This can not be true. To dial to US from Greece you have to dial 001 and not just 1 before the number.

To dial to any phone in Greece within Greece you have to dial 10 digits. So for Athens you can not dial 1234567. You have to dial 2101234567 even if you dial next block in Athens.

OK. Some part of the system has to handle the international dialling, true. The point is that with a known-to-be-full international number available, the system can unambiguously work out what needs to be dialled and what is unnecessary in the current context.

If you store only 2101234567 then it may work in Greece but it will malfunction in Australia. If you store +302101234567 then it should work in Greece (can ignore the +30 and dial the rest) and it should work in Australia (knows that it has to pre-dial the code to access an international number from Australia, and then dial the whole number).

For this to work, there has to be a wealth of reference data, country by country, and the system needs to know what country you are in.

OK. understood. So i got all the files in /usr/share/mobile-broadband-info outside of L5 What do I look for?
grep -e MNO *
returns nothing

grep -e MVNO *
returns some lines but it does not have anything related to Greece (or Germany by the way). For Greece the block for my provider says

<!-- Greece -->
<country code="gr">
        <provider>
                <name>Cosmote</name>
                <gsm>
                        <network-id mcc="202" mnc="01"/>

                        <voicemail>123</voicemail>
                        <balance-check>
                                <dtmf>1314</dtmf>
                                <sms text="YP">1314</sms>
                        </balance-check>

                        <apn value="internet">
                                <plan type="postpaid"/>
                                <usage type="internet"/>
                        </apn>
                </gsm>
        </provider>

then it lists the rest of Greece’s providers.

Edit: Region and language settings:
Language English (United States)
Formats Greece (Greek, Modern (1453-))

You look for the name of your provider. Or if you are super on-the-program, you look for your MCC and MNC.

mmcli -L
(get modem number from that output, use as ‘n’ in next command)
(e.g. in /org/freedesktop/ModemManager1/Modem/1 n is 1)
mmcli -m n | grep operator

In the operator id, the first three digits are the MCC and the remaining two or three digits are the MNC.

Looking into this in more detail though, I don’t think either of those XML files does contain the international dialling information. So it must be somewhere else.

Here is the output:

    /org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] 0
[purism@pureos ~]$ mmcli -m 0 | grep operator
           |          operator id: 20201
           |        operator name: COSMOTE GREECE 2021
[purism@pureos ~]$ 

By the way I do not have this problem with SMS. Just checked that starting from Contacts and clicking on the sms icon next to the number of a person the SMS is send properly.

2 Likes

Kind of weird, I have a different problem: without country code the call doesn’t start at all from the contact app. I had to add the country code to my contacts in order to be able to call clicking on the phone next to the phone number … there has to be something related to the operator (that never affected Android)