I'm trying to troubleshoot a wireless modem that contains a Sierra MC73xx module. Also, my SIM is from an MVNO that says it has enabled roaming on Verizon.
I run AT+COPS=? and can see the Verizon network:
+COPS: (0,"T-Mobile","T-Mobile","310260",2),(0,"Verizon","Verizon","311480",7),(0,"T-Mobile","T-Mobile","310260",0),(0,"AT&T","AT&T","310410",7),(0,"AT&T","AT&T","310410",2),(0,"T-Mobile","T-Mobile","310260",7),,(0,1,2,3,4),(0,1,2)
However when I run AT+COPS=1,2,311480 I can't seem to register on the network.
Are there other AT commands required to register a roaming SIM on the Verizon network? BTW through testing I've been able to register on T-Mobile and AT&T.
In the PLMN scan result, there is only one Verizon network,
(0,"Verizon","Verizon","311480",7). "7" indicates the radio access technology(RAT) and I remember 7 is LTE.
On the other hand, both AT&T and T-Mobile has 2G/3G coverage, i.e. RAT 0 and 2. In your successful registration, you probably see the RAT is 0 or 2. You can use at!gstatus to check RAT.
I suspect your SIM card cannot roaming in Verizon LTE network. Usually international roaming agreement does not cover LTE.
The other thing you can check is if this carrier is in your SIM's forbidden list. This can happen if your device tries to connect to a network and is denied.
For clearing this list, see here for instructions.
Verizon (nowadays, as of this response) is very particular about which modems may register to its towers. Verizon certifies cellular modules before they're allowed to register and maintains a list of authorized IMEIs.
If your module's IMEI isn't on that list, it's not going to work.
Even using a Verizon SIM card on a Verizon-certified device, I couldn't connect one time. I had to call Verizon and give them the expected IMEI for that SIM's ICCID so the tower knew what to expect ahead of time. Then it worked.
I suppose that trying to connect through an agreement with an MVNO they wouldn't have you call Verizon and explicitly tell them the IMEI, but it would still need to be in an expected range of IMEIs that Verizon expects.
Verizon does this to assure that customers will have a consistent experience on their network as their LTE system uses frequencies (bands) that other carriers do not; they "certify" modules submitted to them by the manufacturers - give them a stamp of approval - the module has demonstrated the ability to operate according to Verizon's specifications.
I don't know how to explain what I want so I give example situation.
I got 3 smart phone, locate in 3 different room.
All room has a distance where wifi device A can Only communicate with B. But unable to C. So have to send to B and B send to C.
My question is do wifi can used for communication with different device?
How? Any tutorial?
My final finished project will required to work like wallow talkie through WIFI. Phone with wifi signal can listen and resend to another larger area.
In your 'A, B C' scenario above, Phone 'B' can act as a wireless hotspot (even if it has no internet connection) and Phone A and Phone C can connect to it and speak to each other so long as they know each others IP address.
You would need to check the particular phones and OS version you are using supports this, but I have done with with several Android phones as an example.
I suspect, however, that your next question would be whether another phone, phone D, could then speak to A and B if it is only in range of Phone C.
This would require phone C to act as a wireless hotspot for phone D and at the same time as a wireless client to phone B's wireless hotspot. This is trickier and, while there are some example of an Android phone being used as a wireless repeater (e.g. http://www.littlegreenrobot.co.uk/tutorials/turn-your-android-device-into-a-wi-fi-extender/), I think you would need to experiment and I think you may find this won't work on most phones out of the box. When I tried a brief check using an Android phone running Android 4.3, turning the WiFi hotspot on automatically turns the WiFi access off.
Is there a way to uniquely identify a BTLE device (something like hardware ID)? I have 2 hardware BTLE devices and 2 soft BTLE devices (using CBCentralManager). All these devices are sending same UUID.
I want to identify the exact BTLE device when all the devices are lying near me. Any clue?
The devices should have unique Bluetooth addresses. If they don't then you wouldn't be able to properly connect to them without them interfering with each other. However, with BTLE it's possible for a device to have a randomized address for privacy (but those conform to a particular pattern so you can detect if you get that kind of address). The address is 6 bytes and is usually displayed in hex (ex A1-B2-C3-D4-E5-F6). The first 2 bytes usually indicate the manufacturer.
UPDATE: My answer is valid for most BLE usage, but as the question is tagged ios you may want to look at this other answer about getting a unique id on ios as a possible way to get the bluetooth address
I would like to programatically get the device phone number (on iOS5 and iOS6).
Are there any unofficial ways for doing so?
Are there any private Core Telephony APIs or IOKit APIs that can be used for example?
And yes I do know my app won't be accepted in the AppStore
Private API
There is a private API to get phone number. Private API can't be submitted to AppStore, but it can be executed on jailed device.
NSString* CTSettingCopyMyPhoneNumber();
It returns phone number. And it's located in CoreTelephony
MDM
And actually, there is even a legal way of getting phone number. However, it's complicated. There is MDM protocol for iOS. One of the commands retrieves information about a device and this info includes phone number (and a lot of other device info).
Other notes
Also, you may be interested to read through these several questions:
Programmatically get own phone number in iOS
How can I get the phone number of my iPhone device?
You could start by searching in the private headers.
In my application I want to retrive the device phone number. I used Phone.getDevicePhoneNumber(true)
It is working in the simulator, but when I test on the device it returns an empty string.
Is there any other option for getting the device phone number?
I am using jde 4.5.0.
The straightforward approach would be to ask the user to enter their phone number.
Phone.getDevicePhoneNumber(true) reads the number from the SIM card. The problem is the number isn't always on the SIM card. I've also seen cases where the wrong number is on the SIM card.
There is no guaranteed way to programmatically get the number. What I've done in the past is present the SIM card number to the user and asked them to correct/confirm it.