This application claims the priority benefit of TW application serial No. 106116752, filed on May 19, 2017. The entirety of the above-mentioned patent application is hereby incorporated by references herein and made a part of specification.
The disclosure relates to a wireless communication device and a roaming network registration method.
A wireless communication device, such as a smart phone, a tablet is widely used. When the wireless communication device is taken to other countries, it needs to be changed to a roaming state and be connected to a local base station and public land mobile network (PLMN) to have a network service.
Conventionally, the wireless communication device needs long time for a full scanning program to confirm the roaming state of the wireless communication device. Then, the wireless communication device usually needs to repeatedly try the registration of the local public land mobile network. The time for the registration in the roaming state may be several minutes, which is rather inconvenient.
According to the first aspect of the disclosure, a roaming network registration method executed via a wireless communication device is provided. The method comprises: executing a search in a latest registered supported network type of a plurality of supported network types based on a first database; obtaining a first mobile country code transmitted via at least one public land mobile network when the public land mobile network is searched; comparing the first mobile country code with a second mobile country code corresponding to a latest registered public land mobile network of the wireless communication device; and determining that the wireless communication device is in a roaming state when the first mobile country code is different from second mobile country code.
According to the second aspect of the disclosure, a wireless communication device is provided. The wireless communication device comprises: a first database configured to store one or more frequency bands of a public land mobile network; a second database configured to store one or more registered public land mobile networks of the wireless communication device; a memory configured to store multiple executable instructions; a processor coupled with the first database, the second database and the memory and configured to execute the executable instructions stored in the memory; wherein the executable instructions stored in the memory includes: executing a search in a latest registered supported network type of a plurality of supported network types based on a first database; obtaining a first mobile country code transmitted via at least one public land mobile network when the public land mobile network is searched; comparing the first mobile country code with a second mobile country code corresponding to a latest registered public land mobile network of the wireless communication device; and determining that the wireless communication device is in a roaming state when the first mobile country code is different from second mobile country code.
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings.
When a component is “connected” or “coupled” to another component, it represents that the component is “electrically connected” or “electrically coupled” to another component. It also represents that two or more components operate or interact with each other. Moreover, although the terms “the first”, “the second” and so on are used in the disclosure, they are only used to distinguish components or operations with same terms. They are not used to limit the order or limit the invention except that they are specifically indicated in the context.
Please refer to
In the embodiment, the wireless communication device 100 includes a processor 110, a memory 120, a first database 130 and a second database 140. In an embodiment, the first database 130 and the second database 140 is a storage unit, a memory or other component for data store. Multiple executable instructions CMD are stored in the memory 120. The processor 110 is coupled to the memory 120, the first database 130 and the second database 140. The processor 110 is configured to execute the executable instructions CMD stored in the memory 120.
One or more frequency bands of public land mobile networks are stored in the first database 130. In an embodiment, a public land mobile networks identifier (PLMN identifier, PLMN ID) with a high opportunity to obtain services for the wireless communication device 100, one or more frequency bands of the public land mobile networks, and other related data necessary for searching the database are stored in the first database 130.
In an embodiment, the data in the first database 130 is preconfigured by a user of a wireless service provider relevant to the wireless communication device 100, a manufacturer of the wireless communication device 100 or a network operator, etc. In an embodiment, the data in the first database 130 is adjusted or updated dynamically by the user of the wireless service provider or the network operator. Therefore, the wireless communication device 100 executes a database search based on the first database 130. The searching efficiency is improved, and the search time is reduced.
One or more registered public land mobile networks (RPLMN) registered by the wireless communication device 100 are stored in the second database 140. Therefore, the wireless communication device 100 obtains one or more registered public land mobile networks registered by the wireless communication device 100 from the second database 140. Then, the wireless communication device 100 obtains a network operator candidate list.
In an embodiment, after the wireless communication device 100 is powered on, the processor 110 executes a roaming network registration method 200 by executing executable instructions CMD stored in the memory 120 with the cooperation of the first database 130 and second database 140. Please refer to
As shown in
First, in step S210, the processor 110 controls the wireless communication device 100 to execute a database search in a latest registered supported network type of a plurality of supported network types based on the first database 130. In an embodiment, the wireless communication device 100 can support 2G network, 3G network, 4G network, etc. In step S210, the wireless communication device 100 executes the database search in the latest registered supported network type (for example, 4G network), and tries to communicate with the public land mobile network more likely to acquire services according to data stored in the first database 130. In an embodiment, the wireless communication device 100 executes a database search in the latest registered supported network type (for example, 4G network) and the latest registered public land mobile network.
In step S212, the processor 110 determines whether the wireless communication device 100 is successful communicated with the base station in step S210, and obtains the corresponding public land mobile network.
When the wireless communication device 100 does not obtain the network service from the database search that executed in the latest registered supported network type (for example, 4G network), the processor 110 executes steps S214 and S216. In steps S214 and S216, the processor 110 executes database search sequentially in each supported network type (for example, 3G network, 2G network) based on the first database 130 until one or more public land mobile networks are obtained.
In step S214, the processor 110 determines whether any supported network type does not have been executed the database search. If some supported network type does not have been executed the database search, step S216 is executed. In step S216, the processor 110 executes database search sequentially in the supported network type.
The processor 110 repeats the above steps until all of the supported network types are already searched. When no network service is obtained from the database search that executed in all supported network types, the processor 110 executes step S220. In step S220, processor 110 executes full scanning program in a latest registered supported network type of the supported network types until one or more public land mobile networks are obtained.
In step S222, the processor 110 determines whether the wireless communication device 100 successfully communicates with the base station in step S220, and obtains the corresponding public land mobile network.
When no network service is obtained from the full scanning program that executed in the latest registered supported network type, the processor 110 executes steps S224 and S226. In steps S224 and S226, the processor 110 controls the wireless communication device 100 to execute full scanning program sequentially in each supported network type until one or more public land mobile networks are obtained.
In step S224, then processor 110 determines whether any supported network type does not have been executed the database search. If some supported network type does not have been executed the database search, step S226 is executed. In step S226, the processor 110 executes full scanning program in the supported network types sequentially.
The processor 110 repeats the above steps until all of the supported network types are already full scanned. When no network service is obtained from the full scanning program that executed in all supported network types, the processor 110 executes step S290 to make the wireless communication device 100 into a no-service state.
When the wireless communication device 100 obtains one or more public land mobile networks from searching results of any period of the database search or the full scanning program in the above steps, the processor 110 executes step S230.
In step S230, the processor 110 obtains a first mobile country code (MCC) from the public land mobile network. In an embodiment, when the wireless communication device 100 communicates with the public land mobile network, a public land mobile network identifier (PLMN ID) is obtained. The public land mobile network identifier includes a mobile country code (MCC) and a mobile network code (MNC). The country code is configured to identify the country of the network service. The mobile network code is configured to identify the provider of the public land mobile network.
In step S232, the processor 110 compares the first mobile country code with the second mobile country code corresponding to the latest registered public land mobile network of the wireless communication device 100.
When the first mobile country code received by the wireless communication device 100 is different from the second mobile country code corresponding to the latest registered public land mobile network, the processor 110 executes step S240. In step S240, the wireless communication device 100 is determined to be in a roaming state, and an optimization program is executed to accelerate the speed of registering network in the roaming state.
Therefore, as soon as the wireless communication device 100 obtains the provider of any public land mobile network, the wireless communication device 100 immediately determines whether the wireless communication device 100 is in a roaming state. Then time for determining the roaming state is reduced.
When the first mobile country code received presently by the wireless communication device 100 is the same as the second mobile country code corresponding to the latest registered public land mobile network, the processor 110 determines that the wireless communication device 100 is not in a roaming state.
Therefore, no optimization is needed. Then, the wireless communication device 100 communicates with the searched base station and the searched public land mobile network as unusual.
Please refer to
In step S241, the processor 110 ranks the supported network types according to the first mobile country code to obtain a candidate network type. Therefore, the wireless communication device 100 selects a network type more with a higher opportunity to obtain services as the candidate network type according to a usage condition of each network type in different countries. In an embodiment, the processor 110 determines that the wireless communication device 100 is in Japan according to the first mobile country code. Since 4G network is widely used in Japan, the 4G network has a higher priority to be used as the candidate network type. In contrast, since 2G network service is already not provided in Japan, the processor 110 sets 2G network with a lower priority in the rank. Moreover, since Time Division-Synchronous Code Division Multiple Access (TD-SCDMA) in 3G communication standard are only used in China, the processor 110 sets TD-SCDMA with a lower priority in the rank in other countries except China.
In step S241, the processor 110 determines possibilities of obtaining networks services according to the popularities of different networks in the countries and areas of the wireless communication device 100, and ranks according to the possibilities to obtain a candidate network type (for example 4G network). Then, the candidate network type has a higher priority to be tried in the registration. Therefore, when the wireless communication device 100 is in the roaming state, the higher priority network type is processed preferentially, and then the network service can be obtained more quickly.
In step S242, the processor 110 determines whether the candidate network type is already searched in previous steps. When the candidate network type is not searched yet, the processor 110 executes the search in the candidate network type in step S243.
When the candidate network type is already searched, step S244 is executed. In step S244, the processor 110 obtains one or more registered public land mobile networks (RPLMN) of the wireless communication device 100 from the second database 140. Then, a candidate provider list is obtained based on the one or more registered public land mobile networks (RPLMN) obtained from the second database 140.
In step S245, the processor 110 obtains a registration sequence based on the public land mobile network obtained by executing the search in the candidate network type, the candidate network type and the candidate provider list. Therefore, the wireless communication device 100 determines the public land mobile network which is most likely successfully registered from the candidate provider list to register in the following steps.
In step S246, the processor 110 selects the public land mobile network and the supported network type with the highest priority in the registration sequence obtained in step S245 to execute registration.
In an embodiment, the processor 110 selects 4G network as the candidate network type according to the location (for example, Japan), and obtains the public land mobile networks of telecom operators A, B, and C from the searching result. The telecom operate B is a registered public land mobile network (RPLMN) which succeeds in obtaining services for the wireless communication device 100 in the past. Then, the processor 110 ranks the 4G network service provided by the telecom operator B with the highest priority in the registration sequence. Then, the wireless communication device 100 preferably tries to register the telecom operator B to obtain the network service.
Therefore, the wireless communication device 100 ranks the preferred network types effectively according to a network provider list in the second database 140. The possibility of obtaining available the network provider is improved, and the speed of obtaining the network service is accelerated.
In step S247, the processor 110 determines whether wireless communication device 100 is successfully registered. When the wireless communication device 100 is successfully registered the roaming network and obtains the network service, the optimization process is ended. On the other hand, when the processor 110 determines that the wireless communication device 100 fails in the registration, step S250 is executed. In step S250, the processor 110 executes corresponding step(s) selectively according to the network rejection reason of the registration when the wireless communication device fails in the registration.
Please refer to
In step S251, the processor 110 determines whether the rejection reason conforms to one or more preset rejection cause codes. If not, the processor 110 executes step S258 and operates according corresponding standard specification.
In an embodiment, when the registration fails, the public land mobile network transmits back the rejection cause code of 3rd Generation Partnership Project (3GPP) standard specification. The processor 110 presets that step S252 is executed when the rejection cause code #17 (Network Failure) or the rejection cause code #13 (Roaming not allowed in this LA) is obtained. Otherwise, in step S258, an operation for the rejection cause code is executed according to 3GPP standard specification.
Therefore, for the rejection cause code #13 and the rejection cause code #17, the wireless communication device 100 tries the public land mobile network of next candidate telecom operator. Then, the time for obtaining the available network is saved. Consequently, the wireless communication device 100 does not need to repeatedly try to register according to 3GPP standard specification or re-executes the full 2G/3G/4G scanning, which is time-saving.
In step S252, the processor 110 determines whether any public land mobile network is not tried to be registered. If yes, in step S253, the processor 110 selects the public land mobile network and the supported network type with next priority in the registration sequence to execute registration.
Similar to step S247, in step S254, the processor 110 determines whether the wireless communication device 100 is successfully registered this time. When the wireless communication device 100 is successfully registered in the roaming network and obtains the network service, the optimization process is ended. Otherwise, when the processor 110 determines that the wireless communication device 100 fails in registration, step S250 is executed. In step S250, the processor 110 executes corresponding step(s) selectively according to the network rejection cause obtained when the registration fails.
In an embodiment, when the telecom operator B with the highest priority fails in the registration, the processor 110 determines that telecom operators A and C are still available for registration. Then, the wireless communication device 100 registers in the public land mobile networks provided via the telecom operator A and C operator sequentially until the registration is successful or the registration fails in all of the public land mobile networks.
When the registration fails in all of the public land mobile networks, and no public land mobile network is available for registration, the processor 110 executes step S255. In step S255, the processor 110 determines whether any supported network type has not been searched. If yes, step S243 is executed. Then, a new registration sequence is obtained for the registration.
In an embodiment, when the registration in 4G network services provided by telecom operators A, B and C fails, the processor 110 determines that 3G network service is not searched yet. Then, the processor 110 searches 3G network service which is regarded as a new candidate network type. Then, a candidate provider list is obtained, and the registration sequence is obtained.
When all supported network types are already searched and no registration is successful in all public land mobile network of supported network types, the processor 110 executes step S256. In step S256, the processor 110 determines whether the full scanning program has been executed in the supported network type, that is, whether steps S220˜S226 are executed. When the wireless communication device 100 does not execute the full scanning program for all supported network types, step S220 is executed. In step S220, the full scanning program is executed to try to communicate with the public land mobile network which cannot be obtained via other database search.
In step S256, when the processor 110 determines that the wireless communication device 100 already executes the full scanning program in each supported network type, the registration in each public land mobile network which can be communicated is determined to fail. Then, the processor 110 executes step S257. In step S257, the wireless communication device enters an emergent service state of any public land mobile network.
Although the roaming network registration method 200 in the present disclosure is described as a series of steps or events, it should be understood that the shown sequence of these steps or events is not limited to the disclosed sequence. Moreover, in one or more embodiments of the present disclosure, not all shown steps are necessary. Furthermore, one or more step of the present disclosure can be executed in one or more separate steps or stages.
In sum, the executable instructions CMD stored in the memory 120 can be executed via the processor 110 of the wireless communication device 100 with the cooperation of data stored in the first database 130 and the second database 140. The wireless communication device 100 executes the roaming network registration method 200 to determine whether it is in the roaming state more quickly. Network available for registration in roaming state is searched. Since unnecessary searches are reduced, the searching efficiency is improved greatly, and the time for searching is reduced.
Although the present invention has been described in considerable detail with reference to certain preferred embodiments thereof, the disclosure is not for limiting the scope of the invention. Persons having ordinary skill in the art may make various modifications and changes without departing from the scope. Therefore, the scope of the appended claims should not be limited to the description of the preferred embodiments described above.
Number | Date | Country | Kind |
---|---|---|---|
106116752 | May 2017 | TW | national |