This information most likely does not apply to newer phones. This post was written 14 years ago and much has changed. The same principle applies, you phone may drop calls if it "thinks" it can connect to a home network. Not sure what the current solution might be as the options described in this post most likely no longer apply?
I live in a remote rural location where cell phone coverage is marginal at best. The mountains make it especially difficult to receive a signal in some places. My house is the worst cell reception location on my property. I have a signal booster, sold by Wilson Electronics that makes it possible to use the phone at the house. Previously I used a "yagi" antenna pointed at the closest tower but this required an external antenna connection on the phone and these are very rare on new phones today. The Wilson U-Booster "Sleek" is only about $100 and works with all phones.
The remaining problem is that I have Verizon as a carrier and all of their phones are programmed to switch to Verizon equipment whenever it is available, instead of roaming on another carrier's system. This would be fine if the connection worked. The phones only seem to check the receive signal strength and don't bother to test the connection before switching. I have used various techniques such as trying to shield the antenna from the Verizon signal but this has pretty much stopped working especially with my new phone.
It seems that one key to choosing a connection is the use of preferred SID. Every carrier has a SID number for each area they operate in. Boundaries are often county lines but not always. When a phone checks for available services, it compares the SID of the available signals to the preferred roaming list in the phone. I am not sure how to change this list if it is in fact a list. This is what "updating roaming" seems to do.
For me, changing the "home SID" seems to help the phone stay on the carrier of my choice. You can get lists of nationwide SIDs from the following three pages.
If you know the carrier that provides better service to your area, you can change your home SID to this number if you can access your phones settings. For my phone, this requires "manual programming" mode. I have listed the procedure below but it probably works only for some LG phones. I got the secret procedure from Verizon. They will not tell you anything other than their own local SID but you can probably get them to talk you through the procedure for manual programming on you phone. Pretend that you can not update roaming because there is no Verizon equipment in your area. They will be glad to help you change the SID to one that will not work. I changed my SID from 1076 (Verizon Mendocino) to 1075 (US Cellular Mendocino) To accomplish the same, you will need to find the SID of the best facility in your remote area.
HOW TO CHANGE THE HOME SID NUMBER:
This works on an LG Accolade. Other phones will probably require different manual programming access codes. If anyone knows the codes for other Verizon phones, I will make a list and publish them all.
Key the following as if you were keying a number. ##77647265600 and then press "send" Enter 000000 as the "service code" From the menu that displays, choose the first option "service pro" Click OK until you get to the "Home sid" display. Record the number shown in case you need to restore it. After editing the number, click "OK" until the phone re-boots.
I will maintain a list of manual programming access codes if I am able to get them for other phones. Please contact me if you have any codes to add to the list.